diff --git a/debian/changelog b/debian/changelog
index 3345bb676..ce2f07f18 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,51 @@
+freedombox (25.1) unstable; urgency=medium
+
+ [ gfbdrgng ]
+ * Translated using Weblate (Russian)
+ * Translated using Weblate (Russian)
+ * Translated using Weblate (Russian)
+
+ [ Sunil Mohan Adapa ]
+ * ui: Update section header style to increase size, remove underline
+ * ui: Fix missing variables in Bootstrap 5.2/Debian stable
+ * web_framework: Disable caching templates files in development mode
+ * ui: Drop remnants of already removed background images
+ * ui: js: Load all JS files in deferred mode to speed up page load
+ * ui: Don't place JS file at the bottom of the page
+ * miniflux: Ignore an type check error with pexpect library
+ * app: Allow apps to instantiate without Django initialization
+ * app: Add tags to menu and frontpage components
+ * doc: dev: Remove short description and add tags to all components
+ * app: Stop showing short description on installation page
+ * apps: Only show app tags all the tags in apps page search box
+ * views: Use tags from menu or shortcut instead of the app
+ * privacy: Introduce utility to lookup external IP address
+ * privacy: Add option in UI to set lookup URL for public IPs
+ * privacy: Show notification for privacy settings again
+ * dynamicdns: Use the public IP lookup URL from privacy app
+ * email: Create DKIM keys for all known domains
+ * email: Show DNS entries for all domains instead of just primary
+ * backups: Handle error when there is not enough space on disk
+ * backups: Add warning that services may become unavailable
+ * backups: Properly cleanup after downloading an archive
+ * backups: Make all generated archive names consistent
+ * email: Fix regression error when installing/operation app
+
+ [ Veiko Aasa ]
+ * deluge: tests: functional: Fix deluge client logged in detection
+
+ [ Dietmar ]
+ * Translated using Weblate (German)
+
+ [ Benedek Nagy ]
+ * email: Show reverse DNS entries to be configured
+
+ [ James Valleroy ]
+ * locale: Update translation strings
+ * doc: Fetch latest manual
+
+ -- James Valleroy
>
+''Skill level:'' Basic
+
+''Use Case'': A !FreedomBox that primarily runs only one public-facing application whose web application is set as the landing page when someone visits the domain name of the !FreedomBox over the internet. <
>
+e.g. A university using !MediaWiki running on !FreedomBox as a course wiki wants its students typing in the domain name into their browser to directly go to the wiki bypassing the !FreedomBox home page.
+
+''Configuration:'' Change the [[FreedomBox/Manual/Configure#Default_App|Default App]] in the configure page to whichever app you want to be served as default.
+
+=== Custom Shortcuts ===
+
+''Available since version:'' 0.40.0 <
>
+''Skill level:'' Advanced
+
+''Use Case:'' The administrator of a community deployment of !FreedomBox manually installs a few additional unsupported applications on the !FreedomBox and wants users to be able to transparently access them through the web and mobile applications of !FreedomBox.
+
+''Note:'' This feature is meant to be used with applications that are end-user facing, i.e have a web or mobile client.
+
+'''Configuration:'''
+
+Create a file called `custom-shortcuts.json` in Plinth's configuration directory `/etc/plinth` and add additional shortcuts in JSON format. The file should have follow the same JSON schema as the Plinth API. You can refer to the JSON schema by visiting https://
>
+{{attachment:nextcloud-frontpage-shortcut.png|NextCloud custom shortcut on the Plinth home page}}
+
+The same shortcut will also be displayed in any Android apps connected to the !FreedomBox. <
>
+
+{{attachment:android-app-custom-shortcut.jpg|NextCloud custom shortcut in the Android app}}
+
+=== Custom Styling ===
+
+''Available since version:'' 24.25 <
>
+''Skill level:'' Advanced
+
+''Use Case:'' The administrator of a community or home deployment of !FreedomBox wants to customize the web page styling of !FreedomBox.
+
+''Configuration'': Create a file in the path `/var/www/plinth/custom/static/css/user.css` and write [[https://developer.mozilla.org/en-US/docs/Web/CSS|CSS]] styling rules. This
+file has the highest priority as per the [[https://developer.mozilla.org/en-US/docs/Web/CSS/Cascade|cascading rules]]. Use the web browser's developer console to understand which rules to override and how much [[https://developer.mozilla.org/en-US/docs/Web/CSS/Specificity|specificity]] is needed.
+
+{{attachment:customization_styling.png|Home page with customized styling}}
+
+## END_INCLUDE
+
+<
SSH key-based authentication is not yet "
"possible."
msgstr ""
-#: modules/backups/forms.py:273
+#: modules/backups/forms.py:275
msgid "Remote backup repository already exists."
msgstr ""
-#: modules/backups/forms.py:279
+#: modules/backups/forms.py:281
msgid "Select verified SSH public key"
msgstr ""
#: modules/backups/manifest.py:14
#: modules/backups/templates/backups_repository.html:92
#: modules/backups/templates/backups_restore.html:27
-#: modules/backups/views.py:240 modules/snapshot/manifest.py:14
+#: modules/backups/views.py:238 modules/snapshot/manifest.py:14
#: templates/toolbar.html:44 templates/toolbar.html:45
msgid "Restore"
msgstr ""
@@ -508,16 +510,20 @@ msgstr ""
msgid "Backup system is busy with another operation."
msgstr ""
+#: modules/backups/privileged.py:92
+msgid "Not enough space left on the disk or remote location."
+msgstr ""
+
#: modules/backups/repository.py:94
msgid "Existing repository is not encrypted."
msgstr ""
-#: modules/backups/repository.py:266
+#: modules/backups/repository.py:289
#, python-brace-format
msgid "{box_name} storage"
msgstr ""
-#: modules/backups/templates/backups.html:17 modules/backups/views.py:125
+#: modules/backups/templates/backups.html:17 modules/backups/views.py:124
msgid "Create a new backup"
msgstr ""
@@ -561,10 +567,9 @@ msgstr ""
#: modules/help/templates/statuslog.html:24
#: modules/kiwix/templates/kiwix-add-package.html:26
#: modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:28
-#: modules/matrixsynapse/templates/matrix-synapse.html:76
+#: modules/matrixsynapse/templates/matrix-synapse.html:81
#: modules/names/templates/names.html:128
#: modules/networks/templates/connection_show.html:24
-#: modules/nextcloud/__init__.py:48
#: modules/pagekite/templates/pagekite_custom_services.html:16
#: modules/power/templates/power_busy_warning.html:11
#: modules/snapshot/templates/snapshot_not_supported.html:13
@@ -703,107 +708,107 @@ msgstr ""
msgid "Verify Host"
msgstr ""
-#: modules/backups/views.py:69
+#: modules/backups/views.py:68
msgid "Backup schedule updated."
msgstr ""
-#: modules/backups/views.py:88
+#: modules/backups/views.py:87
msgid "Schedule Backups"
msgstr ""
-#: modules/backups/views.py:150
+#: modules/backups/views.py:148
msgid "Archive created."
msgstr ""
-#: modules/backups/views.py:162
+#: modules/backups/views.py:160
msgid "Delete Archive"
msgstr ""
-#: modules/backups/views.py:175
+#: modules/backups/views.py:173
msgid "Archive deleted."
msgstr ""
-#: modules/backups/views.py:189
+#: modules/backups/views.py:187
msgid "Upload and restore a backup"
msgstr ""
-#: modules/backups/views.py:218
+#: modules/backups/views.py:216
msgid "Upload successful."
msgstr ""
-#: modules/backups/views.py:256
+#: modules/backups/views.py:254
msgid "No backup file found."
msgstr ""
-#: modules/backups/views.py:264
+#: modules/backups/views.py:262
msgid "Restore from uploaded file"
msgstr ""
-#: modules/backups/views.py:278 modules/backups/views.py:299
+#: modules/backups/views.py:276 modules/backups/views.py:297
msgid "Restored files from backup."
msgstr ""
-#: modules/backups/views.py:329
+#: modules/backups/views.py:327
msgid "No additional disks available to add a repository."
msgstr ""
-#: modules/backups/views.py:337
+#: modules/backups/views.py:335
msgid "Create backup repository"
msgstr ""
-#: modules/backups/views.py:352
+#: modules/backups/views.py:350
msgid "Added new repository."
msgstr ""
-#: modules/backups/views.py:366
+#: modules/backups/views.py:364
msgid "Create remote backup repository"
msgstr ""
-#: modules/backups/views.py:388
+#: modules/backups/views.py:386
msgid "Added new remote SSH repository."
msgstr ""
-#: modules/backups/views.py:410
+#: modules/backups/views.py:408
msgid "Verify SSH hostkey"
msgstr ""
-#: modules/backups/views.py:436
+#: modules/backups/views.py:434
msgid "SSH host already verified."
msgstr ""
-#: modules/backups/views.py:447
+#: modules/backups/views.py:445
msgid "SSH host verified."
msgstr ""
-#: modules/backups/views.py:463
+#: modules/backups/views.py:461
msgid "SSH host public key could not be verified."
msgstr ""
-#: modules/backups/views.py:465
+#: modules/backups/views.py:463
msgid "Authentication to remote server failed."
msgstr ""
-#: modules/backups/views.py:467
+#: modules/backups/views.py:465
msgid "Error establishing connection to server: {}"
msgstr ""
-#: modules/backups/views.py:478
+#: modules/backups/views.py:476
msgid "Repository removed."
msgstr ""
-#: modules/backups/views.py:492
+#: modules/backups/views.py:490
msgid "Remove Repository"
msgstr ""
-#: modules/backups/views.py:502
+#: modules/backups/views.py:500
msgid "Repository removed. Backups were not deleted."
msgstr ""
-#: modules/backups/views.py:513
+#: modules/backups/views.py:511
msgid "Unmounting failed!"
msgstr ""
-#: modules/backups/views.py:529 modules/backups/views.py:533
+#: modules/backups/views.py:527 modules/backups/views.py:531
msgid "Mounting failed"
msgstr ""
@@ -912,7 +917,7 @@ msgstr ""
msgid "No passwords currently configured."
msgstr ""
-#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:91
+#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:83
#: modules/miniflux/forms.py:14 modules/networks/forms.py:282
#: modules/shadowsocks/forms.py:32 modules/shadowsocksserver/forms.py:37
msgid "Password"
@@ -1030,8 +1035,10 @@ msgstr ""
msgid "Serving Domains"
msgstr ""
-#: modules/bind/templates/bind.html:17 modules/email/templates/email.html:38
-#: modules/ikiwiki/forms.py:12 modules/names/templates/names.html:18
+#: modules/bind/templates/bind.html:17
+#: modules/email/templates/email-dns.html:25
+#: modules/email/templates/email-dns.html:78 modules/ikiwiki/forms.py:12
+#: modules/names/templates/names.html:18
#: modules/networks/templates/connection_show.html:95
#: modules/samba/templates/samba.html:65
#: modules/storage/templates/storage.html:26
@@ -1061,7 +1068,7 @@ msgstr ""
#: modules/minetest/views.py:55 modules/mumble/views.py:37
#: modules/names/views.py:66 modules/names/views.py:95
#: modules/names/views.py:129 modules/pagekite/forms.py:74
-#: modules/privacy/views.py:50 modules/quassel/views.py:29
+#: modules/privacy/views.py:55 modules/quassel/views.py:29
#: modules/roundcube/views.py:32 modules/rssbridge/views.py:31
#: modules/shadowsocks/views.py:52 modules/shadowsocksserver/views.py:48
#: modules/ssh/views.py:62 modules/transmission/views.py:43
@@ -1644,7 +1651,7 @@ msgid "Test"
msgstr ""
#: modules/diagnostics/templates/diagnostics_results.html:12
-#: modules/dynamicdns/templates/dynamicdns.html:20
+#: modules/dynamicdns/templates/dynamicdns.html:25
msgid "Result"
msgstr ""
@@ -1657,7 +1664,7 @@ msgstr ""
msgid "App {app_id} is not installed, cannot repair"
msgstr ""
-#: modules/dynamicdns/__init__.py:28
+#: modules/dynamicdns/__init__.py:29
#, python-brace-format
msgid ""
"If your Internet provider changes your IP address periodically (i.e. every "
@@ -1665,7 +1672,7 @@ msgid ""
"prevent others from finding services which are provided by this {box_name}."
msgstr ""
-#: modules/dynamicdns/__init__.py:32
+#: modules/dynamicdns/__init__.py:33
msgid ""
"The solution is to assign a DNS name to your IP address and update the DNS "
"name every time your IP is changed by your Internet provider. Dynamic DNS "
@@ -1676,7 +1683,7 @@ msgid ""
"IP address."
msgstr ""
-#: modules/dynamicdns/__init__.py:40
+#: modules/dynamicdns/__init__.py:41
msgid ""
"If you are looking for a free dynamic DNS account, you may find a free "
"GnuDIP service at ddns."
@@ -1684,11 +1691,17 @@ msgid ""
"href='http://freedns.afraid.org/' target='_blank'>freedns.afraid.org."
msgstr ""
-#: modules/dynamicdns/__init__.py:61
+#: modules/dynamicdns/__init__.py:46
+msgid ""
+"This service uses an external service to lookup public IP address. This can "
+"be configured in the privacy app."
+msgstr ""
+
+#: modules/dynamicdns/__init__.py:64
msgid "Dynamic DNS Client"
msgstr ""
-#: modules/dynamicdns/__init__.py:75
+#: modules/dynamicdns/__init__.py:78
msgid "Dynamic Domain Name"
msgstr ""
@@ -1732,84 +1745,71 @@ msgid "Leave this field empty if you want to keep your current password."
msgstr ""
#: modules/dynamicdns/forms.py:43
-#, python-brace-format
-msgid ""
-"Optional Value. If your {box_name} is not connected directly to the Internet "
-"(i.e. connected to a NAT router) this URL is used to determine the real IP "
-"address. The URL should simply return the IP where the client comes from "
-"(example: https://ddns.freedombox.org/ip/)."
-msgstr ""
-
-#: modules/dynamicdns/forms.py:51
msgid "The username that was used when the account was created."
msgstr ""
-#: modules/dynamicdns/forms.py:54
+#: modules/dynamicdns/forms.py:46
msgid "GnuDIP"
msgstr ""
-#: modules/dynamicdns/forms.py:57
+#: modules/dynamicdns/forms.py:49
msgid "Other update URL"
msgstr ""
-#: modules/dynamicdns/forms.py:59
+#: modules/dynamicdns/forms.py:51
msgid "Service Type"
msgstr ""
-#: modules/dynamicdns/forms.py:64
+#: modules/dynamicdns/forms.py:56
msgid "GnuDIP Server Address"
msgstr ""
-#: modules/dynamicdns/forms.py:67
+#: modules/dynamicdns/forms.py:59
msgid "Invalid server name"
msgstr ""
-#: modules/dynamicdns/forms.py:70
+#: modules/dynamicdns/forms.py:62
msgid "Update URL"
msgstr ""
-#: modules/dynamicdns/forms.py:74
+#: modules/dynamicdns/forms.py:66
msgid "Accept all SSL certificates"
msgstr ""
-#: modules/dynamicdns/forms.py:78
+#: modules/dynamicdns/forms.py:70
msgid "Use HTTP basic authentication"
msgstr ""
-#: modules/dynamicdns/forms.py:82 modules/names/__init__.py:68
+#: modules/dynamicdns/forms.py:74 modules/names/__init__.py:68
#: modules/names/forms.py:106 modules/names/templates/names.html:19
msgid "Domain Name"
msgstr ""
-#: modules/dynamicdns/forms.py:85 modules/names/forms.py:99
+#: modules/dynamicdns/forms.py:77 modules/names/forms.py:99
#: modules/names/forms.py:117
msgid "Invalid domain name"
msgstr ""
-#: modules/dynamicdns/forms.py:88 modules/miniflux/forms.py:11
+#: modules/dynamicdns/forms.py:80 modules/miniflux/forms.py:11
#: modules/networks/forms.py:281 modules/users/forms.py:130
msgid "Username"
msgstr ""
-#: modules/dynamicdns/forms.py:95 modules/networks/forms.py:284
+#: modules/dynamicdns/forms.py:87 modules/networks/forms.py:284
msgid "Show password"
msgstr ""
-#: modules/dynamicdns/forms.py:99
-msgid "URL to look up public IP"
-msgstr ""
-
-#: modules/dynamicdns/forms.py:104
+#: modules/dynamicdns/forms.py:91
msgid "Use IPv6 instead of IPv4"
msgstr ""
-#: modules/dynamicdns/forms.py:123
+#: modules/dynamicdns/forms.py:110
msgid "This field is required."
msgstr ""
#: modules/dynamicdns/manifest.py:17
-#: modules/dynamicdns/templates/dynamicdns.html:18
-#: modules/email/templates/email.html:35
+#: modules/dynamicdns/templates/dynamicdns.html:23
+#: modules/email/templates/email-dns.html:22
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64
msgid "Domain"
@@ -1823,37 +1823,37 @@ msgstr ""
msgid "Needs public IP"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:11
-#: modules/ejabberd/templates/ejabberd.html:13 modules/firewall/manifest.py:10
+#: modules/dynamicdns/templates/dynamicdns.html:16
+#: modules/ejabberd/templates/ejabberd.html:18 modules/firewall/manifest.py:10
#: modules/firewall/templates/firewall.html:16
#: modules/firewall/templates/firewall.html:22
#: modules/letsencrypt/templates/letsencrypt.html:17
-#: modules/matrixsynapse/templates/matrix-synapse.html:12
+#: modules/matrixsynapse/templates/matrix-synapse.html:17
#: modules/networks/templates/connection_show.html:258
-#: modules/samba/templates/samba.html:67 modules/tor/templates/tor.html:19
+#: modules/samba/templates/samba.html:67 modules/tor/templates/tor.html:24
#: modules/upgrades/templates/upgrades_configure.html:14
#: modules/wireguard/templates/wireguard_show_client.html:48
#: modules/wireguard/templates/wireguard_show_server.html:47
msgid "Status"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:19
+#: modules/dynamicdns/templates/dynamicdns.html:24
msgid "Last update"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:21
+#: modules/dynamicdns/templates/dynamicdns.html:26
msgid "IP Address"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:32
+#: modules/dynamicdns/templates/dynamicdns.html:37
msgid "Success"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:36
+#: modules/dynamicdns/templates/dynamicdns.html:41
msgid "Failed"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:52
+#: modules/dynamicdns/templates/dynamicdns.html:57
msgid "No status available."
msgstr ""
@@ -2001,7 +2001,7 @@ msgstr ""
msgid "XMPP"
msgstr ""
-#: modules/ejabberd/templates/ejabberd.html:18
+#: modules/ejabberd/templates/ejabberd.html:23
#, python-format
msgid ""
"Your XMPP server domain is set to %(domain_name)s. User IDs will look "
@@ -2009,7 +2009,7 @@ msgid ""
"system Name Services page."
msgstr ""
-#: modules/ejabberd/templates/ejabberd.html:25
+#: modules/ejabberd/templates/ejabberd.html:30
#, python-format
msgid ""
"Your XMPP server domain is not set. You can setup your domain on the system "
@@ -2057,12 +2057,16 @@ msgstr ""
msgid "Postfix/Dovecot"
msgstr ""
-#: modules/email/__init__.py:83
-msgid "My Email Aliases"
+#: modules/email/__init__.py:80
+msgid "More emails"
msgstr ""
-#: modules/email/__init__.py:84
-msgid "Manage Aliases for Mailbox"
+#: modules/email/__init__.py:80
+msgid "Same mailbox"
+msgstr ""
+
+#: modules/email/__init__.py:82
+msgid "My Email Aliases"
msgstr ""
#: modules/email/forms.py:25
@@ -2141,45 +2145,90 @@ msgstr ""
msgid "Add"
msgstr ""
-#: modules/email/templates/email.html:10
-msgid "Manage Spam"
+#: modules/email/templates/email-dns.html:9
+msgid "DNS Records for domain:"
msgstr ""
-#: modules/email/templates/email.html:22
-msgid "DNS Records"
-msgstr ""
-
-#: modules/email/templates/email.html:25
+#: modules/email/templates/email-dns.html:12
msgid ""
-"The following DNS records must be added manually on your primary domain for "
-"the mail server to work properly."
+"The following DNS records must be added manually on this domain for the mail "
+"server to work properly for this domain."
msgstr ""
-#: modules/email/templates/email.html:36
+#: modules/email/templates/email-dns.html:23
+#: modules/email/templates/email-dns.html:77
msgid "TTL"
msgstr ""
-#: modules/email/templates/email.html:37
+#: modules/email/templates/email-dns.html:24
msgid "Class"
msgstr ""
-#: modules/email/templates/email.html:39
+#: modules/email/templates/email-dns.html:26
msgid "Priority"
msgstr ""
-#: modules/email/templates/email.html:40
+#: modules/email/templates/email-dns.html:27
msgid "Weight"
msgstr ""
-#: modules/email/templates/email.html:41
+#: modules/email/templates/email-dns.html:28
#: modules/minetest/templates/minetest.html:18
msgid "Port"
msgstr ""
-#: modules/email/templates/email.html:42
+#: modules/email/templates/email-dns.html:29
+#: modules/email/templates/email-dns.html:79
msgid "Host/Target/Value"
msgstr ""
+#: modules/email/templates/email-dns.html:50
+msgid "Reverse DNS Records for IP Addresses"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:53
+#, python-format
+msgid ""
+"If your %(box_name)s runs on a cloud service infrastructure, you should "
+"configure "
+"Reverse DNS lookup. This isn't mandatory, however, it greatly improves "
+"email deliverability. Reverse DNS isn't configured where your regular DNS "
+"is. You should look for it in the settings of your VPS/ISP. Some providers "
+"preconfigure the IP address part for you and you only have to set the domain "
+"part. Only one of your domains can have Revese DNS lookup configured unless "
+"you have multiple public IP addresses."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:66
+msgid ""
+"An external service is used to lookup public IP address to show in the "
+"following section. This can be configured in the privacy app."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:76
+msgid "Host"
+msgstr ""
+
+#: modules/email/templates/email.html:10
+msgid "Manage Spam"
+msgstr ""
+
+#: modules/email/templates/email.html:20 modules/names/manifest.py:11
+#: modules/names/templates/names.html:12
+msgid "Domains"
+msgstr ""
+
+#: modules/email/templates/email.html:23
+msgid ""
+"The following domains are configured. View details to see the list of DNS "
+"entries to be made for the domain."
+msgstr ""
+
+#: modules/email/templates/email.html:35
+#, python-format
+msgid "View domain: %(domain)s"
+msgstr ""
+
#: modules/featherwiki/__init__.py:25
#, python-brace-format
msgid ""
@@ -2422,7 +2471,7 @@ msgstr ""
msgid "Port {name} ({details}) unavailable for external networks"
msgstr ""
-#: modules/firewall/manifest.py:10 modules/tor/templates/tor.html:20
+#: modules/firewall/manifest.py:10 modules/tor/templates/tor.html:25
msgid "Ports"
msgstr ""
@@ -2749,9 +2798,9 @@ msgstr ""
msgid "Contribute"
msgstr ""
-#: modules/help/__init__.py:53 templates/base.html:215 templates/base.html:218
+#: modules/help/__init__.py:53 templates/base.html:217 templates/base.html:220
#: templates/help-menu.html:46 templates/help-menu.html:47
-#: templates/index.html:98
+#: templates/index.html:96
msgid "About"
msgstr "عن"
@@ -2884,7 +2933,7 @@ msgstr ""
#: modules/help/templates/help_contribute.html:42
#: modules/power/templates/power_restart.html:27
-#: modules/power/templates/power_shutdown.html:26 templates/app-header.html:68
+#: modules/power/templates/power_shutdown.html:26 templates/app-header.html:65
msgid "Learn more..."
msgstr ""
@@ -3208,7 +3257,7 @@ msgid "Web conference"
msgstr ""
#: modules/janus/templates/janus_video_room.html:205
-#: modules/jsxc/templates/jsxc_launch.html:117 templates/base.html:271
+#: modules/jsxc/templates/jsxc_launch.html:117 templates/base.html:273
msgid "JavaScript license information"
msgstr ""
@@ -3574,7 +3623,7 @@ msgid ""
"least one domain to be able to use Matrix Synapse."
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:15
+#: modules/matrixsynapse/templates/matrix-synapse.html:20
#, python-format
msgid ""
"The Matrix server domain is set to %(domain_name)s. User IDs will "
@@ -3582,43 +3631,43 @@ msgid ""
"the initial setup is currently not supported."
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:22
+#: modules/matrixsynapse/templates/matrix-synapse.html:27
msgid ""
"New users can be registered from any client if public registration is "
"enabled."
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:29
+#: modules/matrixsynapse/templates/matrix-synapse.html:34
msgid ""
"New users must use one of the following tokens for verification during "
"account registration:"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:38
+#: modules/matrixsynapse/templates/matrix-synapse.html:43
msgid "Registration Token"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:39
+#: modules/matrixsynapse/templates/matrix-synapse.html:44
msgid "Uses Allowed"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:40
+#: modules/matrixsynapse/templates/matrix-synapse.html:45
msgid "Pending Registrations"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:41
+#: modules/matrixsynapse/templates/matrix-synapse.html:46
msgid "Completed Registrations"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:42
+#: modules/matrixsynapse/templates/matrix-synapse.html:47
msgid "Expiry Time"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:51
+#: modules/matrixsynapse/templates/matrix-synapse.html:56
msgid "Unlimited"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:80
+#: modules/matrixsynapse/templates/matrix-synapse.html:85
#, python-format
msgid ""
"The configured domain name is using a self-signed certificate. Federation "
@@ -4033,23 +4082,27 @@ msgstr ""
msgid "An error occurred during password reset: {error}."
msgstr ""
-#: modules/mumble/__init__.py:25
+#: modules/mumble/__init__.py:27
msgid ""
"Mumble is an open source, low-latency, encrypted, high quality voice chat "
"software."
msgstr ""
-#: modules/mumble/__init__.py:27
+#: modules/mumble/__init__.py:29
msgid ""
"You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your "
"desktop and mobile devices are available."
msgstr ""
-#: modules/mumble/__init__.py:45 modules/mumble/manifest.py:9
+#: modules/mumble/__init__.py:47 modules/mumble/manifest.py:9
msgid "Mumble"
msgstr ""
+#: modules/mumble/__init__.py:158
+msgid "Mumble server is configured"
+msgstr ""
+
#: modules/mumble/forms.py:30
msgid "Set SuperUser Password"
msgstr ""
@@ -4174,10 +4227,6 @@ msgid ""
"or less."
msgstr ""
-#: modules/names/manifest.py:11 modules/names/templates/names.html:12
-msgid "Domains"
-msgstr ""
-
#: modules/names/manifest.py:13
msgid "DNS Resolution"
msgstr ""
@@ -4676,7 +4725,7 @@ msgstr ""
#: modules/networks/templates/connection_show.html:40
#: modules/wireguard/templates/wireguard_show_client.html:72
#: modules/wireguard/templates/wireguard_show_server.html:73
-#: templates/base.html:165 templates/base.html:166
+#: templates/base.html:167 templates/base.html:168
msgid "Edit"
msgstr ""
@@ -4729,7 +4778,7 @@ msgstr ""
#: modules/networks/templates/connection_show.html:107
#: modules/snapshot/templates/snapshot_delete_selected.html:19
-#: modules/snapshot/templates/snapshot_manage.html:29
+#: modules/snapshot/templates/snapshot_manage.html:34
#: modules/snapshot/templates/snapshot_rollback.html:27
msgid "Description"
msgstr ""
@@ -4807,8 +4856,8 @@ msgstr ""
#: modules/networks/templates/connection_show.html:264
#: modules/networks/templates/connections_fields_privacy.html:15
-#: modules/openvpn/manifest.py:60 modules/privacy/__init__.py:32
-#: modules/privacy/__init__.py:72 modules/wireguard/manifest.py:45
+#: modules/openvpn/manifest.py:60 modules/privacy/__init__.py:38
+#: modules/privacy/__init__.py:77 modules/wireguard/manifest.py:45
msgid "Privacy"
msgstr ""
@@ -4892,7 +4941,7 @@ msgstr ""
msgid "Computer"
msgstr ""
-#: modules/networks/templates/connections_edit.html:19
+#: modules/networks/templates/connections_edit.html:24
#: modules/networks/views.py:253 modules/networks/views.py:341
msgid "Edit Connection"
msgstr ""
@@ -4903,7 +4952,7 @@ msgid "Error:"
msgstr ""
#: modules/networks/templates/connections_fields.html:20
-#: modules/users/templates/users_update.html:46 templates/messages.html:30
+#: modules/users/templates/users_update.html:51 templates/messages.html:30
msgid "Close"
msgstr ""
@@ -4995,7 +5044,7 @@ msgstr ""
#: modules/networks/templates/network_topology_update.html:18
#: modules/networks/templates/router_configuration_update.html:19
#: modules/pagekite/templates/pagekite_custom_services.html:33
-#: modules/sharing/templates/sharing_add_edit.html:20 templates/form.html:19
+#: modules/sharing/templates/sharing_add_edit.html:25 templates/form.html:19
msgid "Submit"
msgstr ""
@@ -5389,11 +5438,7 @@ msgid ""
"performed following an independent cycle."
msgstr ""
-#: modules/nextcloud/__init__.py:48
-msgid "This app is experimental."
-msgstr ""
-
-#: modules/nextcloud/__init__.py:66 modules/nextcloud/manifest.py:11
+#: modules/nextcloud/__init__.py:65 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
msgid "Nextcloud"
msgstr ""
@@ -5561,7 +5606,7 @@ msgstr ""
msgid "PageKite"
msgstr ""
-#: modules/pagekite/__init__.py:73
+#: modules/pagekite/__init__.py:72
msgid "PageKite Domain"
msgstr ""
@@ -5740,8 +5785,8 @@ msgstr ""
msgid "Shutdown"
msgstr ""
-#: modules/power/templates/power.html:15 templates/base.html:180
-#: templates/base.html:181
+#: modules/power/templates/power.html:15 templates/base.html:182
+#: templates/base.html:183
msgid "Restart"
msgstr ""
@@ -5777,23 +5822,33 @@ msgstr ""
msgid "Shut Down Now"
msgstr ""
-#: modules/privacy/__init__.py:15
+#: modules/privacy/__init__.py:21
msgid "Manage system-wide privacy settings."
msgstr ""
-#: modules/privacy/__init__.py:70
+#: modules/privacy/__init__.py:75
msgid "Please update privacy settings to match your preferences."
msgstr ""
-#: modules/privacy/__init__.py:75
+#: modules/privacy/__init__.py:80
msgid "Review privacy setting"
msgstr ""
-#: modules/privacy/forms.py:16
+#: modules/privacy/forms.py:17
+#, python-brace-format
+msgid ""
+"Optional Value. This URL is used to determine the publicly visible IP "
+"address of your {box_name}. The URL should simply return the IPv4 or IPv6 "
+"address where the client request comes from. Default is to use the service "
+"provided by the FreedomBox Foundation at https://ddns.freedombox.org/ip/. If "
+"empty, lookups are disabled and some functionality will fail."
+msgstr ""
+
+#: modules/privacy/forms.py:25
msgid "Periodically submit a list of apps used (suggested)"
msgstr ""
-#: modules/privacy/forms.py:18
+#: modules/privacy/forms.py:27
#, python-brace-format
msgid ""
"Help Debian/{box_name} developers by participating in the Popularity Contest "
@@ -5804,11 +5859,11 @@ msgid ""
"network for additional anonymity if Tor app is enabled."
msgstr ""
-#: modules/privacy/forms.py:28
+#: modules/privacy/forms.py:37
msgid "Allow using fallback DNS servers"
msgstr ""
-#: modules/privacy/forms.py:30
+#: modules/privacy/forms.py:39
msgid ""
"Use well-known public DNS servers to resolve domain names in unusual "
"circumstances where no DNS servers are known but internet connectivity is "
@@ -5816,10 +5871,18 @@ msgid ""
"and reliable."
msgstr ""
+#: modules/privacy/forms.py:45
+msgid "URL to look up public IP address"
+msgstr ""
+
#: modules/privacy/manifest.py:10
msgid "Usage reporting"
msgstr ""
+#: modules/privacy/manifest.py:10
+msgid "External services"
+msgstr ""
+
#: modules/privacy/manifest.py:10
msgid "Fallback DNS"
msgstr ""
@@ -6729,40 +6792,40 @@ msgid "Delete the following snapshots permanently?"
msgstr ""
#: modules/snapshot/templates/snapshot_delete_selected.html:17
-#: modules/snapshot/templates/snapshot_manage.html:27
+#: modules/snapshot/templates/snapshot_manage.html:32
#: modules/snapshot/templates/snapshot_rollback.html:25
msgid "Number"
msgstr ""
#: modules/snapshot/templates/snapshot_delete_selected.html:18
-#: modules/snapshot/templates/snapshot_manage.html:28
+#: modules/snapshot/templates/snapshot_manage.html:33
#: modules/snapshot/templates/snapshot_rollback.html:26
msgid "Date"
msgstr ""
#: modules/snapshot/templates/snapshot_delete_selected.html:42
-#: modules/snapshot/templates/snapshot_manage.html:20
+#: modules/snapshot/templates/snapshot_manage.html:25
#: modules/snapshot/views.py:197
msgid "Delete Snapshots"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:17
+#: modules/snapshot/templates/snapshot_manage.html:22
msgid "Create Snapshot"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:30
+#: modules/snapshot/templates/snapshot_manage.html:35
msgid "Rollback"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:40
+#: modules/snapshot/templates/snapshot_manage.html:45
msgid "will be used at next boot"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:45
+#: modules/snapshot/templates/snapshot_manage.html:50
msgid "in use"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:54
+#: modules/snapshot/templates/snapshot_manage.html:59
#, python-format
msgid "Rollback to snapshot #%(number)s"
msgstr ""
@@ -7293,27 +7356,27 @@ msgstr ""
msgid "Tor"
msgstr ""
-#: modules/tor/__init__.py:78
+#: modules/tor/__init__.py:77
msgid "Tor Onion Service"
msgstr ""
-#: modules/tor/__init__.py:82
+#: modules/tor/__init__.py:81
msgid "Tor Bridge Relay"
msgstr ""
-#: modules/tor/__init__.py:140
+#: modules/tor/__init__.py:139
msgid "Tor relay port available"
msgstr ""
-#: modules/tor/__init__.py:152
+#: modules/tor/__init__.py:151
msgid "Obfs3 transport registered"
msgstr ""
-#: modules/tor/__init__.py:163
+#: modules/tor/__init__.py:162
msgid "Obfs4 transport registered"
msgstr ""
-#: modules/tor/__init__.py:176
+#: modules/tor/__init__.py:175
msgid "Onion service is version 3"
msgstr ""
@@ -7403,7 +7466,7 @@ msgstr ""
msgid "Anonymity network"
msgstr ""
-#: modules/tor/templates/tor.html:18
+#: modules/tor/templates/tor.html:23
msgid "Onion Service"
msgstr ""
@@ -7965,39 +8028,39 @@ msgstr ""
msgid "Edit user %(username)s"
msgstr ""
-#: modules/users/templates/users_update.html:12
+#: modules/users/templates/users_update.html:17
#, python-format
msgid "Edit User %(username)s"
msgstr ""
-#: modules/users/templates/users_update.html:20
+#: modules/users/templates/users_update.html:25
#, python-format
msgid ""
"Use the change password form to "
"change the password."
msgstr ""
-#: modules/users/templates/users_update.html:32
+#: modules/users/templates/users_update.html:37
#: templates/language-selection.html:17
msgid "Save Changes"
msgstr ""
-#: modules/users/templates/users_update.html:41
+#: modules/users/templates/users_update.html:46
#, python-format
msgid "Delete user %(username)s and all the user's files?"
msgstr ""
-#: modules/users/templates/users_update.html:51
+#: modules/users/templates/users_update.html:56
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
msgstr ""
-#: modules/users/templates/users_update.html:60
+#: modules/users/templates/users_update.html:65
msgid "Delete user and files"
msgstr ""
-#: modules/users/templates/users_update.html:63
+#: modules/users/templates/users_update.html:68
msgid "Cancel"
msgstr ""
@@ -8632,11 +8695,11 @@ msgstr ""
msgid "Service %(service_name)s is not running."
msgstr ""
-#: templates/apps.html:29
+#: templates/apps.html:33
msgid "Search with tags"
msgstr ""
-#: templates/apps.html:42
+#: templates/apps.html:46
msgid "Clear all tags"
msgstr ""
@@ -8646,35 +8709,35 @@ msgid ""
"is free software that lets you install and manage server apps with ease."
msgstr ""
-#: templates/base.html:116
+#: templates/base.html:118
msgid " Home"
msgstr ""
-#: templates/base.html:124
+#: templates/base.html:126
msgid " Apps"
msgstr ""
-#: templates/base.html:133
+#: templates/base.html:135
msgid " System"
msgstr ""
-#: templates/base.html:172 templates/base.html:173
+#: templates/base.html:174 templates/base.html:175
msgid "Change password"
msgstr ""
-#: templates/base.html:186 templates/base.html:187
+#: templates/base.html:188 templates/base.html:189
msgid "Shut down"
msgstr ""
-#: templates/base.html:197 templates/base.html:235
+#: templates/base.html:199 templates/base.html:237
msgid "Log out"
msgstr ""
-#: templates/base.html:206 templates/base.html:209
+#: templates/base.html:208 templates/base.html:211
msgid "Select language"
msgstr ""
-#: templates/base.html:224 templates/base.html:226
+#: templates/base.html:226 templates/base.html:228
msgid "Log in"
msgstr ""
@@ -8876,20 +8939,20 @@ msgid ""
"installed freshly again."
msgstr ""
-#: views.py:85
+#: views.py:84
msgid "Here"
msgstr ""
-#: views.py:374
+#: views.py:376
msgid "Setting unchanged"
msgstr ""
-#: views.py:609
+#: views.py:610
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""
-#: web_framework.py:114
+#: web_framework.py:122
msgid "Gujarati"
msgstr ""
diff --git a/plinth/locale/ar_SA/LC_MESSAGES/django.po b/plinth/locale/ar_SA/LC_MESSAGES/django.po
index 2d50a4908..abd731337 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-12-30 20:05-0500\n"
+"POT-Creation-Date: 2025-01-13 20:33-0500\n"
"PO-Revision-Date: 2020-06-10 15:41+0000\n"
"Last-Translator: aiman an
SSH key-based authentication is not yet "
"possible."
msgstr ""
-#: modules/backups/forms.py:273
+#: modules/backups/forms.py:275
msgid "Remote backup repository already exists."
msgstr ""
-#: modules/backups/forms.py:279
+#: modules/backups/forms.py:281
msgid "Select verified SSH public key"
msgstr ""
#: modules/backups/manifest.py:14
#: modules/backups/templates/backups_repository.html:92
#: modules/backups/templates/backups_restore.html:27
-#: modules/backups/views.py:240 modules/snapshot/manifest.py:14
+#: modules/backups/views.py:238 modules/snapshot/manifest.py:14
#: templates/toolbar.html:44 templates/toolbar.html:45
msgid "Restore"
msgstr ""
@@ -509,16 +511,20 @@ msgstr ""
msgid "Backup system is busy with another operation."
msgstr ""
+#: modules/backups/privileged.py:92
+msgid "Not enough space left on the disk or remote location."
+msgstr ""
+
#: modules/backups/repository.py:94
msgid "Existing repository is not encrypted."
msgstr ""
-#: modules/backups/repository.py:266
+#: modules/backups/repository.py:289
#, python-brace-format
msgid "{box_name} storage"
msgstr ""
-#: modules/backups/templates/backups.html:17 modules/backups/views.py:125
+#: modules/backups/templates/backups.html:17 modules/backups/views.py:124
msgid "Create a new backup"
msgstr ""
@@ -562,10 +568,9 @@ msgstr ""
#: modules/help/templates/statuslog.html:24
#: modules/kiwix/templates/kiwix-add-package.html:26
#: modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:28
-#: modules/matrixsynapse/templates/matrix-synapse.html:76
+#: modules/matrixsynapse/templates/matrix-synapse.html:81
#: modules/names/templates/names.html:128
#: modules/networks/templates/connection_show.html:24
-#: modules/nextcloud/__init__.py:48
#: modules/pagekite/templates/pagekite_custom_services.html:16
#: modules/power/templates/power_busy_warning.html:11
#: modules/snapshot/templates/snapshot_not_supported.html:13
@@ -704,107 +709,107 @@ msgstr ""
msgid "Verify Host"
msgstr ""
-#: modules/backups/views.py:69
+#: modules/backups/views.py:68
msgid "Backup schedule updated."
msgstr ""
-#: modules/backups/views.py:88
+#: modules/backups/views.py:87
msgid "Schedule Backups"
msgstr ""
-#: modules/backups/views.py:150
+#: modules/backups/views.py:148
msgid "Archive created."
msgstr ""
-#: modules/backups/views.py:162
+#: modules/backups/views.py:160
msgid "Delete Archive"
msgstr ""
-#: modules/backups/views.py:175
+#: modules/backups/views.py:173
msgid "Archive deleted."
msgstr ""
-#: modules/backups/views.py:189
+#: modules/backups/views.py:187
msgid "Upload and restore a backup"
msgstr ""
-#: modules/backups/views.py:218
+#: modules/backups/views.py:216
msgid "Upload successful."
msgstr ""
-#: modules/backups/views.py:256
+#: modules/backups/views.py:254
msgid "No backup file found."
msgstr ""
-#: modules/backups/views.py:264
+#: modules/backups/views.py:262
msgid "Restore from uploaded file"
msgstr ""
-#: modules/backups/views.py:278 modules/backups/views.py:299
+#: modules/backups/views.py:276 modules/backups/views.py:297
msgid "Restored files from backup."
msgstr ""
-#: modules/backups/views.py:329
+#: modules/backups/views.py:327
msgid "No additional disks available to add a repository."
msgstr ""
-#: modules/backups/views.py:337
+#: modules/backups/views.py:335
msgid "Create backup repository"
msgstr ""
-#: modules/backups/views.py:352
+#: modules/backups/views.py:350
msgid "Added new repository."
msgstr ""
-#: modules/backups/views.py:366
+#: modules/backups/views.py:364
msgid "Create remote backup repository"
msgstr ""
-#: modules/backups/views.py:388
+#: modules/backups/views.py:386
msgid "Added new remote SSH repository."
msgstr ""
-#: modules/backups/views.py:410
+#: modules/backups/views.py:408
msgid "Verify SSH hostkey"
msgstr ""
-#: modules/backups/views.py:436
+#: modules/backups/views.py:434
msgid "SSH host already verified."
msgstr ""
-#: modules/backups/views.py:447
+#: modules/backups/views.py:445
msgid "SSH host verified."
msgstr ""
-#: modules/backups/views.py:463
+#: modules/backups/views.py:461
msgid "SSH host public key could not be verified."
msgstr ""
-#: modules/backups/views.py:465
+#: modules/backups/views.py:463
msgid "Authentication to remote server failed."
msgstr ""
-#: modules/backups/views.py:467
+#: modules/backups/views.py:465
msgid "Error establishing connection to server: {}"
msgstr ""
-#: modules/backups/views.py:478
+#: modules/backups/views.py:476
msgid "Repository removed."
msgstr ""
-#: modules/backups/views.py:492
+#: modules/backups/views.py:490
msgid "Remove Repository"
msgstr ""
-#: modules/backups/views.py:502
+#: modules/backups/views.py:500
msgid "Repository removed. Backups were not deleted."
msgstr ""
-#: modules/backups/views.py:513
+#: modules/backups/views.py:511
msgid "Unmounting failed!"
msgstr ""
-#: modules/backups/views.py:529 modules/backups/views.py:533
+#: modules/backups/views.py:527 modules/backups/views.py:531
msgid "Mounting failed"
msgstr ""
@@ -913,7 +918,7 @@ msgstr ""
msgid "No passwords currently configured."
msgstr ""
-#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:91
+#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:83
#: modules/miniflux/forms.py:14 modules/networks/forms.py:282
#: modules/shadowsocks/forms.py:32 modules/shadowsocksserver/forms.py:37
msgid "Password"
@@ -1031,8 +1036,10 @@ msgstr ""
msgid "Serving Domains"
msgstr ""
-#: modules/bind/templates/bind.html:17 modules/email/templates/email.html:38
-#: modules/ikiwiki/forms.py:12 modules/names/templates/names.html:18
+#: modules/bind/templates/bind.html:17
+#: modules/email/templates/email-dns.html:25
+#: modules/email/templates/email-dns.html:78 modules/ikiwiki/forms.py:12
+#: modules/names/templates/names.html:18
#: modules/networks/templates/connection_show.html:95
#: modules/samba/templates/samba.html:65
#: modules/storage/templates/storage.html:26
@@ -1062,7 +1069,7 @@ msgstr ""
#: modules/minetest/views.py:55 modules/mumble/views.py:37
#: modules/names/views.py:66 modules/names/views.py:95
#: modules/names/views.py:129 modules/pagekite/forms.py:74
-#: modules/privacy/views.py:50 modules/quassel/views.py:29
+#: modules/privacy/views.py:55 modules/quassel/views.py:29
#: modules/roundcube/views.py:32 modules/rssbridge/views.py:31
#: modules/shadowsocks/views.py:52 modules/shadowsocksserver/views.py:48
#: modules/ssh/views.py:62 modules/transmission/views.py:43
@@ -1647,7 +1654,7 @@ msgid "Test"
msgstr ""
#: modules/diagnostics/templates/diagnostics_results.html:12
-#: modules/dynamicdns/templates/dynamicdns.html:20
+#: modules/dynamicdns/templates/dynamicdns.html:25
msgid "Result"
msgstr ""
@@ -1660,7 +1667,7 @@ msgstr ""
msgid "App {app_id} is not installed, cannot repair"
msgstr ""
-#: modules/dynamicdns/__init__.py:28
+#: modules/dynamicdns/__init__.py:29
#, python-brace-format
msgid ""
"If your Internet provider changes your IP address periodically (i.e. every "
@@ -1668,7 +1675,7 @@ msgid ""
"prevent others from finding services which are provided by this {box_name}."
msgstr ""
-#: modules/dynamicdns/__init__.py:32
+#: modules/dynamicdns/__init__.py:33
msgid ""
"The solution is to assign a DNS name to your IP address and update the DNS "
"name every time your IP is changed by your Internet provider. Dynamic DNS "
@@ -1679,7 +1686,7 @@ msgid ""
"IP address."
msgstr ""
-#: modules/dynamicdns/__init__.py:40
+#: modules/dynamicdns/__init__.py:41
msgid ""
"If you are looking for a free dynamic DNS account, you may find a free "
"GnuDIP service at ddns."
@@ -1687,11 +1694,17 @@ msgid ""
"href='http://freedns.afraid.org/' target='_blank'>freedns.afraid.org."
msgstr ""
-#: modules/dynamicdns/__init__.py:61
+#: modules/dynamicdns/__init__.py:46
+msgid ""
+"This service uses an external service to lookup public IP address. This can "
+"be configured in the privacy app."
+msgstr ""
+
+#: modules/dynamicdns/__init__.py:64
msgid "Dynamic DNS Client"
msgstr ""
-#: modules/dynamicdns/__init__.py:75
+#: modules/dynamicdns/__init__.py:78
msgid "Dynamic Domain Name"
msgstr ""
@@ -1735,84 +1748,71 @@ msgid "Leave this field empty if you want to keep your current password."
msgstr ""
#: modules/dynamicdns/forms.py:43
-#, python-brace-format
-msgid ""
-"Optional Value. If your {box_name} is not connected directly to the Internet "
-"(i.e. connected to a NAT router) this URL is used to determine the real IP "
-"address. The URL should simply return the IP where the client comes from "
-"(example: https://ddns.freedombox.org/ip/)."
-msgstr ""
-
-#: modules/dynamicdns/forms.py:51
msgid "The username that was used when the account was created."
msgstr ""
-#: modules/dynamicdns/forms.py:54
+#: modules/dynamicdns/forms.py:46
msgid "GnuDIP"
msgstr ""
-#: modules/dynamicdns/forms.py:57
+#: modules/dynamicdns/forms.py:49
msgid "Other update URL"
msgstr ""
-#: modules/dynamicdns/forms.py:59
+#: modules/dynamicdns/forms.py:51
msgid "Service Type"
msgstr ""
-#: modules/dynamicdns/forms.py:64
+#: modules/dynamicdns/forms.py:56
msgid "GnuDIP Server Address"
msgstr ""
-#: modules/dynamicdns/forms.py:67
+#: modules/dynamicdns/forms.py:59
msgid "Invalid server name"
msgstr ""
-#: modules/dynamicdns/forms.py:70
+#: modules/dynamicdns/forms.py:62
msgid "Update URL"
msgstr ""
-#: modules/dynamicdns/forms.py:74
+#: modules/dynamicdns/forms.py:66
msgid "Accept all SSL certificates"
msgstr ""
-#: modules/dynamicdns/forms.py:78
+#: modules/dynamicdns/forms.py:70
msgid "Use HTTP basic authentication"
msgstr ""
-#: modules/dynamicdns/forms.py:82 modules/names/__init__.py:68
+#: modules/dynamicdns/forms.py:74 modules/names/__init__.py:68
#: modules/names/forms.py:106 modules/names/templates/names.html:19
msgid "Domain Name"
msgstr ""
-#: modules/dynamicdns/forms.py:85 modules/names/forms.py:99
+#: modules/dynamicdns/forms.py:77 modules/names/forms.py:99
#: modules/names/forms.py:117
msgid "Invalid domain name"
msgstr ""
-#: modules/dynamicdns/forms.py:88 modules/miniflux/forms.py:11
+#: modules/dynamicdns/forms.py:80 modules/miniflux/forms.py:11
#: modules/networks/forms.py:281 modules/users/forms.py:130
msgid "Username"
msgstr ""
-#: modules/dynamicdns/forms.py:95 modules/networks/forms.py:284
+#: modules/dynamicdns/forms.py:87 modules/networks/forms.py:284
msgid "Show password"
msgstr ""
-#: modules/dynamicdns/forms.py:99
-msgid "URL to look up public IP"
-msgstr ""
-
-#: modules/dynamicdns/forms.py:104
+#: modules/dynamicdns/forms.py:91
msgid "Use IPv6 instead of IPv4"
msgstr ""
-#: modules/dynamicdns/forms.py:123
+#: modules/dynamicdns/forms.py:110
msgid "This field is required."
msgstr ""
#: modules/dynamicdns/manifest.py:17
-#: modules/dynamicdns/templates/dynamicdns.html:18
-#: modules/email/templates/email.html:35
+#: modules/dynamicdns/templates/dynamicdns.html:23
+#: modules/email/templates/email-dns.html:22
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64
msgid "Domain"
@@ -1826,37 +1826,37 @@ msgstr ""
msgid "Needs public IP"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:11
-#: modules/ejabberd/templates/ejabberd.html:13 modules/firewall/manifest.py:10
+#: modules/dynamicdns/templates/dynamicdns.html:16
+#: modules/ejabberd/templates/ejabberd.html:18 modules/firewall/manifest.py:10
#: modules/firewall/templates/firewall.html:16
#: modules/firewall/templates/firewall.html:22
#: modules/letsencrypt/templates/letsencrypt.html:17
-#: modules/matrixsynapse/templates/matrix-synapse.html:12
+#: modules/matrixsynapse/templates/matrix-synapse.html:17
#: modules/networks/templates/connection_show.html:258
-#: modules/samba/templates/samba.html:67 modules/tor/templates/tor.html:19
+#: modules/samba/templates/samba.html:67 modules/tor/templates/tor.html:24
#: modules/upgrades/templates/upgrades_configure.html:14
#: modules/wireguard/templates/wireguard_show_client.html:48
#: modules/wireguard/templates/wireguard_show_server.html:47
msgid "Status"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:19
+#: modules/dynamicdns/templates/dynamicdns.html:24
msgid "Last update"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:21
+#: modules/dynamicdns/templates/dynamicdns.html:26
msgid "IP Address"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:32
+#: modules/dynamicdns/templates/dynamicdns.html:37
msgid "Success"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:36
+#: modules/dynamicdns/templates/dynamicdns.html:41
msgid "Failed"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:52
+#: modules/dynamicdns/templates/dynamicdns.html:57
msgid "No status available."
msgstr ""
@@ -2006,7 +2006,7 @@ msgstr ""
msgid "XMPP"
msgstr ""
-#: modules/ejabberd/templates/ejabberd.html:18
+#: modules/ejabberd/templates/ejabberd.html:23
#, python-format
msgid ""
"Your XMPP server domain is set to %(domain_name)s. User IDs will look "
@@ -2014,7 +2014,7 @@ msgid ""
"system Name Services page."
msgstr ""
-#: modules/ejabberd/templates/ejabberd.html:25
+#: modules/ejabberd/templates/ejabberd.html:30
#, python-format
msgid ""
"Your XMPP server domain is not set. You can setup your domain on the system "
@@ -2062,12 +2062,16 @@ msgstr ""
msgid "Postfix/Dovecot"
msgstr ""
-#: modules/email/__init__.py:83
-msgid "My Email Aliases"
+#: modules/email/__init__.py:80
+msgid "More emails"
msgstr ""
-#: modules/email/__init__.py:84
-msgid "Manage Aliases for Mailbox"
+#: modules/email/__init__.py:80
+msgid "Same mailbox"
+msgstr ""
+
+#: modules/email/__init__.py:82
+msgid "My Email Aliases"
msgstr ""
#: modules/email/forms.py:25
@@ -2148,45 +2152,90 @@ msgstr ""
msgid "Add"
msgstr ""
-#: modules/email/templates/email.html:10
-msgid "Manage Spam"
+#: modules/email/templates/email-dns.html:9
+msgid "DNS Records for domain:"
msgstr ""
-#: modules/email/templates/email.html:22
-msgid "DNS Records"
-msgstr ""
-
-#: modules/email/templates/email.html:25
+#: modules/email/templates/email-dns.html:12
msgid ""
-"The following DNS records must be added manually on your primary domain for "
-"the mail server to work properly."
+"The following DNS records must be added manually on this domain for the mail "
+"server to work properly for this domain."
msgstr ""
-#: modules/email/templates/email.html:36
+#: modules/email/templates/email-dns.html:23
+#: modules/email/templates/email-dns.html:77
msgid "TTL"
msgstr ""
-#: modules/email/templates/email.html:37
+#: modules/email/templates/email-dns.html:24
msgid "Class"
msgstr ""
-#: modules/email/templates/email.html:39
+#: modules/email/templates/email-dns.html:26
msgid "Priority"
msgstr ""
-#: modules/email/templates/email.html:40
+#: modules/email/templates/email-dns.html:27
msgid "Weight"
msgstr ""
-#: modules/email/templates/email.html:41
+#: modules/email/templates/email-dns.html:28
#: modules/minetest/templates/minetest.html:18
msgid "Port"
msgstr ""
-#: modules/email/templates/email.html:42
+#: modules/email/templates/email-dns.html:29
+#: modules/email/templates/email-dns.html:79
msgid "Host/Target/Value"
msgstr ""
+#: modules/email/templates/email-dns.html:50
+msgid "Reverse DNS Records for IP Addresses"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:53
+#, python-format
+msgid ""
+"If your %(box_name)s runs on a cloud service infrastructure, you should "
+"configure "
+"Reverse DNS lookup. This isn't mandatory, however, it greatly improves "
+"email deliverability. Reverse DNS isn't configured where your regular DNS "
+"is. You should look for it in the settings of your VPS/ISP. Some providers "
+"preconfigure the IP address part for you and you only have to set the domain "
+"part. Only one of your domains can have Revese DNS lookup configured unless "
+"you have multiple public IP addresses."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:66
+msgid ""
+"An external service is used to lookup public IP address to show in the "
+"following section. This can be configured in the privacy app."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:76
+msgid "Host"
+msgstr ""
+
+#: modules/email/templates/email.html:10
+msgid "Manage Spam"
+msgstr ""
+
+#: modules/email/templates/email.html:20 modules/names/manifest.py:11
+#: modules/names/templates/names.html:12
+msgid "Domains"
+msgstr ""
+
+#: modules/email/templates/email.html:23
+msgid ""
+"The following domains are configured. View details to see the list of DNS "
+"entries to be made for the domain."
+msgstr ""
+
+#: modules/email/templates/email.html:35
+#, python-format
+msgid "View domain: %(domain)s"
+msgstr ""
+
#: modules/featherwiki/__init__.py:25
#, python-brace-format
msgid ""
@@ -2435,7 +2484,7 @@ msgstr ""
msgid "Port {name} ({details}) unavailable for external networks"
msgstr ""
-#: modules/firewall/manifest.py:10 modules/tor/templates/tor.html:20
+#: modules/firewall/manifest.py:10 modules/tor/templates/tor.html:25
msgid "Ports"
msgstr ""
@@ -2762,9 +2811,9 @@ msgstr ""
msgid "Contribute"
msgstr ""
-#: modules/help/__init__.py:53 templates/base.html:215 templates/base.html:218
+#: modules/help/__init__.py:53 templates/base.html:217 templates/base.html:220
#: templates/help-menu.html:46 templates/help-menu.html:47
-#: templates/index.html:98
+#: templates/index.html:96
msgid "About"
msgstr ""
@@ -2897,7 +2946,7 @@ msgstr ""
#: modules/help/templates/help_contribute.html:42
#: modules/power/templates/power_restart.html:27
-#: modules/power/templates/power_shutdown.html:26 templates/app-header.html:68
+#: modules/power/templates/power_shutdown.html:26 templates/app-header.html:65
msgid "Learn more..."
msgstr ""
@@ -3221,7 +3270,7 @@ msgid "Web conference"
msgstr ""
#: modules/janus/templates/janus_video_room.html:205
-#: modules/jsxc/templates/jsxc_launch.html:117 templates/base.html:271
+#: modules/jsxc/templates/jsxc_launch.html:117 templates/base.html:273
msgid "JavaScript license information"
msgstr ""
@@ -3591,7 +3640,7 @@ msgid ""
"least one domain to be able to use Matrix Synapse."
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:15
+#: modules/matrixsynapse/templates/matrix-synapse.html:20
#, python-format
msgid ""
"The Matrix server domain is set to %(domain_name)s. User IDs will "
@@ -3599,43 +3648,43 @@ msgid ""
"the initial setup is currently not supported."
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:22
+#: modules/matrixsynapse/templates/matrix-synapse.html:27
msgid ""
"New users can be registered from any client if public registration is "
"enabled."
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:29
+#: modules/matrixsynapse/templates/matrix-synapse.html:34
msgid ""
"New users must use one of the following tokens for verification during "
"account registration:"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:38
+#: modules/matrixsynapse/templates/matrix-synapse.html:43
msgid "Registration Token"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:39
+#: modules/matrixsynapse/templates/matrix-synapse.html:44
msgid "Uses Allowed"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:40
+#: modules/matrixsynapse/templates/matrix-synapse.html:45
msgid "Pending Registrations"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:41
+#: modules/matrixsynapse/templates/matrix-synapse.html:46
msgid "Completed Registrations"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:42
+#: modules/matrixsynapse/templates/matrix-synapse.html:47
msgid "Expiry Time"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:51
+#: modules/matrixsynapse/templates/matrix-synapse.html:56
msgid "Unlimited"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:80
+#: modules/matrixsynapse/templates/matrix-synapse.html:85
#, python-format
msgid ""
"The configured domain name is using a self-signed certificate. Federation "
@@ -4054,23 +4103,27 @@ msgstr "اسم المستخدم غير صالح:{username}"
msgid "An error occurred during password reset: {error}."
msgstr ""
-#: modules/mumble/__init__.py:25
+#: modules/mumble/__init__.py:27
msgid ""
"Mumble is an open source, low-latency, encrypted, high quality voice chat "
"software."
msgstr ""
-#: modules/mumble/__init__.py:27
+#: modules/mumble/__init__.py:29
msgid ""
"You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your "
"desktop and mobile devices are available."
msgstr ""
-#: modules/mumble/__init__.py:45 modules/mumble/manifest.py:9
+#: modules/mumble/__init__.py:47 modules/mumble/manifest.py:9
msgid "Mumble"
msgstr ""
+#: modules/mumble/__init__.py:158
+msgid "Mumble server is configured"
+msgstr ""
+
#: modules/mumble/forms.py:30
msgid "Set SuperUser Password"
msgstr ""
@@ -4195,10 +4248,6 @@ msgid ""
"or less."
msgstr ""
-#: modules/names/manifest.py:11 modules/names/templates/names.html:12
-msgid "Domains"
-msgstr ""
-
#: modules/names/manifest.py:13
msgid "DNS Resolution"
msgstr ""
@@ -4699,7 +4748,7 @@ msgstr ""
#: modules/networks/templates/connection_show.html:40
#: modules/wireguard/templates/wireguard_show_client.html:72
#: modules/wireguard/templates/wireguard_show_server.html:73
-#: templates/base.html:165 templates/base.html:166
+#: templates/base.html:167 templates/base.html:168
msgid "Edit"
msgstr ""
@@ -4752,7 +4801,7 @@ msgstr ""
#: modules/networks/templates/connection_show.html:107
#: modules/snapshot/templates/snapshot_delete_selected.html:19
-#: modules/snapshot/templates/snapshot_manage.html:29
+#: modules/snapshot/templates/snapshot_manage.html:34
#: modules/snapshot/templates/snapshot_rollback.html:27
msgid "Description"
msgstr ""
@@ -4830,8 +4879,8 @@ msgstr ""
#: modules/networks/templates/connection_show.html:264
#: modules/networks/templates/connections_fields_privacy.html:15
-#: modules/openvpn/manifest.py:60 modules/privacy/__init__.py:32
-#: modules/privacy/__init__.py:72 modules/wireguard/manifest.py:45
+#: modules/openvpn/manifest.py:60 modules/privacy/__init__.py:38
+#: modules/privacy/__init__.py:77 modules/wireguard/manifest.py:45
msgid "Privacy"
msgstr ""
@@ -4915,7 +4964,7 @@ msgstr ""
msgid "Computer"
msgstr ""
-#: modules/networks/templates/connections_edit.html:19
+#: modules/networks/templates/connections_edit.html:24
#: modules/networks/views.py:253 modules/networks/views.py:341
msgid "Edit Connection"
msgstr ""
@@ -4926,7 +4975,7 @@ msgid "Error:"
msgstr ""
#: modules/networks/templates/connections_fields.html:20
-#: modules/users/templates/users_update.html:46 templates/messages.html:30
+#: modules/users/templates/users_update.html:51 templates/messages.html:30
msgid "Close"
msgstr ""
@@ -5018,7 +5067,7 @@ msgstr ""
#: modules/networks/templates/network_topology_update.html:18
#: modules/networks/templates/router_configuration_update.html:19
#: modules/pagekite/templates/pagekite_custom_services.html:33
-#: modules/sharing/templates/sharing_add_edit.html:20 templates/form.html:19
+#: modules/sharing/templates/sharing_add_edit.html:25 templates/form.html:19
msgid "Submit"
msgstr ""
@@ -5412,11 +5461,7 @@ msgid ""
"performed following an independent cycle."
msgstr ""
-#: modules/nextcloud/__init__.py:48
-msgid "This app is experimental."
-msgstr ""
-
-#: modules/nextcloud/__init__.py:66 modules/nextcloud/manifest.py:11
+#: modules/nextcloud/__init__.py:65 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
msgid "Nextcloud"
msgstr ""
@@ -5584,7 +5629,7 @@ msgstr ""
msgid "PageKite"
msgstr ""
-#: modules/pagekite/__init__.py:73
+#: modules/pagekite/__init__.py:72
msgid "PageKite Domain"
msgstr ""
@@ -5763,8 +5808,8 @@ msgstr ""
msgid "Shutdown"
msgstr ""
-#: modules/power/templates/power.html:15 templates/base.html:180
-#: templates/base.html:181
+#: modules/power/templates/power.html:15 templates/base.html:182
+#: templates/base.html:183
msgid "Restart"
msgstr ""
@@ -5800,23 +5845,33 @@ msgstr ""
msgid "Shut Down Now"
msgstr ""
-#: modules/privacy/__init__.py:15
+#: modules/privacy/__init__.py:21
msgid "Manage system-wide privacy settings."
msgstr ""
-#: modules/privacy/__init__.py:70
+#: modules/privacy/__init__.py:75
msgid "Please update privacy settings to match your preferences."
msgstr ""
-#: modules/privacy/__init__.py:75
+#: modules/privacy/__init__.py:80
msgid "Review privacy setting"
msgstr ""
-#: modules/privacy/forms.py:16
+#: modules/privacy/forms.py:17
+#, python-brace-format
+msgid ""
+"Optional Value. This URL is used to determine the publicly visible IP "
+"address of your {box_name}. The URL should simply return the IPv4 or IPv6 "
+"address where the client request comes from. Default is to use the service "
+"provided by the FreedomBox Foundation at https://ddns.freedombox.org/ip/. If "
+"empty, lookups are disabled and some functionality will fail."
+msgstr ""
+
+#: modules/privacy/forms.py:25
msgid "Periodically submit a list of apps used (suggested)"
msgstr ""
-#: modules/privacy/forms.py:18
+#: modules/privacy/forms.py:27
#, python-brace-format
msgid ""
"Help Debian/{box_name} developers by participating in the Popularity Contest "
@@ -5827,11 +5882,11 @@ msgid ""
"network for additional anonymity if Tor app is enabled."
msgstr ""
-#: modules/privacy/forms.py:28
+#: modules/privacy/forms.py:37
msgid "Allow using fallback DNS servers"
msgstr ""
-#: modules/privacy/forms.py:30
+#: modules/privacy/forms.py:39
msgid ""
"Use well-known public DNS servers to resolve domain names in unusual "
"circumstances where no DNS servers are known but internet connectivity is "
@@ -5839,10 +5894,20 @@ msgid ""
"and reliable."
msgstr ""
+#: modules/privacy/forms.py:45
+msgid "URL to look up public IP address"
+msgstr ""
+
#: modules/privacy/manifest.py:10
msgid "Usage reporting"
msgstr ""
+#: modules/privacy/manifest.py:10
+#, fuzzy
+#| msgid "Web Server"
+msgid "External services"
+msgstr "خادم ويب"
+
#: modules/privacy/manifest.py:10
msgid "Fallback DNS"
msgstr ""
@@ -6754,40 +6819,40 @@ msgid "Delete the following snapshots permanently?"
msgstr ""
#: modules/snapshot/templates/snapshot_delete_selected.html:17
-#: modules/snapshot/templates/snapshot_manage.html:27
+#: modules/snapshot/templates/snapshot_manage.html:32
#: modules/snapshot/templates/snapshot_rollback.html:25
msgid "Number"
msgstr ""
#: modules/snapshot/templates/snapshot_delete_selected.html:18
-#: modules/snapshot/templates/snapshot_manage.html:28
+#: modules/snapshot/templates/snapshot_manage.html:33
#: modules/snapshot/templates/snapshot_rollback.html:26
msgid "Date"
msgstr ""
#: modules/snapshot/templates/snapshot_delete_selected.html:42
-#: modules/snapshot/templates/snapshot_manage.html:20
+#: modules/snapshot/templates/snapshot_manage.html:25
#: modules/snapshot/views.py:197
msgid "Delete Snapshots"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:17
+#: modules/snapshot/templates/snapshot_manage.html:22
msgid "Create Snapshot"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:30
+#: modules/snapshot/templates/snapshot_manage.html:35
msgid "Rollback"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:40
+#: modules/snapshot/templates/snapshot_manage.html:45
msgid "will be used at next boot"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:45
+#: modules/snapshot/templates/snapshot_manage.html:50
msgid "in use"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:54
+#: modules/snapshot/templates/snapshot_manage.html:59
#, python-format
msgid "Rollback to snapshot #%(number)s"
msgstr ""
@@ -7318,27 +7383,27 @@ msgstr ""
msgid "Tor"
msgstr ""
-#: modules/tor/__init__.py:78
+#: modules/tor/__init__.py:77
msgid "Tor Onion Service"
msgstr ""
-#: modules/tor/__init__.py:82
+#: modules/tor/__init__.py:81
msgid "Tor Bridge Relay"
msgstr ""
-#: modules/tor/__init__.py:140
+#: modules/tor/__init__.py:139
msgid "Tor relay port available"
msgstr ""
-#: modules/tor/__init__.py:152
+#: modules/tor/__init__.py:151
msgid "Obfs3 transport registered"
msgstr ""
-#: modules/tor/__init__.py:163
+#: modules/tor/__init__.py:162
msgid "Obfs4 transport registered"
msgstr ""
-#: modules/tor/__init__.py:176
+#: modules/tor/__init__.py:175
msgid "Onion service is version 3"
msgstr ""
@@ -7428,7 +7493,7 @@ msgstr ""
msgid "Anonymity network"
msgstr ""
-#: modules/tor/templates/tor.html:18
+#: modules/tor/templates/tor.html:23
msgid "Onion Service"
msgstr ""
@@ -7990,39 +8055,39 @@ msgstr ""
msgid "Edit user %(username)s"
msgstr ""
-#: modules/users/templates/users_update.html:12
+#: modules/users/templates/users_update.html:17
#, python-format
msgid "Edit User %(username)s"
msgstr ""
-#: modules/users/templates/users_update.html:20
+#: modules/users/templates/users_update.html:25
#, python-format
msgid ""
"Use the change password form to "
"change the password."
msgstr ""
-#: modules/users/templates/users_update.html:32
+#: modules/users/templates/users_update.html:37
#: templates/language-selection.html:17
msgid "Save Changes"
msgstr ""
-#: modules/users/templates/users_update.html:41
+#: modules/users/templates/users_update.html:46
#, python-format
msgid "Delete user %(username)s and all the user's files?"
msgstr ""
-#: modules/users/templates/users_update.html:51
+#: modules/users/templates/users_update.html:56
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
msgstr ""
-#: modules/users/templates/users_update.html:60
+#: modules/users/templates/users_update.html:65
msgid "Delete user and files"
msgstr ""
-#: modules/users/templates/users_update.html:63
+#: modules/users/templates/users_update.html:68
msgid "Cancel"
msgstr ""
@@ -8657,11 +8722,11 @@ msgstr ""
msgid "Service %(service_name)s is not running."
msgstr ""
-#: templates/apps.html:29
+#: templates/apps.html:33
msgid "Search with tags"
msgstr ""
-#: templates/apps.html:42
+#: templates/apps.html:46
msgid "Clear all tags"
msgstr ""
@@ -8671,35 +8736,35 @@ msgid ""
"is free software that lets you install and manage server apps with ease."
msgstr ""
-#: templates/base.html:116
+#: templates/base.html:118
msgid " Home"
msgstr ""
-#: templates/base.html:124
+#: templates/base.html:126
msgid " Apps"
msgstr ""
-#: templates/base.html:133
+#: templates/base.html:135
msgid " System"
msgstr ""
-#: templates/base.html:172 templates/base.html:173
+#: templates/base.html:174 templates/base.html:175
msgid "Change password"
msgstr ""
-#: templates/base.html:186 templates/base.html:187
+#: templates/base.html:188 templates/base.html:189
msgid "Shut down"
msgstr ""
-#: templates/base.html:197 templates/base.html:235
+#: templates/base.html:199 templates/base.html:237
msgid "Log out"
msgstr ""
-#: templates/base.html:206 templates/base.html:209
+#: templates/base.html:208 templates/base.html:211
msgid "Select language"
msgstr ""
-#: templates/base.html:224 templates/base.html:226
+#: templates/base.html:226 templates/base.html:228
msgid "Log in"
msgstr ""
@@ -8901,20 +8966,20 @@ msgid ""
"installed freshly again."
msgstr ""
-#: views.py:85
+#: views.py:84
msgid "Here"
msgstr ""
-#: views.py:374
+#: views.py:376
msgid "Setting unchanged"
msgstr ""
-#: views.py:609
+#: views.py:610
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""
-#: web_framework.py:114
+#: web_framework.py:122
msgid "Gujarati"
msgstr ""
diff --git a/plinth/locale/be/LC_MESSAGES/django.po b/plinth/locale/be/LC_MESSAGES/django.po
index 7a7b36786..86bdc6bc2 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-12-30 20:05-0500\n"
+"POT-Creation-Date: 2025-01-13 20:33-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -21,7 +21,7 @@ msgstr ""
msgid "Static configuration {etc_path} is setup properly"
msgstr ""
-#: context_processors.py:21 views.py:169
+#: context_processors.py:21 views.py:168
msgid "FreedomBox"
msgstr ""
@@ -94,32 +94,32 @@ msgstr ""
msgid "Use the language preference set in the browser"
msgstr ""
-#: menu.py:112 templates/base.html:119
+#: menu.py:116 templates/base.html:121
msgid "Home"
msgstr ""
-#: menu.py:113 templates/base.html:128
+#: menu.py:117 templates/base.html:130
msgid "Apps"
msgstr ""
-#: menu.py:115 menu.py:122 templates/base.html:137
+#: menu.py:119 menu.py:126 templates/base.html:139
msgid "System"
msgstr ""
-#: menu.py:118
+#: menu.py:122
msgid "Visibility"
msgstr ""
-#: menu.py:120
+#: menu.py:124
msgid "Data"
msgstr ""
-#: menu.py:124 modules/networks/templates/connection_show.html:274
+#: menu.py:128 modules/networks/templates/connection_show.html:274
#: modules/security/__init__.py:35 modules/upgrades/manifest.py:10
msgid "Security"
msgstr ""
-#: menu.py:126
+#: menu.py:130
msgid "Administration"
msgstr ""
@@ -214,7 +214,7 @@ msgid "Enable a Backup Schedule"
msgstr ""
#: modules/backups/__init__.py:181 modules/backups/__init__.py:228
-#: modules/privacy/__init__.py:79 modules/storage/__init__.py:326
+#: modules/privacy/__init__.py:84 modules/storage/__init__.py:326
#: modules/upgrades/__init__.py:149
#, python-brace-format
msgid "Go to {app_name}"
@@ -281,23 +281,25 @@ msgstr ""
msgid "Hour of the day to trigger backup operation"
msgstr ""
-#: modules/backups/forms.py:80
-msgid "In 24 hour format."
+#: modules/backups/forms.py:81
+msgid ""
+"In 24 hour format. Services may become temporarily unavailable while running "
+"backup operation at this time of the day."
msgstr ""
-#: modules/backups/forms.py:83 modules/backups/forms.py:105
+#: modules/backups/forms.py:85 modules/backups/forms.py:107
msgid "Included apps"
msgstr ""
-#: modules/backups/forms.py:83 modules/backups/forms.py:105
+#: modules/backups/forms.py:85 modules/backups/forms.py:107
msgid "Apps to include in the backup"
msgstr ""
-#: modules/backups/forms.py:99
+#: modules/backups/forms.py:101
msgid "Repository"
msgstr ""
-#: modules/backups/forms.py:101
+#: modules/backups/forms.py:103
#: modules/backups/templates/backups_delete.html:17 modules/ikiwiki/forms.py:15
#: modules/networks/templates/connection_show.html:75
#: modules/samba/templates/samba.html:66
@@ -305,23 +307,23 @@ msgstr ""
msgid "Name"
msgstr ""
-#: modules/backups/forms.py:102
+#: modules/backups/forms.py:104
msgid "(Optional) Set a name for this backup archive"
msgstr ""
-#: modules/backups/forms.py:123
+#: modules/backups/forms.py:125
msgid "Select the apps you want to restore"
msgstr ""
-#: modules/backups/forms.py:139 modules/kiwix/forms.py:21
+#: modules/backups/forms.py:141 modules/kiwix/forms.py:21
msgid "Upload File"
msgstr ""
-#: modules/backups/forms.py:141
+#: modules/backups/forms.py:143
msgid "Backup files have to be in .tar.gz format"
msgstr ""
-#: modules/backups/forms.py:143
+#: modules/backups/forms.py:145
#, python-brace-format
msgid ""
"Select the backup file to upload from the local computer. This must be a "
@@ -329,109 +331,109 @@ msgid ""
"{box_name}. It must have a .tar.gz extension."
msgstr ""
-#: modules/backups/forms.py:152
+#: modules/backups/forms.py:154
msgid "Repository path format incorrect."
msgstr ""
-#: modules/backups/forms.py:159
+#: modules/backups/forms.py:161
#, python-brace-format
msgid "Invalid username: {username}"
msgstr ""
-#: modules/backups/forms.py:169
+#: modules/backups/forms.py:171
#, python-brace-format
msgid "Invalid hostname: {hostname}"
msgstr ""
-#: modules/backups/forms.py:173
+#: modules/backups/forms.py:175
#, python-brace-format
msgid "Invalid directory path: {dir_path}"
msgstr ""
-#: modules/backups/forms.py:179 modules/letsencrypt/manifest.py:11
+#: modules/backups/forms.py:181 modules/letsencrypt/manifest.py:11
msgid "Encryption"
msgstr ""
-#: modules/backups/forms.py:180
+#: modules/backups/forms.py:182
msgid ""
"\"Key in Repository\" means that a password-protected key is stored with the "
"backup."
msgstr ""
-#: modules/backups/forms.py:182
+#: modules/backups/forms.py:184
msgid "Key in Repository"
msgstr ""
-#: modules/backups/forms.py:182
-#: modules/matrixsynapse/templates/matrix-synapse.html:62
+#: modules/backups/forms.py:184
+#: modules/matrixsynapse/templates/matrix-synapse.html:67
#: modules/searx/forms.py:14
msgid "None"
msgstr ""
-#: modules/backups/forms.py:184 modules/networks/forms.py:340
+#: modules/backups/forms.py:186 modules/networks/forms.py:340
msgid "Passphrase"
msgstr ""
-#: modules/backups/forms.py:185
+#: modules/backups/forms.py:187
msgid "Passphrase; Only needed when using encryption."
msgstr ""
-#: modules/backups/forms.py:188
+#: modules/backups/forms.py:190
msgid "Confirm Passphrase"
msgstr ""
-#: modules/backups/forms.py:188
+#: modules/backups/forms.py:190
msgid "Repeat the passphrase."
msgstr ""
-#: modules/backups/forms.py:199
+#: modules/backups/forms.py:201
msgid "The entered encryption passphrases do not match"
msgstr ""
-#: modules/backups/forms.py:203
+#: modules/backups/forms.py:205
msgid "Passphrase is needed for encryption."
msgstr ""
-#: modules/backups/forms.py:238
+#: modules/backups/forms.py:240
msgid "Select Disk or Partition"
msgstr ""
-#: modules/backups/forms.py:239
+#: modules/backups/forms.py:241
msgid "Backups will be stored in the directory FreedomBoxBackups"
msgstr ""
-#: modules/backups/forms.py:248
+#: modules/backups/forms.py:250
msgid "SSH Repository Path"
msgstr ""
-#: modules/backups/forms.py:249
+#: modules/backups/forms.py:251
msgid ""
"Path of a new or existing repository. Example: user@host:~/path/to/repo/"
"i>"
msgstr ""
-#: modules/backups/forms.py:253
+#: modules/backups/forms.py:255
msgid "SSH server password"
msgstr ""
-#: modules/backups/forms.py:254
+#: modules/backups/forms.py:256
msgid ""
"Password of the SSH Server.
SSH key-based authentication is not yet "
"possible."
msgstr ""
-#: modules/backups/forms.py:273
+#: modules/backups/forms.py:275
msgid "Remote backup repository already exists."
msgstr ""
-#: modules/backups/forms.py:279
+#: modules/backups/forms.py:281
msgid "Select verified SSH public key"
msgstr ""
#: modules/backups/manifest.py:14
#: modules/backups/templates/backups_repository.html:92
#: modules/backups/templates/backups_restore.html:27
-#: modules/backups/views.py:240 modules/snapshot/manifest.py:14
+#: modules/backups/views.py:238 modules/snapshot/manifest.py:14
#: templates/toolbar.html:44 templates/toolbar.html:45
msgid "Restore"
msgstr ""
@@ -501,16 +503,20 @@ msgstr ""
msgid "Backup system is busy with another operation."
msgstr ""
+#: modules/backups/privileged.py:92
+msgid "Not enough space left on the disk or remote location."
+msgstr ""
+
#: modules/backups/repository.py:94
msgid "Existing repository is not encrypted."
msgstr ""
-#: modules/backups/repository.py:266
+#: modules/backups/repository.py:289
#, python-brace-format
msgid "{box_name} storage"
msgstr ""
-#: modules/backups/templates/backups.html:17 modules/backups/views.py:125
+#: modules/backups/templates/backups.html:17 modules/backups/views.py:124
msgid "Create a new backup"
msgstr ""
@@ -554,10 +560,9 @@ msgstr ""
#: modules/help/templates/statuslog.html:24
#: modules/kiwix/templates/kiwix-add-package.html:26
#: modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:28
-#: modules/matrixsynapse/templates/matrix-synapse.html:76
+#: modules/matrixsynapse/templates/matrix-synapse.html:81
#: modules/names/templates/names.html:128
#: modules/networks/templates/connection_show.html:24
-#: modules/nextcloud/__init__.py:48
#: modules/pagekite/templates/pagekite_custom_services.html:16
#: modules/power/templates/power_busy_warning.html:11
#: modules/snapshot/templates/snapshot_not_supported.html:13
@@ -696,107 +701,107 @@ msgstr ""
msgid "Verify Host"
msgstr ""
-#: modules/backups/views.py:69
+#: modules/backups/views.py:68
msgid "Backup schedule updated."
msgstr ""
-#: modules/backups/views.py:88
+#: modules/backups/views.py:87
msgid "Schedule Backups"
msgstr ""
-#: modules/backups/views.py:150
+#: modules/backups/views.py:148
msgid "Archive created."
msgstr ""
-#: modules/backups/views.py:162
+#: modules/backups/views.py:160
msgid "Delete Archive"
msgstr ""
-#: modules/backups/views.py:175
+#: modules/backups/views.py:173
msgid "Archive deleted."
msgstr ""
-#: modules/backups/views.py:189
+#: modules/backups/views.py:187
msgid "Upload and restore a backup"
msgstr ""
-#: modules/backups/views.py:218
+#: modules/backups/views.py:216
msgid "Upload successful."
msgstr ""
-#: modules/backups/views.py:256
+#: modules/backups/views.py:254
msgid "No backup file found."
msgstr ""
-#: modules/backups/views.py:264
+#: modules/backups/views.py:262
msgid "Restore from uploaded file"
msgstr ""
-#: modules/backups/views.py:278 modules/backups/views.py:299
+#: modules/backups/views.py:276 modules/backups/views.py:297
msgid "Restored files from backup."
msgstr ""
-#: modules/backups/views.py:329
+#: modules/backups/views.py:327
msgid "No additional disks available to add a repository."
msgstr ""
-#: modules/backups/views.py:337
+#: modules/backups/views.py:335
msgid "Create backup repository"
msgstr ""
-#: modules/backups/views.py:352
+#: modules/backups/views.py:350
msgid "Added new repository."
msgstr ""
-#: modules/backups/views.py:366
+#: modules/backups/views.py:364
msgid "Create remote backup repository"
msgstr ""
-#: modules/backups/views.py:388
+#: modules/backups/views.py:386
msgid "Added new remote SSH repository."
msgstr ""
-#: modules/backups/views.py:410
+#: modules/backups/views.py:408
msgid "Verify SSH hostkey"
msgstr ""
-#: modules/backups/views.py:436
+#: modules/backups/views.py:434
msgid "SSH host already verified."
msgstr ""
-#: modules/backups/views.py:447
+#: modules/backups/views.py:445
msgid "SSH host verified."
msgstr ""
-#: modules/backups/views.py:463
+#: modules/backups/views.py:461
msgid "SSH host public key could not be verified."
msgstr ""
-#: modules/backups/views.py:465
+#: modules/backups/views.py:463
msgid "Authentication to remote server failed."
msgstr ""
-#: modules/backups/views.py:467
+#: modules/backups/views.py:465
msgid "Error establishing connection to server: {}"
msgstr ""
-#: modules/backups/views.py:478
+#: modules/backups/views.py:476
msgid "Repository removed."
msgstr ""
-#: modules/backups/views.py:492
+#: modules/backups/views.py:490
msgid "Remove Repository"
msgstr ""
-#: modules/backups/views.py:502
+#: modules/backups/views.py:500
msgid "Repository removed. Backups were not deleted."
msgstr ""
-#: modules/backups/views.py:513
+#: modules/backups/views.py:511
msgid "Unmounting failed!"
msgstr ""
-#: modules/backups/views.py:529 modules/backups/views.py:533
+#: modules/backups/views.py:527 modules/backups/views.py:531
msgid "Mounting failed"
msgstr ""
@@ -905,7 +910,7 @@ msgstr ""
msgid "No passwords currently configured."
msgstr ""
-#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:91
+#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:83
#: modules/miniflux/forms.py:14 modules/networks/forms.py:282
#: modules/shadowsocks/forms.py:32 modules/shadowsocksserver/forms.py:37
msgid "Password"
@@ -1023,8 +1028,10 @@ msgstr ""
msgid "Serving Domains"
msgstr ""
-#: modules/bind/templates/bind.html:17 modules/email/templates/email.html:38
-#: modules/ikiwiki/forms.py:12 modules/names/templates/names.html:18
+#: modules/bind/templates/bind.html:17
+#: modules/email/templates/email-dns.html:25
+#: modules/email/templates/email-dns.html:78 modules/ikiwiki/forms.py:12
+#: modules/names/templates/names.html:18
#: modules/networks/templates/connection_show.html:95
#: modules/samba/templates/samba.html:65
#: modules/storage/templates/storage.html:26
@@ -1054,7 +1061,7 @@ msgstr ""
#: modules/minetest/views.py:55 modules/mumble/views.py:37
#: modules/names/views.py:66 modules/names/views.py:95
#: modules/names/views.py:129 modules/pagekite/forms.py:74
-#: modules/privacy/views.py:50 modules/quassel/views.py:29
+#: modules/privacy/views.py:55 modules/quassel/views.py:29
#: modules/roundcube/views.py:32 modules/rssbridge/views.py:31
#: modules/shadowsocks/views.py:52 modules/shadowsocksserver/views.py:48
#: modules/ssh/views.py:62 modules/transmission/views.py:43
@@ -1637,7 +1644,7 @@ msgid "Test"
msgstr ""
#: modules/diagnostics/templates/diagnostics_results.html:12
-#: modules/dynamicdns/templates/dynamicdns.html:20
+#: modules/dynamicdns/templates/dynamicdns.html:25
msgid "Result"
msgstr ""
@@ -1650,7 +1657,7 @@ msgstr ""
msgid "App {app_id} is not installed, cannot repair"
msgstr ""
-#: modules/dynamicdns/__init__.py:28
+#: modules/dynamicdns/__init__.py:29
#, python-brace-format
msgid ""
"If your Internet provider changes your IP address periodically (i.e. every "
@@ -1658,7 +1665,7 @@ msgid ""
"prevent others from finding services which are provided by this {box_name}."
msgstr ""
-#: modules/dynamicdns/__init__.py:32
+#: modules/dynamicdns/__init__.py:33
msgid ""
"The solution is to assign a DNS name to your IP address and update the DNS "
"name every time your IP is changed by your Internet provider. Dynamic DNS "
@@ -1669,7 +1676,7 @@ msgid ""
"IP address."
msgstr ""
-#: modules/dynamicdns/__init__.py:40
+#: modules/dynamicdns/__init__.py:41
msgid ""
"If you are looking for a free dynamic DNS account, you may find a free "
"GnuDIP service at ddns."
@@ -1677,11 +1684,17 @@ msgid ""
"href='http://freedns.afraid.org/' target='_blank'>freedns.afraid.org."
msgstr ""
-#: modules/dynamicdns/__init__.py:61
+#: modules/dynamicdns/__init__.py:46
+msgid ""
+"This service uses an external service to lookup public IP address. This can "
+"be configured in the privacy app."
+msgstr ""
+
+#: modules/dynamicdns/__init__.py:64
msgid "Dynamic DNS Client"
msgstr ""
-#: modules/dynamicdns/__init__.py:75
+#: modules/dynamicdns/__init__.py:78
msgid "Dynamic Domain Name"
msgstr ""
@@ -1725,84 +1738,71 @@ msgid "Leave this field empty if you want to keep your current password."
msgstr ""
#: modules/dynamicdns/forms.py:43
-#, python-brace-format
-msgid ""
-"Optional Value. If your {box_name} is not connected directly to the Internet "
-"(i.e. connected to a NAT router) this URL is used to determine the real IP "
-"address. The URL should simply return the IP where the client comes from "
-"(example: https://ddns.freedombox.org/ip/)."
-msgstr ""
-
-#: modules/dynamicdns/forms.py:51
msgid "The username that was used when the account was created."
msgstr ""
-#: modules/dynamicdns/forms.py:54
+#: modules/dynamicdns/forms.py:46
msgid "GnuDIP"
msgstr ""
-#: modules/dynamicdns/forms.py:57
+#: modules/dynamicdns/forms.py:49
msgid "Other update URL"
msgstr ""
-#: modules/dynamicdns/forms.py:59
+#: modules/dynamicdns/forms.py:51
msgid "Service Type"
msgstr ""
-#: modules/dynamicdns/forms.py:64
+#: modules/dynamicdns/forms.py:56
msgid "GnuDIP Server Address"
msgstr ""
-#: modules/dynamicdns/forms.py:67
+#: modules/dynamicdns/forms.py:59
msgid "Invalid server name"
msgstr ""
-#: modules/dynamicdns/forms.py:70
+#: modules/dynamicdns/forms.py:62
msgid "Update URL"
msgstr ""
-#: modules/dynamicdns/forms.py:74
+#: modules/dynamicdns/forms.py:66
msgid "Accept all SSL certificates"
msgstr ""
-#: modules/dynamicdns/forms.py:78
+#: modules/dynamicdns/forms.py:70
msgid "Use HTTP basic authentication"
msgstr ""
-#: modules/dynamicdns/forms.py:82 modules/names/__init__.py:68
+#: modules/dynamicdns/forms.py:74 modules/names/__init__.py:68
#: modules/names/forms.py:106 modules/names/templates/names.html:19
msgid "Domain Name"
msgstr ""
-#: modules/dynamicdns/forms.py:85 modules/names/forms.py:99
+#: modules/dynamicdns/forms.py:77 modules/names/forms.py:99
#: modules/names/forms.py:117
msgid "Invalid domain name"
msgstr ""
-#: modules/dynamicdns/forms.py:88 modules/miniflux/forms.py:11
+#: modules/dynamicdns/forms.py:80 modules/miniflux/forms.py:11
#: modules/networks/forms.py:281 modules/users/forms.py:130
msgid "Username"
msgstr ""
-#: modules/dynamicdns/forms.py:95 modules/networks/forms.py:284
+#: modules/dynamicdns/forms.py:87 modules/networks/forms.py:284
msgid "Show password"
msgstr ""
-#: modules/dynamicdns/forms.py:99
-msgid "URL to look up public IP"
-msgstr ""
-
-#: modules/dynamicdns/forms.py:104
+#: modules/dynamicdns/forms.py:91
msgid "Use IPv6 instead of IPv4"
msgstr ""
-#: modules/dynamicdns/forms.py:123
+#: modules/dynamicdns/forms.py:110
msgid "This field is required."
msgstr ""
#: modules/dynamicdns/manifest.py:17
-#: modules/dynamicdns/templates/dynamicdns.html:18
-#: modules/email/templates/email.html:35
+#: modules/dynamicdns/templates/dynamicdns.html:23
+#: modules/email/templates/email-dns.html:22
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64
msgid "Domain"
@@ -1816,37 +1816,37 @@ msgstr ""
msgid "Needs public IP"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:11
-#: modules/ejabberd/templates/ejabberd.html:13 modules/firewall/manifest.py:10
+#: modules/dynamicdns/templates/dynamicdns.html:16
+#: modules/ejabberd/templates/ejabberd.html:18 modules/firewall/manifest.py:10
#: modules/firewall/templates/firewall.html:16
#: modules/firewall/templates/firewall.html:22
#: modules/letsencrypt/templates/letsencrypt.html:17
-#: modules/matrixsynapse/templates/matrix-synapse.html:12
+#: modules/matrixsynapse/templates/matrix-synapse.html:17
#: modules/networks/templates/connection_show.html:258
-#: modules/samba/templates/samba.html:67 modules/tor/templates/tor.html:19
+#: modules/samba/templates/samba.html:67 modules/tor/templates/tor.html:24
#: modules/upgrades/templates/upgrades_configure.html:14
#: modules/wireguard/templates/wireguard_show_client.html:48
#: modules/wireguard/templates/wireguard_show_server.html:47
msgid "Status"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:19
+#: modules/dynamicdns/templates/dynamicdns.html:24
msgid "Last update"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:21
+#: modules/dynamicdns/templates/dynamicdns.html:26
msgid "IP Address"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:32
+#: modules/dynamicdns/templates/dynamicdns.html:37
msgid "Success"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:36
+#: modules/dynamicdns/templates/dynamicdns.html:41
msgid "Failed"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:52
+#: modules/dynamicdns/templates/dynamicdns.html:57
msgid "No status available."
msgstr ""
@@ -1994,7 +1994,7 @@ msgstr ""
msgid "XMPP"
msgstr ""
-#: modules/ejabberd/templates/ejabberd.html:18
+#: modules/ejabberd/templates/ejabberd.html:23
#, python-format
msgid ""
"Your XMPP server domain is set to %(domain_name)s. User IDs will look "
@@ -2002,7 +2002,7 @@ msgid ""
"system Name Services page."
msgstr ""
-#: modules/ejabberd/templates/ejabberd.html:25
+#: modules/ejabberd/templates/ejabberd.html:30
#, python-format
msgid ""
"Your XMPP server domain is not set. You can setup your domain on the system "
@@ -2050,12 +2050,16 @@ msgstr ""
msgid "Postfix/Dovecot"
msgstr ""
-#: modules/email/__init__.py:83
-msgid "My Email Aliases"
+#: modules/email/__init__.py:80
+msgid "More emails"
msgstr ""
-#: modules/email/__init__.py:84
-msgid "Manage Aliases for Mailbox"
+#: modules/email/__init__.py:80
+msgid "Same mailbox"
+msgstr ""
+
+#: modules/email/__init__.py:82
+msgid "My Email Aliases"
msgstr ""
#: modules/email/forms.py:25
@@ -2134,45 +2138,90 @@ msgstr ""
msgid "Add"
msgstr ""
-#: modules/email/templates/email.html:10
-msgid "Manage Spam"
+#: modules/email/templates/email-dns.html:9
+msgid "DNS Records for domain:"
msgstr ""
-#: modules/email/templates/email.html:22
-msgid "DNS Records"
-msgstr ""
-
-#: modules/email/templates/email.html:25
+#: modules/email/templates/email-dns.html:12
msgid ""
-"The following DNS records must be added manually on your primary domain for "
-"the mail server to work properly."
+"The following DNS records must be added manually on this domain for the mail "
+"server to work properly for this domain."
msgstr ""
-#: modules/email/templates/email.html:36
+#: modules/email/templates/email-dns.html:23
+#: modules/email/templates/email-dns.html:77
msgid "TTL"
msgstr ""
-#: modules/email/templates/email.html:37
+#: modules/email/templates/email-dns.html:24
msgid "Class"
msgstr ""
-#: modules/email/templates/email.html:39
+#: modules/email/templates/email-dns.html:26
msgid "Priority"
msgstr ""
-#: modules/email/templates/email.html:40
+#: modules/email/templates/email-dns.html:27
msgid "Weight"
msgstr ""
-#: modules/email/templates/email.html:41
+#: modules/email/templates/email-dns.html:28
#: modules/minetest/templates/minetest.html:18
msgid "Port"
msgstr ""
-#: modules/email/templates/email.html:42
+#: modules/email/templates/email-dns.html:29
+#: modules/email/templates/email-dns.html:79
msgid "Host/Target/Value"
msgstr ""
+#: modules/email/templates/email-dns.html:50
+msgid "Reverse DNS Records for IP Addresses"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:53
+#, python-format
+msgid ""
+"If your %(box_name)s runs on a cloud service infrastructure, you should "
+"configure "
+"Reverse DNS lookup. This isn't mandatory, however, it greatly improves "
+"email deliverability. Reverse DNS isn't configured where your regular DNS "
+"is. You should look for it in the settings of your VPS/ISP. Some providers "
+"preconfigure the IP address part for you and you only have to set the domain "
+"part. Only one of your domains can have Revese DNS lookup configured unless "
+"you have multiple public IP addresses."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:66
+msgid ""
+"An external service is used to lookup public IP address to show in the "
+"following section. This can be configured in the privacy app."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:76
+msgid "Host"
+msgstr ""
+
+#: modules/email/templates/email.html:10
+msgid "Manage Spam"
+msgstr ""
+
+#: modules/email/templates/email.html:20 modules/names/manifest.py:11
+#: modules/names/templates/names.html:12
+msgid "Domains"
+msgstr ""
+
+#: modules/email/templates/email.html:23
+msgid ""
+"The following domains are configured. View details to see the list of DNS "
+"entries to be made for the domain."
+msgstr ""
+
+#: modules/email/templates/email.html:35
+#, python-format
+msgid "View domain: %(domain)s"
+msgstr ""
+
#: modules/featherwiki/__init__.py:25
#, python-brace-format
msgid ""
@@ -2415,7 +2464,7 @@ msgstr ""
msgid "Port {name} ({details}) unavailable for external networks"
msgstr ""
-#: modules/firewall/manifest.py:10 modules/tor/templates/tor.html:20
+#: modules/firewall/manifest.py:10 modules/tor/templates/tor.html:25
msgid "Ports"
msgstr ""
@@ -2742,9 +2791,9 @@ msgstr ""
msgid "Contribute"
msgstr ""
-#: modules/help/__init__.py:53 templates/base.html:215 templates/base.html:218
+#: modules/help/__init__.py:53 templates/base.html:217 templates/base.html:220
#: templates/help-menu.html:46 templates/help-menu.html:47
-#: templates/index.html:98
+#: templates/index.html:96
msgid "About"
msgstr ""
@@ -2877,7 +2926,7 @@ msgstr ""
#: modules/help/templates/help_contribute.html:42
#: modules/power/templates/power_restart.html:27
-#: modules/power/templates/power_shutdown.html:26 templates/app-header.html:68
+#: modules/power/templates/power_shutdown.html:26 templates/app-header.html:65
msgid "Learn more..."
msgstr ""
@@ -3199,7 +3248,7 @@ msgid "Web conference"
msgstr ""
#: modules/janus/templates/janus_video_room.html:205
-#: modules/jsxc/templates/jsxc_launch.html:117 templates/base.html:271
+#: modules/jsxc/templates/jsxc_launch.html:117 templates/base.html:273
msgid "JavaScript license information"
msgstr ""
@@ -3563,7 +3612,7 @@ msgid ""
"least one domain to be able to use Matrix Synapse."
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:15
+#: modules/matrixsynapse/templates/matrix-synapse.html:20
#, python-format
msgid ""
"The Matrix server domain is set to %(domain_name)s. User IDs will "
@@ -3571,43 +3620,43 @@ msgid ""
"the initial setup is currently not supported."
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:22
+#: modules/matrixsynapse/templates/matrix-synapse.html:27
msgid ""
"New users can be registered from any client if public registration is "
"enabled."
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:29
+#: modules/matrixsynapse/templates/matrix-synapse.html:34
msgid ""
"New users must use one of the following tokens for verification during "
"account registration:"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:38
+#: modules/matrixsynapse/templates/matrix-synapse.html:43
msgid "Registration Token"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:39
+#: modules/matrixsynapse/templates/matrix-synapse.html:44
msgid "Uses Allowed"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:40
+#: modules/matrixsynapse/templates/matrix-synapse.html:45
msgid "Pending Registrations"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:41
+#: modules/matrixsynapse/templates/matrix-synapse.html:46
msgid "Completed Registrations"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:42
+#: modules/matrixsynapse/templates/matrix-synapse.html:47
msgid "Expiry Time"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:51
+#: modules/matrixsynapse/templates/matrix-synapse.html:56
msgid "Unlimited"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:80
+#: modules/matrixsynapse/templates/matrix-synapse.html:85
#, python-format
msgid ""
"The configured domain name is using a self-signed certificate. Federation "
@@ -4016,23 +4065,27 @@ msgstr ""
msgid "An error occurred during password reset: {error}."
msgstr ""
-#: modules/mumble/__init__.py:25
+#: modules/mumble/__init__.py:27
msgid ""
"Mumble is an open source, low-latency, encrypted, high quality voice chat "
"software."
msgstr ""
-#: modules/mumble/__init__.py:27
+#: modules/mumble/__init__.py:29
msgid ""
"You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your "
"desktop and mobile devices are available."
msgstr ""
-#: modules/mumble/__init__.py:45 modules/mumble/manifest.py:9
+#: modules/mumble/__init__.py:47 modules/mumble/manifest.py:9
msgid "Mumble"
msgstr ""
+#: modules/mumble/__init__.py:158
+msgid "Mumble server is configured"
+msgstr ""
+
#: modules/mumble/forms.py:30
msgid "Set SuperUser Password"
msgstr ""
@@ -4157,10 +4210,6 @@ msgid ""
"or less."
msgstr ""
-#: modules/names/manifest.py:11 modules/names/templates/names.html:12
-msgid "Domains"
-msgstr ""
-
#: modules/names/manifest.py:13
msgid "DNS Resolution"
msgstr ""
@@ -4657,7 +4706,7 @@ msgstr ""
#: modules/networks/templates/connection_show.html:40
#: modules/wireguard/templates/wireguard_show_client.html:72
#: modules/wireguard/templates/wireguard_show_server.html:73
-#: templates/base.html:165 templates/base.html:166
+#: templates/base.html:167 templates/base.html:168
msgid "Edit"
msgstr ""
@@ -4710,7 +4759,7 @@ msgstr ""
#: modules/networks/templates/connection_show.html:107
#: modules/snapshot/templates/snapshot_delete_selected.html:19
-#: modules/snapshot/templates/snapshot_manage.html:29
+#: modules/snapshot/templates/snapshot_manage.html:34
#: modules/snapshot/templates/snapshot_rollback.html:27
msgid "Description"
msgstr ""
@@ -4788,8 +4837,8 @@ msgstr ""
#: modules/networks/templates/connection_show.html:264
#: modules/networks/templates/connections_fields_privacy.html:15
-#: modules/openvpn/manifest.py:60 modules/privacy/__init__.py:32
-#: modules/privacy/__init__.py:72 modules/wireguard/manifest.py:45
+#: modules/openvpn/manifest.py:60 modules/privacy/__init__.py:38
+#: modules/privacy/__init__.py:77 modules/wireguard/manifest.py:45
msgid "Privacy"
msgstr ""
@@ -4873,7 +4922,7 @@ msgstr ""
msgid "Computer"
msgstr ""
-#: modules/networks/templates/connections_edit.html:19
+#: modules/networks/templates/connections_edit.html:24
#: modules/networks/views.py:253 modules/networks/views.py:341
msgid "Edit Connection"
msgstr ""
@@ -4884,7 +4933,7 @@ msgid "Error:"
msgstr ""
#: modules/networks/templates/connections_fields.html:20
-#: modules/users/templates/users_update.html:46 templates/messages.html:30
+#: modules/users/templates/users_update.html:51 templates/messages.html:30
msgid "Close"
msgstr ""
@@ -4976,7 +5025,7 @@ msgstr ""
#: modules/networks/templates/network_topology_update.html:18
#: modules/networks/templates/router_configuration_update.html:19
#: modules/pagekite/templates/pagekite_custom_services.html:33
-#: modules/sharing/templates/sharing_add_edit.html:20 templates/form.html:19
+#: modules/sharing/templates/sharing_add_edit.html:25 templates/form.html:19
msgid "Submit"
msgstr ""
@@ -5370,11 +5419,7 @@ msgid ""
"performed following an independent cycle."
msgstr ""
-#: modules/nextcloud/__init__.py:48
-msgid "This app is experimental."
-msgstr ""
-
-#: modules/nextcloud/__init__.py:66 modules/nextcloud/manifest.py:11
+#: modules/nextcloud/__init__.py:65 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
msgid "Nextcloud"
msgstr ""
@@ -5540,7 +5585,7 @@ msgstr ""
msgid "PageKite"
msgstr ""
-#: modules/pagekite/__init__.py:73
+#: modules/pagekite/__init__.py:72
msgid "PageKite Domain"
msgstr ""
@@ -5719,8 +5764,8 @@ msgstr ""
msgid "Shutdown"
msgstr ""
-#: modules/power/templates/power.html:15 templates/base.html:180
-#: templates/base.html:181
+#: modules/power/templates/power.html:15 templates/base.html:182
+#: templates/base.html:183
msgid "Restart"
msgstr ""
@@ -5756,23 +5801,33 @@ msgstr ""
msgid "Shut Down Now"
msgstr ""
-#: modules/privacy/__init__.py:15
+#: modules/privacy/__init__.py:21
msgid "Manage system-wide privacy settings."
msgstr ""
-#: modules/privacy/__init__.py:70
+#: modules/privacy/__init__.py:75
msgid "Please update privacy settings to match your preferences."
msgstr ""
-#: modules/privacy/__init__.py:75
+#: modules/privacy/__init__.py:80
msgid "Review privacy setting"
msgstr ""
-#: modules/privacy/forms.py:16
+#: modules/privacy/forms.py:17
+#, python-brace-format
+msgid ""
+"Optional Value. This URL is used to determine the publicly visible IP "
+"address of your {box_name}. The URL should simply return the IPv4 or IPv6 "
+"address where the client request comes from. Default is to use the service "
+"provided by the FreedomBox Foundation at https://ddns.freedombox.org/ip/. If "
+"empty, lookups are disabled and some functionality will fail."
+msgstr ""
+
+#: modules/privacy/forms.py:25
msgid "Periodically submit a list of apps used (suggested)"
msgstr ""
-#: modules/privacy/forms.py:18
+#: modules/privacy/forms.py:27
#, python-brace-format
msgid ""
"Help Debian/{box_name} developers by participating in the Popularity Contest "
@@ -5783,11 +5838,11 @@ msgid ""
"network for additional anonymity if Tor app is enabled."
msgstr ""
-#: modules/privacy/forms.py:28
+#: modules/privacy/forms.py:37
msgid "Allow using fallback DNS servers"
msgstr ""
-#: modules/privacy/forms.py:30
+#: modules/privacy/forms.py:39
msgid ""
"Use well-known public DNS servers to resolve domain names in unusual "
"circumstances where no DNS servers are known but internet connectivity is "
@@ -5795,10 +5850,18 @@ msgid ""
"and reliable."
msgstr ""
+#: modules/privacy/forms.py:45
+msgid "URL to look up public IP address"
+msgstr ""
+
#: modules/privacy/manifest.py:10
msgid "Usage reporting"
msgstr ""
+#: modules/privacy/manifest.py:10
+msgid "External services"
+msgstr ""
+
#: modules/privacy/manifest.py:10
msgid "Fallback DNS"
msgstr ""
@@ -6706,40 +6769,40 @@ msgid "Delete the following snapshots permanently?"
msgstr ""
#: modules/snapshot/templates/snapshot_delete_selected.html:17
-#: modules/snapshot/templates/snapshot_manage.html:27
+#: modules/snapshot/templates/snapshot_manage.html:32
#: modules/snapshot/templates/snapshot_rollback.html:25
msgid "Number"
msgstr ""
#: modules/snapshot/templates/snapshot_delete_selected.html:18
-#: modules/snapshot/templates/snapshot_manage.html:28
+#: modules/snapshot/templates/snapshot_manage.html:33
#: modules/snapshot/templates/snapshot_rollback.html:26
msgid "Date"
msgstr ""
#: modules/snapshot/templates/snapshot_delete_selected.html:42
-#: modules/snapshot/templates/snapshot_manage.html:20
+#: modules/snapshot/templates/snapshot_manage.html:25
#: modules/snapshot/views.py:197
msgid "Delete Snapshots"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:17
+#: modules/snapshot/templates/snapshot_manage.html:22
msgid "Create Snapshot"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:30
+#: modules/snapshot/templates/snapshot_manage.html:35
msgid "Rollback"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:40
+#: modules/snapshot/templates/snapshot_manage.html:45
msgid "will be used at next boot"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:45
+#: modules/snapshot/templates/snapshot_manage.html:50
msgid "in use"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:54
+#: modules/snapshot/templates/snapshot_manage.html:59
#, python-format
msgid "Rollback to snapshot #%(number)s"
msgstr ""
@@ -7270,27 +7333,27 @@ msgstr ""
msgid "Tor"
msgstr ""
-#: modules/tor/__init__.py:78
+#: modules/tor/__init__.py:77
msgid "Tor Onion Service"
msgstr ""
-#: modules/tor/__init__.py:82
+#: modules/tor/__init__.py:81
msgid "Tor Bridge Relay"
msgstr ""
-#: modules/tor/__init__.py:140
+#: modules/tor/__init__.py:139
msgid "Tor relay port available"
msgstr ""
-#: modules/tor/__init__.py:152
+#: modules/tor/__init__.py:151
msgid "Obfs3 transport registered"
msgstr ""
-#: modules/tor/__init__.py:163
+#: modules/tor/__init__.py:162
msgid "Obfs4 transport registered"
msgstr ""
-#: modules/tor/__init__.py:176
+#: modules/tor/__init__.py:175
msgid "Onion service is version 3"
msgstr ""
@@ -7380,7 +7443,7 @@ msgstr ""
msgid "Anonymity network"
msgstr ""
-#: modules/tor/templates/tor.html:18
+#: modules/tor/templates/tor.html:23
msgid "Onion Service"
msgstr ""
@@ -7941,39 +8004,39 @@ msgstr ""
msgid "Edit user %(username)s"
msgstr ""
-#: modules/users/templates/users_update.html:12
+#: modules/users/templates/users_update.html:17
#, python-format
msgid "Edit User %(username)s"
msgstr ""
-#: modules/users/templates/users_update.html:20
+#: modules/users/templates/users_update.html:25
#, python-format
msgid ""
"Use the change password form to "
"change the password."
msgstr ""
-#: modules/users/templates/users_update.html:32
+#: modules/users/templates/users_update.html:37
#: templates/language-selection.html:17
msgid "Save Changes"
msgstr ""
-#: modules/users/templates/users_update.html:41
+#: modules/users/templates/users_update.html:46
#, python-format
msgid "Delete user %(username)s and all the user's files?"
msgstr ""
-#: modules/users/templates/users_update.html:51
+#: modules/users/templates/users_update.html:56
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
msgstr ""
-#: modules/users/templates/users_update.html:60
+#: modules/users/templates/users_update.html:65
msgid "Delete user and files"
msgstr ""
-#: modules/users/templates/users_update.html:63
+#: modules/users/templates/users_update.html:68
msgid "Cancel"
msgstr ""
@@ -8596,11 +8659,11 @@ msgstr ""
msgid "Service %(service_name)s is not running."
msgstr ""
-#: templates/apps.html:29
+#: templates/apps.html:33
msgid "Search with tags"
msgstr ""
-#: templates/apps.html:42
+#: templates/apps.html:46
msgid "Clear all tags"
msgstr ""
@@ -8610,35 +8673,35 @@ msgid ""
"is free software that lets you install and manage server apps with ease."
msgstr ""
-#: templates/base.html:116
+#: templates/base.html:118
msgid " Home"
msgstr ""
-#: templates/base.html:124
+#: templates/base.html:126
msgid " Apps"
msgstr ""
-#: templates/base.html:133
+#: templates/base.html:135
msgid " System"
msgstr ""
-#: templates/base.html:172 templates/base.html:173
+#: templates/base.html:174 templates/base.html:175
msgid "Change password"
msgstr ""
-#: templates/base.html:186 templates/base.html:187
+#: templates/base.html:188 templates/base.html:189
msgid "Shut down"
msgstr ""
-#: templates/base.html:197 templates/base.html:235
+#: templates/base.html:199 templates/base.html:237
msgid "Log out"
msgstr ""
-#: templates/base.html:206 templates/base.html:209
+#: templates/base.html:208 templates/base.html:211
msgid "Select language"
msgstr ""
-#: templates/base.html:224 templates/base.html:226
+#: templates/base.html:226 templates/base.html:228
msgid "Log in"
msgstr ""
@@ -8838,19 +8901,19 @@ msgid ""
"installed freshly again."
msgstr ""
-#: views.py:85
+#: views.py:84
msgid "Here"
msgstr ""
-#: views.py:374
+#: views.py:376
msgid "Setting unchanged"
msgstr ""
-#: views.py:609
+#: views.py:610
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""
-#: web_framework.py:114
+#: web_framework.py:122
msgid "Gujarati"
msgstr ""
diff --git a/plinth/locale/bg/LC_MESSAGES/django.po b/plinth/locale/bg/LC_MESSAGES/django.po
index 5b503591d..fcb0c1db9 100644
--- a/plinth/locale/bg/LC_MESSAGES/django.po
+++ b/plinth/locale/bg/LC_MESSAGES/django.po
@@ -7,10 +7,10 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-12-30 20:05-0500\n"
+"POT-Creation-Date: 2025-01-13 20:33-0500\n"
"PO-Revision-Date: 2025-01-03 22:02+0000\n"
-"Last-Translator: 109247019824 <109247019824@users.noreply.hosted.weblate.org>"
-"\n"
+"Last-Translator: 109247019824 <109247019824@users.noreply.hosted.weblate."
+"org>\n"
"Language-Team: Bulgarian
SSH key-based authentication is not yet "
"possible."
@@ -461,18 +463,18 @@ msgstr ""
"Парола за сървъра на SSH.
Удостоверяване на SSH с ключове все още не е "
"възможно."
-#: modules/backups/forms.py:273
+#: modules/backups/forms.py:275
msgid "Remote backup repository already exists."
msgstr "Отдалеченото хранилище за резервни копия вече съществува."
-#: modules/backups/forms.py:279
+#: modules/backups/forms.py:281
msgid "Select verified SSH public key"
msgstr "Изберете проверен публичен ключ за SSH"
#: modules/backups/manifest.py:14
#: modules/backups/templates/backups_repository.html:92
#: modules/backups/templates/backups_restore.html:27
-#: modules/backups/views.py:240 modules/snapshot/manifest.py:14
+#: modules/backups/views.py:238 modules/snapshot/manifest.py:14
#: templates/toolbar.html:44 templates/toolbar.html:45
msgid "Restore"
msgstr "Възстановяване"
@@ -546,16 +548,20 @@ msgstr "Разервно копие с това име не съществува
msgid "Backup system is busy with another operation."
msgstr "Системата за резервни копия е заета с друго действие."
+#: modules/backups/privileged.py:92
+msgid "Not enough space left on the disk or remote location."
+msgstr ""
+
#: modules/backups/repository.py:94
msgid "Existing repository is not encrypted."
msgstr "Съществуващото хранилище не е шифровано."
-#: modules/backups/repository.py:266
+#: modules/backups/repository.py:289
#, python-brace-format
msgid "{box_name} storage"
msgstr "Хранилище на {box_name}"
-#: modules/backups/templates/backups.html:17 modules/backups/views.py:125
+#: modules/backups/templates/backups.html:17 modules/backups/views.py:124
msgid "Create a new backup"
msgstr "Създаване на резервно копие"
@@ -599,10 +605,9 @@ msgstr "Съществуващи архивни копия"
#: modules/help/templates/statuslog.html:24
#: modules/kiwix/templates/kiwix-add-package.html:26
#: modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:28
-#: modules/matrixsynapse/templates/matrix-synapse.html:76
+#: modules/matrixsynapse/templates/matrix-synapse.html:81
#: modules/names/templates/names.html:128
#: modules/networks/templates/connection_show.html:24
-#: modules/nextcloud/__init__.py:48
#: modules/pagekite/templates/pagekite_custom_services.html:16
#: modules/power/templates/power_busy_warning.html:11
#: modules/snapshot/templates/snapshot_not_supported.html:13
@@ -764,107 +769,107 @@ msgstr ""
msgid "Verify Host"
msgstr "Проверяване на хоста"
-#: modules/backups/views.py:69
+#: modules/backups/views.py:68
msgid "Backup schedule updated."
msgstr "Графикът за резервни копия е променен."
-#: modules/backups/views.py:88
+#: modules/backups/views.py:87
msgid "Schedule Backups"
msgstr "Резервни копия по график"
-#: modules/backups/views.py:150
+#: modules/backups/views.py:148
msgid "Archive created."
msgstr "Архивът е създаден."
-#: modules/backups/views.py:162
+#: modules/backups/views.py:160
msgid "Delete Archive"
msgstr "Премахване на архив"
-#: modules/backups/views.py:175
+#: modules/backups/views.py:173
msgid "Archive deleted."
msgstr "Архивът е премахнат."
-#: modules/backups/views.py:189
+#: modules/backups/views.py:187
msgid "Upload and restore a backup"
msgstr "Качване и възстановяване от резервно копие"
-#: modules/backups/views.py:218
+#: modules/backups/views.py:216
msgid "Upload successful."
msgstr "Файлът е изпратен."
-#: modules/backups/views.py:256
+#: modules/backups/views.py:254
msgid "No backup file found."
msgstr "Не е намерено резервно копие."
-#: modules/backups/views.py:264
+#: modules/backups/views.py:262
msgid "Restore from uploaded file"
msgstr "Възстановяване от качен файл"
-#: modules/backups/views.py:278 modules/backups/views.py:299
+#: modules/backups/views.py:276 modules/backups/views.py:297
msgid "Restored files from backup."
msgstr "Файловете от резервното копие са възстановени."
-#: modules/backups/views.py:329
+#: modules/backups/views.py:327
msgid "No additional disks available to add a repository."
msgstr "Няма допълнителни дискове, на които да бъде създадено хранилище."
-#: modules/backups/views.py:337
+#: modules/backups/views.py:335
msgid "Create backup repository"
msgstr "Създаване на хранилище за резервни копия"
-#: modules/backups/views.py:352
+#: modules/backups/views.py:350
msgid "Added new repository."
msgstr "Добавено е хранилище."
-#: modules/backups/views.py:366
+#: modules/backups/views.py:364
msgid "Create remote backup repository"
msgstr "Създаване на отдалечено хранилище за резервни копия"
-#: modules/backups/views.py:388
+#: modules/backups/views.py:386
msgid "Added new remote SSH repository."
msgstr "Създадено е отдалечено хранилище с достъп през SSH."
-#: modules/backups/views.py:410
+#: modules/backups/views.py:408
msgid "Verify SSH hostkey"
msgstr "Проверяване на ключ за SSH на хост"
-#: modules/backups/views.py:436
+#: modules/backups/views.py:434
msgid "SSH host already verified."
msgstr "SSH на хоста вече е проверен."
-#: modules/backups/views.py:447
+#: modules/backups/views.py:445
msgid "SSH host verified."
msgstr "SSH на хоста е проверен."
-#: modules/backups/views.py:463
+#: modules/backups/views.py:461
msgid "SSH host public key could not be verified."
msgstr "Публичният ключ за SSH на хоста не може да бъде проверен."
-#: modules/backups/views.py:465
+#: modules/backups/views.py:463
msgid "Authentication to remote server failed."
msgstr "Удостоверяването на отдалечения сървър е неуспешно."
-#: modules/backups/views.py:467
+#: modules/backups/views.py:465
msgid "Error establishing connection to server: {}"
msgstr "Грешка при свързване със сървъра: {}"
-#: modules/backups/views.py:478
+#: modules/backups/views.py:476
msgid "Repository removed."
msgstr "Хранилището е премахнато."
-#: modules/backups/views.py:492
+#: modules/backups/views.py:490
msgid "Remove Repository"
msgstr "Премахване на хранилище"
-#: modules/backups/views.py:502
+#: modules/backups/views.py:500
msgid "Repository removed. Backups were not deleted."
msgstr "Хранилището е премахнато. Резервните копия не са премахнати."
-#: modules/backups/views.py:513
+#: modules/backups/views.py:511
msgid "Unmounting failed!"
msgstr "Грешка при размонтиране!"
-#: modules/backups/views.py:529 modules/backups/views.py:533
+#: modules/backups/views.py:527 modules/backups/views.py:531
msgid "Mounting failed"
msgstr "Грешка при монтиране"
@@ -977,7 +982,7 @@ msgstr ""
msgid "No passwords currently configured."
msgstr ""
-#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:91
+#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:83
#: modules/miniflux/forms.py:14 modules/networks/forms.py:282
#: modules/shadowsocks/forms.py:32 modules/shadowsocksserver/forms.py:37
msgid "Password"
@@ -1095,8 +1100,10 @@ msgstr "Разпознаване"
msgid "Serving Domains"
msgstr ""
-#: modules/bind/templates/bind.html:17 modules/email/templates/email.html:38
-#: modules/ikiwiki/forms.py:12 modules/names/templates/names.html:18
+#: modules/bind/templates/bind.html:17
+#: modules/email/templates/email-dns.html:25
+#: modules/email/templates/email-dns.html:78 modules/ikiwiki/forms.py:12
+#: modules/names/templates/names.html:18
#: modules/networks/templates/connection_show.html:95
#: modules/samba/templates/samba.html:65
#: modules/storage/templates/storage.html:26
@@ -1126,7 +1133,7 @@ msgstr ""
#: modules/minetest/views.py:55 modules/mumble/views.py:37
#: modules/names/views.py:66 modules/names/views.py:95
#: modules/names/views.py:129 modules/pagekite/forms.py:74
-#: modules/privacy/views.py:50 modules/quassel/views.py:29
+#: modules/privacy/views.py:55 modules/quassel/views.py:29
#: modules/roundcube/views.py:32 modules/rssbridge/views.py:31
#: modules/shadowsocks/views.py:52 modules/shadowsocksserver/views.py:48
#: modules/ssh/views.py:62 modules/transmission/views.py:43
@@ -1735,7 +1742,7 @@ msgid "Test"
msgstr "Проверка"
#: modules/diagnostics/templates/diagnostics_results.html:12
-#: modules/dynamicdns/templates/dynamicdns.html:20
+#: modules/dynamicdns/templates/dynamicdns.html:25
msgid "Result"
msgstr "Резултат"
@@ -1748,7 +1755,7 @@ msgstr "Диагностична проверка"
msgid "App {app_id} is not installed, cannot repair"
msgstr ""
-#: modules/dynamicdns/__init__.py:28
+#: modules/dynamicdns/__init__.py:29
#, python-brace-format
msgid ""
"If your Internet provider changes your IP address periodically (i.e. every "
@@ -1756,7 +1763,7 @@ msgid ""
"prevent others from finding services which are provided by this {box_name}."
msgstr ""
-#: modules/dynamicdns/__init__.py:32
+#: modules/dynamicdns/__init__.py:33
msgid ""
"The solution is to assign a DNS name to your IP address and update the DNS "
"name every time your IP is changed by your Internet provider. Dynamic DNS "
@@ -1767,7 +1774,7 @@ msgid ""
"IP address."
msgstr ""
-#: modules/dynamicdns/__init__.py:40
+#: modules/dynamicdns/__init__.py:41
msgid ""
"If you are looking for a free dynamic DNS account, you may find a free "
"GnuDIP service at ddns."
@@ -1775,11 +1782,17 @@ msgid ""
"href='http://freedns.afraid.org/' target='_blank'>freedns.afraid.org."
msgstr ""
-#: modules/dynamicdns/__init__.py:61
+#: modules/dynamicdns/__init__.py:46
+msgid ""
+"This service uses an external service to lookup public IP address. This can "
+"be configured in the privacy app."
+msgstr ""
+
+#: modules/dynamicdns/__init__.py:64
msgid "Dynamic DNS Client"
msgstr ""
-#: modules/dynamicdns/__init__.py:75
+#: modules/dynamicdns/__init__.py:78
msgid "Dynamic Domain Name"
msgstr ""
@@ -1823,84 +1836,71 @@ msgid "Leave this field empty if you want to keep your current password."
msgstr ""
#: modules/dynamicdns/forms.py:43
-#, python-brace-format
-msgid ""
-"Optional Value. If your {box_name} is not connected directly to the Internet "
-"(i.e. connected to a NAT router) this URL is used to determine the real IP "
-"address. The URL should simply return the IP where the client comes from "
-"(example: https://ddns.freedombox.org/ip/)."
-msgstr ""
-
-#: modules/dynamicdns/forms.py:51
msgid "The username that was used when the account was created."
msgstr ""
-#: modules/dynamicdns/forms.py:54
+#: modules/dynamicdns/forms.py:46
msgid "GnuDIP"
msgstr "GnuDIP"
-#: modules/dynamicdns/forms.py:57
+#: modules/dynamicdns/forms.py:49
msgid "Other update URL"
msgstr ""
-#: modules/dynamicdns/forms.py:59
+#: modules/dynamicdns/forms.py:51
msgid "Service Type"
msgstr ""
-#: modules/dynamicdns/forms.py:64
+#: modules/dynamicdns/forms.py:56
msgid "GnuDIP Server Address"
msgstr ""
-#: modules/dynamicdns/forms.py:67
+#: modules/dynamicdns/forms.py:59
msgid "Invalid server name"
msgstr ""
-#: modules/dynamicdns/forms.py:70
+#: modules/dynamicdns/forms.py:62
msgid "Update URL"
msgstr "Адрес за обновяване"
-#: modules/dynamicdns/forms.py:74
+#: modules/dynamicdns/forms.py:66
msgid "Accept all SSL certificates"
msgstr ""
-#: modules/dynamicdns/forms.py:78
+#: modules/dynamicdns/forms.py:70
msgid "Use HTTP basic authentication"
msgstr ""
-#: modules/dynamicdns/forms.py:82 modules/names/__init__.py:68
+#: modules/dynamicdns/forms.py:74 modules/names/__init__.py:68
#: modules/names/forms.py:106 modules/names/templates/names.html:19
msgid "Domain Name"
msgstr "Име на домейн"
-#: modules/dynamicdns/forms.py:85 modules/names/forms.py:99
+#: modules/dynamicdns/forms.py:77 modules/names/forms.py:99
#: modules/names/forms.py:117
msgid "Invalid domain name"
msgstr "Недопустимо име на домейн"
-#: modules/dynamicdns/forms.py:88 modules/miniflux/forms.py:11
+#: modules/dynamicdns/forms.py:80 modules/miniflux/forms.py:11
#: modules/networks/forms.py:281 modules/users/forms.py:130
msgid "Username"
msgstr "Потребителско име"
-#: modules/dynamicdns/forms.py:95 modules/networks/forms.py:284
+#: modules/dynamicdns/forms.py:87 modules/networks/forms.py:284
msgid "Show password"
msgstr "Показване на паролата"
-#: modules/dynamicdns/forms.py:99
-msgid "URL to look up public IP"
-msgstr ""
-
-#: modules/dynamicdns/forms.py:104
+#: modules/dynamicdns/forms.py:91
msgid "Use IPv6 instead of IPv4"
msgstr ""
-#: modules/dynamicdns/forms.py:123
+#: modules/dynamicdns/forms.py:110
msgid "This field is required."
msgstr ""
#: modules/dynamicdns/manifest.py:17
-#: modules/dynamicdns/templates/dynamicdns.html:18
-#: modules/email/templates/email.html:35
+#: modules/dynamicdns/templates/dynamicdns.html:23
+#: modules/email/templates/email-dns.html:22
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64
msgid "Domain"
@@ -1914,37 +1914,37 @@ msgstr ""
msgid "Needs public IP"
msgstr "Необходим е публичен адрес по IP"
-#: modules/dynamicdns/templates/dynamicdns.html:11
-#: modules/ejabberd/templates/ejabberd.html:13 modules/firewall/manifest.py:10
+#: modules/dynamicdns/templates/dynamicdns.html:16
+#: modules/ejabberd/templates/ejabberd.html:18 modules/firewall/manifest.py:10
#: modules/firewall/templates/firewall.html:16
#: modules/firewall/templates/firewall.html:22
#: modules/letsencrypt/templates/letsencrypt.html:17
-#: modules/matrixsynapse/templates/matrix-synapse.html:12
+#: modules/matrixsynapse/templates/matrix-synapse.html:17
#: modules/networks/templates/connection_show.html:258
-#: modules/samba/templates/samba.html:67 modules/tor/templates/tor.html:19
+#: modules/samba/templates/samba.html:67 modules/tor/templates/tor.html:24
#: modules/upgrades/templates/upgrades_configure.html:14
#: modules/wireguard/templates/wireguard_show_client.html:48
#: modules/wireguard/templates/wireguard_show_server.html:47
msgid "Status"
msgstr "Състояние"
-#: modules/dynamicdns/templates/dynamicdns.html:19
+#: modules/dynamicdns/templates/dynamicdns.html:24
msgid "Last update"
msgstr "Последно обновяване"
-#: modules/dynamicdns/templates/dynamicdns.html:21
+#: modules/dynamicdns/templates/dynamicdns.html:26
msgid "IP Address"
msgstr "Адрес по IP"
-#: modules/dynamicdns/templates/dynamicdns.html:32
+#: modules/dynamicdns/templates/dynamicdns.html:37
msgid "Success"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:36
+#: modules/dynamicdns/templates/dynamicdns.html:41
msgid "Failed"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:52
+#: modules/dynamicdns/templates/dynamicdns.html:57
msgid "No status available."
msgstr ""
@@ -2097,7 +2097,7 @@ msgstr "Видео разговори"
msgid "XMPP"
msgstr "XMPP"
-#: modules/ejabberd/templates/ejabberd.html:18
+#: modules/ejabberd/templates/ejabberd.html:23
#, python-format
msgid ""
"Your XMPP server domain is set to %(domain_name)s. User IDs will look "
@@ -2105,7 +2105,7 @@ msgid ""
"system Name Services page."
msgstr ""
-#: modules/ejabberd/templates/ejabberd.html:25
+#: modules/ejabberd/templates/ejabberd.html:30
#, python-format
msgid ""
"Your XMPP server domain is not set. You can setup your domain on the system "
@@ -2153,12 +2153,16 @@ msgstr ""
msgid "Postfix/Dovecot"
msgstr "Postfix/Dovecot"
-#: modules/email/__init__.py:83
-msgid "My Email Aliases"
+#: modules/email/__init__.py:80
+msgid "More emails"
msgstr ""
-#: modules/email/__init__.py:84
-msgid "Manage Aliases for Mailbox"
+#: modules/email/__init__.py:80
+msgid "Same mailbox"
+msgstr ""
+
+#: modules/email/__init__.py:82
+msgid "My Email Aliases"
msgstr ""
#: modules/email/forms.py:25
@@ -2237,47 +2241,100 @@ msgstr ""
msgid "Add"
msgstr "Добавяне"
-#: modules/email/templates/email.html:10
-msgid "Manage Spam"
-msgstr "Управление на нежелана поща"
-
-#: modules/email/templates/email.html:22
-msgid "DNS Records"
+#: modules/email/templates/email-dns.html:9
+#, fuzzy
+#| msgid "DNS Records"
+msgid "DNS Records for domain:"
msgstr "Записи на DNS"
-#: modules/email/templates/email.html:25
+#: modules/email/templates/email-dns.html:12
+#, fuzzy
+#| msgid ""
+#| "The following DNS records must be added manually on your primary domain "
+#| "for the mail server to work properly."
msgid ""
-"The following DNS records must be added manually on your primary domain for "
-"the mail server to work properly."
+"The following DNS records must be added manually on this domain for the mail "
+"server to work properly for this domain."
msgstr ""
"Следните записи на DNS трябва да бъдат добавени ръчно в основния домейн, за "
"да работи правилно пощенският сървър."
-#: modules/email/templates/email.html:36
+#: modules/email/templates/email-dns.html:23
+#: modules/email/templates/email-dns.html:77
msgid "TTL"
msgstr "TTL"
-#: modules/email/templates/email.html:37
+#: modules/email/templates/email-dns.html:24
msgid "Class"
msgstr "Клас"
-#: modules/email/templates/email.html:39
+#: modules/email/templates/email-dns.html:26
msgid "Priority"
msgstr "Приоритет"
-#: modules/email/templates/email.html:40
+#: modules/email/templates/email-dns.html:27
msgid "Weight"
msgstr "Тежест"
-#: modules/email/templates/email.html:41
+#: modules/email/templates/email-dns.html:28
#: modules/minetest/templates/minetest.html:18
msgid "Port"
msgstr "Порт"
-#: modules/email/templates/email.html:42
+#: modules/email/templates/email-dns.html:29
+#: modules/email/templates/email-dns.html:79
msgid "Host/Target/Value"
msgstr "Хост/цел/стойност"
+#: modules/email/templates/email-dns.html:50
+msgid "Reverse DNS Records for IP Addresses"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:53
+#, python-format
+msgid ""
+"If your %(box_name)s runs on a cloud service infrastructure, you should "
+"configure "
+"Reverse DNS lookup. This isn't mandatory, however, it greatly improves "
+"email deliverability. Reverse DNS isn't configured where your regular DNS "
+"is. You should look for it in the settings of your VPS/ISP. Some providers "
+"preconfigure the IP address part for you and you only have to set the domain "
+"part. Only one of your domains can have Revese DNS lookup configured unless "
+"you have multiple public IP addresses."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:66
+msgid ""
+"An external service is used to lookup public IP address to show in the "
+"following section. This can be configured in the privacy app."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:76
+#, fuzzy
+#| msgid "Hostname"
+msgid "Host"
+msgstr "Име на хоста"
+
+#: modules/email/templates/email.html:10
+msgid "Manage Spam"
+msgstr "Управление на нежелана поща"
+
+#: modules/email/templates/email.html:20 modules/names/manifest.py:11
+#: modules/names/templates/names.html:12
+msgid "Domains"
+msgstr "Домейни"
+
+#: modules/email/templates/email.html:23
+msgid ""
+"The following domains are configured. View details to see the list of DNS "
+"entries to be made for the domain."
+msgstr ""
+
+#: modules/email/templates/email.html:35
+#, python-format
+msgid "View domain: %(domain)s"
+msgstr ""
+
#: modules/featherwiki/__init__.py:25
#, python-brace-format
msgid ""
@@ -2523,7 +2580,7 @@ msgstr "Порт {name} ({details}) достъпен за външните мр
msgid "Port {name} ({details}) unavailable for external networks"
msgstr "Порт {name} ({details}) недостъпен за външните мрежи"
-#: modules/firewall/manifest.py:10 modules/tor/templates/tor.html:20
+#: modules/firewall/manifest.py:10 modules/tor/templates/tor.html:25
msgid "Ports"
msgstr "Портове"
@@ -2859,9 +2916,9 @@ msgstr "Обратна връзка"
msgid "Contribute"
msgstr "Допринасяне"
-#: modules/help/__init__.py:53 templates/base.html:215 templates/base.html:218
+#: modules/help/__init__.py:53 templates/base.html:217 templates/base.html:220
#: templates/help-menu.html:46 templates/help-menu.html:47
-#: templates/index.html:98
+#: templates/index.html:96
msgid "About"
msgstr "За проекта"
@@ -2995,7 +3052,7 @@ msgstr ""
#: modules/help/templates/help_contribute.html:42
#: modules/power/templates/power_restart.html:27
-#: modules/power/templates/power_shutdown.html:26 templates/app-header.html:68
+#: modules/power/templates/power_shutdown.html:26 templates/app-header.html:65
msgid "Learn more..."
msgstr "Научете повече…"
@@ -3324,7 +3381,7 @@ msgid "Web conference"
msgstr ""
#: modules/janus/templates/janus_video_room.html:205
-#: modules/jsxc/templates/jsxc_launch.html:117 templates/base.html:271
+#: modules/jsxc/templates/jsxc_launch.html:117 templates/base.html:273
msgid "JavaScript license information"
msgstr ""
@@ -3594,8 +3651,8 @@ msgid ""
"No domains have been configured. Configure "
"domains to be able to obtain certificates for them."
msgstr ""
-"Не са настроени домейни. За да получите сертификат трябва да настройте домейн."
+"Не са настроени домейни. За да получите сертификат трябва да настройте домейн."
#: modules/letsencrypt/views.py:40
#, python-brace-format
@@ -3724,7 +3781,7 @@ msgid ""
"least one domain to be able to use Matrix Synapse."
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:15
+#: modules/matrixsynapse/templates/matrix-synapse.html:20
#, python-format
msgid ""
"The Matrix server domain is set to %(domain_name)s. User IDs will "
@@ -3732,43 +3789,43 @@ msgid ""
"the initial setup is currently not supported."
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:22
+#: modules/matrixsynapse/templates/matrix-synapse.html:27
msgid ""
"New users can be registered from any client if public registration is "
"enabled."
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:29
+#: modules/matrixsynapse/templates/matrix-synapse.html:34
msgid ""
"New users must use one of the following tokens for verification during "
"account registration:"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:38
+#: modules/matrixsynapse/templates/matrix-synapse.html:43
msgid "Registration Token"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:39
+#: modules/matrixsynapse/templates/matrix-synapse.html:44
msgid "Uses Allowed"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:40
+#: modules/matrixsynapse/templates/matrix-synapse.html:45
msgid "Pending Registrations"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:41
+#: modules/matrixsynapse/templates/matrix-synapse.html:46
msgid "Completed Registrations"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:42
+#: modules/matrixsynapse/templates/matrix-synapse.html:47
msgid "Expiry Time"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:51
+#: modules/matrixsynapse/templates/matrix-synapse.html:56
msgid "Unlimited"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:80
+#: modules/matrixsynapse/templates/matrix-synapse.html:85
#, python-format
msgid ""
"The configured domain name is using a self-signed certificate. Federation "
@@ -4189,23 +4246,29 @@ msgstr "Нулиране на паролата на потребител: {usern
msgid "An error occurred during password reset: {error}."
msgstr "Възникна грешка при нулиране на паролата: {error}."
-#: modules/mumble/__init__.py:25
+#: modules/mumble/__init__.py:27
msgid ""
"Mumble is an open source, low-latency, encrypted, high quality voice chat "
"software."
msgstr ""
-#: modules/mumble/__init__.py:27
+#: modules/mumble/__init__.py:29
msgid ""
"You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your "
"desktop and mobile devices are available."
msgstr ""
-#: modules/mumble/__init__.py:45 modules/mumble/manifest.py:9
+#: modules/mumble/__init__.py:47 modules/mumble/manifest.py:9
msgid "Mumble"
msgstr ""
+#: modules/mumble/__init__.py:158
+#, fuzzy
+#| msgid "grub package is configured"
+msgid "Mumble server is configured"
+msgstr "Пакетът grub е настроен"
+
#: modules/mumble/forms.py:30
msgid "Set SuperUser Password"
msgstr ""
@@ -4342,10 +4405,6 @@ msgstr ""
"трябва да надхвърля 63 знака. Максималната дължина на името на домейна е 253 "
"знака."
-#: modules/names/manifest.py:11 modules/names/templates/names.html:12
-msgid "Domains"
-msgstr "Домейни"
-
#: modules/names/manifest.py:13
msgid "DNS Resolution"
msgstr "Разпознаване на DNS"
@@ -4914,7 +4973,7 @@ msgstr "Редактиране на връзката"
#: modules/networks/templates/connection_show.html:40
#: modules/wireguard/templates/wireguard_show_client.html:72
#: modules/wireguard/templates/wireguard_show_server.html:73
-#: templates/base.html:165 templates/base.html:166
+#: templates/base.html:167 templates/base.html:168
msgid "Edit"
msgstr "Редактиране"
@@ -4967,7 +5026,7 @@ msgstr ""
#: modules/networks/templates/connection_show.html:107
#: modules/snapshot/templates/snapshot_delete_selected.html:19
-#: modules/snapshot/templates/snapshot_manage.html:29
+#: modules/snapshot/templates/snapshot_manage.html:34
#: modules/snapshot/templates/snapshot_rollback.html:27
msgid "Description"
msgstr "Описание"
@@ -5045,8 +5104,8 @@ msgstr ""
#: modules/networks/templates/connection_show.html:264
#: modules/networks/templates/connections_fields_privacy.html:15
-#: modules/openvpn/manifest.py:60 modules/privacy/__init__.py:32
-#: modules/privacy/__init__.py:72 modules/wireguard/manifest.py:45
+#: modules/openvpn/manifest.py:60 modules/privacy/__init__.py:38
+#: modules/privacy/__init__.py:77 modules/wireguard/manifest.py:45
msgid "Privacy"
msgstr "Поверителност"
@@ -5130,7 +5189,7 @@ msgstr ""
msgid "Computer"
msgstr ""
-#: modules/networks/templates/connections_edit.html:19
+#: modules/networks/templates/connections_edit.html:24
#: modules/networks/views.py:253 modules/networks/views.py:341
msgid "Edit Connection"
msgstr "Редактиране на връзката"
@@ -5141,7 +5200,7 @@ msgid "Error:"
msgstr "Грешка:"
#: modules/networks/templates/connections_fields.html:20
-#: modules/users/templates/users_update.html:46 templates/messages.html:30
+#: modules/users/templates/users_update.html:51 templates/messages.html:30
msgid "Close"
msgstr "Затваряне"
@@ -5233,7 +5292,7 @@ msgstr "Обновяване…"
#: modules/networks/templates/network_topology_update.html:18
#: modules/networks/templates/router_configuration_update.html:19
#: modules/pagekite/templates/pagekite_custom_services.html:33
-#: modules/sharing/templates/sharing_add_edit.html:20 templates/form.html:19
+#: modules/sharing/templates/sharing_add_edit.html:25 templates/form.html:19
msgid "Submit"
msgstr "Изпращане"
@@ -5627,11 +5686,7 @@ msgid ""
"performed following an independent cycle."
msgstr ""
-#: modules/nextcloud/__init__.py:48
-msgid "This app is experimental."
-msgstr "Приложението е експериментално."
-
-#: modules/nextcloud/__init__.py:66 modules/nextcloud/manifest.py:11
+#: modules/nextcloud/__init__.py:65 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
msgid "Nextcloud"
msgstr "Nextcloud"
@@ -5800,7 +5855,7 @@ msgstr ""
msgid "PageKite"
msgstr ""
-#: modules/pagekite/__init__.py:73
+#: modules/pagekite/__init__.py:72
msgid "PageKite Domain"
msgstr ""
@@ -5985,8 +6040,8 @@ msgstr "Рестартиране"
msgid "Shutdown"
msgstr "Изключване"
-#: modules/power/templates/power.html:15 templates/base.html:180
-#: templates/base.html:181
+#: modules/power/templates/power.html:15 templates/base.html:182
+#: templates/base.html:183
msgid "Restart"
msgstr "Рестартиране"
@@ -6028,26 +6083,36 @@ msgstr ""
msgid "Shut Down Now"
msgstr "Изключване"
-#: modules/privacy/__init__.py:15
+#: modules/privacy/__init__.py:21
msgid "Manage system-wide privacy settings."
msgstr "Управление на настройките за поверителност в цялата система."
-#: modules/privacy/__init__.py:70
+#: modules/privacy/__init__.py:75
msgid "Please update privacy settings to match your preferences."
msgstr ""
"Изберете настройките за поверителност, които отговарят на вашите "
"предпочитания."
-#: modules/privacy/__init__.py:75
+#: modules/privacy/__init__.py:80
msgid "Review privacy setting"
msgstr "Преглед на настройките за поверителност"
-#: modules/privacy/forms.py:16
+#: modules/privacy/forms.py:17
+#, python-brace-format
+msgid ""
+"Optional Value. This URL is used to determine the publicly visible IP "
+"address of your {box_name}. The URL should simply return the IPv4 or IPv6 "
+"address where the client request comes from. Default is to use the service "
+"provided by the FreedomBox Foundation at https://ddns.freedombox.org/ip/. If "
+"empty, lookups are disabled and some functionality will fail."
+msgstr ""
+
+#: modules/privacy/forms.py:25
msgid "Periodically submit a list of apps used (suggested)"
msgstr ""
"Периодично изпращане на списък с използваните приложения (препоръчително)"
-#: modules/privacy/forms.py:18
+#: modules/privacy/forms.py:27
#, python-brace-format
msgid ""
"Help Debian/{box_name} developers by participating in the Popularity Contest "
@@ -6065,11 +6130,11 @@ msgstr ""
"target=\"_blank\">popcon.debian.org. За допълнителна анонимност данните "
"се изпращат през мрежата на Тор, ако приложението Тор е включено."
-#: modules/privacy/forms.py:28
+#: modules/privacy/forms.py:37
msgid "Allow using fallback DNS servers"
msgstr ""
-#: modules/privacy/forms.py:30
+#: modules/privacy/forms.py:39
msgid ""
"Use well-known public DNS servers to resolve domain names in unusual "
"circumstances where no DNS servers are known but internet connectivity is "
@@ -6077,10 +6142,20 @@ msgid ""
"and reliable."
msgstr ""
+#: modules/privacy/forms.py:45
+msgid "URL to look up public IP address"
+msgstr ""
+
#: modules/privacy/manifest.py:10
msgid "Usage reporting"
msgstr "Отчет за използването"
+#: modules/privacy/manifest.py:10
+#, fuzzy
+#| msgid "Onion services"
+msgid "External services"
+msgstr "Услуга на Onion"
+
#: modules/privacy/manifest.py:10
msgid "Fallback DNS"
msgstr "Резервни DNS"
@@ -7018,40 +7093,40 @@ msgid "Delete the following snapshots permanently?"
msgstr ""
#: modules/snapshot/templates/snapshot_delete_selected.html:17
-#: modules/snapshot/templates/snapshot_manage.html:27
+#: modules/snapshot/templates/snapshot_manage.html:32
#: modules/snapshot/templates/snapshot_rollback.html:25
msgid "Number"
msgstr ""
#: modules/snapshot/templates/snapshot_delete_selected.html:18
-#: modules/snapshot/templates/snapshot_manage.html:28
+#: modules/snapshot/templates/snapshot_manage.html:33
#: modules/snapshot/templates/snapshot_rollback.html:26
msgid "Date"
msgstr ""
#: modules/snapshot/templates/snapshot_delete_selected.html:42
-#: modules/snapshot/templates/snapshot_manage.html:20
+#: modules/snapshot/templates/snapshot_manage.html:25
#: modules/snapshot/views.py:197
msgid "Delete Snapshots"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:17
+#: modules/snapshot/templates/snapshot_manage.html:22
msgid "Create Snapshot"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:30
+#: modules/snapshot/templates/snapshot_manage.html:35
msgid "Rollback"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:40
+#: modules/snapshot/templates/snapshot_manage.html:45
msgid "will be used at next boot"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:45
+#: modules/snapshot/templates/snapshot_manage.html:50
msgid "in use"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:54
+#: modules/snapshot/templates/snapshot_manage.html:59
#, python-format
msgid "Rollback to snapshot #%(number)s"
msgstr ""
@@ -7460,8 +7535,8 @@ msgid ""
"are provided by the Cockpit app."
msgstr ""
"Разширените операции с носителите, като разделяне на дялове и управление на "
-"RAID, се осигуряват от приложението Cockpit."
+"RAID, се осигуряват от приложението Cockpit"
+"a>."
#: modules/storage/templates/storage_expand.html:14
#, python-format
@@ -7628,27 +7703,27 @@ msgstr ""
msgid "Tor"
msgstr "Тор"
-#: modules/tor/__init__.py:78
+#: modules/tor/__init__.py:77
msgid "Tor Onion Service"
msgstr "Услуга на Тор Onion"
-#: modules/tor/__init__.py:82
+#: modules/tor/__init__.py:81
msgid "Tor Bridge Relay"
msgstr ""
-#: modules/tor/__init__.py:140
+#: modules/tor/__init__.py:139
msgid "Tor relay port available"
msgstr ""
-#: modules/tor/__init__.py:152
+#: modules/tor/__init__.py:151
msgid "Obfs3 transport registered"
msgstr "Транспортът Obfs3 е регистриран"
-#: modules/tor/__init__.py:163
+#: modules/tor/__init__.py:162
msgid "Obfs4 transport registered"
msgstr "Транспортът Obfs4 е регистриран"
-#: modules/tor/__init__.py:176
+#: modules/tor/__init__.py:175
msgid "Onion service is version 3"
msgstr "Услугата на Onion е версия 3"
@@ -7758,7 +7833,7 @@ msgstr ""
msgid "Anonymity network"
msgstr "Анонимна мрежа"
-#: modules/tor/templates/tor.html:18
+#: modules/tor/templates/tor.html:23
msgid "Onion Service"
msgstr "Услуга на Onion"
@@ -8217,10 +8292,10 @@ msgid ""
"SSH and have administrative privileges (sudo)."
msgstr ""
"Изберете кои услуги да бъдат достъпни за новия потребител. Той ще може да "
-"влиза в услуги, които поддържат вход чрез LDAP, ако е в съответната "
-"група.
Потребителите в групата admin ще могат да влизат във всички "
-"услуги. Те могат също така да влизат в системата чрез SSH и да имат "
-"администраторски права (sudo)."
+"влиза в услуги, които поддържат вход чрез LDAP, ако е в съответната група."
+"
Потребителите в групата admin ще могат да влизат във всички услуги. "
+"Те могат също така да влизат в системата чрез SSH и да имат администраторски "
+"права (sudo)."
#: modules/users/forms.py:125
msgid "Enter a valid username."
@@ -8230,8 +8305,8 @@ msgstr "Въведете съществуващо потребителско и
msgid ""
"Required. 150 characters or fewer. English letters, digits and @/./-/_ only."
msgstr ""
-"Задължително. 150 знака или по-малко. Само латински букви, цифри и знаците @/"
-"./-/_."
+"Задължително. 150 знака или по-малко. Само латински букви, цифри и знаците "
+"@/./-/_."
#: modules/users/forms.py:141
msgid "Authorization Password"
@@ -8384,10 +8459,10 @@ msgid ""
msgstr ""
"За да създадете профил, който може да бъде използван с %(box_name)s, "
"премахнете тези профили от командния ред и презаредете страницата. От "
-"команднен ред изпълнете командата „echo '{\"args\": "
-"[\"USERNAME\", \"PASSWORD\"], \"kwargs\": {}}' | sudo /usr/share/plinth/"
-"actions/actions users remove_user“. Ако профилът вече може да се използва с "
-"%(box_name)s, прескочете тази стъпка."
+"команднен ред изпълнете командата „echo '{\"args\": [\"USERNAME\", "
+"\"PASSWORD\"], \"kwargs\": {}}' | sudo /usr/share/plinth/actions/actions "
+"users remove_user“. Ако профилът вече може да се използва с %(box_name)s, "
+"прескочете тази стъпка."
#: modules/users/templates/users_firstboot.html:69
msgid "Skip this step"
@@ -8402,12 +8477,12 @@ msgstr "Поребители"
msgid "Edit user %(username)s"
msgstr "Промяна на потребителя %(username)s"
-#: modules/users/templates/users_update.html:12
+#: modules/users/templates/users_update.html:17
#, python-format
msgid "Edit User %(username)s"
msgstr "Променяне на потребителя %(username)s"
-#: modules/users/templates/users_update.html:20
+#: modules/users/templates/users_update.html:25
#, python-format
msgid ""
"Use the change password form to "
@@ -8416,19 +8491,19 @@ msgstr ""
"За да промените паролата, използвайте формуляра за промяна на парола."
-#: modules/users/templates/users_update.html:32
+#: modules/users/templates/users_update.html:37
#: templates/language-selection.html:17
msgid "Save Changes"
msgstr "Запазване на промените"
-#: modules/users/templates/users_update.html:41
+#: modules/users/templates/users_update.html:46
#, python-format
msgid "Delete user %(username)s and all the user's files?"
msgstr ""
"Потвърждавате ли премахването на потребителя %(username)s и всички "
"негови файлове?"
-#: modules/users/templates/users_update.html:51
+#: modules/users/templates/users_update.html:56
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
@@ -8437,11 +8512,11 @@ msgstr ""
"домашната му папка. Ако желаете тези файлове да бъдат запазени, вместо да "
"премахвате профила го изключете."
-#: modules/users/templates/users_update.html:60
+#: modules/users/templates/users_update.html:65
msgid "Delete user and files"
msgstr "Премахване на файловете на %(username)s"
-#: modules/users/templates/users_update.html:63
+#: modules/users/templates/users_update.html:68
msgid "Cancel"
msgstr "Отказ"
@@ -9066,11 +9141,11 @@ msgstr ""
msgid "Service %(service_name)s is not running."
msgstr "Услугата %(service_name)s не работи."
-#: templates/apps.html:29
+#: templates/apps.html:33
msgid "Search with tags"
msgstr "Търсене по етикети"
-#: templates/apps.html:42
+#: templates/apps.html:46
msgid "Clear all tags"
msgstr "Изчистване на всички етикети"
@@ -9083,35 +9158,35 @@ msgstr ""
"данни. Това е безплатен софтуер, който ви позволява да инсталирате и "
"управлявате сървърни приложения с лекота."
-#: templates/base.html:116
+#: templates/base.html:118
msgid " Home"
msgstr " Начало"
-#: templates/base.html:124
+#: templates/base.html:126
msgid " Apps"
msgstr " Приложения"
-#: templates/base.html:133
+#: templates/base.html:135
msgid " System"
msgstr " Системни"
-#: templates/base.html:172 templates/base.html:173
+#: templates/base.html:174 templates/base.html:175
msgid "Change password"
msgstr "Промяна на парола"
-#: templates/base.html:186 templates/base.html:187
+#: templates/base.html:188 templates/base.html:189
msgid "Shut down"
msgstr "Изключване"
-#: templates/base.html:197 templates/base.html:235
+#: templates/base.html:199 templates/base.html:237
msgid "Log out"
msgstr "Изход"
-#: templates/base.html:206 templates/base.html:209
+#: templates/base.html:208 templates/base.html:211
msgid "Select language"
msgstr "Избор на език"
-#: templates/base.html:224 templates/base.html:226
+#: templates/base.html:226 templates/base.html:228
msgid "Log in"
msgstr "Вход"
@@ -9316,23 +9391,29 @@ msgstr ""
"Всички данни и настройки на приложението ще бъдат загубени. Приложението "
"може да бъде инсталирано отново."
-#: views.py:85
+#: views.py:84
msgid "Here"
msgstr "Тук"
-#: views.py:374
+#: views.py:376
msgid "Setting unchanged"
msgstr "Настройките не са променени"
-#: views.py:609
+#: views.py:610
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr "преди премахване на {app_id}"
-#: web_framework.py:114
+#: web_framework.py:122
msgid "Gujarati"
msgstr "Гуджарати"
+#~ msgid "In 24 hour format."
+#~ msgstr "24-часов формат."
+
+#~ msgid "This app is experimental."
+#~ msgstr "Приложението е експериментално."
+
#~ msgid "VoIP Helper"
#~ msgstr "Помощник за VoIP"
diff --git a/plinth/locale/bn/LC_MESSAGES/django.po b/plinth/locale/bn/LC_MESSAGES/django.po
index e013ad09a..9b7c9808d 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-12-30 20:05-0500\n"
+"POT-Creation-Date: 2025-01-13 20:33-0500\n"
"PO-Revision-Date: 2021-06-16 07:33+0000\n"
"Last-Translator: Oymate
SSH key-based authentication is not yet "
"possible."
msgstr ""
-#: modules/backups/forms.py:273
+#: modules/backups/forms.py:275
msgid "Remote backup repository already exists."
msgstr ""
-#: modules/backups/forms.py:279
+#: modules/backups/forms.py:281
msgid "Select verified SSH public key"
msgstr ""
#: modules/backups/manifest.py:14
#: modules/backups/templates/backups_repository.html:92
#: modules/backups/templates/backups_restore.html:27
-#: modules/backups/views.py:240 modules/snapshot/manifest.py:14
+#: modules/backups/views.py:238 modules/snapshot/manifest.py:14
#: templates/toolbar.html:44 templates/toolbar.html:45
msgid "Restore"
msgstr ""
@@ -506,16 +508,20 @@ msgstr ""
msgid "Backup system is busy with another operation."
msgstr ""
+#: modules/backups/privileged.py:92
+msgid "Not enough space left on the disk or remote location."
+msgstr ""
+
#: modules/backups/repository.py:94
msgid "Existing repository is not encrypted."
msgstr ""
-#: modules/backups/repository.py:266
+#: modules/backups/repository.py:289
#, python-brace-format
msgid "{box_name} storage"
msgstr ""
-#: modules/backups/templates/backups.html:17 modules/backups/views.py:125
+#: modules/backups/templates/backups.html:17 modules/backups/views.py:124
msgid "Create a new backup"
msgstr ""
@@ -559,10 +565,9 @@ msgstr ""
#: modules/help/templates/statuslog.html:24
#: modules/kiwix/templates/kiwix-add-package.html:26
#: modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:28
-#: modules/matrixsynapse/templates/matrix-synapse.html:76
+#: modules/matrixsynapse/templates/matrix-synapse.html:81
#: modules/names/templates/names.html:128
#: modules/networks/templates/connection_show.html:24
-#: modules/nextcloud/__init__.py:48
#: modules/pagekite/templates/pagekite_custom_services.html:16
#: modules/power/templates/power_busy_warning.html:11
#: modules/snapshot/templates/snapshot_not_supported.html:13
@@ -701,107 +706,107 @@ msgstr ""
msgid "Verify Host"
msgstr ""
-#: modules/backups/views.py:69
+#: modules/backups/views.py:68
msgid "Backup schedule updated."
msgstr ""
-#: modules/backups/views.py:88
+#: modules/backups/views.py:87
msgid "Schedule Backups"
msgstr ""
-#: modules/backups/views.py:150
+#: modules/backups/views.py:148
msgid "Archive created."
msgstr ""
-#: modules/backups/views.py:162
+#: modules/backups/views.py:160
msgid "Delete Archive"
msgstr ""
-#: modules/backups/views.py:175
+#: modules/backups/views.py:173
msgid "Archive deleted."
msgstr ""
-#: modules/backups/views.py:189
+#: modules/backups/views.py:187
msgid "Upload and restore a backup"
msgstr ""
-#: modules/backups/views.py:218
+#: modules/backups/views.py:216
msgid "Upload successful."
msgstr ""
-#: modules/backups/views.py:256
+#: modules/backups/views.py:254
msgid "No backup file found."
msgstr ""
-#: modules/backups/views.py:264
+#: modules/backups/views.py:262
msgid "Restore from uploaded file"
msgstr ""
-#: modules/backups/views.py:278 modules/backups/views.py:299
+#: modules/backups/views.py:276 modules/backups/views.py:297
msgid "Restored files from backup."
msgstr ""
-#: modules/backups/views.py:329
+#: modules/backups/views.py:327
msgid "No additional disks available to add a repository."
msgstr ""
-#: modules/backups/views.py:337
+#: modules/backups/views.py:335
msgid "Create backup repository"
msgstr ""
-#: modules/backups/views.py:352
+#: modules/backups/views.py:350
msgid "Added new repository."
msgstr ""
-#: modules/backups/views.py:366
+#: modules/backups/views.py:364
msgid "Create remote backup repository"
msgstr ""
-#: modules/backups/views.py:388
+#: modules/backups/views.py:386
msgid "Added new remote SSH repository."
msgstr ""
-#: modules/backups/views.py:410
+#: modules/backups/views.py:408
msgid "Verify SSH hostkey"
msgstr ""
-#: modules/backups/views.py:436
+#: modules/backups/views.py:434
msgid "SSH host already verified."
msgstr ""
-#: modules/backups/views.py:447
+#: modules/backups/views.py:445
msgid "SSH host verified."
msgstr ""
-#: modules/backups/views.py:463
+#: modules/backups/views.py:461
msgid "SSH host public key could not be verified."
msgstr ""
-#: modules/backups/views.py:465
+#: modules/backups/views.py:463
msgid "Authentication to remote server failed."
msgstr ""
-#: modules/backups/views.py:467
+#: modules/backups/views.py:465
msgid "Error establishing connection to server: {}"
msgstr ""
-#: modules/backups/views.py:478
+#: modules/backups/views.py:476
msgid "Repository removed."
msgstr ""
-#: modules/backups/views.py:492
+#: modules/backups/views.py:490
msgid "Remove Repository"
msgstr ""
-#: modules/backups/views.py:502
+#: modules/backups/views.py:500
msgid "Repository removed. Backups were not deleted."
msgstr ""
-#: modules/backups/views.py:513
+#: modules/backups/views.py:511
msgid "Unmounting failed!"
msgstr ""
-#: modules/backups/views.py:529 modules/backups/views.py:533
+#: modules/backups/views.py:527 modules/backups/views.py:531
msgid "Mounting failed"
msgstr ""
@@ -910,7 +915,7 @@ msgstr ""
msgid "No passwords currently configured."
msgstr ""
-#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:91
+#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:83
#: modules/miniflux/forms.py:14 modules/networks/forms.py:282
#: modules/shadowsocks/forms.py:32 modules/shadowsocksserver/forms.py:37
msgid "Password"
@@ -1028,8 +1033,10 @@ msgstr ""
msgid "Serving Domains"
msgstr ""
-#: modules/bind/templates/bind.html:17 modules/email/templates/email.html:38
-#: modules/ikiwiki/forms.py:12 modules/names/templates/names.html:18
+#: modules/bind/templates/bind.html:17
+#: modules/email/templates/email-dns.html:25
+#: modules/email/templates/email-dns.html:78 modules/ikiwiki/forms.py:12
+#: modules/names/templates/names.html:18
#: modules/networks/templates/connection_show.html:95
#: modules/samba/templates/samba.html:65
#: modules/storage/templates/storage.html:26
@@ -1059,7 +1066,7 @@ msgstr ""
#: modules/minetest/views.py:55 modules/mumble/views.py:37
#: modules/names/views.py:66 modules/names/views.py:95
#: modules/names/views.py:129 modules/pagekite/forms.py:74
-#: modules/privacy/views.py:50 modules/quassel/views.py:29
+#: modules/privacy/views.py:55 modules/quassel/views.py:29
#: modules/roundcube/views.py:32 modules/rssbridge/views.py:31
#: modules/shadowsocks/views.py:52 modules/shadowsocksserver/views.py:48
#: modules/ssh/views.py:62 modules/transmission/views.py:43
@@ -1656,7 +1663,7 @@ msgid "Test"
msgstr "পরীক্ষা"
#: modules/diagnostics/templates/diagnostics_results.html:12
-#: modules/dynamicdns/templates/dynamicdns.html:20
+#: modules/dynamicdns/templates/dynamicdns.html:25
#, fuzzy
msgid "Result"
msgstr "ফলাফল"
@@ -1670,7 +1677,7 @@ msgstr ""
msgid "App {app_id} is not installed, cannot repair"
msgstr ""
-#: modules/dynamicdns/__init__.py:28
+#: modules/dynamicdns/__init__.py:29
#, python-brace-format
msgid ""
"If your Internet provider changes your IP address periodically (i.e. every "
@@ -1678,7 +1685,7 @@ msgid ""
"prevent others from finding services which are provided by this {box_name}."
msgstr ""
-#: modules/dynamicdns/__init__.py:32
+#: modules/dynamicdns/__init__.py:33
msgid ""
"The solution is to assign a DNS name to your IP address and update the DNS "
"name every time your IP is changed by your Internet provider. Dynamic DNS "
@@ -1689,7 +1696,7 @@ msgid ""
"IP address."
msgstr ""
-#: modules/dynamicdns/__init__.py:40
+#: modules/dynamicdns/__init__.py:41
msgid ""
"If you are looking for a free dynamic DNS account, you may find a free "
"GnuDIP service at ddns."
@@ -1697,11 +1704,17 @@ msgid ""
"href='http://freedns.afraid.org/' target='_blank'>freedns.afraid.org."
msgstr ""
-#: modules/dynamicdns/__init__.py:61
+#: modules/dynamicdns/__init__.py:46
+msgid ""
+"This service uses an external service to lookup public IP address. This can "
+"be configured in the privacy app."
+msgstr ""
+
+#: modules/dynamicdns/__init__.py:64
msgid "Dynamic DNS Client"
msgstr ""
-#: modules/dynamicdns/__init__.py:75
+#: modules/dynamicdns/__init__.py:78
msgid "Dynamic Domain Name"
msgstr ""
@@ -1745,84 +1758,71 @@ msgid "Leave this field empty if you want to keep your current password."
msgstr ""
#: modules/dynamicdns/forms.py:43
-#, python-brace-format
-msgid ""
-"Optional Value. If your {box_name} is not connected directly to the Internet "
-"(i.e. connected to a NAT router) this URL is used to determine the real IP "
-"address. The URL should simply return the IP where the client comes from "
-"(example: https://ddns.freedombox.org/ip/)."
-msgstr ""
-
-#: modules/dynamicdns/forms.py:51
msgid "The username that was used when the account was created."
msgstr ""
-#: modules/dynamicdns/forms.py:54
+#: modules/dynamicdns/forms.py:46
msgid "GnuDIP"
msgstr ""
-#: modules/dynamicdns/forms.py:57
+#: modules/dynamicdns/forms.py:49
msgid "Other update URL"
msgstr ""
-#: modules/dynamicdns/forms.py:59
+#: modules/dynamicdns/forms.py:51
msgid "Service Type"
msgstr ""
-#: modules/dynamicdns/forms.py:64
+#: modules/dynamicdns/forms.py:56
msgid "GnuDIP Server Address"
msgstr ""
-#: modules/dynamicdns/forms.py:67
+#: modules/dynamicdns/forms.py:59
msgid "Invalid server name"
msgstr ""
-#: modules/dynamicdns/forms.py:70
+#: modules/dynamicdns/forms.py:62
msgid "Update URL"
msgstr ""
-#: modules/dynamicdns/forms.py:74
+#: modules/dynamicdns/forms.py:66
msgid "Accept all SSL certificates"
msgstr ""
-#: modules/dynamicdns/forms.py:78
+#: modules/dynamicdns/forms.py:70
msgid "Use HTTP basic authentication"
msgstr ""
-#: modules/dynamicdns/forms.py:82 modules/names/__init__.py:68
+#: modules/dynamicdns/forms.py:74 modules/names/__init__.py:68
#: modules/names/forms.py:106 modules/names/templates/names.html:19
msgid "Domain Name"
msgstr ""
-#: modules/dynamicdns/forms.py:85 modules/names/forms.py:99
+#: modules/dynamicdns/forms.py:77 modules/names/forms.py:99
#: modules/names/forms.py:117
msgid "Invalid domain name"
msgstr ""
-#: modules/dynamicdns/forms.py:88 modules/miniflux/forms.py:11
+#: modules/dynamicdns/forms.py:80 modules/miniflux/forms.py:11
#: modules/networks/forms.py:281 modules/users/forms.py:130
msgid "Username"
msgstr "নাম"
-#: modules/dynamicdns/forms.py:95 modules/networks/forms.py:284
+#: modules/dynamicdns/forms.py:87 modules/networks/forms.py:284
msgid "Show password"
msgstr ""
-#: modules/dynamicdns/forms.py:99
-msgid "URL to look up public IP"
-msgstr ""
-
-#: modules/dynamicdns/forms.py:104
+#: modules/dynamicdns/forms.py:91
msgid "Use IPv6 instead of IPv4"
msgstr ""
-#: modules/dynamicdns/forms.py:123
+#: modules/dynamicdns/forms.py:110
msgid "This field is required."
msgstr ""
#: modules/dynamicdns/manifest.py:17
-#: modules/dynamicdns/templates/dynamicdns.html:18
-#: modules/email/templates/email.html:35
+#: modules/dynamicdns/templates/dynamicdns.html:23
+#: modules/email/templates/email-dns.html:22
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64
msgid "Domain"
@@ -1836,37 +1836,37 @@ msgstr ""
msgid "Needs public IP"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:11
-#: modules/ejabberd/templates/ejabberd.html:13 modules/firewall/manifest.py:10
+#: modules/dynamicdns/templates/dynamicdns.html:16
+#: modules/ejabberd/templates/ejabberd.html:18 modules/firewall/manifest.py:10
#: modules/firewall/templates/firewall.html:16
#: modules/firewall/templates/firewall.html:22
#: modules/letsencrypt/templates/letsencrypt.html:17
-#: modules/matrixsynapse/templates/matrix-synapse.html:12
+#: modules/matrixsynapse/templates/matrix-synapse.html:17
#: modules/networks/templates/connection_show.html:258
-#: modules/samba/templates/samba.html:67 modules/tor/templates/tor.html:19
+#: modules/samba/templates/samba.html:67 modules/tor/templates/tor.html:24
#: modules/upgrades/templates/upgrades_configure.html:14
#: modules/wireguard/templates/wireguard_show_client.html:48
#: modules/wireguard/templates/wireguard_show_server.html:47
msgid "Status"
msgstr "অবস্থা"
-#: modules/dynamicdns/templates/dynamicdns.html:19
+#: modules/dynamicdns/templates/dynamicdns.html:24
msgid "Last update"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:21
+#: modules/dynamicdns/templates/dynamicdns.html:26
msgid "IP Address"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:32
+#: modules/dynamicdns/templates/dynamicdns.html:37
msgid "Success"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:36
+#: modules/dynamicdns/templates/dynamicdns.html:41
msgid "Failed"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:52
+#: modules/dynamicdns/templates/dynamicdns.html:57
msgid "No status available."
msgstr ""
@@ -2016,7 +2016,7 @@ msgstr ""
msgid "XMPP"
msgstr ""
-#: modules/ejabberd/templates/ejabberd.html:18
+#: modules/ejabberd/templates/ejabberd.html:23
#, python-format
msgid ""
"Your XMPP server domain is set to %(domain_name)s. User IDs will look "
@@ -2024,7 +2024,7 @@ msgid ""
"system Name Services page."
msgstr ""
-#: modules/ejabberd/templates/ejabberd.html:25
+#: modules/ejabberd/templates/ejabberd.html:30
#, python-format
msgid ""
"Your XMPP server domain is not set. You can setup your domain on the system "
@@ -2072,18 +2072,20 @@ msgstr ""
msgid "Postfix/Dovecot"
msgstr ""
-#: modules/email/__init__.py:83
+#: modules/email/__init__.py:80
+msgid "More emails"
+msgstr ""
+
+#: modules/email/__init__.py:80
+msgid "Same mailbox"
+msgstr ""
+
+#: modules/email/__init__.py:82
#, fuzzy
#| msgid "Enabled"
msgid "My Email Aliases"
msgstr "সক্রিয়"
-#: modules/email/__init__.py:84
-#, fuzzy
-#| msgid "Enabled"
-msgid "Manage Aliases for Mailbox"
-msgstr "সক্রিয়"
-
#: modules/email/forms.py:25
#, fuzzy
#| msgid "Domain"
@@ -2166,45 +2168,94 @@ msgstr ""
msgid "Add"
msgstr ""
+#: modules/email/templates/email-dns.html:9
+msgid "DNS Records for domain:"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:12
+msgid ""
+"The following DNS records must be added manually on this domain for the mail "
+"server to work properly for this domain."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:23
+#: modules/email/templates/email-dns.html:77
+msgid "TTL"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:24
+msgid "Class"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:26
+msgid "Priority"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:27
+msgid "Weight"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:28
+#: modules/minetest/templates/minetest.html:18
+msgid "Port"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:29
+#: modules/email/templates/email-dns.html:79
+msgid "Host/Target/Value"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:50
+msgid "Reverse DNS Records for IP Addresses"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:53
+#, python-format
+msgid ""
+"If your %(box_name)s runs on a cloud service infrastructure, you should "
+"configure "
+"Reverse DNS lookup. This isn't mandatory, however, it greatly improves "
+"email deliverability. Reverse DNS isn't configured where your regular DNS "
+"is. You should look for it in the settings of your VPS/ISP. Some providers "
+"preconfigure the IP address part for you and you only have to set the domain "
+"part. Only one of your domains can have Revese DNS lookup configured unless "
+"you have multiple public IP addresses."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:66
+msgid ""
+"An external service is used to lookup public IP address to show in the "
+"following section. This can be configured in the privacy app."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:76
+#, fuzzy
+#| msgid "Hostname"
+msgid "Host"
+msgstr "হোস্ট নাম"
+
#: modules/email/templates/email.html:10
#, fuzzy
#| msgid "Enabled"
msgid "Manage Spam"
msgstr "সক্রিয়"
-#: modules/email/templates/email.html:22
-msgid "DNS Records"
-msgstr ""
+#: modules/email/templates/email.html:20 modules/names/manifest.py:11
+#: modules/names/templates/names.html:12
+#, fuzzy
+#| msgid "Domain"
+msgid "Domains"
+msgstr "ডোমেন"
-#: modules/email/templates/email.html:25
+#: modules/email/templates/email.html:23
msgid ""
-"The following DNS records must be added manually on your primary domain for "
-"the mail server to work properly."
+"The following domains are configured. View details to see the list of DNS "
+"entries to be made for the domain."
msgstr ""
-#: modules/email/templates/email.html:36
-msgid "TTL"
-msgstr ""
-
-#: modules/email/templates/email.html:37
-msgid "Class"
-msgstr ""
-
-#: modules/email/templates/email.html:39
-msgid "Priority"
-msgstr ""
-
-#: modules/email/templates/email.html:40
-msgid "Weight"
-msgstr ""
-
-#: modules/email/templates/email.html:41
-#: modules/minetest/templates/minetest.html:18
-msgid "Port"
-msgstr ""
-
-#: modules/email/templates/email.html:42
-msgid "Host/Target/Value"
+#: modules/email/templates/email.html:35
+#, python-format
+msgid "View domain: %(domain)s"
msgstr ""
#: modules/featherwiki/__init__.py:25
@@ -2451,7 +2502,7 @@ msgstr ""
msgid "Port {name} ({details}) unavailable for external networks"
msgstr ""
-#: modules/firewall/manifest.py:10 modules/tor/templates/tor.html:20
+#: modules/firewall/manifest.py:10 modules/tor/templates/tor.html:25
msgid "Ports"
msgstr ""
@@ -2780,9 +2831,9 @@ msgstr ""
msgid "Contribute"
msgstr ""
-#: modules/help/__init__.py:53 templates/base.html:215 templates/base.html:218
+#: modules/help/__init__.py:53 templates/base.html:217 templates/base.html:220
#: templates/help-menu.html:46 templates/help-menu.html:47
-#: templates/index.html:98
+#: templates/index.html:96
msgid "About"
msgstr "সম্পর্কে"
@@ -2915,7 +2966,7 @@ msgstr ""
#: modules/help/templates/help_contribute.html:42
#: modules/power/templates/power_restart.html:27
-#: modules/power/templates/power_shutdown.html:26 templates/app-header.html:68
+#: modules/power/templates/power_shutdown.html:26 templates/app-header.html:65
msgid "Learn more..."
msgstr ""
@@ -3237,7 +3288,7 @@ msgid "Web conference"
msgstr ""
#: modules/janus/templates/janus_video_room.html:205
-#: modules/jsxc/templates/jsxc_launch.html:117 templates/base.html:271
+#: modules/jsxc/templates/jsxc_launch.html:117 templates/base.html:273
msgid "JavaScript license information"
msgstr ""
@@ -3601,7 +3652,7 @@ msgid ""
"least one domain to be able to use Matrix Synapse."
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:15
+#: modules/matrixsynapse/templates/matrix-synapse.html:20
#, python-format
msgid ""
"The Matrix server domain is set to %(domain_name)s. User IDs will "
@@ -3609,43 +3660,43 @@ msgid ""
"the initial setup is currently not supported."
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:22
+#: modules/matrixsynapse/templates/matrix-synapse.html:27
msgid ""
"New users can be registered from any client if public registration is "
"enabled."
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:29
+#: modules/matrixsynapse/templates/matrix-synapse.html:34
msgid ""
"New users must use one of the following tokens for verification during "
"account registration:"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:38
+#: modules/matrixsynapse/templates/matrix-synapse.html:43
msgid "Registration Token"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:39
+#: modules/matrixsynapse/templates/matrix-synapse.html:44
msgid "Uses Allowed"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:40
+#: modules/matrixsynapse/templates/matrix-synapse.html:45
msgid "Pending Registrations"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:41
+#: modules/matrixsynapse/templates/matrix-synapse.html:46
msgid "Completed Registrations"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:42
+#: modules/matrixsynapse/templates/matrix-synapse.html:47
msgid "Expiry Time"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:51
+#: modules/matrixsynapse/templates/matrix-synapse.html:56
msgid "Unlimited"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:80
+#: modules/matrixsynapse/templates/matrix-synapse.html:85
#, python-format
msgid ""
"The configured domain name is using a self-signed certificate. Federation "
@@ -4062,23 +4113,27 @@ msgstr ""
msgid "An error occurred during password reset: {error}."
msgstr ""
-#: modules/mumble/__init__.py:25
+#: modules/mumble/__init__.py:27
msgid ""
"Mumble is an open source, low-latency, encrypted, high quality voice chat "
"software."
msgstr ""
-#: modules/mumble/__init__.py:27
+#: modules/mumble/__init__.py:29
msgid ""
"You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your "
"desktop and mobile devices are available."
msgstr ""
-#: modules/mumble/__init__.py:45 modules/mumble/manifest.py:9
+#: modules/mumble/__init__.py:47 modules/mumble/manifest.py:9
msgid "Mumble"
msgstr ""
+#: modules/mumble/__init__.py:158
+msgid "Mumble server is configured"
+msgstr ""
+
#: modules/mumble/forms.py:30
msgid "Set SuperUser Password"
msgstr ""
@@ -4203,12 +4258,6 @@ msgid ""
"or less."
msgstr ""
-#: modules/names/manifest.py:11 modules/names/templates/names.html:12
-#, fuzzy
-#| msgid "Domain"
-msgid "Domains"
-msgstr "ডোমেন"
-
#: modules/names/manifest.py:13
msgid "DNS Resolution"
msgstr ""
@@ -4709,7 +4758,7 @@ msgstr ""
#: modules/networks/templates/connection_show.html:40
#: modules/wireguard/templates/wireguard_show_client.html:72
#: modules/wireguard/templates/wireguard_show_server.html:73
-#: templates/base.html:165 templates/base.html:166
+#: templates/base.html:167 templates/base.html:168
msgid "Edit"
msgstr ""
@@ -4762,7 +4811,7 @@ msgstr ""
#: modules/networks/templates/connection_show.html:107
#: modules/snapshot/templates/snapshot_delete_selected.html:19
-#: modules/snapshot/templates/snapshot_manage.html:29
+#: modules/snapshot/templates/snapshot_manage.html:34
#: modules/snapshot/templates/snapshot_rollback.html:27
msgid "Description"
msgstr ""
@@ -4840,8 +4889,8 @@ msgstr ""
#: modules/networks/templates/connection_show.html:264
#: modules/networks/templates/connections_fields_privacy.html:15
-#: modules/openvpn/manifest.py:60 modules/privacy/__init__.py:32
-#: modules/privacy/__init__.py:72 modules/wireguard/manifest.py:45
+#: modules/openvpn/manifest.py:60 modules/privacy/__init__.py:38
+#: modules/privacy/__init__.py:77 modules/wireguard/manifest.py:45
msgid "Privacy"
msgstr ""
@@ -4925,7 +4974,7 @@ msgstr ""
msgid "Computer"
msgstr ""
-#: modules/networks/templates/connections_edit.html:19
+#: modules/networks/templates/connections_edit.html:24
#: modules/networks/views.py:253 modules/networks/views.py:341
msgid "Edit Connection"
msgstr ""
@@ -4936,7 +4985,7 @@ msgid "Error:"
msgstr ""
#: modules/networks/templates/connections_fields.html:20
-#: modules/users/templates/users_update.html:46 templates/messages.html:30
+#: modules/users/templates/users_update.html:51 templates/messages.html:30
msgid "Close"
msgstr ""
@@ -5028,7 +5077,7 @@ msgstr ""
#: modules/networks/templates/network_topology_update.html:18
#: modules/networks/templates/router_configuration_update.html:19
#: modules/pagekite/templates/pagekite_custom_services.html:33
-#: modules/sharing/templates/sharing_add_edit.html:20 templates/form.html:19
+#: modules/sharing/templates/sharing_add_edit.html:25 templates/form.html:19
msgid "Submit"
msgstr "জমা দাও"
@@ -5422,11 +5471,7 @@ msgid ""
"performed following an independent cycle."
msgstr ""
-#: modules/nextcloud/__init__.py:48
-msgid "This app is experimental."
-msgstr ""
-
-#: modules/nextcloud/__init__.py:66 modules/nextcloud/manifest.py:11
+#: modules/nextcloud/__init__.py:65 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
msgid "Nextcloud"
msgstr ""
@@ -5594,7 +5639,7 @@ msgstr ""
msgid "PageKite"
msgstr ""
-#: modules/pagekite/__init__.py:73
+#: modules/pagekite/__init__.py:72
msgid "PageKite Domain"
msgstr ""
@@ -5773,8 +5818,8 @@ msgstr ""
msgid "Shutdown"
msgstr ""
-#: modules/power/templates/power.html:15 templates/base.html:180
-#: templates/base.html:181
+#: modules/power/templates/power.html:15 templates/base.html:182
+#: templates/base.html:183
msgid "Restart"
msgstr ""
@@ -5810,23 +5855,33 @@ msgstr ""
msgid "Shut Down Now"
msgstr ""
-#: modules/privacy/__init__.py:15
+#: modules/privacy/__init__.py:21
msgid "Manage system-wide privacy settings."
msgstr ""
-#: modules/privacy/__init__.py:70
+#: modules/privacy/__init__.py:75
msgid "Please update privacy settings to match your preferences."
msgstr ""
-#: modules/privacy/__init__.py:75
+#: modules/privacy/__init__.py:80
msgid "Review privacy setting"
msgstr ""
-#: modules/privacy/forms.py:16
+#: modules/privacy/forms.py:17
+#, python-brace-format
+msgid ""
+"Optional Value. This URL is used to determine the publicly visible IP "
+"address of your {box_name}. The URL should simply return the IPv4 or IPv6 "
+"address where the client request comes from. Default is to use the service "
+"provided by the FreedomBox Foundation at https://ddns.freedombox.org/ip/. If "
+"empty, lookups are disabled and some functionality will fail."
+msgstr ""
+
+#: modules/privacy/forms.py:25
msgid "Periodically submit a list of apps used (suggested)"
msgstr ""
-#: modules/privacy/forms.py:18
+#: modules/privacy/forms.py:27
#, python-brace-format
msgid ""
"Help Debian/{box_name} developers by participating in the Popularity Contest "
@@ -5837,11 +5892,11 @@ msgid ""
"network for additional anonymity if Tor app is enabled."
msgstr ""
-#: modules/privacy/forms.py:28
+#: modules/privacy/forms.py:37
msgid "Allow using fallback DNS servers"
msgstr ""
-#: modules/privacy/forms.py:30
+#: modules/privacy/forms.py:39
msgid ""
"Use well-known public DNS servers to resolve domain names in unusual "
"circumstances where no DNS servers are known but internet connectivity is "
@@ -5849,10 +5904,18 @@ msgid ""
"and reliable."
msgstr ""
+#: modules/privacy/forms.py:45
+msgid "URL to look up public IP address"
+msgstr ""
+
#: modules/privacy/manifest.py:10
msgid "Usage reporting"
msgstr ""
+#: modules/privacy/manifest.py:10
+msgid "External services"
+msgstr ""
+
#: modules/privacy/manifest.py:10
msgid "Fallback DNS"
msgstr ""
@@ -6762,40 +6825,40 @@ msgid "Delete the following snapshots permanently?"
msgstr ""
#: modules/snapshot/templates/snapshot_delete_selected.html:17
-#: modules/snapshot/templates/snapshot_manage.html:27
+#: modules/snapshot/templates/snapshot_manage.html:32
#: modules/snapshot/templates/snapshot_rollback.html:25
msgid "Number"
msgstr ""
#: modules/snapshot/templates/snapshot_delete_selected.html:18
-#: modules/snapshot/templates/snapshot_manage.html:28
+#: modules/snapshot/templates/snapshot_manage.html:33
#: modules/snapshot/templates/snapshot_rollback.html:26
msgid "Date"
msgstr ""
#: modules/snapshot/templates/snapshot_delete_selected.html:42
-#: modules/snapshot/templates/snapshot_manage.html:20
+#: modules/snapshot/templates/snapshot_manage.html:25
#: modules/snapshot/views.py:197
msgid "Delete Snapshots"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:17
+#: modules/snapshot/templates/snapshot_manage.html:22
msgid "Create Snapshot"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:30
+#: modules/snapshot/templates/snapshot_manage.html:35
msgid "Rollback"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:40
+#: modules/snapshot/templates/snapshot_manage.html:45
msgid "will be used at next boot"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:45
+#: modules/snapshot/templates/snapshot_manage.html:50
msgid "in use"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:54
+#: modules/snapshot/templates/snapshot_manage.html:59
#, python-format
msgid "Rollback to snapshot #%(number)s"
msgstr ""
@@ -7328,27 +7391,27 @@ msgstr ""
msgid "Tor"
msgstr ""
-#: modules/tor/__init__.py:78
+#: modules/tor/__init__.py:77
msgid "Tor Onion Service"
msgstr ""
-#: modules/tor/__init__.py:82
+#: modules/tor/__init__.py:81
msgid "Tor Bridge Relay"
msgstr ""
-#: modules/tor/__init__.py:140
+#: modules/tor/__init__.py:139
msgid "Tor relay port available"
msgstr ""
-#: modules/tor/__init__.py:152
+#: modules/tor/__init__.py:151
msgid "Obfs3 transport registered"
msgstr ""
-#: modules/tor/__init__.py:163
+#: modules/tor/__init__.py:162
msgid "Obfs4 transport registered"
msgstr ""
-#: modules/tor/__init__.py:176
+#: modules/tor/__init__.py:175
msgid "Onion service is version 3"
msgstr ""
@@ -7438,7 +7501,7 @@ msgstr ""
msgid "Anonymity network"
msgstr ""
-#: modules/tor/templates/tor.html:18
+#: modules/tor/templates/tor.html:23
msgid "Onion Service"
msgstr ""
@@ -8005,39 +8068,39 @@ msgstr ""
msgid "Edit user %(username)s"
msgstr ""
-#: modules/users/templates/users_update.html:12
+#: modules/users/templates/users_update.html:17
#, python-format
msgid "Edit User %(username)s"
msgstr ""
-#: modules/users/templates/users_update.html:20
+#: modules/users/templates/users_update.html:25
#, python-format
msgid ""
"Use the change password form to "
"change the password."
msgstr ""
-#: modules/users/templates/users_update.html:32
+#: modules/users/templates/users_update.html:37
#: templates/language-selection.html:17
msgid "Save Changes"
msgstr ""
-#: modules/users/templates/users_update.html:41
+#: modules/users/templates/users_update.html:46
#, python-format
msgid "Delete user %(username)s and all the user's files?"
msgstr ""
-#: modules/users/templates/users_update.html:51
+#: modules/users/templates/users_update.html:56
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
msgstr ""
-#: modules/users/templates/users_update.html:60
+#: modules/users/templates/users_update.html:65
msgid "Delete user and files"
msgstr ""
-#: modules/users/templates/users_update.html:63
+#: modules/users/templates/users_update.html:68
msgid "Cancel"
msgstr "বাতিল"
@@ -8661,11 +8724,11 @@ msgstr ""
msgid "Service %(service_name)s is not running."
msgstr ""
-#: templates/apps.html:29
+#: templates/apps.html:33
msgid "Search with tags"
msgstr ""
-#: templates/apps.html:42
+#: templates/apps.html:46
msgid "Clear all tags"
msgstr ""
@@ -8675,35 +8738,35 @@ msgid ""
"is free software that lets you install and manage server apps with ease."
msgstr ""
-#: templates/base.html:116
+#: templates/base.html:118
msgid " Home"
msgstr ""
-#: templates/base.html:124
+#: templates/base.html:126
msgid " Apps"
msgstr ""
-#: templates/base.html:133
+#: templates/base.html:135
msgid " System"
msgstr ""
-#: templates/base.html:172 templates/base.html:173
+#: templates/base.html:174 templates/base.html:175
msgid "Change password"
msgstr ""
-#: templates/base.html:186 templates/base.html:187
+#: templates/base.html:188 templates/base.html:189
msgid "Shut down"
msgstr ""
-#: templates/base.html:197 templates/base.html:235
+#: templates/base.html:199 templates/base.html:237
msgid "Log out"
msgstr ""
-#: templates/base.html:206 templates/base.html:209
+#: templates/base.html:208 templates/base.html:211
msgid "Select language"
msgstr ""
-#: templates/base.html:224 templates/base.html:226
+#: templates/base.html:226 templates/base.html:228
msgid "Log in"
msgstr ""
@@ -8905,23 +8968,28 @@ msgid ""
"installed freshly again."
msgstr ""
-#: views.py:85
+#: views.py:84
msgid "Here"
msgstr ""
-#: views.py:374
+#: views.py:376
msgid "Setting unchanged"
msgstr ""
-#: views.py:609
+#: views.py:610
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""
-#: web_framework.py:114
+#: web_framework.py:122
msgid "Gujarati"
msgstr ""
+#, fuzzy
+#~| msgid "Enabled"
+#~ msgid "Manage Aliases for Mailbox"
+#~ msgstr "সক্রিয়"
+
#~ msgid "Documentation"
#~ msgstr "নির্দেশিকা"
diff --git a/plinth/locale/cs/LC_MESSAGES/django.po b/plinth/locale/cs/LC_MESSAGES/django.po
index b3cf1b180..c4071785f 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-12-30 20:05-0500\n"
+"POT-Creation-Date: 2025-01-13 20:33-0500\n"
"PO-Revision-Date: 2025-01-02 09:00+0000\n"
"Last-Translator: Jiří Podhorecký
SSH key-based authentication is not yet "
"possible."
msgstr "Heslo serveru SSH.
Ověřování pomocí klíčů SSH zatím není možné."
-#: modules/backups/forms.py:273
+#: modules/backups/forms.py:275
msgid "Remote backup repository already exists."
msgstr "Repozitář se zálohou už na protějšku existuje."
-#: modules/backups/forms.py:279
+#: modules/backups/forms.py:281
msgid "Select verified SSH public key"
msgstr "Vyberte ověřený SSH veřejný klíč"
#: modules/backups/manifest.py:14
#: modules/backups/templates/backups_repository.html:92
#: modules/backups/templates/backups_restore.html:27
-#: modules/backups/views.py:240 modules/snapshot/manifest.py:14
+#: modules/backups/views.py:238 modules/snapshot/manifest.py:14
#: templates/toolbar.html:44 templates/toolbar.html:45
msgid "Restore"
msgstr "Obnovit"
@@ -539,16 +541,20 @@ msgstr "Archiv s daným názvem nebyl v úložišti nalezen."
msgid "Backup system is busy with another operation."
msgstr "Zálohovací systém je zaneprázdněn jinou operací."
+#: modules/backups/privileged.py:92
+msgid "Not enough space left on the disk or remote location."
+msgstr ""
+
#: modules/backups/repository.py:94
msgid "Existing repository is not encrypted."
msgstr "Existující repozitář není šifrován."
-#: modules/backups/repository.py:266
+#: modules/backups/repository.py:289
#, python-brace-format
msgid "{box_name} storage"
msgstr "Úložiště {box_name}"
-#: modules/backups/templates/backups.html:17 modules/backups/views.py:125
+#: modules/backups/templates/backups.html:17 modules/backups/views.py:124
msgid "Create a new backup"
msgstr "Vytvořit novou zálohu"
@@ -592,10 +598,9 @@ msgstr "Existující zálohy"
#: modules/help/templates/statuslog.html:24
#: modules/kiwix/templates/kiwix-add-package.html:26
#: modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:28
-#: modules/matrixsynapse/templates/matrix-synapse.html:76
+#: modules/matrixsynapse/templates/matrix-synapse.html:81
#: modules/names/templates/names.html:128
#: modules/networks/templates/connection_show.html:24
-#: modules/nextcloud/__init__.py:48
#: modules/pagekite/templates/pagekite_custom_services.html:16
#: modules/power/templates/power_busy_warning.html:11
#: modules/snapshot/templates/snapshot_not_supported.html:13
@@ -755,107 +760,107 @@ msgstr ""
msgid "Verify Host"
msgstr "Ověřit stroj"
-#: modules/backups/views.py:69
+#: modules/backups/views.py:68
msgid "Backup schedule updated."
msgstr "Plán zálohování aktualizován."
-#: modules/backups/views.py:88
+#: modules/backups/views.py:87
msgid "Schedule Backups"
msgstr "Plánování záloh"
-#: modules/backups/views.py:150
+#: modules/backups/views.py:148
msgid "Archive created."
msgstr "Archiv vytvořen."
-#: modules/backups/views.py:162
+#: modules/backups/views.py:160
msgid "Delete Archive"
msgstr "Smazat archiv"
-#: modules/backups/views.py:175
+#: modules/backups/views.py:173
msgid "Archive deleted."
msgstr "Archiv smazán."
-#: modules/backups/views.py:189
+#: modules/backups/views.py:187
msgid "Upload and restore a backup"
msgstr "Nahrát zálohu a obnovit z ní"
-#: modules/backups/views.py:218
+#: modules/backups/views.py:216
msgid "Upload successful."
msgstr "Nahrání bylo úspěšné."
-#: modules/backups/views.py:256
+#: modules/backups/views.py:254
msgid "No backup file found."
msgstr "Nebyl nalezen žádný soubor se zálohou."
-#: modules/backups/views.py:264
+#: modules/backups/views.py:262
msgid "Restore from uploaded file"
msgstr "Obnovit z nahraného souboru"
-#: modules/backups/views.py:278 modules/backups/views.py:299
+#: modules/backups/views.py:276 modules/backups/views.py:297
msgid "Restored files from backup."
msgstr "Soubory obnovené ze zálohy."
-#: modules/backups/views.py:329
+#: modules/backups/views.py:327
msgid "No additional disks available to add a repository."
msgstr "Nejsou k dispozici žádná další úložiště pro přidání repozitáře."
-#: modules/backups/views.py:337
+#: modules/backups/views.py:335
msgid "Create backup repository"
msgstr "Vytvořit repozitář pro zálohy"
-#: modules/backups/views.py:352
+#: modules/backups/views.py:350
msgid "Added new repository."
msgstr "Přidáno nové úložiště."
-#: modules/backups/views.py:366
+#: modules/backups/views.py:364
msgid "Create remote backup repository"
msgstr "Vytvořit repozitář pro zálohy na protějšku"
-#: modules/backups/views.py:388
+#: modules/backups/views.py:386
msgid "Added new remote SSH repository."
msgstr "Přidán nový vzdálený SSH repozitář."
-#: modules/backups/views.py:410
+#: modules/backups/views.py:408
msgid "Verify SSH hostkey"
msgstr "Ověřit SSH klíč stroje"
-#: modules/backups/views.py:436
+#: modules/backups/views.py:434
msgid "SSH host already verified."
msgstr "SSH stroj už je ověřen."
-#: modules/backups/views.py:447
+#: modules/backups/views.py:445
msgid "SSH host verified."
msgstr "SSH stroj ověřen."
-#: modules/backups/views.py:463
+#: modules/backups/views.py:461
msgid "SSH host public key could not be verified."
msgstr "Veřejný klíč SSH stroje se nepodařilo ověřit."
-#: modules/backups/views.py:465
+#: modules/backups/views.py:463
msgid "Authentication to remote server failed."
msgstr "Ověření vůči vzdálenému serveru se nezdařilo."
-#: modules/backups/views.py:467
+#: modules/backups/views.py:465
msgid "Error establishing connection to server: {}"
msgstr "Chyba při navazování spojení se serverem: {}"
-#: modules/backups/views.py:478
+#: modules/backups/views.py:476
msgid "Repository removed."
msgstr "Repozitář odstraněn."
-#: modules/backups/views.py:492
+#: modules/backups/views.py:490
msgid "Remove Repository"
msgstr "Odebrat repozitář"
-#: modules/backups/views.py:502
+#: modules/backups/views.py:500
msgid "Repository removed. Backups were not deleted."
msgstr "Repozitář odebrán. Zálohy jako takové smazány nebyly."
-#: modules/backups/views.py:513
+#: modules/backups/views.py:511
msgid "Unmounting failed!"
msgstr "Odpojení se nezdařilo!"
-#: modules/backups/views.py:529 modules/backups/views.py:533
+#: modules/backups/views.py:527 modules/backups/views.py:531
msgid "Mounting failed"
msgstr "Připojení (mount) se nezdařilo"
@@ -975,7 +980,7 @@ msgstr "Přidat heslo"
msgid "No passwords currently configured."
msgstr "V současné době nejsou nakonfigurována žádná hesla."
-#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:91
+#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:83
#: modules/miniflux/forms.py:14 modules/networks/forms.py:282
#: modules/shadowsocks/forms.py:32 modules/shadowsocksserver/forms.py:37
msgid "Password"
@@ -1099,8 +1104,10 @@ msgstr "Řešitel"
msgid "Serving Domains"
msgstr "Obsluhované domény"
-#: modules/bind/templates/bind.html:17 modules/email/templates/email.html:38
-#: modules/ikiwiki/forms.py:12 modules/names/templates/names.html:18
+#: modules/bind/templates/bind.html:17
+#: modules/email/templates/email-dns.html:25
+#: modules/email/templates/email-dns.html:78 modules/ikiwiki/forms.py:12
+#: modules/names/templates/names.html:18
#: modules/networks/templates/connection_show.html:95
#: modules/samba/templates/samba.html:65
#: modules/storage/templates/storage.html:26
@@ -1130,7 +1137,7 @@ msgstr "Obnovení IP adresy a domén"
#: modules/minetest/views.py:55 modules/mumble/views.py:37
#: modules/names/views.py:66 modules/names/views.py:95
#: modules/names/views.py:129 modules/pagekite/forms.py:74
-#: modules/privacy/views.py:50 modules/quassel/views.py:29
+#: modules/privacy/views.py:55 modules/quassel/views.py:29
#: modules/roundcube/views.py:32 modules/rssbridge/views.py:31
#: modules/shadowsocks/views.py:52 modules/shadowsocksserver/views.py:48
#: modules/ssh/views.py:62 modules/transmission/views.py:43
@@ -1766,7 +1773,7 @@ msgid "Test"
msgstr "Vyzkoušet"
#: modules/diagnostics/templates/diagnostics_results.html:12
-#: modules/dynamicdns/templates/dynamicdns.html:20
+#: modules/dynamicdns/templates/dynamicdns.html:25
msgid "Result"
msgstr "Výsledek"
@@ -1779,7 +1786,7 @@ msgstr "Diagnostické testy"
msgid "App {app_id} is not installed, cannot repair"
msgstr "Aplikace {app_id} není nainstalována, nelze opravit"
-#: modules/dynamicdns/__init__.py:28
+#: modules/dynamicdns/__init__.py:29
#, python-brace-format
msgid ""
"If your Internet provider changes your IP address periodically (i.e. every "
@@ -1790,7 +1797,7 @@ msgstr ""
"každých 24 hodin), může být pro ostatní obtížné vás na internetu najít. To "
"ostatním znemožní najít služby, které jsou poskytovány tímto {box_name}."
-#: modules/dynamicdns/__init__.py:32
+#: modules/dynamicdns/__init__.py:33
msgid ""
"The solution is to assign a DNS name to your IP address and update the DNS "
"name every time your IP is changed by your Internet provider. Dynamic DNS "
@@ -1807,7 +1814,7 @@ msgstr ""
"váš název DNS k nové IP adrese, a pokud se někdo z Internetu zeptá na váš "
"název DNS, dostane odpověď s vaší aktuální IP adresou."
-#: modules/dynamicdns/__init__.py:40
+#: modules/dynamicdns/__init__.py:41
msgid ""
"If you are looking for a free dynamic DNS account, you may find a free "
"GnuDIP service at ddns."
@@ -1820,11 +1827,17 @@ msgstr ""
"založené na aktualizaci URL na adrese freedns.afraid.org."
-#: modules/dynamicdns/__init__.py:61
+#: modules/dynamicdns/__init__.py:46
+msgid ""
+"This service uses an external service to lookup public IP address. This can "
+"be configured in the privacy app."
+msgstr ""
+
+#: modules/dynamicdns/__init__.py:64
msgid "Dynamic DNS Client"
msgstr "Klient dynamické DNS"
-#: modules/dynamicdns/__init__.py:75
+#: modules/dynamicdns/__init__.py:78
msgid "Dynamic Domain Name"
msgstr "Název dynamické domény"
@@ -1883,88 +1896,71 @@ msgid "Leave this field empty if you want to keep your current password."
msgstr "Pokud chcete zachovat stávající heslo, tuto kolonku nevyplňujte."
#: modules/dynamicdns/forms.py:43
-#, python-brace-format
-msgid ""
-"Optional Value. If your {box_name} is not connected directly to the Internet "
-"(i.e. connected to a NAT router) this URL is used to determine the real IP "
-"address. The URL should simply return the IP where the client comes from "
-"(example: https://ddns.freedombox.org/ip/)."
-msgstr ""
-"Volitelná hodnota. Pokud vaše {box_name} není připojeno přímo k internetu "
-"(tj. je připojeno ke směrovači NAT), použije se tato adresa URL k určení "
-"skutečné IP adresy. Adresa URL by měla jednoduše vrátit IP adresu, ze které "
-"klient přichází (příklad: https://ddns.freedombox.org/ip/)."
-
-#: modules/dynamicdns/forms.py:51
msgid "The username that was used when the account was created."
msgstr "Uživatelské jméno které bylo použito pro vytvoření účtu."
-#: modules/dynamicdns/forms.py:54
+#: modules/dynamicdns/forms.py:46
msgid "GnuDIP"
msgstr "GnuDIP"
-#: modules/dynamicdns/forms.py:57
+#: modules/dynamicdns/forms.py:49
msgid "Other update URL"
msgstr "Další aktualizace URL"
-#: modules/dynamicdns/forms.py:59
+#: modules/dynamicdns/forms.py:51
msgid "Service Type"
msgstr "Typ služby"
-#: modules/dynamicdns/forms.py:64
+#: modules/dynamicdns/forms.py:56
msgid "GnuDIP Server Address"
msgstr "Adresa GnuDIP serveru"
-#: modules/dynamicdns/forms.py:67
+#: modules/dynamicdns/forms.py:59
msgid "Invalid server name"
msgstr "Neplatný název serveru"
-#: modules/dynamicdns/forms.py:70
+#: modules/dynamicdns/forms.py:62
msgid "Update URL"
msgstr "URL adresa aktualizace"
-#: modules/dynamicdns/forms.py:74
+#: modules/dynamicdns/forms.py:66
msgid "Accept all SSL certificates"
msgstr "Přijímat veškeré SSL certifikáty"
-#: modules/dynamicdns/forms.py:78
+#: modules/dynamicdns/forms.py:70
msgid "Use HTTP basic authentication"
msgstr "Použít základní HTTP ověřování"
-#: modules/dynamicdns/forms.py:82 modules/names/__init__.py:68
+#: modules/dynamicdns/forms.py:74 modules/names/__init__.py:68
#: modules/names/forms.py:106 modules/names/templates/names.html:19
msgid "Domain Name"
msgstr "Doménový název"
-#: modules/dynamicdns/forms.py:85 modules/names/forms.py:99
+#: modules/dynamicdns/forms.py:77 modules/names/forms.py:99
#: modules/names/forms.py:117
msgid "Invalid domain name"
msgstr "Neplatný doménový název"
-#: modules/dynamicdns/forms.py:88 modules/miniflux/forms.py:11
+#: modules/dynamicdns/forms.py:80 modules/miniflux/forms.py:11
#: modules/networks/forms.py:281 modules/users/forms.py:130
msgid "Username"
msgstr "Uživatelské jméno"
-#: modules/dynamicdns/forms.py:95 modules/networks/forms.py:284
+#: modules/dynamicdns/forms.py:87 modules/networks/forms.py:284
msgid "Show password"
msgstr "Zobrazit heslo"
-#: modules/dynamicdns/forms.py:99
-msgid "URL to look up public IP"
-msgstr "URL adresa na které hledat veřejnou IP adresu"
-
-#: modules/dynamicdns/forms.py:104
+#: modules/dynamicdns/forms.py:91
msgid "Use IPv6 instead of IPv4"
msgstr "Použijte IPv6 místo IPv4"
-#: modules/dynamicdns/forms.py:123
+#: modules/dynamicdns/forms.py:110
msgid "This field is required."
msgstr "Toto pole je povinné."
#: modules/dynamicdns/manifest.py:17
-#: modules/dynamicdns/templates/dynamicdns.html:18
-#: modules/email/templates/email.html:35
+#: modules/dynamicdns/templates/dynamicdns.html:23
+#: modules/email/templates/email-dns.html:22
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64
msgid "Domain"
@@ -1978,37 +1974,37 @@ msgstr "Zdarma"
msgid "Needs public IP"
msgstr "Potřebuje veřejnou IP"
-#: modules/dynamicdns/templates/dynamicdns.html:11
-#: modules/ejabberd/templates/ejabberd.html:13 modules/firewall/manifest.py:10
+#: modules/dynamicdns/templates/dynamicdns.html:16
+#: modules/ejabberd/templates/ejabberd.html:18 modules/firewall/manifest.py:10
#: modules/firewall/templates/firewall.html:16
#: modules/firewall/templates/firewall.html:22
#: modules/letsencrypt/templates/letsencrypt.html:17
-#: modules/matrixsynapse/templates/matrix-synapse.html:12
+#: modules/matrixsynapse/templates/matrix-synapse.html:17
#: modules/networks/templates/connection_show.html:258
-#: modules/samba/templates/samba.html:67 modules/tor/templates/tor.html:19
+#: modules/samba/templates/samba.html:67 modules/tor/templates/tor.html:24
#: modules/upgrades/templates/upgrades_configure.html:14
#: modules/wireguard/templates/wireguard_show_client.html:48
#: modules/wireguard/templates/wireguard_show_server.html:47
msgid "Status"
msgstr "Stav"
-#: modules/dynamicdns/templates/dynamicdns.html:19
+#: modules/dynamicdns/templates/dynamicdns.html:24
msgid "Last update"
msgstr "Minulá aktualizace"
-#: modules/dynamicdns/templates/dynamicdns.html:21
+#: modules/dynamicdns/templates/dynamicdns.html:26
msgid "IP Address"
msgstr "IP adresa"
-#: modules/dynamicdns/templates/dynamicdns.html:32
+#: modules/dynamicdns/templates/dynamicdns.html:37
msgid "Success"
msgstr "Úspěšné"
-#: modules/dynamicdns/templates/dynamicdns.html:36
+#: modules/dynamicdns/templates/dynamicdns.html:41
msgid "Failed"
msgstr "Selhalo"
-#: modules/dynamicdns/templates/dynamicdns.html:52
+#: modules/dynamicdns/templates/dynamicdns.html:57
msgid "No status available."
msgstr "Stav není k dispozici."
@@ -2178,7 +2174,7 @@ msgstr "Video chat"
msgid "XMPP"
msgstr "XMPP"
-#: modules/ejabberd/templates/ejabberd.html:18
+#: modules/ejabberd/templates/ejabberd.html:23
#, python-format
msgid ""
"Your XMPP server domain is set to %(domain_name)s. User IDs will look "
@@ -2190,7 +2186,7 @@ msgstr ""
"můžete nastavit na systémové stránce Name "
"Services."
-#: modules/ejabberd/templates/ejabberd.html:25
+#: modules/ejabberd/templates/ejabberd.html:30
#, python-format
msgid ""
"Your XMPP server domain is not set. You can setup your domain on the system "
@@ -2257,14 +2253,18 @@ msgstr ""
msgid "Postfix/Dovecot"
msgstr "Postfix / Dovecot"
-#: modules/email/__init__.py:83
+#: modules/email/__init__.py:80
+msgid "More emails"
+msgstr ""
+
+#: modules/email/__init__.py:80
+msgid "Same mailbox"
+msgstr ""
+
+#: modules/email/__init__.py:82
msgid "My Email Aliases"
msgstr "Moje e-mailové aliasy"
-#: modules/email/__init__.py:84
-msgid "Manage Aliases for Mailbox"
-msgstr "Správa aliasů pro poštovní schránku"
-
#: modules/email/forms.py:25
msgid "Primary domain"
msgstr "Primární doména"
@@ -2343,47 +2343,103 @@ msgstr "Vytvořit nový e-mailový alias"
msgid "Add"
msgstr "Přidat"
-#: modules/email/templates/email.html:10
-msgid "Manage Spam"
-msgstr "Správa spamu"
-
-#: modules/email/templates/email.html:22
-msgid "DNS Records"
+#: modules/email/templates/email-dns.html:9
+#, fuzzy
+#| msgid "DNS Records"
+msgid "DNS Records for domain:"
msgstr "Záznamy DNS"
-#: modules/email/templates/email.html:25
+#: modules/email/templates/email-dns.html:12
+#, fuzzy
+#| msgid ""
+#| "The following DNS records must be added manually on your primary domain "
+#| "for the mail server to work properly."
msgid ""
-"The following DNS records must be added manually on your primary domain for "
-"the mail server to work properly."
+"The following DNS records must be added manually on this domain for the mail "
+"server to work properly for this domain."
msgstr ""
"Pro správnou funkci poštovního serveru je třeba na primární doméně ručně "
"přidat následující záznamy DNS."
-#: modules/email/templates/email.html:36
+#: modules/email/templates/email-dns.html:23
+#: modules/email/templates/email-dns.html:77
msgid "TTL"
msgstr "TTL"
-#: modules/email/templates/email.html:37
+#: modules/email/templates/email-dns.html:24
msgid "Class"
msgstr "Třída"
-#: modules/email/templates/email.html:39
+#: modules/email/templates/email-dns.html:26
msgid "Priority"
msgstr "Priorita"
-#: modules/email/templates/email.html:40
+#: modules/email/templates/email-dns.html:27
msgid "Weight"
msgstr "Váha"
-#: modules/email/templates/email.html:41
+#: modules/email/templates/email-dns.html:28
#: modules/minetest/templates/minetest.html:18
msgid "Port"
msgstr "Port"
-#: modules/email/templates/email.html:42
+#: modules/email/templates/email-dns.html:29
+#: modules/email/templates/email-dns.html:79
msgid "Host/Target/Value"
msgstr "Hostitel / cíl / hodnota"
+#: modules/email/templates/email-dns.html:50
+#, fuzzy
+#| msgid "Server hostname or IP address"
+msgid "Reverse DNS Records for IP Addresses"
+msgstr "Název nebo IP adresa serveru"
+
+#: modules/email/templates/email-dns.html:53
+#, python-format
+msgid ""
+"If your %(box_name)s runs on a cloud service infrastructure, you should "
+"configure "
+"Reverse DNS lookup. This isn't mandatory, however, it greatly improves "
+"email deliverability. Reverse DNS isn't configured where your regular DNS "
+"is. You should look for it in the settings of your VPS/ISP. Some providers "
+"preconfigure the IP address part for you and you only have to set the domain "
+"part. Only one of your domains can have Revese DNS lookup configured unless "
+"you have multiple public IP addresses."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:66
+msgid ""
+"An external service is used to lookup public IP address to show in the "
+"following section. This can be configured in the privacy app."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:76
+#, fuzzy
+#| msgid "Hostname"
+msgid "Host"
+msgstr "Název stroje"
+
+#: modules/email/templates/email.html:10
+msgid "Manage Spam"
+msgstr "Správa spamu"
+
+#: modules/email/templates/email.html:20 modules/names/manifest.py:11
+#: modules/names/templates/names.html:12
+msgid "Domains"
+msgstr "Domény"
+
+#: modules/email/templates/email.html:23
+msgid ""
+"The following domains are configured. View details to see the list of DNS "
+"entries to be made for the domain."
+msgstr ""
+
+#: modules/email/templates/email.html:35
+#, fuzzy, python-format
+#| msgid "Resolve domain name: {domain}"
+msgid "View domain: %(domain)s"
+msgstr "Vyřešit název domény: {domain}"
+
#: modules/featherwiki/__init__.py:25
#, python-brace-format
msgid ""
@@ -2646,7 +2702,7 @@ msgstr "Port {name} ({details}) dostupný pro externí sítě"
msgid "Port {name} ({details}) unavailable for external networks"
msgstr "Port {name} {details} je nedostupný pro externí sítě"
-#: modules/firewall/manifest.py:10 modules/tor/templates/tor.html:20
+#: modules/firewall/manifest.py:10 modules/tor/templates/tor.html:25
msgid "Ports"
msgstr "Porty"
@@ -3005,9 +3061,9 @@ msgstr "Odeslat zpětnou vazbu"
msgid "Contribute"
msgstr "Zapojit se"
-#: modules/help/__init__.py:53 templates/base.html:215 templates/base.html:218
+#: modules/help/__init__.py:53 templates/base.html:217 templates/base.html:220
#: templates/help-menu.html:46 templates/help-menu.html:47
-#: templates/index.html:98
+#: templates/index.html:96
msgid "About"
msgstr "O projektu"
@@ -3175,7 +3231,7 @@ msgstr ""
#: modules/help/templates/help_contribute.html:42
#: modules/power/templates/power_restart.html:27
-#: modules/power/templates/power_shutdown.html:26 templates/app-header.html:68
+#: modules/power/templates/power_shutdown.html:26 templates/app-header.html:65
msgid "Learn more..."
msgstr "Zjistit více…"
@@ -3549,7 +3605,7 @@ msgid "Web conference"
msgstr "Webové konference"
#: modules/janus/templates/janus_video_room.html:205
-#: modules/jsxc/templates/jsxc_launch.html:117 templates/base.html:271
+#: modules/jsxc/templates/jsxc_launch.html:117 templates/base.html:273
msgid "JavaScript license information"
msgstr "Licenční informace o JavaScriptu"
@@ -3980,7 +4036,7 @@ msgstr ""
"Nejsou k dispozici žádné domény. Abyste mohli používat Matrix Synapse nastavte alespoň jednu doménu."
-#: modules/matrixsynapse/templates/matrix-synapse.html:15
+#: modules/matrixsynapse/templates/matrix-synapse.html:20
#, python-format
msgid ""
"The Matrix server domain is set to %(domain_name)s. User IDs will "
@@ -3992,7 +4048,7 @@ msgstr ""
"%(domain_name)s. Změna doménového názvu po úvodním nastavení není v "
"současnosti podporována."
-#: modules/matrixsynapse/templates/matrix-synapse.html:22
+#: modules/matrixsynapse/templates/matrix-synapse.html:27
msgid ""
"New users can be registered from any client if public registration is "
"enabled."
@@ -4000,7 +4056,7 @@ msgstr ""
"Když je zapnutá veřejná registrace, noví uživatelé mohou být registrování z "
"libovolného klienta."
-#: modules/matrixsynapse/templates/matrix-synapse.html:29
+#: modules/matrixsynapse/templates/matrix-synapse.html:34
msgid ""
"New users must use one of the following tokens for verification during "
"account registration:"
@@ -4008,31 +4064,31 @@ msgstr ""
"Noví uživatelé musí při registraci účtu použít k ověření jeden z "
"následujících tokenů:"
-#: modules/matrixsynapse/templates/matrix-synapse.html:38
+#: modules/matrixsynapse/templates/matrix-synapse.html:43
msgid "Registration Token"
msgstr "Registrační token"
-#: modules/matrixsynapse/templates/matrix-synapse.html:39
+#: modules/matrixsynapse/templates/matrix-synapse.html:44
msgid "Uses Allowed"
msgstr "Povolená užití"
-#: modules/matrixsynapse/templates/matrix-synapse.html:40
+#: modules/matrixsynapse/templates/matrix-synapse.html:45
msgid "Pending Registrations"
msgstr "Čekající registrace"
-#: modules/matrixsynapse/templates/matrix-synapse.html:41
+#: modules/matrixsynapse/templates/matrix-synapse.html:46
msgid "Completed Registrations"
msgstr "Dokončené registrace"
-#: modules/matrixsynapse/templates/matrix-synapse.html:42
+#: modules/matrixsynapse/templates/matrix-synapse.html:47
msgid "Expiry Time"
msgstr "Čas vypršení platnosti"
-#: modules/matrixsynapse/templates/matrix-synapse.html:51
+#: modules/matrixsynapse/templates/matrix-synapse.html:56
msgid "Unlimited"
msgstr "Neomezený"
-#: modules/matrixsynapse/templates/matrix-synapse.html:80
+#: modules/matrixsynapse/templates/matrix-synapse.html:85
#, python-format
msgid ""
"The configured domain name is using a self-signed certificate. Federation "
@@ -4499,7 +4555,7 @@ msgstr "Obnovení hesla pro uživatele: {username}"
msgid "An error occurred during password reset: {error}."
msgstr "Při obnovování hesla došlo k chybě: {error}."
-#: modules/mumble/__init__.py:25
+#: modules/mumble/__init__.py:27
msgid ""
"Mumble is an open source, low-latency, encrypted, high quality voice chat "
"software."
@@ -4507,7 +4563,7 @@ msgstr ""
"Mumble je open source šifrovaný software pro hlasový chat s nízkou latencí a "
"vysokou kvalitou."
-#: modules/mumble/__init__.py:27
+#: modules/mumble/__init__.py:29
msgid ""
"You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your "
@@ -4517,10 +4573,16 @@ msgstr ""
"dispozici jsou Klienti pro připojení k "
"Mumble z vašeho počítače a mobilních zařízení."
-#: modules/mumble/__init__.py:45 modules/mumble/manifest.py:9
+#: modules/mumble/__init__.py:47 modules/mumble/manifest.py:9
msgid "Mumble"
msgstr "Mumble"
+#: modules/mumble/__init__.py:158
+#, fuzzy
+#| msgid "grub package is configured"
+msgid "Mumble server is configured"
+msgstr "balíček grub je nakonfigurován"
+
#: modules/mumble/forms.py:30
msgid "Set SuperUser Password"
msgstr "Nastavení hesla superuživatele"
@@ -4665,10 +4727,6 @@ msgstr ""
"ze štítků může být nejvýše 63 znaků. Celková délka doménového názvu může být "
"nejvýše 253 znaků."
-#: modules/names/manifest.py:11 modules/names/templates/names.html:12
-msgid "Domains"
-msgstr "Domény"
-
#: modules/names/manifest.py:13
msgid "DNS Resolution"
msgstr "Rozlišení DNS"
@@ -5258,7 +5316,7 @@ msgstr "Upravit připojení"
#: modules/networks/templates/connection_show.html:40
#: modules/wireguard/templates/wireguard_show_client.html:72
#: modules/wireguard/templates/wireguard_show_server.html:73
-#: templates/base.html:165 templates/base.html:166
+#: templates/base.html:167 templates/base.html:168
msgid "Edit"
msgstr "Upravit"
@@ -5311,7 +5369,7 @@ msgstr "Rozhraní"
#: modules/networks/templates/connection_show.html:107
#: modules/snapshot/templates/snapshot_delete_selected.html:19
-#: modules/snapshot/templates/snapshot_manage.html:29
+#: modules/snapshot/templates/snapshot_manage.html:34
#: modules/snapshot/templates/snapshot_rollback.html:27
msgid "Description"
msgstr "Popis"
@@ -5389,8 +5447,8 @@ msgstr "Toto připojení není aktivní."
#: modules/networks/templates/connection_show.html:264
#: modules/networks/templates/connections_fields_privacy.html:15
-#: modules/openvpn/manifest.py:60 modules/privacy/__init__.py:32
-#: modules/privacy/__init__.py:72 modules/wireguard/manifest.py:45
+#: modules/openvpn/manifest.py:60 modules/privacy/__init__.py:38
+#: modules/privacy/__init__.py:77 modules/wireguard/manifest.py:45
msgid "Privacy"
msgstr "Soukromí"
@@ -5482,7 +5540,7 @@ msgstr "Vnitřní"
msgid "Computer"
msgstr "Počítač"
-#: modules/networks/templates/connections_edit.html:19
+#: modules/networks/templates/connections_edit.html:24
#: modules/networks/views.py:253 modules/networks/views.py:341
msgid "Edit Connection"
msgstr "Upravit připojení"
@@ -5493,7 +5551,7 @@ msgid "Error:"
msgstr "Chyba:"
#: modules/networks/templates/connections_fields.html:20
-#: modules/users/templates/users_update.html:46 templates/messages.html:30
+#: modules/users/templates/users_update.html:51 templates/messages.html:30
msgid "Close"
msgstr "Zavřít"
@@ -5595,7 +5653,7 @@ msgstr "Aktualizovat..."
#: modules/networks/templates/network_topology_update.html:18
#: modules/networks/templates/router_configuration_update.html:19
#: modules/pagekite/templates/pagekite_custom_services.html:33
-#: modules/sharing/templates/sharing_add_edit.html:20 templates/form.html:19
+#: modules/sharing/templates/sharing_add_edit.html:25 templates/form.html:19
msgid "Submit"
msgstr "Potvrdit"
@@ -6034,11 +6092,7 @@ msgstr ""
"právní kontrolu provádí projekt upstream, nikoli Debian/{box_name}. "
"Aktualizace jsou prováděny podle nezávislého cyklu."
-#: modules/nextcloud/__init__.py:48
-msgid "This app is experimental."
-msgstr "Tato aplikace je experimentální."
-
-#: modules/nextcloud/__init__.py:66 modules/nextcloud/manifest.py:11
+#: modules/nextcloud/__init__.py:65 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
msgid "Nextcloud"
msgstr "Nextcloud"
@@ -6240,7 +6294,7 @@ msgstr ""
msgid "PageKite"
msgstr "PageKite"
-#: modules/pagekite/__init__.py:73
+#: modules/pagekite/__init__.py:72
msgid "PageKite Domain"
msgstr "PageKite doména"
@@ -6433,8 +6487,8 @@ msgstr "Restart"
msgid "Shutdown"
msgstr "Vypnout"
-#: modules/power/templates/power.html:15 templates/base.html:180
-#: templates/base.html:181
+#: modules/power/templates/power.html:15 templates/base.html:182
+#: templates/base.html:183
msgid "Restart"
msgstr "Restartovat"
@@ -6475,25 +6529,35 @@ msgstr ""
msgid "Shut Down Now"
msgstr "Vypnout nyní"
-#: modules/privacy/__init__.py:15
+#: modules/privacy/__init__.py:21
msgid "Manage system-wide privacy settings."
msgstr "Správa nastavení ochrany osobních údajů v celém systému."
-#: modules/privacy/__init__.py:70
+#: modules/privacy/__init__.py:75
msgid "Please update privacy settings to match your preferences."
msgstr ""
"Aktualizujte nastavení ochrany osobních údajů tak, aby odpovídalo vašim "
"preferencím."
-#: modules/privacy/__init__.py:75
+#: modules/privacy/__init__.py:80
msgid "Review privacy setting"
msgstr "Zkontrolujte nastavení ochrany osobních údajů"
-#: modules/privacy/forms.py:16
+#: modules/privacy/forms.py:17
+#, python-brace-format
+msgid ""
+"Optional Value. This URL is used to determine the publicly visible IP "
+"address of your {box_name}. The URL should simply return the IPv4 or IPv6 "
+"address where the client request comes from. Default is to use the service "
+"provided by the FreedomBox Foundation at https://ddns.freedombox.org/ip/. If "
+"empty, lookups are disabled and some functionality will fail."
+msgstr ""
+
+#: modules/privacy/forms.py:25
msgid "Periodically submit a list of apps used (suggested)"
msgstr "Pravidelně předkládejte seznam používaných aplikací (doporučeno)"
-#: modules/privacy/forms.py:18
+#: modules/privacy/forms.py:27
#, python-brace-format
msgid ""
"Help Debian/{box_name} developers by participating in the Popularity Contest "
@@ -6510,11 +6574,11 @@ 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."
-#: modules/privacy/forms.py:28
+#: modules/privacy/forms.py:37
msgid "Allow using fallback DNS servers"
msgstr "Povolit používání záložních serverů DNS"
-#: modules/privacy/forms.py:30
+#: modules/privacy/forms.py:39
msgid ""
"Use well-known public DNS servers to resolve domain names in unusual "
"circumstances where no DNS servers are known but internet connectivity is "
@@ -6526,10 +6590,22 @@ msgstr ""
"veřejné servery DNS. Lze vypnout ve většině případů, pokud je síťové "
"připojení stabilní a spolehlivé."
+#: modules/privacy/forms.py:45
+#, fuzzy
+#| msgid "URL to look up public IP"
+msgid "URL to look up public IP address"
+msgstr "URL adresa na které hledat veřejnou IP adresu"
+
#: modules/privacy/manifest.py:10
msgid "Usage reporting"
msgstr "Hlášení o použití"
+#: modules/privacy/manifest.py:10
+#, fuzzy
+#| msgid "Standard Services"
+msgid "External services"
+msgstr "Standardní služby"
+
#: modules/privacy/manifest.py:10
msgid "Fallback DNS"
msgstr "Záložní systém DNS"
@@ -7602,40 +7678,40 @@ msgid "Delete the following snapshots permanently?"
msgstr "Nevratně smazat tyto zachycené stavy?"
#: modules/snapshot/templates/snapshot_delete_selected.html:17
-#: modules/snapshot/templates/snapshot_manage.html:27
+#: modules/snapshot/templates/snapshot_manage.html:32
#: modules/snapshot/templates/snapshot_rollback.html:25
msgid "Number"
msgstr "Počet"
#: modules/snapshot/templates/snapshot_delete_selected.html:18
-#: modules/snapshot/templates/snapshot_manage.html:28
+#: modules/snapshot/templates/snapshot_manage.html:33
#: modules/snapshot/templates/snapshot_rollback.html:26
msgid "Date"
msgstr "Datum"
#: modules/snapshot/templates/snapshot_delete_selected.html:42
-#: modules/snapshot/templates/snapshot_manage.html:20
+#: modules/snapshot/templates/snapshot_manage.html:25
#: modules/snapshot/views.py:197
msgid "Delete Snapshots"
msgstr "Smazat zachycené stavy"
-#: modules/snapshot/templates/snapshot_manage.html:17
+#: modules/snapshot/templates/snapshot_manage.html:22
msgid "Create Snapshot"
msgstr "Pořídit zachycený stav"
-#: modules/snapshot/templates/snapshot_manage.html:30
+#: modules/snapshot/templates/snapshot_manage.html:35
msgid "Rollback"
msgstr "Obnovit ze zálohy"
-#: modules/snapshot/templates/snapshot_manage.html:40
+#: modules/snapshot/templates/snapshot_manage.html:45
msgid "will be used at next boot"
msgstr "bude použita při příštím spuštění"
-#: modules/snapshot/templates/snapshot_manage.html:45
+#: modules/snapshot/templates/snapshot_manage.html:50
msgid "in use"
msgstr "v použití"
-#: modules/snapshot/templates/snapshot_manage.html:54
+#: modules/snapshot/templates/snapshot_manage.html:59
#, python-format
msgid "Rollback to snapshot #%(number)s"
msgstr "Vrátit k zachycenému stavu č. %(number)s"
@@ -8234,27 +8310,27 @@ msgstr ""
msgid "Tor"
msgstr "Tor"
-#: modules/tor/__init__.py:78
+#: modules/tor/__init__.py:77
msgid "Tor Onion Service"
msgstr "Tor Onion Service"
-#: modules/tor/__init__.py:82
+#: modules/tor/__init__.py:81
msgid "Tor Bridge Relay"
msgstr "Předávájící Tor most"
-#: modules/tor/__init__.py:140
+#: modules/tor/__init__.py:139
msgid "Tor relay port available"
msgstr "Port Tor předávání k dispozici"
-#: modules/tor/__init__.py:152
+#: modules/tor/__init__.py:151
msgid "Obfs3 transport registered"
msgstr "Obfs3 transport zaregistrován"
-#: modules/tor/__init__.py:163
+#: modules/tor/__init__.py:162
msgid "Obfs4 transport registered"
msgstr "Obfs4 transport zaregistrován"
-#: modules/tor/__init__.py:176
+#: modules/tor/__init__.py:175
msgid "Onion service is version 3"
msgstr "Onion service je verze 3"
@@ -8360,7 +8436,7 @@ msgstr "Předávání"
msgid "Anonymity network"
msgstr "Anonymní síť"
-#: modules/tor/templates/tor.html:18
+#: modules/tor/templates/tor.html:23
msgid "Onion Service"
msgstr "Onion služba"
@@ -9011,12 +9087,12 @@ msgstr "Uživatelé"
msgid "Edit user %(username)s"
msgstr "Upravit uživatele %(username)s"
-#: modules/users/templates/users_update.html:12
+#: modules/users/templates/users_update.html:17
#, python-format
msgid "Edit User %(username)s"
msgstr "Upravit uživatele %(username)s"
-#: modules/users/templates/users_update.html:20
+#: modules/users/templates/users_update.html:25
#, python-format
msgid ""
"Use the change password form to "
@@ -9025,17 +9101,17 @@ msgstr ""
"Pro změnu hesla použijte formulář změna "
"hesla ."
-#: modules/users/templates/users_update.html:32
+#: modules/users/templates/users_update.html:37
#: templates/language-selection.html:17
msgid "Save Changes"
msgstr "Uložit změny"
-#: modules/users/templates/users_update.html:41
+#: modules/users/templates/users_update.html:46
#, python-format
msgid "Delete user %(username)s and all the user's files?"
msgstr "Smazat uživatele %(username)s a všechny jeho soubory?"
-#: modules/users/templates/users_update.html:51
+#: modules/users/templates/users_update.html:56
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
@@ -9044,11 +9120,11 @@ msgstr ""
"adresáře uživatele. Pokud si přejete tyto soubory zachovat, zakažte raději "
"uživatelský účet."
-#: modules/users/templates/users_update.html:60
+#: modules/users/templates/users_update.html:65
msgid "Delete user and files"
msgstr "Odstranit uživatele a soubory"
-#: modules/users/templates/users_update.html:63
+#: modules/users/templates/users_update.html:68
msgid "Cancel"
msgstr "Storno"
@@ -9739,11 +9815,11 @@ msgstr "Instalace"
msgid "Service %(service_name)s is not running."
msgstr "Služba %(service_name)s není spuštěná."
-#: templates/apps.html:29
+#: templates/apps.html:33
msgid "Search with tags"
msgstr "Hledání pomocí štítků"
-#: templates/apps.html:42
+#: templates/apps.html:46
msgid "Clear all tags"
msgstr "Vymazat všechny štítky"
@@ -9756,35 +9832,35 @@ msgstr ""
"Jedná se o bezplatný software, který umožňuje snadnou instalaci a správu "
"serverových aplikací."
-#: templates/base.html:116
+#: templates/base.html:118
msgid " Home"
msgstr " Domů"
-#: templates/base.html:124
+#: templates/base.html:126
msgid " Apps"
msgstr " Aplikace"
-#: templates/base.html:133
+#: templates/base.html:135
msgid " System"
msgstr " Systém"
-#: templates/base.html:172 templates/base.html:173
+#: templates/base.html:174 templates/base.html:175
msgid "Change password"
msgstr "Změnit heslo"
-#: templates/base.html:186 templates/base.html:187
+#: templates/base.html:188 templates/base.html:189
msgid "Shut down"
msgstr "Vypnout"
-#: templates/base.html:197 templates/base.html:235
+#: templates/base.html:199 templates/base.html:237
msgid "Log out"
msgstr "Odhlásit"
-#: templates/base.html:206 templates/base.html:209
+#: templates/base.html:208 templates/base.html:211
msgid "Select language"
msgstr "Vyberte jazyk"
-#: templates/base.html:224 templates/base.html:226
+#: templates/base.html:226 templates/base.html:228
msgid "Log in"
msgstr "Přihlásit"
@@ -10005,23 +10081,44 @@ msgstr ""
"Všechna data a konfigurace aplikace budou trvale ztraceny. Aplikaci lze "
"nainstalovat znovu."
-#: views.py:85
+#: views.py:84
msgid "Here"
msgstr "Zde"
-#: views.py:374
+#: views.py:376
msgid "Setting unchanged"
msgstr "Nastavení se nezměnila"
-#: views.py:609
+#: views.py:610
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr "před odinstalací {app_id}"
-#: web_framework.py:114
+#: web_framework.py:122
msgid "Gujarati"
msgstr "gudžarátština"
+#~ msgid "In 24 hour format."
+#~ msgstr "Ve 24hodinovém formátu."
+
+#, python-brace-format
+#~ msgid ""
+#~ "Optional Value. If your {box_name} is not connected directly to the "
+#~ "Internet (i.e. connected to a NAT router) this URL is used to determine "
+#~ "the real IP address. The URL should simply return the IP where the client "
+#~ "comes from (example: https://ddns.freedombox.org/ip/)."
+#~ msgstr ""
+#~ "Volitelná hodnota. Pokud vaše {box_name} není připojeno přímo k internetu "
+#~ "(tj. je připojeno ke směrovači NAT), použije se tato adresa URL k určení "
+#~ "skutečné IP adresy. Adresa URL by měla jednoduše vrátit IP adresu, ze "
+#~ "které klient přichází (příklad: https://ddns.freedombox.org/ip/)."
+
+#~ msgid "Manage Aliases for Mailbox"
+#~ msgstr "Správa aliasů pro poštovní schránku"
+
+#~ msgid "This app is experimental."
+#~ msgstr "Tato aplikace je experimentální."
+
#~ msgid "File & Snippet Sharing"
#~ msgstr "Sdílení souborů a útržků"
@@ -11541,9 +11638,6 @@ msgstr "gudžarátština"
#~ msgid "You don't have any Custom Services enabled"
#~ msgstr "Nemáte zapnutou žádnou uživatelem určenou službu"
-#~ msgid "Standard Services"
-#~ msgstr "Standardní služby"
-
#, fuzzy
#~| msgid ""
#~| "When enabled, Syncthing's web interface will be available from \n"
"Language-Team: Danish
SSH key-based authentication is not yet "
"possible."
@@ -457,18 +459,18 @@ msgstr ""
"SSH-serverens adgangskode.
Nøglebaseret SSH-autentifikation er endnu "
"ikke muligt."
-#: modules/backups/forms.py:273
+#: modules/backups/forms.py:275
msgid "Remote backup repository already exists."
msgstr "Fjernlager for sikkerhedskopier eksisterer i forvejen."
-#: modules/backups/forms.py:279
+#: modules/backups/forms.py:281
msgid "Select verified SSH public key"
msgstr "Vælg en verificeret offentlig SSH-nøgle"
#: modules/backups/manifest.py:14
#: modules/backups/templates/backups_repository.html:92
#: modules/backups/templates/backups_restore.html:27
-#: modules/backups/views.py:240 modules/snapshot/manifest.py:14
+#: modules/backups/views.py:238 modules/snapshot/manifest.py:14
#: templates/toolbar.html:44 templates/toolbar.html:45
msgid "Restore"
msgstr "Genopret"
@@ -551,16 +553,20 @@ msgstr ""
msgid "Backup system is busy with another operation."
msgstr ""
+#: modules/backups/privileged.py:92
+msgid "Not enough space left on the disk or remote location."
+msgstr ""
+
#: modules/backups/repository.py:94
msgid "Existing repository is not encrypted."
msgstr "Eksisterende lager er ikke krypteret."
-#: modules/backups/repository.py:266
+#: modules/backups/repository.py:289
#, python-brace-format
msgid "{box_name} storage"
msgstr "Lagring af {box_name}"
-#: modules/backups/templates/backups.html:17 modules/backups/views.py:125
+#: modules/backups/templates/backups.html:17 modules/backups/views.py:124
msgid "Create a new backup"
msgstr "Opret en ny sikkerhedskopi"
@@ -604,10 +610,9 @@ msgstr "Eksisterende sikkerhedskopier"
#: modules/help/templates/statuslog.html:24
#: modules/kiwix/templates/kiwix-add-package.html:26
#: modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:28
-#: modules/matrixsynapse/templates/matrix-synapse.html:76
+#: modules/matrixsynapse/templates/matrix-synapse.html:81
#: modules/names/templates/names.html:128
#: modules/networks/templates/connection_show.html:24
-#: modules/nextcloud/__init__.py:48
#: modules/pagekite/templates/pagekite_custom_services.html:16
#: modules/power/templates/power_busy_warning.html:11
#: modules/snapshot/templates/snapshot_not_supported.html:13
@@ -777,113 +782,113 @@ msgstr ""
msgid "Verify Host"
msgstr "Verificér vært"
-#: modules/backups/views.py:69
+#: modules/backups/views.py:68
msgid "Backup schedule updated."
msgstr ""
-#: modules/backups/views.py:88
+#: modules/backups/views.py:87
#, fuzzy
#| msgid "Create Backup"
msgid "Schedule Backups"
msgstr "Opret sikkerhedskopi"
-#: modules/backups/views.py:150
+#: modules/backups/views.py:148
msgid "Archive created."
msgstr "Arkiv oprettet."
-#: modules/backups/views.py:162
+#: modules/backups/views.py:160
msgid "Delete Archive"
msgstr "Slet arkiv"
-#: modules/backups/views.py:175
+#: modules/backups/views.py:173
msgid "Archive deleted."
msgstr "Arkiv slettet."
-#: modules/backups/views.py:189
+#: modules/backups/views.py:187
msgid "Upload and restore a backup"
msgstr "Upload og genopret en sikkerhedskopi"
-#: modules/backups/views.py:218
+#: modules/backups/views.py:216
#, fuzzy
#| msgid "Password changed successfully."
msgid "Upload successful."
msgstr "Kodeord blev ændret."
-#: modules/backups/views.py:256
+#: modules/backups/views.py:254
msgid "No backup file found."
msgstr "Ingen sikkerhedskopi fundet."
-#: modules/backups/views.py:264
+#: modules/backups/views.py:262
msgid "Restore from uploaded file"
msgstr "Genopret fra overført fil"
-#: modules/backups/views.py:278 modules/backups/views.py:299
+#: modules/backups/views.py:276 modules/backups/views.py:297
msgid "Restored files from backup."
msgstr "Filer genoprettet fra sikkerhedskopi."
-#: modules/backups/views.py:329
+#: modules/backups/views.py:327
msgid "No additional disks available to add a repository."
msgstr "Ingen yderligere diske er tilgængelige til oprettelse af et lager."
-#: modules/backups/views.py:337
+#: modules/backups/views.py:335
msgid "Create backup repository"
msgstr "Opret lager til sikkerhedskopier"
-#: modules/backups/views.py:352
+#: modules/backups/views.py:350
#, fuzzy
#| msgid "Added new remote SSH repository."
msgid "Added new repository."
msgstr "Tilføjede et nyt SSH-fjernlager."
-#: modules/backups/views.py:366
+#: modules/backups/views.py:364
msgid "Create remote backup repository"
msgstr "Opret fjernlager til sikkerhedskopier"
-#: modules/backups/views.py:388
+#: modules/backups/views.py:386
msgid "Added new remote SSH repository."
msgstr "Tilføjede et nyt SSH-fjernlager."
-#: modules/backups/views.py:410
+#: modules/backups/views.py:408
msgid "Verify SSH hostkey"
msgstr "Verificér SSH-værtsnøgle"
-#: modules/backups/views.py:436
+#: modules/backups/views.py:434
msgid "SSH host already verified."
msgstr "SSH-vært er allerede verificeret."
-#: modules/backups/views.py:447
+#: modules/backups/views.py:445
msgid "SSH host verified."
msgstr "SSH-vært verificeret."
-#: modules/backups/views.py:463
+#: modules/backups/views.py:461
msgid "SSH host public key could not be verified."
msgstr "SSH-værtens offentlige nøgle kunne ikke verificeres."
-#: modules/backups/views.py:465
+#: modules/backups/views.py:463
msgid "Authentication to remote server failed."
msgstr "Godkendelse til serveren mislykkedes."
-#: modules/backups/views.py:467
+#: modules/backups/views.py:465
msgid "Error establishing connection to server: {}"
msgstr "Fejl ved oprettelse af forbindelse til serveren: {}"
-#: modules/backups/views.py:478
+#: modules/backups/views.py:476
msgid "Repository removed."
msgstr "Lager fjernet."
-#: modules/backups/views.py:492
+#: modules/backups/views.py:490
msgid "Remove Repository"
msgstr "Fjern lager"
-#: modules/backups/views.py:502
+#: modules/backups/views.py:500
msgid "Repository removed. Backups were not deleted."
msgstr "Lager fjernet. Sikkerhedskopier slettedes ikke."
-#: modules/backups/views.py:513
+#: modules/backups/views.py:511
msgid "Unmounting failed!"
msgstr "Afmontering mislykkedes!"
-#: modules/backups/views.py:529 modules/backups/views.py:533
+#: modules/backups/views.py:527 modules/backups/views.py:531
msgid "Mounting failed"
msgstr "Montering mislykkedes"
@@ -1008,7 +1013,7 @@ msgstr "Tilføj kodeord"
msgid "No passwords currently configured."
msgstr "Endnu ingen kodeord konfigureret."
-#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:91
+#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:83
#: modules/miniflux/forms.py:14 modules/networks/forms.py:282
#: modules/shadowsocks/forms.py:32 modules/shadowsocksserver/forms.py:37
msgid "Password"
@@ -1139,8 +1144,10 @@ msgstr ""
msgid "Serving Domains"
msgstr "Betjener domæner"
-#: modules/bind/templates/bind.html:17 modules/email/templates/email.html:38
-#: modules/ikiwiki/forms.py:12 modules/names/templates/names.html:18
+#: modules/bind/templates/bind.html:17
+#: modules/email/templates/email-dns.html:25
+#: modules/email/templates/email-dns.html:78 modules/ikiwiki/forms.py:12
+#: modules/names/templates/names.html:18
#: modules/networks/templates/connection_show.html:95
#: modules/samba/templates/samba.html:65
#: modules/storage/templates/storage.html:26
@@ -1170,7 +1177,7 @@ msgstr "Opfrisk IP-adresse og domæner"
#: modules/minetest/views.py:55 modules/mumble/views.py:37
#: modules/names/views.py:66 modules/names/views.py:95
#: modules/names/views.py:129 modules/pagekite/forms.py:74
-#: modules/privacy/views.py:50 modules/quassel/views.py:29
+#: modules/privacy/views.py:55 modules/quassel/views.py:29
#: modules/roundcube/views.py:32 modules/rssbridge/views.py:31
#: modules/shadowsocks/views.py:52 modules/shadowsocksserver/views.py:48
#: modules/ssh/views.py:62 modules/transmission/views.py:43
@@ -1857,7 +1864,7 @@ msgid "Test"
msgstr "Test"
#: modules/diagnostics/templates/diagnostics_results.html:12
-#: modules/dynamicdns/templates/dynamicdns.html:20
+#: modules/dynamicdns/templates/dynamicdns.html:25
msgid "Result"
msgstr "Resultat"
@@ -1870,7 +1877,7 @@ msgstr "Diagnostisk Test"
msgid "App {app_id} is not installed, cannot repair"
msgstr ""
-#: modules/dynamicdns/__init__.py:28
+#: modules/dynamicdns/__init__.py:29
#, python-brace-format
msgid ""
"If your Internet provider changes your IP address periodically (i.e. every "
@@ -1881,7 +1888,7 @@ msgstr ""
"døgnet), kan det være svært for andre at finde dig på internettet. Dette vil "
"forhindre andre i at finde de tjenester denne {box_name} udbyder."
-#: modules/dynamicdns/__init__.py:32
+#: modules/dynamicdns/__init__.py:33
msgid ""
"The solution is to assign a DNS name to your IP address and update the DNS "
"name every time your IP is changed by your Internet provider. Dynamic DNS "
@@ -1898,7 +1905,7 @@ msgstr ""
"opdatere dit DNS-navn med den nye IP-adresse, således at hvis nogen på "
"internettet spørger til adressen vil de få din aktuelle IP-adresse."
-#: modules/dynamicdns/__init__.py:40
+#: modules/dynamicdns/__init__.py:41
#, fuzzy
#| msgid ""
#| "If you are looking for a free dynamic DNS account, you may find a free "
@@ -1917,11 +1924,17 @@ msgstr ""
"datasystems24.net
SSH key-based authentication is not yet "
"possible."
@@ -469,18 +467,18 @@ msgstr ""
"Passwort des SSH-Hostrechners.
SSH-Schlüssel-basierte Authentifizierung "
"ist noch nicht möglich."
-#: modules/backups/forms.py:273
+#: modules/backups/forms.py:275
msgid "Remote backup repository already exists."
msgstr "Remote-Sicherungs-Archiv existiert bereits."
-#: modules/backups/forms.py:279
+#: modules/backups/forms.py:281
msgid "Select verified SSH public key"
msgstr "Wähle verifizierten öffentlichen SSH-Schlüssel"
#: modules/backups/manifest.py:14
#: modules/backups/templates/backups_repository.html:92
#: modules/backups/templates/backups_restore.html:27
-#: modules/backups/views.py:240 modules/snapshot/manifest.py:14
+#: modules/backups/views.py:238 modules/snapshot/manifest.py:14
#: templates/toolbar.html:44 templates/toolbar.html:45
msgid "Restore"
msgstr "Wiederherstellen"
@@ -543,29 +541,32 @@ msgstr ""
"Repository."
#: modules/backups/privileged.py:74
-#, fuzzy
-#| msgid "A share with this name already exists."
msgid "An archive with given name already exists in the repository."
-msgstr "Eine Freigabe mit diesem Namen existiert bereits."
+msgstr "Ein Archiv mit dem angegebenen Namen existiert bereits im Repository."
#: modules/backups/privileged.py:81
msgid "Archive with given name was not found in the repository."
msgstr ""
+"Das Archiv mit dem angegebenen Namen wurde im Repository nicht gefunden."
#: modules/backups/privileged.py:87
msgid "Backup system is busy with another operation."
+msgstr "Das Backup-System ist mit einem anderen Vorgang beschäftigt."
+
+#: modules/backups/privileged.py:92
+msgid "Not enough space left on the disk or remote location."
msgstr ""
#: modules/backups/repository.py:94
msgid "Existing repository is not encrypted."
msgstr "Vorhandenes Repository ist nicht verschlüsselt."
-#: modules/backups/repository.py:266
+#: modules/backups/repository.py:289
#, python-brace-format
msgid "{box_name} storage"
msgstr "{box_name}-Speichermedien"
-#: modules/backups/templates/backups.html:17 modules/backups/views.py:125
+#: modules/backups/templates/backups.html:17 modules/backups/views.py:124
msgid "Create a new backup"
msgstr "Neue Sicherung erstellen"
@@ -609,10 +610,9 @@ msgstr "Vorhandene Sicherungen"
#: modules/help/templates/statuslog.html:24
#: modules/kiwix/templates/kiwix-add-package.html:26
#: modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:28
-#: modules/matrixsynapse/templates/matrix-synapse.html:76
+#: modules/matrixsynapse/templates/matrix-synapse.html:81
#: modules/names/templates/names.html:128
#: modules/networks/templates/connection_show.html:24
-#: modules/nextcloud/__init__.py:48
#: modules/pagekite/templates/pagekite_custom_services.html:16
#: modules/power/templates/power_busy_warning.html:11
#: modules/snapshot/templates/snapshot_not_supported.html:13
@@ -778,112 +778,110 @@ msgstr ""
msgid "Verify Host"
msgstr "Host verifizieren"
-#: modules/backups/views.py:69
+#: modules/backups/views.py:68
msgid "Backup schedule updated."
msgstr "Sicherungsplan aktualisiert."
-#: modules/backups/views.py:88
+#: modules/backups/views.py:87
msgid "Schedule Backups"
msgstr "Zeitplan für Sicherungen"
-#: modules/backups/views.py:150
+#: modules/backups/views.py:148
msgid "Archive created."
msgstr "Archiv angelegt."
-#: modules/backups/views.py:162
+#: modules/backups/views.py:160
msgid "Delete Archive"
msgstr "Archiv löschen"
-#: modules/backups/views.py:175
+#: modules/backups/views.py:173
msgid "Archive deleted."
msgstr "Archiv gelöscht."
-#: modules/backups/views.py:189
+#: modules/backups/views.py:187
msgid "Upload and restore a backup"
msgstr "Hochladen und Wiederherstellen einer Sicherung"
-#: modules/backups/views.py:218
+#: modules/backups/views.py:216
msgid "Upload successful."
msgstr "Hochladen erfolgreich."
-#: modules/backups/views.py:256
+#: modules/backups/views.py:254
msgid "No backup file found."
msgstr "Keine Sicherungsdatei gefunden."
-#: modules/backups/views.py:264
+#: modules/backups/views.py:262
msgid "Restore from uploaded file"
msgstr "Wiederherstellen aus hochgeladener Datei"
-#: modules/backups/views.py:278 modules/backups/views.py:299
+#: modules/backups/views.py:276 modules/backups/views.py:297
msgid "Restored files from backup."
msgstr "Dateien aus Sicherung wiederhergestellt."
-#: modules/backups/views.py:329
+#: modules/backups/views.py:327
msgid "No additional disks available to add a repository."
msgstr ""
"Es sind keine zusätzlichen Festplatten verfügbar, um ein Repository "
"hinzuzufügen."
-#: modules/backups/views.py:337
+#: modules/backups/views.py:335
msgid "Create backup repository"
msgstr "Sicherungs-Repository erstellen"
-#: modules/backups/views.py:352
-#, fuzzy
-#| msgid "Added new remote SSH repository."
+#: modules/backups/views.py:350
msgid "Added new repository."
-msgstr "Neue Remote-SSH-Archiv hinzugefügt."
+msgstr "Neues Repository hinzugefügt."
-#: modules/backups/views.py:366
+#: modules/backups/views.py:364
msgid "Create remote backup repository"
msgstr "Remote-Sicherungs-Archiv anlegen"
-#: modules/backups/views.py:388
+#: modules/backups/views.py:386
msgid "Added new remote SSH repository."
msgstr "Neue Remote-SSH-Archiv hinzugefügt."
-#: modules/backups/views.py:410
+#: modules/backups/views.py:408
msgid "Verify SSH hostkey"
msgstr "Verifiziere SSH-Schlüssel des Hosts"
-#: modules/backups/views.py:436
+#: modules/backups/views.py:434
msgid "SSH host already verified."
msgstr "SSH-Host bereits verifiziert."
-#: modules/backups/views.py:447
+#: modules/backups/views.py:445
msgid "SSH host verified."
msgstr "SSH-Host verifiziert."
-#: modules/backups/views.py:463
+#: modules/backups/views.py:461
msgid "SSH host public key could not be verified."
msgstr ""
"Der öffentliche SSH-Schlüssel des Hosts konnte nicht verifiziert werden."
-#: modules/backups/views.py:465
+#: modules/backups/views.py:463
msgid "Authentication to remote server failed."
msgstr "Authentifizierung am Server fehlgeschlagen."
-#: modules/backups/views.py:467
+#: modules/backups/views.py:465
msgid "Error establishing connection to server: {}"
msgstr "Fehler beim Verbinden mit Server: {}"
-#: modules/backups/views.py:478
+#: modules/backups/views.py:476
msgid "Repository removed."
msgstr "Archiv gelöscht."
-#: modules/backups/views.py:492
+#: modules/backups/views.py:490
msgid "Remove Repository"
msgstr "Archiv entfernen"
-#: modules/backups/views.py:502
+#: modules/backups/views.py:500
msgid "Repository removed. Backups were not deleted."
msgstr "Repository entfernt. Sicherungen wurden nicht gelöscht."
-#: modules/backups/views.py:513
+#: modules/backups/views.py:511
msgid "Unmounting failed!"
msgstr "Aushängen fehlgeschlagen!"
-#: modules/backups/views.py:529 modules/backups/views.py:533
+#: modules/backups/views.py:527 modules/backups/views.py:531
msgid "Mounting failed"
msgstr "Einhängen fehlgeschlagen"
@@ -1011,7 +1009,7 @@ msgstr "Kennwort hinzufügen"
msgid "No passwords currently configured."
msgstr "Derzeit sind keine Passwörter konfiguriert."
-#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:91
+#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:83
#: modules/miniflux/forms.py:14 modules/networks/forms.py:282
#: modules/shadowsocks/forms.py:32 modules/shadowsocksserver/forms.py:37
msgid "Password"
@@ -1133,14 +1131,16 @@ msgstr "Server"
#, fuzzy
#| msgid "Resolver Status"
msgid "Resolver"
-msgstr "Status des Resolvers"
+msgstr "Resolver"
#: modules/bind/templates/bind.html:11
msgid "Serving Domains"
msgstr "Domains bedienen"
-#: modules/bind/templates/bind.html:17 modules/email/templates/email.html:38
-#: modules/ikiwiki/forms.py:12 modules/names/templates/names.html:18
+#: modules/bind/templates/bind.html:17
+#: modules/email/templates/email-dns.html:25
+#: modules/email/templates/email-dns.html:78 modules/ikiwiki/forms.py:12
+#: modules/names/templates/names.html:18
#: modules/networks/templates/connection_show.html:95
#: modules/samba/templates/samba.html:65
#: modules/storage/templates/storage.html:26
@@ -1170,7 +1170,7 @@ msgstr "IP-Adresse und Domänen aktualisieren"
#: modules/minetest/views.py:55 modules/mumble/views.py:37
#: modules/names/views.py:66 modules/names/views.py:95
#: modules/names/views.py:129 modules/pagekite/forms.py:74
-#: modules/privacy/views.py:50 modules/quassel/views.py:29
+#: modules/privacy/views.py:55 modules/quassel/views.py:29
#: modules/roundcube/views.py:32 modules/rssbridge/views.py:31
#: modules/shadowsocks/views.py:52 modules/shadowsocksserver/views.py:48
#: modules/ssh/views.py:62 modules/transmission/views.py:43
@@ -1819,7 +1819,7 @@ msgid "Test"
msgstr "Testen"
#: modules/diagnostics/templates/diagnostics_results.html:12
-#: modules/dynamicdns/templates/dynamicdns.html:20
+#: modules/dynamicdns/templates/dynamicdns.html:25
msgid "Result"
msgstr "Ergebnis"
@@ -1832,7 +1832,7 @@ msgstr "Diagnose"
msgid "App {app_id} is not installed, cannot repair"
msgstr "App {app_id} ist nicht installiert, kann nicht reparieren"
-#: modules/dynamicdns/__init__.py:28
+#: modules/dynamicdns/__init__.py:29
#, python-brace-format
msgid ""
"If your Internet provider changes your IP address periodically (i.e. every "
@@ -1844,7 +1844,7 @@ msgstr ""
"zu finden. Dadurch werden andere daran gehindert, jene Dienste zu finden, "
"die von Ihrer {box_name} angeboten werden."
-#: modules/dynamicdns/__init__.py:32
+#: modules/dynamicdns/__init__.py:33
msgid ""
"The solution is to assign a DNS name to your IP address and update the DNS "
"name every time your IP is changed by your Internet provider. Dynamic DNS "
@@ -1862,7 +1862,7 @@ msgstr ""
"der neuen IP zuweisen, und wenn jemand aus dem Internet nach Ihrem DNS-Namen "
"fragt, erhält er eine Antwort mit Ihrer aktuellen IP-Adresse."
-#: modules/dynamicdns/__init__.py:40
+#: modules/dynamicdns/__init__.py:41
msgid ""
"If you are looking for a free dynamic DNS account, you may find a free "
"GnuDIP service at ddns."
@@ -1875,11 +1875,17 @@ msgstr ""
"href=\"http://freedns.afraid.org/\" target=\"_blank\">freedns.afraid.org "
"können mittels Update-URL genutzt werden."
-#: modules/dynamicdns/__init__.py:61
+#: modules/dynamicdns/__init__.py:46
+msgid ""
+"This service uses an external service to lookup public IP address. This can "
+"be configured in the privacy app."
+msgstr ""
+
+#: modules/dynamicdns/__init__.py:64
msgid "Dynamic DNS Client"
msgstr "Dynamischer DNS-Client"
-#: modules/dynamicdns/__init__.py:75
+#: modules/dynamicdns/__init__.py:78
msgid "Dynamic Domain Name"
msgstr "Dynamischer Domain-Name"
@@ -1938,88 +1944,71 @@ msgstr ""
"Dieses Feld leerlassen, wenn Sie das Passwort unverändert lassen möchten."
#: modules/dynamicdns/forms.py:43
-#, python-brace-format
-msgid ""
-"Optional Value. If your {box_name} is not connected directly to the Internet "
-"(i.e. connected to a NAT router) this URL is used to determine the real IP "
-"address. The URL should simply return the IP where the client comes from "
-"(example: https://ddns.freedombox.org/ip/)."
-msgstr ""
-"Optionaler Wert. Wenn Ihre FreedomBox {box_name} nicht direkt mit dem "
-"Internet verbunden ist (z. B. Verbindung über einen NAT-Router), wird diese "
-"URL verwendet, um die wahre IP-Adresse zu bestimmen. Die URL sollte nur die "
-"IP-Adresse des Clients liefern (Beispiel: https://ddns.freedombox.org/ip/)."
-
-#: modules/dynamicdns/forms.py:51
msgid "The username that was used when the account was created."
msgstr "Benutzername, der beim Erstellen des Kontos gewählt wurde."
-#: modules/dynamicdns/forms.py:54
+#: modules/dynamicdns/forms.py:46
msgid "GnuDIP"
msgstr "GnuDIP"
-#: modules/dynamicdns/forms.py:57
+#: modules/dynamicdns/forms.py:49
msgid "Other update URL"
msgstr "Andere Update-URL"
-#: modules/dynamicdns/forms.py:59
+#: modules/dynamicdns/forms.py:51
msgid "Service Type"
msgstr "Typ des Dienstes"
-#: modules/dynamicdns/forms.py:64
+#: modules/dynamicdns/forms.py:56
msgid "GnuDIP Server Address"
msgstr "GnuDIP-Server-Adresse"
-#: modules/dynamicdns/forms.py:67
+#: modules/dynamicdns/forms.py:59
msgid "Invalid server name"
msgstr "Ungültiger Servername"
-#: modules/dynamicdns/forms.py:70
+#: modules/dynamicdns/forms.py:62
msgid "Update URL"
msgstr "URL aktualisieren"
-#: modules/dynamicdns/forms.py:74
+#: modules/dynamicdns/forms.py:66
msgid "Accept all SSL certificates"
msgstr "Alle SSL-Zertifikate akzeptieren"
-#: modules/dynamicdns/forms.py:78
+#: modules/dynamicdns/forms.py:70
msgid "Use HTTP basic authentication"
msgstr "HTTP-Basisauthentifizierung verwenden"
-#: modules/dynamicdns/forms.py:82 modules/names/__init__.py:68
+#: modules/dynamicdns/forms.py:74 modules/names/__init__.py:68
#: modules/names/forms.py:106 modules/names/templates/names.html:19
msgid "Domain Name"
msgstr "Domain-Name"
-#: modules/dynamicdns/forms.py:85 modules/names/forms.py:99
+#: modules/dynamicdns/forms.py:77 modules/names/forms.py:99
#: modules/names/forms.py:117
msgid "Invalid domain name"
msgstr "Ungültiger Domain-Name"
-#: modules/dynamicdns/forms.py:88 modules/miniflux/forms.py:11
+#: modules/dynamicdns/forms.py:80 modules/miniflux/forms.py:11
#: modules/networks/forms.py:281 modules/users/forms.py:130
msgid "Username"
msgstr "Benutzername"
-#: modules/dynamicdns/forms.py:95 modules/networks/forms.py:284
+#: modules/dynamicdns/forms.py:87 modules/networks/forms.py:284
msgid "Show password"
msgstr "Passwort anzeigen"
-#: modules/dynamicdns/forms.py:99
-msgid "URL to look up public IP"
-msgstr "Auf die öffentliche IP-Adresse verweisende URL"
-
-#: modules/dynamicdns/forms.py:104
+#: modules/dynamicdns/forms.py:91
msgid "Use IPv6 instead of IPv4"
msgstr "Verwenden Sie IPv6 statt IPv4"
-#: modules/dynamicdns/forms.py:123
+#: modules/dynamicdns/forms.py:110
msgid "This field is required."
msgstr "Dieses Feld ist erforderlich."
#: modules/dynamicdns/manifest.py:17
-#: modules/dynamicdns/templates/dynamicdns.html:18
-#: modules/email/templates/email.html:35
+#: modules/dynamicdns/templates/dynamicdns.html:23
+#: modules/email/templates/email-dns.html:22
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64
msgid "Domain"
@@ -2030,42 +2019,40 @@ msgid "Free"
msgstr "Frei"
#: modules/dynamicdns/manifest.py:17
-#, fuzzy
-#| msgid "Server public key:"
msgid "Needs public IP"
-msgstr "Öffentlicher Schlüssel des Servers:"
+msgstr "Benötigt eine öffentliche IP"
-#: modules/dynamicdns/templates/dynamicdns.html:11
-#: modules/ejabberd/templates/ejabberd.html:13 modules/firewall/manifest.py:10
+#: modules/dynamicdns/templates/dynamicdns.html:16
+#: modules/ejabberd/templates/ejabberd.html:18 modules/firewall/manifest.py:10
#: modules/firewall/templates/firewall.html:16
#: modules/firewall/templates/firewall.html:22
#: modules/letsencrypt/templates/letsencrypt.html:17
-#: modules/matrixsynapse/templates/matrix-synapse.html:12
+#: modules/matrixsynapse/templates/matrix-synapse.html:17
#: modules/networks/templates/connection_show.html:258
-#: modules/samba/templates/samba.html:67 modules/tor/templates/tor.html:19
+#: modules/samba/templates/samba.html:67 modules/tor/templates/tor.html:24
#: modules/upgrades/templates/upgrades_configure.html:14
#: modules/wireguard/templates/wireguard_show_client.html:48
#: modules/wireguard/templates/wireguard_show_server.html:47
msgid "Status"
msgstr "Status"
-#: modules/dynamicdns/templates/dynamicdns.html:19
+#: modules/dynamicdns/templates/dynamicdns.html:24
msgid "Last update"
msgstr "Letztes Update"
-#: modules/dynamicdns/templates/dynamicdns.html:21
+#: modules/dynamicdns/templates/dynamicdns.html:26
msgid "IP Address"
msgstr "IP-Adresse"
-#: modules/dynamicdns/templates/dynamicdns.html:32
+#: modules/dynamicdns/templates/dynamicdns.html:37
msgid "Success"
msgstr "Erfolg"
-#: modules/dynamicdns/templates/dynamicdns.html:36
+#: modules/dynamicdns/templates/dynamicdns.html:41
msgid "Failed"
msgstr "Gescheitert"
-#: modules/dynamicdns/templates/dynamicdns.html:52
+#: modules/dynamicdns/templates/dynamicdns.html:57
msgid "No status available."
msgstr "Kein Status verfügbar."
@@ -2239,7 +2226,7 @@ msgstr "Videochat"
msgid "XMPP"
msgstr "XMPP"
-#: modules/ejabberd/templates/ejabberd.html:18
+#: modules/ejabberd/templates/ejabberd.html:23
#, python-format
msgid ""
"Your XMPP server domain is set to %(domain_name)s. User IDs will look "
@@ -2250,7 +2237,7 @@ msgstr ""
"IDs erscheinen als username@%(domain_name)s. Sie können Ihre Domain "
"auf der Seite Namen Dienste konfigurieren."
-#: modules/ejabberd/templates/ejabberd.html:25
+#: modules/ejabberd/templates/ejabberd.html:30
#, python-format
msgid ""
"Your XMPP server domain is not set. You can setup your domain on the system "
@@ -2318,14 +2305,18 @@ msgstr ""
msgid "Postfix/Dovecot"
msgstr "Postfix/Dovecot"
-#: modules/email/__init__.py:83
+#: modules/email/__init__.py:80
+msgid "More emails"
+msgstr ""
+
+#: modules/email/__init__.py:80
+msgid "Same mailbox"
+msgstr ""
+
+#: modules/email/__init__.py:82
msgid "My Email Aliases"
msgstr "Meine E-Mail-Aliase"
-#: modules/email/__init__.py:84
-msgid "Manage Aliases for Mailbox"
-msgstr "Aliase des Postfachs verwalten"
-
#: modules/email/forms.py:25
msgid "Primary domain"
msgstr "Primäre Domain"
@@ -2404,47 +2395,103 @@ msgstr "Einen neuen E-Mail-Alias erstellen"
msgid "Add"
msgstr "Hinzufügen"
-#: modules/email/templates/email.html:10
-msgid "Manage Spam"
-msgstr "Spam verwalten"
-
-#: modules/email/templates/email.html:22
-msgid "DNS Records"
+#: modules/email/templates/email-dns.html:9
+#, fuzzy
+#| msgid "DNS Records"
+msgid "DNS Records for domain:"
msgstr "DNS-Einträge"
-#: modules/email/templates/email.html:25
+#: modules/email/templates/email-dns.html:12
+#, fuzzy
+#| msgid ""
+#| "The following DNS records must be added manually on your primary domain "
+#| "for the mail server to work properly."
msgid ""
-"The following DNS records must be added manually on your primary domain for "
-"the mail server to work properly."
+"The following DNS records must be added manually on this domain for the mail "
+"server to work properly for this domain."
msgstr ""
"Die folgenden DNS-Einträge müssen manuell zu Ihrer primären Domain "
"hinzugefügt werden, damit der Mailserver korrekt funktioniert."
-#: modules/email/templates/email.html:36
+#: modules/email/templates/email-dns.html:23
+#: modules/email/templates/email-dns.html:77
msgid "TTL"
msgstr "TTL"
-#: modules/email/templates/email.html:37
+#: modules/email/templates/email-dns.html:24
msgid "Class"
msgstr "Klasse"
-#: modules/email/templates/email.html:39
+#: modules/email/templates/email-dns.html:26
msgid "Priority"
msgstr "Priorität"
-#: modules/email/templates/email.html:40
+#: modules/email/templates/email-dns.html:27
msgid "Weight"
msgstr "Gewicht"
-#: modules/email/templates/email.html:41
+#: modules/email/templates/email-dns.html:28
#: modules/minetest/templates/minetest.html:18
msgid "Port"
msgstr "Port"
-#: modules/email/templates/email.html:42
+#: modules/email/templates/email-dns.html:29
+#: modules/email/templates/email-dns.html:79
msgid "Host/Target/Value"
msgstr "Host/Ziel/Wert"
+#: modules/email/templates/email-dns.html:50
+#, fuzzy
+#| msgid "Server hostname or IP address"
+msgid "Reverse DNS Records for IP Addresses"
+msgstr "Servername oder IP-Adresse"
+
+#: modules/email/templates/email-dns.html:53
+#, python-format
+msgid ""
+"If your %(box_name)s runs on a cloud service infrastructure, you should "
+"configure "
+"Reverse DNS lookup. This isn't mandatory, however, it greatly improves "
+"email deliverability. Reverse DNS isn't configured where your regular DNS "
+"is. You should look for it in the settings of your VPS/ISP. Some providers "
+"preconfigure the IP address part for you and you only have to set the domain "
+"part. Only one of your domains can have Revese DNS lookup configured unless "
+"you have multiple public IP addresses."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:66
+msgid ""
+"An external service is used to lookup public IP address to show in the "
+"following section. This can be configured in the privacy app."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:76
+#, fuzzy
+#| msgid "Hostname"
+msgid "Host"
+msgstr "Hostname"
+
+#: modules/email/templates/email.html:10
+msgid "Manage Spam"
+msgstr "Spam verwalten"
+
+#: modules/email/templates/email.html:20 modules/names/manifest.py:11
+#: modules/names/templates/names.html:12
+msgid "Domains"
+msgstr "Domains"
+
+#: modules/email/templates/email.html:23
+msgid ""
+"The following domains are configured. View details to see the list of DNS "
+"entries to be made for the domain."
+msgstr ""
+
+#: modules/email/templates/email.html:35
+#, fuzzy, python-format
+#| msgid "Resolve domain name: {domain}"
+msgid "View domain: %(domain)s"
+msgstr "Domainname auflösen: {domain}"
+
#: modules/featherwiki/__init__.py:25
#, python-brace-format
msgid ""
@@ -2709,7 +2756,7 @@ msgstr "Port -Name {name} ({details}) für externe Netzwerke verfügbar"
msgid "Port {name} ({details}) unavailable for external networks"
msgstr "Port -Name {name} ({details}) für externe Netzwerke nicht verfügbar"
-#: modules/firewall/manifest.py:10 modules/tor/templates/tor.html:20
+#: modules/firewall/manifest.py:10 modules/tor/templates/tor.html:25
msgid "Ports"
msgstr "Ports"
@@ -2717,7 +2764,7 @@ msgstr "Ports"
#, fuzzy
#| msgid "Blocked"
msgid "Blocking"
-msgstr "Geblockt"
+msgstr "Blockierend"
#: modules/firewall/manifest.py:10 modules/networks/forms.py:319
#: modules/upgrades/manifest.py:10
@@ -3078,9 +3125,9 @@ msgstr "Feedback geben"
msgid "Contribute"
msgstr "Mitwirken"
-#: modules/help/__init__.py:53 templates/base.html:215 templates/base.html:218
+#: modules/help/__init__.py:53 templates/base.html:217 templates/base.html:220
#: templates/help-menu.html:46 templates/help-menu.html:47
-#: templates/index.html:98
+#: templates/index.html:96
msgid "About"
msgstr "Info"
@@ -3254,7 +3301,7 @@ msgstr ""
#: modules/help/templates/help_contribute.html:42
#: modules/power/templates/power_restart.html:27
-#: modules/power/templates/power_shutdown.html:26 templates/app-header.html:68
+#: modules/power/templates/power_shutdown.html:26 templates/app-header.html:65
msgid "Learn more..."
msgstr "Mehr erfahren …"
@@ -3635,7 +3682,7 @@ msgid "Web conference"
msgstr "Web-Konferenz"
#: modules/janus/templates/janus_video_room.html:205
-#: modules/jsxc/templates/jsxc_launch.html:117 templates/base.html:271
+#: modules/jsxc/templates/jsxc_launch.html:117 templates/base.html:273
msgid "JavaScript license information"
msgstr "JavaScript-Lizenzinformation"
@@ -4055,24 +4102,13 @@ msgstr ""
"em>."
#: modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:31
-#, fuzzy
-#| msgid ""
-#| "\n"
-#| " Warning! Changing the domain name after this step "
-#| "will\n"
-#| " require uninstalling and reinstalling the app which will wipe app's "
-#| "data.\n"
-#| " "
msgid ""
"Warning! Changing the domain name after this step will "
"require uninstalling and reinstalling the app which will wipe app's data."
msgstr ""
-"\n"
-" Warnung! Das Ändern des Domainnamens nach diesem "
-"Schritt\n"
-" erfordert eine Deinstallation und Neuinstallation der App, wodurch die "
-"Daten der App gelöscht werden.\n"
-" "
+"Warnung! Das Ändern des Domainnamens nach diesem Schritt "
+"erfordert eine Deinstallation und Neuinstallation der App, wodurch die Daten "
+"der App gelöscht werden."
#: modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:42
#, python-format
@@ -4084,7 +4120,7 @@ msgstr ""
"href=\"%(config_url)s\">Konfigurieren Sie mindestens eine Domain, um "
"Matrix Synapse nutzen zu können."
-#: modules/matrixsynapse/templates/matrix-synapse.html:15
+#: modules/matrixsynapse/templates/matrix-synapse.html:20
#, python-format
msgid ""
"The Matrix server domain is set to %(domain_name)s. User IDs will "
@@ -4095,7 +4131,7 @@ msgstr ""
"IDs erscheinen als Nutzername:%(domain_name)s. Änderungen der "
"Domain nach der ersten Konfiguration werden derzeit nicht unterstützt."
-#: modules/matrixsynapse/templates/matrix-synapse.html:22
+#: modules/matrixsynapse/templates/matrix-synapse.html:27
msgid ""
"New users can be registered from any client if public registration is "
"enabled."
@@ -4103,7 +4139,7 @@ msgstr ""
"Neue Nutzer können von beliebigen Geräten registriert werden, wenn "
"öffentliche Registrierung aktiviert ist."
-#: modules/matrixsynapse/templates/matrix-synapse.html:29
+#: modules/matrixsynapse/templates/matrix-synapse.html:34
msgid ""
"New users must use one of the following tokens for verification during "
"account registration:"
@@ -4111,31 +4147,31 @@ msgstr ""
"Neue Benutzer müssen bei der Kontoregistrierung einen der folgenden Token "
"zur Verifizierung verwenden:"
-#: modules/matrixsynapse/templates/matrix-synapse.html:38
+#: modules/matrixsynapse/templates/matrix-synapse.html:43
msgid "Registration Token"
msgstr "Registrierungs-Token"
-#: modules/matrixsynapse/templates/matrix-synapse.html:39
+#: modules/matrixsynapse/templates/matrix-synapse.html:44
msgid "Uses Allowed"
msgstr "Erlaubte Nutzungen"
-#: modules/matrixsynapse/templates/matrix-synapse.html:40
+#: modules/matrixsynapse/templates/matrix-synapse.html:45
msgid "Pending Registrations"
msgstr "Ausstehende Registrierungen"
-#: modules/matrixsynapse/templates/matrix-synapse.html:41
+#: modules/matrixsynapse/templates/matrix-synapse.html:46
msgid "Completed Registrations"
msgstr "Abgeschlossene Registrierungen"
-#: modules/matrixsynapse/templates/matrix-synapse.html:42
+#: modules/matrixsynapse/templates/matrix-synapse.html:47
msgid "Expiry Time"
msgstr "Ablaufzeit"
-#: modules/matrixsynapse/templates/matrix-synapse.html:51
+#: modules/matrixsynapse/templates/matrix-synapse.html:56
msgid "Unlimited"
msgstr "Unbegrenzt"
-#: modules/matrixsynapse/templates/matrix-synapse.html:80
+#: modules/matrixsynapse/templates/matrix-synapse.html:85
#, python-format
msgid ""
"The configured domain name is using a self-signed certificate. Federation "
@@ -4523,7 +4559,7 @@ msgstr "Passwörter stimmen nicht überein."
#: modules/miniflux/manifest.py:18
msgid "Fluent Reader Lite"
-msgstr ""
+msgstr "Fluent Reader Lite"
#: modules/miniflux/manifest.py:33
#, fuzzy
@@ -4533,19 +4569,19 @@ msgstr "Fluent Reader"
#: modules/miniflux/manifest.py:46
msgid "FluxNews"
-msgstr ""
+msgstr "FluxNews"
#: modules/miniflux/manifest.py:61
msgid "MiniFlutt"
-msgstr ""
+msgstr "MiniFlutt"
#: modules/miniflux/manifest.py:71
msgid "NetNewsWire"
-msgstr ""
+msgstr "NetNewsWire"
#: modules/miniflux/manifest.py:86
msgid "Newsflash"
-msgstr ""
+msgstr "Newsflash"
#: modules/miniflux/manifest.py:96
#, fuzzy
@@ -4555,7 +4591,7 @@ msgstr "Read You"
#: modules/miniflux/manifest.py:106
msgid "RSS Guard"
-msgstr ""
+msgstr "RSS Guard"
#: modules/miniflux/manifest.py:138 modules/ttrss/manifest.py:55
#, fuzzy
@@ -4623,7 +4659,7 @@ msgstr "Passwort zurücksetzen für Benutzer: {username}"
msgid "An error occurred during password reset: {error}."
msgstr "Beim Zurücksetzen des Passworts ist ein Fehler aufgetreten: {error}."
-#: modules/mumble/__init__.py:25
+#: modules/mumble/__init__.py:27
msgid ""
"Mumble is an open source, low-latency, encrypted, high quality voice chat "
"software."
@@ -4631,7 +4667,7 @@ msgstr ""
"Mumble ist eine hochwertige quelloffene Software für Telefonie und Chat, mit "
"Verschlüsselung und geringer Latenz."
-#: modules/mumble/__init__.py:27
+#: modules/mumble/__init__.py:29
msgid ""
"You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your "
@@ -4641,10 +4677,16 @@ msgstr ""
"verbinden. Auf Mumble finden Sie "
"Anwendungen, um sich vom Desktop oder Mobil-Gerät mit Mumble zu verbinden."
-#: modules/mumble/__init__.py:45 modules/mumble/manifest.py:9
+#: modules/mumble/__init__.py:47 modules/mumble/manifest.py:9
msgid "Mumble"
msgstr "Mumble"
+#: modules/mumble/__init__.py:158
+#, fuzzy
+#| msgid "Mumble server is running"
+msgid "Mumble server is configured"
+msgstr "Mumble Server läuft"
+
#: modules/mumble/forms.py:30
msgid "Set SuperUser Password"
msgstr "SuperUser-Kennwort festlegen"
@@ -4790,10 +4832,6 @@ msgstr ""
"alphanumerischen Zeichen und Bindestrichen bestehen. Jede Kennung darf "
"maximal 63 Zeichen lang sein, die Gesamtlänge des Domainnamens 253 Zeichen."
-#: modules/names/manifest.py:11 modules/names/templates/names.html:12
-msgid "Domains"
-msgstr "Domains"
-
#: modules/names/manifest.py:13
msgid "DNS Resolution"
msgstr "DNS-Auflösung"
@@ -4819,7 +4857,7 @@ msgstr "nein"
#: modules/names/resolved.py:102
msgid "allow-downgrade"
-msgstr ""
+msgstr "downgrade erlauben"
#: modules/names/resolved.py:110
msgid "supported"
@@ -5395,7 +5433,7 @@ msgstr "Verbindung bearbeiten"
#: modules/networks/templates/connection_show.html:40
#: modules/wireguard/templates/wireguard_show_client.html:72
#: modules/wireguard/templates/wireguard_show_server.html:73
-#: templates/base.html:165 templates/base.html:166
+#: templates/base.html:167 templates/base.html:168
msgid "Edit"
msgstr "Bearbeiten"
@@ -5448,7 +5486,7 @@ msgstr "Schnittstelle"
#: modules/networks/templates/connection_show.html:107
#: modules/snapshot/templates/snapshot_delete_selected.html:19
-#: modules/snapshot/templates/snapshot_manage.html:29
+#: modules/snapshot/templates/snapshot_manage.html:34
#: modules/snapshot/templates/snapshot_rollback.html:27
msgid "Description"
msgstr "Beschreibung"
@@ -5526,8 +5564,8 @@ msgstr "Diese Verbindung ist nicht aktiv."
#: modules/networks/templates/connection_show.html:264
#: modules/networks/templates/connections_fields_privacy.html:15
-#: modules/openvpn/manifest.py:60 modules/privacy/__init__.py:32
-#: modules/privacy/__init__.py:72 modules/wireguard/manifest.py:45
+#: modules/openvpn/manifest.py:60 modules/privacy/__init__.py:38
+#: modules/privacy/__init__.py:77 modules/wireguard/manifest.py:45
msgid "Privacy"
msgstr "Datenschutz"
@@ -5620,7 +5658,7 @@ msgstr "Intern"
msgid "Computer"
msgstr "Computer"
-#: modules/networks/templates/connections_edit.html:19
+#: modules/networks/templates/connections_edit.html:24
#: modules/networks/views.py:253 modules/networks/views.py:341
msgid "Edit Connection"
msgstr "Verbindung bearbeiten"
@@ -5631,7 +5669,7 @@ msgid "Error:"
msgstr "Fehler:"
#: modules/networks/templates/connections_fields.html:20
-#: modules/users/templates/users_update.html:46 templates/messages.html:30
+#: modules/users/templates/users_update.html:51 templates/messages.html:30
msgid "Close"
msgstr "Schließen"
@@ -5733,7 +5771,7 @@ msgstr "aktualisieren..."
#: modules/networks/templates/network_topology_update.html:18
#: modules/networks/templates/router_configuration_update.html:19
#: modules/pagekite/templates/pagekite_custom_services.html:33
-#: modules/sharing/templates/sharing_add_edit.html:20 templates/form.html:19
+#: modules/sharing/templates/sharing_add_edit.html:25 templates/form.html:19
msgid "Submit"
msgstr "Absenden"
@@ -6178,11 +6216,7 @@ msgstr ""
"Projekt und nicht von Debian/{box_name} durchgeführt. Aktualisierungen "
"werden in einem unabhängigen Zyklus durchgeführt."
-#: modules/nextcloud/__init__.py:48
-msgid "This app is experimental."
-msgstr "Diese App ist experimentell."
-
-#: modules/nextcloud/__init__.py:66 modules/nextcloud/manifest.py:11
+#: modules/nextcloud/__init__.py:65 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
msgid "Nextcloud"
msgstr "Nextcloud"
@@ -6389,7 +6423,7 @@ msgstr ""
msgid "PageKite"
msgstr "PageKite"
-#: modules/pagekite/__init__.py:73
+#: modules/pagekite/__init__.py:72
msgid "PageKite Domain"
msgstr "PageKite Domäne"
@@ -6501,18 +6535,13 @@ msgid "Add custom PageKite service"
msgstr "Hinzufügen eines benutzerdefinierten PageKite-Dienstes"
#: modules/pagekite/templates/pagekite_custom_services.html:19
-#, fuzzy
-#| msgid ""
-#| "Warning:
Your PageKite frontend server may not support all the "
-#| "protocol/port combinations that you are able to define here. For example, "
-#| "HTTPS on ports other than 443 is known to cause problems."
msgid ""
"Your PageKite frontend server may not support all the protocol/port "
"combinations that you are able to define here. For example, HTTPS on ports "
"other than 443 is known to cause problems."
msgstr ""
-"Warnung:
Ihr PageKite-Frontend-Server unterstützt möglicherweise "
-"nicht alle Protokolle/Port-Kombinationen, die Sie hier definieren können. "
+"Ihr PageKite-Frontend-Server unterstützt möglicherweise nicht alle "
+"Protokolle/Port-Kombinationen, die Sie hier definieren können. "
"Beispielsweise HTTPS auf anderen Ports als 443, ist bekannt dafür, Probleme "
"zu verursachen."
@@ -6573,7 +6602,7 @@ msgstr "Überwachung"
#: modules/performance/manifest.py:18
msgid "Resource utilization"
-msgstr ""
+msgstr "Ressourcennutzung"
#: modules/power/__init__.py:14
msgid "Restart or shut down the system."
@@ -6591,8 +6620,8 @@ msgstr "Neustart"
msgid "Shutdown"
msgstr "Herunterfahren"
-#: modules/power/templates/power.html:15 templates/base.html:180
-#: templates/base.html:181
+#: modules/power/templates/power.html:15 templates/base.html:182
+#: templates/base.html:183
msgid "Restart"
msgstr "Neu starten"
@@ -6635,25 +6664,35 @@ msgstr ""
msgid "Shut Down Now"
msgstr "Jetzt herunterfahren"
-#: modules/privacy/__init__.py:15
+#: modules/privacy/__init__.py:21
msgid "Manage system-wide privacy settings."
msgstr "Verwaltung systemweiter Datenschutzeinstellungen."
-#: modules/privacy/__init__.py:70
+#: modules/privacy/__init__.py:75
msgid "Please update privacy settings to match your preferences."
msgstr ""
"Bitte passen Sie die Datenschutzeinstellungen entsprechend Ihren Wünschen an."
-#: modules/privacy/__init__.py:75
+#: modules/privacy/__init__.py:80
msgid "Review privacy setting"
msgstr "Datenschutzeinstellungen anpassen"
-#: modules/privacy/forms.py:16
+#: modules/privacy/forms.py:17
+#, python-brace-format
+msgid ""
+"Optional Value. This URL is used to determine the publicly visible IP "
+"address of your {box_name}. The URL should simply return the IPv4 or IPv6 "
+"address where the client request comes from. Default is to use the service "
+"provided by the FreedomBox Foundation at https://ddns.freedombox.org/ip/. If "
+"empty, lookups are disabled and some functionality will fail."
+msgstr ""
+
+#: modules/privacy/forms.py:25
msgid "Periodically submit a list of apps used (suggested)"
msgstr ""
"Regelmäßig eine Liste der verwendeten Anwendungen einreichen (vorgeschlagen)"
-#: modules/privacy/forms.py:18
+#: modules/privacy/forms.py:27
#, python-brace-format
msgid ""
"Help Debian/{box_name} developers by participating in the Popularity Contest "
@@ -6671,11 +6710,11 @@ msgstr ""
"org. Die Übermittlung erfolgt über das Tor-Netzwerk für zusätzliche "
"Anonymität, wenn die Tor-App aktiviert ist."
-#: modules/privacy/forms.py:28
+#: modules/privacy/forms.py:37
msgid "Allow using fallback DNS servers"
msgstr "Verwendung von Ausweich-DNS-Servern zulassen"
-#: modules/privacy/forms.py:30
+#: modules/privacy/forms.py:39
msgid ""
"Use well-known public DNS servers to resolve domain names in unusual "
"circumstances where no DNS servers are known but internet connectivity is "
@@ -6687,15 +6726,25 @@ msgstr ""
"eine Internetverbindung besteht. Kann in den meisten Fällen deaktiviert "
"werden, wenn die Netzwerkverbindung stabil und zuverlässig ist."
+#: modules/privacy/forms.py:45
+#, fuzzy
+#| msgid "URL to look up public IP"
+msgid "URL to look up public IP address"
+msgstr "Auf die öffentliche IP-Adresse verweisende URL"
+
#: modules/privacy/manifest.py:10
msgid "Usage reporting"
-msgstr ""
+msgstr "Nutzungsberichte"
#: modules/privacy/manifest.py:10
#, fuzzy
-#| msgid "Fallback DNS Servers"
+#| msgid "Enable repro service"
+msgid "External services"
+msgstr "repro Dienst einschalten"
+
+#: modules/privacy/manifest.py:10
msgid "Fallback DNS"
-msgstr "Ausweich-DNS-Server"
+msgstr "Ausweich-DNS"
#: modules/privoxy/__init__.py:25
msgid ""
@@ -6786,13 +6835,7 @@ msgid "IRC"
msgstr "IRC"
#: modules/radicale/__init__.py:25
-#, fuzzy, python-brace-format
-#| msgid ""
-#| "Radicale is a CalDAV and CardDAV server. It allows synchronization and "
-#| "sharing of scheduling and contact data. To use Radicale, a supported client application is needed. Radicale can be "
-#| "accessed by any user with a {box_name} login."
+#, python-brace-format
msgid ""
"Radicale is a CalDAV and CardDAV server. It allows synchronization and "
"sharing of scheduling and contact data. To use Radicale, a unterstützte Client Software notwendig. Radicale "
-"kann von jedem Benutzer mit einem {box_name}-Konto verwendet werden."
+"nutzen, ist eine unterstützte Client Software notwendig. Radicale kann von "
+"jedem Benutzer mit einem {box_name}-Konto verwendet werden."
#: modules/radicale/__init__.py:31
msgid ""
@@ -7275,10 +7318,8 @@ msgstr ""
"SSH-Server und andere aktivierte, passwortgeschützte Anwendungen."
#: modules/security/manifest.py:10
-#, fuzzy
-#| msgid "Automatic"
msgid "Automatic bans"
-msgstr "Automatisch"
+msgstr "Automatische Bans"
#: modules/security/manifest.py:10
msgid "Reports"
@@ -7790,40 +7831,40 @@ msgid "Delete the following snapshots permanently?"
msgstr "Folgenden Speicherauszug dauerhaft löschen?"
#: modules/snapshot/templates/snapshot_delete_selected.html:17
-#: modules/snapshot/templates/snapshot_manage.html:27
+#: modules/snapshot/templates/snapshot_manage.html:32
#: modules/snapshot/templates/snapshot_rollback.html:25
msgid "Number"
msgstr "Nummer"
#: modules/snapshot/templates/snapshot_delete_selected.html:18
-#: modules/snapshot/templates/snapshot_manage.html:28
+#: modules/snapshot/templates/snapshot_manage.html:33
#: modules/snapshot/templates/snapshot_rollback.html:26
msgid "Date"
msgstr "Datum"
#: modules/snapshot/templates/snapshot_delete_selected.html:42
-#: modules/snapshot/templates/snapshot_manage.html:20
+#: modules/snapshot/templates/snapshot_manage.html:25
#: modules/snapshot/views.py:197
msgid "Delete Snapshots"
msgstr "Speicherauszüge löschen"
-#: modules/snapshot/templates/snapshot_manage.html:17
+#: modules/snapshot/templates/snapshot_manage.html:22
msgid "Create Snapshot"
msgstr "Speicherauszug anlegen"
-#: modules/snapshot/templates/snapshot_manage.html:30
+#: modules/snapshot/templates/snapshot_manage.html:35
msgid "Rollback"
msgstr "Zurücksetzen"
-#: modules/snapshot/templates/snapshot_manage.html:40
+#: modules/snapshot/templates/snapshot_manage.html:45
msgid "will be used at next boot"
msgstr "wird beim nächsten Boot verwendet"
-#: modules/snapshot/templates/snapshot_manage.html:45
+#: modules/snapshot/templates/snapshot_manage.html:50
msgid "in use"
msgstr "in Benutzung"
-#: modules/snapshot/templates/snapshot_manage.html:54
+#: modules/snapshot/templates/snapshot_manage.html:59
#, python-format
msgid "Rollback to snapshot #%(number)s"
msgstr "Zurücksetzen auf Speicherauszug #%(number)s"
@@ -7965,7 +8006,7 @@ msgstr "SSH"
#, fuzzy
#| msgid "Remove Location"
msgid "Remote terminal"
-msgstr "Standort entfernen"
+msgstr "Remote Terminal"
#: modules/ssh/manifest.py:22
msgid "Fingerprints"
@@ -8190,10 +8231,8 @@ msgid "Other directory (specify below)"
msgstr "Anderes Verzeichnis (unten angeben)"
#: modules/storage/manifest.py:9
-#, fuzzy
-#| msgid "Disk"
msgid "Disks"
-msgstr "Speichermedium"
+msgstr "Speichermedien"
#: modules/storage/manifest.py:9
msgid "Usage"
@@ -8446,27 +8485,27 @@ msgstr ""
msgid "Tor"
msgstr "Tor"
-#: modules/tor/__init__.py:78
+#: modules/tor/__init__.py:77
msgid "Tor Onion Service"
msgstr "Tor-Onion-Dienste"
-#: modules/tor/__init__.py:82
+#: modules/tor/__init__.py:81
msgid "Tor Bridge Relay"
msgstr "Tor-Bridge-Relay"
-#: modules/tor/__init__.py:140
+#: modules/tor/__init__.py:139
msgid "Tor relay port available"
msgstr "Tor-Relay-Port ist verfügbar"
-#: modules/tor/__init__.py:152
+#: modules/tor/__init__.py:151
msgid "Obfs3 transport registered"
msgstr "Obfs3-Transport registriert"
-#: modules/tor/__init__.py:163
+#: modules/tor/__init__.py:162
msgid "Obfs4 transport registered"
msgstr "Obfs4-Transport registriert"
-#: modules/tor/__init__.py:176
+#: modules/tor/__init__.py:175
msgid "Onion service is version 3"
msgstr "Onion-Dienst ist Version 3"
@@ -8578,7 +8617,7 @@ msgstr "Relay"
msgid "Anonymity network"
msgstr "Anonymisierungsnetzwerk"
-#: modules/tor/templates/tor.html:18
+#: modules/tor/templates/tor.html:23
msgid "Onion Service"
msgstr "Onion-Dienste"
@@ -9245,12 +9284,12 @@ msgstr "Benutzer"
msgid "Edit user %(username)s"
msgstr "Benutzer %(username)s bearbeiten"
-#: modules/users/templates/users_update.html:12
+#: modules/users/templates/users_update.html:17
#, python-format
msgid "Edit User %(username)s"
msgstr "Benutzer %(username)s bearbeiten"
-#: modules/users/templates/users_update.html:20
+#: modules/users/templates/users_update.html:25
#, python-format
msgid ""
"Use the change password form to "
@@ -9260,17 +9299,17 @@ msgstr ""
"href='%(change_password_url)s'>Passwortänderungsformular, um das "
"Passwort zu ändern."
-#: modules/users/templates/users_update.html:32
+#: modules/users/templates/users_update.html:37
#: templates/language-selection.html:17
msgid "Save Changes"
msgstr "Änderungen speichern"
-#: modules/users/templates/users_update.html:41
+#: modules/users/templates/users_update.html:46
#, python-format
msgid "Delete user %(username)s and all the user's files?"
msgstr "Benutzer %(username)s und alle Dateien des Benutzers löschen?"
-#: modules/users/templates/users_update.html:51
+#: modules/users/templates/users_update.html:56
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
@@ -9279,11 +9318,11 @@ msgstr ""
"Verzeichnis des Benutzers entfernt. Wenn Sie diese Dateien behalten möchten, "
"deaktivieren Sie stattdessen das Benutzerkonto."
-#: modules/users/templates/users_update.html:60
+#: modules/users/templates/users_update.html:65
msgid "Delete user and files"
msgstr "Benutzer und Dateien löschen"
-#: modules/users/templates/users_update.html:63
+#: modules/users/templates/users_update.html:68
msgid "Cancel"
msgstr "Abbrechen"
@@ -9995,15 +10034,13 @@ msgstr "Installation"
msgid "Service %(service_name)s is not running."
msgstr "Dienst %(service_name)s läuft nicht."
-#: templates/apps.html:29
+#: templates/apps.html:33
msgid "Search with tags"
msgstr "Suche mit Schlagwörtern"
-#: templates/apps.html:42
-#, fuzzy
-#| msgid "Search with tags"
+#: templates/apps.html:46
msgid "Clear all tags"
-msgstr "Suche mit Schlagwörtern"
+msgstr "Alle Schlagwörter löschen"
#: templates/base.html:31
msgid ""
@@ -10014,35 +10051,35 @@ msgstr ""
"und Datenschutz entwickelt wurde. Es ist freie Software, mit der Sie Server-"
"Apps einfach installieren und verwalten können."
-#: templates/base.html:116
+#: templates/base.html:118
msgid " Home"
msgstr " Startseite"
-#: templates/base.html:124
+#: templates/base.html:126
msgid " Apps"
msgstr " Apps"
-#: templates/base.html:133
+#: templates/base.html:135
msgid " System"
msgstr " System"
-#: templates/base.html:172 templates/base.html:173
+#: templates/base.html:174 templates/base.html:175
msgid "Change password"
msgstr "Passwort ändern"
-#: templates/base.html:186 templates/base.html:187
+#: templates/base.html:188 templates/base.html:189
msgid "Shut down"
msgstr "Herunterfahren"
-#: templates/base.html:197 templates/base.html:235
+#: templates/base.html:199 templates/base.html:237
msgid "Log out"
msgstr "Abmelden"
-#: templates/base.html:206 templates/base.html:209
+#: templates/base.html:208 templates/base.html:211
msgid "Select language"
msgstr "Sprache wählen"
-#: templates/base.html:224 templates/base.html:226
+#: templates/base.html:226 templates/base.html:228
msgid "Log in"
msgstr "Anmelden"
@@ -10262,23 +10299,45 @@ msgstr ""
"Alle App-Daten und -Konfigurationen gehen dauerhaft verloren. App kann "
"wieder frisch installiert werden."
-#: views.py:85
+#: views.py:84
msgid "Here"
msgstr "Hier"
-#: views.py:374
+#: views.py:376
msgid "Setting unchanged"
msgstr "Einstellung unverändert"
-#: views.py:609
+#: views.py:610
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr "vor der Deinstallation von {app_id}"
-#: web_framework.py:114
+#: web_framework.py:122
msgid "Gujarati"
msgstr "Gujarati"
+#~ msgid "In 24 hour format."
+#~ msgstr "Im 24-Stunden-Format."
+
+#, python-brace-format
+#~ msgid ""
+#~ "Optional Value. If your {box_name} is not connected directly to the "
+#~ "Internet (i.e. connected to a NAT router) this URL is used to determine "
+#~ "the real IP address. The URL should simply return the IP where the client "
+#~ "comes from (example: https://ddns.freedombox.org/ip/)."
+#~ msgstr ""
+#~ "Optionaler Wert. Wenn Ihre FreedomBox {box_name} nicht direkt mit dem "
+#~ "Internet verbunden ist (z. B. Verbindung über einen NAT-Router), wird "
+#~ "diese URL verwendet, um die wahre IP-Adresse zu bestimmen. Die URL sollte "
+#~ "nur die IP-Adresse des Clients liefern (Beispiel: https://ddns.freedombox."
+#~ "org/ip/)."
+
+#~ msgid "Manage Aliases for Mailbox"
+#~ msgstr "Aliase des Postfachs verwalten"
+
+#~ msgid "This app is experimental."
+#~ msgstr "Diese App ist experimentell."
+
#~ msgid "File & Snippet Sharing"
#~ msgstr "Datei- und Snippet-Freigabe"
@@ -12564,9 +12623,6 @@ msgstr "Gujarati"
#~ msgid "Minetest server is not running"
#~ msgstr "Minetest Server läuft nicht"
-#~ msgid "Mumble server is running"
-#~ msgstr "Mumble Server läuft"
-
#~ msgid "Mumble server is not running"
#~ msgstr "Mumble Server läuft nicht"
@@ -12673,10 +12729,6 @@ msgstr "Gujarati"
#~ msgid "repro SIP Server"
#~ msgstr "repro SIP Server"
-#~| msgid "Enable Quassel core service"
-#~ msgid "Enable repro service"
-#~ msgstr "repro Dienst einschalten"
-
#~ msgid "Enable Shaarli"
#~ msgstr "Shaarli einschalten"
diff --git a/plinth/locale/django.pot b/plinth/locale/django.pot
index 3af1bfa6d..0a25c89f1 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-12-30 20:05-0500\n"
+"POT-Creation-Date: 2025-01-13 20:33-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME
SSH key-based authentication is not yet "
"possible."
msgstr ""
-#: modules/backups/forms.py:273
+#: modules/backups/forms.py:275
msgid "Remote backup repository already exists."
msgstr ""
-#: modules/backups/forms.py:279
+#: modules/backups/forms.py:281
msgid "Select verified SSH public key"
msgstr ""
#: modules/backups/manifest.py:14
#: modules/backups/templates/backups_repository.html:92
#: modules/backups/templates/backups_restore.html:27
-#: modules/backups/views.py:240 modules/snapshot/manifest.py:14
+#: modules/backups/views.py:238 modules/snapshot/manifest.py:14
#: templates/toolbar.html:44 templates/toolbar.html:45
msgid "Restore"
msgstr ""
@@ -502,16 +504,20 @@ msgstr ""
msgid "Backup system is busy with another operation."
msgstr ""
+#: modules/backups/privileged.py:92
+msgid "Not enough space left on the disk or remote location."
+msgstr ""
+
#: modules/backups/repository.py:94
msgid "Existing repository is not encrypted."
msgstr ""
-#: modules/backups/repository.py:266
+#: modules/backups/repository.py:289
#, python-brace-format
msgid "{box_name} storage"
msgstr ""
-#: modules/backups/templates/backups.html:17 modules/backups/views.py:125
+#: modules/backups/templates/backups.html:17 modules/backups/views.py:124
msgid "Create a new backup"
msgstr ""
@@ -555,10 +561,9 @@ msgstr ""
#: modules/help/templates/statuslog.html:24
#: modules/kiwix/templates/kiwix-add-package.html:26
#: modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:28
-#: modules/matrixsynapse/templates/matrix-synapse.html:76
+#: modules/matrixsynapse/templates/matrix-synapse.html:81
#: modules/names/templates/names.html:128
#: modules/networks/templates/connection_show.html:24
-#: modules/nextcloud/__init__.py:48
#: modules/pagekite/templates/pagekite_custom_services.html:16
#: modules/power/templates/power_busy_warning.html:11
#: modules/snapshot/templates/snapshot_not_supported.html:13
@@ -697,107 +702,107 @@ msgstr ""
msgid "Verify Host"
msgstr ""
-#: modules/backups/views.py:69
+#: modules/backups/views.py:68
msgid "Backup schedule updated."
msgstr ""
-#: modules/backups/views.py:88
+#: modules/backups/views.py:87
msgid "Schedule Backups"
msgstr ""
-#: modules/backups/views.py:150
+#: modules/backups/views.py:148
msgid "Archive created."
msgstr ""
-#: modules/backups/views.py:162
+#: modules/backups/views.py:160
msgid "Delete Archive"
msgstr ""
-#: modules/backups/views.py:175
+#: modules/backups/views.py:173
msgid "Archive deleted."
msgstr ""
-#: modules/backups/views.py:189
+#: modules/backups/views.py:187
msgid "Upload and restore a backup"
msgstr ""
-#: modules/backups/views.py:218
+#: modules/backups/views.py:216
msgid "Upload successful."
msgstr ""
-#: modules/backups/views.py:256
+#: modules/backups/views.py:254
msgid "No backup file found."
msgstr ""
-#: modules/backups/views.py:264
+#: modules/backups/views.py:262
msgid "Restore from uploaded file"
msgstr ""
-#: modules/backups/views.py:278 modules/backups/views.py:299
+#: modules/backups/views.py:276 modules/backups/views.py:297
msgid "Restored files from backup."
msgstr ""
-#: modules/backups/views.py:329
+#: modules/backups/views.py:327
msgid "No additional disks available to add a repository."
msgstr ""
-#: modules/backups/views.py:337
+#: modules/backups/views.py:335
msgid "Create backup repository"
msgstr ""
-#: modules/backups/views.py:352
+#: modules/backups/views.py:350
msgid "Added new repository."
msgstr ""
-#: modules/backups/views.py:366
+#: modules/backups/views.py:364
msgid "Create remote backup repository"
msgstr ""
-#: modules/backups/views.py:388
+#: modules/backups/views.py:386
msgid "Added new remote SSH repository."
msgstr ""
-#: modules/backups/views.py:410
+#: modules/backups/views.py:408
msgid "Verify SSH hostkey"
msgstr ""
-#: modules/backups/views.py:436
+#: modules/backups/views.py:434
msgid "SSH host already verified."
msgstr ""
-#: modules/backups/views.py:447
+#: modules/backups/views.py:445
msgid "SSH host verified."
msgstr ""
-#: modules/backups/views.py:463
+#: modules/backups/views.py:461
msgid "SSH host public key could not be verified."
msgstr ""
-#: modules/backups/views.py:465
+#: modules/backups/views.py:463
msgid "Authentication to remote server failed."
msgstr ""
-#: modules/backups/views.py:467
+#: modules/backups/views.py:465
msgid "Error establishing connection to server: {}"
msgstr ""
-#: modules/backups/views.py:478
+#: modules/backups/views.py:476
msgid "Repository removed."
msgstr ""
-#: modules/backups/views.py:492
+#: modules/backups/views.py:490
msgid "Remove Repository"
msgstr ""
-#: modules/backups/views.py:502
+#: modules/backups/views.py:500
msgid "Repository removed. Backups were not deleted."
msgstr ""
-#: modules/backups/views.py:513
+#: modules/backups/views.py:511
msgid "Unmounting failed!"
msgstr ""
-#: modules/backups/views.py:529 modules/backups/views.py:533
+#: modules/backups/views.py:527 modules/backups/views.py:531
msgid "Mounting failed"
msgstr ""
@@ -906,7 +911,7 @@ msgstr ""
msgid "No passwords currently configured."
msgstr ""
-#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:91
+#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:83
#: modules/miniflux/forms.py:14 modules/networks/forms.py:282
#: modules/shadowsocks/forms.py:32 modules/shadowsocksserver/forms.py:37
msgid "Password"
@@ -1024,8 +1029,10 @@ msgstr ""
msgid "Serving Domains"
msgstr ""
-#: modules/bind/templates/bind.html:17 modules/email/templates/email.html:38
-#: modules/ikiwiki/forms.py:12 modules/names/templates/names.html:18
+#: modules/bind/templates/bind.html:17
+#: modules/email/templates/email-dns.html:25
+#: modules/email/templates/email-dns.html:78 modules/ikiwiki/forms.py:12
+#: modules/names/templates/names.html:18
#: modules/networks/templates/connection_show.html:95
#: modules/samba/templates/samba.html:65
#: modules/storage/templates/storage.html:26
@@ -1055,7 +1062,7 @@ msgstr ""
#: modules/minetest/views.py:55 modules/mumble/views.py:37
#: modules/names/views.py:66 modules/names/views.py:95
#: modules/names/views.py:129 modules/pagekite/forms.py:74
-#: modules/privacy/views.py:50 modules/quassel/views.py:29
+#: modules/privacy/views.py:55 modules/quassel/views.py:29
#: modules/roundcube/views.py:32 modules/rssbridge/views.py:31
#: modules/shadowsocks/views.py:52 modules/shadowsocksserver/views.py:48
#: modules/ssh/views.py:62 modules/transmission/views.py:43
@@ -1638,7 +1645,7 @@ msgid "Test"
msgstr ""
#: modules/diagnostics/templates/diagnostics_results.html:12
-#: modules/dynamicdns/templates/dynamicdns.html:20
+#: modules/dynamicdns/templates/dynamicdns.html:25
msgid "Result"
msgstr ""
@@ -1651,7 +1658,7 @@ msgstr ""
msgid "App {app_id} is not installed, cannot repair"
msgstr ""
-#: modules/dynamicdns/__init__.py:28
+#: modules/dynamicdns/__init__.py:29
#, python-brace-format
msgid ""
"If your Internet provider changes your IP address periodically (i.e. every "
@@ -1659,7 +1666,7 @@ msgid ""
"prevent others from finding services which are provided by this {box_name}."
msgstr ""
-#: modules/dynamicdns/__init__.py:32
+#: modules/dynamicdns/__init__.py:33
msgid ""
"The solution is to assign a DNS name to your IP address and update the DNS "
"name every time your IP is changed by your Internet provider. Dynamic DNS "
@@ -1670,7 +1677,7 @@ msgid ""
"IP address."
msgstr ""
-#: modules/dynamicdns/__init__.py:40
+#: modules/dynamicdns/__init__.py:41
msgid ""
"If you are looking for a free dynamic DNS account, you may find a free "
"GnuDIP service at ddns."
@@ -1678,11 +1685,17 @@ msgid ""
"href='http://freedns.afraid.org/' target='_blank'>freedns.afraid.org."
msgstr ""
-#: modules/dynamicdns/__init__.py:61
+#: modules/dynamicdns/__init__.py:46
+msgid ""
+"This service uses an external service to lookup public IP address. This can "
+"be configured in the privacy app."
+msgstr ""
+
+#: modules/dynamicdns/__init__.py:64
msgid "Dynamic DNS Client"
msgstr ""
-#: modules/dynamicdns/__init__.py:75
+#: modules/dynamicdns/__init__.py:78
msgid "Dynamic Domain Name"
msgstr ""
@@ -1726,84 +1739,71 @@ msgid "Leave this field empty if you want to keep your current password."
msgstr ""
#: modules/dynamicdns/forms.py:43
-#, python-brace-format
-msgid ""
-"Optional Value. If your {box_name} is not connected directly to the Internet "
-"(i.e. connected to a NAT router) this URL is used to determine the real IP "
-"address. The URL should simply return the IP where the client comes from "
-"(example: https://ddns.freedombox.org/ip/)."
-msgstr ""
-
-#: modules/dynamicdns/forms.py:51
msgid "The username that was used when the account was created."
msgstr ""
-#: modules/dynamicdns/forms.py:54
+#: modules/dynamicdns/forms.py:46
msgid "GnuDIP"
msgstr ""
-#: modules/dynamicdns/forms.py:57
+#: modules/dynamicdns/forms.py:49
msgid "Other update URL"
msgstr ""
-#: modules/dynamicdns/forms.py:59
+#: modules/dynamicdns/forms.py:51
msgid "Service Type"
msgstr ""
-#: modules/dynamicdns/forms.py:64
+#: modules/dynamicdns/forms.py:56
msgid "GnuDIP Server Address"
msgstr ""
-#: modules/dynamicdns/forms.py:67
+#: modules/dynamicdns/forms.py:59
msgid "Invalid server name"
msgstr ""
-#: modules/dynamicdns/forms.py:70
+#: modules/dynamicdns/forms.py:62
msgid "Update URL"
msgstr ""
-#: modules/dynamicdns/forms.py:74
+#: modules/dynamicdns/forms.py:66
msgid "Accept all SSL certificates"
msgstr ""
-#: modules/dynamicdns/forms.py:78
+#: modules/dynamicdns/forms.py:70
msgid "Use HTTP basic authentication"
msgstr ""
-#: modules/dynamicdns/forms.py:82 modules/names/__init__.py:68
+#: modules/dynamicdns/forms.py:74 modules/names/__init__.py:68
#: modules/names/forms.py:106 modules/names/templates/names.html:19
msgid "Domain Name"
msgstr ""
-#: modules/dynamicdns/forms.py:85 modules/names/forms.py:99
+#: modules/dynamicdns/forms.py:77 modules/names/forms.py:99
#: modules/names/forms.py:117
msgid "Invalid domain name"
msgstr ""
-#: modules/dynamicdns/forms.py:88 modules/miniflux/forms.py:11
+#: modules/dynamicdns/forms.py:80 modules/miniflux/forms.py:11
#: modules/networks/forms.py:281 modules/users/forms.py:130
msgid "Username"
msgstr ""
-#: modules/dynamicdns/forms.py:95 modules/networks/forms.py:284
+#: modules/dynamicdns/forms.py:87 modules/networks/forms.py:284
msgid "Show password"
msgstr ""
-#: modules/dynamicdns/forms.py:99
-msgid "URL to look up public IP"
-msgstr ""
-
-#: modules/dynamicdns/forms.py:104
+#: modules/dynamicdns/forms.py:91
msgid "Use IPv6 instead of IPv4"
msgstr ""
-#: modules/dynamicdns/forms.py:123
+#: modules/dynamicdns/forms.py:110
msgid "This field is required."
msgstr ""
#: modules/dynamicdns/manifest.py:17
-#: modules/dynamicdns/templates/dynamicdns.html:18
-#: modules/email/templates/email.html:35
+#: modules/dynamicdns/templates/dynamicdns.html:23
+#: modules/email/templates/email-dns.html:22
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64
msgid "Domain"
@@ -1817,37 +1817,37 @@ msgstr ""
msgid "Needs public IP"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:11
-#: modules/ejabberd/templates/ejabberd.html:13 modules/firewall/manifest.py:10
+#: modules/dynamicdns/templates/dynamicdns.html:16
+#: modules/ejabberd/templates/ejabberd.html:18 modules/firewall/manifest.py:10
#: modules/firewall/templates/firewall.html:16
#: modules/firewall/templates/firewall.html:22
#: modules/letsencrypt/templates/letsencrypt.html:17
-#: modules/matrixsynapse/templates/matrix-synapse.html:12
+#: modules/matrixsynapse/templates/matrix-synapse.html:17
#: modules/networks/templates/connection_show.html:258
-#: modules/samba/templates/samba.html:67 modules/tor/templates/tor.html:19
+#: modules/samba/templates/samba.html:67 modules/tor/templates/tor.html:24
#: modules/upgrades/templates/upgrades_configure.html:14
#: modules/wireguard/templates/wireguard_show_client.html:48
#: modules/wireguard/templates/wireguard_show_server.html:47
msgid "Status"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:19
+#: modules/dynamicdns/templates/dynamicdns.html:24
msgid "Last update"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:21
+#: modules/dynamicdns/templates/dynamicdns.html:26
msgid "IP Address"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:32
+#: modules/dynamicdns/templates/dynamicdns.html:37
msgid "Success"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:36
+#: modules/dynamicdns/templates/dynamicdns.html:41
msgid "Failed"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:52
+#: modules/dynamicdns/templates/dynamicdns.html:57
msgid "No status available."
msgstr ""
@@ -1995,7 +1995,7 @@ msgstr ""
msgid "XMPP"
msgstr ""
-#: modules/ejabberd/templates/ejabberd.html:18
+#: modules/ejabberd/templates/ejabberd.html:23
#, python-format
msgid ""
"Your XMPP server domain is set to %(domain_name)s. User IDs will look "
@@ -2003,7 +2003,7 @@ msgid ""
"system Name Services page."
msgstr ""
-#: modules/ejabberd/templates/ejabberd.html:25
+#: modules/ejabberd/templates/ejabberd.html:30
#, python-format
msgid ""
"Your XMPP server domain is not set. You can setup your domain on the system "
@@ -2051,12 +2051,16 @@ msgstr ""
msgid "Postfix/Dovecot"
msgstr ""
-#: modules/email/__init__.py:83
-msgid "My Email Aliases"
+#: modules/email/__init__.py:80
+msgid "More emails"
msgstr ""
-#: modules/email/__init__.py:84
-msgid "Manage Aliases for Mailbox"
+#: modules/email/__init__.py:80
+msgid "Same mailbox"
+msgstr ""
+
+#: modules/email/__init__.py:82
+msgid "My Email Aliases"
msgstr ""
#: modules/email/forms.py:25
@@ -2135,45 +2139,90 @@ msgstr ""
msgid "Add"
msgstr ""
-#: modules/email/templates/email.html:10
-msgid "Manage Spam"
+#: modules/email/templates/email-dns.html:9
+msgid "DNS Records for domain:"
msgstr ""
-#: modules/email/templates/email.html:22
-msgid "DNS Records"
-msgstr ""
-
-#: modules/email/templates/email.html:25
+#: modules/email/templates/email-dns.html:12
msgid ""
-"The following DNS records must be added manually on your primary domain for "
-"the mail server to work properly."
+"The following DNS records must be added manually on this domain for the mail "
+"server to work properly for this domain."
msgstr ""
-#: modules/email/templates/email.html:36
+#: modules/email/templates/email-dns.html:23
+#: modules/email/templates/email-dns.html:77
msgid "TTL"
msgstr ""
-#: modules/email/templates/email.html:37
+#: modules/email/templates/email-dns.html:24
msgid "Class"
msgstr ""
-#: modules/email/templates/email.html:39
+#: modules/email/templates/email-dns.html:26
msgid "Priority"
msgstr ""
-#: modules/email/templates/email.html:40
+#: modules/email/templates/email-dns.html:27
msgid "Weight"
msgstr ""
-#: modules/email/templates/email.html:41
+#: modules/email/templates/email-dns.html:28
#: modules/minetest/templates/minetest.html:18
msgid "Port"
msgstr ""
-#: modules/email/templates/email.html:42
+#: modules/email/templates/email-dns.html:29
+#: modules/email/templates/email-dns.html:79
msgid "Host/Target/Value"
msgstr ""
+#: modules/email/templates/email-dns.html:50
+msgid "Reverse DNS Records for IP Addresses"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:53
+#, python-format
+msgid ""
+"If your %(box_name)s runs on a cloud service infrastructure, you should "
+"configure "
+"Reverse DNS lookup. This isn't mandatory, however, it greatly improves "
+"email deliverability. Reverse DNS isn't configured where your regular DNS "
+"is. You should look for it in the settings of your VPS/ISP. Some providers "
+"preconfigure the IP address part for you and you only have to set the domain "
+"part. Only one of your domains can have Revese DNS lookup configured unless "
+"you have multiple public IP addresses."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:66
+msgid ""
+"An external service is used to lookup public IP address to show in the "
+"following section. This can be configured in the privacy app."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:76
+msgid "Host"
+msgstr ""
+
+#: modules/email/templates/email.html:10
+msgid "Manage Spam"
+msgstr ""
+
+#: modules/email/templates/email.html:20 modules/names/manifest.py:11
+#: modules/names/templates/names.html:12
+msgid "Domains"
+msgstr ""
+
+#: modules/email/templates/email.html:23
+msgid ""
+"The following domains are configured. View details to see the list of DNS "
+"entries to be made for the domain."
+msgstr ""
+
+#: modules/email/templates/email.html:35
+#, python-format
+msgid "View domain: %(domain)s"
+msgstr ""
+
#: modules/featherwiki/__init__.py:25
#, python-brace-format
msgid ""
@@ -2416,7 +2465,7 @@ msgstr ""
msgid "Port {name} ({details}) unavailable for external networks"
msgstr ""
-#: modules/firewall/manifest.py:10 modules/tor/templates/tor.html:20
+#: modules/firewall/manifest.py:10 modules/tor/templates/tor.html:25
msgid "Ports"
msgstr ""
@@ -2743,9 +2792,9 @@ msgstr ""
msgid "Contribute"
msgstr ""
-#: modules/help/__init__.py:53 templates/base.html:215 templates/base.html:218
+#: modules/help/__init__.py:53 templates/base.html:217 templates/base.html:220
#: templates/help-menu.html:46 templates/help-menu.html:47
-#: templates/index.html:98
+#: templates/index.html:96
msgid "About"
msgstr ""
@@ -2878,7 +2927,7 @@ msgstr ""
#: modules/help/templates/help_contribute.html:42
#: modules/power/templates/power_restart.html:27
-#: modules/power/templates/power_shutdown.html:26 templates/app-header.html:68
+#: modules/power/templates/power_shutdown.html:26 templates/app-header.html:65
msgid "Learn more..."
msgstr ""
@@ -3200,7 +3249,7 @@ msgid "Web conference"
msgstr ""
#: modules/janus/templates/janus_video_room.html:205
-#: modules/jsxc/templates/jsxc_launch.html:117 templates/base.html:271
+#: modules/jsxc/templates/jsxc_launch.html:117 templates/base.html:273
msgid "JavaScript license information"
msgstr ""
@@ -3564,7 +3613,7 @@ msgid ""
"least one domain to be able to use Matrix Synapse."
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:15
+#: modules/matrixsynapse/templates/matrix-synapse.html:20
#, python-format
msgid ""
"The Matrix server domain is set to %(domain_name)s. User IDs will "
@@ -3572,43 +3621,43 @@ msgid ""
"the initial setup is currently not supported."
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:22
+#: modules/matrixsynapse/templates/matrix-synapse.html:27
msgid ""
"New users can be registered from any client if public registration is "
"enabled."
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:29
+#: modules/matrixsynapse/templates/matrix-synapse.html:34
msgid ""
"New users must use one of the following tokens for verification during "
"account registration:"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:38
+#: modules/matrixsynapse/templates/matrix-synapse.html:43
msgid "Registration Token"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:39
+#: modules/matrixsynapse/templates/matrix-synapse.html:44
msgid "Uses Allowed"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:40
+#: modules/matrixsynapse/templates/matrix-synapse.html:45
msgid "Pending Registrations"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:41
+#: modules/matrixsynapse/templates/matrix-synapse.html:46
msgid "Completed Registrations"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:42
+#: modules/matrixsynapse/templates/matrix-synapse.html:47
msgid "Expiry Time"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:51
+#: modules/matrixsynapse/templates/matrix-synapse.html:56
msgid "Unlimited"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:80
+#: modules/matrixsynapse/templates/matrix-synapse.html:85
#, python-format
msgid ""
"The configured domain name is using a self-signed certificate. Federation "
@@ -4017,23 +4066,27 @@ msgstr ""
msgid "An error occurred during password reset: {error}."
msgstr ""
-#: modules/mumble/__init__.py:25
+#: modules/mumble/__init__.py:27
msgid ""
"Mumble is an open source, low-latency, encrypted, high quality voice chat "
"software."
msgstr ""
-#: modules/mumble/__init__.py:27
+#: modules/mumble/__init__.py:29
msgid ""
"You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your "
"desktop and mobile devices are available."
msgstr ""
-#: modules/mumble/__init__.py:45 modules/mumble/manifest.py:9
+#: modules/mumble/__init__.py:47 modules/mumble/manifest.py:9
msgid "Mumble"
msgstr ""
+#: modules/mumble/__init__.py:158
+msgid "Mumble server is configured"
+msgstr ""
+
#: modules/mumble/forms.py:30
msgid "Set SuperUser Password"
msgstr ""
@@ -4158,10 +4211,6 @@ msgid ""
"or less."
msgstr ""
-#: modules/names/manifest.py:11 modules/names/templates/names.html:12
-msgid "Domains"
-msgstr ""
-
#: modules/names/manifest.py:13
msgid "DNS Resolution"
msgstr ""
@@ -4658,7 +4707,7 @@ msgstr ""
#: modules/networks/templates/connection_show.html:40
#: modules/wireguard/templates/wireguard_show_client.html:72
#: modules/wireguard/templates/wireguard_show_server.html:73
-#: templates/base.html:165 templates/base.html:166
+#: templates/base.html:167 templates/base.html:168
msgid "Edit"
msgstr ""
@@ -4711,7 +4760,7 @@ msgstr ""
#: modules/networks/templates/connection_show.html:107
#: modules/snapshot/templates/snapshot_delete_selected.html:19
-#: modules/snapshot/templates/snapshot_manage.html:29
+#: modules/snapshot/templates/snapshot_manage.html:34
#: modules/snapshot/templates/snapshot_rollback.html:27
msgid "Description"
msgstr ""
@@ -4789,8 +4838,8 @@ msgstr ""
#: modules/networks/templates/connection_show.html:264
#: modules/networks/templates/connections_fields_privacy.html:15
-#: modules/openvpn/manifest.py:60 modules/privacy/__init__.py:32
-#: modules/privacy/__init__.py:72 modules/wireguard/manifest.py:45
+#: modules/openvpn/manifest.py:60 modules/privacy/__init__.py:38
+#: modules/privacy/__init__.py:77 modules/wireguard/manifest.py:45
msgid "Privacy"
msgstr ""
@@ -4874,7 +4923,7 @@ msgstr ""
msgid "Computer"
msgstr ""
-#: modules/networks/templates/connections_edit.html:19
+#: modules/networks/templates/connections_edit.html:24
#: modules/networks/views.py:253 modules/networks/views.py:341
msgid "Edit Connection"
msgstr ""
@@ -4885,7 +4934,7 @@ msgid "Error:"
msgstr ""
#: modules/networks/templates/connections_fields.html:20
-#: modules/users/templates/users_update.html:46 templates/messages.html:30
+#: modules/users/templates/users_update.html:51 templates/messages.html:30
msgid "Close"
msgstr ""
@@ -4977,7 +5026,7 @@ msgstr ""
#: modules/networks/templates/network_topology_update.html:18
#: modules/networks/templates/router_configuration_update.html:19
#: modules/pagekite/templates/pagekite_custom_services.html:33
-#: modules/sharing/templates/sharing_add_edit.html:20 templates/form.html:19
+#: modules/sharing/templates/sharing_add_edit.html:25 templates/form.html:19
msgid "Submit"
msgstr ""
@@ -5371,11 +5420,7 @@ msgid ""
"performed following an independent cycle."
msgstr ""
-#: modules/nextcloud/__init__.py:48
-msgid "This app is experimental."
-msgstr ""
-
-#: modules/nextcloud/__init__.py:66 modules/nextcloud/manifest.py:11
+#: modules/nextcloud/__init__.py:65 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
msgid "Nextcloud"
msgstr ""
@@ -5541,7 +5586,7 @@ msgstr ""
msgid "PageKite"
msgstr ""
-#: modules/pagekite/__init__.py:73
+#: modules/pagekite/__init__.py:72
msgid "PageKite Domain"
msgstr ""
@@ -5720,8 +5765,8 @@ msgstr ""
msgid "Shutdown"
msgstr ""
-#: modules/power/templates/power.html:15 templates/base.html:180
-#: templates/base.html:181
+#: modules/power/templates/power.html:15 templates/base.html:182
+#: templates/base.html:183
msgid "Restart"
msgstr ""
@@ -5757,23 +5802,33 @@ msgstr ""
msgid "Shut Down Now"
msgstr ""
-#: modules/privacy/__init__.py:15
+#: modules/privacy/__init__.py:21
msgid "Manage system-wide privacy settings."
msgstr ""
-#: modules/privacy/__init__.py:70
+#: modules/privacy/__init__.py:75
msgid "Please update privacy settings to match your preferences."
msgstr ""
-#: modules/privacy/__init__.py:75
+#: modules/privacy/__init__.py:80
msgid "Review privacy setting"
msgstr ""
-#: modules/privacy/forms.py:16
+#: modules/privacy/forms.py:17
+#, python-brace-format
+msgid ""
+"Optional Value. This URL is used to determine the publicly visible IP "
+"address of your {box_name}. The URL should simply return the IPv4 or IPv6 "
+"address where the client request comes from. Default is to use the service "
+"provided by the FreedomBox Foundation at https://ddns.freedombox.org/ip/. If "
+"empty, lookups are disabled and some functionality will fail."
+msgstr ""
+
+#: modules/privacy/forms.py:25
msgid "Periodically submit a list of apps used (suggested)"
msgstr ""
-#: modules/privacy/forms.py:18
+#: modules/privacy/forms.py:27
#, python-brace-format
msgid ""
"Help Debian/{box_name} developers by participating in the Popularity Contest "
@@ -5784,11 +5839,11 @@ msgid ""
"network for additional anonymity if Tor app is enabled."
msgstr ""
-#: modules/privacy/forms.py:28
+#: modules/privacy/forms.py:37
msgid "Allow using fallback DNS servers"
msgstr ""
-#: modules/privacy/forms.py:30
+#: modules/privacy/forms.py:39
msgid ""
"Use well-known public DNS servers to resolve domain names in unusual "
"circumstances where no DNS servers are known but internet connectivity is "
@@ -5796,10 +5851,18 @@ msgid ""
"and reliable."
msgstr ""
+#: modules/privacy/forms.py:45
+msgid "URL to look up public IP address"
+msgstr ""
+
#: modules/privacy/manifest.py:10
msgid "Usage reporting"
msgstr ""
+#: modules/privacy/manifest.py:10
+msgid "External services"
+msgstr ""
+
#: modules/privacy/manifest.py:10
msgid "Fallback DNS"
msgstr ""
@@ -6707,40 +6770,40 @@ msgid "Delete the following snapshots permanently?"
msgstr ""
#: modules/snapshot/templates/snapshot_delete_selected.html:17
-#: modules/snapshot/templates/snapshot_manage.html:27
+#: modules/snapshot/templates/snapshot_manage.html:32
#: modules/snapshot/templates/snapshot_rollback.html:25
msgid "Number"
msgstr ""
#: modules/snapshot/templates/snapshot_delete_selected.html:18
-#: modules/snapshot/templates/snapshot_manage.html:28
+#: modules/snapshot/templates/snapshot_manage.html:33
#: modules/snapshot/templates/snapshot_rollback.html:26
msgid "Date"
msgstr ""
#: modules/snapshot/templates/snapshot_delete_selected.html:42
-#: modules/snapshot/templates/snapshot_manage.html:20
+#: modules/snapshot/templates/snapshot_manage.html:25
#: modules/snapshot/views.py:197
msgid "Delete Snapshots"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:17
+#: modules/snapshot/templates/snapshot_manage.html:22
msgid "Create Snapshot"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:30
+#: modules/snapshot/templates/snapshot_manage.html:35
msgid "Rollback"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:40
+#: modules/snapshot/templates/snapshot_manage.html:45
msgid "will be used at next boot"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:45
+#: modules/snapshot/templates/snapshot_manage.html:50
msgid "in use"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:54
+#: modules/snapshot/templates/snapshot_manage.html:59
#, python-format
msgid "Rollback to snapshot #%(number)s"
msgstr ""
@@ -7271,27 +7334,27 @@ msgstr ""
msgid "Tor"
msgstr ""
-#: modules/tor/__init__.py:78
+#: modules/tor/__init__.py:77
msgid "Tor Onion Service"
msgstr ""
-#: modules/tor/__init__.py:82
+#: modules/tor/__init__.py:81
msgid "Tor Bridge Relay"
msgstr ""
-#: modules/tor/__init__.py:140
+#: modules/tor/__init__.py:139
msgid "Tor relay port available"
msgstr ""
-#: modules/tor/__init__.py:152
+#: modules/tor/__init__.py:151
msgid "Obfs3 transport registered"
msgstr ""
-#: modules/tor/__init__.py:163
+#: modules/tor/__init__.py:162
msgid "Obfs4 transport registered"
msgstr ""
-#: modules/tor/__init__.py:176
+#: modules/tor/__init__.py:175
msgid "Onion service is version 3"
msgstr ""
@@ -7381,7 +7444,7 @@ msgstr ""
msgid "Anonymity network"
msgstr ""
-#: modules/tor/templates/tor.html:18
+#: modules/tor/templates/tor.html:23
msgid "Onion Service"
msgstr ""
@@ -7942,39 +8005,39 @@ msgstr ""
msgid "Edit user %(username)s"
msgstr ""
-#: modules/users/templates/users_update.html:12
+#: modules/users/templates/users_update.html:17
#, python-format
msgid "Edit User %(username)s"
msgstr ""
-#: modules/users/templates/users_update.html:20
+#: modules/users/templates/users_update.html:25
#, python-format
msgid ""
"Use the change password form to "
"change the password."
msgstr ""
-#: modules/users/templates/users_update.html:32
+#: modules/users/templates/users_update.html:37
#: templates/language-selection.html:17
msgid "Save Changes"
msgstr ""
-#: modules/users/templates/users_update.html:41
+#: modules/users/templates/users_update.html:46
#, python-format
msgid "Delete user %(username)s and all the user's files?"
msgstr ""
-#: modules/users/templates/users_update.html:51
+#: modules/users/templates/users_update.html:56
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
msgstr ""
-#: modules/users/templates/users_update.html:60
+#: modules/users/templates/users_update.html:65
msgid "Delete user and files"
msgstr ""
-#: modules/users/templates/users_update.html:63
+#: modules/users/templates/users_update.html:68
msgid "Cancel"
msgstr ""
@@ -8597,11 +8660,11 @@ msgstr ""
msgid "Service %(service_name)s is not running."
msgstr ""
-#: templates/apps.html:29
+#: templates/apps.html:33
msgid "Search with tags"
msgstr ""
-#: templates/apps.html:42
+#: templates/apps.html:46
msgid "Clear all tags"
msgstr ""
@@ -8611,35 +8674,35 @@ msgid ""
"is free software that lets you install and manage server apps with ease."
msgstr ""
-#: templates/base.html:116
+#: templates/base.html:118
msgid " Home"
msgstr ""
-#: templates/base.html:124
+#: templates/base.html:126
msgid " Apps"
msgstr ""
-#: templates/base.html:133
+#: templates/base.html:135
msgid " System"
msgstr ""
-#: templates/base.html:172 templates/base.html:173
+#: templates/base.html:174 templates/base.html:175
msgid "Change password"
msgstr ""
-#: templates/base.html:186 templates/base.html:187
+#: templates/base.html:188 templates/base.html:189
msgid "Shut down"
msgstr ""
-#: templates/base.html:197 templates/base.html:235
+#: templates/base.html:199 templates/base.html:237
msgid "Log out"
msgstr ""
-#: templates/base.html:206 templates/base.html:209
+#: templates/base.html:208 templates/base.html:211
msgid "Select language"
msgstr ""
-#: templates/base.html:224 templates/base.html:226
+#: templates/base.html:226 templates/base.html:228
msgid "Log in"
msgstr ""
@@ -8839,19 +8902,19 @@ msgid ""
"installed freshly again."
msgstr ""
-#: views.py:85
+#: views.py:84
msgid "Here"
msgstr ""
-#: views.py:374
+#: views.py:376
msgid "Setting unchanged"
msgstr ""
-#: views.py:609
+#: views.py:610
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""
-#: web_framework.py:114
+#: web_framework.py:122
msgid "Gujarati"
msgstr ""
diff --git a/plinth/locale/el/LC_MESSAGES/django.po b/plinth/locale/el/LC_MESSAGES/django.po
index 3dad56ddc..9d81dd894 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-12-30 20:05-0500\n"
+"POT-Creation-Date: 2025-01-13 20:33-0500\n"
"PO-Revision-Date: 2022-09-14 17:20+0000\n"
"Last-Translator: ikmaak
SSH key-based authentication is not yet "
"possible."
@@ -465,18 +467,18 @@ msgstr ""
"Κωδικός πρόσβασης του διακομιστή SSH.
Ο έλεγχος ταυτότητας με κλειδί "
"SSH δεν είναι ακόμα δυνατός."
-#: modules/backups/forms.py:273
+#: modules/backups/forms.py:275
msgid "Remote backup repository already exists."
msgstr "Το απομακρυσμένο αποθετήριο αντιγράφων ασφαλείας υπάρχει ήδη."
-#: modules/backups/forms.py:279
+#: modules/backups/forms.py:281
msgid "Select verified SSH public key"
msgstr "Επιλογή εξακριβωμένου δημόσιου κλειδιού SSH"
#: modules/backups/manifest.py:14
#: modules/backups/templates/backups_repository.html:92
#: modules/backups/templates/backups_restore.html:27
-#: modules/backups/views.py:240 modules/snapshot/manifest.py:14
+#: modules/backups/views.py:238 modules/snapshot/manifest.py:14
#: templates/toolbar.html:44 templates/toolbar.html:45
msgid "Restore"
msgstr "Επαναφορά"
@@ -560,16 +562,20 @@ msgstr ""
msgid "Backup system is busy with another operation."
msgstr ""
+#: modules/backups/privileged.py:92
+msgid "Not enough space left on the disk or remote location."
+msgstr ""
+
#: modules/backups/repository.py:94
msgid "Existing repository is not encrypted."
msgstr "Το υπάρχον αποθετήριο δεν είναι κρυπτογραφημένο."
-#: modules/backups/repository.py:266
+#: modules/backups/repository.py:289
#, python-brace-format
msgid "{box_name} storage"
msgstr "Αποθηκευτικός χώρος {box_name}"
-#: modules/backups/templates/backups.html:17 modules/backups/views.py:125
+#: modules/backups/templates/backups.html:17 modules/backups/views.py:124
msgid "Create a new backup"
msgstr "Δημιουργία νέου αντιγράφου ασφαλείας"
@@ -613,10 +619,9 @@ msgstr "Υπάρχοντα αντίγραφα ασφαλείας"
#: modules/help/templates/statuslog.html:24
#: modules/kiwix/templates/kiwix-add-package.html:26
#: modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:28
-#: modules/matrixsynapse/templates/matrix-synapse.html:76
+#: modules/matrixsynapse/templates/matrix-synapse.html:81
#: modules/names/templates/names.html:128
#: modules/networks/templates/connection_show.html:24
-#: modules/nextcloud/__init__.py:48
#: modules/pagekite/templates/pagekite_custom_services.html:16
#: modules/power/templates/power_busy_warning.html:11
#: modules/snapshot/templates/snapshot_not_supported.html:13
@@ -800,114 +805,114 @@ msgstr ""
msgid "Verify Host"
msgstr "Επαλήθευση υπολογιστή"
-#: modules/backups/views.py:69
+#: modules/backups/views.py:68
msgid "Backup schedule updated."
msgstr ""
-#: modules/backups/views.py:88
+#: modules/backups/views.py:87
#, fuzzy
#| msgid "Create Backup"
msgid "Schedule Backups"
msgstr "Δημιουργία αντιγράφου ασφαλείας"
-#: modules/backups/views.py:150
+#: modules/backups/views.py:148
msgid "Archive created."
msgstr "Το αρχείο δημιουργήθηκε."
-#: modules/backups/views.py:162
+#: modules/backups/views.py:160
msgid "Delete Archive"
msgstr "Διαγραφή αρχείου"
-#: modules/backups/views.py:175
+#: modules/backups/views.py:173
msgid "Archive deleted."
msgstr "Το αρχείο διαγράφηκε."
-#: modules/backups/views.py:189
+#: modules/backups/views.py:187
msgid "Upload and restore a backup"
msgstr "Ανεβάστε και επαναφέρετε ένα αντίγραφο ασφαλείας"
-#: modules/backups/views.py:218
+#: modules/backups/views.py:216
#, fuzzy
#| msgid "Password changed successfully."
msgid "Upload successful."
msgstr "Ο κωδικός πρόσβασης άλλαξε με επιτυχία."
-#: modules/backups/views.py:256
+#: modules/backups/views.py:254
msgid "No backup file found."
msgstr "Δεν βρέθηκε αντίγραφο ασφαλείας."
-#: modules/backups/views.py:264
+#: modules/backups/views.py:262
msgid "Restore from uploaded file"
msgstr "Επαναφορά από το αρχείο που ανεβάσατε"
-#: modules/backups/views.py:278 modules/backups/views.py:299
+#: modules/backups/views.py:276 modules/backups/views.py:297
msgid "Restored files from backup."
msgstr "Επαναφορά αρχείων από τα αντίγραφα ασφαλείας."
-#: modules/backups/views.py:329
+#: modules/backups/views.py:327
msgid "No additional disks available to add a repository."
msgstr ""
"Δεν υπάρχουν επιπλέον δίσκοι διαθέσιμοι για να προσθέσετε ένα αποθετήριο."
-#: modules/backups/views.py:337
+#: modules/backups/views.py:335
msgid "Create backup repository"
msgstr "Δημιουργία αποθετηρίου αντιγράφων ασφαλείας"
-#: modules/backups/views.py:352
+#: modules/backups/views.py:350
#, fuzzy
#| msgid "Added new remote SSH repository."
msgid "Added new repository."
msgstr "Προστέθηκε νέο απομακρυσμένο αποθετήριο SSH."
-#: modules/backups/views.py:366
+#: modules/backups/views.py:364
msgid "Create remote backup repository"
msgstr "Δημιουργία απομακρυσμένου αποθετηρίου αντιγράφων ασφαλείας"
-#: modules/backups/views.py:388
+#: modules/backups/views.py:386
msgid "Added new remote SSH repository."
msgstr "Προστέθηκε νέο απομακρυσμένο αποθετήριο SSH."
-#: modules/backups/views.py:410
+#: modules/backups/views.py:408
msgid "Verify SSH hostkey"
msgstr "Επιβεβαίωση κεντρικού κλειδιού SSH"
-#: modules/backups/views.py:436
+#: modules/backups/views.py:434
msgid "SSH host already verified."
msgstr "Ο υπολογιστής SSH έχει ήδη επαληθευτεί."
-#: modules/backups/views.py:447
+#: modules/backups/views.py:445
msgid "SSH host verified."
msgstr "Ο υπολογιστής SSH επιβεβαιώθηκε."
-#: modules/backups/views.py:463
+#: modules/backups/views.py:461
msgid "SSH host public key could not be verified."
msgstr "Το δημόσιο κλειδί του υπολογιστή SSH δεν μπόρεσε να επαληθευτεί."
-#: modules/backups/views.py:465
+#: modules/backups/views.py:463
msgid "Authentication to remote server failed."
msgstr "Ο έλεγχος ταυτότητας στον απομακρυσμένο διακομιστή απέτυχε."
-#: modules/backups/views.py:467
+#: modules/backups/views.py:465
msgid "Error establishing connection to server: {}"
msgstr "Σφάλμα κατά τη δημιουργία σύνδεσης στο διακομιστή: {}"
-#: modules/backups/views.py:478
+#: modules/backups/views.py:476
msgid "Repository removed."
msgstr "Το αποθετήριο αφαιρέθηκε."
-#: modules/backups/views.py:492
+#: modules/backups/views.py:490
msgid "Remove Repository"
msgstr "Κατάργηση αποθετηρίου"
-#: modules/backups/views.py:502
+#: modules/backups/views.py:500
msgid "Repository removed. Backups were not deleted."
msgstr "Αποθετήριο που καταργήθηκε. Τα αντίγραφα ασφαλείας δεν διαγράφηκαν."
-#: modules/backups/views.py:513
+#: modules/backups/views.py:511
msgid "Unmounting failed!"
msgstr "Η αφαίρεση δίσκου απέτυχε!"
-#: modules/backups/views.py:529 modules/backups/views.py:533
+#: modules/backups/views.py:527 modules/backups/views.py:531
msgid "Mounting failed"
msgstr "Η προσθήκη δίσκου απέτυχε"
@@ -1028,7 +1033,7 @@ msgstr "Εμφάνιση κωδικού"
msgid "No passwords currently configured."
msgstr "Δεν έχουν ρυθμιστεί μερίσματα."
-#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:91
+#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:83
#: modules/miniflux/forms.py:14 modules/networks/forms.py:282
#: modules/shadowsocks/forms.py:32 modules/shadowsocksserver/forms.py:37
msgid "Password"
@@ -1167,8 +1172,10 @@ msgstr ""
msgid "Serving Domains"
msgstr "Όνομα διαδικτύου διακομιστή"
-#: modules/bind/templates/bind.html:17 modules/email/templates/email.html:38
-#: modules/ikiwiki/forms.py:12 modules/names/templates/names.html:18
+#: modules/bind/templates/bind.html:17
+#: modules/email/templates/email-dns.html:25
+#: modules/email/templates/email-dns.html:78 modules/ikiwiki/forms.py:12
+#: modules/names/templates/names.html:18
#: modules/networks/templates/connection_show.html:95
#: modules/samba/templates/samba.html:65
#: modules/storage/templates/storage.html:26
@@ -1204,7 +1211,7 @@ msgstr ""
#: modules/minetest/views.py:55 modules/mumble/views.py:37
#: modules/names/views.py:66 modules/names/views.py:95
#: modules/names/views.py:129 modules/pagekite/forms.py:74
-#: modules/privacy/views.py:50 modules/quassel/views.py:29
+#: modules/privacy/views.py:55 modules/quassel/views.py:29
#: modules/roundcube/views.py:32 modules/rssbridge/views.py:31
#: modules/shadowsocks/views.py:52 modules/shadowsocksserver/views.py:48
#: modules/ssh/views.py:62 modules/transmission/views.py:43
@@ -1892,7 +1899,7 @@ msgid "Test"
msgstr "Τεστ"
#: modules/diagnostics/templates/diagnostics_results.html:12
-#: modules/dynamicdns/templates/dynamicdns.html:20
+#: modules/dynamicdns/templates/dynamicdns.html:25
msgid "Result"
msgstr "Αποτέλεσμα"
@@ -1905,7 +1912,7 @@ msgstr "Διαγνωστικός έλεγχος"
msgid "App {app_id} is not installed, cannot repair"
msgstr ""
-#: modules/dynamicdns/__init__.py:28
+#: modules/dynamicdns/__init__.py:29
#, python-brace-format
msgid ""
"If your Internet provider changes your IP address periodically (i.e. every "
@@ -1917,7 +1924,7 @@ msgstr ""
"Αυτό θα εμποδίσει άλλους να βρουν υπηρεσίες που παρέχονται από αυτό το "
"{box_name}."
-#: modules/dynamicdns/__init__.py:32
+#: modules/dynamicdns/__init__.py:33
msgid ""
"The solution is to assign a DNS name to your IP address and update the DNS "
"name every time your IP is changed by your Internet provider. Dynamic DNS "
@@ -1935,7 +1942,7 @@ msgstr ""
"αντιστοιχίσει το όνομα DNS σας στη νέα IP και αν κάποιος από το Internet "
"ζητήσει το όνομα DNS, θα λάβει απάντηση με την τρέχουσα διεύθυνση IP."
-#: modules/dynamicdns/__init__.py:40
+#: modules/dynamicdns/__init__.py:41
#, fuzzy
#| msgid ""
#| "If you are looking for a free dynamic DNS account, you may find a free "
@@ -1955,11 +1962,17 @@ msgstr ""
"ανανέωσης στο freedns."
"afraid.org."
-#: modules/dynamicdns/__init__.py:61
+#: modules/dynamicdns/__init__.py:46
+msgid ""
+"This service uses an external service to lookup public IP address. This can "
+"be configured in the privacy app."
+msgstr ""
+
+#: modules/dynamicdns/__init__.py:64
msgid "Dynamic DNS Client"
msgstr "Πελάτης δυναμικού DNS"
-#: modules/dynamicdns/__init__.py:75
+#: modules/dynamicdns/__init__.py:78
msgid "Dynamic Domain Name"
msgstr "Δυναμικό όνομα διαδικτύου"
@@ -2019,97 +2032,74 @@ msgstr ""
"πρόσβασής σας."
#: modules/dynamicdns/forms.py:43
-#, fuzzy, python-brace-format
-#| msgid ""
-#| "Optional Value. If your {box_name} is not connected directly to the "
-#| "Internet (i.e. connected to a NAT router) this URL is used to determine "
-#| "the real IP address. The URL should simply return the IP where the client "
-#| "comes from (example: http://myip.datasystems24.de)."
-msgid ""
-"Optional Value. If your {box_name} is not connected directly to the Internet "
-"(i.e. connected to a NAT router) this URL is used to determine the real IP "
-"address. The URL should simply return the IP where the client comes from "
-"(example: https://ddns.freedombox.org/ip/)."
-msgstr ""
-"Προαιρετική τιμή. Εάν το {box_name} δεν είναι συνδεδεμένο απευθείας στο "
-"Internet (δηλ. συνδεδεμένο σε δρομολογητή NAT), αυτή η διεύθυνση URL "
-"χρησιμοποιείται για τον προσδιορισμό της πραγματικής διεύθυνσης IP. Η "
-"διεύθυνση URL θα πρέπει απλά να επιστρέψει την IP από την οποία προέρχεται ο "
-"πελάτης (παράδειγμα: http://myip.datasystems24.de)."
-
-#: modules/dynamicdns/forms.py:51
msgid "The username that was used when the account was created."
msgstr ""
"Το όνομα χρήστη που χρησιμοποιήθηκε κατά τη δημιουργία του λογαριασμού."
-#: modules/dynamicdns/forms.py:54
+#: modules/dynamicdns/forms.py:46
msgid "GnuDIP"
msgstr ""
-#: modules/dynamicdns/forms.py:57
+#: modules/dynamicdns/forms.py:49
#, fuzzy
#| msgid "Update URL"
msgid "Other update URL"
msgstr "Διεύθυνση URL ενημέρωσης"
-#: modules/dynamicdns/forms.py:59
+#: modules/dynamicdns/forms.py:51
msgid "Service Type"
msgstr "Τύπος υπηρεσίας"
-#: modules/dynamicdns/forms.py:64
+#: modules/dynamicdns/forms.py:56
msgid "GnuDIP Server Address"
msgstr "Διεύθυνση διακομιστή GnuDIP"
-#: modules/dynamicdns/forms.py:67
+#: modules/dynamicdns/forms.py:59
msgid "Invalid server name"
msgstr "Μη έγκυρο όνομα διακομιστή"
-#: modules/dynamicdns/forms.py:70
+#: modules/dynamicdns/forms.py:62
msgid "Update URL"
msgstr "Διεύθυνση URL ενημέρωσης"
-#: modules/dynamicdns/forms.py:74
+#: modules/dynamicdns/forms.py:66
msgid "Accept all SSL certificates"
msgstr "Αποδοχή όλων των πιστοποιητικών SSL"
-#: modules/dynamicdns/forms.py:78
+#: modules/dynamicdns/forms.py:70
msgid "Use HTTP basic authentication"
msgstr "Χρήση βασικού ελέγχου ταυτότητας HTTP"
-#: modules/dynamicdns/forms.py:82 modules/names/__init__.py:68
+#: modules/dynamicdns/forms.py:74 modules/names/__init__.py:68
#: modules/names/forms.py:106 modules/names/templates/names.html:19
msgid "Domain Name"
msgstr "Όνομα διαδικτύου"
-#: modules/dynamicdns/forms.py:85 modules/names/forms.py:99
+#: modules/dynamicdns/forms.py:77 modules/names/forms.py:99
#: modules/names/forms.py:117
msgid "Invalid domain name"
msgstr "Μη έγκυρο όνομα διαδικτύου"
-#: modules/dynamicdns/forms.py:88 modules/miniflux/forms.py:11
+#: modules/dynamicdns/forms.py:80 modules/miniflux/forms.py:11
#: modules/networks/forms.py:281 modules/users/forms.py:130
msgid "Username"
msgstr "Όνομα χρήστη"
-#: modules/dynamicdns/forms.py:95 modules/networks/forms.py:284
+#: modules/dynamicdns/forms.py:87 modules/networks/forms.py:284
msgid "Show password"
msgstr "Εμφάνιση κωδικού"
-#: modules/dynamicdns/forms.py:99
-msgid "URL to look up public IP"
-msgstr "Διεύθυνση URL για να αναζητήσετε δημόσια IP"
-
-#: modules/dynamicdns/forms.py:104
+#: modules/dynamicdns/forms.py:91
msgid "Use IPv6 instead of IPv4"
msgstr ""
-#: modules/dynamicdns/forms.py:123
+#: modules/dynamicdns/forms.py:110
msgid "This field is required."
msgstr ""
#: modules/dynamicdns/manifest.py:17
-#: modules/dynamicdns/templates/dynamicdns.html:18
-#: modules/email/templates/email.html:35
+#: modules/dynamicdns/templates/dynamicdns.html:23
+#: modules/email/templates/email-dns.html:22
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64
msgid "Domain"
@@ -2125,43 +2115,43 @@ msgstr ""
msgid "Needs public IP"
msgstr "Επιλογή εξακριβωμένου δημόσιου κλειδιού SSH"
-#: modules/dynamicdns/templates/dynamicdns.html:11
-#: modules/ejabberd/templates/ejabberd.html:13 modules/firewall/manifest.py:10
+#: modules/dynamicdns/templates/dynamicdns.html:16
+#: modules/ejabberd/templates/ejabberd.html:18 modules/firewall/manifest.py:10
#: modules/firewall/templates/firewall.html:16
#: modules/firewall/templates/firewall.html:22
#: modules/letsencrypt/templates/letsencrypt.html:17
-#: modules/matrixsynapse/templates/matrix-synapse.html:12
+#: modules/matrixsynapse/templates/matrix-synapse.html:17
#: modules/networks/templates/connection_show.html:258
-#: modules/samba/templates/samba.html:67 modules/tor/templates/tor.html:19
+#: modules/samba/templates/samba.html:67 modules/tor/templates/tor.html:24
#: modules/upgrades/templates/upgrades_configure.html:14
#: modules/wireguard/templates/wireguard_show_client.html:48
#: modules/wireguard/templates/wireguard_show_server.html:47
msgid "Status"
msgstr "Κατάσταση"
-#: modules/dynamicdns/templates/dynamicdns.html:19
+#: modules/dynamicdns/templates/dynamicdns.html:24
msgid "Last update"
msgstr "Τελευταία ενημέρωση"
-#: modules/dynamicdns/templates/dynamicdns.html:21
+#: modules/dynamicdns/templates/dynamicdns.html:26
#, fuzzy
#| msgid "IP address"
msgid "IP Address"
msgstr "Διεύθυνση IP"
-#: modules/dynamicdns/templates/dynamicdns.html:32
+#: modules/dynamicdns/templates/dynamicdns.html:37
#, fuzzy
#| msgid "Access"
msgid "Success"
msgstr "Πρόσβαση"
-#: modules/dynamicdns/templates/dynamicdns.html:36
+#: modules/dynamicdns/templates/dynamicdns.html:41
#, fuzzy
#| msgid "Setup failed."
msgid "Failed"
msgstr "Η εγκατάσταση απέτυχε."
-#: modules/dynamicdns/templates/dynamicdns.html:52
+#: modules/dynamicdns/templates/dynamicdns.html:57
#, fuzzy
#| msgid "No repositories available."
msgid "No status available."
@@ -2338,7 +2328,7 @@ msgstr ""
msgid "XMPP"
msgstr ""
-#: modules/ejabberd/templates/ejabberd.html:18
+#: modules/ejabberd/templates/ejabberd.html:23
#, fuzzy, python-format
#| msgid ""
#| "Your XMPP server domain is set to %(domainname)s. User IDs will "
@@ -2354,7 +2344,7 @@ msgstr ""
"username@%(domainname)s. Μπορείτε να ρυθμίσετε το όνομα της υπηρεσίας "
"στο Ρυθμίστε page."
-#: modules/ejabberd/templates/ejabberd.html:25
+#: modules/ejabberd/templates/ejabberd.html:30
#, fuzzy, python-format
#| msgid ""
#| "Your XMPP server domain is set to %(domainname)s. User IDs will "
@@ -2410,18 +2400,20 @@ msgstr ""
msgid "Postfix/Dovecot"
msgstr ""
-#: modules/email/__init__.py:83
+#: modules/email/__init__.py:80
+msgid "More emails"
+msgstr ""
+
+#: modules/email/__init__.py:80
+msgid "Same mailbox"
+msgstr ""
+
+#: modules/email/__init__.py:82
#, fuzzy
#| msgid "Manage Repositories"
msgid "My Email Aliases"
msgstr "Διαχείριση αποθετηρίων"
-#: modules/email/__init__.py:84
-#, fuzzy
-#| msgid "Manage Repositories"
-msgid "Manage Aliases for Mailbox"
-msgstr "Διαχείριση αποθετηρίων"
-
#: modules/email/forms.py:25
#, fuzzy
#| msgid "Primary connection"
@@ -2510,45 +2502,96 @@ msgstr "Δημιουργία νέου αντιγράφου ασφαλείας"
msgid "Add"
msgstr "Προσθήκη"
+#: modules/email/templates/email-dns.html:9
+#, fuzzy
+#| msgid "Server domain"
+msgid "DNS Records for domain:"
+msgstr "Όνομα διαδικτύου διακομιστή"
+
+#: modules/email/templates/email-dns.html:12
+msgid ""
+"The following DNS records must be added manually on this domain for the mail "
+"server to work properly for this domain."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:23
+#: modules/email/templates/email-dns.html:77
+msgid "TTL"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:24
+msgid "Class"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:26
+msgid "Priority"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:27
+msgid "Weight"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:28
+#: modules/minetest/templates/minetest.html:18
+msgid "Port"
+msgstr "Θύρα"
+
+#: modules/email/templates/email-dns.html:29
+#: modules/email/templates/email-dns.html:79
+msgid "Host/Target/Value"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:50
+#, fuzzy
+#| msgid "Server hostname or IP address"
+msgid "Reverse DNS Records for IP Addresses"
+msgstr "Όνομα διακομιστή ή διεύθυνση IP"
+
+#: modules/email/templates/email-dns.html:53
+#, python-format
+msgid ""
+"If your %(box_name)s runs on a cloud service infrastructure, you should "
+"configure "
+"Reverse DNS lookup. This isn't mandatory, however, it greatly improves "
+"email deliverability. Reverse DNS isn't configured where your regular DNS "
+"is. You should look for it in the settings of your VPS/ISP. Some providers "
+"preconfigure the IP address part for you and you only have to set the domain "
+"part. Only one of your domains can have Revese DNS lookup configured unless "
+"you have multiple public IP addresses."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:66
+msgid ""
+"An external service is used to lookup public IP address to show in the "
+"following section. This can be configured in the privacy app."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:76
+#, fuzzy
+#| msgid "Hostname"
+msgid "Host"
+msgstr "Όνομα υπολογιστή"
+
#: modules/email/templates/email.html:10
#, fuzzy
#| msgid "Manage Snapshots"
msgid "Manage Spam"
msgstr "Διαχείριση στιγμιότυπων"
-#: modules/email/templates/email.html:22
-msgid "DNS Records"
-msgstr ""
+#: modules/email/templates/email.html:20 modules/names/manifest.py:11
+#: modules/names/templates/names.html:12
+msgid "Domains"
+msgstr "Ονόματα διαδικτύου"
-#: modules/email/templates/email.html:25
+#: modules/email/templates/email.html:23
msgid ""
-"The following DNS records must be added manually on your primary domain for "
-"the mail server to work properly."
+"The following domains are configured. View details to see the list of DNS "
+"entries to be made for the domain."
msgstr ""
-#: modules/email/templates/email.html:36
-msgid "TTL"
-msgstr ""
-
-#: modules/email/templates/email.html:37
-msgid "Class"
-msgstr ""
-
-#: modules/email/templates/email.html:39
-msgid "Priority"
-msgstr ""
-
-#: modules/email/templates/email.html:40
-msgid "Weight"
-msgstr ""
-
-#: modules/email/templates/email.html:41
-#: modules/minetest/templates/minetest.html:18
-msgid "Port"
-msgstr "Θύρα"
-
-#: modules/email/templates/email.html:42
-msgid "Host/Target/Value"
+#: modules/email/templates/email.html:35
+#, python-format
+msgid "View domain: %(domain)s"
msgstr ""
#: modules/featherwiki/__init__.py:25
@@ -2831,7 +2874,7 @@ msgstr "Η θύρα {name} ({details}) είναι διαθέσιμη για εξ
msgid "Port {name} ({details}) unavailable for external networks"
msgstr "Η θύρα {name} ({details}) δεν είναι διαθέσιμη για εξωτερικά δίκτυα"
-#: modules/firewall/manifest.py:10 modules/tor/templates/tor.html:20
+#: modules/firewall/manifest.py:10 modules/tor/templates/tor.html:25
msgid "Ports"
msgstr "Θύρες"
@@ -3194,9 +3237,9 @@ msgstr "Υποβάλετε σχόλια"
msgid "Contribute"
msgstr "Συνεισφέρετε"
-#: modules/help/__init__.py:53 templates/base.html:215 templates/base.html:218
+#: modules/help/__init__.py:53 templates/base.html:217 templates/base.html:220
#: templates/help-menu.html:46 templates/help-menu.html:47
-#: templates/index.html:98
+#: templates/index.html:96
msgid "About"
msgstr "Σχετικά με"
@@ -3371,7 +3414,7 @@ msgstr ""
#: modules/help/templates/help_contribute.html:42
#: modules/power/templates/power_restart.html:27
-#: modules/power/templates/power_shutdown.html:26 templates/app-header.html:68
+#: modules/power/templates/power_shutdown.html:26 templates/app-header.html:65
msgid "Learn more..."
msgstr "Μάθε περισσότερα..."
@@ -3769,7 +3812,7 @@ msgid "Web conference"
msgstr ""
#: modules/janus/templates/janus_video_room.html:205
-#: modules/jsxc/templates/jsxc_launch.html:117 templates/base.html:271
+#: modules/jsxc/templates/jsxc_launch.html:117 templates/base.html:273
msgid "JavaScript license information"
msgstr "Πληροφορίες άδειας χρήσης JavaScript"
@@ -4219,7 +4262,7 @@ msgstr ""
"Διαμορφώστε τουλάχιστον ένα όνομα για να μπορέσετε να χρησιμοποιήσετε "
"το Matrix Synapse."
-#: modules/matrixsynapse/templates/matrix-synapse.html:15
+#: modules/matrixsynapse/templates/matrix-synapse.html:20
#, python-format
msgid ""
"The Matrix server domain is set to %(domain_name)s. User IDs will "
@@ -4231,7 +4274,7 @@ msgstr ""
"%(domain_name)s. Αλλαγή του ονόματος διαδικτύου δεν υποστηρίζεται μετά "
"την αρχική εγκατάσταση."
-#: modules/matrixsynapse/templates/matrix-synapse.html:22
+#: modules/matrixsynapse/templates/matrix-synapse.html:27
msgid ""
"New users can be registered from any client if public registration is "
"enabled."
@@ -4239,43 +4282,43 @@ msgstr ""
"Οι νέοι χρήστες μπορούν να καταχωρούνται από οποιονδήποτε υπολογιστή-πελάτη, "
"εάν είναι ενεργοποιημένη η δημόσια εγγραφή."
-#: modules/matrixsynapse/templates/matrix-synapse.html:29
+#: modules/matrixsynapse/templates/matrix-synapse.html:34
msgid ""
"New users must use one of the following tokens for verification during "
"account registration:"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:38
+#: modules/matrixsynapse/templates/matrix-synapse.html:43
#, fuzzy
#| msgid "Skip Registration"
msgid "Registration Token"
msgstr "Παράλειψη εγγραφής"
-#: modules/matrixsynapse/templates/matrix-synapse.html:39
+#: modules/matrixsynapse/templates/matrix-synapse.html:44
msgid "Uses Allowed"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:40
+#: modules/matrixsynapse/templates/matrix-synapse.html:45
#, fuzzy
#| msgid "Skip Registration"
msgid "Pending Registrations"
msgstr "Παράλειψη εγγραφής"
-#: modules/matrixsynapse/templates/matrix-synapse.html:41
+#: modules/matrixsynapse/templates/matrix-synapse.html:46
#, fuzzy
#| msgid "Skip Registration"
msgid "Completed Registrations"
msgstr "Παράλειψη εγγραφής"
-#: modules/matrixsynapse/templates/matrix-synapse.html:42
+#: modules/matrixsynapse/templates/matrix-synapse.html:47
msgid "Expiry Time"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:51
+#: modules/matrixsynapse/templates/matrix-synapse.html:56
msgid "Unlimited"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:80
+#: modules/matrixsynapse/templates/matrix-synapse.html:85
#, python-format
msgid ""
"The configured domain name is using a self-signed certificate. Federation "
@@ -4785,7 +4828,7 @@ msgstr "Μη έγκυρο όνομα χρήστη: {username}"
msgid "An error occurred during password reset: {error}."
msgstr "Παρουσιάστηκε σφάλμα κατά τη ρύθμιση παραμέτρων."
-#: modules/mumble/__init__.py:25
+#: modules/mumble/__init__.py:27
msgid ""
"Mumble is an open source, low-latency, encrypted, high quality voice chat "
"software."
@@ -4793,7 +4836,7 @@ msgstr ""
"Το mumble είναι ένα ανοικτού πηγαίου κώδικα, χαμηλής καθυστέρησης, "
"κρυπτογραφημένο και υπηλής ποιότητας προγραμμα φωνητικής συνομιλίας."
-#: modules/mumble/__init__.py:27
+#: modules/mumble/__init__.py:29
#, fuzzy
#| msgid ""
#| "You can connect to your Mumble server on the regular Mumble port 64738. "
@@ -4808,10 +4851,14 @@ msgstr ""
"href=\"http://mumble.info\"> Πελάτες για να συνδεθείτε με το Mumble από "
"τον υπολογιστή και τις συσκευές Android είναι διαθέσιμες."
-#: modules/mumble/__init__.py:45 modules/mumble/manifest.py:9
+#: modules/mumble/__init__.py:47 modules/mumble/manifest.py:9
msgid "Mumble"
msgstr "Mumble"
+#: modules/mumble/__init__.py:158
+msgid "Mumble server is configured"
+msgstr ""
+
#: modules/mumble/forms.py:30
msgid "Set SuperUser Password"
msgstr "Ορισμός κωδικού πρόσβασης SuperUser"
@@ -4964,10 +5011,6 @@ msgstr ""
"λιγότερο από 63 χαρακτήρες. Το συνολικό μήκος πρέπει να είναι λιγότερο από "
"253 χαρακτήρες."
-#: modules/names/manifest.py:11 modules/names/templates/names.html:12
-msgid "Domains"
-msgstr "Ονόματα διαδικτύου"
-
#: modules/names/manifest.py:13
#, fuzzy
#| msgid "Evolution"
@@ -5519,7 +5562,7 @@ msgstr "Επεξεργασία σύνδεσης"
#: modules/networks/templates/connection_show.html:40
#: modules/wireguard/templates/wireguard_show_client.html:72
#: modules/wireguard/templates/wireguard_show_server.html:73
-#: templates/base.html:165 templates/base.html:166
+#: templates/base.html:167 templates/base.html:168
msgid "Edit"
msgstr "Επεξεργασία"
@@ -5572,7 +5615,7 @@ msgstr "Ιnterface"
#: modules/networks/templates/connection_show.html:107
#: modules/snapshot/templates/snapshot_delete_selected.html:19
-#: modules/snapshot/templates/snapshot_manage.html:29
+#: modules/snapshot/templates/snapshot_manage.html:34
#: modules/snapshot/templates/snapshot_rollback.html:27
msgid "Description"
msgstr "Περιγραφή"
@@ -5650,8 +5693,8 @@ msgstr "Αυτή η σύνδεση δεν είναι ενεργή."
#: modules/networks/templates/connection_show.html:264
#: modules/networks/templates/connections_fields_privacy.html:15
-#: modules/openvpn/manifest.py:60 modules/privacy/__init__.py:32
-#: modules/privacy/__init__.py:72 modules/wireguard/manifest.py:45
+#: modules/openvpn/manifest.py:60 modules/privacy/__init__.py:38
+#: modules/privacy/__init__.py:77 modules/wireguard/manifest.py:45
#, fuzzy
#| msgid "Privoxy"
msgid "Privacy"
@@ -5744,7 +5787,7 @@ msgstr "Εσωτερική"
msgid "Computer"
msgstr "Υπολογιστής"
-#: modules/networks/templates/connections_edit.html:19
+#: modules/networks/templates/connections_edit.html:24
#: modules/networks/views.py:253 modules/networks/views.py:341
msgid "Edit Connection"
msgstr "Επεξεργασία σύνδεσης"
@@ -5755,7 +5798,7 @@ msgid "Error:"
msgstr ""
#: modules/networks/templates/connections_fields.html:20
-#: modules/users/templates/users_update.html:46 templates/messages.html:30
+#: modules/users/templates/users_update.html:51 templates/messages.html:30
msgid "Close"
msgstr ""
@@ -5853,7 +5896,7 @@ msgstr "Ενημερωμένη έκδοση"
#: modules/networks/templates/network_topology_update.html:18
#: modules/networks/templates/router_configuration_update.html:19
#: modules/pagekite/templates/pagekite_custom_services.html:33
-#: modules/sharing/templates/sharing_add_edit.html:20 templates/form.html:19
+#: modules/sharing/templates/sharing_add_edit.html:25 templates/form.html:19
msgid "Submit"
msgstr "Υποβολή"
@@ -6314,11 +6357,7 @@ msgid ""
"performed following an independent cycle."
msgstr ""
-#: modules/nextcloud/__init__.py:48
-msgid "This app is experimental."
-msgstr ""
-
-#: modules/nextcloud/__init__.py:66 modules/nextcloud/manifest.py:11
+#: modules/nextcloud/__init__.py:65 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
#, fuzzy
#| msgid "Next"
@@ -6549,7 +6588,7 @@ msgstr ""
msgid "PageKite"
msgstr "PageKite"
-#: modules/pagekite/__init__.py:73
+#: modules/pagekite/__init__.py:72
msgid "PageKite Domain"
msgstr "Όνομα διαδικτύου Pagekite"
@@ -6756,8 +6795,8 @@ msgstr ""
msgid "Shutdown"
msgstr "ΤΕΡΜΑΤΙΣΜΟΣ ΛΕΙΤΟΥΡΓΙΑΣ"
-#: modules/power/templates/power.html:15 templates/base.html:180
-#: templates/base.html:181
+#: modules/power/templates/power.html:15 templates/base.html:182
+#: templates/base.html:183
msgid "Restart"
msgstr "Κάνετε επανεκκίνηση"
@@ -6803,23 +6842,33 @@ msgstr ""
msgid "Shut Down Now"
msgstr "Τερματισμός τώρα"
-#: modules/privacy/__init__.py:15
+#: modules/privacy/__init__.py:21
msgid "Manage system-wide privacy settings."
msgstr ""
-#: modules/privacy/__init__.py:70
+#: modules/privacy/__init__.py:75
msgid "Please update privacy settings to match your preferences."
msgstr ""
-#: modules/privacy/__init__.py:75
+#: modules/privacy/__init__.py:80
msgid "Review privacy setting"
msgstr ""
-#: modules/privacy/forms.py:16
+#: modules/privacy/forms.py:17
+#, python-brace-format
+msgid ""
+"Optional Value. This URL is used to determine the publicly visible IP "
+"address of your {box_name}. The URL should simply return the IPv4 or IPv6 "
+"address where the client request comes from. Default is to use the service "
+"provided by the FreedomBox Foundation at https://ddns.freedombox.org/ip/. If "
+"empty, lookups are disabled and some functionality will fail."
+msgstr ""
+
+#: modules/privacy/forms.py:25
msgid "Periodically submit a list of apps used (suggested)"
msgstr ""
-#: modules/privacy/forms.py:18
+#: modules/privacy/forms.py:27
#, python-brace-format
msgid ""
"Help Debian/{box_name} developers by participating in the Popularity Contest "
@@ -6830,11 +6879,11 @@ msgid ""
"network for additional anonymity if Tor app is enabled."
msgstr ""
-#: modules/privacy/forms.py:28
+#: modules/privacy/forms.py:37
msgid "Allow using fallback DNS servers"
msgstr ""
-#: modules/privacy/forms.py:30
+#: modules/privacy/forms.py:39
msgid ""
"Use well-known public DNS servers to resolve domain names in unusual "
"circumstances where no DNS servers are known but internet connectivity is "
@@ -6842,10 +6891,22 @@ msgid ""
"and reliable."
msgstr ""
+#: modules/privacy/forms.py:45
+#, fuzzy
+#| msgid "URL to look up public IP"
+msgid "URL to look up public IP address"
+msgstr "Διεύθυνση URL για να αναζητήσετε δημόσια IP"
+
#: modules/privacy/manifest.py:10
msgid "Usage reporting"
msgstr ""
+#: modules/privacy/manifest.py:10
+#, fuzzy
+#| msgid "Onion Service"
+msgid "External services"
+msgstr "Υπηρεσία κρεμμυδιού"
+
#: modules/privacy/manifest.py:10
#, fuzzy
#| msgid "DNS Server"
@@ -8025,40 +8086,40 @@ msgid "Delete the following snapshots permanently?"
msgstr "Να διαγραφούν οριστικά τα παρακάτω στιγμιότυπα;"
#: modules/snapshot/templates/snapshot_delete_selected.html:17
-#: modules/snapshot/templates/snapshot_manage.html:27
+#: modules/snapshot/templates/snapshot_manage.html:32
#: modules/snapshot/templates/snapshot_rollback.html:25
msgid "Number"
msgstr "Αριθμός"
#: modules/snapshot/templates/snapshot_delete_selected.html:18
-#: modules/snapshot/templates/snapshot_manage.html:28
+#: modules/snapshot/templates/snapshot_manage.html:33
#: modules/snapshot/templates/snapshot_rollback.html:26
msgid "Date"
msgstr "Ημερομηνία"
#: modules/snapshot/templates/snapshot_delete_selected.html:42
-#: modules/snapshot/templates/snapshot_manage.html:20
+#: modules/snapshot/templates/snapshot_manage.html:25
#: modules/snapshot/views.py:197
msgid "Delete Snapshots"
msgstr "Διαγραφή στιγμιότυπων"
-#: modules/snapshot/templates/snapshot_manage.html:17
+#: modules/snapshot/templates/snapshot_manage.html:22
msgid "Create Snapshot"
msgstr "Δημιουργία στιγμιότυπου"
-#: modules/snapshot/templates/snapshot_manage.html:30
+#: modules/snapshot/templates/snapshot_manage.html:35
msgid "Rollback"
msgstr "Επαναφορά"
-#: modules/snapshot/templates/snapshot_manage.html:40
+#: modules/snapshot/templates/snapshot_manage.html:45
msgid "will be used at next boot"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:45
+#: modules/snapshot/templates/snapshot_manage.html:50
msgid "in use"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:54
+#: modules/snapshot/templates/snapshot_manage.html:59
#, python-format
msgid "Rollback to snapshot #%(number)s"
msgstr "Επαναφορά στο στιγμιότυπο #%(number)s"
@@ -8677,27 +8738,27 @@ msgstr ""
msgid "Tor"
msgstr "Tor"
-#: modules/tor/__init__.py:78
+#: modules/tor/__init__.py:77
msgid "Tor Onion Service"
msgstr "Υπηρεσία κρεμυδιού Tor"
-#: modules/tor/__init__.py:82
+#: modules/tor/__init__.py:81
msgid "Tor Bridge Relay"
msgstr "Γέφυρα/μεσολαβητής Tor"
-#: modules/tor/__init__.py:140
+#: modules/tor/__init__.py:139
msgid "Tor relay port available"
msgstr "Θύρα μεσολαβητή Tor διαθέσιμη"
-#: modules/tor/__init__.py:152
+#: modules/tor/__init__.py:151
msgid "Obfs3 transport registered"
msgstr "Obfs3 μεταφορά καταχωρήθηκε"
-#: modules/tor/__init__.py:163
+#: modules/tor/__init__.py:162
msgid "Obfs4 transport registered"
msgstr "Obfs4 μεταφορά καταχωρήθηκε"
-#: modules/tor/__init__.py:176
+#: modules/tor/__init__.py:175
#, fuzzy
#| msgid "Onion Service"
msgid "Onion service is version 3"
@@ -8821,7 +8882,7 @@ msgstr "Μεσολαβητής"
msgid "Anonymity network"
msgstr "Δίκτυο ανωνυμίας"
-#: modules/tor/templates/tor.html:18
+#: modules/tor/templates/tor.html:23
msgid "Onion Service"
msgstr "Υπηρεσία κρεμμυδιού"
@@ -9509,13 +9570,13 @@ msgstr "Χρήστες"
msgid "Edit user %(username)s"
msgstr "Επεξεργασία χρήστη %(username)s"
-#: modules/users/templates/users_update.html:12
+#: modules/users/templates/users_update.html:17
#, fuzzy, python-format
#| msgid "Edit user %(username)s"
msgid "Edit User %(username)s"
msgstr "Επεξεργασία χρήστη %(username)s"
-#: modules/users/templates/users_update.html:20
+#: modules/users/templates/users_update.html:25
#, python-format
msgid ""
"Use the change password form to "
@@ -9524,30 +9585,30 @@ msgstr ""
"Χρησιμοποιήστε τη φόρμα αλλαγής κωδικού "
"πρόσβασης για να αλλάξετε τον κωδικό πρόσβασης."
-#: modules/users/templates/users_update.html:32
+#: modules/users/templates/users_update.html:37
#: templates/language-selection.html:17
msgid "Save Changes"
msgstr "Αποθήκευση αλλαγών"
-#: modules/users/templates/users_update.html:41
+#: modules/users/templates/users_update.html:46
#, fuzzy, python-format
#| msgid "Delete user %(username)s permanently?"
msgid "Delete user %(username)s and all the user's files?"
msgstr "Να διαγραφεί οριστικά ο χρήστης %(username)s ;"
-#: modules/users/templates/users_update.html:51
+#: modules/users/templates/users_update.html:56
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
msgstr ""
-#: modules/users/templates/users_update.html:60
+#: modules/users/templates/users_update.html:65
#, fuzzy
#| msgid "Delete User"
msgid "Delete user and files"
msgstr "Διαγραφή χρήστη"
-#: modules/users/templates/users_update.html:63
+#: modules/users/templates/users_update.html:68
msgid "Cancel"
msgstr "Άκυρο"
@@ -10288,13 +10349,13 @@ msgstr "Εγκατάσταση"
msgid "Service %(service_name)s is not running."
msgstr "Η υπηρεσία %(service_name)s δεν εκτελείται."
-#: templates/apps.html:29
+#: templates/apps.html:33
#, fuzzy
#| msgid "Search the web"
msgid "Search with tags"
msgstr "Αναζήτηση στο διαδίκτυο"
-#: templates/apps.html:42
+#: templates/apps.html:46
#, fuzzy
#| msgid "Search the web"
msgid "Clear all tags"
@@ -10306,35 +10367,35 @@ msgid ""
"is free software that lets you install and manage server apps with ease."
msgstr ""
-#: templates/base.html:116
+#: templates/base.html:118
msgid " Home"
msgstr " Κεντρική σελίδα"
-#: templates/base.html:124
+#: templates/base.html:126
msgid " Apps"
msgstr " Εφαρμογές"
-#: templates/base.html:133
+#: templates/base.html:135
msgid " System"
msgstr " Σύστημα"
-#: templates/base.html:172 templates/base.html:173
+#: templates/base.html:174 templates/base.html:175
msgid "Change password"
msgstr "Αλλαγή κωδικού πρόσβασης"
-#: templates/base.html:186 templates/base.html:187
+#: templates/base.html:188 templates/base.html:189
msgid "Shut down"
msgstr "ΤΕΡΜΑΤΙΣΜΟΣ ΛΕΙΤΟΥΡΓΙΑΣ"
-#: templates/base.html:197 templates/base.html:235
+#: templates/base.html:199 templates/base.html:237
msgid "Log out"
msgstr "Αποσύνδεση"
-#: templates/base.html:206 templates/base.html:209
+#: templates/base.html:208 templates/base.html:211
msgid "Select language"
msgstr "Επιλογή γλώσσας"
-#: templates/base.html:224 templates/base.html:226
+#: templates/base.html:226 templates/base.html:228
msgid "Log in"
msgstr "Σύνδεση"
@@ -10570,23 +10631,46 @@ msgid ""
"installed freshly again."
msgstr ""
-#: views.py:85
+#: views.py:84
msgid "Here"
msgstr ""
-#: views.py:374
+#: views.py:376
msgid "Setting unchanged"
msgstr "Οι ρυθμίσεις δεν άλλαξαν"
-#: views.py:609
+#: views.py:610
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""
-#: web_framework.py:114
+#: web_framework.py:122
msgid "Gujarati"
msgstr "Gujarati"
+#, fuzzy, python-brace-format
+#~| msgid ""
+#~| "Optional Value. If your {box_name} is not connected directly to the "
+#~| "Internet (i.e. connected to a NAT router) this URL is used to determine "
+#~| "the real IP address. The URL should simply return the IP where the "
+#~| "client comes from (example: http://myip.datasystems24.de)."
+#~ msgid ""
+#~ "Optional Value. If your {box_name} is not connected directly to the "
+#~ "Internet (i.e. connected to a NAT router) this URL is used to determine "
+#~ "the real IP address. The URL should simply return the IP where the client "
+#~ "comes from (example: https://ddns.freedombox.org/ip/)."
+#~ msgstr ""
+#~ "Προαιρετική τιμή. Εάν το {box_name} δεν είναι συνδεδεμένο απευθείας στο "
+#~ "Internet (δηλ. συνδεδεμένο σε δρομολογητή NAT), αυτή η διεύθυνση URL "
+#~ "χρησιμοποιείται για τον προσδιορισμό της πραγματικής διεύθυνσης IP. Η "
+#~ "διεύθυνση URL θα πρέπει απλά να επιστρέψει την IP από την οποία "
+#~ "προέρχεται ο πελάτης (παράδειγμα: http://myip.datasystems24.de)."
+
+#, fuzzy
+#~| msgid "Manage Repositories"
+#~ msgid "Manage Aliases for Mailbox"
+#~ msgstr "Διαχείριση αποθετηρίων"
+
#, fuzzy
#~| msgid "File Sharing"
#~ msgid "File & Snippet Sharing"
diff --git a/plinth/locale/es/LC_MESSAGES/django.po b/plinth/locale/es/LC_MESSAGES/django.po
index 1e9ec758d..8c9dacb00 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-12-30 20:05-0500\n"
+"POT-Creation-Date: 2025-01-13 20:33-0500\n"
"PO-Revision-Date: 2024-11-01 17:00+0000\n"
"Last-Translator: gallegonovato
SSH key-based authentication is not yet "
"possible."
@@ -467,18 +469,18 @@ msgstr ""
"Contraseña del servidor SSH.
La autenticación basada en clave SSH aún no "
"es posible."
-#: modules/backups/forms.py:273
+#: modules/backups/forms.py:275
msgid "Remote backup repository already exists."
msgstr "El repositorio de copias de seguridad remoto ya existe."
-#: modules/backups/forms.py:279
+#: modules/backups/forms.py:281
msgid "Select verified SSH public key"
msgstr "Seleccione una clave pública SSH verificada"
#: modules/backups/manifest.py:14
#: modules/backups/templates/backups_repository.html:92
#: modules/backups/templates/backups_restore.html:27
-#: modules/backups/views.py:240 modules/snapshot/manifest.py:14
+#: modules/backups/views.py:238 modules/snapshot/manifest.py:14
#: templates/toolbar.html:44 templates/toolbar.html:45
msgid "Restore"
msgstr "Restaurar"
@@ -562,16 +564,20 @@ msgstr ""
msgid "Backup system is busy with another operation."
msgstr ""
+#: modules/backups/privileged.py:92
+msgid "Not enough space left on the disk or remote location."
+msgstr ""
+
#: modules/backups/repository.py:94
msgid "Existing repository is not encrypted."
msgstr "El repositorio existente no está cifrado."
-#: modules/backups/repository.py:266
+#: modules/backups/repository.py:289
#, python-brace-format
msgid "{box_name} storage"
msgstr "Almacenamiento en {box_name}"
-#: modules/backups/templates/backups.html:17 modules/backups/views.py:125
+#: modules/backups/templates/backups.html:17 modules/backups/views.py:124
msgid "Create a new backup"
msgstr "Crear una copia de seguridad nueva"
@@ -615,10 +621,9 @@ msgstr "Copias de seguridad existentes"
#: modules/help/templates/statuslog.html:24
#: modules/kiwix/templates/kiwix-add-package.html:26
#: modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:28
-#: modules/matrixsynapse/templates/matrix-synapse.html:76
+#: modules/matrixsynapse/templates/matrix-synapse.html:81
#: modules/names/templates/names.html:128
#: modules/networks/templates/connection_show.html:24
-#: modules/nextcloud/__init__.py:48
#: modules/pagekite/templates/pagekite_custom_services.html:16
#: modules/power/templates/power_busy_warning.html:11
#: modules/snapshot/templates/snapshot_not_supported.html:13
@@ -781,111 +786,111 @@ msgstr ""
msgid "Verify Host"
msgstr "Verificar anfitrión"
-#: modules/backups/views.py:69
+#: modules/backups/views.py:68
msgid "Backup schedule updated."
msgstr "Calendario de respaldos actualizado."
-#: modules/backups/views.py:88
+#: modules/backups/views.py:87
msgid "Schedule Backups"
msgstr "Agendar respaldos"
-#: modules/backups/views.py:150
+#: modules/backups/views.py:148
msgid "Archive created."
msgstr "Archivo creado."
-#: modules/backups/views.py:162
+#: modules/backups/views.py:160
msgid "Delete Archive"
msgstr "Borrar archivo"
-#: modules/backups/views.py:175
+#: modules/backups/views.py:173
msgid "Archive deleted."
msgstr "Archivo borrado."
-#: modules/backups/views.py:189
+#: modules/backups/views.py:187
msgid "Upload and restore a backup"
msgstr "Subir y restaurar una copia de seguridad"
-#: modules/backups/views.py:218
+#: modules/backups/views.py:216
#, fuzzy
#| msgid "Logged out successfully."
msgid "Upload successful."
msgstr "Desconectado con éxito."
-#: modules/backups/views.py:256
+#: modules/backups/views.py:254
msgid "No backup file found."
msgstr "No se encontraron copias de seguridad."
-#: modules/backups/views.py:264
+#: modules/backups/views.py:262
msgid "Restore from uploaded file"
msgstr "Restaurar desde la copia de seguridad subida"
-#: modules/backups/views.py:278 modules/backups/views.py:299
+#: modules/backups/views.py:276 modules/backups/views.py:297
msgid "Restored files from backup."
msgstr "Archivos restaurados desde la copia de seguridad."
-#: modules/backups/views.py:329
+#: modules/backups/views.py:327
msgid "No additional disks available to add a repository."
msgstr "No hay más discos disponibles para añadir un repositorio."
-#: modules/backups/views.py:337
+#: modules/backups/views.py:335
msgid "Create backup repository"
msgstr "Crear repositorio de copias de seguridad"
-#: modules/backups/views.py:352
+#: modules/backups/views.py:350
#, fuzzy
#| msgid "Added new remote SSH repository."
msgid "Added new repository."
msgstr "Añadido nuevo repositorio SSH remoto."
-#: modules/backups/views.py:366
+#: modules/backups/views.py:364
msgid "Create remote backup repository"
msgstr "Crear repositorio de copias de seguridad remotas"
-#: modules/backups/views.py:388
+#: modules/backups/views.py:386
msgid "Added new remote SSH repository."
msgstr "Añadido nuevo repositorio SSH remoto."
-#: modules/backups/views.py:410
+#: modules/backups/views.py:408
msgid "Verify SSH hostkey"
msgstr "Verificar la clave de anfitrión SSH"
-#: modules/backups/views.py:436
+#: modules/backups/views.py:434
msgid "SSH host already verified."
msgstr "Clave SSH de anfitrión verificada."
-#: modules/backups/views.py:447
+#: modules/backups/views.py:445
msgid "SSH host verified."
msgstr "Anfitrión SSH verificado."
-#: modules/backups/views.py:463
+#: modules/backups/views.py:461
msgid "SSH host public key could not be verified."
msgstr "No se pudo verificar la clave pública SSH del anfitrión."
-#: modules/backups/views.py:465
+#: modules/backups/views.py:463
msgid "Authentication to remote server failed."
msgstr "Ha fallado la autenticación en el servidor remoto."
-#: modules/backups/views.py:467
+#: modules/backups/views.py:465
msgid "Error establishing connection to server: {}"
msgstr "Error al conectar con el servidor: {}"
-#: modules/backups/views.py:478
+#: modules/backups/views.py:476
msgid "Repository removed."
msgstr "Repositorio eliminado."
-#: modules/backups/views.py:492
+#: modules/backups/views.py:490
msgid "Remove Repository"
msgstr "Eliminar repositorio"
-#: modules/backups/views.py:502
+#: modules/backups/views.py:500
msgid "Repository removed. Backups were not deleted."
msgstr "Repositorio dado de baja. Las copias de seguridad no se han borrado."
-#: modules/backups/views.py:513
+#: modules/backups/views.py:511
msgid "Unmounting failed!"
msgstr "¡No se pudo desmontar!"
-#: modules/backups/views.py:529 modules/backups/views.py:533
+#: modules/backups/views.py:527 modules/backups/views.py:531
msgid "Mounting failed"
msgstr "Montaje fallido"
@@ -1009,7 +1014,7 @@ msgstr "Añadir contraseña"
msgid "No passwords currently configured."
msgstr "Actualmente no hay contraseñas configuradas."
-#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:91
+#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:83
#: modules/miniflux/forms.py:14 modules/networks/forms.py:282
#: modules/shadowsocks/forms.py:32 modules/shadowsocksserver/forms.py:37
msgid "Password"
@@ -1140,8 +1145,10 @@ msgstr "Estado de la resolución"
msgid "Serving Domains"
msgstr "Dominios en servicio"
-#: modules/bind/templates/bind.html:17 modules/email/templates/email.html:38
-#: modules/ikiwiki/forms.py:12 modules/names/templates/names.html:18
+#: modules/bind/templates/bind.html:17
+#: modules/email/templates/email-dns.html:25
+#: modules/email/templates/email-dns.html:78 modules/ikiwiki/forms.py:12
+#: modules/names/templates/names.html:18
#: modules/networks/templates/connection_show.html:95
#: modules/samba/templates/samba.html:65
#: modules/storage/templates/storage.html:26
@@ -1171,7 +1178,7 @@ msgstr "Actualizar direcciones IP y dominios"
#: modules/minetest/views.py:55 modules/mumble/views.py:37
#: modules/names/views.py:66 modules/names/views.py:95
#: modules/names/views.py:129 modules/pagekite/forms.py:74
-#: modules/privacy/views.py:50 modules/quassel/views.py:29
+#: modules/privacy/views.py:55 modules/quassel/views.py:29
#: modules/roundcube/views.py:32 modules/rssbridge/views.py:31
#: modules/shadowsocks/views.py:52 modules/shadowsocksserver/views.py:48
#: modules/ssh/views.py:62 modules/transmission/views.py:43
@@ -1831,7 +1838,7 @@ msgid "Test"
msgstr "Test"
#: modules/diagnostics/templates/diagnostics_results.html:12
-#: modules/dynamicdns/templates/dynamicdns.html:20
+#: modules/dynamicdns/templates/dynamicdns.html:25
msgid "Result"
msgstr "Resultado"
@@ -1844,7 +1851,7 @@ msgstr "Test de diagnóstico"
msgid "App {app_id} is not installed, cannot repair"
msgstr "La aplicación {app_id} no está instalada, no se puede reparar"
-#: modules/dynamicdns/__init__.py:28
+#: modules/dynamicdns/__init__.py:29
#, python-brace-format
msgid ""
"If your Internet provider changes your IP address periodically (i.e. every "
@@ -1855,7 +1862,7 @@ msgstr ""
"24h) será muy difícil para los demás encontrarle en Internet. Este servicio "
"permitirá a otros encontrar los servicios que ofrece {box_name}."
-#: modules/dynamicdns/__init__.py:32
+#: modules/dynamicdns/__init__.py:33
msgid ""
"The solution is to assign a DNS name to your IP address and update the DNS "
"name every time your IP is changed by your Internet provider. Dynamic DNS "
@@ -1872,7 +1879,7 @@ msgstr ""
"asigna su nombre DNS a esta nueva IP de forma que cualquiera que pida su "
"nombre DNS obtendrá la dirección IP actualizada."
-#: modules/dynamicdns/__init__.py:40
+#: modules/dynamicdns/__init__.py:41
msgid ""
"If you are looking for a free dynamic DNS account, you may find a free "
"GnuDIP service at ddns."
@@ -1885,11 +1892,17 @@ msgstr ""
"en URL de actualización en freedns.afraid.org."
-#: modules/dynamicdns/__init__.py:61
+#: modules/dynamicdns/__init__.py:46
+msgid ""
+"This service uses an external service to lookup public IP address. This can "
+"be configured in the privacy app."
+msgstr ""
+
+#: modules/dynamicdns/__init__.py:64
msgid "Dynamic DNS Client"
msgstr "Cliente de DNS dinámico"
-#: modules/dynamicdns/__init__.py:75
+#: modules/dynamicdns/__init__.py:78
msgid "Dynamic Domain Name"
msgstr "Nombre de dominio dinámico"
@@ -1944,88 +1957,71 @@ msgid "Leave this field empty if you want to keep your current password."
msgstr "Deje vacío este campo si quiere conservar su clave actual."
#: modules/dynamicdns/forms.py:43
-#, python-brace-format
-msgid ""
-"Optional Value. If your {box_name} is not connected directly to the Internet "
-"(i.e. connected to a NAT router) this URL is used to determine the real IP "
-"address. The URL should simply return the IP where the client comes from "
-"(example: https://ddns.freedombox.org/ip/)."
-msgstr ""
-"Valor opcional. Si su {box_name} no está conectado directamente a Internet "
-"(p.e. está conectado a un router NAT), esta URL se usará para obtener su "
-"número IP real. La URL debería devolver simplemente el número IP del cliente "
-"(p.ej. https://ddns.freedombox.org/ip/)."
-
-#: modules/dynamicdns/forms.py:51
msgid "The username that was used when the account was created."
msgstr "El nombre de usuaria/o que empleó al crear la cuenta."
-#: modules/dynamicdns/forms.py:54
+#: modules/dynamicdns/forms.py:46
msgid "GnuDIP"
msgstr "GnuDIP"
-#: modules/dynamicdns/forms.py:57
+#: modules/dynamicdns/forms.py:49
msgid "Other update URL"
msgstr "Otra URL de actualización"
-#: modules/dynamicdns/forms.py:59
+#: modules/dynamicdns/forms.py:51
msgid "Service Type"
msgstr "Tipo de servicio"
-#: modules/dynamicdns/forms.py:64
+#: modules/dynamicdns/forms.py:56
msgid "GnuDIP Server Address"
msgstr "Dirección del servidor GnuDIP"
-#: modules/dynamicdns/forms.py:67
+#: modules/dynamicdns/forms.py:59
msgid "Invalid server name"
msgstr "Nombre de servidor no válido"
-#: modules/dynamicdns/forms.py:70
+#: modules/dynamicdns/forms.py:62
msgid "Update URL"
msgstr "URL de actualización"
-#: modules/dynamicdns/forms.py:74
+#: modules/dynamicdns/forms.py:66
msgid "Accept all SSL certificates"
msgstr "Aceptar todos los certificados SSL"
-#: modules/dynamicdns/forms.py:78
+#: modules/dynamicdns/forms.py:70
msgid "Use HTTP basic authentication"
msgstr "Usar autenticación básica de HTTP"
-#: modules/dynamicdns/forms.py:82 modules/names/__init__.py:68
+#: modules/dynamicdns/forms.py:74 modules/names/__init__.py:68
#: modules/names/forms.py:106 modules/names/templates/names.html:19
msgid "Domain Name"
msgstr "Nombre de dominio"
-#: modules/dynamicdns/forms.py:85 modules/names/forms.py:99
+#: modules/dynamicdns/forms.py:77 modules/names/forms.py:99
#: modules/names/forms.py:117
msgid "Invalid domain name"
msgstr "Nombre de dominio no válido"
-#: modules/dynamicdns/forms.py:88 modules/miniflux/forms.py:11
+#: modules/dynamicdns/forms.py:80 modules/miniflux/forms.py:11
#: modules/networks/forms.py:281 modules/users/forms.py:130
msgid "Username"
msgstr "Nombre de usuaria/o"
-#: modules/dynamicdns/forms.py:95 modules/networks/forms.py:284
+#: modules/dynamicdns/forms.py:87 modules/networks/forms.py:284
msgid "Show password"
msgstr "Mostrar clave de acceso"
-#: modules/dynamicdns/forms.py:99
-msgid "URL to look up public IP"
-msgstr "URL para consultar la IP pública"
-
-#: modules/dynamicdns/forms.py:104
+#: modules/dynamicdns/forms.py:91
msgid "Use IPv6 instead of IPv4"
msgstr "Use IPv6 en vez de IPv4"
-#: modules/dynamicdns/forms.py:123
+#: modules/dynamicdns/forms.py:110
msgid "This field is required."
msgstr "Este es un campo obligatorio."
#: modules/dynamicdns/manifest.py:17
-#: modules/dynamicdns/templates/dynamicdns.html:18
-#: modules/email/templates/email.html:35
+#: modules/dynamicdns/templates/dynamicdns.html:23
+#: modules/email/templates/email-dns.html:22
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64
msgid "Domain"
@@ -2041,37 +2037,37 @@ msgstr ""
msgid "Needs public IP"
msgstr "Clave pública del servidor:"
-#: modules/dynamicdns/templates/dynamicdns.html:11
-#: modules/ejabberd/templates/ejabberd.html:13 modules/firewall/manifest.py:10
+#: modules/dynamicdns/templates/dynamicdns.html:16
+#: modules/ejabberd/templates/ejabberd.html:18 modules/firewall/manifest.py:10
#: modules/firewall/templates/firewall.html:16
#: modules/firewall/templates/firewall.html:22
#: modules/letsencrypt/templates/letsencrypt.html:17
-#: modules/matrixsynapse/templates/matrix-synapse.html:12
+#: modules/matrixsynapse/templates/matrix-synapse.html:17
#: modules/networks/templates/connection_show.html:258
-#: modules/samba/templates/samba.html:67 modules/tor/templates/tor.html:19
+#: modules/samba/templates/samba.html:67 modules/tor/templates/tor.html:24
#: modules/upgrades/templates/upgrades_configure.html:14
#: modules/wireguard/templates/wireguard_show_client.html:48
#: modules/wireguard/templates/wireguard_show_server.html:47
msgid "Status"
msgstr "Estado"
-#: modules/dynamicdns/templates/dynamicdns.html:19
+#: modules/dynamicdns/templates/dynamicdns.html:24
msgid "Last update"
msgstr "Última actualización"
-#: modules/dynamicdns/templates/dynamicdns.html:21
+#: modules/dynamicdns/templates/dynamicdns.html:26
msgid "IP Address"
msgstr "Dirección IP"
-#: modules/dynamicdns/templates/dynamicdns.html:32
+#: modules/dynamicdns/templates/dynamicdns.html:37
msgid "Success"
msgstr "Éxito"
-#: modules/dynamicdns/templates/dynamicdns.html:36
+#: modules/dynamicdns/templates/dynamicdns.html:41
msgid "Failed"
msgstr "Falló"
-#: modules/dynamicdns/templates/dynamicdns.html:52
+#: modules/dynamicdns/templates/dynamicdns.html:57
msgid "No status available."
msgstr "Estado de actualización No disponible."
@@ -2246,7 +2242,7 @@ msgstr "Sala de vídeo"
msgid "XMPP"
msgstr ""
-#: modules/ejabberd/templates/ejabberd.html:18
+#: modules/ejabberd/templates/ejabberd.html:23
#, python-format
msgid ""
"Your XMPP server domain is set to %(domain_name)s. User IDs will look "
@@ -2258,7 +2254,7 @@ msgstr ""
"Puede configurar su dominio en la página del sistema Nombre del servicio."
-#: modules/ejabberd/templates/ejabberd.html:25
+#: modules/ejabberd/templates/ejabberd.html:30
#, python-format
msgid ""
"Your XMPP server domain is not set. You can setup your domain on the system "
@@ -2327,14 +2323,18 @@ msgstr ""
msgid "Postfix/Dovecot"
msgstr "Postfix/Dovecot"
-#: modules/email/__init__.py:83
+#: modules/email/__init__.py:80
+msgid "More emails"
+msgstr ""
+
+#: modules/email/__init__.py:80
+msgid "Same mailbox"
+msgstr ""
+
+#: modules/email/__init__.py:82
msgid "My Email Aliases"
msgstr "Mis alias de correo electrónico"
-#: modules/email/__init__.py:84
-msgid "Manage Aliases for Mailbox"
-msgstr "Administrar Alias para el buzón de correo electronico"
-
#: modules/email/forms.py:25
msgid "Primary domain"
msgstr "Dominio principal"
@@ -2415,47 +2415,103 @@ msgstr "Crear un nuevo alias de correo electrónico"
msgid "Add"
msgstr "Añadir"
-#: modules/email/templates/email.html:10
-msgid "Manage Spam"
-msgstr "Administrar correo no deseado (SPAM)"
-
-#: modules/email/templates/email.html:22
-msgid "DNS Records"
+#: modules/email/templates/email-dns.html:9
+#, fuzzy
+#| msgid "DNS Records"
+msgid "DNS Records for domain:"
msgstr "Registros DNS"
-#: modules/email/templates/email.html:25
+#: modules/email/templates/email-dns.html:12
+#, fuzzy
+#| msgid ""
+#| "The following DNS records must be added manually on your primary domain "
+#| "for the mail server to work properly."
msgid ""
-"The following DNS records must be added manually on your primary domain for "
-"the mail server to work properly."
+"The following DNS records must be added manually on this domain for the mail "
+"server to work properly for this domain."
msgstr ""
"Los siguientes registros DNS deben agregarse manualmente en su Dominio "
"principal para que el servidor de correo funcione correctamente."
-#: modules/email/templates/email.html:36
+#: modules/email/templates/email-dns.html:23
+#: modules/email/templates/email-dns.html:77
msgid "TTL"
msgstr "TTL"
-#: modules/email/templates/email.html:37
+#: modules/email/templates/email-dns.html:24
msgid "Class"
msgstr "Clase"
-#: modules/email/templates/email.html:39
+#: modules/email/templates/email-dns.html:26
msgid "Priority"
msgstr "Prioridad"
-#: modules/email/templates/email.html:40
+#: modules/email/templates/email-dns.html:27
msgid "Weight"
msgstr "Peso/Puntos"
-#: modules/email/templates/email.html:41
+#: modules/email/templates/email-dns.html:28
#: modules/minetest/templates/minetest.html:18
msgid "Port"
msgstr "Puerto"
-#: modules/email/templates/email.html:42
+#: modules/email/templates/email-dns.html:29
+#: modules/email/templates/email-dns.html:79
msgid "Host/Target/Value"
msgstr "Host/Objetivo/Valor"
+#: modules/email/templates/email-dns.html:50
+#, fuzzy
+#| msgid "Server hostname or IP address"
+msgid "Reverse DNS Records for IP Addresses"
+msgstr "Nombre del servidor o dirección IP"
+
+#: modules/email/templates/email-dns.html:53
+#, python-format
+msgid ""
+"If your %(box_name)s runs on a cloud service infrastructure, you should "
+"configure "
+"Reverse DNS lookup. This isn't mandatory, however, it greatly improves "
+"email deliverability. Reverse DNS isn't configured where your regular DNS "
+"is. You should look for it in the settings of your VPS/ISP. Some providers "
+"preconfigure the IP address part for you and you only have to set the domain "
+"part. Only one of your domains can have Revese DNS lookup configured unless "
+"you have multiple public IP addresses."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:66
+msgid ""
+"An external service is used to lookup public IP address to show in the "
+"following section. This can be configured in the privacy app."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:76
+#, fuzzy
+#| msgid "Hostname"
+msgid "Host"
+msgstr "Nombre de anfitrión"
+
+#: modules/email/templates/email.html:10
+msgid "Manage Spam"
+msgstr "Administrar correo no deseado (SPAM)"
+
+#: modules/email/templates/email.html:20 modules/names/manifest.py:11
+#: modules/names/templates/names.html:12
+msgid "Domains"
+msgstr "Dominios"
+
+#: modules/email/templates/email.html:23
+msgid ""
+"The following domains are configured. View details to see the list of DNS "
+"entries to be made for the domain."
+msgstr ""
+
+#: modules/email/templates/email.html:35
+#, fuzzy, python-format
+#| msgid "Resolve domain name: {domain}"
+msgid "View domain: %(domain)s"
+msgstr "Resolver nombre de dominio: {domain}"
+
#: modules/featherwiki/__init__.py:25
#, python-brace-format
msgid ""
@@ -2721,7 +2777,7 @@ msgstr "Puerto {name} ({details}) disponible para redes externas"
msgid "Port {name} ({details}) unavailable for external networks"
msgstr "Puerto {name} ({details}) no disponible para redes externas"
-#: modules/firewall/manifest.py:10 modules/tor/templates/tor.html:20
+#: modules/firewall/manifest.py:10 modules/tor/templates/tor.html:25
msgid "Ports"
msgstr "Puertos"
@@ -3075,9 +3131,9 @@ msgstr "Enviar Comentarios"
msgid "Contribute"
msgstr "Contribuír"
-#: modules/help/__init__.py:53 templates/base.html:215 templates/base.html:218
+#: modules/help/__init__.py:53 templates/base.html:217 templates/base.html:220
#: templates/help-menu.html:46 templates/help-menu.html:47
-#: templates/index.html:98
+#: templates/index.html:96
msgid "About"
msgstr "Acerca de"
@@ -3253,7 +3309,7 @@ msgstr ""
#: modules/help/templates/help_contribute.html:42
#: modules/power/templates/power_restart.html:27
-#: modules/power/templates/power_shutdown.html:26 templates/app-header.html:68
+#: modules/power/templates/power_shutdown.html:26 templates/app-header.html:65
msgid "Learn more..."
msgstr "Aprenda más..."
@@ -3634,7 +3690,7 @@ msgid "Web conference"
msgstr ""
#: modules/janus/templates/janus_video_room.html:205
-#: modules/jsxc/templates/jsxc_launch.html:117 templates/base.html:271
+#: modules/jsxc/templates/jsxc_launch.html:117 templates/base.html:273
msgid "JavaScript license information"
msgstr "Información de licencia de JavaScript"
@@ -4094,7 +4150,7 @@ msgstr ""
"No hay dominios disponibles. Configure al "
"menos un dominio para poder usar Matrix/Synapse."
-#: modules/matrixsynapse/templates/matrix-synapse.html:15
+#: modules/matrixsynapse/templates/matrix-synapse.html:20
#, python-format
msgid ""
"The Matrix server domain is set to %(domain_name)s. User IDs will "
@@ -4105,7 +4161,7 @@ msgstr ""
"usuaria/o será parecida a @username:%(domain_name)s. Actualmente no "
"se puede cambiar el nombre de dominio una vez ha sido configurado."
-#: modules/matrixsynapse/templates/matrix-synapse.html:22
+#: modules/matrixsynapse/templates/matrix-synapse.html:27
msgid ""
"New users can be registered from any client if public registration is "
"enabled."
@@ -4113,7 +4169,7 @@ msgstr ""
"Si el registro público está habilitado se pueden registrar nuevas/os "
"usuarias/os desde cualquier cliente."
-#: modules/matrixsynapse/templates/matrix-synapse.html:29
+#: modules/matrixsynapse/templates/matrix-synapse.html:34
msgid ""
"New users must use one of the following tokens for verification during "
"account registration:"
@@ -4121,31 +4177,31 @@ msgstr ""
"Los nuevos usuarios deben usar uno de los siguientes tokens para la "
"verificación durante el registro de la cuenta:"
-#: modules/matrixsynapse/templates/matrix-synapse.html:38
+#: modules/matrixsynapse/templates/matrix-synapse.html:43
msgid "Registration Token"
msgstr "Registrar un token"
-#: modules/matrixsynapse/templates/matrix-synapse.html:39
+#: modules/matrixsynapse/templates/matrix-synapse.html:44
msgid "Uses Allowed"
msgstr "Usos Permitidos"
-#: modules/matrixsynapse/templates/matrix-synapse.html:40
+#: modules/matrixsynapse/templates/matrix-synapse.html:45
msgid "Pending Registrations"
msgstr "Registros pendientes"
-#: modules/matrixsynapse/templates/matrix-synapse.html:41
+#: modules/matrixsynapse/templates/matrix-synapse.html:46
msgid "Completed Registrations"
msgstr "Registros completados"
-#: modules/matrixsynapse/templates/matrix-synapse.html:42
+#: modules/matrixsynapse/templates/matrix-synapse.html:47
msgid "Expiry Time"
msgstr "Tiempo de expiración"
-#: modules/matrixsynapse/templates/matrix-synapse.html:51
+#: modules/matrixsynapse/templates/matrix-synapse.html:56
msgid "Unlimited"
msgstr "Ilimitado"
-#: modules/matrixsynapse/templates/matrix-synapse.html:80
+#: modules/matrixsynapse/templates/matrix-synapse.html:85
#, python-format
msgid ""
"The configured domain name is using a self-signed certificate. Federation "
@@ -4633,7 +4689,7 @@ msgstr "Contraseña restablecida para: {username}"
msgid "An error occurred during password reset: {error}."
msgstr "Ha habido un error al restablecerla contraseña: {error}."
-#: modules/mumble/__init__.py:25
+#: modules/mumble/__init__.py:27
msgid ""
"Mumble is an open source, low-latency, encrypted, high quality voice chat "
"software."
@@ -4641,7 +4697,7 @@ msgstr ""
"Mumble es un software libre de gran calidad para chat de voz, de baja "
"latencia y con cifrado."
-#: modules/mumble/__init__.py:27
+#: modules/mumble/__init__.py:29
msgid ""
"You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your "
@@ -4651,10 +4707,16 @@ msgstr ""
"disponibles Clientes para conectar desde "
"sus dispositivos de escritorio o móviles."
-#: modules/mumble/__init__.py:45 modules/mumble/manifest.py:9
+#: modules/mumble/__init__.py:47 modules/mumble/manifest.py:9
msgid "Mumble"
msgstr "Mumble"
+#: modules/mumble/__init__.py:158
+#, fuzzy
+#| msgid "Mumble server is running"
+msgid "Mumble server is configured"
+msgstr "El servidor Mumble se está ejecutando"
+
#: modules/mumble/forms.py:30
msgid "Set SuperUser Password"
msgstr "Definir clave para administración"
@@ -4799,10 +4861,6 @@ msgstr ""
"La longitud de cada palabra puede ser de hasta 63 caracteres y la del nombre "
"de dominio de hasta 253."
-#: modules/names/manifest.py:11 modules/names/templates/names.html:12
-msgid "Domains"
-msgstr "Dominios"
-
#: modules/names/manifest.py:13
#, fuzzy
#| msgid "Evolution"
@@ -5395,7 +5453,7 @@ msgstr "Editar conexión"
#: modules/networks/templates/connection_show.html:40
#: modules/wireguard/templates/wireguard_show_client.html:72
#: modules/wireguard/templates/wireguard_show_server.html:73
-#: templates/base.html:165 templates/base.html:166
+#: templates/base.html:167 templates/base.html:168
msgid "Edit"
msgstr "Editar"
@@ -5448,7 +5506,7 @@ msgstr "Interfaz"
#: modules/networks/templates/connection_show.html:107
#: modules/snapshot/templates/snapshot_delete_selected.html:19
-#: modules/snapshot/templates/snapshot_manage.html:29
+#: modules/snapshot/templates/snapshot_manage.html:34
#: modules/snapshot/templates/snapshot_rollback.html:27
msgid "Description"
msgstr "Descripción"
@@ -5526,8 +5584,8 @@ msgstr "Esta conexión no está activa."
#: modules/networks/templates/connection_show.html:264
#: modules/networks/templates/connections_fields_privacy.html:15
-#: modules/openvpn/manifest.py:60 modules/privacy/__init__.py:32
-#: modules/privacy/__init__.py:72 modules/wireguard/manifest.py:45
+#: modules/openvpn/manifest.py:60 modules/privacy/__init__.py:38
+#: modules/privacy/__init__.py:77 modules/wireguard/manifest.py:45
msgid "Privacy"
msgstr "Privacidad"
@@ -5619,7 +5677,7 @@ msgstr "Interna"
msgid "Computer"
msgstr "Ordenador"
-#: modules/networks/templates/connections_edit.html:19
+#: modules/networks/templates/connections_edit.html:24
#: modules/networks/views.py:253 modules/networks/views.py:341
msgid "Edit Connection"
msgstr "Editar conexión"
@@ -5632,7 +5690,7 @@ msgid "Error:"
msgstr "Error"
#: modules/networks/templates/connections_fields.html:20
-#: modules/users/templates/users_update.html:46 templates/messages.html:30
+#: modules/users/templates/users_update.html:51 templates/messages.html:30
msgid "Close"
msgstr "Cerrar"
@@ -5730,7 +5788,7 @@ msgstr "Ajustar..."
#: modules/networks/templates/network_topology_update.html:18
#: modules/networks/templates/router_configuration_update.html:19
#: modules/pagekite/templates/pagekite_custom_services.html:33
-#: modules/sharing/templates/sharing_add_edit.html:20 templates/form.html:19
+#: modules/sharing/templates/sharing_add_edit.html:25 templates/form.html:19
msgid "Submit"
msgstr "Enviar"
@@ -6174,11 +6232,7 @@ msgstr ""
"{box_name} . Las actualizaciones se realizan siguiendo un ciclo "
"independiente."
-#: modules/nextcloud/__init__.py:48
-msgid "This app is experimental."
-msgstr "Esta aplicación es experimental."
-
-#: modules/nextcloud/__init__.py:66 modules/nextcloud/manifest.py:11
+#: modules/nextcloud/__init__.py:65 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
msgid "Nextcloud"
msgstr "Nextcloud"
@@ -6388,7 +6442,7 @@ msgstr ""
msgid "PageKite"
msgstr "PageKite"
-#: modules/pagekite/__init__.py:73
+#: modules/pagekite/__init__.py:72
msgid "PageKite Domain"
msgstr "Dominio PageKite"
@@ -6593,8 +6647,8 @@ msgstr ""
msgid "Shutdown"
msgstr "Apagar"
-#: modules/power/templates/power.html:15 templates/base.html:180
-#: templates/base.html:181
+#: modules/power/templates/power.html:15 templates/base.html:182
+#: templates/base.html:183
msgid "Restart"
msgstr "Reiniciar"
@@ -6636,24 +6690,34 @@ msgstr ""
msgid "Shut Down Now"
msgstr "Apagar ahora"
-#: modules/privacy/__init__.py:15
+#: modules/privacy/__init__.py:21
msgid "Manage system-wide privacy settings."
msgstr "Gestionar la configuración de la privacidad de todo el sistema."
-#: modules/privacy/__init__.py:70
+#: modules/privacy/__init__.py:75
msgid "Please update privacy settings to match your preferences."
msgstr "Por favor, compruebe la configuración de privacidad."
-#: modules/privacy/__init__.py:75
+#: modules/privacy/__init__.py:80
msgid "Review privacy setting"
msgstr "Revisar la configuración de la privacidad"
-#: modules/privacy/forms.py:16
+#: modules/privacy/forms.py:17
+#, python-brace-format
+msgid ""
+"Optional Value. This URL is used to determine the publicly visible IP "
+"address of your {box_name}. The URL should simply return the IPv4 or IPv6 "
+"address where the client request comes from. Default is to use the service "
+"provided by the FreedomBox Foundation at https://ddns.freedombox.org/ip/. If "
+"empty, lookups are disabled and some functionality will fail."
+msgstr ""
+
+#: modules/privacy/forms.py:25
msgid "Periodically submit a list of apps used (suggested)"
msgstr ""
"Presentar periódicamente una lista de las aplicaciones utilizadas (sugerido)"
-#: modules/privacy/forms.py:18
+#: modules/privacy/forms.py:27
#, python-brace-format
msgid ""
"Help Debian/{box_name} developers by participating in the Popularity Contest "
@@ -6671,11 +6735,11 @@ 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."
-#: modules/privacy/forms.py:28
+#: modules/privacy/forms.py:37
msgid "Allow using fallback DNS servers"
msgstr "Permitir el uso de servidores DNS alternativos"
-#: modules/privacy/forms.py:30
+#: modules/privacy/forms.py:39
msgid ""
"Use well-known public DNS servers to resolve domain names in unusual "
"circumstances where no DNS servers are known but internet connectivity is "
@@ -6687,10 +6751,22 @@ msgstr ""
"pero se dispone de conectividad a Internet. Puede desactivarse en la mayoría "
"de los casos si la conectividad de red es estable y fiable."
+#: modules/privacy/forms.py:45
+#, fuzzy
+#| msgid "URL to look up public IP"
+msgid "URL to look up public IP address"
+msgstr "URL para consultar la IP pública"
+
#: modules/privacy/manifest.py:10
msgid "Usage reporting"
msgstr ""
+#: modules/privacy/manifest.py:10
+#, fuzzy
+#| msgid "Standard Services"
+msgid "External services"
+msgstr "Servicios estándar"
+
#: modules/privacy/manifest.py:10
#, fuzzy
#| msgid "Fallback DNS Servers"
@@ -7816,40 +7892,40 @@ msgid "Delete the following snapshots permanently?"
msgstr "¿Eliminar las siguientes instantáneas definitivamente?"
#: modules/snapshot/templates/snapshot_delete_selected.html:17
-#: modules/snapshot/templates/snapshot_manage.html:27
+#: modules/snapshot/templates/snapshot_manage.html:32
#: modules/snapshot/templates/snapshot_rollback.html:25
msgid "Number"
msgstr "Número"
#: modules/snapshot/templates/snapshot_delete_selected.html:18
-#: modules/snapshot/templates/snapshot_manage.html:28
+#: modules/snapshot/templates/snapshot_manage.html:33
#: modules/snapshot/templates/snapshot_rollback.html:26
msgid "Date"
msgstr "Fecha"
#: modules/snapshot/templates/snapshot_delete_selected.html:42
-#: modules/snapshot/templates/snapshot_manage.html:20
+#: modules/snapshot/templates/snapshot_manage.html:25
#: modules/snapshot/views.py:197
msgid "Delete Snapshots"
msgstr "Eliminar instantáneas"
-#: modules/snapshot/templates/snapshot_manage.html:17
+#: modules/snapshot/templates/snapshot_manage.html:22
msgid "Create Snapshot"
msgstr "Crear instantánea"
-#: modules/snapshot/templates/snapshot_manage.html:30
+#: modules/snapshot/templates/snapshot_manage.html:35
msgid "Rollback"
msgstr "Restaurar"
-#: modules/snapshot/templates/snapshot_manage.html:40
+#: modules/snapshot/templates/snapshot_manage.html:45
msgid "will be used at next boot"
msgstr "se usará en el siguiente reinicio"
-#: modules/snapshot/templates/snapshot_manage.html:45
+#: modules/snapshot/templates/snapshot_manage.html:50
msgid "in use"
msgstr "en uso"
-#: modules/snapshot/templates/snapshot_manage.html:54
+#: modules/snapshot/templates/snapshot_manage.html:59
#, python-format
msgid "Rollback to snapshot #%(number)s"
msgstr "Restaurar a instantánea %(number)s"
@@ -8467,27 +8543,27 @@ msgstr ""
msgid "Tor"
msgstr "Tor"
-#: modules/tor/__init__.py:78
+#: modules/tor/__init__.py:77
msgid "Tor Onion Service"
msgstr "Servicio Tor Onion"
-#: modules/tor/__init__.py:82
+#: modules/tor/__init__.py:81
msgid "Tor Bridge Relay"
msgstr "Puente de retransmisión Tor"
-#: modules/tor/__init__.py:140
+#: modules/tor/__init__.py:139
msgid "Tor relay port available"
msgstr "Puerto de servidor Tor disponible"
-#: modules/tor/__init__.py:152
+#: modules/tor/__init__.py:151
msgid "Obfs3 transport registered"
msgstr "Transporte Obfs3 registrado"
-#: modules/tor/__init__.py:163
+#: modules/tor/__init__.py:162
msgid "Obfs4 transport registered"
msgstr "Transporte Obfs4 registrado"
-#: modules/tor/__init__.py:176
+#: modules/tor/__init__.py:175
msgid "Onion service is version 3"
msgstr "Versión 3 para los servicios de Onion"
@@ -8601,7 +8677,7 @@ msgstr "Retransmisión"
msgid "Anonymity network"
msgstr "Red anónima"
-#: modules/tor/templates/tor.html:18
+#: modules/tor/templates/tor.html:23
msgid "Onion Service"
msgstr "Servicio Onion"
@@ -9270,12 +9346,12 @@ msgstr "Usuarias/os"
msgid "Edit user %(username)s"
msgstr "Editar el usuario %(username)s"
-#: modules/users/templates/users_update.html:12
+#: modules/users/templates/users_update.html:17
#, python-format
msgid "Edit User %(username)s"
msgstr "Editar el usuario %(username)s"
-#: modules/users/templates/users_update.html:20
+#: modules/users/templates/users_update.html:25
#, python-format
msgid ""
"Use the change password form to "
@@ -9284,30 +9360,30 @@ msgstr ""
"Use el formulario para cambio de clave "
"de acceso para cambiarla."
-#: modules/users/templates/users_update.html:32
+#: modules/users/templates/users_update.html:37
#: templates/language-selection.html:17
msgid "Save Changes"
msgstr "Guardar cambios"
-#: modules/users/templates/users_update.html:41
+#: modules/users/templates/users_update.html:46
#, fuzzy, python-format
#| msgid "Delete user %(username)s permanently?"
msgid "Delete user %(username)s and all the user's files?"
msgstr "¿Eliminar usuaria/o %(username)s definitivamente?"
-#: modules/users/templates/users_update.html:51
+#: modules/users/templates/users_update.html:56
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
msgstr ""
-#: modules/users/templates/users_update.html:60
+#: modules/users/templates/users_update.html:65
#, fuzzy
#| msgid "Delete files"
msgid "Delete user and files"
msgstr "Eliminar archivos"
-#: modules/users/templates/users_update.html:63
+#: modules/users/templates/users_update.html:68
msgid "Cancel"
msgstr "Cancelar"
@@ -10011,13 +10087,13 @@ msgstr "Instalación"
msgid "Service %(service_name)s is not running."
msgstr "El servidor %(service_name)s no se está ejecutando."
-#: templates/apps.html:29
+#: templates/apps.html:33
#, fuzzy
#| msgid "Search the web"
msgid "Search with tags"
msgstr "Buscar en la web"
-#: templates/apps.html:42
+#: templates/apps.html:46
#, fuzzy
#| msgid "Search the web"
msgid "Clear all tags"
@@ -10032,35 +10108,35 @@ msgstr ""
"propiedad de los datos. Es un software gratuito que te permite instalar y "
"gestionar aplicaciones de un servidor con facilidad."
-#: templates/base.html:116
+#: templates/base.html:118
msgid " Home"
msgstr " Inicio"
-#: templates/base.html:124
+#: templates/base.html:126
msgid " Apps"
msgstr " Aplicaciones"
-#: templates/base.html:133
+#: templates/base.html:135
msgid " System"
msgstr " Sistema"
-#: templates/base.html:172 templates/base.html:173
+#: templates/base.html:174 templates/base.html:175
msgid "Change password"
msgstr "Cambiar clave de acceso"
-#: templates/base.html:186 templates/base.html:187
+#: templates/base.html:188 templates/base.html:189
msgid "Shut down"
msgstr "Apagar"
-#: templates/base.html:197 templates/base.html:235
+#: templates/base.html:199 templates/base.html:237
msgid "Log out"
msgstr "Cerrar sesión"
-#: templates/base.html:206 templates/base.html:209
+#: templates/base.html:208 templates/base.html:211
msgid "Select language"
msgstr "Seleccionar idioma"
-#: templates/base.html:224 templates/base.html:226
+#: templates/base.html:226 templates/base.html:228
msgid "Log in"
msgstr "Iniciar sesión"
@@ -10279,23 +10355,44 @@ msgstr ""
"Todos los datos de la aplicación y la configuración se perderán "
"permanentemente. La aplicación se puede instalar de nuevo."
-#: views.py:85
+#: views.py:84
msgid "Here"
msgstr ""
-#: views.py:374
+#: views.py:376
msgid "Setting unchanged"
msgstr "Configuración sin cambio"
-#: views.py:609
+#: views.py:610
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr "antes de desinstalar {app_id}"
-#: web_framework.py:114
+#: web_framework.py:122
msgid "Gujarati"
msgstr "Gujarati"
+#~ msgid "In 24 hour format."
+#~ msgstr "En formato 24 horas."
+
+#, python-brace-format
+#~ msgid ""
+#~ "Optional Value. If your {box_name} is not connected directly to the "
+#~ "Internet (i.e. connected to a NAT router) this URL is used to determine "
+#~ "the real IP address. The URL should simply return the IP where the client "
+#~ "comes from (example: https://ddns.freedombox.org/ip/)."
+#~ msgstr ""
+#~ "Valor opcional. Si su {box_name} no está conectado directamente a "
+#~ "Internet (p.e. está conectado a un router NAT), esta URL se usará para "
+#~ "obtener su número IP real. La URL debería devolver simplemente el número "
+#~ "IP del cliente (p.ej. https://ddns.freedombox.org/ip/)."
+
+#~ msgid "Manage Aliases for Mailbox"
+#~ msgstr "Administrar Alias para el buzón de correo electronico"
+
+#~ msgid "This app is experimental."
+#~ msgstr "Esta aplicación es experimental."
+
#~ msgid "File & Snippet Sharing"
#~ msgstr "Compartir archivos y recortes"
@@ -11826,9 +11923,6 @@ msgstr "Gujarati"
#~ msgid "You don't have any Custom Services enabled"
#~ msgstr "No tiene ningún servicio personalizado activado"
-#~ msgid "Standard Services"
-#~ msgstr "Servicios estándar"
-
#, fuzzy
#~| msgid ""
#~| "When enabled, Syncthing's web interface will be available from \n"
"Language-Team: Persian
SSH key-based authentication is not yet "
"possible."
msgstr ""
-#: modules/backups/forms.py:273
+#: modules/backups/forms.py:275
msgid "Remote backup repository already exists."
msgstr ""
-#: modules/backups/forms.py:279
+#: modules/backups/forms.py:281
msgid "Select verified SSH public key"
msgstr ""
#: modules/backups/manifest.py:14
#: modules/backups/templates/backups_repository.html:92
#: modules/backups/templates/backups_restore.html:27
-#: modules/backups/views.py:240 modules/snapshot/manifest.py:14
+#: modules/backups/views.py:238 modules/snapshot/manifest.py:14
#: templates/toolbar.html:44 templates/toolbar.html:45
msgid "Restore"
msgstr ""
@@ -550,17 +552,21 @@ msgstr ""
msgid "Backup system is busy with another operation."
msgstr ""
+#: modules/backups/privileged.py:92
+msgid "Not enough space left on the disk or remote location."
+msgstr ""
+
#: modules/backups/repository.py:94
msgid "Existing repository is not encrypted."
msgstr ""
-#: modules/backups/repository.py:266
+#: modules/backups/repository.py:289
#, fuzzy, python-brace-format
#| msgid "{box_name} Manual"
msgid "{box_name} storage"
msgstr "کتاب راهنمای {box_name}"
-#: modules/backups/templates/backups.html:17 modules/backups/views.py:125
+#: modules/backups/templates/backups.html:17 modules/backups/views.py:124
#, fuzzy
#| msgid "Create Connection"
msgid "Create a new backup"
@@ -616,10 +622,9 @@ msgstr ""
#: modules/help/templates/statuslog.html:24
#: modules/kiwix/templates/kiwix-add-package.html:26
#: modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:28
-#: modules/matrixsynapse/templates/matrix-synapse.html:76
+#: modules/matrixsynapse/templates/matrix-synapse.html:81
#: modules/names/templates/names.html:128
#: modules/networks/templates/connection_show.html:24
-#: modules/nextcloud/__init__.py:48
#: modules/pagekite/templates/pagekite_custom_services.html:16
#: modules/power/templates/power_busy_warning.html:11
#: modules/snapshot/templates/snapshot_not_supported.html:13
@@ -775,121 +780,121 @@ msgstr ""
msgid "Verify Host"
msgstr ""
-#: modules/backups/views.py:69
+#: modules/backups/views.py:68
msgid "Backup schedule updated."
msgstr ""
-#: modules/backups/views.py:88
+#: modules/backups/views.py:87
#, fuzzy
#| msgid "Create Connection"
msgid "Schedule Backups"
msgstr "ساختن اتصال"
-#: modules/backups/views.py:150
+#: modules/backups/views.py:148
msgid "Archive created."
msgstr ""
-#: modules/backups/views.py:162
+#: modules/backups/views.py:160
#, fuzzy
#| msgid "Delete"
msgid "Delete Archive"
msgstr "پاککردن"
-#: modules/backups/views.py:175
+#: modules/backups/views.py:173
#, fuzzy
#| msgid "{name} deleted."
msgid "Archive deleted."
msgstr "{name} پاک شد."
-#: modules/backups/views.py:189
+#: modules/backups/views.py:187
msgid "Upload and restore a backup"
msgstr ""
-#: modules/backups/views.py:218
+#: modules/backups/views.py:216
#, fuzzy
#| msgid "Partition expanded successfully."
msgid "Upload successful."
msgstr "پارتیشن با موفقیت بزرگ شد."
-#: modules/backups/views.py:256
+#: modules/backups/views.py:254
msgid "No backup file found."
msgstr ""
-#: modules/backups/views.py:264
+#: modules/backups/views.py:262
msgid "Restore from uploaded file"
msgstr ""
-#: modules/backups/views.py:278 modules/backups/views.py:299
+#: modules/backups/views.py:276 modules/backups/views.py:297
msgid "Restored files from backup."
msgstr ""
-#: modules/backups/views.py:329
+#: modules/backups/views.py:327
msgid "No additional disks available to add a repository."
msgstr ""
-#: modules/backups/views.py:337
+#: modules/backups/views.py:335
#, fuzzy
#| msgid "Create Connection"
msgid "Create backup repository"
msgstr "ساختن اتصال"
-#: modules/backups/views.py:352
+#: modules/backups/views.py:350
#, fuzzy
#| msgid "Create Connection"
msgid "Added new repository."
msgstr "ساختن اتصال"
-#: modules/backups/views.py:366
+#: modules/backups/views.py:364
msgid "Create remote backup repository"
msgstr ""
-#: modules/backups/views.py:388
+#: modules/backups/views.py:386
msgid "Added new remote SSH repository."
msgstr ""
-#: modules/backups/views.py:410
+#: modules/backups/views.py:408
msgid "Verify SSH hostkey"
msgstr ""
-#: modules/backups/views.py:436
+#: modules/backups/views.py:434
msgid "SSH host already verified."
msgstr ""
-#: modules/backups/views.py:447
+#: modules/backups/views.py:445
msgid "SSH host verified."
msgstr ""
-#: modules/backups/views.py:463
+#: modules/backups/views.py:461
msgid "SSH host public key could not be verified."
msgstr ""
-#: modules/backups/views.py:465
+#: modules/backups/views.py:463
msgid "Authentication to remote server failed."
msgstr ""
-#: modules/backups/views.py:467
+#: modules/backups/views.py:465
#, fuzzy
#| msgid "Error installing application: {error}"
msgid "Error establishing connection to server: {}"
msgstr "خطا هنگام نصب برنامه: {error}"
-#: modules/backups/views.py:478
+#: modules/backups/views.py:476
msgid "Repository removed."
msgstr ""
-#: modules/backups/views.py:492
+#: modules/backups/views.py:490
msgid "Remove Repository"
msgstr ""
-#: modules/backups/views.py:502
+#: modules/backups/views.py:500
msgid "Repository removed. Backups were not deleted."
msgstr ""
-#: modules/backups/views.py:513
+#: modules/backups/views.py:511
msgid "Unmounting failed!"
msgstr ""
-#: modules/backups/views.py:529 modules/backups/views.py:533
+#: modules/backups/views.py:527 modules/backups/views.py:531
msgid "Mounting failed"
msgstr ""
@@ -1006,7 +1011,7 @@ msgstr "رمز را نشان بده"
msgid "No passwords currently configured."
msgstr ""
-#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:91
+#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:83
#: modules/miniflux/forms.py:14 modules/networks/forms.py:282
#: modules/shadowsocks/forms.py:32 modules/shadowsocksserver/forms.py:37
msgid "Password"
@@ -1138,8 +1143,10 @@ msgstr ""
msgid "Serving Domains"
msgstr "دامنههای افزودهشده"
-#: modules/bind/templates/bind.html:17 modules/email/templates/email.html:38
-#: modules/ikiwiki/forms.py:12 modules/names/templates/names.html:18
+#: modules/bind/templates/bind.html:17
+#: modules/email/templates/email-dns.html:25
+#: modules/email/templates/email-dns.html:78 modules/ikiwiki/forms.py:12
+#: modules/names/templates/names.html:18
#: modules/networks/templates/connection_show.html:95
#: modules/samba/templates/samba.html:65
#: modules/storage/templates/storage.html:26
@@ -1175,7 +1182,7 @@ msgstr ""
#: modules/minetest/views.py:55 modules/mumble/views.py:37
#: modules/names/views.py:66 modules/names/views.py:95
#: modules/names/views.py:129 modules/pagekite/forms.py:74
-#: modules/privacy/views.py:50 modules/quassel/views.py:29
+#: modules/privacy/views.py:55 modules/quassel/views.py:29
#: modules/roundcube/views.py:32 modules/rssbridge/views.py:31
#: modules/shadowsocks/views.py:52 modules/shadowsocksserver/views.py:48
#: modules/ssh/views.py:62 modules/transmission/views.py:43
@@ -1839,7 +1846,7 @@ msgid "Test"
msgstr "آزمون"
#: modules/diagnostics/templates/diagnostics_results.html:12
-#: modules/dynamicdns/templates/dynamicdns.html:20
+#: modules/dynamicdns/templates/dynamicdns.html:25
msgid "Result"
msgstr "نتیجهها"
@@ -1852,7 +1859,7 @@ msgstr "آزمون عیبیابی"
msgid "App {app_id} is not installed, cannot repair"
msgstr ""
-#: modules/dynamicdns/__init__.py:28
+#: modules/dynamicdns/__init__.py:29
#, python-brace-format
msgid ""
"If your Internet provider changes your IP address periodically (i.e. every "
@@ -1863,7 +1870,7 @@ msgstr ""
"میدهد، دیگران نمیتوانند شما را به راحتی در اینترنت پیدا کنند. این باعث میشود "
"که دیگران نتوانند سرویسهایی را که {box_name} شما ارائه میدهد پیدا کنند."
-#: modules/dynamicdns/__init__.py:32
+#: modules/dynamicdns/__init__.py:33
msgid ""
"The solution is to assign a DNS name to your IP address and update the DNS "
"name every time your IP is changed by your Internet provider. Dynamic DNS "
@@ -1880,7 +1887,7 @@ msgstr ""
"نام DNS شما را به نشانی IP شما مرتبط میکند، و اگر کسی در اینترنت نام DNS شما "
"را جستجو کرد، نشانی IP شما را در پاسخ خواهد گرفت."
-#: modules/dynamicdns/__init__.py:40
+#: modules/dynamicdns/__init__.py:41
#, fuzzy
#| msgid ""
#| "If you are looking for a free dynamic DNS account, you may find a free "
@@ -1899,12 +1906,18 @@ msgstr ""
"datasystems24.net
SSH key-based authentication is not yet "
"possible."
msgstr ""
-#: modules/backups/forms.py:273
+#: modules/backups/forms.py:275
msgid "Remote backup repository already exists."
msgstr ""
-#: modules/backups/forms.py:279
+#: modules/backups/forms.py:281
msgid "Select verified SSH public key"
msgstr ""
#: modules/backups/manifest.py:14
#: modules/backups/templates/backups_repository.html:92
#: modules/backups/templates/backups_restore.html:27
-#: modules/backups/views.py:240 modules/snapshot/manifest.py:14
+#: modules/backups/views.py:238 modules/snapshot/manifest.py:14
#: templates/toolbar.html:44 templates/toolbar.html:45
#, fuzzy
#| msgid "reStore"
@@ -569,17 +571,21 @@ msgstr ""
msgid "Backup system is busy with another operation."
msgstr ""
+#: modules/backups/privileged.py:92
+msgid "Not enough space left on the disk or remote location."
+msgstr ""
+
#: modules/backups/repository.py:94
msgid "Existing repository is not encrypted."
msgstr ""
-#: modules/backups/repository.py:266
+#: modules/backups/repository.py:289
#, fuzzy, python-brace-format
#| msgid "{box_name} Manual"
msgid "{box_name} storage"
msgstr "{box_name} MANUAL"
-#: modules/backups/templates/backups.html:17 modules/backups/views.py:125
+#: modules/backups/templates/backups.html:17 modules/backups/views.py:124
#, fuzzy
#| msgid "PageKite Account"
msgid "Create a new backup"
@@ -639,10 +645,9 @@ msgstr "EXISTING CUSTOM SERVICES"
#: modules/help/templates/statuslog.html:24
#: modules/kiwix/templates/kiwix-add-package.html:26
#: modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:28
-#: modules/matrixsynapse/templates/matrix-synapse.html:76
+#: modules/matrixsynapse/templates/matrix-synapse.html:81
#: modules/names/templates/names.html:128
#: modules/networks/templates/connection_show.html:24
-#: modules/nextcloud/__init__.py:48
#: modules/pagekite/templates/pagekite_custom_services.html:16
#: modules/power/templates/power_busy_warning.html:11
#: modules/snapshot/templates/snapshot_not_supported.html:13
@@ -804,125 +809,125 @@ msgstr ""
msgid "Verify Host"
msgstr ""
-#: modules/backups/views.py:69
+#: modules/backups/views.py:68
msgid "Backup schedule updated."
msgstr ""
-#: modules/backups/views.py:88
+#: modules/backups/views.py:87
#, fuzzy
#| msgid "PageKite Account"
msgid "Schedule Backups"
msgstr "PAGEKITE ACCOUNT"
-#: modules/backups/views.py:150
+#: modules/backups/views.py:148
msgid "Archive created."
msgstr ""
-#: modules/backups/views.py:162
+#: modules/backups/views.py:160
#, fuzzy
#| msgid "Delete"
msgid "Delete Archive"
msgstr "DELETE"
-#: modules/backups/views.py:175
+#: modules/backups/views.py:173
#, fuzzy
#| msgid "{name} deleted."
msgid "Archive deleted."
msgstr "{name} DELETED."
-#: modules/backups/views.py:189
+#: modules/backups/views.py:187
msgid "Upload and restore a backup"
msgstr ""
-#: modules/backups/views.py:218
+#: modules/backups/views.py:216
#, fuzzy
#| msgid "Password changed successfully."
msgid "Upload successful."
msgstr "PASSWORD CHANGED SUCCESSFULLY."
-#: modules/backups/views.py:256
+#: modules/backups/views.py:254
msgid "No backup file found."
msgstr ""
-#: modules/backups/views.py:264
+#: modules/backups/views.py:262
msgid "Restore from uploaded file"
msgstr ""
-#: modules/backups/views.py:278 modules/backups/views.py:299
+#: modules/backups/views.py:276 modules/backups/views.py:297
msgid "Restored files from backup."
msgstr ""
-#: modules/backups/views.py:329
+#: modules/backups/views.py:327
msgid "No additional disks available to add a repository."
msgstr ""
-#: modules/backups/views.py:337
+#: modules/backups/views.py:335
#, fuzzy
#| msgid "Create User"
msgid "Create backup repository"
msgstr "CREATE USER"
-#: modules/backups/views.py:352
+#: modules/backups/views.py:350
#, fuzzy
#| msgid "Create User"
msgid "Added new repository."
msgstr "CREATE USER"
-#: modules/backups/views.py:366
+#: modules/backups/views.py:364
msgid "Create remote backup repository"
msgstr ""
-#: modules/backups/views.py:388
+#: modules/backups/views.py:386
#, fuzzy
#| msgid "Create User"
msgid "Added new remote SSH repository."
msgstr "CREATE USER"
-#: modules/backups/views.py:410
+#: modules/backups/views.py:408
msgid "Verify SSH hostkey"
msgstr ""
-#: modules/backups/views.py:436
+#: modules/backups/views.py:434
msgid "SSH host already verified."
msgstr ""
-#: modules/backups/views.py:447
+#: modules/backups/views.py:445
msgid "SSH host verified."
msgstr ""
-#: modules/backups/views.py:463
+#: modules/backups/views.py:461
msgid "SSH host public key could not be verified."
msgstr ""
-#: modules/backups/views.py:465
+#: modules/backups/views.py:463
msgid "Authentication to remote server failed."
msgstr ""
-#: modules/backups/views.py:467
+#: modules/backups/views.py:465
#, fuzzy
#| msgid "Error installing packages: {string} {details}"
msgid "Error establishing connection to server: {}"
msgstr "ERROR INSTALLING PACKAGES: {string} {details}"
-#: modules/backups/views.py:478
+#: modules/backups/views.py:476
#, fuzzy
#| msgid "packages not found"
msgid "Repository removed."
msgstr "PACKAGES NOT FOUND"
-#: modules/backups/views.py:492
+#: modules/backups/views.py:490
msgid "Remove Repository"
msgstr ""
-#: modules/backups/views.py:502
+#: modules/backups/views.py:500
msgid "Repository removed. Backups were not deleted."
msgstr ""
-#: modules/backups/views.py:513
+#: modules/backups/views.py:511
msgid "Unmounting failed!"
msgstr ""
-#: modules/backups/views.py:529 modules/backups/views.py:533
+#: modules/backups/views.py:527 modules/backups/views.py:531
msgid "Mounting failed"
msgstr ""
@@ -1043,7 +1048,7 @@ msgstr "SHOW PASSWORD"
msgid "No passwords currently configured."
msgstr ""
-#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:91
+#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:83
#: modules/miniflux/forms.py:14 modules/networks/forms.py:282
#: modules/shadowsocks/forms.py:32 modules/shadowsocksserver/forms.py:37
msgid "Password"
@@ -1179,8 +1184,10 @@ msgstr ""
msgid "Serving Domains"
msgstr "SERVER DOMAIN"
-#: modules/bind/templates/bind.html:17 modules/email/templates/email.html:38
-#: modules/ikiwiki/forms.py:12 modules/names/templates/names.html:18
+#: modules/bind/templates/bind.html:17
+#: modules/email/templates/email-dns.html:25
+#: modules/email/templates/email-dns.html:78 modules/ikiwiki/forms.py:12
+#: modules/names/templates/names.html:18
#: modules/networks/templates/connection_show.html:95
#: modules/samba/templates/samba.html:65
#: modules/storage/templates/storage.html:26
@@ -1216,7 +1223,7 @@ msgstr ""
#: modules/minetest/views.py:55 modules/mumble/views.py:37
#: modules/names/views.py:66 modules/names/views.py:95
#: modules/names/views.py:129 modules/pagekite/forms.py:74
-#: modules/privacy/views.py:50 modules/quassel/views.py:29
+#: modules/privacy/views.py:55 modules/quassel/views.py:29
#: modules/roundcube/views.py:32 modules/rssbridge/views.py:31
#: modules/shadowsocks/views.py:52 modules/shadowsocksserver/views.py:48
#: modules/ssh/views.py:62 modules/transmission/views.py:43
@@ -1900,7 +1907,7 @@ msgid "Test"
msgstr "TEST"
#: modules/diagnostics/templates/diagnostics_results.html:12
-#: modules/dynamicdns/templates/dynamicdns.html:20
+#: modules/dynamicdns/templates/dynamicdns.html:25
msgid "Result"
msgstr "RESULT"
@@ -1913,7 +1920,7 @@ msgstr "DIAGNOSTIC TEST"
msgid "App {app_id} is not installed, cannot repair"
msgstr ""
-#: modules/dynamicdns/__init__.py:28
+#: modules/dynamicdns/__init__.py:29
#, fuzzy, python-brace-format
#| msgid ""
#| "If your internet provider changes your IP address periodic (i.e. every "
@@ -1929,7 +1936,7 @@ msgstr ""
"IT MAY BE HARD FOR OTHERS TO FIND YOU IN THE WEB. AND FOR THIS REASON NOBODY "
"MAY FIND THE SERVICES WHICH ARE PROVIDED BY %(box_name)s, SUCH AS OWNCLOUD."
-#: modules/dynamicdns/__init__.py:32
+#: modules/dynamicdns/__init__.py:33
#, fuzzy
#| msgid ""
#| "The solution is to assign a DNS name to your IP address and update the "
@@ -1955,7 +1962,7 @@ msgstr ""
"THE SERVER WILL ASSIGN YOUR DNS NAME WITH THE NEW IP AND IF SOMEONE FROM THE "
"INTERNET ASKS FOR YOUR DNS NAME HE WILL GET YOUR CURRENT IP ANSWERED."
-#: modules/dynamicdns/__init__.py:40
+#: modules/dynamicdns/__init__.py:41
#, fuzzy
#| msgid ""
#| "If you are looking for a free dynamic DNS account, you may find a free "
@@ -1975,11 +1982,17 @@ msgstr ""
"BASED SERVICES ON "
"FREEDNS.AFRAID.ORG."
-#: modules/dynamicdns/__init__.py:61
+#: modules/dynamicdns/__init__.py:46
+msgid ""
+"This service uses an external service to lookup public IP address. This can "
+"be configured in the privacy app."
+msgstr ""
+
+#: modules/dynamicdns/__init__.py:64
msgid "Dynamic DNS Client"
msgstr "DYNAMIC DNS CLIENT"
-#: modules/dynamicdns/__init__.py:75
+#: modules/dynamicdns/__init__.py:78
#, fuzzy
#| msgid "Domain Name"
msgid "Dynamic Domain Name"
@@ -2046,99 +2059,77 @@ msgstr ""
"LEAVE THIS FIELD EMPTY IF YOU WANT TO KEEP YOUR PREVIOUS CONFIGURED PASSWORD."
#: modules/dynamicdns/forms.py:43
-#, fuzzy, python-brace-format
-#| msgid ""
-#| "Optional Value. If your {box_name} is not connected directly to the "
-#| "Internet (i.e. connected to a NAT router) this URL is used to figure out "
-#| "the real Internet IP. The URL should simply return the IP where the "
-#| "client comes from (example: http://myip.datasystems24.de)."
-msgid ""
-"Optional Value. If your {box_name} is not connected directly to the Internet "
-"(i.e. connected to a NAT router) this URL is used to determine the real IP "
-"address. The URL should simply return the IP where the client comes from "
-"(example: https://ddns.freedombox.org/ip/)."
-msgstr ""
-"OPTIONAL VALUE. IF YOUR {box_name} IS NOT CONNECTED DIRECTLY TO THE INTERNET "
-"(I.E. CONNECTED TO A NAT ROUTER) THIS URL IS USED TO FIGURE OUT THE REAL "
-"INTERNET IP. THE URL SHOULD SIMPLY RETURN THE IP WHERE THE CLIENT COMES FROM "
-"(EXAMPLE: HTTP://MYIP.DATASYSTEMS24.DE)."
-
-#: modules/dynamicdns/forms.py:51
msgid "The username that was used when the account was created."
msgstr ""
-#: modules/dynamicdns/forms.py:54
+#: modules/dynamicdns/forms.py:46
msgid "GnuDIP"
msgstr ""
-#: modules/dynamicdns/forms.py:57
+#: modules/dynamicdns/forms.py:49
#, fuzzy
#| msgid "Update URL"
msgid "Other update URL"
msgstr "UPDATE URL"
-#: modules/dynamicdns/forms.py:59
+#: modules/dynamicdns/forms.py:51
#, fuzzy
#| msgid "Service type"
msgid "Service Type"
msgstr "SERVICE TYPE"
-#: modules/dynamicdns/forms.py:64
+#: modules/dynamicdns/forms.py:56
#, fuzzy
#| msgid "GnudIP Server Address"
msgid "GnuDIP Server Address"
msgstr "GNUDIP SERVER ADDRESS"
-#: modules/dynamicdns/forms.py:67
+#: modules/dynamicdns/forms.py:59
msgid "Invalid server name"
msgstr "INVALID SERVER NAME"
-#: modules/dynamicdns/forms.py:70
+#: modules/dynamicdns/forms.py:62
msgid "Update URL"
msgstr "UPDATE URL"
-#: modules/dynamicdns/forms.py:74
+#: modules/dynamicdns/forms.py:66
msgid "Accept all SSL certificates"
msgstr "ACCEPT ALL SSL CERTIFICATES"
-#: modules/dynamicdns/forms.py:78
+#: modules/dynamicdns/forms.py:70
msgid "Use HTTP basic authentication"
msgstr "USE HTTP BASIC AUTHENTICATION"
-#: modules/dynamicdns/forms.py:82 modules/names/__init__.py:68
+#: modules/dynamicdns/forms.py:74 modules/names/__init__.py:68
#: modules/names/forms.py:106 modules/names/templates/names.html:19
msgid "Domain Name"
msgstr "DOMAIN NAME"
-#: modules/dynamicdns/forms.py:85 modules/names/forms.py:99
+#: modules/dynamicdns/forms.py:77 modules/names/forms.py:99
#: modules/names/forms.py:117
msgid "Invalid domain name"
msgstr "INVALID DOMAIN NAME"
-#: modules/dynamicdns/forms.py:88 modules/miniflux/forms.py:11
+#: modules/dynamicdns/forms.py:80 modules/miniflux/forms.py:11
#: modules/networks/forms.py:281 modules/users/forms.py:130
msgid "Username"
msgstr "USERNAME"
-#: modules/dynamicdns/forms.py:95 modules/networks/forms.py:284
+#: modules/dynamicdns/forms.py:87 modules/networks/forms.py:284
msgid "Show password"
msgstr "SHOW PASSWORD"
-#: modules/dynamicdns/forms.py:99
-msgid "URL to look up public IP"
-msgstr ""
-
-#: modules/dynamicdns/forms.py:104
+#: modules/dynamicdns/forms.py:91
msgid "Use IPv6 instead of IPv4"
msgstr ""
-#: modules/dynamicdns/forms.py:123
+#: modules/dynamicdns/forms.py:110
msgid "This field is required."
msgstr ""
#: modules/dynamicdns/manifest.py:17
-#: modules/dynamicdns/templates/dynamicdns.html:18
-#: modules/email/templates/email.html:35
+#: modules/dynamicdns/templates/dynamicdns.html:23
+#: modules/email/templates/email-dns.html:22
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64
msgid "Domain"
@@ -2154,43 +2145,43 @@ msgstr ""
msgid "Needs public IP"
msgstr "SERVER PORT"
-#: modules/dynamicdns/templates/dynamicdns.html:11
-#: modules/ejabberd/templates/ejabberd.html:13 modules/firewall/manifest.py:10
+#: modules/dynamicdns/templates/dynamicdns.html:16
+#: modules/ejabberd/templates/ejabberd.html:18 modules/firewall/manifest.py:10
#: modules/firewall/templates/firewall.html:16
#: modules/firewall/templates/firewall.html:22
#: modules/letsencrypt/templates/letsencrypt.html:17
-#: modules/matrixsynapse/templates/matrix-synapse.html:12
+#: modules/matrixsynapse/templates/matrix-synapse.html:17
#: modules/networks/templates/connection_show.html:258
-#: modules/samba/templates/samba.html:67 modules/tor/templates/tor.html:19
+#: modules/samba/templates/samba.html:67 modules/tor/templates/tor.html:24
#: modules/upgrades/templates/upgrades_configure.html:14
#: modules/wireguard/templates/wireguard_show_client.html:48
#: modules/wireguard/templates/wireguard_show_server.html:47
msgid "Status"
msgstr "STATUS"
-#: modules/dynamicdns/templates/dynamicdns.html:19
+#: modules/dynamicdns/templates/dynamicdns.html:24
msgid "Last update"
msgstr "LAST UPDATE"
-#: modules/dynamicdns/templates/dynamicdns.html:21
+#: modules/dynamicdns/templates/dynamicdns.html:26
#, fuzzy
#| msgid "IP address"
msgid "IP Address"
msgstr "IP ADDRESS"
-#: modules/dynamicdns/templates/dynamicdns.html:32
+#: modules/dynamicdns/templates/dynamicdns.html:37
#, fuzzy
#| msgid "Publish Key"
msgid "Success"
msgstr "PUBLISH KEY"
-#: modules/dynamicdns/templates/dynamicdns.html:36
+#: modules/dynamicdns/templates/dynamicdns.html:41
#, fuzzy
#| msgid "Setup failed."
msgid "Failed"
msgstr "SETUP FAILED."
-#: modules/dynamicdns/templates/dynamicdns.html:52
+#: modules/dynamicdns/templates/dynamicdns.html:57
#, fuzzy
#| msgid "Tor relay port available"
msgid "No status available."
@@ -2363,7 +2354,7 @@ msgstr ""
msgid "XMPP"
msgstr ""
-#: modules/ejabberd/templates/ejabberd.html:18
+#: modules/ejabberd/templates/ejabberd.html:23
#, fuzzy, python-format
#| msgid ""
#| "Your XMPP server domain is set to %(domainname)s. User IDs will "
@@ -2378,7 +2369,7 @@ msgstr ""
"LIKE USERNAME@%(domainname)s. YOU CAN SETUP YOUR DOMAIN ON THE SYSTEM "
"CONFIGURE PAGE."
-#: modules/ejabberd/templates/ejabberd.html:25
+#: modules/ejabberd/templates/ejabberd.html:30
#, fuzzy, python-format
#| msgid ""
#| "Your XMPP server domain is set to %(domainname)s. User IDs will "
@@ -2433,18 +2424,20 @@ msgstr ""
msgid "Postfix/Dovecot"
msgstr ""
-#: modules/email/__init__.py:83
+#: modules/email/__init__.py:80
+msgid "More emails"
+msgstr ""
+
+#: modules/email/__init__.py:80
+msgid "Same mailbox"
+msgstr ""
+
+#: modules/email/__init__.py:82
#, fuzzy
#| msgid "Create User"
msgid "My Email Aliases"
msgstr "CREATE USER"
-#: modules/email/__init__.py:84
-#, fuzzy
-#| msgid "Create User"
-msgid "Manage Aliases for Mailbox"
-msgstr "CREATE USER"
-
#: modules/email/forms.py:25
#, fuzzy
#| msgid "Primary connection"
@@ -2535,45 +2528,96 @@ msgstr "PAGEKITE ACCOUNT"
msgid "Add"
msgstr "ADDRESS"
+#: modules/email/templates/email-dns.html:9
+#, fuzzy
+#| msgid "Server domain"
+msgid "DNS Records for domain:"
+msgstr "SERVER DOMAIN"
+
+#: modules/email/templates/email-dns.html:12
+msgid ""
+"The following DNS records must be added manually on this domain for the mail "
+"server to work properly for this domain."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:23
+#: modules/email/templates/email-dns.html:77
+msgid "TTL"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:24
+msgid "Class"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:26
+msgid "Priority"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:27
+msgid "Weight"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:28
+#: modules/minetest/templates/minetest.html:18
+msgid "Port"
+msgstr "PORT"
+
+#: modules/email/templates/email-dns.html:29
+#: modules/email/templates/email-dns.html:79
+msgid "Host/Target/Value"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:50
+msgid "Reverse DNS Records for IP Addresses"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:53
+#, python-format
+msgid ""
+"If your %(box_name)s runs on a cloud service infrastructure, you should "
+"configure "
+"Reverse DNS lookup. This isn't mandatory, however, it greatly improves "
+"email deliverability. Reverse DNS isn't configured where your regular DNS "
+"is. You should look for it in the settings of your VPS/ISP. Some providers "
+"preconfigure the IP address part for you and you only have to set the domain "
+"part. Only one of your domains can have Revese DNS lookup configured unless "
+"you have multiple public IP addresses."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:66
+msgid ""
+"An external service is used to lookup public IP address to show in the "
+"following section. This can be configured in the privacy app."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:76
+#, fuzzy
+#| msgid "Hostname"
+msgid "Host"
+msgstr "HOSTNAME"
+
#: modules/email/templates/email.html:10
#, fuzzy
#| msgid "Create User"
msgid "Manage Spam"
msgstr "CREATE USER"
-#: modules/email/templates/email.html:22
-msgid "DNS Records"
-msgstr ""
+#: modules/email/templates/email.html:20 modules/names/manifest.py:11
+#: modules/names/templates/names.html:12
+#, fuzzy
+#| msgid "Domain"
+msgid "Domains"
+msgstr "DOMAIN"
-#: modules/email/templates/email.html:25
+#: modules/email/templates/email.html:23
msgid ""
-"The following DNS records must be added manually on your primary domain for "
-"the mail server to work properly."
+"The following domains are configured. View details to see the list of DNS "
+"entries to be made for the domain."
msgstr ""
-#: modules/email/templates/email.html:36
-msgid "TTL"
-msgstr ""
-
-#: modules/email/templates/email.html:37
-msgid "Class"
-msgstr ""
-
-#: modules/email/templates/email.html:39
-msgid "Priority"
-msgstr ""
-
-#: modules/email/templates/email.html:40
-msgid "Weight"
-msgstr ""
-
-#: modules/email/templates/email.html:41
-#: modules/minetest/templates/minetest.html:18
-msgid "Port"
-msgstr "PORT"
-
-#: modules/email/templates/email.html:42
-msgid "Host/Target/Value"
+#: modules/email/templates/email.html:35
+#, python-format
+msgid "View domain: %(domain)s"
msgstr ""
#: modules/featherwiki/__init__.py:25
@@ -2864,7 +2908,7 @@ msgstr "SERVICE DISCOVERY SERVER IS NOT RUNNING"
msgid "Port {name} ({details}) unavailable for external networks"
msgstr ""
-#: modules/firewall/manifest.py:10 modules/tor/templates/tor.html:20
+#: modules/firewall/manifest.py:10 modules/tor/templates/tor.html:25
#, fuzzy
#| msgid "Port"
msgid "Ports"
@@ -3241,9 +3285,9 @@ msgstr ""
msgid "Contribute"
msgstr ""
-#: modules/help/__init__.py:53 templates/base.html:215 templates/base.html:218
+#: modules/help/__init__.py:53 templates/base.html:217 templates/base.html:220
#: templates/help-menu.html:46 templates/help-menu.html:47
-#: templates/index.html:98
+#: templates/index.html:96
msgid "About"
msgstr "ABOUT"
@@ -3398,7 +3442,7 @@ msgstr ""
#: modules/help/templates/help_contribute.html:42
#: modules/power/templates/power_restart.html:27
-#: modules/power/templates/power_shutdown.html:26 templates/app-header.html:68
+#: modules/power/templates/power_shutdown.html:26 templates/app-header.html:65
#, fuzzy
#| msgid "Learn more »"
msgid "Learn more..."
@@ -3755,7 +3799,7 @@ msgid "Web conference"
msgstr ""
#: modules/janus/templates/janus_video_room.html:205
-#: modules/jsxc/templates/jsxc_launch.html:117 templates/base.html:271
+#: modules/jsxc/templates/jsxc_launch.html:117 templates/base.html:273
msgid "JavaScript license information"
msgstr ""
@@ -4184,7 +4228,7 @@ msgid ""
"least one domain to be able to use Matrix Synapse."
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:15
+#: modules/matrixsynapse/templates/matrix-synapse.html:20
#, fuzzy, python-format
#| msgid ""
#| "Your XMPP server domain is set to %(domainname)s. User IDs will "
@@ -4199,49 +4243,49 @@ msgstr ""
"LIKE USERNAME@%(domainname)s. YOU CAN SETUP YOUR DOMAIN ON THE SYSTEM "
"CONFIGURE PAGE."
-#: modules/matrixsynapse/templates/matrix-synapse.html:22
+#: modules/matrixsynapse/templates/matrix-synapse.html:27
msgid ""
"New users can be registered from any client if public registration is "
"enabled."
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:29
+#: modules/matrixsynapse/templates/matrix-synapse.html:34
msgid ""
"New users must use one of the following tokens for verification during "
"account registration:"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:38
+#: modules/matrixsynapse/templates/matrix-synapse.html:43
#, fuzzy
#| msgid "Applications"
msgid "Registration Token"
msgstr "APPLICATIONS"
-#: modules/matrixsynapse/templates/matrix-synapse.html:39
+#: modules/matrixsynapse/templates/matrix-synapse.html:44
msgid "Uses Allowed"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:40
+#: modules/matrixsynapse/templates/matrix-synapse.html:45
#, fuzzy
#| msgid "Applications"
msgid "Pending Registrations"
msgstr "APPLICATIONS"
-#: modules/matrixsynapse/templates/matrix-synapse.html:41
+#: modules/matrixsynapse/templates/matrix-synapse.html:46
#, fuzzy
#| msgid "Applications"
msgid "Completed Registrations"
msgstr "APPLICATIONS"
-#: modules/matrixsynapse/templates/matrix-synapse.html:42
+#: modules/matrixsynapse/templates/matrix-synapse.html:47
msgid "Expiry Time"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:51
+#: modules/matrixsynapse/templates/matrix-synapse.html:56
msgid "Unlimited"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:80
+#: modules/matrixsynapse/templates/matrix-synapse.html:85
#, python-format
msgid ""
"The configured domain name is using a self-signed certificate. Federation "
@@ -4712,7 +4756,7 @@ msgstr "INVALID SERVER NAME"
msgid "An error occurred during password reset: {error}."
msgstr "AN ERROR OCCURRED DURING CONFIGURATION."
-#: modules/mumble/__init__.py:25
+#: modules/mumble/__init__.py:27
msgid ""
"Mumble is an open source, low-latency, encrypted, high quality voice chat "
"software."
@@ -4720,7 +4764,7 @@ msgstr ""
"MUMBLE IS AN OPEN SOURCE, LOW-LATENCY, ENCRYPTED, HIGH QUALITY VOICE CHAT "
"SOFTWARE."
-#: modules/mumble/__init__.py:27
+#: modules/mumble/__init__.py:29
#, fuzzy
#| msgid ""
#| "You can connect to your Mumble server on the regular Mumble port 64738. "
@@ -4735,10 +4779,16 @@ msgstr ""
"href=\"http://mumble.info\">CLIENTS TO CONNECT TO MUMBLE FROM YOUR "
"DESKTOP AND ANDROID DEVICES ARE AVAILABLE."
-#: modules/mumble/__init__.py:45 modules/mumble/manifest.py:9
+#: modules/mumble/__init__.py:47 modules/mumble/manifest.py:9
msgid "Mumble"
msgstr ""
+#: modules/mumble/__init__.py:158
+#, fuzzy
+#| msgid "Mumble server is running"
+msgid "Mumble server is configured"
+msgstr "MUMBLE SERVER IS RUNNING"
+
#: modules/mumble/forms.py:30
#, fuzzy
#| msgid "Save Password"
@@ -4883,12 +4933,6 @@ msgstr ""
"63 CHARACTERS OR LESS. TOTAL LENGTH OF DOMAIN NAME MUST BE 253 CHARACTERS "
"OR LESS."
-#: modules/names/manifest.py:11 modules/names/templates/names.html:12
-#, fuzzy
-#| msgid "Domain"
-msgid "Domains"
-msgstr "DOMAIN"
-
#: modules/names/manifest.py:13
msgid "DNS Resolution"
msgstr ""
@@ -5434,7 +5478,7 @@ msgstr "EDIT CONNECTION"
#: modules/networks/templates/connection_show.html:40
#: modules/wireguard/templates/wireguard_show_client.html:72
#: modules/wireguard/templates/wireguard_show_server.html:73
-#: templates/base.html:165 templates/base.html:166
+#: templates/base.html:167 templates/base.html:168
msgid "Edit"
msgstr "EDIT"
@@ -5487,7 +5531,7 @@ msgstr "INTERFACE"
#: modules/networks/templates/connection_show.html:107
#: modules/snapshot/templates/snapshot_delete_selected.html:19
-#: modules/snapshot/templates/snapshot_manage.html:29
+#: modules/snapshot/templates/snapshot_manage.html:34
#: modules/snapshot/templates/snapshot_rollback.html:27
msgid "Description"
msgstr "DESCRIPTION"
@@ -5565,8 +5609,8 @@ msgstr "THIS CONNECTION IS NOT ACTIVE."
#: modules/networks/templates/connection_show.html:264
#: modules/networks/templates/connections_fields_privacy.html:15
-#: modules/openvpn/manifest.py:60 modules/privacy/__init__.py:32
-#: modules/privacy/__init__.py:72 modules/wireguard/manifest.py:45
+#: modules/openvpn/manifest.py:60 modules/privacy/__init__.py:38
+#: modules/privacy/__init__.py:77 modules/wireguard/manifest.py:45
#, fuzzy
#| msgid "Enable Privoxy"
msgid "Privacy"
@@ -5658,7 +5702,7 @@ msgstr "INTERNAL"
msgid "Computer"
msgstr "COMPUTER"
-#: modules/networks/templates/connections_edit.html:19
+#: modules/networks/templates/connections_edit.html:24
#: modules/networks/views.py:253 modules/networks/views.py:341
msgid "Edit Connection"
msgstr "EDIT CONNECTION"
@@ -5669,7 +5713,7 @@ msgid "Error:"
msgstr ""
#: modules/networks/templates/connections_fields.html:20
-#: modules/users/templates/users_update.html:46 templates/messages.html:30
+#: modules/users/templates/users_update.html:51 templates/messages.html:30
msgid "Close"
msgstr ""
@@ -5767,7 +5811,7 @@ msgstr "UPDATE URL"
#: modules/networks/templates/network_topology_update.html:18
#: modules/networks/templates/router_configuration_update.html:19
#: modules/pagekite/templates/pagekite_custom_services.html:33
-#: modules/sharing/templates/sharing_add_edit.html:20 templates/form.html:19
+#: modules/sharing/templates/sharing_add_edit.html:25 templates/form.html:19
msgid "Submit"
msgstr "SUBMIT"
@@ -6218,11 +6262,7 @@ msgid ""
"performed following an independent cycle."
msgstr ""
-#: modules/nextcloud/__init__.py:48
-msgid "This app is experimental."
-msgstr ""
-
-#: modules/nextcloud/__init__.py:66 modules/nextcloud/manifest.py:11
+#: modules/nextcloud/__init__.py:65 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
#, fuzzy
#| msgid "Next"
@@ -6472,7 +6512,7 @@ msgstr ""
msgid "PageKite"
msgstr "PAGEKITE"
-#: modules/pagekite/__init__.py:73
+#: modules/pagekite/__init__.py:72
#, fuzzy
#| msgid "PageKite Account"
msgid "PageKite Domain"
@@ -6681,8 +6721,8 @@ msgstr ""
msgid "Shutdown"
msgstr "SHUT DOWN NOW"
-#: modules/power/templates/power.html:15 templates/base.html:180
-#: templates/base.html:181
+#: modules/power/templates/power.html:15 templates/base.html:182
+#: templates/base.html:183
#, fuzzy
#| msgid "Restart Now"
msgid "Restart"
@@ -6726,23 +6766,33 @@ msgstr ""
msgid "Shut Down Now"
msgstr "SHUT DOWN NOW"
-#: modules/privacy/__init__.py:15
+#: modules/privacy/__init__.py:21
msgid "Manage system-wide privacy settings."
msgstr ""
-#: modules/privacy/__init__.py:70
+#: modules/privacy/__init__.py:75
msgid "Please update privacy settings to match your preferences."
msgstr ""
-#: modules/privacy/__init__.py:75
+#: modules/privacy/__init__.py:80
msgid "Review privacy setting"
msgstr ""
-#: modules/privacy/forms.py:16
+#: modules/privacy/forms.py:17
+#, python-brace-format
+msgid ""
+"Optional Value. This URL is used to determine the publicly visible IP "
+"address of your {box_name}. The URL should simply return the IPv4 or IPv6 "
+"address where the client request comes from. Default is to use the service "
+"provided by the FreedomBox Foundation at https://ddns.freedombox.org/ip/. If "
+"empty, lookups are disabled and some functionality will fail."
+msgstr ""
+
+#: modules/privacy/forms.py:25
msgid "Periodically submit a list of apps used (suggested)"
msgstr ""
-#: modules/privacy/forms.py:18
+#: modules/privacy/forms.py:27
#, python-brace-format
msgid ""
"Help Debian/{box_name} developers by participating in the Popularity Contest "
@@ -6753,11 +6803,11 @@ msgid ""
"network for additional anonymity if Tor app is enabled."
msgstr ""
-#: modules/privacy/forms.py:28
+#: modules/privacy/forms.py:37
msgid "Allow using fallback DNS servers"
msgstr ""
-#: modules/privacy/forms.py:30
+#: modules/privacy/forms.py:39
msgid ""
"Use well-known public DNS servers to resolve domain names in unusual "
"circumstances where no DNS servers are known but internet connectivity is "
@@ -6765,10 +6815,20 @@ msgid ""
"and reliable."
msgstr ""
+#: modules/privacy/forms.py:45
+msgid "URL to look up public IP address"
+msgstr ""
+
#: modules/privacy/manifest.py:10
msgid "Usage reporting"
msgstr ""
+#: modules/privacy/manifest.py:10
+#, fuzzy
+#| msgid "Enable repro service"
+msgid "External services"
+msgstr "ENABLE REPRO SERVICE"
+
#: modules/privacy/manifest.py:10
#, fuzzy
#| msgid "DNS Server"
@@ -7863,44 +7923,44 @@ msgid "Delete the following snapshots permanently?"
msgstr "DELETE USER PERMANENTLY?"
#: modules/snapshot/templates/snapshot_delete_selected.html:17
-#: modules/snapshot/templates/snapshot_manage.html:27
+#: modules/snapshot/templates/snapshot_manage.html:32
#: modules/snapshot/templates/snapshot_rollback.html:25
msgid "Number"
msgstr ""
#: modules/snapshot/templates/snapshot_delete_selected.html:18
-#: modules/snapshot/templates/snapshot_manage.html:28
+#: modules/snapshot/templates/snapshot_manage.html:33
#: modules/snapshot/templates/snapshot_rollback.html:26
msgid "Date"
msgstr ""
#: modules/snapshot/templates/snapshot_delete_selected.html:42
-#: modules/snapshot/templates/snapshot_manage.html:20
+#: modules/snapshot/templates/snapshot_manage.html:25
#: modules/snapshot/views.py:197
#, fuzzy
#| msgid "Delete %(name)s"
msgid "Delete Snapshots"
msgstr "DELETE %(name)s"
-#: modules/snapshot/templates/snapshot_manage.html:17
+#: modules/snapshot/templates/snapshot_manage.html:22
#, fuzzy
#| msgid "Create User"
msgid "Create Snapshot"
msgstr "CREATE USER"
-#: modules/snapshot/templates/snapshot_manage.html:30
+#: modules/snapshot/templates/snapshot_manage.html:35
msgid "Rollback"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:40
+#: modules/snapshot/templates/snapshot_manage.html:45
msgid "will be used at next boot"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:45
+#: modules/snapshot/templates/snapshot_manage.html:50
msgid "in use"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:54
+#: modules/snapshot/templates/snapshot_manage.html:59
#, python-format
msgid "Rollback to snapshot #%(number)s"
msgstr ""
@@ -8498,29 +8558,29 @@ msgstr ""
msgid "Tor"
msgstr ""
-#: modules/tor/__init__.py:78
+#: modules/tor/__init__.py:77
#, fuzzy
#| msgid "Tor Hidden Service"
msgid "Tor Onion Service"
msgstr "TOR HIDDEN SERVICE"
-#: modules/tor/__init__.py:82
+#: modules/tor/__init__.py:81
msgid "Tor Bridge Relay"
msgstr "TOR BRIDGE RELAY"
-#: modules/tor/__init__.py:140
+#: modules/tor/__init__.py:139
msgid "Tor relay port available"
msgstr "TOR RELAY PORT AVAILABLE"
-#: modules/tor/__init__.py:152
+#: modules/tor/__init__.py:151
msgid "Obfs3 transport registered"
msgstr "OBFS3 TRANSPORT REGISTERED"
-#: modules/tor/__init__.py:163
+#: modules/tor/__init__.py:162
msgid "Obfs4 transport registered"
msgstr "OBFS4 TRANSPORT REGISTERED"
-#: modules/tor/__init__.py:176
+#: modules/tor/__init__.py:175
#, fuzzy
#| msgid "Hidden Service"
msgid "Onion service is version 3"
@@ -8627,7 +8687,7 @@ msgstr ""
msgid "Anonymity network"
msgstr "TOR ANONYMITY NETWORK"
-#: modules/tor/templates/tor.html:18
+#: modules/tor/templates/tor.html:23
#, fuzzy
#| msgid "Hidden Service"
msgid "Onion Service"
@@ -9294,12 +9354,12 @@ msgstr "USERS"
msgid "Edit user %(username)s"
msgstr "EDIT USER %(username)s"
-#: modules/users/templates/users_update.html:12
+#: modules/users/templates/users_update.html:17
#, python-format
msgid "Edit User %(username)s"
msgstr "EDIT USER %(username)s"
-#: modules/users/templates/users_update.html:20
+#: modules/users/templates/users_update.html:25
#, python-format
msgid ""
"Use the change password form to "
@@ -9308,30 +9368,30 @@ msgstr ""
"USE THE CHANGE PASSWORD FORM TO "
"CHANGE THE PASSWORD."
-#: modules/users/templates/users_update.html:32
+#: modules/users/templates/users_update.html:37
#: templates/language-selection.html:17
msgid "Save Changes"
msgstr "SAVE CHANGES"
-#: modules/users/templates/users_update.html:41
+#: modules/users/templates/users_update.html:46
#, fuzzy, python-format
#| msgid "Delete user %(username)s permanently?"
msgid "Delete user %(username)s and all the user's files?"
msgstr "DELETE USER %(username)s PERMANENTLY?"
-#: modules/users/templates/users_update.html:51
+#: modules/users/templates/users_update.html:56
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
msgstr ""
-#: modules/users/templates/users_update.html:60
+#: modules/users/templates/users_update.html:65
#, fuzzy
#| msgid "Delete User"
msgid "Delete user and files"
msgstr "DELETE USER"
-#: modules/users/templates/users_update.html:63
+#: modules/users/templates/users_update.html:68
msgid "Cancel"
msgstr "CANCEL"
@@ -10060,11 +10120,11 @@ msgstr "INSTALLATION"
msgid "Service %(service_name)s is not running."
msgstr "SERVICE DISCOVERY SERVER IS NOT RUNNING"
-#: templates/apps.html:29
+#: templates/apps.html:33
msgid "Search with tags"
msgstr ""
-#: templates/apps.html:42
+#: templates/apps.html:46
msgid "Clear all tags"
msgstr ""
@@ -10074,43 +10134,43 @@ msgid ""
"is free software that lets you install and manage server apps with ease."
msgstr ""
-#: templates/base.html:116
+#: templates/base.html:118
msgid " Home"
msgstr ""
-#: templates/base.html:124
+#: templates/base.html:126
#, fuzzy
#| msgid "Apps"
msgid " Apps"
msgstr "APPS"
-#: templates/base.html:133
+#: templates/base.html:135
#, fuzzy
#| msgid "System"
msgid " System"
msgstr "SYSTEM"
-#: templates/base.html:172 templates/base.html:173
+#: templates/base.html:174 templates/base.html:175
msgid "Change password"
msgstr "CHANGE PASSWORD"
-#: templates/base.html:186 templates/base.html:187
+#: templates/base.html:188 templates/base.html:189
#, fuzzy
#| msgid "Shut Down Now"
msgid "Shut down"
msgstr "SHUT DOWN NOW"
-#: templates/base.html:197 templates/base.html:235
+#: templates/base.html:199 templates/base.html:237
msgid "Log out"
msgstr "LOG OUT"
-#: templates/base.html:206 templates/base.html:209
+#: templates/base.html:208 templates/base.html:211
#, fuzzy
#| msgid "Language"
msgid "Select language"
msgstr "LANGUAGE"
-#: templates/base.html:224 templates/base.html:226
+#: templates/base.html:226 templates/base.html:228
msgid "Log in"
msgstr "LOG IN"
@@ -10341,23 +10401,45 @@ msgid ""
"installed freshly again."
msgstr ""
-#: views.py:85
+#: views.py:84
msgid "Here"
msgstr ""
-#: views.py:374
+#: views.py:376
msgid "Setting unchanged"
msgstr "SETTING UNCHANGED"
-#: views.py:609
+#: views.py:610
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""
-#: web_framework.py:114
+#: web_framework.py:122
msgid "Gujarati"
msgstr ""
+#, fuzzy, python-brace-format
+#~| msgid ""
+#~| "Optional Value. If your {box_name} is not connected directly to the "
+#~| "Internet (i.e. connected to a NAT router) this URL is used to figure out "
+#~| "the real Internet IP. The URL should simply return the IP where the "
+#~| "client comes from (example: http://myip.datasystems24.de)."
+#~ msgid ""
+#~ "Optional Value. If your {box_name} is not connected directly to the "
+#~ "Internet (i.e. connected to a NAT router) this URL is used to determine "
+#~ "the real IP address. The URL should simply return the IP where the client "
+#~ "comes from (example: https://ddns.freedombox.org/ip/)."
+#~ msgstr ""
+#~ "OPTIONAL VALUE. IF YOUR {box_name} IS NOT CONNECTED DIRECTLY TO THE "
+#~ "INTERNET (I.E. CONNECTED TO A NAT ROUTER) THIS URL IS USED TO FIGURE OUT "
+#~ "THE REAL INTERNET IP. THE URL SHOULD SIMPLY RETURN THE IP WHERE THE "
+#~ "CLIENT COMES FROM (EXAMPLE: HTTP://MYIP.DATASYSTEMS24.DE)."
+
+#, fuzzy
+#~| msgid "Create User"
+#~ msgid "Manage Aliases for Mailbox"
+#~ msgstr "CREATE USER"
+
#, fuzzy
#~| msgid "Enable Shaarli"
#~ msgid "File & Snippet Sharing"
@@ -11838,9 +11920,6 @@ msgstr ""
#~ msgid "Minetest server is not running"
#~ msgstr "MUMBLE SERVER IS NOT RUNNING"
-#~ msgid "Mumble server is running"
-#~ msgstr "MUMBLE SERVER IS RUNNING"
-
#~ msgid "Mumble server is not running"
#~ msgstr "MUMBLE SERVER IS NOT RUNNING"
@@ -11948,9 +12027,6 @@ msgstr ""
#~ msgid "repro SIP Server"
#~ msgstr "REPRO SIP SERVER"
-#~ msgid "Enable repro service"
-#~ msgstr "ENABLE REPRO SERVICE"
-
#~ msgid "Tor Control Panel"
#~ msgstr "TOR CONTROL PANEL"
diff --git a/plinth/locale/fr/LC_MESSAGES/django.po b/plinth/locale/fr/LC_MESSAGES/django.po
index 06dfe0e76..43c42548b 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-12-30 20:05-0500\n"
+"POT-Creation-Date: 2025-01-13 20:33-0500\n"
"PO-Revision-Date: 2025-01-05 16:52+0000\n"
"Last-Translator: Coucouf
SSH key-based authentication is not yet "
"possible."
@@ -465,18 +467,18 @@ msgstr ""
"Mot de passe du serveur SSH.
L’authentification par clé SSH n’est pas "
"encore prise en charge."
-#: modules/backups/forms.py:273
+#: modules/backups/forms.py:275
msgid "Remote backup repository already exists."
msgstr "Ce dépôt de sauvegarde distant existe déjà."
-#: modules/backups/forms.py:279
+#: modules/backups/forms.py:281
msgid "Select verified SSH public key"
msgstr "Sélectionnez une clé publique SSH vérifiée"
#: modules/backups/manifest.py:14
#: modules/backups/templates/backups_repository.html:92
#: modules/backups/templates/backups_restore.html:27
-#: modules/backups/views.py:240 modules/snapshot/manifest.py:14
+#: modules/backups/views.py:238 modules/snapshot/manifest.py:14
#: templates/toolbar.html:44 templates/toolbar.html:45
msgid "Restore"
msgstr "Restaurer"
@@ -550,16 +552,20 @@ msgstr "Aucune archive portant ce nom n’a pu être trouvée dans le dépôt."
msgid "Backup system is busy with another operation."
msgstr "Le système de sauvegarde est occupé à une autre opération."
+#: modules/backups/privileged.py:92
+msgid "Not enough space left on the disk or remote location."
+msgstr ""
+
#: modules/backups/repository.py:94
msgid "Existing repository is not encrypted."
msgstr "Le dépôt existant n’est pas chiffré."
-#: modules/backups/repository.py:266
+#: modules/backups/repository.py:289
#, python-brace-format
msgid "{box_name} storage"
msgstr "Stockage de la {box_name}"
-#: modules/backups/templates/backups.html:17 modules/backups/views.py:125
+#: modules/backups/templates/backups.html:17 modules/backups/views.py:124
msgid "Create a new backup"
msgstr "Créer une nouvelle sauvegarde"
@@ -603,10 +609,9 @@ msgstr "Sauvegardes existantes"
#: modules/help/templates/statuslog.html:24
#: modules/kiwix/templates/kiwix-add-package.html:26
#: modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:28
-#: modules/matrixsynapse/templates/matrix-synapse.html:76
+#: modules/matrixsynapse/templates/matrix-synapse.html:81
#: modules/names/templates/names.html:128
#: modules/networks/templates/connection_show.html:24
-#: modules/nextcloud/__init__.py:48
#: modules/pagekite/templates/pagekite_custom_services.html:16
#: modules/power/templates/power_busy_warning.html:11
#: modules/snapshot/templates/snapshot_not_supported.html:13
@@ -771,107 +776,107 @@ msgstr ""
msgid "Verify Host"
msgstr "Vérifier le serveur"
-#: modules/backups/views.py:69
+#: modules/backups/views.py:68
msgid "Backup schedule updated."
msgstr "Planification des sauvegardes mise à jour."
-#: modules/backups/views.py:88
+#: modules/backups/views.py:87
msgid "Schedule Backups"
msgstr "Planifier des sauvegardes"
-#: modules/backups/views.py:150
+#: modules/backups/views.py:148
msgid "Archive created."
msgstr "Archive créée."
-#: modules/backups/views.py:162
+#: modules/backups/views.py:160
msgid "Delete Archive"
msgstr "Supprimer l’archive"
-#: modules/backups/views.py:175
+#: modules/backups/views.py:173
msgid "Archive deleted."
msgstr "Archive supprimée."
-#: modules/backups/views.py:189
+#: modules/backups/views.py:187
msgid "Upload and restore a backup"
msgstr "Téléverser et restaurer une sauvegarde"
-#: modules/backups/views.py:218
+#: modules/backups/views.py:216
msgid "Upload successful."
msgstr "Téléversement réussi."
-#: modules/backups/views.py:256
+#: modules/backups/views.py:254
msgid "No backup file found."
msgstr "Aucun fichier de sauvegarde n’a été trouvé."
-#: modules/backups/views.py:264
+#: modules/backups/views.py:262
msgid "Restore from uploaded file"
msgstr "Restaurer du fichier téléversé"
-#: modules/backups/views.py:278 modules/backups/views.py:299
+#: modules/backups/views.py:276 modules/backups/views.py:297
msgid "Restored files from backup."
msgstr "Les fichiers ont été restaurés de la sauvegarde."
-#: modules/backups/views.py:329
+#: modules/backups/views.py:327
msgid "No additional disks available to add a repository."
msgstr "Aucun disque supplémentaire n’est disponible pour ajouter un dépôt."
-#: modules/backups/views.py:337
+#: modules/backups/views.py:335
msgid "Create backup repository"
msgstr "Créer un dépôt de sauvegarde"
-#: modules/backups/views.py:352
+#: modules/backups/views.py:350
msgid "Added new repository."
msgstr "Nouveau dépôt ajouté."
-#: modules/backups/views.py:366
+#: modules/backups/views.py:364
msgid "Create remote backup repository"
msgstr "Créer un dépôt de sauvegarde distant"
-#: modules/backups/views.py:388
+#: modules/backups/views.py:386
msgid "Added new remote SSH repository."
msgstr "Ajouter un nouveau dépôt SSH distant."
-#: modules/backups/views.py:410
+#: modules/backups/views.py:408
msgid "Verify SSH hostkey"
msgstr "Vérifier la clé d’authenticité du serveur SSH"
-#: modules/backups/views.py:436
+#: modules/backups/views.py:434
msgid "SSH host already verified."
msgstr "Serveur SSH déjà vérifié."
-#: modules/backups/views.py:447
+#: modules/backups/views.py:445
msgid "SSH host verified."
msgstr "Serveur SSH vérifié."
-#: modules/backups/views.py:463
+#: modules/backups/views.py:461
msgid "SSH host public key could not be verified."
msgstr "La clé publique d’authenticité du serveur SSH n’a pu être vérifiée."
-#: modules/backups/views.py:465
+#: modules/backups/views.py:463
msgid "Authentication to remote server failed."
msgstr "L’authentification sur le serveur distant a échoué."
-#: modules/backups/views.py:467
+#: modules/backups/views.py:465
msgid "Error establishing connection to server: {}"
msgstr "Erreur lors de la connexion au serveur : {}"
-#: modules/backups/views.py:478
+#: modules/backups/views.py:476
msgid "Repository removed."
msgstr "Dépôt supprimé."
-#: modules/backups/views.py:492
+#: modules/backups/views.py:490
msgid "Remove Repository"
msgstr "Supprimer ce dépôt"
-#: modules/backups/views.py:502
+#: modules/backups/views.py:500
msgid "Repository removed. Backups were not deleted."
msgstr "Dépôt supprimé. Les sauvegardes n’ont pas été supprimées."
-#: modules/backups/views.py:513
+#: modules/backups/views.py:511
msgid "Unmounting failed!"
msgstr "Le démontage a échoué !"
-#: modules/backups/views.py:529 modules/backups/views.py:533
+#: modules/backups/views.py:527 modules/backups/views.py:531
msgid "Mounting failed"
msgstr "Le montage a échoué"
@@ -1000,7 +1005,7 @@ msgstr "Ajouter un mot de passe"
msgid "No passwords currently configured."
msgstr "Aucun mot de passe actuellement configuré."
-#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:91
+#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:83
#: modules/miniflux/forms.py:14 modules/networks/forms.py:282
#: modules/shadowsocks/forms.py:32 modules/shadowsocksserver/forms.py:37
msgid "Password"
@@ -1127,8 +1132,10 @@ msgstr "Résolveur"
msgid "Serving Domains"
msgstr "Domaines servis"
-#: modules/bind/templates/bind.html:17 modules/email/templates/email.html:38
-#: modules/ikiwiki/forms.py:12 modules/names/templates/names.html:18
+#: modules/bind/templates/bind.html:17
+#: modules/email/templates/email-dns.html:25
+#: modules/email/templates/email-dns.html:78 modules/ikiwiki/forms.py:12
+#: modules/names/templates/names.html:18
#: modules/networks/templates/connection_show.html:95
#: modules/samba/templates/samba.html:65
#: modules/storage/templates/storage.html:26
@@ -1158,7 +1165,7 @@ msgstr "Actualiser l’adresse IP et les domaines"
#: modules/minetest/views.py:55 modules/mumble/views.py:37
#: modules/names/views.py:66 modules/names/views.py:95
#: modules/names/views.py:129 modules/pagekite/forms.py:74
-#: modules/privacy/views.py:50 modules/quassel/views.py:29
+#: modules/privacy/views.py:55 modules/quassel/views.py:29
#: modules/roundcube/views.py:32 modules/rssbridge/views.py:31
#: modules/shadowsocks/views.py:52 modules/shadowsocksserver/views.py:48
#: modules/ssh/views.py:62 modules/transmission/views.py:43
@@ -1815,7 +1822,7 @@ msgid "Test"
msgstr "Test"
#: modules/diagnostics/templates/diagnostics_results.html:12
-#: modules/dynamicdns/templates/dynamicdns.html:20
+#: modules/dynamicdns/templates/dynamicdns.html:25
msgid "Result"
msgstr "Résultat"
@@ -1828,7 +1835,7 @@ msgstr "Test de diagnostic"
msgid "App {app_id} is not installed, cannot repair"
msgstr "L'application {app_id} n'est pas installée, impossible de réparer"
-#: modules/dynamicdns/__init__.py:28
+#: modules/dynamicdns/__init__.py:29
#, python-brace-format
msgid ""
"If your Internet provider changes your IP address periodically (i.e. every "
@@ -1840,7 +1847,7 @@ msgstr ""
"Et ceci empêchera d’autres utilisateurs de découvrir les services proposés "
"par cette {box_name}."
-#: modules/dynamicdns/__init__.py:32
+#: modules/dynamicdns/__init__.py:33
msgid ""
"The solution is to assign a DNS name to your IP address and update the DNS "
"name every time your IP is changed by your Internet provider. Dynamic DNS "
@@ -1858,7 +1865,7 @@ msgstr ""
"d’assigner votre nom DNS à la nouvelle IP, de sorte que si quelqu’un sur "
"Internet demande votre nom DNS, il obtiendra bien votre adresse IP courante."
-#: modules/dynamicdns/__init__.py:40
+#: modules/dynamicdns/__init__.py:41
msgid ""
"If you are looking for a free dynamic DNS account, you may find a free "
"GnuDIP service at ddns."
@@ -1871,11 +1878,17 @@ msgstr ""
"d’actualisation sur freedns.afraid.org."
-#: modules/dynamicdns/__init__.py:61
+#: modules/dynamicdns/__init__.py:46
+msgid ""
+"This service uses an external service to lookup public IP address. This can "
+"be configured in the privacy app."
+msgstr ""
+
+#: modules/dynamicdns/__init__.py:64
msgid "Dynamic DNS Client"
msgstr "Client DNS dynamique"
-#: modules/dynamicdns/__init__.py:75
+#: modules/dynamicdns/__init__.py:78
msgid "Dynamic Domain Name"
msgstr "Nom de domaine dynamique"
@@ -1934,91 +1947,72 @@ msgid "Leave this field empty if you want to keep your current password."
msgstr "Laissez ce champ vide pour conserver le mot de passe précédent."
#: modules/dynamicdns/forms.py:43
-#, python-brace-format
-msgid ""
-"Optional Value. If your {box_name} is not connected directly to the Internet "
-"(i.e. connected to a NAT router) this URL is used to determine the real IP "
-"address. The URL should simply return the IP where the client comes from "
-"(example: https://ddns.freedombox.org/ip/)."
-msgstr ""
-"Paramètre optionnel. Entrer l’URL d’un service qui détecte automatiquement "
-"votre adresse IP publique réelle et la retourne en réponse (par exemple : "
-"https://ddns.freedombox.org/ip/). Cette URL sera utilisée si votre "
-"{box_name} n’est pas connectée directement à Internet (par exemple "
-"lorsqu’elle est connectée à un routeur à traduction d’adresses réseau "
-"« NAT »)."
-
-#: modules/dynamicdns/forms.py:51
msgid "The username that was used when the account was created."
msgstr ""
"Le nom d’utilisateur choisi lors de la création du compte DNS dynamique."
-#: modules/dynamicdns/forms.py:54
+#: modules/dynamicdns/forms.py:46
msgid "GnuDIP"
msgstr "GnuDIP"
-#: modules/dynamicdns/forms.py:57
+#: modules/dynamicdns/forms.py:49
msgid "Other update URL"
msgstr "URL de mise à jour alternative"
-#: modules/dynamicdns/forms.py:59
+#: modules/dynamicdns/forms.py:51
msgid "Service Type"
msgstr "Type de service"
-#: modules/dynamicdns/forms.py:64
+#: modules/dynamicdns/forms.py:56
msgid "GnuDIP Server Address"
msgstr "Adresse du serveur GnuDIP"
-#: modules/dynamicdns/forms.py:67
+#: modules/dynamicdns/forms.py:59
msgid "Invalid server name"
msgstr "Nom de serveur invalide"
-#: modules/dynamicdns/forms.py:70
+#: modules/dynamicdns/forms.py:62
msgid "Update URL"
msgstr "URL d’actualisation"
-#: modules/dynamicdns/forms.py:74
+#: modules/dynamicdns/forms.py:66
msgid "Accept all SSL certificates"
msgstr "Accepter tous les certificats SSL"
-#: modules/dynamicdns/forms.py:78
+#: modules/dynamicdns/forms.py:70
msgid "Use HTTP basic authentication"
msgstr "Utiliser l’authentification HTTP basique"
-#: modules/dynamicdns/forms.py:82 modules/names/__init__.py:68
+#: modules/dynamicdns/forms.py:74 modules/names/__init__.py:68
#: modules/names/forms.py:106 modules/names/templates/names.html:19
msgid "Domain Name"
msgstr "Nom de domaine"
-#: modules/dynamicdns/forms.py:85 modules/names/forms.py:99
+#: modules/dynamicdns/forms.py:77 modules/names/forms.py:99
#: modules/names/forms.py:117
msgid "Invalid domain name"
msgstr "Nom de domaine invalide"
-#: modules/dynamicdns/forms.py:88 modules/miniflux/forms.py:11
+#: modules/dynamicdns/forms.py:80 modules/miniflux/forms.py:11
#: modules/networks/forms.py:281 modules/users/forms.py:130
msgid "Username"
msgstr "Nom d’utilisateur"
-#: modules/dynamicdns/forms.py:95 modules/networks/forms.py:284
+#: modules/dynamicdns/forms.py:87 modules/networks/forms.py:284
msgid "Show password"
msgstr "Afficher le mot de passe"
-#: modules/dynamicdns/forms.py:99
-msgid "URL to look up public IP"
-msgstr "URL pour rechercher l’IP publique"
-
-#: modules/dynamicdns/forms.py:104
+#: modules/dynamicdns/forms.py:91
msgid "Use IPv6 instead of IPv4"
msgstr "Utiliser IPv6 au lieu d’IPv4"
-#: modules/dynamicdns/forms.py:123
+#: modules/dynamicdns/forms.py:110
msgid "This field is required."
msgstr "Ce champ est requis."
#: modules/dynamicdns/manifest.py:17
-#: modules/dynamicdns/templates/dynamicdns.html:18
-#: modules/email/templates/email.html:35
+#: modules/dynamicdns/templates/dynamicdns.html:23
+#: modules/email/templates/email-dns.html:22
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64
msgid "Domain"
@@ -2032,37 +2026,37 @@ msgstr "Gratuit"
msgid "Needs public IP"
msgstr "A besoin d'une IP publique"
-#: modules/dynamicdns/templates/dynamicdns.html:11
-#: modules/ejabberd/templates/ejabberd.html:13 modules/firewall/manifest.py:10
+#: modules/dynamicdns/templates/dynamicdns.html:16
+#: modules/ejabberd/templates/ejabberd.html:18 modules/firewall/manifest.py:10
#: modules/firewall/templates/firewall.html:16
#: modules/firewall/templates/firewall.html:22
#: modules/letsencrypt/templates/letsencrypt.html:17
-#: modules/matrixsynapse/templates/matrix-synapse.html:12
+#: modules/matrixsynapse/templates/matrix-synapse.html:17
#: modules/networks/templates/connection_show.html:258
-#: modules/samba/templates/samba.html:67 modules/tor/templates/tor.html:19
+#: modules/samba/templates/samba.html:67 modules/tor/templates/tor.html:24
#: modules/upgrades/templates/upgrades_configure.html:14
#: modules/wireguard/templates/wireguard_show_client.html:48
#: modules/wireguard/templates/wireguard_show_server.html:47
msgid "Status"
msgstr "État"
-#: modules/dynamicdns/templates/dynamicdns.html:19
+#: modules/dynamicdns/templates/dynamicdns.html:24
msgid "Last update"
msgstr "Dernière mise à jour"
-#: modules/dynamicdns/templates/dynamicdns.html:21
+#: modules/dynamicdns/templates/dynamicdns.html:26
msgid "IP Address"
msgstr "Adresse IP"
-#: modules/dynamicdns/templates/dynamicdns.html:32
+#: modules/dynamicdns/templates/dynamicdns.html:37
msgid "Success"
msgstr "Succès"
-#: modules/dynamicdns/templates/dynamicdns.html:36
+#: modules/dynamicdns/templates/dynamicdns.html:41
msgid "Failed"
msgstr "Échec"
-#: modules/dynamicdns/templates/dynamicdns.html:52
+#: modules/dynamicdns/templates/dynamicdns.html:57
msgid "No status available."
msgstr "Aucun statut disponible."
@@ -2234,7 +2228,7 @@ msgstr "Tchat vidéo"
msgid "XMPP"
msgstr "XMPP"
-#: modules/ejabberd/templates/ejabberd.html:18
+#: modules/ejabberd/templates/ejabberd.html:23
#, python-format
msgid ""
"Your XMPP server domain is set to %(domain_name)s. User IDs will look "
@@ -2246,7 +2240,7 @@ msgstr ""
"Vous pouvez configurer le domaine de votre système depuis la page Services de nommage."
-#: modules/ejabberd/templates/ejabberd.html:25
+#: modules/ejabberd/templates/ejabberd.html:30
#, python-format
msgid ""
"Your XMPP server domain is not set. You can setup your domain on the system "
@@ -2314,14 +2308,18 @@ msgstr ""
msgid "Postfix/Dovecot"
msgstr "Postfix/Dovecot"
-#: modules/email/__init__.py:83
+#: modules/email/__init__.py:80
+msgid "More emails"
+msgstr ""
+
+#: modules/email/__init__.py:80
+msgid "Same mailbox"
+msgstr ""
+
+#: modules/email/__init__.py:82
msgid "My Email Aliases"
msgstr "Mes alias de courriel"
-#: modules/email/__init__.py:84
-msgid "Manage Aliases for Mailbox"
-msgstr "Gérer les alias pour la boîte aux lettres"
-
#: modules/email/forms.py:25
msgid "Primary domain"
msgstr "Domaine principal"
@@ -2400,47 +2398,103 @@ msgstr "Créer un nouvel alias de courriel"
msgid "Add"
msgstr "Ajouter"
-#: modules/email/templates/email.html:10
-msgid "Manage Spam"
-msgstr "Configurer le filtrage des pourriels"
-
-#: modules/email/templates/email.html:22
-msgid "DNS Records"
+#: modules/email/templates/email-dns.html:9
+#, fuzzy
+#| msgid "DNS Records"
+msgid "DNS Records for domain:"
msgstr "Enregistrements DNS"
-#: modules/email/templates/email.html:25
+#: modules/email/templates/email-dns.html:12
+#, fuzzy
+#| msgid ""
+#| "The following DNS records must be added manually on your primary domain "
+#| "for the mail server to work properly."
msgid ""
-"The following DNS records must be added manually on your primary domain for "
-"the mail server to work properly."
+"The following DNS records must be added manually on this domain for the mail "
+"server to work properly for this domain."
msgstr ""
"Les enregistrement DNS suivants doivent être ajoutés manuellement à votre "
"domaine primaire pour que le serveur de courriel fonctionne correctement."
-#: modules/email/templates/email.html:36
+#: modules/email/templates/email-dns.html:23
+#: modules/email/templates/email-dns.html:77
msgid "TTL"
msgstr "TTL"
-#: modules/email/templates/email.html:37
+#: modules/email/templates/email-dns.html:24
msgid "Class"
msgstr "Classe"
-#: modules/email/templates/email.html:39
+#: modules/email/templates/email-dns.html:26
msgid "Priority"
msgstr "Priorité"
-#: modules/email/templates/email.html:40
+#: modules/email/templates/email-dns.html:27
msgid "Weight"
msgstr "Poids"
-#: modules/email/templates/email.html:41
+#: modules/email/templates/email-dns.html:28
#: modules/minetest/templates/minetest.html:18
msgid "Port"
msgstr "Port"
-#: modules/email/templates/email.html:42
+#: modules/email/templates/email-dns.html:29
+#: modules/email/templates/email-dns.html:79
msgid "Host/Target/Value"
msgstr "Hôte/Cible/Valeur"
+#: modules/email/templates/email-dns.html:50
+#, fuzzy
+#| msgid "Server hostname or IP address"
+msgid "Reverse DNS Records for IP Addresses"
+msgstr "Nom ou adresse IP du serveur"
+
+#: modules/email/templates/email-dns.html:53
+#, python-format
+msgid ""
+"If your %(box_name)s runs on a cloud service infrastructure, you should "
+"configure "
+"Reverse DNS lookup. This isn't mandatory, however, it greatly improves "
+"email deliverability. Reverse DNS isn't configured where your regular DNS "
+"is. You should look for it in the settings of your VPS/ISP. Some providers "
+"preconfigure the IP address part for you and you only have to set the domain "
+"part. Only one of your domains can have Revese DNS lookup configured unless "
+"you have multiple public IP addresses."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:66
+msgid ""
+"An external service is used to lookup public IP address to show in the "
+"following section. This can be configured in the privacy app."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:76
+#, fuzzy
+#| msgid "Hostname"
+msgid "Host"
+msgstr "Nom de machine"
+
+#: modules/email/templates/email.html:10
+msgid "Manage Spam"
+msgstr "Configurer le filtrage des pourriels"
+
+#: modules/email/templates/email.html:20 modules/names/manifest.py:11
+#: modules/names/templates/names.html:12
+msgid "Domains"
+msgstr "Domaines"
+
+#: modules/email/templates/email.html:23
+msgid ""
+"The following domains are configured. View details to see the list of DNS "
+"entries to be made for the domain."
+msgstr ""
+
+#: modules/email/templates/email.html:35
+#, fuzzy, python-format
+#| msgid "Resolve domain name: {domain}"
+msgid "View domain: %(domain)s"
+msgstr "Résoudre le nom de domaine : {domain}"
+
#: modules/featherwiki/__init__.py:25
#, python-brace-format
msgid ""
@@ -2706,7 +2760,7 @@ msgstr "Port {name} ({details}) disponible pour les réseaux externes"
msgid "Port {name} ({details}) unavailable for external networks"
msgstr "Port {name} ({details}) non disponible pour les réseaux externes"
-#: modules/firewall/manifest.py:10 modules/tor/templates/tor.html:20
+#: modules/firewall/manifest.py:10 modules/tor/templates/tor.html:25
msgid "Ports"
msgstr "Ports"
@@ -3068,9 +3122,9 @@ msgstr "Partager vos impressions"
msgid "Contribute"
msgstr "Participer"
-#: modules/help/__init__.py:53 templates/base.html:215 templates/base.html:218
+#: modules/help/__init__.py:53 templates/base.html:217 templates/base.html:220
#: templates/help-menu.html:46 templates/help-menu.html:47
-#: templates/index.html:98
+#: templates/index.html:96
msgid "About"
msgstr "À propos"
@@ -3249,7 +3303,7 @@ msgstr ""
#: modules/help/templates/help_contribute.html:42
#: modules/power/templates/power_restart.html:27
-#: modules/power/templates/power_shutdown.html:26 templates/app-header.html:68
+#: modules/power/templates/power_shutdown.html:26 templates/app-header.html:65
msgid "Learn more..."
msgstr "En savoir plus…"
@@ -3633,7 +3687,7 @@ msgid "Web conference"
msgstr "Conférence Web"
#: modules/janus/templates/janus_video_room.html:205
-#: modules/jsxc/templates/jsxc_launch.html:117 templates/base.html:271
+#: modules/jsxc/templates/jsxc_launch.html:117 templates/base.html:273
msgid "JavaScript license information"
msgstr "Information de licence JavaScript"
@@ -4070,7 +4124,7 @@ msgstr ""
"Aucun domaine disponible. Configurez au "
"moins un domaine pour pouvoir utiliser Matrix Synapse."
-#: modules/matrixsynapse/templates/matrix-synapse.html:15
+#: modules/matrixsynapse/templates/matrix-synapse.html:20
#, python-format
msgid ""
"The Matrix server domain is set to %(domain_name)s. User IDs will "
@@ -4082,7 +4136,7 @@ msgstr ""
"em>. Le changement du nom de domaine après l’installation initiale n’est "
"actuellement pas pris en charge."
-#: modules/matrixsynapse/templates/matrix-synapse.html:22
+#: modules/matrixsynapse/templates/matrix-synapse.html:27
msgid ""
"New users can be registered from any client if public registration is "
"enabled."
@@ -4090,7 +4144,7 @@ msgstr ""
"De nouveaux utilisateurs peuvent créer un compte depuis n’importe quel "
"client si l’inscription publique est activée."
-#: modules/matrixsynapse/templates/matrix-synapse.html:29
+#: modules/matrixsynapse/templates/matrix-synapse.html:34
msgid ""
"New users must use one of the following tokens for verification during "
"account registration:"
@@ -4098,31 +4152,31 @@ msgstr ""
"Les nouveaux utilisateurs doivent utiliser l'un des jetons suivants à des "
"fins de vérification lors de l'enregistrement de leur compte :"
-#: modules/matrixsynapse/templates/matrix-synapse.html:38
+#: modules/matrixsynapse/templates/matrix-synapse.html:43
msgid "Registration Token"
msgstr "Jeton d'inscription"
-#: modules/matrixsynapse/templates/matrix-synapse.html:39
+#: modules/matrixsynapse/templates/matrix-synapse.html:44
msgid "Uses Allowed"
msgstr "Usages autorisés"
-#: modules/matrixsynapse/templates/matrix-synapse.html:40
+#: modules/matrixsynapse/templates/matrix-synapse.html:45
msgid "Pending Registrations"
msgstr "Inscriptions en attente"
-#: modules/matrixsynapse/templates/matrix-synapse.html:41
+#: modules/matrixsynapse/templates/matrix-synapse.html:46
msgid "Completed Registrations"
msgstr "Inscriptions terminées"
-#: modules/matrixsynapse/templates/matrix-synapse.html:42
+#: modules/matrixsynapse/templates/matrix-synapse.html:47
msgid "Expiry Time"
msgstr "Date d'expiration"
-#: modules/matrixsynapse/templates/matrix-synapse.html:51
+#: modules/matrixsynapse/templates/matrix-synapse.html:56
msgid "Unlimited"
msgstr "Illimité"
-#: modules/matrixsynapse/templates/matrix-synapse.html:80
+#: modules/matrixsynapse/templates/matrix-synapse.html:85
#, python-format
msgid ""
"The configured domain name is using a self-signed certificate. Federation "
@@ -4608,7 +4662,7 @@ msgstr ""
"Une erreur est survenue pendant la réinitialisation du mot de passe : "
"{error}."
-#: modules/mumble/__init__.py:25
+#: modules/mumble/__init__.py:27
msgid ""
"Mumble is an open source, low-latency, encrypted, high quality voice chat "
"software."
@@ -4616,7 +4670,7 @@ msgstr ""
"Mumble est un logiciel de tchat vocal haute qualité, open source, à faible "
"latence et avec chiffrement des communications."
-#: modules/mumble/__init__.py:27
+#: modules/mumble/__init__.py:29
msgid ""
"You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your "
@@ -4626,10 +4680,16 @@ msgstr ""
"64738. Utilisez l’un des clients Mumble "
"pour vous connecter depuis votre ordinateur ou un appareil mobile."
-#: modules/mumble/__init__.py:45 modules/mumble/manifest.py:9
+#: modules/mumble/__init__.py:47 modules/mumble/manifest.py:9
msgid "Mumble"
msgstr "Mumble"
+#: modules/mumble/__init__.py:158
+#, fuzzy
+#| msgid "Mumble server is running"
+msgid "Mumble server is configured"
+msgstr "Le serveur Mumble est actif"
+
#: modules/mumble/forms.py:30
msgid "Set SuperUser Password"
msgstr "Définir le mot de passe du super utilisateur"
@@ -4779,10 +4839,6 @@ msgstr ""
"d’union « - ». La longueur maximum d’un mot est de 63 signes. La longueur "
"totale du nom de domaine ne doit pas excéder 253 signes."
-#: modules/names/manifest.py:11 modules/names/templates/names.html:12
-msgid "Domains"
-msgstr "Domaines"
-
#: modules/names/manifest.py:13
msgid "DNS Resolution"
msgstr "Résolution DNS"
@@ -5386,7 +5442,7 @@ msgstr "Modifier la connexion"
#: modules/networks/templates/connection_show.html:40
#: modules/wireguard/templates/wireguard_show_client.html:72
#: modules/wireguard/templates/wireguard_show_server.html:73
-#: templates/base.html:165 templates/base.html:166
+#: templates/base.html:167 templates/base.html:168
msgid "Edit"
msgstr "Modifier"
@@ -5439,7 +5495,7 @@ msgstr "Interface"
#: modules/networks/templates/connection_show.html:107
#: modules/snapshot/templates/snapshot_delete_selected.html:19
-#: modules/snapshot/templates/snapshot_manage.html:29
+#: modules/snapshot/templates/snapshot_manage.html:34
#: modules/snapshot/templates/snapshot_rollback.html:27
msgid "Description"
msgstr "Description"
@@ -5517,8 +5573,8 @@ msgstr "Cette connexion n’est pas active."
#: modules/networks/templates/connection_show.html:264
#: modules/networks/templates/connections_fields_privacy.html:15
-#: modules/openvpn/manifest.py:60 modules/privacy/__init__.py:32
-#: modules/privacy/__init__.py:72 modules/wireguard/manifest.py:45
+#: modules/openvpn/manifest.py:60 modules/privacy/__init__.py:38
+#: modules/privacy/__init__.py:77 modules/wireguard/manifest.py:45
msgid "Privacy"
msgstr "Confidentialité"
@@ -5611,7 +5667,7 @@ msgstr "Interne"
msgid "Computer"
msgstr "Machine"
-#: modules/networks/templates/connections_edit.html:19
+#: modules/networks/templates/connections_edit.html:24
#: modules/networks/views.py:253 modules/networks/views.py:341
msgid "Edit Connection"
msgstr "Modifier la connexion"
@@ -5622,7 +5678,7 @@ msgid "Error:"
msgstr "Erreur :"
#: modules/networks/templates/connections_fields.html:20
-#: modules/users/templates/users_update.html:46 templates/messages.html:30
+#: modules/users/templates/users_update.html:51 templates/messages.html:30
msgid "Close"
msgstr "Fermer"
@@ -5724,7 +5780,7 @@ msgstr "Modifier…"
#: modules/networks/templates/network_topology_update.html:18
#: modules/networks/templates/router_configuration_update.html:19
#: modules/pagekite/templates/pagekite_custom_services.html:33
-#: modules/sharing/templates/sharing_add_edit.html:20 templates/form.html:19
+#: modules/sharing/templates/sharing_add_edit.html:25 templates/form.html:19
msgid "Submit"
msgstr "Valider"
@@ -6173,11 +6229,7 @@ msgstr ""
"en amont et pas par Debian/{box_name}. Les mises à jour sont effectuées en "
"fonction d'un cycle indépendant."
-#: modules/nextcloud/__init__.py:48
-msgid "This app is experimental."
-msgstr "Cette application est expérimentale."
-
-#: modules/nextcloud/__init__.py:66 modules/nextcloud/manifest.py:11
+#: modules/nextcloud/__init__.py:65 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
msgid "Nextcloud"
msgstr "Nextcloud"
@@ -6387,7 +6439,7 @@ msgstr ""
msgid "PageKite"
msgstr "PageKite"
-#: modules/pagekite/__init__.py:73
+#: modules/pagekite/__init__.py:72
msgid "PageKite Domain"
msgstr "Domaine PageKite"
@@ -6582,8 +6634,8 @@ msgstr "Redémarrer"
msgid "Shutdown"
msgstr "Éteindre"
-#: modules/power/templates/power.html:15 templates/base.html:180
-#: templates/base.html:181
+#: modules/power/templates/power.html:15 templates/base.html:182
+#: templates/base.html:183
msgid "Restart"
msgstr "Redémarrer"
@@ -6625,23 +6677,33 @@ msgstr ""
msgid "Shut Down Now"
msgstr "Éteindre immédiatement"
-#: modules/privacy/__init__.py:15
+#: modules/privacy/__init__.py:21
msgid "Manage system-wide privacy settings."
msgstr "Gérér les paramètres de confidentialité globaux."
-#: modules/privacy/__init__.py:70
+#: modules/privacy/__init__.py:75
msgid "Please update privacy settings to match your preferences."
msgstr "Veuillez vérifier les paramètres de confidentialité."
-#: modules/privacy/__init__.py:75
+#: modules/privacy/__init__.py:80
msgid "Review privacy setting"
msgstr "Paramètres de confidentialité"
-#: modules/privacy/forms.py:16
+#: modules/privacy/forms.py:17
+#, python-brace-format
+msgid ""
+"Optional Value. This URL is used to determine the publicly visible IP "
+"address of your {box_name}. The URL should simply return the IPv4 or IPv6 "
+"address where the client request comes from. Default is to use the service "
+"provided by the FreedomBox Foundation at https://ddns.freedombox.org/ip/. If "
+"empty, lookups are disabled and some functionality will fail."
+msgstr ""
+
+#: modules/privacy/forms.py:25
msgid "Periodically submit a list of apps used (suggested)"
msgstr "Envoyer périodiquement la liste des applis utilisées (recommandé)"
-#: modules/privacy/forms.py:18
+#: modules/privacy/forms.py:27
#, python-brace-format
msgid ""
"Help Debian/{box_name} developers by participating in the Popularity Contest "
@@ -6660,11 +6722,11 @@ msgstr ""
"transmission a lieu au travers du réseau Tor pourvu que l’appli Tor soit "
"activée."
-#: modules/privacy/forms.py:28
+#: modules/privacy/forms.py:37
msgid "Allow using fallback DNS servers"
msgstr "Autoriser l'utilisation des serveurs DNS de repli"
-#: modules/privacy/forms.py:30
+#: modules/privacy/forms.py:39
msgid ""
"Use well-known public DNS servers to resolve domain names in unusual "
"circumstances where no DNS servers are known but internet connectivity is "
@@ -6676,10 +6738,22 @@ msgstr ""
"connu mais où la connectivité Internet est disponible. Peut être désactivé "
"dans la plupart des cas si la connectivité est stable et fiable."
+#: modules/privacy/forms.py:45
+#, fuzzy
+#| msgid "URL to look up public IP"
+msgid "URL to look up public IP address"
+msgstr "URL pour rechercher l’IP publique"
+
#: modules/privacy/manifest.py:10
msgid "Usage reporting"
msgstr "Rapports d’utilisation"
+#: modules/privacy/manifest.py:10
+#, fuzzy
+#| msgid "Enable repro service"
+msgid "External services"
+msgstr "Activer le service repro"
+
#: modules/privacy/manifest.py:10
msgid "Fallback DNS"
msgstr "DNS alternatif"
@@ -6785,10 +6859,10 @@ msgstr ""
"Radicale est un serveur pour les protocoles de gestion de calendriers en "
"ligne CalDAV et de carnets d’adresses CardDAV. Il permet de synchroniser ses "
"rendez-vous et ses contacts entre plusieurs appareils et de les partager. "
-"Pour utiliser Radicale, vous devrez passer par une application cliente "
-"compatible. Tous les utilisateur disposant d’un compte sur la {box_name} "
-"ont accès à Radicale."
+"Pour utiliser Radicale, vous devrez passer par une application cliente compatible"
+"a>. Tous les utilisateur disposant d’un compte sur la {box_name} ont accès à "
+"Radicale."
#: modules/radicale/__init__.py:31
msgid ""
@@ -7787,40 +7861,40 @@ msgid "Delete the following snapshots permanently?"
msgstr "Supprimer définitivement ces instantanés ?"
#: modules/snapshot/templates/snapshot_delete_selected.html:17
-#: modules/snapshot/templates/snapshot_manage.html:27
+#: modules/snapshot/templates/snapshot_manage.html:32
#: modules/snapshot/templates/snapshot_rollback.html:25
msgid "Number"
msgstr "Numéro"
#: modules/snapshot/templates/snapshot_delete_selected.html:18
-#: modules/snapshot/templates/snapshot_manage.html:28
+#: modules/snapshot/templates/snapshot_manage.html:33
#: modules/snapshot/templates/snapshot_rollback.html:26
msgid "Date"
msgstr "Date"
#: modules/snapshot/templates/snapshot_delete_selected.html:42
-#: modules/snapshot/templates/snapshot_manage.html:20
+#: modules/snapshot/templates/snapshot_manage.html:25
#: modules/snapshot/views.py:197
msgid "Delete Snapshots"
msgstr "Supprimer les instantanés"
-#: modules/snapshot/templates/snapshot_manage.html:17
+#: modules/snapshot/templates/snapshot_manage.html:22
msgid "Create Snapshot"
msgstr "Créer un instantané"
-#: modules/snapshot/templates/snapshot_manage.html:30
+#: modules/snapshot/templates/snapshot_manage.html:35
msgid "Rollback"
msgstr "Revenir en arrière"
-#: modules/snapshot/templates/snapshot_manage.html:40
+#: modules/snapshot/templates/snapshot_manage.html:45
msgid "will be used at next boot"
msgstr "sera utilisé au prochain démarrage"
-#: modules/snapshot/templates/snapshot_manage.html:45
+#: modules/snapshot/templates/snapshot_manage.html:50
msgid "in use"
msgstr "en utilisation"
-#: modules/snapshot/templates/snapshot_manage.html:54
+#: modules/snapshot/templates/snapshot_manage.html:59
#, python-format
msgid "Rollback to snapshot #%(number)s"
msgstr "Revenir à l’instantané n° %(number)s"
@@ -8438,27 +8512,27 @@ msgstr ""
msgid "Tor"
msgstr "Tor"
-#: modules/tor/__init__.py:78
+#: modules/tor/__init__.py:77
msgid "Tor Onion Service"
msgstr "Service onion Tor"
-#: modules/tor/__init__.py:82
+#: modules/tor/__init__.py:81
msgid "Tor Bridge Relay"
msgstr "Relais Tor de type pont (« bridge relay »)"
-#: modules/tor/__init__.py:140
+#: modules/tor/__init__.py:139
msgid "Tor relay port available"
msgstr "Le port du relais Tor est disponible"
-#: modules/tor/__init__.py:152
+#: modules/tor/__init__.py:151
msgid "Obfs3 transport registered"
msgstr "Abonné au transport obfs3"
-#: modules/tor/__init__.py:163
+#: modules/tor/__init__.py:162
msgid "Obfs4 transport registered"
msgstr "Abonné au transport obfs4"
-#: modules/tor/__init__.py:176
+#: modules/tor/__init__.py:175
msgid "Onion service is version 3"
msgstr "Le service Onion est de version 3"
@@ -8568,7 +8642,7 @@ msgstr "Relais"
msgid "Anonymity network"
msgstr "Réseau d’anonymisation"
-#: modules/tor/templates/tor.html:18
+#: modules/tor/templates/tor.html:23
msgid "Onion Service"
msgstr "Service Onion"
@@ -9245,12 +9319,12 @@ msgstr "Utilisateurs"
msgid "Edit user %(username)s"
msgstr "Paramètres du compte %(username)s"
-#: modules/users/templates/users_update.html:12
+#: modules/users/templates/users_update.html:17
#, python-format
msgid "Edit User %(username)s"
msgstr "Modifier l’utilisateur %(username)s"
-#: modules/users/templates/users_update.html:20
+#: modules/users/templates/users_update.html:25
#, python-format
msgid ""
"Use the change password form to "
@@ -9259,19 +9333,19 @@ msgstr ""
"Utiliser le formulaire de changement de "
"mot de passe pour changer votre mot de passe."
-#: modules/users/templates/users_update.html:32
+#: modules/users/templates/users_update.html:37
#: templates/language-selection.html:17
msgid "Save Changes"
msgstr "Appliquer les changements"
-#: modules/users/templates/users_update.html:41
+#: modules/users/templates/users_update.html:46
#, python-format
msgid "Delete user %(username)s and all the user's files?"
msgstr ""
"Supprimer l’utilisateur %(username)s et tous les fichiers de "
"l'utilisateur ?"
-#: modules/users/templates/users_update.html:51
+#: modules/users/templates/users_update.html:56
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
@@ -9280,11 +9354,11 @@ msgstr ""
"répertoire personnel de l'utilisateur. Si vous voulez conserver ces "
"fichiers, désactivez plutôt le compte de l'utilisateur."
-#: modules/users/templates/users_update.html:60
+#: modules/users/templates/users_update.html:65
msgid "Delete user and files"
msgstr "Supprimer l'utilisateur et les fichiers"
-#: modules/users/templates/users_update.html:63
+#: modules/users/templates/users_update.html:68
msgid "Cancel"
msgstr "Annuler"
@@ -9993,11 +10067,11 @@ msgstr "Installation"
msgid "Service %(service_name)s is not running."
msgstr "Le service %(service_name)s n’est pas actif."
-#: templates/apps.html:29
+#: templates/apps.html:33
msgid "Search with tags"
msgstr "Recherches avec des étiquettes"
-#: templates/apps.html:42
+#: templates/apps.html:46
msgid "Clear all tags"
msgstr "Supprimer toutes les étiquettes"
@@ -10010,35 +10084,35 @@ msgstr ""
"et de la maîtrise de vos données. C’est un logiciel libre qui vous laisse "
"installer et gérer facilement des applis de serveur."
-#: templates/base.html:116
+#: templates/base.html:118
msgid " Home"
msgstr " Accueil"
-#: templates/base.html:124
+#: templates/base.html:126
msgid " Apps"
msgstr " Applis"
-#: templates/base.html:133
+#: templates/base.html:135
msgid " System"
msgstr " Système"
-#: templates/base.html:172 templates/base.html:173
+#: templates/base.html:174 templates/base.html:175
msgid "Change password"
msgstr "Changer le mot de passe"
-#: templates/base.html:186 templates/base.html:187
+#: templates/base.html:188 templates/base.html:189
msgid "Shut down"
msgstr "Éteindre"
-#: templates/base.html:197 templates/base.html:235
+#: templates/base.html:199 templates/base.html:237
msgid "Log out"
msgstr "Se déconnecter"
-#: templates/base.html:206 templates/base.html:209
+#: templates/base.html:208 templates/base.html:211
msgid "Select language"
msgstr "Choisir la langue"
-#: templates/base.html:224 templates/base.html:226
+#: templates/base.html:226 templates/base.html:228
msgid "Log in"
msgstr "S’identifier"
@@ -10262,23 +10336,46 @@ msgstr ""
"L’ensemble données de l’appli et sa configuration seront définitivement "
"perdus. Un appli peut toujours être réinstallée de zéro."
-#: views.py:85
+#: views.py:84
msgid "Here"
msgstr "Ici"
-#: views.py:374
+#: views.py:376
msgid "Setting unchanged"
msgstr "Paramètre inchangé"
-#: views.py:609
+#: views.py:610
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr "avant la désinstallation de {app_id}"
-#: web_framework.py:114
+#: web_framework.py:122
msgid "Gujarati"
msgstr "Gujarati"
+#~ msgid "In 24 hour format."
+#~ msgstr "Au format 24 heures."
+
+#, python-brace-format
+#~ msgid ""
+#~ "Optional Value. If your {box_name} is not connected directly to the "
+#~ "Internet (i.e. connected to a NAT router) this URL is used to determine "
+#~ "the real IP address. The URL should simply return the IP where the client "
+#~ "comes from (example: https://ddns.freedombox.org/ip/)."
+#~ msgstr ""
+#~ "Paramètre optionnel. Entrer l’URL d’un service qui détecte "
+#~ "automatiquement votre adresse IP publique réelle et la retourne en "
+#~ "réponse (par exemple : https://ddns.freedombox.org/ip/). Cette URL sera "
+#~ "utilisée si votre {box_name} n’est pas connectée directement à Internet "
+#~ "(par exemple lorsqu’elle est connectée à un routeur à traduction "
+#~ "d’adresses réseau « NAT »)."
+
+#~ msgid "Manage Aliases for Mailbox"
+#~ msgstr "Gérer les alias pour la boîte aux lettres"
+
+#~ msgid "This app is experimental."
+#~ msgstr "Cette application est expérimentale."
+
#~ msgid "File & Snippet Sharing"
#~ msgstr "Partage de fichiers et de bribes de texte"
@@ -12536,9 +12633,6 @@ msgstr "Gujarati"
#~ msgid "Minetest server is not running"
#~ msgstr "Le serveur Minetest n'est pas actif"
-#~ msgid "Mumble server is running"
-#~ msgstr "Le serveur Mumble est actif"
-
#~ msgid "Mumble server is not running"
#~ msgstr "Le serveur Mumble n'est pas actif"
@@ -12645,10 +12739,6 @@ msgstr "Gujarati"
#~ msgid "repro SIP Server"
#~ msgstr "Serveur SIP repro"
-#~| msgid "Enable Quassel core service"
-#~ msgid "Enable repro service"
-#~ msgstr "Activer le service repro"
-
#~ msgid "Enable Shaarli"
#~ msgstr "Activer Shaarli"
diff --git a/plinth/locale/gl/LC_MESSAGES/django.po b/plinth/locale/gl/LC_MESSAGES/django.po
index 1976b577f..3811d26d2 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-12-30 20:05-0500\n"
+"POT-Creation-Date: 2025-01-13 20:33-0500\n"
"PO-Revision-Date: 2022-12-30 10:51+0000\n"
"Last-Translator: gallegonovato
SSH key-based authentication is not yet "
"possible."
msgstr ""
-#: modules/backups/forms.py:273
+#: modules/backups/forms.py:275
msgid "Remote backup repository already exists."
msgstr ""
-#: modules/backups/forms.py:279
+#: modules/backups/forms.py:281
msgid "Select verified SSH public key"
msgstr ""
#: modules/backups/manifest.py:14
#: modules/backups/templates/backups_repository.html:92
#: modules/backups/templates/backups_restore.html:27
-#: modules/backups/views.py:240 modules/snapshot/manifest.py:14
+#: modules/backups/views.py:238 modules/snapshot/manifest.py:14
#: templates/toolbar.html:44 templates/toolbar.html:45
msgid "Restore"
msgstr ""
@@ -512,16 +514,20 @@ msgstr ""
msgid "Backup system is busy with another operation."
msgstr ""
+#: modules/backups/privileged.py:92
+msgid "Not enough space left on the disk or remote location."
+msgstr ""
+
#: modules/backups/repository.py:94
msgid "Existing repository is not encrypted."
msgstr ""
-#: modules/backups/repository.py:266
+#: modules/backups/repository.py:289
#, python-brace-format
msgid "{box_name} storage"
msgstr ""
-#: modules/backups/templates/backups.html:17 modules/backups/views.py:125
+#: modules/backups/templates/backups.html:17 modules/backups/views.py:124
msgid "Create a new backup"
msgstr ""
@@ -565,10 +571,9 @@ msgstr ""
#: modules/help/templates/statuslog.html:24
#: modules/kiwix/templates/kiwix-add-package.html:26
#: modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:28
-#: modules/matrixsynapse/templates/matrix-synapse.html:76
+#: modules/matrixsynapse/templates/matrix-synapse.html:81
#: modules/names/templates/names.html:128
#: modules/networks/templates/connection_show.html:24
-#: modules/nextcloud/__init__.py:48
#: modules/pagekite/templates/pagekite_custom_services.html:16
#: modules/power/templates/power_busy_warning.html:11
#: modules/snapshot/templates/snapshot_not_supported.html:13
@@ -707,107 +712,107 @@ msgstr ""
msgid "Verify Host"
msgstr ""
-#: modules/backups/views.py:69
+#: modules/backups/views.py:68
msgid "Backup schedule updated."
msgstr ""
-#: modules/backups/views.py:88
+#: modules/backups/views.py:87
msgid "Schedule Backups"
msgstr ""
-#: modules/backups/views.py:150
+#: modules/backups/views.py:148
msgid "Archive created."
msgstr ""
-#: modules/backups/views.py:162
+#: modules/backups/views.py:160
msgid "Delete Archive"
msgstr ""
-#: modules/backups/views.py:175
+#: modules/backups/views.py:173
msgid "Archive deleted."
msgstr ""
-#: modules/backups/views.py:189
+#: modules/backups/views.py:187
msgid "Upload and restore a backup"
msgstr ""
-#: modules/backups/views.py:218
+#: modules/backups/views.py:216
msgid "Upload successful."
msgstr ""
-#: modules/backups/views.py:256
+#: modules/backups/views.py:254
msgid "No backup file found."
msgstr ""
-#: modules/backups/views.py:264
+#: modules/backups/views.py:262
msgid "Restore from uploaded file"
msgstr ""
-#: modules/backups/views.py:278 modules/backups/views.py:299
+#: modules/backups/views.py:276 modules/backups/views.py:297
msgid "Restored files from backup."
msgstr ""
-#: modules/backups/views.py:329
+#: modules/backups/views.py:327
msgid "No additional disks available to add a repository."
msgstr ""
-#: modules/backups/views.py:337
+#: modules/backups/views.py:335
msgid "Create backup repository"
msgstr ""
-#: modules/backups/views.py:352
+#: modules/backups/views.py:350
msgid "Added new repository."
msgstr ""
-#: modules/backups/views.py:366
+#: modules/backups/views.py:364
msgid "Create remote backup repository"
msgstr ""
-#: modules/backups/views.py:388
+#: modules/backups/views.py:386
msgid "Added new remote SSH repository."
msgstr ""
-#: modules/backups/views.py:410
+#: modules/backups/views.py:408
msgid "Verify SSH hostkey"
msgstr ""
-#: modules/backups/views.py:436
+#: modules/backups/views.py:434
msgid "SSH host already verified."
msgstr ""
-#: modules/backups/views.py:447
+#: modules/backups/views.py:445
msgid "SSH host verified."
msgstr ""
-#: modules/backups/views.py:463
+#: modules/backups/views.py:461
msgid "SSH host public key could not be verified."
msgstr ""
-#: modules/backups/views.py:465
+#: modules/backups/views.py:463
msgid "Authentication to remote server failed."
msgstr ""
-#: modules/backups/views.py:467
+#: modules/backups/views.py:465
msgid "Error establishing connection to server: {}"
msgstr ""
-#: modules/backups/views.py:478
+#: modules/backups/views.py:476
msgid "Repository removed."
msgstr ""
-#: modules/backups/views.py:492
+#: modules/backups/views.py:490
msgid "Remove Repository"
msgstr ""
-#: modules/backups/views.py:502
+#: modules/backups/views.py:500
msgid "Repository removed. Backups were not deleted."
msgstr ""
-#: modules/backups/views.py:513
+#: modules/backups/views.py:511
msgid "Unmounting failed!"
msgstr ""
-#: modules/backups/views.py:529 modules/backups/views.py:533
+#: modules/backups/views.py:527 modules/backups/views.py:531
msgid "Mounting failed"
msgstr ""
@@ -916,7 +921,7 @@ msgstr ""
msgid "No passwords currently configured."
msgstr ""
-#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:91
+#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:83
#: modules/miniflux/forms.py:14 modules/networks/forms.py:282
#: modules/shadowsocks/forms.py:32 modules/shadowsocksserver/forms.py:37
msgid "Password"
@@ -1034,8 +1039,10 @@ msgstr ""
msgid "Serving Domains"
msgstr ""
-#: modules/bind/templates/bind.html:17 modules/email/templates/email.html:38
-#: modules/ikiwiki/forms.py:12 modules/names/templates/names.html:18
+#: modules/bind/templates/bind.html:17
+#: modules/email/templates/email-dns.html:25
+#: modules/email/templates/email-dns.html:78 modules/ikiwiki/forms.py:12
+#: modules/names/templates/names.html:18
#: modules/networks/templates/connection_show.html:95
#: modules/samba/templates/samba.html:65
#: modules/storage/templates/storage.html:26
@@ -1065,7 +1072,7 @@ msgstr ""
#: modules/minetest/views.py:55 modules/mumble/views.py:37
#: modules/names/views.py:66 modules/names/views.py:95
#: modules/names/views.py:129 modules/pagekite/forms.py:74
-#: modules/privacy/views.py:50 modules/quassel/views.py:29
+#: modules/privacy/views.py:55 modules/quassel/views.py:29
#: modules/roundcube/views.py:32 modules/rssbridge/views.py:31
#: modules/shadowsocks/views.py:52 modules/shadowsocksserver/views.py:48
#: modules/ssh/views.py:62 modules/transmission/views.py:43
@@ -1652,7 +1659,7 @@ msgid "Test"
msgstr ""
#: modules/diagnostics/templates/diagnostics_results.html:12
-#: modules/dynamicdns/templates/dynamicdns.html:20
+#: modules/dynamicdns/templates/dynamicdns.html:25
msgid "Result"
msgstr ""
@@ -1665,7 +1672,7 @@ msgstr ""
msgid "App {app_id} is not installed, cannot repair"
msgstr ""
-#: modules/dynamicdns/__init__.py:28
+#: modules/dynamicdns/__init__.py:29
#, python-brace-format
msgid ""
"If your Internet provider changes your IP address periodically (i.e. every "
@@ -1673,7 +1680,7 @@ msgid ""
"prevent others from finding services which are provided by this {box_name}."
msgstr ""
-#: modules/dynamicdns/__init__.py:32
+#: modules/dynamicdns/__init__.py:33
msgid ""
"The solution is to assign a DNS name to your IP address and update the DNS "
"name every time your IP is changed by your Internet provider. Dynamic DNS "
@@ -1684,7 +1691,7 @@ msgid ""
"IP address."
msgstr ""
-#: modules/dynamicdns/__init__.py:40
+#: modules/dynamicdns/__init__.py:41
msgid ""
"If you are looking for a free dynamic DNS account, you may find a free "
"GnuDIP service at ddns."
@@ -1692,11 +1699,17 @@ msgid ""
"href='http://freedns.afraid.org/' target='_blank'>freedns.afraid.org."
msgstr ""
-#: modules/dynamicdns/__init__.py:61
+#: modules/dynamicdns/__init__.py:46
+msgid ""
+"This service uses an external service to lookup public IP address. This can "
+"be configured in the privacy app."
+msgstr ""
+
+#: modules/dynamicdns/__init__.py:64
msgid "Dynamic DNS Client"
msgstr ""
-#: modules/dynamicdns/__init__.py:75
+#: modules/dynamicdns/__init__.py:78
msgid "Dynamic Domain Name"
msgstr ""
@@ -1740,84 +1753,71 @@ msgid "Leave this field empty if you want to keep your current password."
msgstr ""
#: modules/dynamicdns/forms.py:43
-#, python-brace-format
-msgid ""
-"Optional Value. If your {box_name} is not connected directly to the Internet "
-"(i.e. connected to a NAT router) this URL is used to determine the real IP "
-"address. The URL should simply return the IP where the client comes from "
-"(example: https://ddns.freedombox.org/ip/)."
-msgstr ""
-
-#: modules/dynamicdns/forms.py:51
msgid "The username that was used when the account was created."
msgstr ""
-#: modules/dynamicdns/forms.py:54
+#: modules/dynamicdns/forms.py:46
msgid "GnuDIP"
msgstr ""
-#: modules/dynamicdns/forms.py:57
+#: modules/dynamicdns/forms.py:49
msgid "Other update URL"
msgstr ""
-#: modules/dynamicdns/forms.py:59
+#: modules/dynamicdns/forms.py:51
msgid "Service Type"
msgstr ""
-#: modules/dynamicdns/forms.py:64
+#: modules/dynamicdns/forms.py:56
msgid "GnuDIP Server Address"
msgstr ""
-#: modules/dynamicdns/forms.py:67
+#: modules/dynamicdns/forms.py:59
msgid "Invalid server name"
msgstr ""
-#: modules/dynamicdns/forms.py:70
+#: modules/dynamicdns/forms.py:62
msgid "Update URL"
msgstr ""
-#: modules/dynamicdns/forms.py:74
+#: modules/dynamicdns/forms.py:66
msgid "Accept all SSL certificates"
msgstr ""
-#: modules/dynamicdns/forms.py:78
+#: modules/dynamicdns/forms.py:70
msgid "Use HTTP basic authentication"
msgstr ""
-#: modules/dynamicdns/forms.py:82 modules/names/__init__.py:68
+#: modules/dynamicdns/forms.py:74 modules/names/__init__.py:68
#: modules/names/forms.py:106 modules/names/templates/names.html:19
msgid "Domain Name"
msgstr ""
-#: modules/dynamicdns/forms.py:85 modules/names/forms.py:99
+#: modules/dynamicdns/forms.py:77 modules/names/forms.py:99
#: modules/names/forms.py:117
msgid "Invalid domain name"
msgstr ""
-#: modules/dynamicdns/forms.py:88 modules/miniflux/forms.py:11
+#: modules/dynamicdns/forms.py:80 modules/miniflux/forms.py:11
#: modules/networks/forms.py:281 modules/users/forms.py:130
msgid "Username"
msgstr ""
-#: modules/dynamicdns/forms.py:95 modules/networks/forms.py:284
+#: modules/dynamicdns/forms.py:87 modules/networks/forms.py:284
msgid "Show password"
msgstr ""
-#: modules/dynamicdns/forms.py:99
-msgid "URL to look up public IP"
-msgstr ""
-
-#: modules/dynamicdns/forms.py:104
+#: modules/dynamicdns/forms.py:91
msgid "Use IPv6 instead of IPv4"
msgstr ""
-#: modules/dynamicdns/forms.py:123
+#: modules/dynamicdns/forms.py:110
msgid "This field is required."
msgstr ""
#: modules/dynamicdns/manifest.py:17
-#: modules/dynamicdns/templates/dynamicdns.html:18
-#: modules/email/templates/email.html:35
+#: modules/dynamicdns/templates/dynamicdns.html:23
+#: modules/email/templates/email-dns.html:22
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64
msgid "Domain"
@@ -1831,37 +1831,37 @@ msgstr ""
msgid "Needs public IP"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:11
-#: modules/ejabberd/templates/ejabberd.html:13 modules/firewall/manifest.py:10
+#: modules/dynamicdns/templates/dynamicdns.html:16
+#: modules/ejabberd/templates/ejabberd.html:18 modules/firewall/manifest.py:10
#: modules/firewall/templates/firewall.html:16
#: modules/firewall/templates/firewall.html:22
#: modules/letsencrypt/templates/letsencrypt.html:17
-#: modules/matrixsynapse/templates/matrix-synapse.html:12
+#: modules/matrixsynapse/templates/matrix-synapse.html:17
#: modules/networks/templates/connection_show.html:258
-#: modules/samba/templates/samba.html:67 modules/tor/templates/tor.html:19
+#: modules/samba/templates/samba.html:67 modules/tor/templates/tor.html:24
#: modules/upgrades/templates/upgrades_configure.html:14
#: modules/wireguard/templates/wireguard_show_client.html:48
#: modules/wireguard/templates/wireguard_show_server.html:47
msgid "Status"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:19
+#: modules/dynamicdns/templates/dynamicdns.html:24
msgid "Last update"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:21
+#: modules/dynamicdns/templates/dynamicdns.html:26
msgid "IP Address"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:32
+#: modules/dynamicdns/templates/dynamicdns.html:37
msgid "Success"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:36
+#: modules/dynamicdns/templates/dynamicdns.html:41
msgid "Failed"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:52
+#: modules/dynamicdns/templates/dynamicdns.html:57
msgid "No status available."
msgstr ""
@@ -2009,7 +2009,7 @@ msgstr ""
msgid "XMPP"
msgstr ""
-#: modules/ejabberd/templates/ejabberd.html:18
+#: modules/ejabberd/templates/ejabberd.html:23
#, python-format
msgid ""
"Your XMPP server domain is set to %(domain_name)s. User IDs will look "
@@ -2017,7 +2017,7 @@ msgid ""
"system Name Services page."
msgstr ""
-#: modules/ejabberd/templates/ejabberd.html:25
+#: modules/ejabberd/templates/ejabberd.html:30
#, python-format
msgid ""
"Your XMPP server domain is not set. You can setup your domain on the system "
@@ -2065,12 +2065,16 @@ msgstr ""
msgid "Postfix/Dovecot"
msgstr ""
-#: modules/email/__init__.py:83
-msgid "My Email Aliases"
+#: modules/email/__init__.py:80
+msgid "More emails"
msgstr ""
-#: modules/email/__init__.py:84
-msgid "Manage Aliases for Mailbox"
+#: modules/email/__init__.py:80
+msgid "Same mailbox"
+msgstr ""
+
+#: modules/email/__init__.py:82
+msgid "My Email Aliases"
msgstr ""
#: modules/email/forms.py:25
@@ -2151,45 +2155,90 @@ msgstr ""
msgid "Add"
msgstr ""
-#: modules/email/templates/email.html:10
-msgid "Manage Spam"
+#: modules/email/templates/email-dns.html:9
+msgid "DNS Records for domain:"
msgstr ""
-#: modules/email/templates/email.html:22
-msgid "DNS Records"
-msgstr ""
-
-#: modules/email/templates/email.html:25
+#: modules/email/templates/email-dns.html:12
msgid ""
-"The following DNS records must be added manually on your primary domain for "
-"the mail server to work properly."
+"The following DNS records must be added manually on this domain for the mail "
+"server to work properly for this domain."
msgstr ""
-#: modules/email/templates/email.html:36
+#: modules/email/templates/email-dns.html:23
+#: modules/email/templates/email-dns.html:77
msgid "TTL"
msgstr ""
-#: modules/email/templates/email.html:37
+#: modules/email/templates/email-dns.html:24
msgid "Class"
msgstr ""
-#: modules/email/templates/email.html:39
+#: modules/email/templates/email-dns.html:26
msgid "Priority"
msgstr ""
-#: modules/email/templates/email.html:40
+#: modules/email/templates/email-dns.html:27
msgid "Weight"
msgstr ""
-#: modules/email/templates/email.html:41
+#: modules/email/templates/email-dns.html:28
#: modules/minetest/templates/minetest.html:18
msgid "Port"
msgstr ""
-#: modules/email/templates/email.html:42
+#: modules/email/templates/email-dns.html:29
+#: modules/email/templates/email-dns.html:79
msgid "Host/Target/Value"
msgstr ""
+#: modules/email/templates/email-dns.html:50
+msgid "Reverse DNS Records for IP Addresses"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:53
+#, python-format
+msgid ""
+"If your %(box_name)s runs on a cloud service infrastructure, you should "
+"configure "
+"Reverse DNS lookup. This isn't mandatory, however, it greatly improves "
+"email deliverability. Reverse DNS isn't configured where your regular DNS "
+"is. You should look for it in the settings of your VPS/ISP. Some providers "
+"preconfigure the IP address part for you and you only have to set the domain "
+"part. Only one of your domains can have Revese DNS lookup configured unless "
+"you have multiple public IP addresses."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:66
+msgid ""
+"An external service is used to lookup public IP address to show in the "
+"following section. This can be configured in the privacy app."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:76
+msgid "Host"
+msgstr ""
+
+#: modules/email/templates/email.html:10
+msgid "Manage Spam"
+msgstr ""
+
+#: modules/email/templates/email.html:20 modules/names/manifest.py:11
+#: modules/names/templates/names.html:12
+msgid "Domains"
+msgstr ""
+
+#: modules/email/templates/email.html:23
+msgid ""
+"The following domains are configured. View details to see the list of DNS "
+"entries to be made for the domain."
+msgstr ""
+
+#: modules/email/templates/email.html:35
+#, python-format
+msgid "View domain: %(domain)s"
+msgstr ""
+
#: modules/featherwiki/__init__.py:25
#, python-brace-format
msgid ""
@@ -2432,7 +2481,7 @@ msgstr ""
msgid "Port {name} ({details}) unavailable for external networks"
msgstr ""
-#: modules/firewall/manifest.py:10 modules/tor/templates/tor.html:20
+#: modules/firewall/manifest.py:10 modules/tor/templates/tor.html:25
msgid "Ports"
msgstr ""
@@ -2761,9 +2810,9 @@ msgstr ""
msgid "Contribute"
msgstr ""
-#: modules/help/__init__.py:53 templates/base.html:215 templates/base.html:218
+#: modules/help/__init__.py:53 templates/base.html:217 templates/base.html:220
#: templates/help-menu.html:46 templates/help-menu.html:47
-#: templates/index.html:98
+#: templates/index.html:96
msgid "About"
msgstr "Acerca de"
@@ -2896,7 +2945,7 @@ msgstr ""
#: modules/help/templates/help_contribute.html:42
#: modules/power/templates/power_restart.html:27
-#: modules/power/templates/power_shutdown.html:26 templates/app-header.html:68
+#: modules/power/templates/power_shutdown.html:26 templates/app-header.html:65
msgid "Learn more..."
msgstr ""
@@ -3220,7 +3269,7 @@ msgid "Web conference"
msgstr ""
#: modules/janus/templates/janus_video_room.html:205
-#: modules/jsxc/templates/jsxc_launch.html:117 templates/base.html:271
+#: modules/jsxc/templates/jsxc_launch.html:117 templates/base.html:273
msgid "JavaScript license information"
msgstr ""
@@ -3588,7 +3637,7 @@ msgid ""
"least one domain to be able to use Matrix Synapse."
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:15
+#: modules/matrixsynapse/templates/matrix-synapse.html:20
#, python-format
msgid ""
"The Matrix server domain is set to %(domain_name)s. User IDs will "
@@ -3596,43 +3645,43 @@ msgid ""
"the initial setup is currently not supported."
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:22
+#: modules/matrixsynapse/templates/matrix-synapse.html:27
msgid ""
"New users can be registered from any client if public registration is "
"enabled."
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:29
+#: modules/matrixsynapse/templates/matrix-synapse.html:34
msgid ""
"New users must use one of the following tokens for verification during "
"account registration:"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:38
+#: modules/matrixsynapse/templates/matrix-synapse.html:43
msgid "Registration Token"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:39
+#: modules/matrixsynapse/templates/matrix-synapse.html:44
msgid "Uses Allowed"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:40
+#: modules/matrixsynapse/templates/matrix-synapse.html:45
msgid "Pending Registrations"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:41
+#: modules/matrixsynapse/templates/matrix-synapse.html:46
msgid "Completed Registrations"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:42
+#: modules/matrixsynapse/templates/matrix-synapse.html:47
msgid "Expiry Time"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:51
+#: modules/matrixsynapse/templates/matrix-synapse.html:56
msgid "Unlimited"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:80
+#: modules/matrixsynapse/templates/matrix-synapse.html:85
#, python-format
msgid ""
"The configured domain name is using a self-signed certificate. Federation "
@@ -4049,23 +4098,27 @@ msgstr ""
msgid "An error occurred during password reset: {error}."
msgstr ""
-#: modules/mumble/__init__.py:25
+#: modules/mumble/__init__.py:27
msgid ""
"Mumble is an open source, low-latency, encrypted, high quality voice chat "
"software."
msgstr ""
-#: modules/mumble/__init__.py:27
+#: modules/mumble/__init__.py:29
msgid ""
"You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your "
"desktop and mobile devices are available."
msgstr ""
-#: modules/mumble/__init__.py:45 modules/mumble/manifest.py:9
+#: modules/mumble/__init__.py:47 modules/mumble/manifest.py:9
msgid "Mumble"
msgstr ""
+#: modules/mumble/__init__.py:158
+msgid "Mumble server is configured"
+msgstr ""
+
#: modules/mumble/forms.py:30
msgid "Set SuperUser Password"
msgstr ""
@@ -4190,10 +4243,6 @@ msgid ""
"or less."
msgstr ""
-#: modules/names/manifest.py:11 modules/names/templates/names.html:12
-msgid "Domains"
-msgstr ""
-
#: modules/names/manifest.py:13
msgid "DNS Resolution"
msgstr ""
@@ -4692,7 +4741,7 @@ msgstr ""
#: modules/networks/templates/connection_show.html:40
#: modules/wireguard/templates/wireguard_show_client.html:72
#: modules/wireguard/templates/wireguard_show_server.html:73
-#: templates/base.html:165 templates/base.html:166
+#: templates/base.html:167 templates/base.html:168
msgid "Edit"
msgstr ""
@@ -4745,7 +4794,7 @@ msgstr ""
#: modules/networks/templates/connection_show.html:107
#: modules/snapshot/templates/snapshot_delete_selected.html:19
-#: modules/snapshot/templates/snapshot_manage.html:29
+#: modules/snapshot/templates/snapshot_manage.html:34
#: modules/snapshot/templates/snapshot_rollback.html:27
msgid "Description"
msgstr ""
@@ -4823,8 +4872,8 @@ msgstr ""
#: modules/networks/templates/connection_show.html:264
#: modules/networks/templates/connections_fields_privacy.html:15
-#: modules/openvpn/manifest.py:60 modules/privacy/__init__.py:32
-#: modules/privacy/__init__.py:72 modules/wireguard/manifest.py:45
+#: modules/openvpn/manifest.py:60 modules/privacy/__init__.py:38
+#: modules/privacy/__init__.py:77 modules/wireguard/manifest.py:45
msgid "Privacy"
msgstr ""
@@ -4908,7 +4957,7 @@ msgstr ""
msgid "Computer"
msgstr ""
-#: modules/networks/templates/connections_edit.html:19
+#: modules/networks/templates/connections_edit.html:24
#: modules/networks/views.py:253 modules/networks/views.py:341
msgid "Edit Connection"
msgstr ""
@@ -4919,7 +4968,7 @@ msgid "Error:"
msgstr ""
#: modules/networks/templates/connections_fields.html:20
-#: modules/users/templates/users_update.html:46 templates/messages.html:30
+#: modules/users/templates/users_update.html:51 templates/messages.html:30
msgid "Close"
msgstr ""
@@ -5011,7 +5060,7 @@ msgstr ""
#: modules/networks/templates/network_topology_update.html:18
#: modules/networks/templates/router_configuration_update.html:19
#: modules/pagekite/templates/pagekite_custom_services.html:33
-#: modules/sharing/templates/sharing_add_edit.html:20 templates/form.html:19
+#: modules/sharing/templates/sharing_add_edit.html:25 templates/form.html:19
msgid "Submit"
msgstr ""
@@ -5407,11 +5456,7 @@ msgid ""
"performed following an independent cycle."
msgstr ""
-#: modules/nextcloud/__init__.py:48
-msgid "This app is experimental."
-msgstr ""
-
-#: modules/nextcloud/__init__.py:66 modules/nextcloud/manifest.py:11
+#: modules/nextcloud/__init__.py:65 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
msgid "Nextcloud"
msgstr ""
@@ -5581,7 +5626,7 @@ msgstr ""
msgid "PageKite"
msgstr ""
-#: modules/pagekite/__init__.py:73
+#: modules/pagekite/__init__.py:72
msgid "PageKite Domain"
msgstr ""
@@ -5760,8 +5805,8 @@ msgstr ""
msgid "Shutdown"
msgstr ""
-#: modules/power/templates/power.html:15 templates/base.html:180
-#: templates/base.html:181
+#: modules/power/templates/power.html:15 templates/base.html:182
+#: templates/base.html:183
msgid "Restart"
msgstr ""
@@ -5797,23 +5842,33 @@ msgstr ""
msgid "Shut Down Now"
msgstr ""
-#: modules/privacy/__init__.py:15
+#: modules/privacy/__init__.py:21
msgid "Manage system-wide privacy settings."
msgstr ""
-#: modules/privacy/__init__.py:70
+#: modules/privacy/__init__.py:75
msgid "Please update privacy settings to match your preferences."
msgstr ""
-#: modules/privacy/__init__.py:75
+#: modules/privacy/__init__.py:80
msgid "Review privacy setting"
msgstr ""
-#: modules/privacy/forms.py:16
+#: modules/privacy/forms.py:17
+#, python-brace-format
+msgid ""
+"Optional Value. This URL is used to determine the publicly visible IP "
+"address of your {box_name}. The URL should simply return the IPv4 or IPv6 "
+"address where the client request comes from. Default is to use the service "
+"provided by the FreedomBox Foundation at https://ddns.freedombox.org/ip/. If "
+"empty, lookups are disabled and some functionality will fail."
+msgstr ""
+
+#: modules/privacy/forms.py:25
msgid "Periodically submit a list of apps used (suggested)"
msgstr ""
-#: modules/privacy/forms.py:18
+#: modules/privacy/forms.py:27
#, python-brace-format
msgid ""
"Help Debian/{box_name} developers by participating in the Popularity Contest "
@@ -5824,11 +5879,11 @@ msgid ""
"network for additional anonymity if Tor app is enabled."
msgstr ""
-#: modules/privacy/forms.py:28
+#: modules/privacy/forms.py:37
msgid "Allow using fallback DNS servers"
msgstr ""
-#: modules/privacy/forms.py:30
+#: modules/privacy/forms.py:39
msgid ""
"Use well-known public DNS servers to resolve domain names in unusual "
"circumstances where no DNS servers are known but internet connectivity is "
@@ -5836,10 +5891,20 @@ msgid ""
"and reliable."
msgstr ""
+#: modules/privacy/forms.py:45
+msgid "URL to look up public IP address"
+msgstr ""
+
#: modules/privacy/manifest.py:10
msgid "Usage reporting"
msgstr ""
+#: modules/privacy/manifest.py:10
+#, fuzzy
+#| msgid "Service Discovery"
+msgid "External services"
+msgstr "Descubrimento de servizo"
+
#: modules/privacy/manifest.py:10
msgid "Fallback DNS"
msgstr ""
@@ -6753,40 +6818,40 @@ msgid "Delete the following snapshots permanently?"
msgstr ""
#: modules/snapshot/templates/snapshot_delete_selected.html:17
-#: modules/snapshot/templates/snapshot_manage.html:27
+#: modules/snapshot/templates/snapshot_manage.html:32
#: modules/snapshot/templates/snapshot_rollback.html:25
msgid "Number"
msgstr ""
#: modules/snapshot/templates/snapshot_delete_selected.html:18
-#: modules/snapshot/templates/snapshot_manage.html:28
+#: modules/snapshot/templates/snapshot_manage.html:33
#: modules/snapshot/templates/snapshot_rollback.html:26
msgid "Date"
msgstr ""
#: modules/snapshot/templates/snapshot_delete_selected.html:42
-#: modules/snapshot/templates/snapshot_manage.html:20
+#: modules/snapshot/templates/snapshot_manage.html:25
#: modules/snapshot/views.py:197
msgid "Delete Snapshots"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:17
+#: modules/snapshot/templates/snapshot_manage.html:22
msgid "Create Snapshot"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:30
+#: modules/snapshot/templates/snapshot_manage.html:35
msgid "Rollback"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:40
+#: modules/snapshot/templates/snapshot_manage.html:45
msgid "will be used at next boot"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:45
+#: modules/snapshot/templates/snapshot_manage.html:50
msgid "in use"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:54
+#: modules/snapshot/templates/snapshot_manage.html:59
#, python-format
msgid "Rollback to snapshot #%(number)s"
msgstr ""
@@ -7319,27 +7384,27 @@ msgstr ""
msgid "Tor"
msgstr ""
-#: modules/tor/__init__.py:78
+#: modules/tor/__init__.py:77
msgid "Tor Onion Service"
msgstr ""
-#: modules/tor/__init__.py:82
+#: modules/tor/__init__.py:81
msgid "Tor Bridge Relay"
msgstr ""
-#: modules/tor/__init__.py:140
+#: modules/tor/__init__.py:139
msgid "Tor relay port available"
msgstr ""
-#: modules/tor/__init__.py:152
+#: modules/tor/__init__.py:151
msgid "Obfs3 transport registered"
msgstr ""
-#: modules/tor/__init__.py:163
+#: modules/tor/__init__.py:162
msgid "Obfs4 transport registered"
msgstr ""
-#: modules/tor/__init__.py:176
+#: modules/tor/__init__.py:175
msgid "Onion service is version 3"
msgstr ""
@@ -7431,7 +7496,7 @@ msgstr ""
msgid "Anonymity network"
msgstr ""
-#: modules/tor/templates/tor.html:18
+#: modules/tor/templates/tor.html:23
msgid "Onion Service"
msgstr ""
@@ -7999,39 +8064,39 @@ msgstr ""
msgid "Edit user %(username)s"
msgstr ""
-#: modules/users/templates/users_update.html:12
+#: modules/users/templates/users_update.html:17
#, python-format
msgid "Edit User %(username)s"
msgstr ""
-#: modules/users/templates/users_update.html:20
+#: modules/users/templates/users_update.html:25
#, python-format
msgid ""
"Use the change password form to "
"change the password."
msgstr ""
-#: modules/users/templates/users_update.html:32
+#: modules/users/templates/users_update.html:37
#: templates/language-selection.html:17
msgid "Save Changes"
msgstr ""
-#: modules/users/templates/users_update.html:41
+#: modules/users/templates/users_update.html:46
#, python-format
msgid "Delete user %(username)s and all the user's files?"
msgstr ""
-#: modules/users/templates/users_update.html:51
+#: modules/users/templates/users_update.html:56
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
msgstr ""
-#: modules/users/templates/users_update.html:60
+#: modules/users/templates/users_update.html:65
msgid "Delete user and files"
msgstr ""
-#: modules/users/templates/users_update.html:63
+#: modules/users/templates/users_update.html:68
msgid "Cancel"
msgstr ""
@@ -8669,11 +8734,11 @@ msgstr ""
msgid "Service %(service_name)s is not running."
msgstr ""
-#: templates/apps.html:29
+#: templates/apps.html:33
msgid "Search with tags"
msgstr ""
-#: templates/apps.html:42
+#: templates/apps.html:46
msgid "Clear all tags"
msgstr ""
@@ -8683,35 +8748,35 @@ msgid ""
"is free software that lets you install and manage server apps with ease."
msgstr ""
-#: templates/base.html:116
+#: templates/base.html:118
msgid " Home"
msgstr ""
-#: templates/base.html:124
+#: templates/base.html:126
msgid " Apps"
msgstr ""
-#: templates/base.html:133
+#: templates/base.html:135
msgid " System"
msgstr ""
-#: templates/base.html:172 templates/base.html:173
+#: templates/base.html:174 templates/base.html:175
msgid "Change password"
msgstr ""
-#: templates/base.html:186 templates/base.html:187
+#: templates/base.html:188 templates/base.html:189
msgid "Shut down"
msgstr ""
-#: templates/base.html:197 templates/base.html:235
+#: templates/base.html:199 templates/base.html:237
msgid "Log out"
msgstr ""
-#: templates/base.html:206 templates/base.html:209
+#: templates/base.html:208 templates/base.html:211
msgid "Select language"
msgstr ""
-#: templates/base.html:224 templates/base.html:226
+#: templates/base.html:226 templates/base.html:228
msgid "Log in"
msgstr ""
@@ -8915,20 +8980,20 @@ msgid ""
"installed freshly again."
msgstr ""
-#: views.py:85
+#: views.py:84
msgid "Here"
msgstr ""
-#: views.py:374
+#: views.py:376
msgid "Setting unchanged"
msgstr ""
-#: views.py:609
+#: views.py:610
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""
-#: web_framework.py:114
+#: web_framework.py:122
msgid "Gujarati"
msgstr ""
diff --git a/plinth/locale/gu/LC_MESSAGES/django.po b/plinth/locale/gu/LC_MESSAGES/django.po
index f419cf5b7..4b9304416 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-12-30 20:05-0500\n"
+"POT-Creation-Date: 2025-01-13 20:33-0500\n"
"PO-Revision-Date: 2021-01-18 12:32+0000\n"
"Last-Translator: ikmaak
SSH key-based authentication is not yet "
"possible."
msgstr ""
-#: modules/backups/forms.py:273
+#: modules/backups/forms.py:275
msgid "Remote backup repository already exists."
msgstr ""
-#: modules/backups/forms.py:279
+#: modules/backups/forms.py:281
msgid "Select verified SSH public key"
msgstr ""
#: modules/backups/manifest.py:14
#: modules/backups/templates/backups_repository.html:92
#: modules/backups/templates/backups_restore.html:27
-#: modules/backups/views.py:240 modules/snapshot/manifest.py:14
+#: modules/backups/views.py:238 modules/snapshot/manifest.py:14
#: templates/toolbar.html:44 templates/toolbar.html:45
msgid "Restore"
msgstr ""
@@ -529,16 +531,20 @@ msgstr ""
msgid "Backup system is busy with another operation."
msgstr ""
+#: modules/backups/privileged.py:92
+msgid "Not enough space left on the disk or remote location."
+msgstr ""
+
#: modules/backups/repository.py:94
msgid "Existing repository is not encrypted."
msgstr ""
-#: modules/backups/repository.py:266
+#: modules/backups/repository.py:289
#, python-brace-format
msgid "{box_name} storage"
msgstr ""
-#: modules/backups/templates/backups.html:17 modules/backups/views.py:125
+#: modules/backups/templates/backups.html:17 modules/backups/views.py:124
msgid "Create a new backup"
msgstr ""
@@ -586,10 +592,9 @@ msgstr ""
#: modules/help/templates/statuslog.html:24
#: modules/kiwix/templates/kiwix-add-package.html:26
#: modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:28
-#: modules/matrixsynapse/templates/matrix-synapse.html:76
+#: modules/matrixsynapse/templates/matrix-synapse.html:81
#: modules/names/templates/names.html:128
#: modules/networks/templates/connection_show.html:24
-#: modules/nextcloud/__init__.py:48
#: modules/pagekite/templates/pagekite_custom_services.html:16
#: modules/power/templates/power_busy_warning.html:11
#: modules/snapshot/templates/snapshot_not_supported.html:13
@@ -742,111 +747,111 @@ msgstr ""
msgid "Verify Host"
msgstr ""
-#: modules/backups/views.py:69
+#: modules/backups/views.py:68
msgid "Backup schedule updated."
msgstr ""
-#: modules/backups/views.py:88
+#: modules/backups/views.py:87
msgid "Schedule Backups"
msgstr ""
-#: modules/backups/views.py:150
+#: modules/backups/views.py:148
msgid "Archive created."
msgstr ""
-#: modules/backups/views.py:162
+#: modules/backups/views.py:160
msgid "Delete Archive"
msgstr ""
-#: modules/backups/views.py:175
+#: modules/backups/views.py:173
msgid "Archive deleted."
msgstr ""
-#: modules/backups/views.py:189
+#: modules/backups/views.py:187
msgid "Upload and restore a backup"
msgstr ""
-#: modules/backups/views.py:218
+#: modules/backups/views.py:216
msgid "Upload successful."
msgstr ""
-#: modules/backups/views.py:256
+#: modules/backups/views.py:254
msgid "No backup file found."
msgstr ""
-#: modules/backups/views.py:264
+#: modules/backups/views.py:262
msgid "Restore from uploaded file"
msgstr ""
-#: modules/backups/views.py:278 modules/backups/views.py:299
+#: modules/backups/views.py:276 modules/backups/views.py:297
msgid "Restored files from backup."
msgstr ""
-#: modules/backups/views.py:329
+#: modules/backups/views.py:327
msgid "No additional disks available to add a repository."
msgstr ""
-#: modules/backups/views.py:337
+#: modules/backups/views.py:335
msgid "Create backup repository"
msgstr ""
-#: modules/backups/views.py:352
+#: modules/backups/views.py:350
#, fuzzy
#| msgid "Documentation"
msgid "Added new repository."
msgstr "દસ્તાવેજીકરણ"
-#: modules/backups/views.py:366
+#: modules/backups/views.py:364
msgid "Create remote backup repository"
msgstr ""
-#: modules/backups/views.py:388
+#: modules/backups/views.py:386
msgid "Added new remote SSH repository."
msgstr ""
-#: modules/backups/views.py:410
+#: modules/backups/views.py:408
msgid "Verify SSH hostkey"
msgstr ""
-#: modules/backups/views.py:436
+#: modules/backups/views.py:434
msgid "SSH host already verified."
msgstr ""
-#: modules/backups/views.py:447
+#: modules/backups/views.py:445
msgid "SSH host verified."
msgstr ""
-#: modules/backups/views.py:463
+#: modules/backups/views.py:461
msgid "SSH host public key could not be verified."
msgstr ""
-#: modules/backups/views.py:465
+#: modules/backups/views.py:463
msgid "Authentication to remote server failed."
msgstr ""
-#: modules/backups/views.py:467
+#: modules/backups/views.py:465
#, fuzzy
#| msgid "Error installing application: {error}"
msgid "Error establishing connection to server: {}"
msgstr "એપ્લીકેશન પ્રસ્થાપિત કરતાં ભૂલ થઇ છે: {error}"
-#: modules/backups/views.py:478
+#: modules/backups/views.py:476
msgid "Repository removed."
msgstr ""
-#: modules/backups/views.py:492
+#: modules/backups/views.py:490
msgid "Remove Repository"
msgstr ""
-#: modules/backups/views.py:502
+#: modules/backups/views.py:500
msgid "Repository removed. Backups were not deleted."
msgstr ""
-#: modules/backups/views.py:513
+#: modules/backups/views.py:511
msgid "Unmounting failed!"
msgstr ""
-#: modules/backups/views.py:529 modules/backups/views.py:533
+#: modules/backups/views.py:527 modules/backups/views.py:531
msgid "Mounting failed"
msgstr ""
@@ -959,7 +964,7 @@ msgstr "પાસવર્ડ બતાવો"
msgid "No passwords currently configured."
msgstr ""
-#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:91
+#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:83
#: modules/miniflux/forms.py:14 modules/networks/forms.py:282
#: modules/shadowsocks/forms.py:32 modules/shadowsocksserver/forms.py:37
msgid "Password"
@@ -1092,8 +1097,10 @@ msgstr ""
msgid "Serving Domains"
msgstr ""
-#: modules/bind/templates/bind.html:17 modules/email/templates/email.html:38
-#: modules/ikiwiki/forms.py:12 modules/names/templates/names.html:18
+#: modules/bind/templates/bind.html:17
+#: modules/email/templates/email-dns.html:25
+#: modules/email/templates/email-dns.html:78 modules/ikiwiki/forms.py:12
+#: modules/names/templates/names.html:18
#: modules/networks/templates/connection_show.html:95
#: modules/samba/templates/samba.html:65
#: modules/storage/templates/storage.html:26
@@ -1125,7 +1132,7 @@ msgstr ""
#: modules/minetest/views.py:55 modules/mumble/views.py:37
#: modules/names/views.py:66 modules/names/views.py:95
#: modules/names/views.py:129 modules/pagekite/forms.py:74
-#: modules/privacy/views.py:50 modules/quassel/views.py:29
+#: modules/privacy/views.py:55 modules/quassel/views.py:29
#: modules/roundcube/views.py:32 modules/rssbridge/views.py:31
#: modules/shadowsocks/views.py:52 modules/shadowsocksserver/views.py:48
#: modules/ssh/views.py:62 modules/transmission/views.py:43
@@ -1772,7 +1779,7 @@ msgid "Test"
msgstr "પરીક્ષણ"
#: modules/diagnostics/templates/diagnostics_results.html:12
-#: modules/dynamicdns/templates/dynamicdns.html:20
+#: modules/dynamicdns/templates/dynamicdns.html:25
msgid "Result"
msgstr "પરિણામ"
@@ -1785,7 +1792,7 @@ msgstr "તપાસકીય પરિક્ષણ"
msgid "App {app_id} is not installed, cannot repair"
msgstr ""
-#: modules/dynamicdns/__init__.py:28
+#: modules/dynamicdns/__init__.py:29
#, fuzzy, python-brace-format
msgid ""
"If your Internet provider changes your IP address periodically (i.e. every "
@@ -1796,7 +1803,7 @@ msgstr ""
"અન્ય લોકો માટે તમને ઇન્ટરનેટ પર શોધવા માટે મુશ્કેલ હોઈ શકે છે. આ અન્ય લોકો જે આ દ્વારા "
"પ્રદાન કરવામાં આવે છે તે સેવાઓ શોધવાનું અટકાવશે {box_name}"
-#: modules/dynamicdns/__init__.py:32
+#: modules/dynamicdns/__init__.py:33
msgid ""
"The solution is to assign a DNS name to your IP address and update the DNS "
"name every time your IP is changed by your Internet provider. Dynamic DNS "
@@ -1813,7 +1820,7 @@ msgstr ""
"પર સોંપી દેશે, અને જો ઇન્ટરનેટમાંથી કોઈ વ્યક્તિ તમારા DNS નામ માટે પૂછે, તેઓને તમારા "
"વર્તમાન IP સરનામા સાથે પ્રતિસાદ મળશે."
-#: modules/dynamicdns/__init__.py:40
+#: modules/dynamicdns/__init__.py:41
#, fuzzy
#| msgid ""
#| "If you are looking for a free dynamic DNS account, you may find a free "
@@ -1832,11 +1839,17 @@ msgstr ""
"net અથવા તમે મફત અપડેટ URL આધારિત સેવાઓને અહીંથી શોધી શકો છો freedns.afraid.org."
-#: modules/dynamicdns/__init__.py:61
+#: modules/dynamicdns/__init__.py:46
+msgid ""
+"This service uses an external service to lookup public IP address. This can "
+"be configured in the privacy app."
+msgstr ""
+
+#: modules/dynamicdns/__init__.py:64
msgid "Dynamic DNS Client"
msgstr "ડાયનેમિક DNS ક્લાયન્ટ"
-#: modules/dynamicdns/__init__.py:75
+#: modules/dynamicdns/__init__.py:78
#, fuzzy
#| msgid "Domain Name"
msgid "Dynamic Domain Name"
@@ -1891,94 +1904,73 @@ msgid "Leave this field empty if you want to keep your current password."
msgstr "જો તમે તમારા વર્તમાન પાસવર્ડને રાખવા માંગતા હો તો આ ક્ષેત્ર ખાલી રાખો."
#: modules/dynamicdns/forms.py:43
-#, fuzzy, python-brace-format
-#| msgid ""
-#| "Optional Value. If your {box_name} is not connected directly to the "
-#| "Internet (i.e. connected to a NAT router) this URL is used to determine "
-#| "the real IP address. The URL should simply return the IP where the client "
-#| "comes from (example: http://myip.datasystems24.de)."
-msgid ""
-"Optional Value. If your {box_name} is not connected directly to the Internet "
-"(i.e. connected to a NAT router) this URL is used to determine the real IP "
-"address. The URL should simply return the IP where the client comes from "
-"(example: https://ddns.freedombox.org/ip/)."
-msgstr ""
-"વૈકલ્પિક મૂલ્ય. જો તમારું {box_name} ઇન્ટરનેટ સાથે સીધું જ કનેક્ટેડ નથી (એટલે કે એનએટી રાઉટર "
-"સાથે જોડાયેલું છે) તો આ URL વાસ્તવિક IP એડ્રેસને નક્કી કરવા માટે વપરાય છે. URL IP ને જ્યાં "
-"ક્લાઈન્ટમાંથી આવે છે ત્યાં જ પાછો મોકલવો જોઈએ (દા.ત http://myip.datasystems24.de)."
-
-#: modules/dynamicdns/forms.py:51
msgid "The username that was used when the account was created."
msgstr "વપરાશકર્તાનામ જેનો ઉપયોગ એકાઉન્ટ બનાવવામાં આવ્યો હતો ત્યારે થયો હતો."
-#: modules/dynamicdns/forms.py:54
+#: modules/dynamicdns/forms.py:46
msgid "GnuDIP"
msgstr ""
-#: modules/dynamicdns/forms.py:57
+#: modules/dynamicdns/forms.py:49
#, fuzzy
#| msgid "Update URL"
msgid "Other update URL"
msgstr "URL અપડેટ કરો"
-#: modules/dynamicdns/forms.py:59
+#: modules/dynamicdns/forms.py:51
msgid "Service Type"
msgstr "સેવા પ્રકાર"
-#: modules/dynamicdns/forms.py:64
+#: modules/dynamicdns/forms.py:56
msgid "GnuDIP Server Address"
msgstr "GnuDIP સર્વર સરનામું"
-#: modules/dynamicdns/forms.py:67
+#: modules/dynamicdns/forms.py:59
msgid "Invalid server name"
msgstr "અમાન્ય સર્વર નામ"
-#: modules/dynamicdns/forms.py:70
+#: modules/dynamicdns/forms.py:62
msgid "Update URL"
msgstr "URL અપડેટ કરો"
-#: modules/dynamicdns/forms.py:74
+#: modules/dynamicdns/forms.py:66
msgid "Accept all SSL certificates"
msgstr "બધા SSL પ્રમાણપત્રો સ્વીકારો"
-#: modules/dynamicdns/forms.py:78
+#: modules/dynamicdns/forms.py:70
msgid "Use HTTP basic authentication"
msgstr "HTTP મૂળભૂત પ્રમાણીકરણનો ઉપયોગ કરો"
-#: modules/dynamicdns/forms.py:82 modules/names/__init__.py:68
+#: modules/dynamicdns/forms.py:74 modules/names/__init__.py:68
#: modules/names/forms.py:106 modules/names/templates/names.html:19
msgid "Domain Name"
msgstr "ક્ષેત્રનું નામ"
-#: modules/dynamicdns/forms.py:85 modules/names/forms.py:99
+#: modules/dynamicdns/forms.py:77 modules/names/forms.py:99
#: modules/names/forms.py:117
msgid "Invalid domain name"
msgstr "અમાન્ય ક્ષેત્રીય નામ"
-#: modules/dynamicdns/forms.py:88 modules/miniflux/forms.py:11
+#: modules/dynamicdns/forms.py:80 modules/miniflux/forms.py:11
#: modules/networks/forms.py:281 modules/users/forms.py:130
msgid "Username"
msgstr "વપરાશકર્તા નામ"
-#: modules/dynamicdns/forms.py:95 modules/networks/forms.py:284
+#: modules/dynamicdns/forms.py:87 modules/networks/forms.py:284
msgid "Show password"
msgstr "પાસવર્ડ બતાવો"
-#: modules/dynamicdns/forms.py:99
-msgid "URL to look up public IP"
-msgstr "જાહેર IP જોવા URL"
-
-#: modules/dynamicdns/forms.py:104
+#: modules/dynamicdns/forms.py:91
msgid "Use IPv6 instead of IPv4"
msgstr ""
-#: modules/dynamicdns/forms.py:123
+#: modules/dynamicdns/forms.py:110
msgid "This field is required."
msgstr ""
#: modules/dynamicdns/manifest.py:17
-#: modules/dynamicdns/templates/dynamicdns.html:18
-#: modules/email/templates/email.html:35
+#: modules/dynamicdns/templates/dynamicdns.html:23
+#: modules/email/templates/email-dns.html:22
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64
msgid "Domain"
@@ -1992,39 +1984,39 @@ msgstr ""
msgid "Needs public IP"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:11
-#: modules/ejabberd/templates/ejabberd.html:13 modules/firewall/manifest.py:10
+#: modules/dynamicdns/templates/dynamicdns.html:16
+#: modules/ejabberd/templates/ejabberd.html:18 modules/firewall/manifest.py:10
#: modules/firewall/templates/firewall.html:16
#: modules/firewall/templates/firewall.html:22
#: modules/letsencrypt/templates/letsencrypt.html:17
-#: modules/matrixsynapse/templates/matrix-synapse.html:12
+#: modules/matrixsynapse/templates/matrix-synapse.html:17
#: modules/networks/templates/connection_show.html:258
-#: modules/samba/templates/samba.html:67 modules/tor/templates/tor.html:19
+#: modules/samba/templates/samba.html:67 modules/tor/templates/tor.html:24
#: modules/upgrades/templates/upgrades_configure.html:14
#: modules/wireguard/templates/wireguard_show_client.html:48
#: modules/wireguard/templates/wireguard_show_server.html:47
msgid "Status"
msgstr "સ્થિતિ"
-#: modules/dynamicdns/templates/dynamicdns.html:19
+#: modules/dynamicdns/templates/dynamicdns.html:24
msgid "Last update"
msgstr "છેલ્લો સુધારો"
-#: modules/dynamicdns/templates/dynamicdns.html:21
+#: modules/dynamicdns/templates/dynamicdns.html:26
#, fuzzy
#| msgid "GnuDIP Server Address"
msgid "IP Address"
msgstr "GnuDIP સર્વર સરનામું"
-#: modules/dynamicdns/templates/dynamicdns.html:32
+#: modules/dynamicdns/templates/dynamicdns.html:37
msgid "Success"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:36
+#: modules/dynamicdns/templates/dynamicdns.html:41
msgid "Failed"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:52
+#: modules/dynamicdns/templates/dynamicdns.html:57
msgid "No status available."
msgstr ""
@@ -2201,7 +2193,7 @@ msgstr ""
msgid "XMPP"
msgstr ""
-#: modules/ejabberd/templates/ejabberd.html:18
+#: modules/ejabberd/templates/ejabberd.html:23
#, fuzzy, python-format
#| msgid ""
#| "Your XMPP server domain is set to %(domainname)s. User IDs will "
@@ -2216,7 +2208,7 @@ msgstr ""
"દેખાશે username@%(domainname)s. તમે સિસ્ટમ પર તમારા ડોમેન સેટ કરી શકો છો રૂપરેખાંકિત કરો પાનું."
-#: modules/ejabberd/templates/ejabberd.html:25
+#: modules/ejabberd/templates/ejabberd.html:30
#, fuzzy, python-format
#| msgid ""
#| "Your XMPP server domain is set to %(domainname)s. User IDs will "
@@ -2271,18 +2263,20 @@ msgstr ""
msgid "Postfix/Dovecot"
msgstr ""
-#: modules/email/__init__.py:83
+#: modules/email/__init__.py:80
+msgid "More emails"
+msgstr ""
+
+#: modules/email/__init__.py:80
+msgid "Same mailbox"
+msgstr ""
+
+#: modules/email/__init__.py:82
#, fuzzy
#| msgid "Documentation"
msgid "My Email Aliases"
msgstr "દસ્તાવેજીકરણ"
-#: modules/email/__init__.py:84
-#, fuzzy
-#| msgid "Documentation"
-msgid "Manage Aliases for Mailbox"
-msgstr "દસ્તાવેજીકરણ"
-
#: modules/email/forms.py:25
msgid "Primary domain"
msgstr ""
@@ -2365,45 +2359,94 @@ msgstr ""
msgid "Add"
msgstr ""
+#: modules/email/templates/email-dns.html:9
+msgid "DNS Records for domain:"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:12
+msgid ""
+"The following DNS records must be added manually on this domain for the mail "
+"server to work properly for this domain."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:23
+#: modules/email/templates/email-dns.html:77
+msgid "TTL"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:24
+msgid "Class"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:26
+msgid "Priority"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:27
+msgid "Weight"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:28
+#: modules/minetest/templates/minetest.html:18
+msgid "Port"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:29
+#: modules/email/templates/email-dns.html:79
+msgid "Host/Target/Value"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:50
+msgid "Reverse DNS Records for IP Addresses"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:53
+#, python-format
+msgid ""
+"If your %(box_name)s runs on a cloud service infrastructure, you should "
+"configure "
+"Reverse DNS lookup. This isn't mandatory, however, it greatly improves "
+"email deliverability. Reverse DNS isn't configured where your regular DNS "
+"is. You should look for it in the settings of your VPS/ISP. Some providers "
+"preconfigure the IP address part for you and you only have to set the domain "
+"part. Only one of your domains can have Revese DNS lookup configured unless "
+"you have multiple public IP addresses."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:66
+msgid ""
+"An external service is used to lookup public IP address to show in the "
+"following section. This can be configured in the privacy app."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:76
+#, fuzzy
+#| msgid "Hostname"
+msgid "Host"
+msgstr "હોસ્ટનું નામ"
+
#: modules/email/templates/email.html:10
#, fuzzy
#| msgid "Documentation"
msgid "Manage Spam"
msgstr "દસ્તાવેજીકરણ"
-#: modules/email/templates/email.html:22
-msgid "DNS Records"
-msgstr ""
+#: modules/email/templates/email.html:20 modules/names/manifest.py:11
+#: modules/names/templates/names.html:12
+#, fuzzy
+#| msgid "Domain Name"
+msgid "Domains"
+msgstr "ક્ષેત્રનું નામ"
-#: modules/email/templates/email.html:25
+#: modules/email/templates/email.html:23
msgid ""
-"The following DNS records must be added manually on your primary domain for "
-"the mail server to work properly."
+"The following domains are configured. View details to see the list of DNS "
+"entries to be made for the domain."
msgstr ""
-#: modules/email/templates/email.html:36
-msgid "TTL"
-msgstr ""
-
-#: modules/email/templates/email.html:37
-msgid "Class"
-msgstr ""
-
-#: modules/email/templates/email.html:39
-msgid "Priority"
-msgstr ""
-
-#: modules/email/templates/email.html:40
-msgid "Weight"
-msgstr ""
-
-#: modules/email/templates/email.html:41
-#: modules/minetest/templates/minetest.html:18
-msgid "Port"
-msgstr ""
-
-#: modules/email/templates/email.html:42
-msgid "Host/Target/Value"
+#: modules/email/templates/email.html:35
+#, python-format
+msgid "View domain: %(domain)s"
msgstr ""
#: modules/featherwiki/__init__.py:25
@@ -2655,7 +2698,7 @@ msgstr ""
msgid "Port {name} ({details}) unavailable for external networks"
msgstr ""
-#: modules/firewall/manifest.py:10 modules/tor/templates/tor.html:20
+#: modules/firewall/manifest.py:10 modules/tor/templates/tor.html:25
msgid "Ports"
msgstr ""
@@ -3010,9 +3053,9 @@ msgstr ""
msgid "Contribute"
msgstr ""
-#: modules/help/__init__.py:53 templates/base.html:215 templates/base.html:218
+#: modules/help/__init__.py:53 templates/base.html:217 templates/base.html:220
#: templates/help-menu.html:46 templates/help-menu.html:47
-#: templates/index.html:98
+#: templates/index.html:96
msgid "About"
msgstr "વિશે"
@@ -3145,7 +3188,7 @@ msgstr ""
#: modules/help/templates/help_contribute.html:42
#: modules/power/templates/power_restart.html:27
-#: modules/power/templates/power_shutdown.html:26 templates/app-header.html:68
+#: modules/power/templates/power_shutdown.html:26 templates/app-header.html:65
msgid "Learn more..."
msgstr ""
@@ -3469,7 +3512,7 @@ msgid "Web conference"
msgstr ""
#: modules/janus/templates/janus_video_room.html:205
-#: modules/jsxc/templates/jsxc_launch.html:117 templates/base.html:271
+#: modules/jsxc/templates/jsxc_launch.html:117 templates/base.html:273
msgid "JavaScript license information"
msgstr ""
@@ -3843,7 +3886,7 @@ msgid ""
"least one domain to be able to use Matrix Synapse."
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:15
+#: modules/matrixsynapse/templates/matrix-synapse.html:20
#, python-format
msgid ""
"The Matrix server domain is set to %(domain_name)s. User IDs will "
@@ -3851,49 +3894,49 @@ msgid ""
"the initial setup is currently not supported."
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:22
+#: modules/matrixsynapse/templates/matrix-synapse.html:27
msgid ""
"New users can be registered from any client if public registration is "
"enabled."
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:29
+#: modules/matrixsynapse/templates/matrix-synapse.html:34
msgid ""
"New users must use one of the following tokens for verification during "
"account registration:"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:38
+#: modules/matrixsynapse/templates/matrix-synapse.html:43
#, fuzzy
#| msgid "User registrations enabled"
msgid "Registration Token"
msgstr "વપરાશકર્તા રજીસ્ટ્રેશન સક્ષમ"
-#: modules/matrixsynapse/templates/matrix-synapse.html:39
+#: modules/matrixsynapse/templates/matrix-synapse.html:44
msgid "Uses Allowed"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:40
+#: modules/matrixsynapse/templates/matrix-synapse.html:45
#, fuzzy
#| msgid "Enable application"
msgid "Pending Registrations"
msgstr "એપ્લીકેશનને પ્રસ્થાપિત કરો"
-#: modules/matrixsynapse/templates/matrix-synapse.html:41
+#: modules/matrixsynapse/templates/matrix-synapse.html:46
#, fuzzy
#| msgid "Enable new user registrations"
msgid "Completed Registrations"
msgstr "નવા વપરાશકર્તા રજીસ્ટ્રેશનને સક્ષમ કરો"
-#: modules/matrixsynapse/templates/matrix-synapse.html:42
+#: modules/matrixsynapse/templates/matrix-synapse.html:47
msgid "Expiry Time"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:51
+#: modules/matrixsynapse/templates/matrix-synapse.html:56
msgid "Unlimited"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:80
+#: modules/matrixsynapse/templates/matrix-synapse.html:85
#, python-format
msgid ""
"The configured domain name is using a self-signed certificate. Federation "
@@ -4346,23 +4389,27 @@ msgstr "અમાન્ય સર્વર નામ"
msgid "An error occurred during password reset: {error}."
msgstr ""
-#: modules/mumble/__init__.py:25
+#: modules/mumble/__init__.py:27
msgid ""
"Mumble is an open source, low-latency, encrypted, high quality voice chat "
"software."
msgstr ""
-#: modules/mumble/__init__.py:27
+#: modules/mumble/__init__.py:29
msgid ""
"You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your "
"desktop and mobile devices are available."
msgstr ""
-#: modules/mumble/__init__.py:45 modules/mumble/manifest.py:9
+#: modules/mumble/__init__.py:47 modules/mumble/manifest.py:9
msgid "Mumble"
msgstr ""
+#: modules/mumble/__init__.py:158
+msgid "Mumble server is configured"
+msgstr ""
+
#: modules/mumble/forms.py:30
#, fuzzy
#| msgid "Please provide a password"
@@ -4500,12 +4547,6 @@ msgstr ""
"મૂળાક્ષરો, આંકડા અને હાયફન હોવા જોઈએ.…દરેક લેબલની કુલ લંબાઈ ૬૩ અક્ષરો કે તેથી ઓછી હોવી "
"જોઈએ.…ક્ષેત્રીય નામની કુલ લંબાઈ ૨૫૩ અક્ષરો કે તેથી ઓછી હોવી જોઈએ."
-#: modules/names/manifest.py:11 modules/names/templates/names.html:12
-#, fuzzy
-#| msgid "Domain Name"
-msgid "Domains"
-msgstr "ક્ષેત્રનું નામ"
-
#: modules/names/manifest.py:13
msgid "DNS Resolution"
msgstr ""
@@ -5017,7 +5058,7 @@ msgstr ""
#: modules/networks/templates/connection_show.html:40
#: modules/wireguard/templates/wireguard_show_client.html:72
#: modules/wireguard/templates/wireguard_show_server.html:73
-#: templates/base.html:165 templates/base.html:166
+#: templates/base.html:167 templates/base.html:168
msgid "Edit"
msgstr ""
@@ -5070,7 +5111,7 @@ msgstr ""
#: modules/networks/templates/connection_show.html:107
#: modules/snapshot/templates/snapshot_delete_selected.html:19
-#: modules/snapshot/templates/snapshot_manage.html:29
+#: modules/snapshot/templates/snapshot_manage.html:34
#: modules/snapshot/templates/snapshot_rollback.html:27
msgid "Description"
msgstr ""
@@ -5148,8 +5189,8 @@ msgstr ""
#: modules/networks/templates/connection_show.html:264
#: modules/networks/templates/connections_fields_privacy.html:15
-#: modules/openvpn/manifest.py:60 modules/privacy/__init__.py:32
-#: modules/privacy/__init__.py:72 modules/wireguard/manifest.py:45
+#: modules/openvpn/manifest.py:60 modules/privacy/__init__.py:38
+#: modules/privacy/__init__.py:77 modules/wireguard/manifest.py:45
msgid "Privacy"
msgstr ""
@@ -5233,7 +5274,7 @@ msgstr ""
msgid "Computer"
msgstr ""
-#: modules/networks/templates/connections_edit.html:19
+#: modules/networks/templates/connections_edit.html:24
#: modules/networks/views.py:253 modules/networks/views.py:341
msgid "Edit Connection"
msgstr ""
@@ -5244,7 +5285,7 @@ msgid "Error:"
msgstr ""
#: modules/networks/templates/connections_fields.html:20
-#: modules/users/templates/users_update.html:46 templates/messages.html:30
+#: modules/users/templates/users_update.html:51 templates/messages.html:30
msgid "Close"
msgstr ""
@@ -5340,7 +5381,7 @@ msgstr "URL અપડેટ કરો"
#: modules/networks/templates/network_topology_update.html:18
#: modules/networks/templates/router_configuration_update.html:19
#: modules/pagekite/templates/pagekite_custom_services.html:33
-#: modules/sharing/templates/sharing_add_edit.html:20 templates/form.html:19
+#: modules/sharing/templates/sharing_add_edit.html:25 templates/form.html:19
msgid "Submit"
msgstr "સમર્પિત કરો"
@@ -5747,11 +5788,7 @@ msgid ""
"performed following an independent cycle."
msgstr ""
-#: modules/nextcloud/__init__.py:48
-msgid "This app is experimental."
-msgstr ""
-
-#: modules/nextcloud/__init__.py:66 modules/nextcloud/manifest.py:11
+#: modules/nextcloud/__init__.py:65 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
msgid "Nextcloud"
msgstr ""
@@ -5927,7 +5964,7 @@ msgstr ""
msgid "PageKite"
msgstr ""
-#: modules/pagekite/__init__.py:73
+#: modules/pagekite/__init__.py:72
msgid "PageKite Domain"
msgstr ""
@@ -6108,8 +6145,8 @@ msgstr ""
msgid "Shutdown"
msgstr ""
-#: modules/power/templates/power.html:15 templates/base.html:180
-#: templates/base.html:181
+#: modules/power/templates/power.html:15 templates/base.html:182
+#: templates/base.html:183
msgid "Restart"
msgstr ""
@@ -6145,23 +6182,33 @@ msgstr ""
msgid "Shut Down Now"
msgstr ""
-#: modules/privacy/__init__.py:15
+#: modules/privacy/__init__.py:21
msgid "Manage system-wide privacy settings."
msgstr ""
-#: modules/privacy/__init__.py:70
+#: modules/privacy/__init__.py:75
msgid "Please update privacy settings to match your preferences."
msgstr ""
-#: modules/privacy/__init__.py:75
+#: modules/privacy/__init__.py:80
msgid "Review privacy setting"
msgstr ""
-#: modules/privacy/forms.py:16
+#: modules/privacy/forms.py:17
+#, python-brace-format
+msgid ""
+"Optional Value. This URL is used to determine the publicly visible IP "
+"address of your {box_name}. The URL should simply return the IPv4 or IPv6 "
+"address where the client request comes from. Default is to use the service "
+"provided by the FreedomBox Foundation at https://ddns.freedombox.org/ip/. If "
+"empty, lookups are disabled and some functionality will fail."
+msgstr ""
+
+#: modules/privacy/forms.py:25
msgid "Periodically submit a list of apps used (suggested)"
msgstr ""
-#: modules/privacy/forms.py:18
+#: modules/privacy/forms.py:27
#, python-brace-format
msgid ""
"Help Debian/{box_name} developers by participating in the Popularity Contest "
@@ -6172,11 +6219,11 @@ msgid ""
"network for additional anonymity if Tor app is enabled."
msgstr ""
-#: modules/privacy/forms.py:28
+#: modules/privacy/forms.py:37
msgid "Allow using fallback DNS servers"
msgstr ""
-#: modules/privacy/forms.py:30
+#: modules/privacy/forms.py:39
msgid ""
"Use well-known public DNS servers to resolve domain names in unusual "
"circumstances where no DNS servers are known but internet connectivity is "
@@ -6184,10 +6231,22 @@ msgid ""
"and reliable."
msgstr ""
+#: modules/privacy/forms.py:45
+#, fuzzy
+#| msgid "URL to look up public IP"
+msgid "URL to look up public IP address"
+msgstr "જાહેર IP જોવા URL"
+
#: modules/privacy/manifest.py:10
msgid "Usage reporting"
msgstr ""
+#: modules/privacy/manifest.py:10
+#, fuzzy
+#| msgid "Dynamic DNS Service"
+msgid "External services"
+msgstr "ડાયનેમિક DNS સેવા"
+
#: modules/privacy/manifest.py:10
msgid "Fallback DNS"
msgstr ""
@@ -7109,40 +7168,40 @@ msgid "Delete the following snapshots permanently?"
msgstr ""
#: modules/snapshot/templates/snapshot_delete_selected.html:17
-#: modules/snapshot/templates/snapshot_manage.html:27
+#: modules/snapshot/templates/snapshot_manage.html:32
#: modules/snapshot/templates/snapshot_rollback.html:25
msgid "Number"
msgstr ""
#: modules/snapshot/templates/snapshot_delete_selected.html:18
-#: modules/snapshot/templates/snapshot_manage.html:28
+#: modules/snapshot/templates/snapshot_manage.html:33
#: modules/snapshot/templates/snapshot_rollback.html:26
msgid "Date"
msgstr ""
#: modules/snapshot/templates/snapshot_delete_selected.html:42
-#: modules/snapshot/templates/snapshot_manage.html:20
+#: modules/snapshot/templates/snapshot_manage.html:25
#: modules/snapshot/views.py:197
msgid "Delete Snapshots"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:17
+#: modules/snapshot/templates/snapshot_manage.html:22
msgid "Create Snapshot"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:30
+#: modules/snapshot/templates/snapshot_manage.html:35
msgid "Rollback"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:40
+#: modules/snapshot/templates/snapshot_manage.html:45
msgid "will be used at next boot"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:45
+#: modules/snapshot/templates/snapshot_manage.html:50
msgid "in use"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:54
+#: modules/snapshot/templates/snapshot_manage.html:59
#, python-format
msgid "Rollback to snapshot #%(number)s"
msgstr ""
@@ -7689,27 +7748,27 @@ msgstr ""
msgid "Tor"
msgstr ""
-#: modules/tor/__init__.py:78
+#: modules/tor/__init__.py:77
msgid "Tor Onion Service"
msgstr ""
-#: modules/tor/__init__.py:82
+#: modules/tor/__init__.py:81
msgid "Tor Bridge Relay"
msgstr ""
-#: modules/tor/__init__.py:140
+#: modules/tor/__init__.py:139
msgid "Tor relay port available"
msgstr ""
-#: modules/tor/__init__.py:152
+#: modules/tor/__init__.py:151
msgid "Obfs3 transport registered"
msgstr ""
-#: modules/tor/__init__.py:163
+#: modules/tor/__init__.py:162
msgid "Obfs4 transport registered"
msgstr ""
-#: modules/tor/__init__.py:176
+#: modules/tor/__init__.py:175
#, fuzzy
#| msgid "Dynamic DNS Service"
msgid "Onion service is version 3"
@@ -7805,7 +7864,7 @@ msgstr ""
msgid "Anonymity network"
msgstr ""
-#: modules/tor/templates/tor.html:18
+#: modules/tor/templates/tor.html:23
#, fuzzy
#| msgid "Dynamic DNS Service"
msgid "Onion Service"
@@ -8403,39 +8462,39 @@ msgstr ""
msgid "Edit user %(username)s"
msgstr ""
-#: modules/users/templates/users_update.html:12
+#: modules/users/templates/users_update.html:17
#, python-format
msgid "Edit User %(username)s"
msgstr ""
-#: modules/users/templates/users_update.html:20
+#: modules/users/templates/users_update.html:25
#, python-format
msgid ""
"Use the change password form to "
"change the password."
msgstr ""
-#: modules/users/templates/users_update.html:32
+#: modules/users/templates/users_update.html:37
#: templates/language-selection.html:17
msgid "Save Changes"
msgstr ""
-#: modules/users/templates/users_update.html:41
+#: modules/users/templates/users_update.html:46
#, python-format
msgid "Delete user %(username)s and all the user's files?"
msgstr ""
-#: modules/users/templates/users_update.html:51
+#: modules/users/templates/users_update.html:56
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
msgstr ""
-#: modules/users/templates/users_update.html:60
+#: modules/users/templates/users_update.html:65
msgid "Delete user and files"
msgstr ""
-#: modules/users/templates/users_update.html:63
+#: modules/users/templates/users_update.html:68
msgid "Cancel"
msgstr ""
@@ -9103,11 +9162,11 @@ msgstr ""
msgid "Service %(service_name)s is not running."
msgstr ""
-#: templates/apps.html:29
+#: templates/apps.html:33
msgid "Search with tags"
msgstr ""
-#: templates/apps.html:42
+#: templates/apps.html:46
msgid "Clear all tags"
msgstr ""
@@ -9117,39 +9176,39 @@ msgid ""
"is free software that lets you install and manage server apps with ease."
msgstr ""
-#: templates/base.html:116
+#: templates/base.html:118
msgid " Home"
msgstr ""
-#: templates/base.html:124
+#: templates/base.html:126
#, fuzzy
#| msgid "BitTorrent Web Client"
msgid " Apps"
msgstr "બીટ ટોરેન્ટ વેબ ક્લાયન્ટ"
-#: templates/base.html:133
+#: templates/base.html:135
msgid " System"
msgstr ""
-#: templates/base.html:172 templates/base.html:173
+#: templates/base.html:174 templates/base.html:175
msgid "Change password"
msgstr ""
-#: templates/base.html:186 templates/base.html:187
+#: templates/base.html:188 templates/base.html:189
msgid "Shut down"
msgstr ""
-#: templates/base.html:197 templates/base.html:235
+#: templates/base.html:199 templates/base.html:237
msgid "Log out"
msgstr ""
-#: templates/base.html:206 templates/base.html:209
+#: templates/base.html:208 templates/base.html:211
#, fuzzy
#| msgid "Language"
msgid "Select language"
msgstr "ભાષા"
-#: templates/base.html:224 templates/base.html:226
+#: templates/base.html:226 templates/base.html:228
msgid "Log in"
msgstr ""
@@ -9364,23 +9423,45 @@ msgid ""
"installed freshly again."
msgstr ""
-#: views.py:85
+#: views.py:84
msgid "Here"
msgstr ""
-#: views.py:374
+#: views.py:376
msgid "Setting unchanged"
msgstr "સેટિંગ યથાવત"
-#: views.py:609
+#: views.py:610
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""
-#: web_framework.py:114
+#: web_framework.py:122
msgid "Gujarati"
msgstr ""
+#, fuzzy, python-brace-format
+#~| msgid ""
+#~| "Optional Value. If your {box_name} is not connected directly to the "
+#~| "Internet (i.e. connected to a NAT router) this URL is used to determine "
+#~| "the real IP address. The URL should simply return the IP where the "
+#~| "client comes from (example: http://myip.datasystems24.de)."
+#~ msgid ""
+#~ "Optional Value. If your {box_name} is not connected directly to the "
+#~ "Internet (i.e. connected to a NAT router) this URL is used to determine "
+#~ "the real IP address. The URL should simply return the IP where the client "
+#~ "comes from (example: https://ddns.freedombox.org/ip/)."
+#~ msgstr ""
+#~ "વૈકલ્પિક મૂલ્ય. જો તમારું {box_name} ઇન્ટરનેટ સાથે સીધું જ કનેક્ટેડ નથી (એટલે કે એનએટી "
+#~ "રાઉટર સાથે જોડાયેલું છે) તો આ URL વાસ્તવિક IP એડ્રેસને નક્કી કરવા માટે વપરાય છે. URL "
+#~ "IP ને જ્યાં ક્લાઈન્ટમાંથી આવે છે ત્યાં જ પાછો મોકલવો જોઈએ (દા.ત http://myip."
+#~ "datasystems24.de)."
+
+#, fuzzy
+#~| msgid "Documentation"
+#~ msgid "Manage Aliases for Mailbox"
+#~ msgstr "દસ્તાવેજીકરણ"
+
#~ msgid "Domain Name Server"
#~ msgstr "ક્ષેત્રીય નામ સર્વર"
diff --git a/plinth/locale/hi/LC_MESSAGES/django.po b/plinth/locale/hi/LC_MESSAGES/django.po
index 26cf5f631..514af7407 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-12-30 20:05-0500\n"
+"POT-Creation-Date: 2025-01-13 20:33-0500\n"
"PO-Revision-Date: 2023-10-19 06:30+0000\n"
"Last-Translator: Shaik
SSH key-based authentication is not yet "
"possible."
msgstr ""
-#: modules/backups/forms.py:273
+#: modules/backups/forms.py:275
msgid "Remote backup repository already exists."
msgstr ""
-#: modules/backups/forms.py:279
+#: modules/backups/forms.py:281
msgid "Select verified SSH public key"
msgstr ""
#: modules/backups/manifest.py:14
#: modules/backups/templates/backups_repository.html:92
#: modules/backups/templates/backups_restore.html:27
-#: modules/backups/views.py:240 modules/snapshot/manifest.py:14
+#: modules/backups/views.py:238 modules/snapshot/manifest.py:14
#: templates/toolbar.html:44 templates/toolbar.html:45
#, fuzzy
#| msgid "reStore"
@@ -558,17 +560,21 @@ msgstr ""
msgid "Backup system is busy with another operation."
msgstr ""
+#: modules/backups/privileged.py:92
+msgid "Not enough space left on the disk or remote location."
+msgstr ""
+
#: modules/backups/repository.py:94
msgid "Existing repository is not encrypted."
msgstr ""
-#: modules/backups/repository.py:266
+#: modules/backups/repository.py:289
#, fuzzy, python-brace-format
#| msgid "{box_name} Manual"
msgid "{box_name} storage"
msgstr "{box_name} मैनुअल"
-#: modules/backups/templates/backups.html:17 modules/backups/views.py:125
+#: modules/backups/templates/backups.html:17 modules/backups/views.py:124
#, fuzzy
#| msgid "Create Account"
msgid "Create a new backup"
@@ -630,10 +636,9 @@ msgstr "मौजूदा कस्टम सर्विसस"
#: modules/help/templates/statuslog.html:24
#: modules/kiwix/templates/kiwix-add-package.html:26
#: modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:28
-#: modules/matrixsynapse/templates/matrix-synapse.html:76
+#: modules/matrixsynapse/templates/matrix-synapse.html:81
#: modules/names/templates/names.html:128
#: modules/networks/templates/connection_show.html:24
-#: modules/nextcloud/__init__.py:48
#: modules/pagekite/templates/pagekite_custom_services.html:16
#: modules/power/templates/power_busy_warning.html:11
#: modules/snapshot/templates/snapshot_not_supported.html:13
@@ -788,123 +793,123 @@ msgstr ""
msgid "Verify Host"
msgstr ""
-#: modules/backups/views.py:69
+#: modules/backups/views.py:68
msgid "Backup schedule updated."
msgstr ""
-#: modules/backups/views.py:88
+#: modules/backups/views.py:87
#, fuzzy
#| msgid "Create Account"
msgid "Schedule Backups"
msgstr "अकाउंट बनाएँ"
-#: modules/backups/views.py:150
+#: modules/backups/views.py:148
msgid "Archive created."
msgstr "पुरालेख बनाया गया."
-#: modules/backups/views.py:162
+#: modules/backups/views.py:160
msgid "Delete Archive"
msgstr "पुरालेख हटाईये"
-#: modules/backups/views.py:175
+#: modules/backups/views.py:173
msgid "Archive deleted."
msgstr "पुरालेख हटा गया है."
-#: modules/backups/views.py:189
+#: modules/backups/views.py:187
#, fuzzy
#| msgid "Name for new backup archive."
msgid "Upload and restore a backup"
msgstr "नया बैकअप पुरालेख के लिये नाम."
-#: modules/backups/views.py:218
+#: modules/backups/views.py:216
#, fuzzy
#| msgid "Password changed successfully."
msgid "Upload successful."
msgstr "पासवर्ड सफलतापूर्वक बदल गया."
-#: modules/backups/views.py:256
+#: modules/backups/views.py:254
#, fuzzy
#| msgid "Name for new backup archive."
msgid "No backup file found."
msgstr "नया बैकअप पुरालेख के लिये नाम."
-#: modules/backups/views.py:264
+#: modules/backups/views.py:262
msgid "Restore from uploaded file"
msgstr ""
-#: modules/backups/views.py:278 modules/backups/views.py:299
+#: modules/backups/views.py:276 modules/backups/views.py:297
msgid "Restored files from backup."
msgstr ""
-#: modules/backups/views.py:329
+#: modules/backups/views.py:327
msgid "No additional disks available to add a repository."
msgstr ""
-#: modules/backups/views.py:337
+#: modules/backups/views.py:335
#, fuzzy
#| msgid "Create Snapshot"
msgid "Create backup repository"
msgstr "स्नैपशॉट बनाइये"
-#: modules/backups/views.py:352
+#: modules/backups/views.py:350
#, fuzzy
#| msgid "Add new introducer"
msgid "Added new repository."
msgstr "नया इंट्रोड्यूसर जोड़ें"
-#: modules/backups/views.py:366
+#: modules/backups/views.py:364
msgid "Create remote backup repository"
msgstr ""
-#: modules/backups/views.py:388
+#: modules/backups/views.py:386
#, fuzzy
#| msgid "Add new introducer"
msgid "Added new remote SSH repository."
msgstr "नया इंट्रोड्यूसर जोड़ें"
-#: modules/backups/views.py:410
+#: modules/backups/views.py:408
msgid "Verify SSH hostkey"
msgstr ""
-#: modules/backups/views.py:436
+#: modules/backups/views.py:434
msgid "SSH host already verified."
msgstr ""
-#: modules/backups/views.py:447
+#: modules/backups/views.py:445
msgid "SSH host verified."
msgstr ""
-#: modules/backups/views.py:463
+#: modules/backups/views.py:461
msgid "SSH host public key could not be verified."
msgstr ""
-#: modules/backups/views.py:465
+#: modules/backups/views.py:463
msgid "Authentication to remote server failed."
msgstr ""
-#: modules/backups/views.py:467
+#: modules/backups/views.py:465
#, fuzzy
#| msgid "Error installing application: {error}"
msgid "Error establishing connection to server: {}"
msgstr "एप्लिकेशन नहीं इंस्टॉल जा सकता: {error}"
-#: modules/backups/views.py:478
+#: modules/backups/views.py:476
msgid "Repository removed."
msgstr ""
-#: modules/backups/views.py:492
+#: modules/backups/views.py:490
msgid "Remove Repository"
msgstr ""
-#: modules/backups/views.py:502
+#: modules/backups/views.py:500
msgid "Repository removed. Backups were not deleted."
msgstr ""
-#: modules/backups/views.py:513
+#: modules/backups/views.py:511
msgid "Unmounting failed!"
msgstr ""
-#: modules/backups/views.py:529 modules/backups/views.py:533
+#: modules/backups/views.py:527 modules/backups/views.py:531
#, fuzzy
#| msgid "The operation failed."
msgid "Mounting failed"
@@ -1027,7 +1032,7 @@ msgstr "शो पासवर्ड"
msgid "No passwords currently configured."
msgstr "वर्तमान में कोई शेयर कॉन्फ़िगर नहीं किया गया है."
-#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:91
+#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:83
#: modules/miniflux/forms.py:14 modules/networks/forms.py:282
#: modules/shadowsocks/forms.py:32 modules/shadowsocksserver/forms.py:37
msgid "Password"
@@ -1162,8 +1167,10 @@ msgstr ""
msgid "Serving Domains"
msgstr "सर्वर डोमेन"
-#: modules/bind/templates/bind.html:17 modules/email/templates/email.html:38
-#: modules/ikiwiki/forms.py:12 modules/names/templates/names.html:18
+#: modules/bind/templates/bind.html:17
+#: modules/email/templates/email-dns.html:25
+#: modules/email/templates/email-dns.html:78 modules/ikiwiki/forms.py:12
+#: modules/names/templates/names.html:18
#: modules/networks/templates/connection_show.html:95
#: modules/samba/templates/samba.html:65
#: modules/storage/templates/storage.html:26
@@ -1199,7 +1206,7 @@ msgstr ""
#: modules/minetest/views.py:55 modules/mumble/views.py:37
#: modules/names/views.py:66 modules/names/views.py:95
#: modules/names/views.py:129 modules/pagekite/forms.py:74
-#: modules/privacy/views.py:50 modules/quassel/views.py:29
+#: modules/privacy/views.py:55 modules/quassel/views.py:29
#: modules/roundcube/views.py:32 modules/rssbridge/views.py:31
#: modules/shadowsocks/views.py:52 modules/shadowsocksserver/views.py:48
#: modules/ssh/views.py:62 modules/transmission/views.py:43
@@ -1887,7 +1894,7 @@ msgid "Test"
msgstr "परीक्षा"
#: modules/diagnostics/templates/diagnostics_results.html:12
-#: modules/dynamicdns/templates/dynamicdns.html:20
+#: modules/dynamicdns/templates/dynamicdns.html:25
msgid "Result"
msgstr "परिणाम"
@@ -1900,7 +1907,7 @@ msgstr "निदान परिक्षा"
msgid "App {app_id} is not installed, cannot repair"
msgstr ""
-#: modules/dynamicdns/__init__.py:28
+#: modules/dynamicdns/__init__.py:29
#, python-brace-format
msgid ""
"If your Internet provider changes your IP address periodically (i.e. every "
@@ -1910,7 +1917,7 @@ msgstr ""
"अगर अापका इंटरनेट प्रदाता अक्सर अपना आईपी एड्रसॅ बदलता है (i.e. हर चौबीस) दूसरे लोग "
"अपसे मिलकर मुश्किल हेगा. यह दूसरे को यह {box_name} से प्रदान वाले सेवाएं खोजने से रोक देगे."
-#: modules/dynamicdns/__init__.py:32
+#: modules/dynamicdns/__init__.py:33
msgid ""
"The solution is to assign a DNS name to your IP address and update the DNS "
"name every time your IP is changed by your Internet provider. Dynamic DNS "
@@ -1927,7 +1934,7 @@ msgstr ""
"डिएनएस नाम नया आईपी पर आवंटित करेगा और अगर इंटरनेट से कोई अपना डिएनएस नाम पूछता "
"है, अपना वर्तमान एड्रसॅ से जवाब मिलेगा."
-#: modules/dynamicdns/__init__.py:40
+#: modules/dynamicdns/__init__.py:41
#, fuzzy
#| msgid ""
#| "If you are looking for a free dynamic DNS account, you may find a free "
@@ -1947,11 +1954,17 @@ msgstr ""
"यहाँ मिलें freedns.afraid."
"org."
-#: modules/dynamicdns/__init__.py:61
+#: modules/dynamicdns/__init__.py:46
+msgid ""
+"This service uses an external service to lookup public IP address. This can "
+"be configured in the privacy app."
+msgstr ""
+
+#: modules/dynamicdns/__init__.py:64
msgid "Dynamic DNS Client"
msgstr "डायनेमिक डिएनएस ग्राहक"
-#: modules/dynamicdns/__init__.py:75
+#: modules/dynamicdns/__init__.py:78
#, fuzzy
#| msgid "Domain Name"
msgid "Dynamic Domain Name"
@@ -2007,94 +2020,73 @@ msgid "Leave this field empty if you want to keep your current password."
msgstr "अगर आपको आपना वर्तमान पासवर्ड रखना चाहिये, यह खाली छोडिये."
#: modules/dynamicdns/forms.py:43
-#, fuzzy, python-brace-format
-#| msgid ""
-#| "Optional Value. If your {box_name} is not connected directly to the "
-#| "Internet (i.e. connected to a NAT router) this URL is used to determine "
-#| "the real IP address. The URL should simply return the IP where the client "
-#| "comes from (example: http://myip.datasystems24.de)."
-msgid ""
-"Optional Value. If your {box_name} is not connected directly to the Internet "
-"(i.e. connected to a NAT router) this URL is used to determine the real IP "
-"address. The URL should simply return the IP where the client comes from "
-"(example: https://ddns.freedombox.org/ip/)."
-msgstr ""
-"वैकल्पिक मूल्य. अगर आपना {box_name} इंटरनेट से सीघे कनेक्ट नहीं है (i.e. एनऐटि रूटर से "
-"कनेक्टईडॅ है) यह यूआरएल असली आईपी एड्रसॅ चुनने के लिये उपयोग करता है. यह यूआरएल ग्राहक आने "
-"से जगह को वापस जाना चाहिये ( उदाहरण:http://myip.datasystems24.de)."
-
-#: modules/dynamicdns/forms.py:51
msgid "The username that was used when the account was created."
msgstr "जाब अकाउंट बनाया गया था, वो यूसरनाम."
-#: modules/dynamicdns/forms.py:54
+#: modules/dynamicdns/forms.py:46
msgid "GnuDIP"
msgstr ""
-#: modules/dynamicdns/forms.py:57
+#: modules/dynamicdns/forms.py:49
#, fuzzy
#| msgid "Update URL"
msgid "Other update URL"
msgstr "यूआरएल अपडेट करें"
-#: modules/dynamicdns/forms.py:59
+#: modules/dynamicdns/forms.py:51
msgid "Service Type"
msgstr "सेवा टाइप"
-#: modules/dynamicdns/forms.py:64
+#: modules/dynamicdns/forms.py:56
msgid "GnuDIP Server Address"
msgstr "गिएनयुडिपॅ सर्वर एड्रसॅ"
-#: modules/dynamicdns/forms.py:67
+#: modules/dynamicdns/forms.py:59
msgid "Invalid server name"
msgstr "सर्वर नाम अमान्य है"
-#: modules/dynamicdns/forms.py:70
+#: modules/dynamicdns/forms.py:62
msgid "Update URL"
msgstr "यूआरएल अपडेट करें"
-#: modules/dynamicdns/forms.py:74
+#: modules/dynamicdns/forms.py:66
msgid "Accept all SSL certificates"
msgstr "सब एसएसएल सिटिफ़िकट स्वीकर करें"
-#: modules/dynamicdns/forms.py:78
+#: modules/dynamicdns/forms.py:70
msgid "Use HTTP basic authentication"
msgstr "एचटिटिपि बेसिकॅ प्रमाणीकरण उपयोग करें"
-#: modules/dynamicdns/forms.py:82 modules/names/__init__.py:68
+#: modules/dynamicdns/forms.py:74 modules/names/__init__.py:68
#: modules/names/forms.py:106 modules/names/templates/names.html:19
msgid "Domain Name"
msgstr "डोमेन नाम"
-#: modules/dynamicdns/forms.py:85 modules/names/forms.py:99
+#: modules/dynamicdns/forms.py:77 modules/names/forms.py:99
#: modules/names/forms.py:117
msgid "Invalid domain name"
msgstr "अमान्य डोमेन नाम"
-#: modules/dynamicdns/forms.py:88 modules/miniflux/forms.py:11
+#: modules/dynamicdns/forms.py:80 modules/miniflux/forms.py:11
#: modules/networks/forms.py:281 modules/users/forms.py:130
msgid "Username"
msgstr "युसरनाम"
-#: modules/dynamicdns/forms.py:95 modules/networks/forms.py:284
+#: modules/dynamicdns/forms.py:87 modules/networks/forms.py:284
msgid "Show password"
msgstr "शो पासवर्ड"
-#: modules/dynamicdns/forms.py:99
-msgid "URL to look up public IP"
-msgstr "सार्वजनिक आईपी देखने के लियो यूआरएल"
-
-#: modules/dynamicdns/forms.py:104
+#: modules/dynamicdns/forms.py:91
msgid "Use IPv6 instead of IPv4"
msgstr ""
-#: modules/dynamicdns/forms.py:123
+#: modules/dynamicdns/forms.py:110
msgid "This field is required."
msgstr ""
#: modules/dynamicdns/manifest.py:17
-#: modules/dynamicdns/templates/dynamicdns.html:18
-#: modules/email/templates/email.html:35
+#: modules/dynamicdns/templates/dynamicdns.html:23
+#: modules/email/templates/email-dns.html:22
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64
msgid "Domain"
@@ -2110,43 +2102,43 @@ msgstr ""
msgid "Needs public IP"
msgstr "सर्वर पोर्ट नंबर"
-#: modules/dynamicdns/templates/dynamicdns.html:11
-#: modules/ejabberd/templates/ejabberd.html:13 modules/firewall/manifest.py:10
+#: modules/dynamicdns/templates/dynamicdns.html:16
+#: modules/ejabberd/templates/ejabberd.html:18 modules/firewall/manifest.py:10
#: modules/firewall/templates/firewall.html:16
#: modules/firewall/templates/firewall.html:22
#: modules/letsencrypt/templates/letsencrypt.html:17
-#: modules/matrixsynapse/templates/matrix-synapse.html:12
+#: modules/matrixsynapse/templates/matrix-synapse.html:17
#: modules/networks/templates/connection_show.html:258
-#: modules/samba/templates/samba.html:67 modules/tor/templates/tor.html:19
+#: modules/samba/templates/samba.html:67 modules/tor/templates/tor.html:24
#: modules/upgrades/templates/upgrades_configure.html:14
#: modules/wireguard/templates/wireguard_show_client.html:48
#: modules/wireguard/templates/wireguard_show_server.html:47
msgid "Status"
msgstr "स्थिति"
-#: modules/dynamicdns/templates/dynamicdns.html:19
+#: modules/dynamicdns/templates/dynamicdns.html:24
msgid "Last update"
msgstr "अंतिम अपडेट"
-#: modules/dynamicdns/templates/dynamicdns.html:21
+#: modules/dynamicdns/templates/dynamicdns.html:26
#, fuzzy
#| msgid "IP address"
msgid "IP Address"
msgstr "आइपी एेड्रैस"
-#: modules/dynamicdns/templates/dynamicdns.html:32
+#: modules/dynamicdns/templates/dynamicdns.html:37
#, fuzzy
#| msgid "Access Point"
msgid "Success"
msgstr "अभिगम केंद्र"
-#: modules/dynamicdns/templates/dynamicdns.html:36
+#: modules/dynamicdns/templates/dynamicdns.html:41
#, fuzzy
#| msgid "Setup failed."
msgid "Failed"
msgstr "सेटअप विफल."
-#: modules/dynamicdns/templates/dynamicdns.html:52
+#: modules/dynamicdns/templates/dynamicdns.html:57
#, fuzzy
#| msgid "Tor relay port available"
msgid "No status available."
@@ -2324,7 +2316,7 @@ msgstr ""
msgid "XMPP"
msgstr ""
-#: modules/ejabberd/templates/ejabberd.html:18
+#: modules/ejabberd/templates/ejabberd.html:23
#, fuzzy, python-format
#| msgid ""
#| "Your XMPP server domain is set to %(domainname)s. User IDs will "
@@ -2339,7 +2331,7 @@ msgstr ""
"दिखेगा username@%(domainname)s. आपका डोमेन सिसटेम पर सेटअप कर सकता है कॉन्फ़िगर पेजॅ."
-#: modules/ejabberd/templates/ejabberd.html:25
+#: modules/ejabberd/templates/ejabberd.html:30
#, fuzzy, python-format
#| msgid ""
#| "Your XMPP server domain is set to %(domainname)s. User IDs will "
@@ -2394,18 +2386,20 @@ msgstr ""
msgid "Postfix/Dovecot"
msgstr ""
-#: modules/email/__init__.py:83
+#: modules/email/__init__.py:80
+msgid "More emails"
+msgstr ""
+
+#: modules/email/__init__.py:80
+msgid "Same mailbox"
+msgstr ""
+
+#: modules/email/__init__.py:82
#, fuzzy
#| msgid "Create User"
msgid "My Email Aliases"
msgstr "यूसर बनाये"
-#: modules/email/__init__.py:84
-#, fuzzy
-#| msgid "Create User"
-msgid "Manage Aliases for Mailbox"
-msgstr "यूसर बनाये"
-
#: modules/email/forms.py:25
#, fuzzy
#| msgid "Primary connection"
@@ -2494,45 +2488,96 @@ msgstr "अकाउंट बनाएँ"
msgid "Add"
msgstr "जोड़ें"
+#: modules/email/templates/email-dns.html:9
+#, fuzzy
+#| msgid "Server domain"
+msgid "DNS Records for domain:"
+msgstr "सर्वर डोमेन"
+
+#: modules/email/templates/email-dns.html:12
+msgid ""
+"The following DNS records must be added manually on this domain for the mail "
+"server to work properly for this domain."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:23
+#: modules/email/templates/email-dns.html:77
+msgid "TTL"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:24
+msgid "Class"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:26
+msgid "Priority"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:27
+msgid "Weight"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:28
+#: modules/minetest/templates/minetest.html:18
+msgid "Port"
+msgstr "पोर्ट"
+
+#: modules/email/templates/email-dns.html:29
+#: modules/email/templates/email-dns.html:79
+msgid "Host/Target/Value"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:50
+#, fuzzy
+#| msgid "Server hostname or IP address"
+msgid "Reverse DNS Records for IP Addresses"
+msgstr "सर्वर होस्ट नाम या IP एड्रेस"
+
+#: modules/email/templates/email-dns.html:53
+#, python-format
+msgid ""
+"If your %(box_name)s runs on a cloud service infrastructure, you should "
+"configure "
+"Reverse DNS lookup. This isn't mandatory, however, it greatly improves "
+"email deliverability. Reverse DNS isn't configured where your regular DNS "
+"is. You should look for it in the settings of your VPS/ISP. Some providers "
+"preconfigure the IP address part for you and you only have to set the domain "
+"part. Only one of your domains can have Revese DNS lookup configured unless "
+"you have multiple public IP addresses."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:66
+msgid ""
+"An external service is used to lookup public IP address to show in the "
+"following section. This can be configured in the privacy app."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:76
+#, fuzzy
+#| msgid "Hostname"
+msgid "Host"
+msgstr "होस्टनाम"
+
#: modules/email/templates/email.html:10
#, fuzzy
#| msgid "Manage Snapshots"
msgid "Manage Spam"
msgstr "स्नैपशॉटस प्रबंधित करें"
-#: modules/email/templates/email.html:22
-msgid "DNS Records"
-msgstr ""
+#: modules/email/templates/email.html:20 modules/names/manifest.py:11
+#: modules/names/templates/names.html:12
+msgid "Domains"
+msgstr "डोमेन्स"
-#: modules/email/templates/email.html:25
+#: modules/email/templates/email.html:23
msgid ""
-"The following DNS records must be added manually on your primary domain for "
-"the mail server to work properly."
+"The following domains are configured. View details to see the list of DNS "
+"entries to be made for the domain."
msgstr ""
-#: modules/email/templates/email.html:36
-msgid "TTL"
-msgstr ""
-
-#: modules/email/templates/email.html:37
-msgid "Class"
-msgstr ""
-
-#: modules/email/templates/email.html:39
-msgid "Priority"
-msgstr ""
-
-#: modules/email/templates/email.html:40
-msgid "Weight"
-msgstr ""
-
-#: modules/email/templates/email.html:41
-#: modules/minetest/templates/minetest.html:18
-msgid "Port"
-msgstr "पोर्ट"
-
-#: modules/email/templates/email.html:42
-msgid "Host/Target/Value"
+#: modules/email/templates/email.html:35
+#, python-format
+msgid "View domain: %(domain)s"
msgstr ""
#: modules/featherwiki/__init__.py:25
@@ -2818,7 +2863,7 @@ msgstr "%(service_name)s सिर्फ आंतरिक नेट
msgid "Port {name} ({details}) unavailable for external networks"
msgstr ""
-#: modules/firewall/manifest.py:10 modules/tor/templates/tor.html:20
+#: modules/firewall/manifest.py:10 modules/tor/templates/tor.html:25
msgid "Ports"
msgstr "पोर्टस"
@@ -3195,9 +3240,9 @@ msgstr ""
msgid "Contribute"
msgstr ""
-#: modules/help/__init__.py:53 templates/base.html:215 templates/base.html:218
+#: modules/help/__init__.py:53 templates/base.html:217 templates/base.html:220
#: templates/help-menu.html:46 templates/help-menu.html:47
-#: templates/index.html:98
+#: templates/index.html:96
#, fuzzy
msgid "About"
msgstr "के बारे में"
@@ -3350,7 +3395,7 @@ msgstr ""
#: modules/help/templates/help_contribute.html:42
#: modules/power/templates/power_restart.html:27
-#: modules/power/templates/power_shutdown.html:26 templates/app-header.html:68
+#: modules/power/templates/power_shutdown.html:26 templates/app-header.html:65
msgid "Learn more..."
msgstr "और सीखिये..."
@@ -3722,7 +3767,7 @@ msgid "Web conference"
msgstr ""
#: modules/janus/templates/janus_video_room.html:205
-#: modules/jsxc/templates/jsxc_launch.html:117 templates/base.html:271
+#: modules/jsxc/templates/jsxc_launch.html:117 templates/base.html:273
msgid "JavaScript license information"
msgstr "जावास्क्रिप्ट लाइसेंस जानकारी"
@@ -4160,7 +4205,7 @@ msgstr ""
"कोई डोमेन उपलब्ध नहीं हैं. कॉन्फ़िगर एक डोमेन मैट्रिक्स "
"सिनापसॅ उपयोग करने के लिए."
-#: modules/matrixsynapse/templates/matrix-synapse.html:15
+#: modules/matrixsynapse/templates/matrix-synapse.html:20
#, python-format
msgid ""
"The Matrix server domain is set to %(domain_name)s. User IDs will "
@@ -4171,49 +4216,49 @@ msgstr ""
"दिखाई देगा @username:%(domain_name)s. प्रारंभिक सेटअप के बाद डोमेन नाम "
"बदलना करना वर्तमान मे समर्थित नहीं है."
-#: modules/matrixsynapse/templates/matrix-synapse.html:22
+#: modules/matrixsynapse/templates/matrix-synapse.html:27
msgid ""
"New users can be registered from any client if public registration is "
"enabled."
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:29
+#: modules/matrixsynapse/templates/matrix-synapse.html:34
msgid ""
"New users must use one of the following tokens for verification during "
"account registration:"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:38
+#: modules/matrixsynapse/templates/matrix-synapse.html:43
#, fuzzy
#| msgid "Skip Registration"
msgid "Registration Token"
msgstr "रजिस्ट्रेशन छोड़ें"
-#: modules/matrixsynapse/templates/matrix-synapse.html:39
+#: modules/matrixsynapse/templates/matrix-synapse.html:44
msgid "Uses Allowed"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:40
+#: modules/matrixsynapse/templates/matrix-synapse.html:45
#, fuzzy
#| msgid "Skip Registration"
msgid "Pending Registrations"
msgstr "रजिस्ट्रेशन छोड़ें"
-#: modules/matrixsynapse/templates/matrix-synapse.html:41
+#: modules/matrixsynapse/templates/matrix-synapse.html:46
#, fuzzy
#| msgid "Skip Registration"
msgid "Completed Registrations"
msgstr "रजिस्ट्रेशन छोड़ें"
-#: modules/matrixsynapse/templates/matrix-synapse.html:42
+#: modules/matrixsynapse/templates/matrix-synapse.html:47
msgid "Expiry Time"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:51
+#: modules/matrixsynapse/templates/matrix-synapse.html:56
msgid "Unlimited"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:80
+#: modules/matrixsynapse/templates/matrix-synapse.html:85
#, python-format
msgid ""
"The configured domain name is using a self-signed certificate. Federation "
@@ -4693,13 +4738,13 @@ msgstr "सर्वर नाम अमान्य है"
msgid "An error occurred during password reset: {error}."
msgstr "कॉंफ़िगरेशन के दौरान कूछ त्रुटि हुई."
-#: modules/mumble/__init__.py:25
+#: modules/mumble/__init__.py:27
msgid ""
"Mumble is an open source, low-latency, encrypted, high quality voice chat "
"software."
msgstr "ममबल एक खुला सोरस, कम विलंबता, एन्क्रिप्टेड अच्छा गुणवत्ता आवाज चैट सॉफ्टवेयर है."
-#: modules/mumble/__init__.py:27
+#: modules/mumble/__init__.py:29
#, fuzzy
#| msgid ""
#| "You can connect to your Mumble server on the regular Mumble port 64738. "
@@ -4714,10 +4759,14 @@ msgstr ""
"mumble.info\">Clients अापके डेस्कटॉप और एंड्रॉयड डिवाइस से ममबल से कनेक्ट होने के "
"लिए उपलब्ध हैं."
-#: modules/mumble/__init__.py:45 modules/mumble/manifest.py:9
+#: modules/mumble/__init__.py:47 modules/mumble/manifest.py:9
msgid "Mumble"
msgstr "ममबल"
+#: modules/mumble/__init__.py:158
+msgid "Mumble server is configured"
+msgstr ""
+
#: modules/mumble/forms.py:30
#, fuzzy
#| msgid "Save Password"
@@ -4861,10 +4910,6 @@ msgstr ""
"करना पड़ता है आैर इसमे सिर्फ आल्फ़बेट,संख्या आैर हैफ़ेन होना पड़ता है.हर लेबल का लंबाई ६३ अक्षर "
"या कम होनी पड़ती है. डोमेन नाम कि कुल लंबाई २५३ अक्षर या कम होनी पड़ती है."
-#: modules/names/manifest.py:11 modules/names/templates/names.html:12
-msgid "Domains"
-msgstr "डोमेन्स"
-
#: modules/names/manifest.py:13
#, fuzzy
#| msgid "Evolution"
@@ -5404,7 +5449,7 @@ msgstr "कनेक्शन संपादित करें"
#: modules/networks/templates/connection_show.html:40
#: modules/wireguard/templates/wireguard_show_client.html:72
#: modules/wireguard/templates/wireguard_show_server.html:73
-#: templates/base.html:165 templates/base.html:166
+#: templates/base.html:167 templates/base.html:168
msgid "Edit"
msgstr "संपादन"
@@ -5457,7 +5502,7 @@ msgstr "इंटरफ़ेस"
#: modules/networks/templates/connection_show.html:107
#: modules/snapshot/templates/snapshot_delete_selected.html:19
-#: modules/snapshot/templates/snapshot_manage.html:29
+#: modules/snapshot/templates/snapshot_manage.html:34
#: modules/snapshot/templates/snapshot_rollback.html:27
msgid "Description"
msgstr "विवरण"
@@ -5535,8 +5580,8 @@ msgstr "यह कनेक्शन सक्रिय नहीं है."
#: modules/networks/templates/connection_show.html:264
#: modules/networks/templates/connections_fields_privacy.html:15
-#: modules/openvpn/manifest.py:60 modules/privacy/__init__.py:32
-#: modules/privacy/__init__.py:72 modules/wireguard/manifest.py:45
+#: modules/openvpn/manifest.py:60 modules/privacy/__init__.py:38
+#: modules/privacy/__init__.py:77 modules/wireguard/manifest.py:45
#, fuzzy
#| msgid "Privoxy"
msgid "Privacy"
@@ -5628,7 +5673,7 @@ msgstr "आंतरिक"
msgid "Computer"
msgstr "कंप्यूटर"
-#: modules/networks/templates/connections_edit.html:19
+#: modules/networks/templates/connections_edit.html:24
#: modules/networks/views.py:253 modules/networks/views.py:341
msgid "Edit Connection"
msgstr "कनेक्शन संपादित करें"
@@ -5639,7 +5684,7 @@ msgid "Error:"
msgstr ""
#: modules/networks/templates/connections_fields.html:20
-#: modules/users/templates/users_update.html:46 templates/messages.html:30
+#: modules/users/templates/users_update.html:51 templates/messages.html:30
msgid "Close"
msgstr ""
@@ -5739,7 +5784,7 @@ msgstr "अपडेट"
#: modules/networks/templates/network_topology_update.html:18
#: modules/networks/templates/router_configuration_update.html:19
#: modules/pagekite/templates/pagekite_custom_services.html:33
-#: modules/sharing/templates/sharing_add_edit.html:20 templates/form.html:19
+#: modules/sharing/templates/sharing_add_edit.html:25 templates/form.html:19
msgid "Submit"
msgstr "जमा करें"
@@ -6198,11 +6243,7 @@ msgid ""
"performed following an independent cycle."
msgstr ""
-#: modules/nextcloud/__init__.py:48
-msgid "This app is experimental."
-msgstr ""
-
-#: modules/nextcloud/__init__.py:66 modules/nextcloud/manifest.py:11
+#: modules/nextcloud/__init__.py:65 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
msgid "Nextcloud"
msgstr ""
@@ -6432,7 +6473,7 @@ msgstr ""
msgid "PageKite"
msgstr "पेजकइट"
-#: modules/pagekite/__init__.py:73
+#: modules/pagekite/__init__.py:72
#, fuzzy
#| msgid "PageKite Account"
msgid "PageKite Domain"
@@ -6640,8 +6681,8 @@ msgstr ""
msgid "Shutdown"
msgstr "शट डाउन"
-#: modules/power/templates/power.html:15 templates/base.html:180
-#: templates/base.html:181
+#: modules/power/templates/power.html:15 templates/base.html:182
+#: templates/base.html:183
msgid "Restart"
msgstr "रीस्टार्ट"
@@ -6684,23 +6725,33 @@ msgstr ""
msgid "Shut Down Now"
msgstr "अब शट डाउन करें"
-#: modules/privacy/__init__.py:15
+#: modules/privacy/__init__.py:21
msgid "Manage system-wide privacy settings."
msgstr ""
-#: modules/privacy/__init__.py:70
+#: modules/privacy/__init__.py:75
msgid "Please update privacy settings to match your preferences."
msgstr ""
-#: modules/privacy/__init__.py:75
+#: modules/privacy/__init__.py:80
msgid "Review privacy setting"
msgstr ""
-#: modules/privacy/forms.py:16
+#: modules/privacy/forms.py:17
+#, python-brace-format
+msgid ""
+"Optional Value. This URL is used to determine the publicly visible IP "
+"address of your {box_name}. The URL should simply return the IPv4 or IPv6 "
+"address where the client request comes from. Default is to use the service "
+"provided by the FreedomBox Foundation at https://ddns.freedombox.org/ip/. If "
+"empty, lookups are disabled and some functionality will fail."
+msgstr ""
+
+#: modules/privacy/forms.py:25
msgid "Periodically submit a list of apps used (suggested)"
msgstr ""
-#: modules/privacy/forms.py:18
+#: modules/privacy/forms.py:27
#, python-brace-format
msgid ""
"Help Debian/{box_name} developers by participating in the Popularity Contest "
@@ -6711,11 +6762,11 @@ msgid ""
"network for additional anonymity if Tor app is enabled."
msgstr ""
-#: modules/privacy/forms.py:28
+#: modules/privacy/forms.py:37
msgid "Allow using fallback DNS servers"
msgstr ""
-#: modules/privacy/forms.py:30
+#: modules/privacy/forms.py:39
msgid ""
"Use well-known public DNS servers to resolve domain names in unusual "
"circumstances where no DNS servers are known but internet connectivity is "
@@ -6723,10 +6774,22 @@ msgid ""
"and reliable."
msgstr ""
+#: modules/privacy/forms.py:45
+#, fuzzy
+#| msgid "URL to look up public IP"
+msgid "URL to look up public IP address"
+msgstr "सार्वजनिक आईपी देखने के लियो यूआरएल"
+
#: modules/privacy/manifest.py:10
msgid "Usage reporting"
msgstr ""
+#: modules/privacy/manifest.py:10
+#, fuzzy
+#| msgid "Standard Services"
+msgid "External services"
+msgstr "स्टैण्डर्ड सर्विसस"
+
#: modules/privacy/manifest.py:10
#, fuzzy
#| msgid "DNS Server"
@@ -7852,40 +7915,40 @@ msgid "Delete the following snapshots permanently?"
msgstr "इन स्नैपशॉटस स्थाई रूप से हटाएं?"
#: modules/snapshot/templates/snapshot_delete_selected.html:17
-#: modules/snapshot/templates/snapshot_manage.html:27
+#: modules/snapshot/templates/snapshot_manage.html:32
#: modules/snapshot/templates/snapshot_rollback.html:25
msgid "Number"
msgstr "संख्या"
#: modules/snapshot/templates/snapshot_delete_selected.html:18
-#: modules/snapshot/templates/snapshot_manage.html:28
+#: modules/snapshot/templates/snapshot_manage.html:33
#: modules/snapshot/templates/snapshot_rollback.html:26
msgid "Date"
msgstr "तिथि"
#: modules/snapshot/templates/snapshot_delete_selected.html:42
-#: modules/snapshot/templates/snapshot_manage.html:20
+#: modules/snapshot/templates/snapshot_manage.html:25
#: modules/snapshot/views.py:197
msgid "Delete Snapshots"
msgstr "स्नैपशॉटस हटाएँ"
-#: modules/snapshot/templates/snapshot_manage.html:17
+#: modules/snapshot/templates/snapshot_manage.html:22
msgid "Create Snapshot"
msgstr "स्नैपशॉट बनाइये"
-#: modules/snapshot/templates/snapshot_manage.html:30
+#: modules/snapshot/templates/snapshot_manage.html:35
msgid "Rollback"
msgstr "रोलबैक"
-#: modules/snapshot/templates/snapshot_manage.html:40
+#: modules/snapshot/templates/snapshot_manage.html:45
msgid "will be used at next boot"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:45
+#: modules/snapshot/templates/snapshot_manage.html:50
msgid "in use"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:54
+#: modules/snapshot/templates/snapshot_manage.html:59
#, python-format
msgid "Rollback to snapshot #%(number)s"
msgstr "स्नैपशॉट से रोलबैक करें #%(number)s"
@@ -8500,29 +8563,29 @@ msgstr ""
msgid "Tor"
msgstr "टोर"
-#: modules/tor/__init__.py:78
+#: modules/tor/__init__.py:77
#, fuzzy
#| msgid "Tor Hidden Service"
msgid "Tor Onion Service"
msgstr "टोर हिडन सर्विस"
-#: modules/tor/__init__.py:82
+#: modules/tor/__init__.py:81
msgid "Tor Bridge Relay"
msgstr "टो ब्रिज रीले"
-#: modules/tor/__init__.py:140
+#: modules/tor/__init__.py:139
msgid "Tor relay port available"
msgstr "टोर रीले पोर्ट उपलब्ध है"
-#: modules/tor/__init__.py:152
+#: modules/tor/__init__.py:151
msgid "Obfs3 transport registered"
msgstr "Obfs3 ट्रांसपोर्ट पंजीकृत"
-#: modules/tor/__init__.py:163
+#: modules/tor/__init__.py:162
msgid "Obfs4 transport registered"
msgstr "Obfs4 ट्रांसपोर्ट पंजीकृत"
-#: modules/tor/__init__.py:176
+#: modules/tor/__init__.py:175
#, fuzzy
#| msgid "Hidden Service"
msgid "Onion service is version 3"
@@ -8639,7 +8702,7 @@ msgstr "रीले"
msgid "Anonymity network"
msgstr "गुमनामी नेटवर्क"
-#: modules/tor/templates/tor.html:18
+#: modules/tor/templates/tor.html:23
#, fuzzy
#| msgid "Hidden Service"
msgid "Onion Service"
@@ -9318,13 +9381,13 @@ msgstr "यूसरस"
msgid "Edit user %(username)s"
msgstr "यूसर संपादित करें %(username)s"
-#: modules/users/templates/users_update.html:12
+#: modules/users/templates/users_update.html:17
#, fuzzy, python-format
#| msgid "Edit user %(username)s"
msgid "Edit User %(username)s"
msgstr "यूसर संपादित करें %(username)s"
-#: modules/users/templates/users_update.html:20
+#: modules/users/templates/users_update.html:25
#, python-format
msgid ""
"Use the change password form to "
@@ -9333,30 +9396,30 @@ msgstr ""
"पासवर्ड बदलने के लिये यइ पासवर्ड बदलना फोम्र "
"a> का उपयोग करें."
-#: modules/users/templates/users_update.html:32
+#: modules/users/templates/users_update.html:37
#: templates/language-selection.html:17
msgid "Save Changes"
msgstr "बदलाव संचयित कीजिये"
-#: modules/users/templates/users_update.html:41
+#: modules/users/templates/users_update.html:46
#, fuzzy, python-format
#| msgid "Delete user %(username)s permanently?"
msgid "Delete user %(username)s and all the user's files?"
msgstr "यूसर %(username)s स्थाई रूप से हटाइये?"
-#: modules/users/templates/users_update.html:51
+#: modules/users/templates/users_update.html:56
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
msgstr ""
-#: modules/users/templates/users_update.html:60
+#: modules/users/templates/users_update.html:65
#, fuzzy
#| msgid "Delete User"
msgid "Delete user and files"
msgstr "यूसर हटाइये"
-#: modules/users/templates/users_update.html:63
+#: modules/users/templates/users_update.html:68
msgid "Cancel"
msgstr "कैंसिल"
@@ -10090,13 +10153,13 @@ msgstr "इंस्टालेशन"
msgid "Service %(service_name)s is not running."
msgstr "सर्विस %(service_name)s नहीं चल रहा है."
-#: templates/apps.html:29
+#: templates/apps.html:33
#, fuzzy
#| msgid "Search the web"
msgid "Search with tags"
msgstr "वेब सरच किजिये"
-#: templates/apps.html:42
+#: templates/apps.html:46
#, fuzzy
#| msgid "Search the web"
msgid "Clear all tags"
@@ -10108,35 +10171,35 @@ msgid ""
"is free software that lets you install and manage server apps with ease."
msgstr ""
-#: templates/base.html:116
+#: templates/base.html:118
msgid " Home"
msgstr " होम"
-#: templates/base.html:124
+#: templates/base.html:126
msgid " Apps"
msgstr " ऐप्स"
-#: templates/base.html:133
+#: templates/base.html:135
msgid " System"
msgstr " सिस्टम"
-#: templates/base.html:172 templates/base.html:173
+#: templates/base.html:174 templates/base.html:175
msgid "Change password"
msgstr "पासवर्ड बदलें"
-#: templates/base.html:186 templates/base.html:187
+#: templates/base.html:188 templates/base.html:189
msgid "Shut down"
msgstr "शट डाउन"
-#: templates/base.html:197 templates/base.html:235
+#: templates/base.html:199 templates/base.html:237
msgid "Log out"
msgstr "लॉग आउट"
-#: templates/base.html:206 templates/base.html:209
+#: templates/base.html:208 templates/base.html:211
msgid "Select language"
msgstr "भाषा चुनें"
-#: templates/base.html:224 templates/base.html:226
+#: templates/base.html:226 templates/base.html:228
msgid "Log in"
msgstr "लॉग इन"
@@ -10357,23 +10420,44 @@ msgid ""
"installed freshly again."
msgstr ""
-#: views.py:85
+#: views.py:84
msgid "Here"
msgstr ""
-#: views.py:374
+#: views.py:376
msgid "Setting unchanged"
msgstr "सेटिंग स्थिर है"
-#: views.py:609
+#: views.py:610
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""
-#: web_framework.py:114
+#: web_framework.py:122
msgid "Gujarati"
msgstr ""
+#, fuzzy, python-brace-format
+#~| msgid ""
+#~| "Optional Value. If your {box_name} is not connected directly to the "
+#~| "Internet (i.e. connected to a NAT router) this URL is used to determine "
+#~| "the real IP address. The URL should simply return the IP where the "
+#~| "client comes from (example: http://myip.datasystems24.de)."
+#~ msgid ""
+#~ "Optional Value. If your {box_name} is not connected directly to the "
+#~ "Internet (i.e. connected to a NAT router) this URL is used to determine "
+#~ "the real IP address. The URL should simply return the IP where the client "
+#~ "comes from (example: https://ddns.freedombox.org/ip/)."
+#~ msgstr ""
+#~ "वैकल्पिक मूल्य. अगर आपना {box_name} इंटरनेट से सीघे कनेक्ट नहीं है (i.e. एनऐटि रूटर से "
+#~ "कनेक्टईडॅ है) यह यूआरएल असली आईपी एड्रसॅ चुनने के लिये उपयोग करता है. यह यूआरएल ग्राहक "
+#~ "आने से जगह को वापस जाना चाहिये ( उदाहरण:http://myip.datasystems24.de)."
+
+#, fuzzy
+#~| msgid "Create User"
+#~ msgid "Manage Aliases for Mailbox"
+#~ msgstr "यूसर बनाये"
+
#, fuzzy
#~| msgid "File Sharing"
#~ msgid "File & Snippet Sharing"
@@ -11634,9 +11718,6 @@ msgstr ""
#~ msgid "You don't have any Custom Services enabled"
#~ msgstr "अाप कोई कस्टम सर्विसस सक्षम नहीं हैं"
-#~ msgid "Standard Services"
-#~ msgstr "स्टैण्डर्ड सर्विसस"
-
#, fuzzy
#~| msgid ""
#~| "When enabled, Syncthing's web interface will be available from \n"
"Language-Team: Hungarian
SSH key-based authentication is not yet "
"possible."
msgstr ""
"Jelszó az SSH-szerverhez.
SSH-kulcs alapú azonosítás még nem lehetséges."
-#: modules/backups/forms.py:273
+#: modules/backups/forms.py:275
msgid "Remote backup repository already exists."
msgstr "A távoli biztonsági mentési tároló már létezik."
-#: modules/backups/forms.py:279
+#: modules/backups/forms.py:281
msgid "Select verified SSH public key"
msgstr "Válaszd ki az ellenőrzött SSH nyilvános kulcsot"
#: modules/backups/manifest.py:14
#: modules/backups/templates/backups_repository.html:92
#: modules/backups/templates/backups_restore.html:27
-#: modules/backups/views.py:240 modules/snapshot/manifest.py:14
+#: modules/backups/views.py:238 modules/snapshot/manifest.py:14
#: templates/toolbar.html:44 templates/toolbar.html:45
msgid "Restore"
msgstr "Visszaállítás"
@@ -558,16 +560,20 @@ msgstr ""
msgid "Backup system is busy with another operation."
msgstr ""
+#: modules/backups/privileged.py:92
+msgid "Not enough space left on the disk or remote location."
+msgstr ""
+
#: modules/backups/repository.py:94
msgid "Existing repository is not encrypted."
msgstr "A meglévő tároló nem titkosított."
-#: modules/backups/repository.py:266
+#: modules/backups/repository.py:289
#, python-brace-format
msgid "{box_name} storage"
msgstr "{box_name} Tárhely"
-#: modules/backups/templates/backups.html:17 modules/backups/views.py:125
+#: modules/backups/templates/backups.html:17 modules/backups/views.py:124
msgid "Create a new backup"
msgstr "Új biztonsági mentés létrehozása"
@@ -611,10 +617,9 @@ msgstr "Meglévő biztonsági mentések"
#: modules/help/templates/statuslog.html:24
#: modules/kiwix/templates/kiwix-add-package.html:26
#: modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:28
-#: modules/matrixsynapse/templates/matrix-synapse.html:76
+#: modules/matrixsynapse/templates/matrix-synapse.html:81
#: modules/names/templates/names.html:128
#: modules/networks/templates/connection_show.html:24
-#: modules/nextcloud/__init__.py:48
#: modules/pagekite/templates/pagekite_custom_services.html:16
#: modules/power/templates/power_busy_warning.html:11
#: modules/snapshot/templates/snapshot_not_supported.html:13
@@ -778,111 +783,111 @@ msgstr ""
msgid "Verify Host"
msgstr "Állomás ellenőrzése"
-#: modules/backups/views.py:69
+#: modules/backups/views.py:68
msgid "Backup schedule updated."
msgstr "A biztonsági mentések készítésének ütemezése frissítve."
-#: modules/backups/views.py:88
+#: modules/backups/views.py:87
msgid "Schedule Backups"
msgstr "Biztonsági mentések ütemezése"
-#: modules/backups/views.py:150
+#: modules/backups/views.py:148
msgid "Archive created."
msgstr "Archívum létrehozva."
-#: modules/backups/views.py:162
+#: modules/backups/views.py:160
msgid "Delete Archive"
msgstr "Archívum törlése"
-#: modules/backups/views.py:175
+#: modules/backups/views.py:173
msgid "Archive deleted."
msgstr "Archívum törölve."
-#: modules/backups/views.py:189
+#: modules/backups/views.py:187
msgid "Upload and restore a backup"
msgstr "Biztonsági mentések feltöltése és visszaállítása"
-#: modules/backups/views.py:218
+#: modules/backups/views.py:216
#, fuzzy
#| msgid "Logged out successfully."
msgid "Upload successful."
msgstr "Sikeres kijelentkezés."
-#: modules/backups/views.py:256
+#: modules/backups/views.py:254
msgid "No backup file found."
msgstr "Nem található biztonsági mentési fájl."
-#: modules/backups/views.py:264
+#: modules/backups/views.py:262
msgid "Restore from uploaded file"
msgstr "Visszaállítás a feltöltött fájlból"
-#: modules/backups/views.py:278 modules/backups/views.py:299
+#: modules/backups/views.py:276 modules/backups/views.py:297
msgid "Restored files from backup."
msgstr "Visszaállított fájlok a biztonsági mentésből."
-#: modules/backups/views.py:329
+#: modules/backups/views.py:327
msgid "No additional disks available to add a repository."
msgstr "Nincs további lemez amit a tárolóhoz lehetne adni."
-#: modules/backups/views.py:337
+#: modules/backups/views.py:335
msgid "Create backup repository"
msgstr "Biztonsági mentési tároló létrehozása"
-#: modules/backups/views.py:352
+#: modules/backups/views.py:350
#, fuzzy
#| msgid "Added new remote SSH repository."
msgid "Added new repository."
msgstr "Új távoli SSH tároló hozzáadva."
-#: modules/backups/views.py:366
+#: modules/backups/views.py:364
msgid "Create remote backup repository"
msgstr "Távoli biztonsági mentési tároló létrehozása"
-#: modules/backups/views.py:388
+#: modules/backups/views.py:386
msgid "Added new remote SSH repository."
msgstr "Új távoli SSH tároló hozzáadva."
-#: modules/backups/views.py:410
+#: modules/backups/views.py:408
msgid "Verify SSH hostkey"
msgstr "SSH-állomáskulcs ellenőrzése"
-#: modules/backups/views.py:436
+#: modules/backups/views.py:434
msgid "SSH host already verified."
msgstr "Az SSH-állomás már ellenőrzött."
-#: modules/backups/views.py:447
+#: modules/backups/views.py:445
msgid "SSH host verified."
msgstr "SSH-állomás leellenőrizve."
-#: modules/backups/views.py:463
+#: modules/backups/views.py:461
msgid "SSH host public key could not be verified."
msgstr "SSH-állomás nyilvános kulcsa nem ellenőrizhető le."
-#: modules/backups/views.py:465
+#: modules/backups/views.py:463
msgid "Authentication to remote server failed."
msgstr "A távoli szerverrel végzett hitelesítés sikertelen."
-#: modules/backups/views.py:467
+#: modules/backups/views.py:465
msgid "Error establishing connection to server: {}"
msgstr "Hiba lépett fel a szerverhez kapcsolódás során: {}"
-#: modules/backups/views.py:478
+#: modules/backups/views.py:476
msgid "Repository removed."
msgstr "Tároló eltávolítva."
-#: modules/backups/views.py:492
+#: modules/backups/views.py:490
msgid "Remove Repository"
msgstr "Tároló eltávolítása"
-#: modules/backups/views.py:502
+#: modules/backups/views.py:500
msgid "Repository removed. Backups were not deleted."
msgstr "Tároló eltávolítva. A biztonsági mentések nem lettek törölve."
-#: modules/backups/views.py:513
+#: modules/backups/views.py:511
msgid "Unmounting failed!"
msgstr "Lecsatolás sikertelen!"
-#: modules/backups/views.py:529 modules/backups/views.py:533
+#: modules/backups/views.py:527 modules/backups/views.py:531
msgid "Mounting failed"
msgstr "Felcsatolás sikertelen"
@@ -1009,7 +1014,7 @@ msgstr "Jelszó hozzáadása"
msgid "No passwords currently configured."
msgstr "Jelenleg nincs beállítva jelszó."
-#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:91
+#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:83
#: modules/miniflux/forms.py:14 modules/networks/forms.py:282
#: modules/shadowsocks/forms.py:32 modules/shadowsocksserver/forms.py:37
msgid "Password"
@@ -1137,8 +1142,10 @@ msgstr ""
msgid "Serving Domains"
msgstr "Kiszolgált tartományok"
-#: modules/bind/templates/bind.html:17 modules/email/templates/email.html:38
-#: modules/ikiwiki/forms.py:12 modules/names/templates/names.html:18
+#: modules/bind/templates/bind.html:17
+#: modules/email/templates/email-dns.html:25
+#: modules/email/templates/email-dns.html:78 modules/ikiwiki/forms.py:12
+#: modules/names/templates/names.html:18
#: modules/networks/templates/connection_show.html:95
#: modules/samba/templates/samba.html:65
#: modules/storage/templates/storage.html:26
@@ -1168,7 +1175,7 @@ msgstr "IP-címek és tartományok frissítése"
#: modules/minetest/views.py:55 modules/mumble/views.py:37
#: modules/names/views.py:66 modules/names/views.py:95
#: modules/names/views.py:129 modules/pagekite/forms.py:74
-#: modules/privacy/views.py:50 modules/quassel/views.py:29
+#: modules/privacy/views.py:55 modules/quassel/views.py:29
#: modules/roundcube/views.py:32 modules/rssbridge/views.py:31
#: modules/shadowsocks/views.py:52 modules/shadowsocksserver/views.py:48
#: modules/ssh/views.py:62 modules/transmission/views.py:43
@@ -1859,7 +1866,7 @@ msgid "Test"
msgstr "Teszt"
#: modules/diagnostics/templates/diagnostics_results.html:12
-#: modules/dynamicdns/templates/dynamicdns.html:20
+#: modules/dynamicdns/templates/dynamicdns.html:25
msgid "Result"
msgstr "Eredmény"
@@ -1872,7 +1879,7 @@ msgstr "Ellenőrző teszt"
msgid "App {app_id} is not installed, cannot repair"
msgstr ""
-#: modules/dynamicdns/__init__.py:28
+#: modules/dynamicdns/__init__.py:29
#, python-brace-format
msgid ""
"If your Internet provider changes your IP address periodically (i.e. every "
@@ -1884,7 +1891,7 @@ msgstr ""
"Ez megakadályozza, hogy mások megtalálják a {box_name} által biztosított "
"szolgáltatásokat."
-#: modules/dynamicdns/__init__.py:32
+#: modules/dynamicdns/__init__.py:33
msgid ""
"The solution is to assign a DNS name to your IP address and update the DNS "
"name every time your IP is changed by your Internet provider. Dynamic DNS "
@@ -1902,7 +1909,7 @@ msgstr ""
"rendelni a DNS-neved az új IP-címedhez, és ha valaki az Interneten lekérdezi "
"a DNS-neved, válaszként az aktuális IP-címedet fogja megkapni."
-#: modules/dynamicdns/__init__.py:40
+#: modules/dynamicdns/__init__.py:41
msgid ""
"If you are looking for a free dynamic DNS account, you may find a free "
"GnuDIP service at ddns."
@@ -1915,11 +1922,17 @@ msgstr ""
"URL alapú szolgáltatást a freedns.afraid.org címen."
-#: modules/dynamicdns/__init__.py:61
+#: modules/dynamicdns/__init__.py:46
+msgid ""
+"This service uses an external service to lookup public IP address. This can "
+"be configured in the privacy app."
+msgstr ""
+
+#: modules/dynamicdns/__init__.py:64
msgid "Dynamic DNS Client"
msgstr "Dinamikus DNS ügyfél"
-#: modules/dynamicdns/__init__.py:75
+#: modules/dynamicdns/__init__.py:78
msgid "Dynamic Domain Name"
msgstr "Dinamikus domainnév"
@@ -1977,89 +1990,71 @@ msgstr ""
"Hagyd ezt a mezőt üresen, ha szeretnéd megtartani a jelenlegi jelszavad."
#: modules/dynamicdns/forms.py:43
-#, python-brace-format
-msgid ""
-"Optional Value. If your {box_name} is not connected directly to the Internet "
-"(i.e. connected to a NAT router) this URL is used to determine the real IP "
-"address. The URL should simply return the IP where the client comes from "
-"(example: https://ddns.freedombox.org/ip/)."
-msgstr ""
-"Opcionális. Ha a {box_name} eszközöd nem közvetlenül kapcsolódik az "
-"Internethez (pl. NAT-routerhez van kapcsolódva), ennek az URL-nek a "
-"segítségével válik lehetővé nyilvános IP-címed meghatározása. Egy ilyen URL "
-"egyszerűen visszaadja a kliens IP-címét (pl.: https://ddns.freedombox.org/"
-"ip/)."
-
-#: modules/dynamicdns/forms.py:51
msgid "The username that was used when the account was created."
msgstr "A felhasználónév, amely a fiók létrehozása során lett megadva."
-#: modules/dynamicdns/forms.py:54
+#: modules/dynamicdns/forms.py:46
msgid "GnuDIP"
msgstr "GnuDIP"
-#: modules/dynamicdns/forms.py:57
+#: modules/dynamicdns/forms.py:49
msgid "Other update URL"
msgstr "Egyéb frissítési URL"
-#: modules/dynamicdns/forms.py:59
+#: modules/dynamicdns/forms.py:51
msgid "Service Type"
msgstr "Szolgáltatás típusa"
-#: modules/dynamicdns/forms.py:64
+#: modules/dynamicdns/forms.py:56
msgid "GnuDIP Server Address"
msgstr "GnuDIP-szerver címe"
-#: modules/dynamicdns/forms.py:67
+#: modules/dynamicdns/forms.py:59
msgid "Invalid server name"
msgstr "Érvénytelen szervernév"
-#: modules/dynamicdns/forms.py:70
+#: modules/dynamicdns/forms.py:62
msgid "Update URL"
msgstr "Frissítési URL"
-#: modules/dynamicdns/forms.py:74
+#: modules/dynamicdns/forms.py:66
msgid "Accept all SSL certificates"
msgstr "Minden SSL-tanúsítvány elfogadása"
-#: modules/dynamicdns/forms.py:78
+#: modules/dynamicdns/forms.py:70
msgid "Use HTTP basic authentication"
msgstr "HTTP alap hitelesítés használata"
-#: modules/dynamicdns/forms.py:82 modules/names/__init__.py:68
+#: modules/dynamicdns/forms.py:74 modules/names/__init__.py:68
#: modules/names/forms.py:106 modules/names/templates/names.html:19
msgid "Domain Name"
msgstr "Domainnév"
-#: modules/dynamicdns/forms.py:85 modules/names/forms.py:99
+#: modules/dynamicdns/forms.py:77 modules/names/forms.py:99
#: modules/names/forms.py:117
msgid "Invalid domain name"
msgstr "Érvénytelen domainnév"
-#: modules/dynamicdns/forms.py:88 modules/miniflux/forms.py:11
+#: modules/dynamicdns/forms.py:80 modules/miniflux/forms.py:11
#: modules/networks/forms.py:281 modules/users/forms.py:130
msgid "Username"
msgstr "Felhasználónév"
-#: modules/dynamicdns/forms.py:95 modules/networks/forms.py:284
+#: modules/dynamicdns/forms.py:87 modules/networks/forms.py:284
msgid "Show password"
msgstr "Jelszó mutatása"
-#: modules/dynamicdns/forms.py:99
-msgid "URL to look up public IP"
-msgstr "URL a nyilvános IP-cím felderítéséhez"
-
-#: modules/dynamicdns/forms.py:104
+#: modules/dynamicdns/forms.py:91
msgid "Use IPv6 instead of IPv4"
msgstr "IPv6 használata IPv4 helyett"
-#: modules/dynamicdns/forms.py:123
+#: modules/dynamicdns/forms.py:110
msgid "This field is required."
msgstr "Ezt a mezőt ki kell tölteni."
#: modules/dynamicdns/manifest.py:17
-#: modules/dynamicdns/templates/dynamicdns.html:18
-#: modules/email/templates/email.html:35
+#: modules/dynamicdns/templates/dynamicdns.html:23
+#: modules/email/templates/email-dns.html:22
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64
msgid "Domain"
@@ -2075,37 +2070,37 @@ msgstr ""
msgid "Needs public IP"
msgstr "Szerver nyilvános kulcsa:"
-#: modules/dynamicdns/templates/dynamicdns.html:11
-#: modules/ejabberd/templates/ejabberd.html:13 modules/firewall/manifest.py:10
+#: modules/dynamicdns/templates/dynamicdns.html:16
+#: modules/ejabberd/templates/ejabberd.html:18 modules/firewall/manifest.py:10
#: modules/firewall/templates/firewall.html:16
#: modules/firewall/templates/firewall.html:22
#: modules/letsencrypt/templates/letsencrypt.html:17
-#: modules/matrixsynapse/templates/matrix-synapse.html:12
+#: modules/matrixsynapse/templates/matrix-synapse.html:17
#: modules/networks/templates/connection_show.html:258
-#: modules/samba/templates/samba.html:67 modules/tor/templates/tor.html:19
+#: modules/samba/templates/samba.html:67 modules/tor/templates/tor.html:24
#: modules/upgrades/templates/upgrades_configure.html:14
#: modules/wireguard/templates/wireguard_show_client.html:48
#: modules/wireguard/templates/wireguard_show_server.html:47
msgid "Status"
msgstr "Állapot"
-#: modules/dynamicdns/templates/dynamicdns.html:19
+#: modules/dynamicdns/templates/dynamicdns.html:24
msgid "Last update"
msgstr "Legutolsó frissítés"
-#: modules/dynamicdns/templates/dynamicdns.html:21
+#: modules/dynamicdns/templates/dynamicdns.html:26
msgid "IP Address"
msgstr "IP-cím"
-#: modules/dynamicdns/templates/dynamicdns.html:32
+#: modules/dynamicdns/templates/dynamicdns.html:37
msgid "Success"
msgstr "Rendben"
-#: modules/dynamicdns/templates/dynamicdns.html:36
+#: modules/dynamicdns/templates/dynamicdns.html:41
msgid "Failed"
msgstr "Sikertelen"
-#: modules/dynamicdns/templates/dynamicdns.html:52
+#: modules/dynamicdns/templates/dynamicdns.html:57
msgid "No status available."
msgstr "Nincs elérhető állapot."
@@ -2284,7 +2279,7 @@ msgstr "Videószoba"
msgid "XMPP"
msgstr ""
-#: modules/ejabberd/templates/ejabberd.html:18
+#: modules/ejabberd/templates/ejabberd.html:23
#, fuzzy, python-format
#| msgid ""
#| "Your XMPP server domain is set to %(domainname)s. User IDs will "
@@ -2299,7 +2294,7 @@ msgstr ""
"fognak kinézni: username@%(domainname)s. Beállíthatod a rendszered "
"domainnevét a Beállítások lapon."
-#: modules/ejabberd/templates/ejabberd.html:25
+#: modules/ejabberd/templates/ejabberd.html:30
#, fuzzy, python-format
#| msgid ""
#| "Your XMPP server domain is set to %(domainname)s. User IDs will "
@@ -2372,14 +2367,18 @@ msgstr ""
msgid "Postfix/Dovecot"
msgstr "Postfix/Dovecot"
-#: modules/email/__init__.py:83
+#: modules/email/__init__.py:80
+msgid "More emails"
+msgstr ""
+
+#: modules/email/__init__.py:80
+msgid "Same mailbox"
+msgstr ""
+
+#: modules/email/__init__.py:82
msgid "My Email Aliases"
msgstr "E-mail álneveim"
-#: modules/email/__init__.py:84
-msgid "Manage Aliases for Mailbox"
-msgstr "A Mailbox álneveinek kezelése"
-
#: modules/email/forms.py:25
msgid "Primary domain"
msgstr "Elsődleges domain"
@@ -2460,47 +2459,102 @@ msgstr "Új e-mail álnév létrehozása"
msgid "Add"
msgstr "Hozzáadás"
-#: modules/email/templates/email.html:10
-msgid "Manage Spam"
-msgstr "Spam kezelése"
-
-#: modules/email/templates/email.html:22
-msgid "DNS Records"
+#: modules/email/templates/email-dns.html:9
+#, fuzzy
+#| msgid "DNS Records"
+msgid "DNS Records for domain:"
msgstr "DNS-rekordok"
-#: modules/email/templates/email.html:25
+#: modules/email/templates/email-dns.html:12
+#, fuzzy
+#| msgid ""
+#| "The following DNS records must be added manually on your primary domain "
+#| "for the mail server to work properly."
msgid ""
-"The following DNS records must be added manually on your primary domain for "
-"the mail server to work properly."
+"The following DNS records must be added manually on this domain for the mail "
+"server to work properly for this domain."
msgstr ""
"Az e-mail szerver helyes működéséhez a következő DNS-rekordokat kézileg "
"hozzá kell adnod az elsődleges domained beállításaihoz."
-#: modules/email/templates/email.html:36
+#: modules/email/templates/email-dns.html:23
+#: modules/email/templates/email-dns.html:77
msgid "TTL"
msgstr "TTL"
-#: modules/email/templates/email.html:37
+#: modules/email/templates/email-dns.html:24
msgid "Class"
msgstr "Osztály"
-#: modules/email/templates/email.html:39
+#: modules/email/templates/email-dns.html:26
msgid "Priority"
msgstr "Prioritás"
-#: modules/email/templates/email.html:40
+#: modules/email/templates/email-dns.html:27
msgid "Weight"
msgstr "Súly"
-#: modules/email/templates/email.html:41
+#: modules/email/templates/email-dns.html:28
#: modules/minetest/templates/minetest.html:18
msgid "Port"
msgstr "Port"
-#: modules/email/templates/email.html:42
+#: modules/email/templates/email-dns.html:29
+#: modules/email/templates/email-dns.html:79
msgid "Host/Target/Value"
msgstr "Állomás/Cél/Érték"
+#: modules/email/templates/email-dns.html:50
+#, fuzzy
+#| msgid "Server hostname or IP address"
+msgid "Reverse DNS Records for IP Addresses"
+msgstr "A szerver állomásneve vagy IP-címe"
+
+#: modules/email/templates/email-dns.html:53
+#, python-format
+msgid ""
+"If your %(box_name)s runs on a cloud service infrastructure, you should "
+"configure "
+"Reverse DNS lookup. This isn't mandatory, however, it greatly improves "
+"email deliverability. Reverse DNS isn't configured where your regular DNS "
+"is. You should look for it in the settings of your VPS/ISP. Some providers "
+"preconfigure the IP address part for you and you only have to set the domain "
+"part. Only one of your domains can have Revese DNS lookup configured unless "
+"you have multiple public IP addresses."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:66
+msgid ""
+"An external service is used to lookup public IP address to show in the "
+"following section. This can be configured in the privacy app."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:76
+#, fuzzy
+#| msgid "Hostname"
+msgid "Host"
+msgstr "Állomásnév"
+
+#: modules/email/templates/email.html:10
+msgid "Manage Spam"
+msgstr "Spam kezelése"
+
+#: modules/email/templates/email.html:20 modules/names/manifest.py:11
+#: modules/names/templates/names.html:12
+msgid "Domains"
+msgstr "Domainek"
+
+#: modules/email/templates/email.html:23
+msgid ""
+"The following domains are configured. View details to see the list of DNS "
+"entries to be made for the domain."
+msgstr ""
+
+#: modules/email/templates/email.html:35
+#, python-format
+msgid "View domain: %(domain)s"
+msgstr ""
+
#: modules/featherwiki/__init__.py:25
#, python-brace-format
msgid ""
@@ -2780,7 +2834,7 @@ msgstr "{name} port ({details}) elérhető a külső hálózaton"
msgid "Port {name} ({details}) unavailable for external networks"
msgstr "{name} port ({details}) nem érhető el külső hálózaton"
-#: modules/firewall/manifest.py:10 modules/tor/templates/tor.html:20
+#: modules/firewall/manifest.py:10 modules/tor/templates/tor.html:25
msgid "Ports"
msgstr "Portok"
@@ -3137,9 +3191,9 @@ msgstr "Visszajelzés küldése"
msgid "Contribute"
msgstr "Hozzájárulás"
-#: modules/help/__init__.py:53 templates/base.html:215 templates/base.html:218
+#: modules/help/__init__.py:53 templates/base.html:217 templates/base.html:220
#: templates/help-menu.html:46 templates/help-menu.html:47
-#: templates/index.html:98
+#: templates/index.html:96
msgid "About"
msgstr "Névjegy"
@@ -3310,7 +3364,7 @@ msgstr ""
#: modules/help/templates/help_contribute.html:42
#: modules/power/templates/power_restart.html:27
-#: modules/power/templates/power_shutdown.html:26 templates/app-header.html:68
+#: modules/power/templates/power_shutdown.html:26 templates/app-header.html:65
msgid "Learn more..."
msgstr "Bővebben..."
@@ -3700,7 +3754,7 @@ msgid "Web conference"
msgstr ""
#: modules/janus/templates/janus_video_room.html:205
-#: modules/jsxc/templates/jsxc_launch.html:117 templates/base.html:271
+#: modules/jsxc/templates/jsxc_launch.html:117 templates/base.html:273
msgid "JavaScript license information"
msgstr "JavaScript licencinformáció"
@@ -4153,7 +4207,7 @@ msgstr ""
"Nincs elérhető domain. Állíts be legalább egy "
"domaint, hogy használni tudd a Matrix Synapse-t."
-#: modules/matrixsynapse/templates/matrix-synapse.html:15
+#: modules/matrixsynapse/templates/matrix-synapse.html:20
#, python-format
msgid ""
"The Matrix server domain is set to %(domain_name)s. User IDs will "
@@ -4165,7 +4219,7 @@ msgstr ""
"%(domain_name)s. A domainnév megváltoztatása a kezdeti beállítás után "
"jelenleg nem lehetséges."
-#: modules/matrixsynapse/templates/matrix-synapse.html:22
+#: modules/matrixsynapse/templates/matrix-synapse.html:27
msgid ""
"New users can be registered from any client if public registration is "
"enabled."
@@ -4173,45 +4227,45 @@ msgstr ""
"Ha a szabad regisztráció engedélyezett, bármely kliensről lehet új "
"felhasználót regisztrálni."
-#: modules/matrixsynapse/templates/matrix-synapse.html:29
+#: modules/matrixsynapse/templates/matrix-synapse.html:34
msgid ""
"New users must use one of the following tokens for verification during "
"account registration:"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:38
+#: modules/matrixsynapse/templates/matrix-synapse.html:43
#, fuzzy
#| msgid "Skip Registration"
msgid "Registration Token"
msgstr "Regisztráció kihagyása"
-#: modules/matrixsynapse/templates/matrix-synapse.html:39
+#: modules/matrixsynapse/templates/matrix-synapse.html:44
#, fuzzy
#| msgid "Allowed IPs"
msgid "Uses Allowed"
msgstr "Engedélyezett IP-címek"
-#: modules/matrixsynapse/templates/matrix-synapse.html:40
+#: modules/matrixsynapse/templates/matrix-synapse.html:45
#, fuzzy
#| msgid "Skip Registration"
msgid "Pending Registrations"
msgstr "Regisztráció kihagyása"
-#: modules/matrixsynapse/templates/matrix-synapse.html:41
+#: modules/matrixsynapse/templates/matrix-synapse.html:46
#, fuzzy
#| msgid "Skip Registration"
msgid "Completed Registrations"
msgstr "Regisztráció kihagyása"
-#: modules/matrixsynapse/templates/matrix-synapse.html:42
+#: modules/matrixsynapse/templates/matrix-synapse.html:47
msgid "Expiry Time"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:51
+#: modules/matrixsynapse/templates/matrix-synapse.html:56
msgid "Unlimited"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:80
+#: modules/matrixsynapse/templates/matrix-synapse.html:85
#, python-format
msgid ""
"The configured domain name is using a self-signed certificate. Federation "
@@ -4715,7 +4769,7 @@ msgstr "Érvénytelen felhasználónév: {username}"
msgid "An error occurred during password reset: {error}."
msgstr "Hiba történt a beállítás során."
-#: modules/mumble/__init__.py:25
+#: modules/mumble/__init__.py:27
msgid ""
"Mumble is an open source, low-latency, encrypted, high quality voice chat "
"software."
@@ -4723,7 +4777,7 @@ msgstr ""
"A Mumble egy nyílt forráskódú, alacsony késéssel működő, titkosított, magas "
"hangminőségű audiókonferencia-szoftver."
-#: modules/mumble/__init__.py:27
+#: modules/mumble/__init__.py:29
msgid ""
"You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your "
@@ -4733,10 +4787,14 @@ msgstr ""
"kapcsolódhatsz. A Mumble-kliensek "
"elérhetők az asztali és mobil eszközökhöz."
-#: modules/mumble/__init__.py:45 modules/mumble/manifest.py:9
+#: modules/mumble/__init__.py:47 modules/mumble/manifest.py:9
msgid "Mumble"
msgstr "Mumble"
+#: modules/mumble/__init__.py:158
+msgid "Mumble server is configured"
+msgstr ""
+
#: modules/mumble/forms.py:30
msgid "Set SuperUser Password"
msgstr "SuperUser jelszavának beállítása"
@@ -4883,10 +4941,6 @@ msgstr ""
"egy címke hossza nem lehet több 63 karakternél. A domainnév teljes hossza "
"pedig nem lehet több 253 karakternél."
-#: modules/names/manifest.py:11 modules/names/templates/names.html:12
-msgid "Domains"
-msgstr "Domainek"
-
#: modules/names/manifest.py:13
#, fuzzy
#| msgid "Evolution"
@@ -5504,7 +5558,7 @@ msgstr "Kapcsolat szerkesztése"
#: modules/networks/templates/connection_show.html:40
#: modules/wireguard/templates/wireguard_show_client.html:72
#: modules/wireguard/templates/wireguard_show_server.html:73
-#: templates/base.html:165 templates/base.html:166
+#: templates/base.html:167 templates/base.html:168
msgid "Edit"
msgstr "Szerkesztés"
@@ -5557,7 +5611,7 @@ msgstr "Interfész"
#: modules/networks/templates/connection_show.html:107
#: modules/snapshot/templates/snapshot_delete_selected.html:19
-#: modules/snapshot/templates/snapshot_manage.html:29
+#: modules/snapshot/templates/snapshot_manage.html:34
#: modules/snapshot/templates/snapshot_rollback.html:27
msgid "Description"
msgstr "Leírás"
@@ -5635,8 +5689,8 @@ msgstr "Ez a kapcsolat nem aktív."
#: modules/networks/templates/connection_show.html:264
#: modules/networks/templates/connections_fields_privacy.html:15
-#: modules/openvpn/manifest.py:60 modules/privacy/__init__.py:32
-#: modules/privacy/__init__.py:72 modules/wireguard/manifest.py:45
+#: modules/openvpn/manifest.py:60 modules/privacy/__init__.py:38
+#: modules/privacy/__init__.py:77 modules/wireguard/manifest.py:45
#, fuzzy
#| msgid "Privoxy"
msgid "Privacy"
@@ -5731,7 +5785,7 @@ msgstr "Belső"
msgid "Computer"
msgstr "Számítógép"
-#: modules/networks/templates/connections_edit.html:19
+#: modules/networks/templates/connections_edit.html:24
#: modules/networks/views.py:253 modules/networks/views.py:341
msgid "Edit Connection"
msgstr "Kapcsolat szerkesztése"
@@ -5744,7 +5798,7 @@ msgid "Error:"
msgstr "hiba"
#: modules/networks/templates/connections_fields.html:20
-#: modules/users/templates/users_update.html:46 templates/messages.html:30
+#: modules/users/templates/users_update.html:51 templates/messages.html:30
msgid "Close"
msgstr "Bezárás"
@@ -5847,7 +5901,7 @@ msgstr "Frissítés…"
#: modules/networks/templates/network_topology_update.html:18
#: modules/networks/templates/router_configuration_update.html:19
#: modules/pagekite/templates/pagekite_custom_services.html:33
-#: modules/sharing/templates/sharing_add_edit.html:20 templates/form.html:19
+#: modules/sharing/templates/sharing_add_edit.html:25 templates/form.html:19
msgid "Submit"
msgstr "Küldés"
@@ -6285,11 +6339,7 @@ msgid ""
"performed following an independent cycle."
msgstr ""
-#: modules/nextcloud/__init__.py:48
-msgid "This app is experimental."
-msgstr ""
-
-#: modules/nextcloud/__init__.py:66 modules/nextcloud/manifest.py:11
+#: modules/nextcloud/__init__.py:65 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
#, fuzzy
#| msgid "Next"
@@ -6529,7 +6579,7 @@ msgstr ""
msgid "PageKite"
msgstr "PageKite"
-#: modules/pagekite/__init__.py:73
+#: modules/pagekite/__init__.py:72
msgid "PageKite Domain"
msgstr "PageKite domain"
@@ -6735,8 +6785,8 @@ msgstr ""
msgid "Shutdown"
msgstr "Leállítás"
-#: modules/power/templates/power.html:15 templates/base.html:180
-#: templates/base.html:181
+#: modules/power/templates/power.html:15 templates/base.html:182
+#: templates/base.html:183
msgid "Restart"
msgstr "Újraindítás"
@@ -6778,25 +6828,35 @@ msgstr ""
msgid "Shut Down Now"
msgstr "Leállítás most"
-#: modules/privacy/__init__.py:15
+#: modules/privacy/__init__.py:21
msgid "Manage system-wide privacy settings."
msgstr "Rendszerszintű adatvédelmi beállítások kezelése."
-#: modules/privacy/__init__.py:70
+#: modules/privacy/__init__.py:75
msgid "Please update privacy settings to match your preferences."
msgstr ""
"Kérjük, frissítsd az adatvédelmi beállításokat, a preferenciáidnak "
"megfelelően."
-#: modules/privacy/__init__.py:75
+#: modules/privacy/__init__.py:80
msgid "Review privacy setting"
msgstr "Adatvédelmi beállítások kezelése"
-#: modules/privacy/forms.py:16
+#: modules/privacy/forms.py:17
+#, python-brace-format
+msgid ""
+"Optional Value. This URL is used to determine the publicly visible IP "
+"address of your {box_name}. The URL should simply return the IPv4 or IPv6 "
+"address where the client request comes from. Default is to use the service "
+"provided by the FreedomBox Foundation at https://ddns.freedombox.org/ip/. If "
+"empty, lookups are disabled and some functionality will fail."
+msgstr ""
+
+#: modules/privacy/forms.py:25
msgid "Periodically submit a list of apps used (suggested)"
msgstr ""
-#: modules/privacy/forms.py:18
+#: modules/privacy/forms.py:27
#, python-brace-format
msgid ""
"Help Debian/{box_name} developers by participating in the Popularity Contest "
@@ -6807,11 +6867,11 @@ msgid ""
"network for additional anonymity if Tor app is enabled."
msgstr ""
-#: modules/privacy/forms.py:28
+#: modules/privacy/forms.py:37
msgid "Allow using fallback DNS servers"
msgstr ""
-#: modules/privacy/forms.py:30
+#: modules/privacy/forms.py:39
msgid ""
"Use well-known public DNS servers to resolve domain names in unusual "
"circumstances where no DNS servers are known but internet connectivity is "
@@ -6819,10 +6879,22 @@ msgid ""
"and reliable."
msgstr ""
+#: modules/privacy/forms.py:45
+#, fuzzy
+#| msgid "URL to look up public IP"
+msgid "URL to look up public IP address"
+msgstr "URL a nyilvános IP-cím felderítéséhez"
+
#: modules/privacy/manifest.py:10
msgid "Usage reporting"
msgstr ""
+#: modules/privacy/manifest.py:10
+#, fuzzy
+#| msgid "Standard Services"
+msgid "External services"
+msgstr "Szabványos szolgáltatások"
+
#: modules/privacy/manifest.py:10
#, fuzzy
#| msgid "DNS Server"
@@ -7954,40 +8026,40 @@ msgid "Delete the following snapshots permanently?"
msgstr "Véglegesen törlöd az alábbi pillanatképeket?"
#: modules/snapshot/templates/snapshot_delete_selected.html:17
-#: modules/snapshot/templates/snapshot_manage.html:27
+#: modules/snapshot/templates/snapshot_manage.html:32
#: modules/snapshot/templates/snapshot_rollback.html:25
msgid "Number"
msgstr "Sorszám"
#: modules/snapshot/templates/snapshot_delete_selected.html:18
-#: modules/snapshot/templates/snapshot_manage.html:28
+#: modules/snapshot/templates/snapshot_manage.html:33
#: modules/snapshot/templates/snapshot_rollback.html:26
msgid "Date"
msgstr "Dátum"
#: modules/snapshot/templates/snapshot_delete_selected.html:42
-#: modules/snapshot/templates/snapshot_manage.html:20
+#: modules/snapshot/templates/snapshot_manage.html:25
#: modules/snapshot/views.py:197
msgid "Delete Snapshots"
msgstr "Pillanatképek törlése"
-#: modules/snapshot/templates/snapshot_manage.html:17
+#: modules/snapshot/templates/snapshot_manage.html:22
msgid "Create Snapshot"
msgstr "Pillanatkép létrehozása"
-#: modules/snapshot/templates/snapshot_manage.html:30
+#: modules/snapshot/templates/snapshot_manage.html:35
msgid "Rollback"
msgstr "Visszaállít"
-#: modules/snapshot/templates/snapshot_manage.html:40
+#: modules/snapshot/templates/snapshot_manage.html:45
msgid "will be used at next boot"
msgstr "a következő indításkor lesz használva"
-#: modules/snapshot/templates/snapshot_manage.html:45
+#: modules/snapshot/templates/snapshot_manage.html:50
msgid "in use"
msgstr "használatban"
-#: modules/snapshot/templates/snapshot_manage.html:54
+#: modules/snapshot/templates/snapshot_manage.html:59
#, python-format
msgid "Rollback to snapshot #%(number)s"
msgstr "Visszaállítás erre a pillanatképre: %(number)s"
@@ -8596,27 +8668,27 @@ msgstr ""
msgid "Tor"
msgstr "Tor"
-#: modules/tor/__init__.py:78
+#: modules/tor/__init__.py:77
msgid "Tor Onion Service"
msgstr "Tor Onion szolgáltatás"
-#: modules/tor/__init__.py:82
+#: modules/tor/__init__.py:81
msgid "Tor Bridge Relay"
msgstr "Tor híd relay"
-#: modules/tor/__init__.py:140
+#: modules/tor/__init__.py:139
msgid "Tor relay port available"
msgstr "Tor relay port elérhető"
-#: modules/tor/__init__.py:152
+#: modules/tor/__init__.py:151
msgid "Obfs3 transport registered"
msgstr "Obfs3 átvitel regisztrálva"
-#: modules/tor/__init__.py:163
+#: modules/tor/__init__.py:162
msgid "Obfs4 transport registered"
msgstr "Obfs4 átvitel regisztrálva"
-#: modules/tor/__init__.py:176
+#: modules/tor/__init__.py:175
#, fuzzy
#| msgid "Onion Service"
msgid "Onion service is version 3"
@@ -8738,7 +8810,7 @@ msgstr "Relay"
msgid "Anonymity network"
msgstr "Anonim hálózat"
-#: modules/tor/templates/tor.html:18
+#: modules/tor/templates/tor.html:23
msgid "Onion Service"
msgstr "Onion-szolgáltatás"
@@ -9417,12 +9489,12 @@ msgstr "Felhasználók"
msgid "Edit user %(username)s"
msgstr "%(username)s felhasználó szerkesztése"
-#: modules/users/templates/users_update.html:12
+#: modules/users/templates/users_update.html:17
#, python-format
msgid "Edit User %(username)s"
msgstr "%(username)s felhasználó szerkesztése"
-#: modules/users/templates/users_update.html:20
+#: modules/users/templates/users_update.html:25
#, python-format
msgid ""
"Use the change password form to "
@@ -9431,30 +9503,30 @@ msgstr ""
"A jelszó a jelszómódosítási űrlap "
"kitöltésével változtatható meg."
-#: modules/users/templates/users_update.html:32
+#: modules/users/templates/users_update.html:37
#: templates/language-selection.html:17
msgid "Save Changes"
msgstr "Változtatások mentése"
-#: modules/users/templates/users_update.html:41
+#: modules/users/templates/users_update.html:46
#, fuzzy, python-format
#| msgid "Delete user %(username)s permanently?"
msgid "Delete user %(username)s and all the user's files?"
msgstr "%(username)s nevű felhasználó végleges törlése?"
-#: modules/users/templates/users_update.html:51
+#: modules/users/templates/users_update.html:56
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
msgstr ""
-#: modules/users/templates/users_update.html:60
+#: modules/users/templates/users_update.html:65
#, fuzzy
#| msgid "Delete files"
msgid "Delete user and files"
msgstr "Fájlok törlése"
-#: modules/users/templates/users_update.html:63
+#: modules/users/templates/users_update.html:68
msgid "Cancel"
msgstr "Mégse"
@@ -10182,13 +10254,13 @@ msgstr "Telepítés"
msgid "Service %(service_name)s is not running."
msgstr "A szolgáltatás nem fut (%(service_name)s)."
-#: templates/apps.html:29
+#: templates/apps.html:33
#, fuzzy
#| msgid "Search the web"
msgid "Search with tags"
msgstr "Keresés a weben"
-#: templates/apps.html:42
+#: templates/apps.html:46
#, fuzzy
#| msgid "Search the web"
msgid "Clear all tags"
@@ -10200,35 +10272,35 @@ msgid ""
"is free software that lets you install and manage server apps with ease."
msgstr ""
-#: templates/base.html:116
+#: templates/base.html:118
msgid " Home"
msgstr " Kezdőlap"
-#: templates/base.html:124
+#: templates/base.html:126
msgid " Apps"
msgstr " Alkalmazások"
-#: templates/base.html:133
+#: templates/base.html:135
msgid " System"
msgstr " Rendszer"
-#: templates/base.html:172 templates/base.html:173
+#: templates/base.html:174 templates/base.html:175
msgid "Change password"
msgstr "Jelszómódosítás"
-#: templates/base.html:186 templates/base.html:187
+#: templates/base.html:188 templates/base.html:189
msgid "Shut down"
msgstr "Leállítás"
-#: templates/base.html:197 templates/base.html:235
+#: templates/base.html:199 templates/base.html:237
msgid "Log out"
msgstr "Kijelentkezés"
-#: templates/base.html:206 templates/base.html:209
+#: templates/base.html:208 templates/base.html:211
msgid "Select language"
msgstr "Válassz nyelvet"
-#: templates/base.html:224 templates/base.html:226
+#: templates/base.html:226 templates/base.html:228
msgid "Log in"
msgstr "Bejelentkezés"
@@ -10457,23 +10529,42 @@ msgid ""
"installed freshly again."
msgstr ""
-#: views.py:85
+#: views.py:84
msgid "Here"
msgstr ""
-#: views.py:374
+#: views.py:376
msgid "Setting unchanged"
msgstr "A beállítás változatlan"
-#: views.py:609
+#: views.py:610
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""
-#: web_framework.py:114
+#: web_framework.py:122
msgid "Gujarati"
msgstr "Gudzsaráti"
+#~ msgid "In 24 hour format."
+#~ msgstr "24 órás formátumban."
+
+#, python-brace-format
+#~ msgid ""
+#~ "Optional Value. If your {box_name} is not connected directly to the "
+#~ "Internet (i.e. connected to a NAT router) this URL is used to determine "
+#~ "the real IP address. The URL should simply return the IP where the client "
+#~ "comes from (example: https://ddns.freedombox.org/ip/)."
+#~ msgstr ""
+#~ "Opcionális. Ha a {box_name} eszközöd nem közvetlenül kapcsolódik az "
+#~ "Internethez (pl. NAT-routerhez van kapcsolódva), ennek az URL-nek a "
+#~ "segítségével válik lehetővé nyilvános IP-címed meghatározása. Egy ilyen "
+#~ "URL egyszerűen visszaadja a kliens IP-címét (pl.: https://ddns.freedombox."
+#~ "org/ip/)."
+
+#~ msgid "Manage Aliases for Mailbox"
+#~ msgstr "A Mailbox álneveinek kezelése"
+
#~ msgid "File & Snippet Sharing"
#~ msgstr "Fájl és kódrészlet megosztása"
@@ -11994,9 +12085,6 @@ msgstr "Gudzsaráti"
#~ msgid "You don't have any Custom Services enabled"
#~ msgstr "Nincs engedélyezett egyedi szolgáltatás"
-#~ msgid "Standard Services"
-#~ msgstr "Szabványos szolgáltatások"
-
#, fuzzy
#~| msgid ""
#~| "When enabled, Syncthing's web interface will be available from \n"
"Language-Team: Indonesian
SSH key-based authentication is not yet "
"possible."
msgstr ""
"Kata sandi server SSH.
Otentikasi berbasis kunci SSH belum mungkin."
-#: modules/backups/forms.py:273
+#: modules/backups/forms.py:275
msgid "Remote backup repository already exists."
msgstr "Repositori cadangan jarak jauh sudah ada."
-#: modules/backups/forms.py:279
+#: modules/backups/forms.py:281
msgid "Select verified SSH public key"
msgstr "Pilih kunci publik SSH Terverifikasi"
#: modules/backups/manifest.py:14
#: modules/backups/templates/backups_repository.html:92
#: modules/backups/templates/backups_restore.html:27
-#: modules/backups/views.py:240 modules/snapshot/manifest.py:14
+#: modules/backups/views.py:238 modules/snapshot/manifest.py:14
#: templates/toolbar.html:44 templates/toolbar.html:45
msgid "Restore"
msgstr "Mengembalikan"
@@ -551,16 +553,20 @@ msgstr ""
msgid "Backup system is busy with another operation."
msgstr ""
+#: modules/backups/privileged.py:92
+msgid "Not enough space left on the disk or remote location."
+msgstr ""
+
#: modules/backups/repository.py:94
msgid "Existing repository is not encrypted."
msgstr "Repositori yang ada tidak dienkripsi."
-#: modules/backups/repository.py:266
+#: modules/backups/repository.py:289
#, python-brace-format
msgid "{box_name} storage"
msgstr "{box_name} Penyimpanan"
-#: modules/backups/templates/backups.html:17 modules/backups/views.py:125
+#: modules/backups/templates/backups.html:17 modules/backups/views.py:124
msgid "Create a new backup"
msgstr "Buat cadangan baru"
@@ -604,10 +610,9 @@ msgstr "Cadangan yang ada"
#: modules/help/templates/statuslog.html:24
#: modules/kiwix/templates/kiwix-add-package.html:26
#: modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:28
-#: modules/matrixsynapse/templates/matrix-synapse.html:76
+#: modules/matrixsynapse/templates/matrix-synapse.html:81
#: modules/names/templates/names.html:128
#: modules/networks/templates/connection_show.html:24
-#: modules/nextcloud/__init__.py:48
#: modules/pagekite/templates/pagekite_custom_services.html:16
#: modules/power/templates/power_busy_warning.html:11
#: modules/snapshot/templates/snapshot_not_supported.html:13
@@ -770,111 +775,111 @@ msgstr ""
msgid "Verify Host"
msgstr "Verifikasi Host"
-#: modules/backups/views.py:69
+#: modules/backups/views.py:68
msgid "Backup schedule updated."
msgstr "Jadwal cadangan diperbarui."
-#: modules/backups/views.py:88
+#: modules/backups/views.py:87
msgid "Schedule Backups"
msgstr "Jadwalkan cadangan"
-#: modules/backups/views.py:150
+#: modules/backups/views.py:148
msgid "Archive created."
msgstr "Arsip dibuat."
-#: modules/backups/views.py:162
+#: modules/backups/views.py:160
msgid "Delete Archive"
msgstr "Hapus Arsip"
-#: modules/backups/views.py:175
+#: modules/backups/views.py:173
msgid "Archive deleted."
msgstr "Arsip dihapus."
-#: modules/backups/views.py:189
+#: modules/backups/views.py:187
msgid "Upload and restore a backup"
msgstr "Unggah dan kembalikan cadangan"
-#: modules/backups/views.py:218
+#: modules/backups/views.py:216
#, fuzzy
#| msgid "Upload file"
msgid "Upload successful."
msgstr "Unggah data"
-#: modules/backups/views.py:256
+#: modules/backups/views.py:254
msgid "No backup file found."
msgstr "Tidak ditemukan file cadangan."
-#: modules/backups/views.py:264
+#: modules/backups/views.py:262
msgid "Restore from uploaded file"
msgstr "Kembalikan dari file yang diunggah"
-#: modules/backups/views.py:278 modules/backups/views.py:299
+#: modules/backups/views.py:276 modules/backups/views.py:297
msgid "Restored files from backup."
msgstr "File yang dipulihkan dari cadangan."
-#: modules/backups/views.py:329
+#: modules/backups/views.py:327
msgid "No additional disks available to add a repository."
msgstr "Tidak ada disk tambahan yang tersedia untuk menambahkan repositori."
-#: modules/backups/views.py:337
+#: modules/backups/views.py:335
msgid "Create backup repository"
msgstr "Buat Repositori Cadangan"
-#: modules/backups/views.py:352
+#: modules/backups/views.py:350
#, fuzzy
#| msgid "Added new remote SSH repository."
msgid "Added new repository."
msgstr "Menambahkan repositori SSH jarak jauh baru."
-#: modules/backups/views.py:366
+#: modules/backups/views.py:364
msgid "Create remote backup repository"
msgstr "Buat Repositori Cadangan Jarak Jauh"
-#: modules/backups/views.py:388
+#: modules/backups/views.py:386
msgid "Added new remote SSH repository."
msgstr "Menambahkan repositori SSH jarak jauh baru."
-#: modules/backups/views.py:410
+#: modules/backups/views.py:408
msgid "Verify SSH hostkey"
msgstr "Verifikasi SSH Hostkey"
-#: modules/backups/views.py:436
+#: modules/backups/views.py:434
msgid "SSH host already verified."
msgstr "Tuan rumah SSH sudah diverifikasi."
-#: modules/backups/views.py:447
+#: modules/backups/views.py:445
msgid "SSH host verified."
msgstr "Tuan rumah SSH diverifikasi."
-#: modules/backups/views.py:463
+#: modules/backups/views.py:461
msgid "SSH host public key could not be verified."
msgstr "Kunci publik tuan rumah SSH tidak dapat diverifikasi."
-#: modules/backups/views.py:465
+#: modules/backups/views.py:463
msgid "Authentication to remote server failed."
msgstr "Otentikasi ke server jarak jauh gagal."
-#: modules/backups/views.py:467
+#: modules/backups/views.py:465
msgid "Error establishing connection to server: {}"
msgstr "Kesalahan menetapkan koneksi ke server: {}"
-#: modules/backups/views.py:478
+#: modules/backups/views.py:476
msgid "Repository removed."
msgstr "Repositori dihapus."
-#: modules/backups/views.py:492
+#: modules/backups/views.py:490
msgid "Remove Repository"
msgstr "Hapus Repositori"
-#: modules/backups/views.py:502
+#: modules/backups/views.py:500
msgid "Repository removed. Backups were not deleted."
msgstr "Repositori dihapus. Pencadangan tidak dihapus."
-#: modules/backups/views.py:513
+#: modules/backups/views.py:511
msgid "Unmounting failed!"
msgstr "Unmounting gagal!"
-#: modules/backups/views.py:529 modules/backups/views.py:533
+#: modules/backups/views.py:527 modules/backups/views.py:531
msgid "Mounting failed"
msgstr "Pemasangan gagal"
@@ -998,7 +1003,7 @@ msgstr "Tambahkan Kata Sandi"
msgid "No passwords currently configured."
msgstr "Tidak ada kata sandi yang saat ini dikonfigurasi."
-#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:91
+#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:83
#: modules/miniflux/forms.py:14 modules/networks/forms.py:282
#: modules/shadowsocks/forms.py:32 modules/shadowsocksserver/forms.py:37
msgid "Password"
@@ -1125,8 +1130,10 @@ msgstr ""
msgid "Serving Domains"
msgstr "Melayani Domain"
-#: modules/bind/templates/bind.html:17 modules/email/templates/email.html:38
-#: modules/ikiwiki/forms.py:12 modules/names/templates/names.html:18
+#: modules/bind/templates/bind.html:17
+#: modules/email/templates/email-dns.html:25
+#: modules/email/templates/email-dns.html:78 modules/ikiwiki/forms.py:12
+#: modules/names/templates/names.html:18
#: modules/networks/templates/connection_show.html:95
#: modules/samba/templates/samba.html:65
#: modules/storage/templates/storage.html:26
@@ -1156,7 +1163,7 @@ msgstr "Refresh Alamat IP dan Domain"
#: modules/minetest/views.py:55 modules/mumble/views.py:37
#: modules/names/views.py:66 modules/names/views.py:95
#: modules/names/views.py:129 modules/pagekite/forms.py:74
-#: modules/privacy/views.py:50 modules/quassel/views.py:29
+#: modules/privacy/views.py:55 modules/quassel/views.py:29
#: modules/roundcube/views.py:32 modules/rssbridge/views.py:31
#: modules/shadowsocks/views.py:52 modules/shadowsocksserver/views.py:48
#: modules/ssh/views.py:62 modules/transmission/views.py:43
@@ -1841,7 +1848,7 @@ msgid "Test"
msgstr "Pengujian"
#: modules/diagnostics/templates/diagnostics_results.html:12
-#: modules/dynamicdns/templates/dynamicdns.html:20
+#: modules/dynamicdns/templates/dynamicdns.html:25
msgid "Result"
msgstr "Hasil"
@@ -1854,7 +1861,7 @@ msgstr "Tes Diagnostik"
msgid "App {app_id} is not installed, cannot repair"
msgstr ""
-#: modules/dynamicdns/__init__.py:28
+#: modules/dynamicdns/__init__.py:29
#, python-brace-format
msgid ""
"If your Internet provider changes your IP address periodically (i.e. every "
@@ -1866,7 +1873,7 @@ msgstr ""
"internet. Ini akan mencegah orang lain menemukan layanan yang disediakan "
"oleh {box_name} ini."
-#: modules/dynamicdns/__init__.py:32
+#: modules/dynamicdns/__init__.py:33
msgid ""
"The solution is to assign a DNS name to your IP address and update the DNS "
"name every time your IP is changed by your Internet provider. Dynamic DNS "
@@ -1884,7 +1891,7 @@ msgstr ""
"jika seseorang dari Internet meminta nama DNS Anda, mereka akan mendapatkan "
"Tanggapan dengan alamat IP Anda saat ini."
-#: modules/dynamicdns/__init__.py:40
+#: modules/dynamicdns/__init__.py:41
#, fuzzy
#| msgid ""
#| "If you are looking for a free dynamic DNS account, you may find a free "
@@ -1904,11 +1911,17 @@ msgstr ""
"layanan berbasis URL pembaruan gratis di freedns.afraid.org."
-#: modules/dynamicdns/__init__.py:61
+#: modules/dynamicdns/__init__.py:46
+msgid ""
+"This service uses an external service to lookup public IP address. This can "
+"be configured in the privacy app."
+msgstr ""
+
+#: modules/dynamicdns/__init__.py:64
msgid "Dynamic DNS Client"
msgstr "Klien DNS Dinamis"
-#: modules/dynamicdns/__init__.py:75
+#: modules/dynamicdns/__init__.py:78
msgid "Dynamic Domain Name"
msgstr "Nama Domain Dinamis"
@@ -1966,95 +1979,73 @@ msgstr ""
"Biarkan bidang ini kosong jika Anda ingin menyimpan kata sandi Anda saat ini."
#: modules/dynamicdns/forms.py:43
-#, fuzzy, python-brace-format
-#| msgid ""
-#| "Optional Value. If your {box_name} is not connected directly to the "
-#| "Internet (i.e. connected to a NAT router) this URL is used to determine "
-#| "the real IP address. The URL should simply return the IP where the client "
-#| "comes from (example: http://myip.datasystems24.de)."
-msgid ""
-"Optional Value. If your {box_name} is not connected directly to the Internet "
-"(i.e. connected to a NAT router) this URL is used to determine the real IP "
-"address. The URL should simply return the IP where the client comes from "
-"(example: https://ddns.freedombox.org/ip/)."
-msgstr ""
-"Nilai opsional. Jika {box_name} Anda tidak terhubung langsung ke Internet "
-"(yaitu terhubung ke router NAT) URL ini digunakan untuk menentukan alamat IP "
-"asli. URL harus mengembalikan IP di mana klien berasal (Contoh: http://myip."
-"datasystems24.de)."
-
-#: modules/dynamicdns/forms.py:51
msgid "The username that was used when the account was created."
msgstr "Nama pengguna yang digunakan ketika akun diciptakan."
-#: modules/dynamicdns/forms.py:54
+#: modules/dynamicdns/forms.py:46
msgid "GnuDIP"
msgstr "GnudiP"
-#: modules/dynamicdns/forms.py:57
+#: modules/dynamicdns/forms.py:49
#, fuzzy
#| msgid "other update URL"
msgid "Other update URL"
msgstr "URL pembaruan lainnya"
-#: modules/dynamicdns/forms.py:59
+#: modules/dynamicdns/forms.py:51
msgid "Service Type"
msgstr "Tipe Layanan"
-#: modules/dynamicdns/forms.py:64
+#: modules/dynamicdns/forms.py:56
msgid "GnuDIP Server Address"
msgstr "Alamat Server Gnudip"
-#: modules/dynamicdns/forms.py:67
+#: modules/dynamicdns/forms.py:59
msgid "Invalid server name"
msgstr "Nama server tidak valid"
-#: modules/dynamicdns/forms.py:70
+#: modules/dynamicdns/forms.py:62
msgid "Update URL"
msgstr "Perbaharui URL"
-#: modules/dynamicdns/forms.py:74
+#: modules/dynamicdns/forms.py:66
msgid "Accept all SSL certificates"
msgstr "Terima semua sertifikat SSL"
-#: modules/dynamicdns/forms.py:78
+#: modules/dynamicdns/forms.py:70
msgid "Use HTTP basic authentication"
msgstr "Gunakan autentikasi dasar HTTP"
-#: modules/dynamicdns/forms.py:82 modules/names/__init__.py:68
+#: modules/dynamicdns/forms.py:74 modules/names/__init__.py:68
#: modules/names/forms.py:106 modules/names/templates/names.html:19
msgid "Domain Name"
msgstr "Nama domain"
-#: modules/dynamicdns/forms.py:85 modules/names/forms.py:99
+#: modules/dynamicdns/forms.py:77 modules/names/forms.py:99
#: modules/names/forms.py:117
msgid "Invalid domain name"
msgstr "Nama Domain Tidak Valid"
-#: modules/dynamicdns/forms.py:88 modules/miniflux/forms.py:11
+#: modules/dynamicdns/forms.py:80 modules/miniflux/forms.py:11
#: modules/networks/forms.py:281 modules/users/forms.py:130
msgid "Username"
msgstr "Nama Pengguna"
-#: modules/dynamicdns/forms.py:95 modules/networks/forms.py:284
+#: modules/dynamicdns/forms.py:87 modules/networks/forms.py:284
msgid "Show password"
msgstr "Tampilkan kata sandi"
-#: modules/dynamicdns/forms.py:99
-msgid "URL to look up public IP"
-msgstr "URL untuk mencari IP publik"
-
-#: modules/dynamicdns/forms.py:104
+#: modules/dynamicdns/forms.py:91
msgid "Use IPv6 instead of IPv4"
msgstr "Gunakan IPv6 bukan IPv4"
-#: modules/dynamicdns/forms.py:123
+#: modules/dynamicdns/forms.py:110
msgid "This field is required."
msgstr ""
#: modules/dynamicdns/manifest.py:17
-#: modules/dynamicdns/templates/dynamicdns.html:18
-#: modules/email/templates/email.html:35
+#: modules/dynamicdns/templates/dynamicdns.html:23
+#: modules/email/templates/email-dns.html:22
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64
msgid "Domain"
@@ -2068,43 +2059,43 @@ msgstr ""
msgid "Needs public IP"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:11
-#: modules/ejabberd/templates/ejabberd.html:13 modules/firewall/manifest.py:10
+#: modules/dynamicdns/templates/dynamicdns.html:16
+#: modules/ejabberd/templates/ejabberd.html:18 modules/firewall/manifest.py:10
#: modules/firewall/templates/firewall.html:16
#: modules/firewall/templates/firewall.html:22
#: modules/letsencrypt/templates/letsencrypt.html:17
-#: modules/matrixsynapse/templates/matrix-synapse.html:12
+#: modules/matrixsynapse/templates/matrix-synapse.html:17
#: modules/networks/templates/connection_show.html:258
-#: modules/samba/templates/samba.html:67 modules/tor/templates/tor.html:19
+#: modules/samba/templates/samba.html:67 modules/tor/templates/tor.html:24
#: modules/upgrades/templates/upgrades_configure.html:14
#: modules/wireguard/templates/wireguard_show_client.html:48
#: modules/wireguard/templates/wireguard_show_server.html:47
msgid "Status"
msgstr "Status"
-#: modules/dynamicdns/templates/dynamicdns.html:19
+#: modules/dynamicdns/templates/dynamicdns.html:24
msgid "Last update"
msgstr "Pembaharuan Terakhir"
-#: modules/dynamicdns/templates/dynamicdns.html:21
+#: modules/dynamicdns/templates/dynamicdns.html:26
#, fuzzy
#| msgid "IP address"
msgid "IP Address"
msgstr "Alamat IP"
-#: modules/dynamicdns/templates/dynamicdns.html:32
+#: modules/dynamicdns/templates/dynamicdns.html:37
#, fuzzy
#| msgid "Access"
msgid "Success"
msgstr "Mengakses"
-#: modules/dynamicdns/templates/dynamicdns.html:36
+#: modules/dynamicdns/templates/dynamicdns.html:41
#, fuzzy
#| msgid "failed"
msgid "Failed"
msgstr "gagal"
-#: modules/dynamicdns/templates/dynamicdns.html:52
+#: modules/dynamicdns/templates/dynamicdns.html:57
#, fuzzy
#| msgid "No libraries available."
msgid "No status available."
@@ -2282,7 +2273,7 @@ msgstr ""
msgid "XMPP"
msgstr ""
-#: modules/ejabberd/templates/ejabberd.html:18
+#: modules/ejabberd/templates/ejabberd.html:23
#, fuzzy, python-format
#| msgid ""
#| "Your XMPP server domain is set to %(domainname)s. User IDs will "
@@ -2297,7 +2288,7 @@ msgstr ""
"terlihat seperti nama pengguna @%(domainname)s. Anda dapat mengatur "
"domain Anda pada sistem Konfigurasi halaman."
-#: modules/ejabberd/templates/ejabberd.html:25
+#: modules/ejabberd/templates/ejabberd.html:30
#, fuzzy, python-format
#| msgid ""
#| "Your XMPP server domain is set to %(domainname)s. User IDs will "
@@ -2352,18 +2343,20 @@ msgstr ""
msgid "Postfix/Dovecot"
msgstr ""
-#: modules/email/__init__.py:83
+#: modules/email/__init__.py:80
+msgid "More emails"
+msgstr ""
+
+#: modules/email/__init__.py:80
+msgid "Same mailbox"
+msgstr ""
+
+#: modules/email/__init__.py:82
#, fuzzy
#| msgid "Manage Libraries"
msgid "My Email Aliases"
msgstr "Kelola Perpustakaan"
-#: modules/email/__init__.py:84
-#, fuzzy
-#| msgid "Manage Libraries"
-msgid "Manage Aliases for Mailbox"
-msgstr "Kelola Perpustakaan"
-
#: modules/email/forms.py:25
#, fuzzy
#| msgid "Primary connection"
@@ -2452,45 +2445,96 @@ msgstr "Buat cadangan baru"
msgid "Add"
msgstr "Tambah"
+#: modules/email/templates/email-dns.html:9
+#, fuzzy
+#| msgid "Server domain"
+msgid "DNS Records for domain:"
+msgstr "Domain peladen"
+
+#: modules/email/templates/email-dns.html:12
+msgid ""
+"The following DNS records must be added manually on this domain for the mail "
+"server to work properly for this domain."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:23
+#: modules/email/templates/email-dns.html:77
+msgid "TTL"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:24
+msgid "Class"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:26
+msgid "Priority"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:27
+msgid "Weight"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:28
+#: modules/minetest/templates/minetest.html:18
+msgid "Port"
+msgstr "Port"
+
+#: modules/email/templates/email-dns.html:29
+#: modules/email/templates/email-dns.html:79
+msgid "Host/Target/Value"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:50
+#, fuzzy
+#| msgid "Server hostname or IP address"
+msgid "Reverse DNS Records for IP Addresses"
+msgstr "Alamat IP atau hostname Peladen"
+
+#: modules/email/templates/email-dns.html:53
+#, python-format
+msgid ""
+"If your %(box_name)s runs on a cloud service infrastructure, you should "
+"configure "
+"Reverse DNS lookup. This isn't mandatory, however, it greatly improves "
+"email deliverability. Reverse DNS isn't configured where your regular DNS "
+"is. You should look for it in the settings of your VPS/ISP. Some providers "
+"preconfigure the IP address part for you and you only have to set the domain "
+"part. Only one of your domains can have Revese DNS lookup configured unless "
+"you have multiple public IP addresses."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:66
+msgid ""
+"An external service is used to lookup public IP address to show in the "
+"following section. This can be configured in the privacy app."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:76
+#, fuzzy
+#| msgid "Hostname"
+msgid "Host"
+msgstr "Hostname"
+
#: modules/email/templates/email.html:10
#, fuzzy
#| msgid "Manage Snapshots"
msgid "Manage Spam"
msgstr "Kelola Snapshot"
-#: modules/email/templates/email.html:22
-msgid "DNS Records"
-msgstr ""
+#: modules/email/templates/email.html:20 modules/names/manifest.py:11
+#: modules/names/templates/names.html:12
+msgid "Domains"
+msgstr "Domain"
-#: modules/email/templates/email.html:25
+#: modules/email/templates/email.html:23
msgid ""
-"The following DNS records must be added manually on your primary domain for "
-"the mail server to work properly."
+"The following domains are configured. View details to see the list of DNS "
+"entries to be made for the domain."
msgstr ""
-#: modules/email/templates/email.html:36
-msgid "TTL"
-msgstr ""
-
-#: modules/email/templates/email.html:37
-msgid "Class"
-msgstr ""
-
-#: modules/email/templates/email.html:39
-msgid "Priority"
-msgstr ""
-
-#: modules/email/templates/email.html:40
-msgid "Weight"
-msgstr ""
-
-#: modules/email/templates/email.html:41
-#: modules/minetest/templates/minetest.html:18
-msgid "Port"
-msgstr "Port"
-
-#: modules/email/templates/email.html:42
-msgid "Host/Target/Value"
+#: modules/email/templates/email.html:35
+#, python-format
+msgid "View domain: %(domain)s"
msgstr ""
#: modules/featherwiki/__init__.py:25
@@ -2770,7 +2814,7 @@ msgstr "Port {name} ({details}) tersedia untuk jaringan eksternal"
msgid "Port {name} ({details}) unavailable for external networks"
msgstr "Port {name} ({details}) tidak tersedia untuk jaringan eksternal"
-#: modules/firewall/manifest.py:10 modules/tor/templates/tor.html:20
+#: modules/firewall/manifest.py:10 modules/tor/templates/tor.html:25
msgid "Ports"
msgstr "Port"
@@ -3124,9 +3168,9 @@ msgstr "Berikan umpan balik"
msgid "Contribute"
msgstr "Kontribusi"
-#: modules/help/__init__.py:53 templates/base.html:215 templates/base.html:218
+#: modules/help/__init__.py:53 templates/base.html:217 templates/base.html:220
#: templates/help-menu.html:46 templates/help-menu.html:47
-#: templates/index.html:98
+#: templates/index.html:96
msgid "About"
msgstr "Tentang"
@@ -3294,7 +3338,7 @@ msgstr ""
#: modules/help/templates/help_contribute.html:42
#: modules/power/templates/power_restart.html:27
-#: modules/power/templates/power_shutdown.html:26 templates/app-header.html:68
+#: modules/power/templates/power_shutdown.html:26 templates/app-header.html:65
msgid "Learn more..."
msgstr "Belajarlah lagi..."
@@ -3672,7 +3716,7 @@ msgid "Web conference"
msgstr ""
#: modules/janus/templates/janus_video_room.html:205
-#: modules/jsxc/templates/jsxc_launch.html:117 templates/base.html:271
+#: modules/jsxc/templates/jsxc_launch.html:117 templates/base.html:273
msgid "JavaScript license information"
msgstr "Informasi Lisensi JavaScript"
@@ -4101,7 +4145,7 @@ msgid ""
"least one domain to be able to use Matrix Synapse."
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:15
+#: modules/matrixsynapse/templates/matrix-synapse.html:20
#, python-format
msgid ""
"The Matrix server domain is set to %(domain_name)s. User IDs will "
@@ -4109,49 +4153,49 @@ msgid ""
"the initial setup is currently not supported."
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:22
+#: modules/matrixsynapse/templates/matrix-synapse.html:27
msgid ""
"New users can be registered from any client if public registration is "
"enabled."
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:29
+#: modules/matrixsynapse/templates/matrix-synapse.html:34
msgid ""
"New users must use one of the following tokens for verification during "
"account registration:"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:38
+#: modules/matrixsynapse/templates/matrix-synapse.html:43
#, fuzzy
#| msgid "Skip Registration"
msgid "Registration Token"
msgstr "Batalkan Pendaftaran"
-#: modules/matrixsynapse/templates/matrix-synapse.html:39
+#: modules/matrixsynapse/templates/matrix-synapse.html:44
msgid "Uses Allowed"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:40
+#: modules/matrixsynapse/templates/matrix-synapse.html:45
#, fuzzy
#| msgid "Skip Registration"
msgid "Pending Registrations"
msgstr "Batalkan Pendaftaran"
-#: modules/matrixsynapse/templates/matrix-synapse.html:41
+#: modules/matrixsynapse/templates/matrix-synapse.html:46
#, fuzzy
#| msgid "Skip Registration"
msgid "Completed Registrations"
msgstr "Batalkan Pendaftaran"
-#: modules/matrixsynapse/templates/matrix-synapse.html:42
+#: modules/matrixsynapse/templates/matrix-synapse.html:47
msgid "Expiry Time"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:51
+#: modules/matrixsynapse/templates/matrix-synapse.html:56
msgid "Unlimited"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:80
+#: modules/matrixsynapse/templates/matrix-synapse.html:85
#, python-format
msgid ""
"The configured domain name is using a self-signed certificate. Federation "
@@ -4602,23 +4646,27 @@ msgstr "Nama pengguna tidak valid: {username}"
msgid "An error occurred during password reset: {error}."
msgstr "Terjadi kesalahan selama konfigurasi."
-#: modules/mumble/__init__.py:25
+#: modules/mumble/__init__.py:27
msgid ""
"Mumble is an open source, low-latency, encrypted, high quality voice chat "
"software."
msgstr ""
-#: modules/mumble/__init__.py:27
+#: modules/mumble/__init__.py:29
msgid ""
"You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your "
"desktop and mobile devices are available."
msgstr ""
-#: modules/mumble/__init__.py:45 modules/mumble/manifest.py:9
+#: modules/mumble/__init__.py:47 modules/mumble/manifest.py:9
msgid "Mumble"
msgstr "Mumble"
+#: modules/mumble/__init__.py:158
+msgid "Mumble server is configured"
+msgstr ""
+
#: modules/mumble/forms.py:30
msgid "Set SuperUser Password"
msgstr "Atur Kata sandi PenggunaSuper"
@@ -4755,10 +4803,6 @@ msgstr ""
"harus 63 karakter atau kurang. Total panjang nama domain harus 253 karakter "
"atau kurang."
-#: modules/names/manifest.py:11 modules/names/templates/names.html:12
-msgid "Domains"
-msgstr "Domain"
-
#: modules/names/manifest.py:13
msgid "DNS Resolution"
msgstr ""
@@ -5275,7 +5319,7 @@ msgstr "Sunting Koneksi"
#: modules/networks/templates/connection_show.html:40
#: modules/wireguard/templates/wireguard_show_client.html:72
#: modules/wireguard/templates/wireguard_show_server.html:73
-#: templates/base.html:165 templates/base.html:166
+#: templates/base.html:167 templates/base.html:168
msgid "Edit"
msgstr "Sunting"
@@ -5328,7 +5372,7 @@ msgstr "Antarmuka"
#: modules/networks/templates/connection_show.html:107
#: modules/snapshot/templates/snapshot_delete_selected.html:19
-#: modules/snapshot/templates/snapshot_manage.html:29
+#: modules/snapshot/templates/snapshot_manage.html:34
#: modules/snapshot/templates/snapshot_rollback.html:27
msgid "Description"
msgstr "Deskripsi"
@@ -5406,8 +5450,8 @@ msgstr ""
#: modules/networks/templates/connection_show.html:264
#: modules/networks/templates/connections_fields_privacy.html:15
-#: modules/openvpn/manifest.py:60 modules/privacy/__init__.py:32
-#: modules/privacy/__init__.py:72 modules/wireguard/manifest.py:45
+#: modules/openvpn/manifest.py:60 modules/privacy/__init__.py:38
+#: modules/privacy/__init__.py:77 modules/wireguard/manifest.py:45
#, fuzzy
#| msgid "Privoxy"
msgid "Privacy"
@@ -5493,7 +5537,7 @@ msgstr ""
msgid "Computer"
msgstr "Komputer"
-#: modules/networks/templates/connections_edit.html:19
+#: modules/networks/templates/connections_edit.html:24
#: modules/networks/views.py:253 modules/networks/views.py:341
msgid "Edit Connection"
msgstr "Sunting Koneksi"
@@ -5506,7 +5550,7 @@ msgid "Error:"
msgstr "kesalahan"
#: modules/networks/templates/connections_fields.html:20
-#: modules/users/templates/users_update.html:46 templates/messages.html:30
+#: modules/users/templates/users_update.html:51 templates/messages.html:30
msgid "Close"
msgstr "Tutup"
@@ -5598,7 +5642,7 @@ msgstr "Perbaharui..."
#: modules/networks/templates/network_topology_update.html:18
#: modules/networks/templates/router_configuration_update.html:19
#: modules/pagekite/templates/pagekite_custom_services.html:33
-#: modules/sharing/templates/sharing_add_edit.html:20 templates/form.html:19
+#: modules/sharing/templates/sharing_add_edit.html:25 templates/form.html:19
msgid "Submit"
msgstr "Kirimkan"
@@ -5994,11 +6038,7 @@ msgid ""
"performed following an independent cycle."
msgstr ""
-#: modules/nextcloud/__init__.py:48
-msgid "This app is experimental."
-msgstr ""
-
-#: modules/nextcloud/__init__.py:66 modules/nextcloud/manifest.py:11
+#: modules/nextcloud/__init__.py:65 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
msgid "Nextcloud"
msgstr ""
@@ -6180,7 +6220,7 @@ msgstr ""
msgid "PageKite"
msgstr "PageKite"
-#: modules/pagekite/__init__.py:73
+#: modules/pagekite/__init__.py:72
msgid "PageKite Domain"
msgstr "Domain PageKite"
@@ -6365,8 +6405,8 @@ msgstr ""
msgid "Shutdown"
msgstr "Matikan"
-#: modules/power/templates/power.html:15 templates/base.html:180
-#: templates/base.html:181
+#: modules/power/templates/power.html:15 templates/base.html:182
+#: templates/base.html:183
msgid "Restart"
msgstr "Mulai ulang"
@@ -6402,23 +6442,33 @@ msgstr ""
msgid "Shut Down Now"
msgstr "Matikan Sekarang"
-#: modules/privacy/__init__.py:15
+#: modules/privacy/__init__.py:21
msgid "Manage system-wide privacy settings."
msgstr ""
-#: modules/privacy/__init__.py:70
+#: modules/privacy/__init__.py:75
msgid "Please update privacy settings to match your preferences."
msgstr ""
-#: modules/privacy/__init__.py:75
+#: modules/privacy/__init__.py:80
msgid "Review privacy setting"
msgstr ""
-#: modules/privacy/forms.py:16
+#: modules/privacy/forms.py:17
+#, python-brace-format
+msgid ""
+"Optional Value. This URL is used to determine the publicly visible IP "
+"address of your {box_name}. The URL should simply return the IPv4 or IPv6 "
+"address where the client request comes from. Default is to use the service "
+"provided by the FreedomBox Foundation at https://ddns.freedombox.org/ip/. If "
+"empty, lookups are disabled and some functionality will fail."
+msgstr ""
+
+#: modules/privacy/forms.py:25
msgid "Periodically submit a list of apps used (suggested)"
msgstr ""
-#: modules/privacy/forms.py:18
+#: modules/privacy/forms.py:27
#, python-brace-format
msgid ""
"Help Debian/{box_name} developers by participating in the Popularity Contest "
@@ -6429,11 +6479,11 @@ msgid ""
"network for additional anonymity if Tor app is enabled."
msgstr ""
-#: modules/privacy/forms.py:28
+#: modules/privacy/forms.py:37
msgid "Allow using fallback DNS servers"
msgstr ""
-#: modules/privacy/forms.py:30
+#: modules/privacy/forms.py:39
msgid ""
"Use well-known public DNS servers to resolve domain names in unusual "
"circumstances where no DNS servers are known but internet connectivity is "
@@ -6441,10 +6491,22 @@ msgid ""
"and reliable."
msgstr ""
+#: modules/privacy/forms.py:45
+#, fuzzy
+#| msgid "URL to look up public IP"
+msgid "URL to look up public IP address"
+msgstr "URL untuk mencari IP publik"
+
#: modules/privacy/manifest.py:10
msgid "Usage reporting"
msgstr ""
+#: modules/privacy/manifest.py:10
+#, fuzzy
+#| msgid "Standard Services"
+msgid "External services"
+msgstr "Layanan Standar"
+
#: modules/privacy/manifest.py:10
#, fuzzy
#| msgid "DNS Server"
@@ -7423,40 +7485,40 @@ msgid "Delete the following snapshots permanently?"
msgstr "Hapus snapshot berikut secara permanen?"
#: modules/snapshot/templates/snapshot_delete_selected.html:17
-#: modules/snapshot/templates/snapshot_manage.html:27
+#: modules/snapshot/templates/snapshot_manage.html:32
#: modules/snapshot/templates/snapshot_rollback.html:25
msgid "Number"
msgstr "Nomor"
#: modules/snapshot/templates/snapshot_delete_selected.html:18
-#: modules/snapshot/templates/snapshot_manage.html:28
+#: modules/snapshot/templates/snapshot_manage.html:33
#: modules/snapshot/templates/snapshot_rollback.html:26
msgid "Date"
msgstr "Tanggal"
#: modules/snapshot/templates/snapshot_delete_selected.html:42
-#: modules/snapshot/templates/snapshot_manage.html:20
+#: modules/snapshot/templates/snapshot_manage.html:25
#: modules/snapshot/views.py:197
msgid "Delete Snapshots"
msgstr "Hapus Snapshot"
-#: modules/snapshot/templates/snapshot_manage.html:17
+#: modules/snapshot/templates/snapshot_manage.html:22
msgid "Create Snapshot"
msgstr "Buat Snapshot"
-#: modules/snapshot/templates/snapshot_manage.html:30
+#: modules/snapshot/templates/snapshot_manage.html:35
msgid "Rollback"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:40
+#: modules/snapshot/templates/snapshot_manage.html:45
msgid "will be used at next boot"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:45
+#: modules/snapshot/templates/snapshot_manage.html:50
msgid "in use"
msgstr "sedang digunakan"
-#: modules/snapshot/templates/snapshot_manage.html:54
+#: modules/snapshot/templates/snapshot_manage.html:59
#, python-format
msgid "Rollback to snapshot #%(number)s"
msgstr ""
@@ -8011,27 +8073,27 @@ msgstr ""
msgid "Tor"
msgstr "Tor"
-#: modules/tor/__init__.py:78
+#: modules/tor/__init__.py:77
msgid "Tor Onion Service"
msgstr ""
-#: modules/tor/__init__.py:82
+#: modules/tor/__init__.py:81
msgid "Tor Bridge Relay"
msgstr ""
-#: modules/tor/__init__.py:140
+#: modules/tor/__init__.py:139
msgid "Tor relay port available"
msgstr ""
-#: modules/tor/__init__.py:152
+#: modules/tor/__init__.py:151
msgid "Obfs3 transport registered"
msgstr ""
-#: modules/tor/__init__.py:163
+#: modules/tor/__init__.py:162
msgid "Obfs4 transport registered"
msgstr ""
-#: modules/tor/__init__.py:176
+#: modules/tor/__init__.py:175
#, fuzzy
#| msgid "Service"
msgid "Onion service is version 3"
@@ -8129,7 +8191,7 @@ msgstr "Relay"
msgid "Anonymity network"
msgstr "Jaringan Anonimitas"
-#: modules/tor/templates/tor.html:18
+#: modules/tor/templates/tor.html:23
#, fuzzy
#| msgid "Service"
msgid "Onion Service"
@@ -8740,42 +8802,42 @@ msgstr ""
msgid "Edit user %(username)s"
msgstr ""
-#: modules/users/templates/users_update.html:12
+#: modules/users/templates/users_update.html:17
#, python-format
msgid "Edit User %(username)s"
msgstr "Hapus Wiki atau Blog %(username)s"
-#: modules/users/templates/users_update.html:20
+#: modules/users/templates/users_update.html:25
#, python-format
msgid ""
"Use the change password form to "
"change the password."
msgstr ""
-#: modules/users/templates/users_update.html:32
+#: modules/users/templates/users_update.html:37
#: templates/language-selection.html:17
msgid "Save Changes"
msgstr ""
-#: modules/users/templates/users_update.html:41
+#: modules/users/templates/users_update.html:46
#, fuzzy, python-format
#| msgid "Edit User %(username)s"
msgid "Delete user %(username)s and all the user's files?"
msgstr "Hapus Wiki atau Blog %(username)s"
-#: modules/users/templates/users_update.html:51
+#: modules/users/templates/users_update.html:56
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
msgstr ""
-#: modules/users/templates/users_update.html:60
+#: modules/users/templates/users_update.html:65
#, fuzzy
#| msgid "Delete files"
msgid "Delete user and files"
msgstr "Hapus file"
-#: modules/users/templates/users_update.html:63
+#: modules/users/templates/users_update.html:68
msgid "Cancel"
msgstr "Batal"
@@ -9445,13 +9507,13 @@ msgstr "Pemasangan"
msgid "Service %(service_name)s is not running."
msgstr "Layanan %(service_name)s tidak berjalan."
-#: templates/apps.html:29
+#: templates/apps.html:33
#, fuzzy
#| msgid "Search the web"
msgid "Search with tags"
msgstr "Jelajahi web"
-#: templates/apps.html:42
+#: templates/apps.html:46
#, fuzzy
#| msgid "Search the web"
msgid "Clear all tags"
@@ -9463,35 +9525,35 @@ msgid ""
"is free software that lets you install and manage server apps with ease."
msgstr ""
-#: templates/base.html:116
+#: templates/base.html:118
msgid " Home"
msgstr " Beranda"
-#: templates/base.html:124
+#: templates/base.html:126
msgid " Apps"
msgstr " Aplikasi"
-#: templates/base.html:133
+#: templates/base.html:135
msgid " System"
msgstr " sistem"
-#: templates/base.html:172 templates/base.html:173
+#: templates/base.html:174 templates/base.html:175
msgid "Change password"
msgstr "Ganti kata sandi"
-#: templates/base.html:186 templates/base.html:187
+#: templates/base.html:188 templates/base.html:189
msgid "Shut down"
msgstr "Matikan"
-#: templates/base.html:197 templates/base.html:235
+#: templates/base.html:199 templates/base.html:237
msgid "Log out"
msgstr "Keluar"
-#: templates/base.html:206 templates/base.html:209
+#: templates/base.html:208 templates/base.html:211
msgid "Select language"
msgstr "Pilih bahasa"
-#: templates/base.html:224 templates/base.html:226
+#: templates/base.html:226 templates/base.html:228
msgid "Log in"
msgstr "Masuk"
@@ -9706,23 +9768,48 @@ msgid ""
"installed freshly again."
msgstr ""
-#: views.py:85
+#: views.py:84
msgid "Here"
msgstr ""
-#: views.py:374
+#: views.py:376
msgid "Setting unchanged"
msgstr ""
-#: views.py:609
+#: views.py:610
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""
-#: web_framework.py:114
+#: web_framework.py:122
msgid "Gujarati"
msgstr "Bahasa Gujarat"
+#~ msgid "In 24 hour format."
+#~ msgstr "Dalam format 24 jam."
+
+#, fuzzy, python-brace-format
+#~| msgid ""
+#~| "Optional Value. If your {box_name} is not connected directly to the "
+#~| "Internet (i.e. connected to a NAT router) this URL is used to determine "
+#~| "the real IP address. The URL should simply return the IP where the "
+#~| "client comes from (example: http://myip.datasystems24.de)."
+#~ msgid ""
+#~ "Optional Value. If your {box_name} is not connected directly to the "
+#~ "Internet (i.e. connected to a NAT router) this URL is used to determine "
+#~ "the real IP address. The URL should simply return the IP where the client "
+#~ "comes from (example: https://ddns.freedombox.org/ip/)."
+#~ msgstr ""
+#~ "Nilai opsional. Jika {box_name} Anda tidak terhubung langsung ke Internet "
+#~ "(yaitu terhubung ke router NAT) URL ini digunakan untuk menentukan alamat "
+#~ "IP asli. URL harus mengembalikan IP di mana klien berasal (Contoh: http://"
+#~ "myip.datasystems24.de)."
+
+#, fuzzy
+#~| msgid "Manage Libraries"
+#~ msgid "Manage Aliases for Mailbox"
+#~ msgstr "Kelola Perpustakaan"
+
#~ msgid "File & Snippet Sharing"
#~ msgstr "Berbagi File & Cuplikan"
@@ -10496,9 +10583,6 @@ msgstr "Bahasa Gujarat"
#~ msgid "Add Service"
#~ msgstr "Tambah Layanan"
-#~ msgid "Standard Services"
-#~ msgstr "Layanan Standar"
-
#~ msgid "Create a Wiki or Blog"
#~ msgstr "Membuat Wiki atau Blog"
diff --git a/plinth/locale/it/LC_MESSAGES/django.po b/plinth/locale/it/LC_MESSAGES/django.po
index 41feabbcf..65cb637d2 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-12-30 20:05-0500\n"
+"POT-Creation-Date: 2025-01-13 20:33-0500\n"
"PO-Revision-Date: 2022-09-14 17:19+0000\n"
"Last-Translator: ikmaak
SSH key-based authentication is not yet "
"possible."
@@ -448,18 +450,18 @@ msgstr ""
"La password del Server SSH.
L'autenticazione basata su chiave SSH non è "
"ancora possibile."
-#: modules/backups/forms.py:273
+#: modules/backups/forms.py:275
msgid "Remote backup repository already exists."
msgstr "Il repository di backup remoto esiste già."
-#: modules/backups/forms.py:279
+#: modules/backups/forms.py:281
msgid "Select verified SSH public key"
msgstr "Selezionare la chiave pubblica SSH verificata"
#: modules/backups/manifest.py:14
#: modules/backups/templates/backups_repository.html:92
#: modules/backups/templates/backups_restore.html:27
-#: modules/backups/views.py:240 modules/snapshot/manifest.py:14
+#: modules/backups/views.py:238 modules/snapshot/manifest.py:14
#: templates/toolbar.html:44 templates/toolbar.html:45
#, fuzzy
msgid "Restore"
@@ -542,16 +544,20 @@ msgstr ""
msgid "Backup system is busy with another operation."
msgstr ""
+#: modules/backups/privileged.py:92
+msgid "Not enough space left on the disk or remote location."
+msgstr ""
+
#: modules/backups/repository.py:94
msgid "Existing repository is not encrypted."
msgstr "Il repository esistente non è criptato."
-#: modules/backups/repository.py:266
+#: modules/backups/repository.py:289
#, python-brace-format
msgid "{box_name} storage"
msgstr ""
-#: modules/backups/templates/backups.html:17 modules/backups/views.py:125
+#: modules/backups/templates/backups.html:17 modules/backups/views.py:124
msgid "Create a new backup"
msgstr "Creare un nuovo backup"
@@ -595,10 +601,9 @@ msgstr "Backups esistenti"
#: modules/help/templates/statuslog.html:24
#: modules/kiwix/templates/kiwix-add-package.html:26
#: modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:28
-#: modules/matrixsynapse/templates/matrix-synapse.html:76
+#: modules/matrixsynapse/templates/matrix-synapse.html:81
#: modules/names/templates/names.html:128
#: modules/networks/templates/connection_show.html:24
-#: modules/nextcloud/__init__.py:48
#: modules/pagekite/templates/pagekite_custom_services.html:16
#: modules/power/templates/power_busy_warning.html:11
#: modules/snapshot/templates/snapshot_not_supported.html:13
@@ -765,111 +770,111 @@ msgstr ""
msgid "Verify Host"
msgstr "Verificare l'host"
-#: modules/backups/views.py:69
+#: modules/backups/views.py:68
msgid "Backup schedule updated."
msgstr ""
-#: modules/backups/views.py:88
+#: modules/backups/views.py:87
msgid "Schedule Backups"
msgstr ""
-#: modules/backups/views.py:150
+#: modules/backups/views.py:148
msgid "Archive created."
msgstr "Archivio creato."
-#: modules/backups/views.py:162
+#: modules/backups/views.py:160
msgid "Delete Archive"
msgstr "Cancella archivio"
-#: modules/backups/views.py:175
+#: modules/backups/views.py:173
msgid "Archive deleted."
msgstr "Archivio cancellato."
-#: modules/backups/views.py:189
+#: modules/backups/views.py:187
msgid "Upload and restore a backup"
msgstr "Caricare e ripristinare un backup"
-#: modules/backups/views.py:218
+#: modules/backups/views.py:216
#, fuzzy
#| msgid "Upload file"
msgid "Upload successful."
msgstr "Carica file"
-#: modules/backups/views.py:256
+#: modules/backups/views.py:254
msgid "No backup file found."
msgstr "Nessun file di backup trovato."
-#: modules/backups/views.py:264
+#: modules/backups/views.py:262
msgid "Restore from uploaded file"
msgstr "Ripristina dal file caricato"
-#: modules/backups/views.py:278 modules/backups/views.py:299
+#: modules/backups/views.py:276 modules/backups/views.py:297
msgid "Restored files from backup."
msgstr "File ripristinati da backup."
-#: modules/backups/views.py:329
+#: modules/backups/views.py:327
msgid "No additional disks available to add a repository."
msgstr "Non sono disponibili dischi aggiuntivi per aggiungere un repository."
-#: modules/backups/views.py:337
+#: modules/backups/views.py:335
msgid "Create backup repository"
msgstr "Creare un repository di backup"
-#: modules/backups/views.py:352
+#: modules/backups/views.py:350
#, fuzzy
#| msgid "Added new remote SSH repository."
msgid "Added new repository."
msgstr "Aggiunto nuovo repository SSH remoto."
-#: modules/backups/views.py:366
+#: modules/backups/views.py:364
msgid "Create remote backup repository"
msgstr "Creare un repository di backup remoto"
-#: modules/backups/views.py:388
+#: modules/backups/views.py:386
msgid "Added new remote SSH repository."
msgstr "Aggiunto nuovo repository SSH remoto."
-#: modules/backups/views.py:410
+#: modules/backups/views.py:408
msgid "Verify SSH hostkey"
msgstr "Verificare la chiave host SSH"
-#: modules/backups/views.py:436
+#: modules/backups/views.py:434
msgid "SSH host already verified."
msgstr "Host SSH già verificato."
-#: modules/backups/views.py:447
+#: modules/backups/views.py:445
msgid "SSH host verified."
msgstr "Host SSH verificato."
-#: modules/backups/views.py:463
+#: modules/backups/views.py:461
msgid "SSH host public key could not be verified."
msgstr "Non è stato possibile verificare la chiave pubblica dell'host SSH."
-#: modules/backups/views.py:465
+#: modules/backups/views.py:463
msgid "Authentication to remote server failed."
msgstr "Autenticazione al server remoto fallita."
-#: modules/backups/views.py:467
+#: modules/backups/views.py:465
msgid "Error establishing connection to server: {}"
msgstr "Errore di connessione al server: {}"
-#: modules/backups/views.py:478
+#: modules/backups/views.py:476
msgid "Repository removed."
msgstr "Deposito rimosso."
-#: modules/backups/views.py:492
+#: modules/backups/views.py:490
msgid "Remove Repository"
msgstr "Rimuovere il repository"
-#: modules/backups/views.py:502
+#: modules/backups/views.py:500
msgid "Repository removed. Backups were not deleted."
msgstr "Deposito rimosso. I backup non sono stati cancellati."
-#: modules/backups/views.py:513
+#: modules/backups/views.py:511
msgid "Unmounting failed!"
msgstr "Smontaggio fallito!"
-#: modules/backups/views.py:529 modules/backups/views.py:533
+#: modules/backups/views.py:527 modules/backups/views.py:531
msgid "Mounting failed"
msgstr "Montaggio fallito"
@@ -993,7 +998,7 @@ msgstr "Aggiungi la password"
msgid "No passwords currently configured."
msgstr "Nessuna password attualmente configurata."
-#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:91
+#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:83
#: modules/miniflux/forms.py:14 modules/networks/forms.py:282
#: modules/shadowsocks/forms.py:32 modules/shadowsocksserver/forms.py:37
msgid "Password"
@@ -1122,8 +1127,10 @@ msgstr ""
msgid "Serving Domains"
msgstr ""
-#: modules/bind/templates/bind.html:17 modules/email/templates/email.html:38
-#: modules/ikiwiki/forms.py:12 modules/names/templates/names.html:18
+#: modules/bind/templates/bind.html:17
+#: modules/email/templates/email-dns.html:25
+#: modules/email/templates/email-dns.html:78 modules/ikiwiki/forms.py:12
+#: modules/names/templates/names.html:18
#: modules/networks/templates/connection_show.html:95
#: modules/samba/templates/samba.html:65
#: modules/storage/templates/storage.html:26
@@ -1153,7 +1160,7 @@ msgstr ""
#: modules/minetest/views.py:55 modules/mumble/views.py:37
#: modules/names/views.py:66 modules/names/views.py:95
#: modules/names/views.py:129 modules/pagekite/forms.py:74
-#: modules/privacy/views.py:50 modules/quassel/views.py:29
+#: modules/privacy/views.py:55 modules/quassel/views.py:29
#: modules/roundcube/views.py:32 modules/rssbridge/views.py:31
#: modules/shadowsocks/views.py:52 modules/shadowsocksserver/views.py:48
#: modules/ssh/views.py:62 modules/transmission/views.py:43
@@ -1810,7 +1817,7 @@ msgid "Test"
msgstr "Test"
#: modules/diagnostics/templates/diagnostics_results.html:12
-#: modules/dynamicdns/templates/dynamicdns.html:20
+#: modules/dynamicdns/templates/dynamicdns.html:25
msgid "Result"
msgstr "Risultato"
@@ -1823,7 +1830,7 @@ msgstr "Test Diagnostica"
msgid "App {app_id} is not installed, cannot repair"
msgstr ""
-#: modules/dynamicdns/__init__.py:28
+#: modules/dynamicdns/__init__.py:29
#, python-brace-format
msgid ""
"If your Internet provider changes your IP address periodically (i.e. every "
@@ -1834,7 +1841,7 @@ msgstr ""
"24 ore), può essere difficile per gli altri trovarti in Internet. Questo "
"impedirà altri di raggiungere i servizi forniti da questo {box_name}."
-#: modules/dynamicdns/__init__.py:32
+#: modules/dynamicdns/__init__.py:33
msgid ""
"The solution is to assign a DNS name to your IP address and update the DNS "
"name every time your IP is changed by your Internet provider. Dynamic DNS "
@@ -1851,7 +1858,7 @@ msgstr ""
"tuo nome DNS al nuovo IP, e se qualcuno cercherà il tuo nome DNS in "
"Internet, riceverà come risposta l'indirizzo IP corrente."
-#: modules/dynamicdns/__init__.py:40
+#: modules/dynamicdns/__init__.py:41
#, fuzzy
#| msgid ""
#| "If you are looking for a free dynamic DNS account, you may find a free "
@@ -1871,11 +1878,17 @@ msgstr ""
"gratuito basato su URL d'aggiornamento su freedns.afraid.org."
-#: modules/dynamicdns/__init__.py:61
+#: modules/dynamicdns/__init__.py:46
+msgid ""
+"This service uses an external service to lookup public IP address. This can "
+"be configured in the privacy app."
+msgstr ""
+
+#: modules/dynamicdns/__init__.py:64
msgid "Dynamic DNS Client"
msgstr "Client DNS Dinamico"
-#: modules/dynamicdns/__init__.py:75
+#: modules/dynamicdns/__init__.py:78
msgid "Dynamic Domain Name"
msgstr "Nome Dominio Dinamico"
@@ -1930,92 +1943,74 @@ msgid "Leave this field empty if you want to keep your current password."
msgstr "Lascia vuoto questo campo se vuoi mantenere la password corrente."
#: modules/dynamicdns/forms.py:43
-#, python-brace-format
-msgid ""
-"Optional Value. If your {box_name} is not connected directly to the Internet "
-"(i.e. connected to a NAT router) this URL is used to determine the real IP "
-"address. The URL should simply return the IP where the client comes from "
-"(example: https://ddns.freedombox.org/ip/)."
-msgstr ""
-"Valore Opzionale. Se il tuo {box_name} non è connesso direttamente alla rete "
-"Internet (p.e. connesso ad un router NAT) questo URL viene usato per "
-"determinare l'indirizzo IP reale. L'URL dovrebbe semplicemente restituire "
-"l'IP da cui proviene il client (esempio: https://ddns.freedombox.org/ip/)."
-
-#: modules/dynamicdns/forms.py:51
msgid "The username that was used when the account was created."
msgstr "Il nome utente usato quando è stato creato il profilo."
-#: modules/dynamicdns/forms.py:54
+#: modules/dynamicdns/forms.py:46
msgid "GnuDIP"
msgstr "GnuDIP"
-#: modules/dynamicdns/forms.py:57
+#: modules/dynamicdns/forms.py:49
#, fuzzy
#| msgid "other update URL"
msgid "Other update URL"
msgstr "URL aggiornamento alternativo"
-#: modules/dynamicdns/forms.py:59
+#: modules/dynamicdns/forms.py:51
msgid "Service Type"
msgstr "Tipo Servizio"
-#: modules/dynamicdns/forms.py:64
+#: modules/dynamicdns/forms.py:56
msgid "GnuDIP Server Address"
msgstr "Indirizzo Server GnuDIP"
-#: modules/dynamicdns/forms.py:67
+#: modules/dynamicdns/forms.py:59
msgid "Invalid server name"
msgstr "Nome Server Invalido"
-#: modules/dynamicdns/forms.py:70
+#: modules/dynamicdns/forms.py:62
msgid "Update URL"
msgstr "Aggiorna URL"
-#: modules/dynamicdns/forms.py:74
+#: modules/dynamicdns/forms.py:66
msgid "Accept all SSL certificates"
msgstr "Accetta tutti i certificati SSL"
-#: modules/dynamicdns/forms.py:78
+#: modules/dynamicdns/forms.py:70
#, fuzzy
msgid "Use HTTP basic authentication"
msgstr "Usa l'autenticazione HTTP base"
-#: modules/dynamicdns/forms.py:82 modules/names/__init__.py:68
+#: modules/dynamicdns/forms.py:74 modules/names/__init__.py:68
#: modules/names/forms.py:106 modules/names/templates/names.html:19
msgid "Domain Name"
msgstr "Nome dominio"
-#: modules/dynamicdns/forms.py:85 modules/names/forms.py:99
+#: modules/dynamicdns/forms.py:77 modules/names/forms.py:99
#: modules/names/forms.py:117
msgid "Invalid domain name"
msgstr "Nome dominio non valido"
-#: modules/dynamicdns/forms.py:88 modules/miniflux/forms.py:11
+#: modules/dynamicdns/forms.py:80 modules/miniflux/forms.py:11
#: modules/networks/forms.py:281 modules/users/forms.py:130
msgid "Username"
msgstr "Nome utente"
-#: modules/dynamicdns/forms.py:95 modules/networks/forms.py:284
+#: modules/dynamicdns/forms.py:87 modules/networks/forms.py:284
msgid "Show password"
msgstr "Mostra password"
-#: modules/dynamicdns/forms.py:99
-#, fuzzy
-msgid "URL to look up public IP"
-msgstr "URL di cui cercare l'IP pubblico"
-
-#: modules/dynamicdns/forms.py:104
+#: modules/dynamicdns/forms.py:91
msgid "Use IPv6 instead of IPv4"
msgstr ""
-#: modules/dynamicdns/forms.py:123
+#: modules/dynamicdns/forms.py:110
msgid "This field is required."
msgstr ""
#: modules/dynamicdns/manifest.py:17
-#: modules/dynamicdns/templates/dynamicdns.html:18
-#: modules/email/templates/email.html:35
+#: modules/dynamicdns/templates/dynamicdns.html:23
+#: modules/email/templates/email-dns.html:22
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64
#, fuzzy
@@ -2030,43 +2025,43 @@ msgstr ""
msgid "Needs public IP"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:11
-#: modules/ejabberd/templates/ejabberd.html:13 modules/firewall/manifest.py:10
+#: modules/dynamicdns/templates/dynamicdns.html:16
+#: modules/ejabberd/templates/ejabberd.html:18 modules/firewall/manifest.py:10
#: modules/firewall/templates/firewall.html:16
#: modules/firewall/templates/firewall.html:22
#: modules/letsencrypt/templates/letsencrypt.html:17
-#: modules/matrixsynapse/templates/matrix-synapse.html:12
+#: modules/matrixsynapse/templates/matrix-synapse.html:17
#: modules/networks/templates/connection_show.html:258
-#: modules/samba/templates/samba.html:67 modules/tor/templates/tor.html:19
+#: modules/samba/templates/samba.html:67 modules/tor/templates/tor.html:24
#: modules/upgrades/templates/upgrades_configure.html:14
#: modules/wireguard/templates/wireguard_show_client.html:48
#: modules/wireguard/templates/wireguard_show_server.html:47
msgid "Status"
msgstr "Stato"
-#: modules/dynamicdns/templates/dynamicdns.html:19
+#: modules/dynamicdns/templates/dynamicdns.html:24
msgid "Last update"
msgstr "Ultimo aggiornamento"
-#: modules/dynamicdns/templates/dynamicdns.html:21
+#: modules/dynamicdns/templates/dynamicdns.html:26
#, fuzzy
#| msgid "IP address"
msgid "IP Address"
msgstr "Indirizso IP"
-#: modules/dynamicdns/templates/dynamicdns.html:32
+#: modules/dynamicdns/templates/dynamicdns.html:37
#, fuzzy
#| msgid "Access"
msgid "Success"
msgstr "Accesso"
-#: modules/dynamicdns/templates/dynamicdns.html:36
+#: modules/dynamicdns/templates/dynamicdns.html:41
#, fuzzy
#| msgid "failed"
msgid "Failed"
msgstr "fallito"
-#: modules/dynamicdns/templates/dynamicdns.html:52
+#: modules/dynamicdns/templates/dynamicdns.html:57
#, fuzzy
#| msgid "No libraries available."
msgid "No status available."
@@ -2241,7 +2236,7 @@ msgstr ""
msgid "XMPP"
msgstr ""
-#: modules/ejabberd/templates/ejabberd.html:18
+#: modules/ejabberd/templates/ejabberd.html:23
#, fuzzy, python-format
#| msgid ""
#| "Your XMPP server domain is set to %(domainname)s. User IDs will "
@@ -2257,7 +2252,7 @@ msgstr ""
"impostare il tuo dominio nel sistema . Configura "
"la pagina ."
-#: modules/ejabberd/templates/ejabberd.html:25
+#: modules/ejabberd/templates/ejabberd.html:30
#, fuzzy, python-format
#| msgid ""
#| "Your XMPP server domain is set to %(domainname)s. User IDs will "
@@ -2313,18 +2308,20 @@ msgstr ""
msgid "Postfix/Dovecot"
msgstr "Postfix/Dovecot"
-#: modules/email/__init__.py:83
+#: modules/email/__init__.py:80
+msgid "More emails"
+msgstr ""
+
+#: modules/email/__init__.py:80
+msgid "Same mailbox"
+msgstr ""
+
+#: modules/email/__init__.py:82
#, fuzzy
#| msgid "Manage Aliases"
msgid "My Email Aliases"
msgstr "Gestire gli alias"
-#: modules/email/__init__.py:84
-#, fuzzy
-#| msgid "Manage Aliases"
-msgid "Manage Aliases for Mailbox"
-msgstr "Gestire gli alias"
-
#: modules/email/forms.py:25
msgid "Primary domain"
msgstr "Dominio primario"
@@ -2403,45 +2400,94 @@ msgstr "Creare un nuovo alias e-mail"
msgid "Add"
msgstr ""
-#: modules/email/templates/email.html:10
-msgid "Manage Spam"
-msgstr "Gestire lo spam"
+#: modules/email/templates/email-dns.html:9
+#, fuzzy
+#| msgid "Server domain"
+msgid "DNS Records for domain:"
+msgstr "Dominio server"
-#: modules/email/templates/email.html:22
-msgid "DNS Records"
-msgstr ""
-
-#: modules/email/templates/email.html:25
+#: modules/email/templates/email-dns.html:12
msgid ""
-"The following DNS records must be added manually on your primary domain for "
-"the mail server to work properly."
+"The following DNS records must be added manually on this domain for the mail "
+"server to work properly for this domain."
msgstr ""
-#: modules/email/templates/email.html:36
+#: modules/email/templates/email-dns.html:23
+#: modules/email/templates/email-dns.html:77
msgid "TTL"
msgstr ""
-#: modules/email/templates/email.html:37
+#: modules/email/templates/email-dns.html:24
msgid "Class"
msgstr ""
-#: modules/email/templates/email.html:39
+#: modules/email/templates/email-dns.html:26
msgid "Priority"
msgstr ""
-#: modules/email/templates/email.html:40
+#: modules/email/templates/email-dns.html:27
msgid "Weight"
msgstr ""
-#: modules/email/templates/email.html:41
+#: modules/email/templates/email-dns.html:28
#: modules/minetest/templates/minetest.html:18
msgid "Port"
msgstr "Porta"
-#: modules/email/templates/email.html:42
+#: modules/email/templates/email-dns.html:29
+#: modules/email/templates/email-dns.html:79
msgid "Host/Target/Value"
msgstr ""
+#: modules/email/templates/email-dns.html:50
+msgid "Reverse DNS Records for IP Addresses"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:53
+#, python-format
+msgid ""
+"If your %(box_name)s runs on a cloud service infrastructure, you should "
+"configure "
+"Reverse DNS lookup. This isn't mandatory, however, it greatly improves "
+"email deliverability. Reverse DNS isn't configured where your regular DNS "
+"is. You should look for it in the settings of your VPS/ISP. Some providers "
+"preconfigure the IP address part for you and you only have to set the domain "
+"part. Only one of your domains can have Revese DNS lookup configured unless "
+"you have multiple public IP addresses."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:66
+msgid ""
+"An external service is used to lookup public IP address to show in the "
+"following section. This can be configured in the privacy app."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:76
+#, fuzzy
+#| msgid "Hostname"
+msgid "Host"
+msgstr "Hostname"
+
+#: modules/email/templates/email.html:10
+msgid "Manage Spam"
+msgstr "Gestire lo spam"
+
+#: modules/email/templates/email.html:20 modules/names/manifest.py:11
+#: modules/names/templates/names.html:12
+msgid "Domains"
+msgstr "Domini"
+
+#: modules/email/templates/email.html:23
+msgid ""
+"The following domains are configured. View details to see the list of DNS "
+"entries to be made for the domain."
+msgstr ""
+
+#: modules/email/templates/email.html:35
+#, python-format
+msgid "View domain: %(domain)s"
+msgstr ""
+
#: modules/featherwiki/__init__.py:25
#, python-brace-format
msgid ""
@@ -2720,7 +2766,7 @@ msgstr "Porta {name} ({details}) disponibile per reti esterne"
msgid "Port {name} ({details}) unavailable for external networks"
msgstr "Porta {name} ({details}) non disponibile per reti esterne"
-#: modules/firewall/manifest.py:10 modules/tor/templates/tor.html:20
+#: modules/firewall/manifest.py:10 modules/tor/templates/tor.html:25
msgid "Ports"
msgstr "Ports"
@@ -3077,9 +3123,9 @@ msgstr "Invia feedback"
msgid "Contribute"
msgstr "Contribuire"
-#: modules/help/__init__.py:53 templates/base.html:215 templates/base.html:218
+#: modules/help/__init__.py:53 templates/base.html:217 templates/base.html:220
#: templates/help-menu.html:46 templates/help-menu.html:47
-#: templates/index.html:98
+#: templates/index.html:96
msgid "About"
msgstr "Su"
@@ -3251,7 +3297,7 @@ msgstr ""
#: modules/help/templates/help_contribute.html:42
#: modules/power/templates/power_restart.html:27
-#: modules/power/templates/power_shutdown.html:26 templates/app-header.html:68
+#: modules/power/templates/power_shutdown.html:26 templates/app-header.html:65
msgid "Learn more..."
msgstr "Impara di più..."
@@ -3635,7 +3681,7 @@ msgid "Web conference"
msgstr ""
#: modules/janus/templates/janus_video_room.html:205
-#: modules/jsxc/templates/jsxc_launch.html:117 templates/base.html:271
+#: modules/jsxc/templates/jsxc_launch.html:117 templates/base.html:273
msgid "JavaScript license information"
msgstr "Informazioni sulla licenza JavaScript"
@@ -4065,7 +4111,7 @@ msgstr ""
"Non ci sono domini disponibili. Configura "
"almeno un dominio per poter usare Matrix Synapse."
-#: modules/matrixsynapse/templates/matrix-synapse.html:15
+#: modules/matrixsynapse/templates/matrix-synapse.html:20
#, python-format
msgid ""
"The Matrix server domain is set to %(domain_name)s. User IDs will "
@@ -4077,7 +4123,7 @@ msgstr ""
"del nome di dominio dopo la prima configurazione, attualmente, non è "
"supportato."
-#: modules/matrixsynapse/templates/matrix-synapse.html:22
+#: modules/matrixsynapse/templates/matrix-synapse.html:27
#, fuzzy
msgid ""
"New users can be registered from any client if public registration is "
@@ -4086,43 +4132,43 @@ msgstr ""
"I nuovi utenti possono essere registrati da qualsiasi cliente se la "
"registrazione pubblica è abilitata."
-#: modules/matrixsynapse/templates/matrix-synapse.html:29
+#: modules/matrixsynapse/templates/matrix-synapse.html:34
msgid ""
"New users must use one of the following tokens for verification during "
"account registration:"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:38
+#: modules/matrixsynapse/templates/matrix-synapse.html:43
#, fuzzy
#| msgid "Skip Registration"
msgid "Registration Token"
msgstr "Salta Registrazione"
-#: modules/matrixsynapse/templates/matrix-synapse.html:39
+#: modules/matrixsynapse/templates/matrix-synapse.html:44
msgid "Uses Allowed"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:40
+#: modules/matrixsynapse/templates/matrix-synapse.html:45
#, fuzzy
#| msgid "Skip Registration"
msgid "Pending Registrations"
msgstr "Salta Registrazione"
-#: modules/matrixsynapse/templates/matrix-synapse.html:41
+#: modules/matrixsynapse/templates/matrix-synapse.html:46
#, fuzzy
#| msgid "Skip Registration"
msgid "Completed Registrations"
msgstr "Salta Registrazione"
-#: modules/matrixsynapse/templates/matrix-synapse.html:42
+#: modules/matrixsynapse/templates/matrix-synapse.html:47
msgid "Expiry Time"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:51
+#: modules/matrixsynapse/templates/matrix-synapse.html:56
msgid "Unlimited"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:80
+#: modules/matrixsynapse/templates/matrix-synapse.html:85
#, python-format
msgid ""
"The configured domain name is using a self-signed certificate. Federation "
@@ -4606,7 +4652,7 @@ msgstr "Nome utente non valido: {username}"
msgid "An error occurred during password reset: {error}."
msgstr "Si è verificato un errore durante la configurazione."
-#: modules/mumble/__init__.py:25
+#: modules/mumble/__init__.py:27
msgid ""
"Mumble is an open source, low-latency, encrypted, high quality voice chat "
"software."
@@ -4614,7 +4660,7 @@ msgstr ""
"Mumble è un software di chat vocale ad alta qualità, a bassa latenza, "
"cifrato e open source."
-#: modules/mumble/__init__.py:27
+#: modules/mumble/__init__.py:29
#, fuzzy
#| msgid ""
#| "You can connect to your Mumble server on the regular Mumble port 64738. "
@@ -4629,10 +4675,14 @@ msgstr ""
"64738 Sono disponibili dei client da "
"connettere a Mumble dai tuoi dispositivi desktop e android."
-#: modules/mumble/__init__.py:45 modules/mumble/manifest.py:9
+#: modules/mumble/__init__.py:47 modules/mumble/manifest.py:9
msgid "Mumble"
msgstr "Mumble"
+#: modules/mumble/__init__.py:158
+msgid "Mumble server is configured"
+msgstr ""
+
#: modules/mumble/forms.py:30
msgid "Set SuperUser Password"
msgstr ""
@@ -4778,10 +4828,6 @@ msgstr ""
"ogni etichetta non deve essere superiore a 63 caratteri. La lunghezza totale "
"del nome di dominio non deve superare i 253 caratreri."
-#: modules/names/manifest.py:11 modules/names/templates/names.html:12
-msgid "Domains"
-msgstr "Domini"
-
#: modules/names/manifest.py:13
#, fuzzy
#| msgid "Evolution"
@@ -5324,7 +5370,7 @@ msgstr "Modifica Connessione"
#: modules/networks/templates/connection_show.html:40
#: modules/wireguard/templates/wireguard_show_client.html:72
#: modules/wireguard/templates/wireguard_show_server.html:73
-#: templates/base.html:165 templates/base.html:166
+#: templates/base.html:167 templates/base.html:168
msgid "Edit"
msgstr "Modifica"
@@ -5377,7 +5423,7 @@ msgstr "Interfaccia"
#: modules/networks/templates/connection_show.html:107
#: modules/snapshot/templates/snapshot_delete_selected.html:19
-#: modules/snapshot/templates/snapshot_manage.html:29
+#: modules/snapshot/templates/snapshot_manage.html:34
#: modules/snapshot/templates/snapshot_rollback.html:27
msgid "Description"
msgstr "Descrizione"
@@ -5456,8 +5502,8 @@ msgstr "Questa connessione non è attiva."
#: modules/networks/templates/connection_show.html:264
#: modules/networks/templates/connections_fields_privacy.html:15
-#: modules/openvpn/manifest.py:60 modules/privacy/__init__.py:32
-#: modules/privacy/__init__.py:72 modules/wireguard/manifest.py:45
+#: modules/openvpn/manifest.py:60 modules/privacy/__init__.py:38
+#: modules/privacy/__init__.py:77 modules/wireguard/manifest.py:45
#, fuzzy
#| msgid "Privoxy"
msgid "Privacy"
@@ -5550,7 +5596,7 @@ msgstr "Interna"
msgid "Computer"
msgstr "Computer"
-#: modules/networks/templates/connections_edit.html:19
+#: modules/networks/templates/connections_edit.html:24
#: modules/networks/views.py:253 modules/networks/views.py:341
msgid "Edit Connection"
msgstr "Modifica Concessione"
@@ -5561,7 +5607,7 @@ msgid "Error:"
msgstr ""
#: modules/networks/templates/connections_fields.html:20
-#: modules/users/templates/users_update.html:46 templates/messages.html:30
+#: modules/users/templates/users_update.html:51 templates/messages.html:30
msgid "Close"
msgstr ""
@@ -5653,7 +5699,7 @@ msgstr "Cambiare..."
#: modules/networks/templates/network_topology_update.html:18
#: modules/networks/templates/router_configuration_update.html:19
#: modules/pagekite/templates/pagekite_custom_services.html:33
-#: modules/sharing/templates/sharing_add_edit.html:20 templates/form.html:19
+#: modules/sharing/templates/sharing_add_edit.html:25 templates/form.html:19
msgid "Submit"
msgstr "Invia"
@@ -6057,11 +6103,7 @@ msgid ""
"performed following an independent cycle."
msgstr ""
-#: modules/nextcloud/__init__.py:48
-msgid "This app is experimental."
-msgstr ""
-
-#: modules/nextcloud/__init__.py:66 modules/nextcloud/manifest.py:11
+#: modules/nextcloud/__init__.py:65 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
msgid "Nextcloud"
msgstr ""
@@ -6277,7 +6319,7 @@ msgstr ""
msgid "PageKite"
msgstr "PageKite"
-#: modules/pagekite/__init__.py:73
+#: modules/pagekite/__init__.py:72
msgid "PageKite Domain"
msgstr "Dominio PageKite"
@@ -6475,8 +6517,8 @@ msgstr ""
msgid "Shutdown"
msgstr "Spegni Ora"
-#: modules/power/templates/power.html:15 templates/base.html:180
-#: templates/base.html:181
+#: modules/power/templates/power.html:15 templates/base.html:182
+#: templates/base.html:183
msgid "Restart"
msgstr ""
@@ -6519,23 +6561,33 @@ msgstr ""
msgid "Shut Down Now"
msgstr "Spegni Ora"
-#: modules/privacy/__init__.py:15
+#: modules/privacy/__init__.py:21
msgid "Manage system-wide privacy settings."
msgstr ""
-#: modules/privacy/__init__.py:70
+#: modules/privacy/__init__.py:75
msgid "Please update privacy settings to match your preferences."
msgstr ""
-#: modules/privacy/__init__.py:75
+#: modules/privacy/__init__.py:80
msgid "Review privacy setting"
msgstr ""
-#: modules/privacy/forms.py:16
+#: modules/privacy/forms.py:17
+#, python-brace-format
+msgid ""
+"Optional Value. This URL is used to determine the publicly visible IP "
+"address of your {box_name}. The URL should simply return the IPv4 or IPv6 "
+"address where the client request comes from. Default is to use the service "
+"provided by the FreedomBox Foundation at https://ddns.freedombox.org/ip/. If "
+"empty, lookups are disabled and some functionality will fail."
+msgstr ""
+
+#: modules/privacy/forms.py:25
msgid "Periodically submit a list of apps used (suggested)"
msgstr ""
-#: modules/privacy/forms.py:18
+#: modules/privacy/forms.py:27
#, python-brace-format
msgid ""
"Help Debian/{box_name} developers by participating in the Popularity Contest "
@@ -6546,11 +6598,11 @@ msgid ""
"network for additional anonymity if Tor app is enabled."
msgstr ""
-#: modules/privacy/forms.py:28
+#: modules/privacy/forms.py:37
msgid "Allow using fallback DNS servers"
msgstr ""
-#: modules/privacy/forms.py:30
+#: modules/privacy/forms.py:39
msgid ""
"Use well-known public DNS servers to resolve domain names in unusual "
"circumstances where no DNS servers are known but internet connectivity is "
@@ -6558,10 +6610,21 @@ msgid ""
"and reliable."
msgstr ""
+#: modules/privacy/forms.py:45
+#, fuzzy
+msgid "URL to look up public IP address"
+msgstr "URL di cui cercare l'IP pubblico"
+
#: modules/privacy/manifest.py:10
msgid "Usage reporting"
msgstr ""
+#: modules/privacy/manifest.py:10
+#, fuzzy
+#| msgid "Standard Services"
+msgid "External services"
+msgstr "Servizi Standard"
+
#: modules/privacy/manifest.py:10
#, fuzzy
#| msgid "DNS Server"
@@ -7547,40 +7610,40 @@ msgid "Delete the following snapshots permanently?"
msgstr ""
#: modules/snapshot/templates/snapshot_delete_selected.html:17
-#: modules/snapshot/templates/snapshot_manage.html:27
+#: modules/snapshot/templates/snapshot_manage.html:32
#: modules/snapshot/templates/snapshot_rollback.html:25
msgid "Number"
msgstr ""
#: modules/snapshot/templates/snapshot_delete_selected.html:18
-#: modules/snapshot/templates/snapshot_manage.html:28
+#: modules/snapshot/templates/snapshot_manage.html:33
#: modules/snapshot/templates/snapshot_rollback.html:26
msgid "Date"
msgstr ""
#: modules/snapshot/templates/snapshot_delete_selected.html:42
-#: modules/snapshot/templates/snapshot_manage.html:20
+#: modules/snapshot/templates/snapshot_manage.html:25
#: modules/snapshot/views.py:197
msgid "Delete Snapshots"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:17
+#: modules/snapshot/templates/snapshot_manage.html:22
msgid "Create Snapshot"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:30
+#: modules/snapshot/templates/snapshot_manage.html:35
msgid "Rollback"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:40
+#: modules/snapshot/templates/snapshot_manage.html:45
msgid "will be used at next boot"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:45
+#: modules/snapshot/templates/snapshot_manage.html:50
msgid "in use"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:54
+#: modules/snapshot/templates/snapshot_manage.html:59
#, python-format
msgid "Rollback to snapshot #%(number)s"
msgstr ""
@@ -8129,27 +8192,27 @@ msgstr ""
msgid "Tor"
msgstr "Tor"
-#: modules/tor/__init__.py:78
+#: modules/tor/__init__.py:77
msgid "Tor Onion Service"
msgstr ""
-#: modules/tor/__init__.py:82
+#: modules/tor/__init__.py:81
msgid "Tor Bridge Relay"
msgstr ""
-#: modules/tor/__init__.py:140
+#: modules/tor/__init__.py:139
msgid "Tor relay port available"
msgstr ""
-#: modules/tor/__init__.py:152
+#: modules/tor/__init__.py:151
msgid "Obfs3 transport registered"
msgstr ""
-#: modules/tor/__init__.py:163
+#: modules/tor/__init__.py:162
msgid "Obfs4 transport registered"
msgstr ""
-#: modules/tor/__init__.py:176
+#: modules/tor/__init__.py:175
#, fuzzy
#| msgid "Onion Service"
msgid "Onion service is version 3"
@@ -8246,7 +8309,7 @@ msgstr ""
msgid "Anonymity network"
msgstr "Rete di anonimato"
-#: modules/tor/templates/tor.html:18
+#: modules/tor/templates/tor.html:23
msgid "Onion Service"
msgstr "Servizio Onion"
@@ -8830,42 +8893,42 @@ msgstr ""
msgid "Edit user %(username)s"
msgstr ""
-#: modules/users/templates/users_update.html:12
+#: modules/users/templates/users_update.html:17
#, python-format
msgid "Edit User %(username)s"
msgstr "Modifica utente %(username)s"
-#: modules/users/templates/users_update.html:20
+#: modules/users/templates/users_update.html:25
#, python-format
msgid ""
"Use the change password form to "
"change the password."
msgstr ""
-#: modules/users/templates/users_update.html:32
+#: modules/users/templates/users_update.html:37
#: templates/language-selection.html:17
msgid "Save Changes"
msgstr ""
-#: modules/users/templates/users_update.html:41
+#: modules/users/templates/users_update.html:46
#, fuzzy, python-format
#| msgid "Edit User %(username)s"
msgid "Delete user %(username)s and all the user's files?"
msgstr "Modifica utente %(username)s"
-#: modules/users/templates/users_update.html:51
+#: modules/users/templates/users_update.html:56
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
msgstr ""
-#: modules/users/templates/users_update.html:60
+#: modules/users/templates/users_update.html:65
#, fuzzy
#| msgid "Delete files"
msgid "Delete user and files"
msgstr "Cancellare file"
-#: modules/users/templates/users_update.html:63
+#: modules/users/templates/users_update.html:68
msgid "Cancel"
msgstr "Cancella"
@@ -9516,11 +9579,11 @@ msgstr ""
msgid "Service %(service_name)s is not running."
msgstr ""
-#: templates/apps.html:29
+#: templates/apps.html:33
msgid "Search with tags"
msgstr ""
-#: templates/apps.html:42
+#: templates/apps.html:46
msgid "Clear all tags"
msgstr ""
@@ -9530,35 +9593,35 @@ msgid ""
"is free software that lets you install and manage server apps with ease."
msgstr ""
-#: templates/base.html:116
+#: templates/base.html:118
msgid " Home"
msgstr ""
-#: templates/base.html:124
+#: templates/base.html:126
msgid " Apps"
msgstr ""
-#: templates/base.html:133
+#: templates/base.html:135
msgid " System"
msgstr ""
-#: templates/base.html:172 templates/base.html:173
+#: templates/base.html:174 templates/base.html:175
msgid "Change password"
msgstr ""
-#: templates/base.html:186 templates/base.html:187
+#: templates/base.html:188 templates/base.html:189
msgid "Shut down"
msgstr ""
-#: templates/base.html:197 templates/base.html:235
+#: templates/base.html:199 templates/base.html:237
msgid "Log out"
msgstr ""
-#: templates/base.html:206 templates/base.html:209
+#: templates/base.html:208 templates/base.html:211
msgid "Select language"
msgstr ""
-#: templates/base.html:224 templates/base.html:226
+#: templates/base.html:226 templates/base.html:228
msgid "Log in"
msgstr ""
@@ -9767,23 +9830,40 @@ msgid ""
"installed freshly again."
msgstr ""
-#: views.py:85
+#: views.py:84
msgid "Here"
msgstr ""
-#: views.py:374
+#: views.py:376
msgid "Setting unchanged"
msgstr "Impostazioni invariate"
-#: views.py:609
+#: views.py:610
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""
-#: web_framework.py:114
+#: web_framework.py:122
msgid "Gujarati"
msgstr "Gujarati"
+#, python-brace-format
+#~ msgid ""
+#~ "Optional Value. If your {box_name} is not connected directly to the "
+#~ "Internet (i.e. connected to a NAT router) this URL is used to determine "
+#~ "the real IP address. The URL should simply return the IP where the client "
+#~ "comes from (example: https://ddns.freedombox.org/ip/)."
+#~ msgstr ""
+#~ "Valore Opzionale. Se il tuo {box_name} non è connesso direttamente alla "
+#~ "rete Internet (p.e. connesso ad un router NAT) questo URL viene usato per "
+#~ "determinare l'indirizzo IP reale. L'URL dovrebbe semplicemente restituire "
+#~ "l'IP da cui proviene il client (esempio: https://ddns.freedombox.org/ip/)."
+
+#, fuzzy
+#~| msgid "Manage Aliases"
+#~ msgid "Manage Aliases for Mailbox"
+#~ msgstr "Gestire gli alias"
+
#~ msgid "File & Snippet Sharing"
#~ msgstr "Condivisione di file e frammenti di text"
@@ -10766,9 +10846,6 @@ msgstr "Gujarati"
#~ msgid "You don't have any Custom Services enabled"
#~ msgstr "Non hai nessun Servizi Personalizzati abilitati"
-#~ msgid "Standard Services"
-#~ msgstr "Servizi Standard"
-
#~ msgid "Secret"
#~ msgstr "Segreto"
diff --git a/plinth/locale/ja/LC_MESSAGES/django.po b/plinth/locale/ja/LC_MESSAGES/django.po
index 19a60752f..a7162efa9 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-12-30 20:05-0500\n"
+"POT-Creation-Date: 2025-01-13 20:33-0500\n"
"PO-Revision-Date: 2023-05-07 23:50+0000\n"
"Last-Translator: Nobuhiro Iwamatsu
SSH key-based authentication is not yet "
"possible."
msgstr ""
-#: modules/backups/forms.py:273
+#: modules/backups/forms.py:275
msgid "Remote backup repository already exists."
msgstr ""
-#: modules/backups/forms.py:279
+#: modules/backups/forms.py:281
msgid "Select verified SSH public key"
msgstr ""
#: modules/backups/manifest.py:14
#: modules/backups/templates/backups_repository.html:92
#: modules/backups/templates/backups_restore.html:27
-#: modules/backups/views.py:240 modules/snapshot/manifest.py:14
+#: modules/backups/views.py:238 modules/snapshot/manifest.py:14
#: templates/toolbar.html:44 templates/toolbar.html:45
msgid "Restore"
msgstr ""
@@ -504,16 +506,20 @@ msgstr ""
msgid "Backup system is busy with another operation."
msgstr ""
+#: modules/backups/privileged.py:92
+msgid "Not enough space left on the disk or remote location."
+msgstr ""
+
#: modules/backups/repository.py:94
msgid "Existing repository is not encrypted."
msgstr ""
-#: modules/backups/repository.py:266
+#: modules/backups/repository.py:289
#, python-brace-format
msgid "{box_name} storage"
msgstr ""
-#: modules/backups/templates/backups.html:17 modules/backups/views.py:125
+#: modules/backups/templates/backups.html:17 modules/backups/views.py:124
msgid "Create a new backup"
msgstr ""
@@ -557,10 +563,9 @@ msgstr ""
#: modules/help/templates/statuslog.html:24
#: modules/kiwix/templates/kiwix-add-package.html:26
#: modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:28
-#: modules/matrixsynapse/templates/matrix-synapse.html:76
+#: modules/matrixsynapse/templates/matrix-synapse.html:81
#: modules/names/templates/names.html:128
#: modules/networks/templates/connection_show.html:24
-#: modules/nextcloud/__init__.py:48
#: modules/pagekite/templates/pagekite_custom_services.html:16
#: modules/power/templates/power_busy_warning.html:11
#: modules/snapshot/templates/snapshot_not_supported.html:13
@@ -699,107 +704,107 @@ msgstr ""
msgid "Verify Host"
msgstr ""
-#: modules/backups/views.py:69
+#: modules/backups/views.py:68
msgid "Backup schedule updated."
msgstr ""
-#: modules/backups/views.py:88
+#: modules/backups/views.py:87
msgid "Schedule Backups"
msgstr ""
-#: modules/backups/views.py:150
+#: modules/backups/views.py:148
msgid "Archive created."
msgstr ""
-#: modules/backups/views.py:162
+#: modules/backups/views.py:160
msgid "Delete Archive"
msgstr ""
-#: modules/backups/views.py:175
+#: modules/backups/views.py:173
msgid "Archive deleted."
msgstr ""
-#: modules/backups/views.py:189
+#: modules/backups/views.py:187
msgid "Upload and restore a backup"
msgstr ""
-#: modules/backups/views.py:218
+#: modules/backups/views.py:216
msgid "Upload successful."
msgstr ""
-#: modules/backups/views.py:256
+#: modules/backups/views.py:254
msgid "No backup file found."
msgstr ""
-#: modules/backups/views.py:264
+#: modules/backups/views.py:262
msgid "Restore from uploaded file"
msgstr ""
-#: modules/backups/views.py:278 modules/backups/views.py:299
+#: modules/backups/views.py:276 modules/backups/views.py:297
msgid "Restored files from backup."
msgstr ""
-#: modules/backups/views.py:329
+#: modules/backups/views.py:327
msgid "No additional disks available to add a repository."
msgstr ""
-#: modules/backups/views.py:337
+#: modules/backups/views.py:335
msgid "Create backup repository"
msgstr ""
-#: modules/backups/views.py:352
+#: modules/backups/views.py:350
msgid "Added new repository."
msgstr ""
-#: modules/backups/views.py:366
+#: modules/backups/views.py:364
msgid "Create remote backup repository"
msgstr ""
-#: modules/backups/views.py:388
+#: modules/backups/views.py:386
msgid "Added new remote SSH repository."
msgstr ""
-#: modules/backups/views.py:410
+#: modules/backups/views.py:408
msgid "Verify SSH hostkey"
msgstr ""
-#: modules/backups/views.py:436
+#: modules/backups/views.py:434
msgid "SSH host already verified."
msgstr ""
-#: modules/backups/views.py:447
+#: modules/backups/views.py:445
msgid "SSH host verified."
msgstr ""
-#: modules/backups/views.py:463
+#: modules/backups/views.py:461
msgid "SSH host public key could not be verified."
msgstr ""
-#: modules/backups/views.py:465
+#: modules/backups/views.py:463
msgid "Authentication to remote server failed."
msgstr ""
-#: modules/backups/views.py:467
+#: modules/backups/views.py:465
msgid "Error establishing connection to server: {}"
msgstr ""
-#: modules/backups/views.py:478
+#: modules/backups/views.py:476
msgid "Repository removed."
msgstr ""
-#: modules/backups/views.py:492
+#: modules/backups/views.py:490
msgid "Remove Repository"
msgstr ""
-#: modules/backups/views.py:502
+#: modules/backups/views.py:500
msgid "Repository removed. Backups were not deleted."
msgstr ""
-#: modules/backups/views.py:513
+#: modules/backups/views.py:511
msgid "Unmounting failed!"
msgstr ""
-#: modules/backups/views.py:529 modules/backups/views.py:533
+#: modules/backups/views.py:527 modules/backups/views.py:531
msgid "Mounting failed"
msgstr ""
@@ -908,7 +913,7 @@ msgstr ""
msgid "No passwords currently configured."
msgstr ""
-#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:91
+#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:83
#: modules/miniflux/forms.py:14 modules/networks/forms.py:282
#: modules/shadowsocks/forms.py:32 modules/shadowsocksserver/forms.py:37
msgid "Password"
@@ -1026,8 +1031,10 @@ msgstr ""
msgid "Serving Domains"
msgstr ""
-#: modules/bind/templates/bind.html:17 modules/email/templates/email.html:38
-#: modules/ikiwiki/forms.py:12 modules/names/templates/names.html:18
+#: modules/bind/templates/bind.html:17
+#: modules/email/templates/email-dns.html:25
+#: modules/email/templates/email-dns.html:78 modules/ikiwiki/forms.py:12
+#: modules/names/templates/names.html:18
#: modules/networks/templates/connection_show.html:95
#: modules/samba/templates/samba.html:65
#: modules/storage/templates/storage.html:26
@@ -1057,7 +1064,7 @@ msgstr ""
#: modules/minetest/views.py:55 modules/mumble/views.py:37
#: modules/names/views.py:66 modules/names/views.py:95
#: modules/names/views.py:129 modules/pagekite/forms.py:74
-#: modules/privacy/views.py:50 modules/quassel/views.py:29
+#: modules/privacy/views.py:55 modules/quassel/views.py:29
#: modules/roundcube/views.py:32 modules/rssbridge/views.py:31
#: modules/shadowsocks/views.py:52 modules/shadowsocksserver/views.py:48
#: modules/ssh/views.py:62 modules/transmission/views.py:43
@@ -1642,7 +1649,7 @@ msgid "Test"
msgstr ""
#: modules/diagnostics/templates/diagnostics_results.html:12
-#: modules/dynamicdns/templates/dynamicdns.html:20
+#: modules/dynamicdns/templates/dynamicdns.html:25
msgid "Result"
msgstr ""
@@ -1655,7 +1662,7 @@ msgstr ""
msgid "App {app_id} is not installed, cannot repair"
msgstr ""
-#: modules/dynamicdns/__init__.py:28
+#: modules/dynamicdns/__init__.py:29
#, python-brace-format
msgid ""
"If your Internet provider changes your IP address periodically (i.e. every "
@@ -1663,7 +1670,7 @@ msgid ""
"prevent others from finding services which are provided by this {box_name}."
msgstr ""
-#: modules/dynamicdns/__init__.py:32
+#: modules/dynamicdns/__init__.py:33
msgid ""
"The solution is to assign a DNS name to your IP address and update the DNS "
"name every time your IP is changed by your Internet provider. Dynamic DNS "
@@ -1674,7 +1681,7 @@ msgid ""
"IP address."
msgstr ""
-#: modules/dynamicdns/__init__.py:40
+#: modules/dynamicdns/__init__.py:41
msgid ""
"If you are looking for a free dynamic DNS account, you may find a free "
"GnuDIP service at ddns."
@@ -1682,11 +1689,17 @@ msgid ""
"href='http://freedns.afraid.org/' target='_blank'>freedns.afraid.org."
msgstr ""
-#: modules/dynamicdns/__init__.py:61
+#: modules/dynamicdns/__init__.py:46
+msgid ""
+"This service uses an external service to lookup public IP address. This can "
+"be configured in the privacy app."
+msgstr ""
+
+#: modules/dynamicdns/__init__.py:64
msgid "Dynamic DNS Client"
msgstr ""
-#: modules/dynamicdns/__init__.py:75
+#: modules/dynamicdns/__init__.py:78
msgid "Dynamic Domain Name"
msgstr ""
@@ -1730,84 +1743,71 @@ msgid "Leave this field empty if you want to keep your current password."
msgstr ""
#: modules/dynamicdns/forms.py:43
-#, python-brace-format
-msgid ""
-"Optional Value. If your {box_name} is not connected directly to the Internet "
-"(i.e. connected to a NAT router) this URL is used to determine the real IP "
-"address. The URL should simply return the IP where the client comes from "
-"(example: https://ddns.freedombox.org/ip/)."
-msgstr ""
-
-#: modules/dynamicdns/forms.py:51
msgid "The username that was used when the account was created."
msgstr ""
-#: modules/dynamicdns/forms.py:54
+#: modules/dynamicdns/forms.py:46
msgid "GnuDIP"
msgstr ""
-#: modules/dynamicdns/forms.py:57
+#: modules/dynamicdns/forms.py:49
msgid "Other update URL"
msgstr ""
-#: modules/dynamicdns/forms.py:59
+#: modules/dynamicdns/forms.py:51
msgid "Service Type"
msgstr ""
-#: modules/dynamicdns/forms.py:64
+#: modules/dynamicdns/forms.py:56
msgid "GnuDIP Server Address"
msgstr ""
-#: modules/dynamicdns/forms.py:67
+#: modules/dynamicdns/forms.py:59
msgid "Invalid server name"
msgstr ""
-#: modules/dynamicdns/forms.py:70
+#: modules/dynamicdns/forms.py:62
msgid "Update URL"
msgstr ""
-#: modules/dynamicdns/forms.py:74
+#: modules/dynamicdns/forms.py:66
msgid "Accept all SSL certificates"
msgstr ""
-#: modules/dynamicdns/forms.py:78
+#: modules/dynamicdns/forms.py:70
msgid "Use HTTP basic authentication"
msgstr ""
-#: modules/dynamicdns/forms.py:82 modules/names/__init__.py:68
+#: modules/dynamicdns/forms.py:74 modules/names/__init__.py:68
#: modules/names/forms.py:106 modules/names/templates/names.html:19
msgid "Domain Name"
msgstr ""
-#: modules/dynamicdns/forms.py:85 modules/names/forms.py:99
+#: modules/dynamicdns/forms.py:77 modules/names/forms.py:99
#: modules/names/forms.py:117
msgid "Invalid domain name"
msgstr ""
-#: modules/dynamicdns/forms.py:88 modules/miniflux/forms.py:11
+#: modules/dynamicdns/forms.py:80 modules/miniflux/forms.py:11
#: modules/networks/forms.py:281 modules/users/forms.py:130
msgid "Username"
msgstr ""
-#: modules/dynamicdns/forms.py:95 modules/networks/forms.py:284
+#: modules/dynamicdns/forms.py:87 modules/networks/forms.py:284
msgid "Show password"
msgstr ""
-#: modules/dynamicdns/forms.py:99
-msgid "URL to look up public IP"
-msgstr ""
-
-#: modules/dynamicdns/forms.py:104
+#: modules/dynamicdns/forms.py:91
msgid "Use IPv6 instead of IPv4"
msgstr ""
-#: modules/dynamicdns/forms.py:123
+#: modules/dynamicdns/forms.py:110
msgid "This field is required."
msgstr ""
#: modules/dynamicdns/manifest.py:17
-#: modules/dynamicdns/templates/dynamicdns.html:18
-#: modules/email/templates/email.html:35
+#: modules/dynamicdns/templates/dynamicdns.html:23
+#: modules/email/templates/email-dns.html:22
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64
msgid "Domain"
@@ -1821,37 +1821,37 @@ msgstr ""
msgid "Needs public IP"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:11
-#: modules/ejabberd/templates/ejabberd.html:13 modules/firewall/manifest.py:10
+#: modules/dynamicdns/templates/dynamicdns.html:16
+#: modules/ejabberd/templates/ejabberd.html:18 modules/firewall/manifest.py:10
#: modules/firewall/templates/firewall.html:16
#: modules/firewall/templates/firewall.html:22
#: modules/letsencrypt/templates/letsencrypt.html:17
-#: modules/matrixsynapse/templates/matrix-synapse.html:12
+#: modules/matrixsynapse/templates/matrix-synapse.html:17
#: modules/networks/templates/connection_show.html:258
-#: modules/samba/templates/samba.html:67 modules/tor/templates/tor.html:19
+#: modules/samba/templates/samba.html:67 modules/tor/templates/tor.html:24
#: modules/upgrades/templates/upgrades_configure.html:14
#: modules/wireguard/templates/wireguard_show_client.html:48
#: modules/wireguard/templates/wireguard_show_server.html:47
msgid "Status"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:19
+#: modules/dynamicdns/templates/dynamicdns.html:24
msgid "Last update"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:21
+#: modules/dynamicdns/templates/dynamicdns.html:26
msgid "IP Address"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:32
+#: modules/dynamicdns/templates/dynamicdns.html:37
msgid "Success"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:36
+#: modules/dynamicdns/templates/dynamicdns.html:41
msgid "Failed"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:52
+#: modules/dynamicdns/templates/dynamicdns.html:57
msgid "No status available."
msgstr ""
@@ -1999,7 +1999,7 @@ msgstr ""
msgid "XMPP"
msgstr ""
-#: modules/ejabberd/templates/ejabberd.html:18
+#: modules/ejabberd/templates/ejabberd.html:23
#, python-format
msgid ""
"Your XMPP server domain is set to %(domain_name)s. User IDs will look "
@@ -2007,7 +2007,7 @@ msgid ""
"system Name Services page."
msgstr ""
-#: modules/ejabberd/templates/ejabberd.html:25
+#: modules/ejabberd/templates/ejabberd.html:30
#, python-format
msgid ""
"Your XMPP server domain is not set. You can setup your domain on the system "
@@ -2055,12 +2055,16 @@ msgstr ""
msgid "Postfix/Dovecot"
msgstr ""
-#: modules/email/__init__.py:83
-msgid "My Email Aliases"
+#: modules/email/__init__.py:80
+msgid "More emails"
msgstr ""
-#: modules/email/__init__.py:84
-msgid "Manage Aliases for Mailbox"
+#: modules/email/__init__.py:80
+msgid "Same mailbox"
+msgstr ""
+
+#: modules/email/__init__.py:82
+msgid "My Email Aliases"
msgstr ""
#: modules/email/forms.py:25
@@ -2139,45 +2143,90 @@ msgstr ""
msgid "Add"
msgstr ""
-#: modules/email/templates/email.html:10
-msgid "Manage Spam"
+#: modules/email/templates/email-dns.html:9
+msgid "DNS Records for domain:"
msgstr ""
-#: modules/email/templates/email.html:22
-msgid "DNS Records"
-msgstr ""
-
-#: modules/email/templates/email.html:25
+#: modules/email/templates/email-dns.html:12
msgid ""
-"The following DNS records must be added manually on your primary domain for "
-"the mail server to work properly."
+"The following DNS records must be added manually on this domain for the mail "
+"server to work properly for this domain."
msgstr ""
-#: modules/email/templates/email.html:36
+#: modules/email/templates/email-dns.html:23
+#: modules/email/templates/email-dns.html:77
msgid "TTL"
msgstr ""
-#: modules/email/templates/email.html:37
+#: modules/email/templates/email-dns.html:24
msgid "Class"
msgstr ""
-#: modules/email/templates/email.html:39
+#: modules/email/templates/email-dns.html:26
msgid "Priority"
msgstr ""
-#: modules/email/templates/email.html:40
+#: modules/email/templates/email-dns.html:27
msgid "Weight"
msgstr ""
-#: modules/email/templates/email.html:41
+#: modules/email/templates/email-dns.html:28
#: modules/minetest/templates/minetest.html:18
msgid "Port"
msgstr ""
-#: modules/email/templates/email.html:42
+#: modules/email/templates/email-dns.html:29
+#: modules/email/templates/email-dns.html:79
msgid "Host/Target/Value"
msgstr ""
+#: modules/email/templates/email-dns.html:50
+msgid "Reverse DNS Records for IP Addresses"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:53
+#, python-format
+msgid ""
+"If your %(box_name)s runs on a cloud service infrastructure, you should "
+"configure "
+"Reverse DNS lookup. This isn't mandatory, however, it greatly improves "
+"email deliverability. Reverse DNS isn't configured where your regular DNS "
+"is. You should look for it in the settings of your VPS/ISP. Some providers "
+"preconfigure the IP address part for you and you only have to set the domain "
+"part. Only one of your domains can have Revese DNS lookup configured unless "
+"you have multiple public IP addresses."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:66
+msgid ""
+"An external service is used to lookup public IP address to show in the "
+"following section. This can be configured in the privacy app."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:76
+msgid "Host"
+msgstr ""
+
+#: modules/email/templates/email.html:10
+msgid "Manage Spam"
+msgstr ""
+
+#: modules/email/templates/email.html:20 modules/names/manifest.py:11
+#: modules/names/templates/names.html:12
+msgid "Domains"
+msgstr ""
+
+#: modules/email/templates/email.html:23
+msgid ""
+"The following domains are configured. View details to see the list of DNS "
+"entries to be made for the domain."
+msgstr ""
+
+#: modules/email/templates/email.html:35
+#, python-format
+msgid "View domain: %(domain)s"
+msgstr ""
+
#: modules/featherwiki/__init__.py:25
#, python-brace-format
msgid ""
@@ -2420,7 +2469,7 @@ msgstr ""
msgid "Port {name} ({details}) unavailable for external networks"
msgstr ""
-#: modules/firewall/manifest.py:10 modules/tor/templates/tor.html:20
+#: modules/firewall/manifest.py:10 modules/tor/templates/tor.html:25
msgid "Ports"
msgstr ""
@@ -2747,9 +2796,9 @@ msgstr ""
msgid "Contribute"
msgstr ""
-#: modules/help/__init__.py:53 templates/base.html:215 templates/base.html:218
+#: modules/help/__init__.py:53 templates/base.html:217 templates/base.html:220
#: templates/help-menu.html:46 templates/help-menu.html:47
-#: templates/index.html:98
+#: templates/index.html:96
msgid "About"
msgstr ""
@@ -2882,7 +2931,7 @@ msgstr ""
#: modules/help/templates/help_contribute.html:42
#: modules/power/templates/power_restart.html:27
-#: modules/power/templates/power_shutdown.html:26 templates/app-header.html:68
+#: modules/power/templates/power_shutdown.html:26 templates/app-header.html:65
msgid "Learn more..."
msgstr ""
@@ -3204,7 +3253,7 @@ msgid "Web conference"
msgstr ""
#: modules/janus/templates/janus_video_room.html:205
-#: modules/jsxc/templates/jsxc_launch.html:117 templates/base.html:271
+#: modules/jsxc/templates/jsxc_launch.html:117 templates/base.html:273
msgid "JavaScript license information"
msgstr ""
@@ -3568,7 +3617,7 @@ msgid ""
"least one domain to be able to use Matrix Synapse."
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:15
+#: modules/matrixsynapse/templates/matrix-synapse.html:20
#, python-format
msgid ""
"The Matrix server domain is set to %(domain_name)s. User IDs will "
@@ -3576,43 +3625,43 @@ msgid ""
"the initial setup is currently not supported."
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:22
+#: modules/matrixsynapse/templates/matrix-synapse.html:27
msgid ""
"New users can be registered from any client if public registration is "
"enabled."
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:29
+#: modules/matrixsynapse/templates/matrix-synapse.html:34
msgid ""
"New users must use one of the following tokens for verification during "
"account registration:"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:38
+#: modules/matrixsynapse/templates/matrix-synapse.html:43
msgid "Registration Token"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:39
+#: modules/matrixsynapse/templates/matrix-synapse.html:44
msgid "Uses Allowed"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:40
+#: modules/matrixsynapse/templates/matrix-synapse.html:45
msgid "Pending Registrations"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:41
+#: modules/matrixsynapse/templates/matrix-synapse.html:46
msgid "Completed Registrations"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:42
+#: modules/matrixsynapse/templates/matrix-synapse.html:47
msgid "Expiry Time"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:51
+#: modules/matrixsynapse/templates/matrix-synapse.html:56
msgid "Unlimited"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:80
+#: modules/matrixsynapse/templates/matrix-synapse.html:85
#, python-format
msgid ""
"The configured domain name is using a self-signed certificate. Federation "
@@ -4021,23 +4070,27 @@ msgstr ""
msgid "An error occurred during password reset: {error}."
msgstr ""
-#: modules/mumble/__init__.py:25
+#: modules/mumble/__init__.py:27
msgid ""
"Mumble is an open source, low-latency, encrypted, high quality voice chat "
"software."
msgstr ""
-#: modules/mumble/__init__.py:27
+#: modules/mumble/__init__.py:29
msgid ""
"You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your "
"desktop and mobile devices are available."
msgstr ""
-#: modules/mumble/__init__.py:45 modules/mumble/manifest.py:9
+#: modules/mumble/__init__.py:47 modules/mumble/manifest.py:9
msgid "Mumble"
msgstr ""
+#: modules/mumble/__init__.py:158
+msgid "Mumble server is configured"
+msgstr ""
+
#: modules/mumble/forms.py:30
msgid "Set SuperUser Password"
msgstr ""
@@ -4162,10 +4215,6 @@ msgid ""
"or less."
msgstr ""
-#: modules/names/manifest.py:11 modules/names/templates/names.html:12
-msgid "Domains"
-msgstr ""
-
#: modules/names/manifest.py:13
msgid "DNS Resolution"
msgstr ""
@@ -4662,7 +4711,7 @@ msgstr ""
#: modules/networks/templates/connection_show.html:40
#: modules/wireguard/templates/wireguard_show_client.html:72
#: modules/wireguard/templates/wireguard_show_server.html:73
-#: templates/base.html:165 templates/base.html:166
+#: templates/base.html:167 templates/base.html:168
msgid "Edit"
msgstr ""
@@ -4715,7 +4764,7 @@ msgstr ""
#: modules/networks/templates/connection_show.html:107
#: modules/snapshot/templates/snapshot_delete_selected.html:19
-#: modules/snapshot/templates/snapshot_manage.html:29
+#: modules/snapshot/templates/snapshot_manage.html:34
#: modules/snapshot/templates/snapshot_rollback.html:27
msgid "Description"
msgstr ""
@@ -4793,8 +4842,8 @@ msgstr ""
#: modules/networks/templates/connection_show.html:264
#: modules/networks/templates/connections_fields_privacy.html:15
-#: modules/openvpn/manifest.py:60 modules/privacy/__init__.py:32
-#: modules/privacy/__init__.py:72 modules/wireguard/manifest.py:45
+#: modules/openvpn/manifest.py:60 modules/privacy/__init__.py:38
+#: modules/privacy/__init__.py:77 modules/wireguard/manifest.py:45
msgid "Privacy"
msgstr ""
@@ -4878,7 +4927,7 @@ msgstr ""
msgid "Computer"
msgstr ""
-#: modules/networks/templates/connections_edit.html:19
+#: modules/networks/templates/connections_edit.html:24
#: modules/networks/views.py:253 modules/networks/views.py:341
msgid "Edit Connection"
msgstr ""
@@ -4889,7 +4938,7 @@ msgid "Error:"
msgstr ""
#: modules/networks/templates/connections_fields.html:20
-#: modules/users/templates/users_update.html:46 templates/messages.html:30
+#: modules/users/templates/users_update.html:51 templates/messages.html:30
msgid "Close"
msgstr ""
@@ -4981,7 +5030,7 @@ msgstr ""
#: modules/networks/templates/network_topology_update.html:18
#: modules/networks/templates/router_configuration_update.html:19
#: modules/pagekite/templates/pagekite_custom_services.html:33
-#: modules/sharing/templates/sharing_add_edit.html:20 templates/form.html:19
+#: modules/sharing/templates/sharing_add_edit.html:25 templates/form.html:19
msgid "Submit"
msgstr ""
@@ -5375,11 +5424,7 @@ msgid ""
"performed following an independent cycle."
msgstr ""
-#: modules/nextcloud/__init__.py:48
-msgid "This app is experimental."
-msgstr ""
-
-#: modules/nextcloud/__init__.py:66 modules/nextcloud/manifest.py:11
+#: modules/nextcloud/__init__.py:65 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
msgid "Nextcloud"
msgstr ""
@@ -5545,7 +5590,7 @@ msgstr ""
msgid "PageKite"
msgstr ""
-#: modules/pagekite/__init__.py:73
+#: modules/pagekite/__init__.py:72
msgid "PageKite Domain"
msgstr ""
@@ -5724,8 +5769,8 @@ msgstr ""
msgid "Shutdown"
msgstr ""
-#: modules/power/templates/power.html:15 templates/base.html:180
-#: templates/base.html:181
+#: modules/power/templates/power.html:15 templates/base.html:182
+#: templates/base.html:183
msgid "Restart"
msgstr ""
@@ -5761,23 +5806,33 @@ msgstr ""
msgid "Shut Down Now"
msgstr ""
-#: modules/privacy/__init__.py:15
+#: modules/privacy/__init__.py:21
msgid "Manage system-wide privacy settings."
msgstr ""
-#: modules/privacy/__init__.py:70
+#: modules/privacy/__init__.py:75
msgid "Please update privacy settings to match your preferences."
msgstr ""
-#: modules/privacy/__init__.py:75
+#: modules/privacy/__init__.py:80
msgid "Review privacy setting"
msgstr ""
-#: modules/privacy/forms.py:16
+#: modules/privacy/forms.py:17
+#, python-brace-format
+msgid ""
+"Optional Value. This URL is used to determine the publicly visible IP "
+"address of your {box_name}. The URL should simply return the IPv4 or IPv6 "
+"address where the client request comes from. Default is to use the service "
+"provided by the FreedomBox Foundation at https://ddns.freedombox.org/ip/. If "
+"empty, lookups are disabled and some functionality will fail."
+msgstr ""
+
+#: modules/privacy/forms.py:25
msgid "Periodically submit a list of apps used (suggested)"
msgstr ""
-#: modules/privacy/forms.py:18
+#: modules/privacy/forms.py:27
#, python-brace-format
msgid ""
"Help Debian/{box_name} developers by participating in the Popularity Contest "
@@ -5788,11 +5843,11 @@ msgid ""
"network for additional anonymity if Tor app is enabled."
msgstr ""
-#: modules/privacy/forms.py:28
+#: modules/privacy/forms.py:37
msgid "Allow using fallback DNS servers"
msgstr ""
-#: modules/privacy/forms.py:30
+#: modules/privacy/forms.py:39
msgid ""
"Use well-known public DNS servers to resolve domain names in unusual "
"circumstances where no DNS servers are known but internet connectivity is "
@@ -5800,10 +5855,18 @@ msgid ""
"and reliable."
msgstr ""
+#: modules/privacy/forms.py:45
+msgid "URL to look up public IP address"
+msgstr ""
+
#: modules/privacy/manifest.py:10
msgid "Usage reporting"
msgstr ""
+#: modules/privacy/manifest.py:10
+msgid "External services"
+msgstr ""
+
#: modules/privacy/manifest.py:10
msgid "Fallback DNS"
msgstr ""
@@ -6711,40 +6774,40 @@ msgid "Delete the following snapshots permanently?"
msgstr ""
#: modules/snapshot/templates/snapshot_delete_selected.html:17
-#: modules/snapshot/templates/snapshot_manage.html:27
+#: modules/snapshot/templates/snapshot_manage.html:32
#: modules/snapshot/templates/snapshot_rollback.html:25
msgid "Number"
msgstr ""
#: modules/snapshot/templates/snapshot_delete_selected.html:18
-#: modules/snapshot/templates/snapshot_manage.html:28
+#: modules/snapshot/templates/snapshot_manage.html:33
#: modules/snapshot/templates/snapshot_rollback.html:26
msgid "Date"
msgstr ""
#: modules/snapshot/templates/snapshot_delete_selected.html:42
-#: modules/snapshot/templates/snapshot_manage.html:20
+#: modules/snapshot/templates/snapshot_manage.html:25
#: modules/snapshot/views.py:197
msgid "Delete Snapshots"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:17
+#: modules/snapshot/templates/snapshot_manage.html:22
msgid "Create Snapshot"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:30
+#: modules/snapshot/templates/snapshot_manage.html:35
msgid "Rollback"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:40
+#: modules/snapshot/templates/snapshot_manage.html:45
msgid "will be used at next boot"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:45
+#: modules/snapshot/templates/snapshot_manage.html:50
msgid "in use"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:54
+#: modules/snapshot/templates/snapshot_manage.html:59
#, python-format
msgid "Rollback to snapshot #%(number)s"
msgstr ""
@@ -7275,27 +7338,27 @@ msgstr ""
msgid "Tor"
msgstr ""
-#: modules/tor/__init__.py:78
+#: modules/tor/__init__.py:77
msgid "Tor Onion Service"
msgstr ""
-#: modules/tor/__init__.py:82
+#: modules/tor/__init__.py:81
msgid "Tor Bridge Relay"
msgstr ""
-#: modules/tor/__init__.py:140
+#: modules/tor/__init__.py:139
msgid "Tor relay port available"
msgstr ""
-#: modules/tor/__init__.py:152
+#: modules/tor/__init__.py:151
msgid "Obfs3 transport registered"
msgstr ""
-#: modules/tor/__init__.py:163
+#: modules/tor/__init__.py:162
msgid "Obfs4 transport registered"
msgstr ""
-#: modules/tor/__init__.py:176
+#: modules/tor/__init__.py:175
msgid "Onion service is version 3"
msgstr ""
@@ -7385,7 +7448,7 @@ msgstr ""
msgid "Anonymity network"
msgstr ""
-#: modules/tor/templates/tor.html:18
+#: modules/tor/templates/tor.html:23
msgid "Onion Service"
msgstr ""
@@ -7946,39 +8009,39 @@ msgstr ""
msgid "Edit user %(username)s"
msgstr ""
-#: modules/users/templates/users_update.html:12
+#: modules/users/templates/users_update.html:17
#, python-format
msgid "Edit User %(username)s"
msgstr ""
-#: modules/users/templates/users_update.html:20
+#: modules/users/templates/users_update.html:25
#, python-format
msgid ""
"Use the change password form to "
"change the password."
msgstr ""
-#: modules/users/templates/users_update.html:32
+#: modules/users/templates/users_update.html:37
#: templates/language-selection.html:17
msgid "Save Changes"
msgstr ""
-#: modules/users/templates/users_update.html:41
+#: modules/users/templates/users_update.html:46
#, python-format
msgid "Delete user %(username)s and all the user's files?"
msgstr ""
-#: modules/users/templates/users_update.html:51
+#: modules/users/templates/users_update.html:56
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
msgstr ""
-#: modules/users/templates/users_update.html:60
+#: modules/users/templates/users_update.html:65
msgid "Delete user and files"
msgstr ""
-#: modules/users/templates/users_update.html:63
+#: modules/users/templates/users_update.html:68
msgid "Cancel"
msgstr ""
@@ -8601,11 +8664,11 @@ msgstr ""
msgid "Service %(service_name)s is not running."
msgstr ""
-#: templates/apps.html:29
+#: templates/apps.html:33
msgid "Search with tags"
msgstr ""
-#: templates/apps.html:42
+#: templates/apps.html:46
msgid "Clear all tags"
msgstr ""
@@ -8615,35 +8678,35 @@ msgid ""
"is free software that lets you install and manage server apps with ease."
msgstr ""
-#: templates/base.html:116
+#: templates/base.html:118
msgid " Home"
msgstr ""
-#: templates/base.html:124
+#: templates/base.html:126
msgid " Apps"
msgstr ""
-#: templates/base.html:133
+#: templates/base.html:135
msgid " System"
msgstr ""
-#: templates/base.html:172 templates/base.html:173
+#: templates/base.html:174 templates/base.html:175
msgid "Change password"
msgstr ""
-#: templates/base.html:186 templates/base.html:187
+#: templates/base.html:188 templates/base.html:189
msgid "Shut down"
msgstr ""
-#: templates/base.html:197 templates/base.html:235
+#: templates/base.html:199 templates/base.html:237
msgid "Log out"
msgstr ""
-#: templates/base.html:206 templates/base.html:209
+#: templates/base.html:208 templates/base.html:211
msgid "Select language"
msgstr ""
-#: templates/base.html:224 templates/base.html:226
+#: templates/base.html:226 templates/base.html:228
msgid "Log in"
msgstr ""
@@ -8843,20 +8906,20 @@ msgid ""
"installed freshly again."
msgstr ""
-#: views.py:85
+#: views.py:84
msgid "Here"
msgstr ""
-#: views.py:374
+#: views.py:376
msgid "Setting unchanged"
msgstr ""
-#: views.py:609
+#: views.py:610
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""
-#: web_framework.py:114
+#: web_framework.py:122
msgid "Gujarati"
msgstr ""
diff --git a/plinth/locale/kn/LC_MESSAGES/django.po b/plinth/locale/kn/LC_MESSAGES/django.po
index 5c2de293b..1fcb6b51c 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-12-30 20:05-0500\n"
+"POT-Creation-Date: 2025-01-13 20:33-0500\n"
"PO-Revision-Date: 2020-07-16 16:41+0000\n"
"Last-Translator: Yogesh
SSH key-based authentication is not yet "
"possible."
msgstr ""
-#: modules/backups/forms.py:273
+#: modules/backups/forms.py:275
msgid "Remote backup repository already exists."
msgstr ""
-#: modules/backups/forms.py:279
+#: modules/backups/forms.py:281
msgid "Select verified SSH public key"
msgstr ""
#: modules/backups/manifest.py:14
#: modules/backups/templates/backups_repository.html:92
#: modules/backups/templates/backups_restore.html:27
-#: modules/backups/views.py:240 modules/snapshot/manifest.py:14
+#: modules/backups/views.py:238 modules/snapshot/manifest.py:14
#: templates/toolbar.html:44 templates/toolbar.html:45
msgid "Restore"
msgstr ""
@@ -504,16 +506,20 @@ msgstr ""
msgid "Backup system is busy with another operation."
msgstr ""
+#: modules/backups/privileged.py:92
+msgid "Not enough space left on the disk or remote location."
+msgstr ""
+
#: modules/backups/repository.py:94
msgid "Existing repository is not encrypted."
msgstr ""
-#: modules/backups/repository.py:266
+#: modules/backups/repository.py:289
#, python-brace-format
msgid "{box_name} storage"
msgstr ""
-#: modules/backups/templates/backups.html:17 modules/backups/views.py:125
+#: modules/backups/templates/backups.html:17 modules/backups/views.py:124
msgid "Create a new backup"
msgstr ""
@@ -557,10 +563,9 @@ msgstr ""
#: modules/help/templates/statuslog.html:24
#: modules/kiwix/templates/kiwix-add-package.html:26
#: modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:28
-#: modules/matrixsynapse/templates/matrix-synapse.html:76
+#: modules/matrixsynapse/templates/matrix-synapse.html:81
#: modules/names/templates/names.html:128
#: modules/networks/templates/connection_show.html:24
-#: modules/nextcloud/__init__.py:48
#: modules/pagekite/templates/pagekite_custom_services.html:16
#: modules/power/templates/power_busy_warning.html:11
#: modules/snapshot/templates/snapshot_not_supported.html:13
@@ -699,107 +704,107 @@ msgstr ""
msgid "Verify Host"
msgstr ""
-#: modules/backups/views.py:69
+#: modules/backups/views.py:68
msgid "Backup schedule updated."
msgstr ""
-#: modules/backups/views.py:88
+#: modules/backups/views.py:87
msgid "Schedule Backups"
msgstr ""
-#: modules/backups/views.py:150
+#: modules/backups/views.py:148
msgid "Archive created."
msgstr ""
-#: modules/backups/views.py:162
+#: modules/backups/views.py:160
msgid "Delete Archive"
msgstr ""
-#: modules/backups/views.py:175
+#: modules/backups/views.py:173
msgid "Archive deleted."
msgstr ""
-#: modules/backups/views.py:189
+#: modules/backups/views.py:187
msgid "Upload and restore a backup"
msgstr ""
-#: modules/backups/views.py:218
+#: modules/backups/views.py:216
msgid "Upload successful."
msgstr ""
-#: modules/backups/views.py:256
+#: modules/backups/views.py:254
msgid "No backup file found."
msgstr ""
-#: modules/backups/views.py:264
+#: modules/backups/views.py:262
msgid "Restore from uploaded file"
msgstr ""
-#: modules/backups/views.py:278 modules/backups/views.py:299
+#: modules/backups/views.py:276 modules/backups/views.py:297
msgid "Restored files from backup."
msgstr ""
-#: modules/backups/views.py:329
+#: modules/backups/views.py:327
msgid "No additional disks available to add a repository."
msgstr ""
-#: modules/backups/views.py:337
+#: modules/backups/views.py:335
msgid "Create backup repository"
msgstr ""
-#: modules/backups/views.py:352
+#: modules/backups/views.py:350
msgid "Added new repository."
msgstr ""
-#: modules/backups/views.py:366
+#: modules/backups/views.py:364
msgid "Create remote backup repository"
msgstr ""
-#: modules/backups/views.py:388
+#: modules/backups/views.py:386
msgid "Added new remote SSH repository."
msgstr ""
-#: modules/backups/views.py:410
+#: modules/backups/views.py:408
msgid "Verify SSH hostkey"
msgstr ""
-#: modules/backups/views.py:436
+#: modules/backups/views.py:434
msgid "SSH host already verified."
msgstr ""
-#: modules/backups/views.py:447
+#: modules/backups/views.py:445
msgid "SSH host verified."
msgstr ""
-#: modules/backups/views.py:463
+#: modules/backups/views.py:461
msgid "SSH host public key could not be verified."
msgstr ""
-#: modules/backups/views.py:465
+#: modules/backups/views.py:463
msgid "Authentication to remote server failed."
msgstr ""
-#: modules/backups/views.py:467
+#: modules/backups/views.py:465
msgid "Error establishing connection to server: {}"
msgstr ""
-#: modules/backups/views.py:478
+#: modules/backups/views.py:476
msgid "Repository removed."
msgstr ""
-#: modules/backups/views.py:492
+#: modules/backups/views.py:490
msgid "Remove Repository"
msgstr ""
-#: modules/backups/views.py:502
+#: modules/backups/views.py:500
msgid "Repository removed. Backups were not deleted."
msgstr ""
-#: modules/backups/views.py:513
+#: modules/backups/views.py:511
msgid "Unmounting failed!"
msgstr ""
-#: modules/backups/views.py:529 modules/backups/views.py:533
+#: modules/backups/views.py:527 modules/backups/views.py:531
msgid "Mounting failed"
msgstr ""
@@ -908,7 +913,7 @@ msgstr ""
msgid "No passwords currently configured."
msgstr ""
-#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:91
+#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:83
#: modules/miniflux/forms.py:14 modules/networks/forms.py:282
#: modules/shadowsocks/forms.py:32 modules/shadowsocksserver/forms.py:37
msgid "Password"
@@ -1026,8 +1031,10 @@ msgstr ""
msgid "Serving Domains"
msgstr ""
-#: modules/bind/templates/bind.html:17 modules/email/templates/email.html:38
-#: modules/ikiwiki/forms.py:12 modules/names/templates/names.html:18
+#: modules/bind/templates/bind.html:17
+#: modules/email/templates/email-dns.html:25
+#: modules/email/templates/email-dns.html:78 modules/ikiwiki/forms.py:12
+#: modules/names/templates/names.html:18
#: modules/networks/templates/connection_show.html:95
#: modules/samba/templates/samba.html:65
#: modules/storage/templates/storage.html:26
@@ -1057,7 +1064,7 @@ msgstr ""
#: modules/minetest/views.py:55 modules/mumble/views.py:37
#: modules/names/views.py:66 modules/names/views.py:95
#: modules/names/views.py:129 modules/pagekite/forms.py:74
-#: modules/privacy/views.py:50 modules/quassel/views.py:29
+#: modules/privacy/views.py:55 modules/quassel/views.py:29
#: modules/roundcube/views.py:32 modules/rssbridge/views.py:31
#: modules/shadowsocks/views.py:52 modules/shadowsocksserver/views.py:48
#: modules/ssh/views.py:62 modules/transmission/views.py:43
@@ -1640,7 +1647,7 @@ msgid "Test"
msgstr ""
#: modules/diagnostics/templates/diagnostics_results.html:12
-#: modules/dynamicdns/templates/dynamicdns.html:20
+#: modules/dynamicdns/templates/dynamicdns.html:25
msgid "Result"
msgstr ""
@@ -1653,7 +1660,7 @@ msgstr ""
msgid "App {app_id} is not installed, cannot repair"
msgstr ""
-#: modules/dynamicdns/__init__.py:28
+#: modules/dynamicdns/__init__.py:29
#, python-brace-format
msgid ""
"If your Internet provider changes your IP address periodically (i.e. every "
@@ -1661,7 +1668,7 @@ msgid ""
"prevent others from finding services which are provided by this {box_name}."
msgstr ""
-#: modules/dynamicdns/__init__.py:32
+#: modules/dynamicdns/__init__.py:33
msgid ""
"The solution is to assign a DNS name to your IP address and update the DNS "
"name every time your IP is changed by your Internet provider. Dynamic DNS "
@@ -1672,7 +1679,7 @@ msgid ""
"IP address."
msgstr ""
-#: modules/dynamicdns/__init__.py:40
+#: modules/dynamicdns/__init__.py:41
msgid ""
"If you are looking for a free dynamic DNS account, you may find a free "
"GnuDIP service at ddns."
@@ -1680,11 +1687,17 @@ msgid ""
"href='http://freedns.afraid.org/' target='_blank'>freedns.afraid.org."
msgstr ""
-#: modules/dynamicdns/__init__.py:61
+#: modules/dynamicdns/__init__.py:46
+msgid ""
+"This service uses an external service to lookup public IP address. This can "
+"be configured in the privacy app."
+msgstr ""
+
+#: modules/dynamicdns/__init__.py:64
msgid "Dynamic DNS Client"
msgstr ""
-#: modules/dynamicdns/__init__.py:75
+#: modules/dynamicdns/__init__.py:78
msgid "Dynamic Domain Name"
msgstr ""
@@ -1728,84 +1741,71 @@ msgid "Leave this field empty if you want to keep your current password."
msgstr ""
#: modules/dynamicdns/forms.py:43
-#, python-brace-format
-msgid ""
-"Optional Value. If your {box_name} is not connected directly to the Internet "
-"(i.e. connected to a NAT router) this URL is used to determine the real IP "
-"address. The URL should simply return the IP where the client comes from "
-"(example: https://ddns.freedombox.org/ip/)."
-msgstr ""
-
-#: modules/dynamicdns/forms.py:51
msgid "The username that was used when the account was created."
msgstr ""
-#: modules/dynamicdns/forms.py:54
+#: modules/dynamicdns/forms.py:46
msgid "GnuDIP"
msgstr ""
-#: modules/dynamicdns/forms.py:57
+#: modules/dynamicdns/forms.py:49
msgid "Other update URL"
msgstr ""
-#: modules/dynamicdns/forms.py:59
+#: modules/dynamicdns/forms.py:51
msgid "Service Type"
msgstr ""
-#: modules/dynamicdns/forms.py:64
+#: modules/dynamicdns/forms.py:56
msgid "GnuDIP Server Address"
msgstr ""
-#: modules/dynamicdns/forms.py:67
+#: modules/dynamicdns/forms.py:59
msgid "Invalid server name"
msgstr ""
-#: modules/dynamicdns/forms.py:70
+#: modules/dynamicdns/forms.py:62
msgid "Update URL"
msgstr ""
-#: modules/dynamicdns/forms.py:74
+#: modules/dynamicdns/forms.py:66
msgid "Accept all SSL certificates"
msgstr ""
-#: modules/dynamicdns/forms.py:78
+#: modules/dynamicdns/forms.py:70
msgid "Use HTTP basic authentication"
msgstr ""
-#: modules/dynamicdns/forms.py:82 modules/names/__init__.py:68
+#: modules/dynamicdns/forms.py:74 modules/names/__init__.py:68
#: modules/names/forms.py:106 modules/names/templates/names.html:19
msgid "Domain Name"
msgstr ""
-#: modules/dynamicdns/forms.py:85 modules/names/forms.py:99
+#: modules/dynamicdns/forms.py:77 modules/names/forms.py:99
#: modules/names/forms.py:117
msgid "Invalid domain name"
msgstr ""
-#: modules/dynamicdns/forms.py:88 modules/miniflux/forms.py:11
+#: modules/dynamicdns/forms.py:80 modules/miniflux/forms.py:11
#: modules/networks/forms.py:281 modules/users/forms.py:130
msgid "Username"
msgstr ""
-#: modules/dynamicdns/forms.py:95 modules/networks/forms.py:284
+#: modules/dynamicdns/forms.py:87 modules/networks/forms.py:284
msgid "Show password"
msgstr ""
-#: modules/dynamicdns/forms.py:99
-msgid "URL to look up public IP"
-msgstr ""
-
-#: modules/dynamicdns/forms.py:104
+#: modules/dynamicdns/forms.py:91
msgid "Use IPv6 instead of IPv4"
msgstr ""
-#: modules/dynamicdns/forms.py:123
+#: modules/dynamicdns/forms.py:110
msgid "This field is required."
msgstr ""
#: modules/dynamicdns/manifest.py:17
-#: modules/dynamicdns/templates/dynamicdns.html:18
-#: modules/email/templates/email.html:35
+#: modules/dynamicdns/templates/dynamicdns.html:23
+#: modules/email/templates/email-dns.html:22
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64
msgid "Domain"
@@ -1819,37 +1819,37 @@ msgstr ""
msgid "Needs public IP"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:11
-#: modules/ejabberd/templates/ejabberd.html:13 modules/firewall/manifest.py:10
+#: modules/dynamicdns/templates/dynamicdns.html:16
+#: modules/ejabberd/templates/ejabberd.html:18 modules/firewall/manifest.py:10
#: modules/firewall/templates/firewall.html:16
#: modules/firewall/templates/firewall.html:22
#: modules/letsencrypt/templates/letsencrypt.html:17
-#: modules/matrixsynapse/templates/matrix-synapse.html:12
+#: modules/matrixsynapse/templates/matrix-synapse.html:17
#: modules/networks/templates/connection_show.html:258
-#: modules/samba/templates/samba.html:67 modules/tor/templates/tor.html:19
+#: modules/samba/templates/samba.html:67 modules/tor/templates/tor.html:24
#: modules/upgrades/templates/upgrades_configure.html:14
#: modules/wireguard/templates/wireguard_show_client.html:48
#: modules/wireguard/templates/wireguard_show_server.html:47
msgid "Status"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:19
+#: modules/dynamicdns/templates/dynamicdns.html:24
msgid "Last update"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:21
+#: modules/dynamicdns/templates/dynamicdns.html:26
msgid "IP Address"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:32
+#: modules/dynamicdns/templates/dynamicdns.html:37
msgid "Success"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:36
+#: modules/dynamicdns/templates/dynamicdns.html:41
msgid "Failed"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:52
+#: modules/dynamicdns/templates/dynamicdns.html:57
msgid "No status available."
msgstr ""
@@ -1997,7 +1997,7 @@ msgstr ""
msgid "XMPP"
msgstr ""
-#: modules/ejabberd/templates/ejabberd.html:18
+#: modules/ejabberd/templates/ejabberd.html:23
#, python-format
msgid ""
"Your XMPP server domain is set to %(domain_name)s. User IDs will look "
@@ -2005,7 +2005,7 @@ msgid ""
"system Name Services page."
msgstr ""
-#: modules/ejabberd/templates/ejabberd.html:25
+#: modules/ejabberd/templates/ejabberd.html:30
#, python-format
msgid ""
"Your XMPP server domain is not set. You can setup your domain on the system "
@@ -2053,12 +2053,16 @@ msgstr ""
msgid "Postfix/Dovecot"
msgstr ""
-#: modules/email/__init__.py:83
-msgid "My Email Aliases"
+#: modules/email/__init__.py:80
+msgid "More emails"
msgstr ""
-#: modules/email/__init__.py:84
-msgid "Manage Aliases for Mailbox"
+#: modules/email/__init__.py:80
+msgid "Same mailbox"
+msgstr ""
+
+#: modules/email/__init__.py:82
+msgid "My Email Aliases"
msgstr ""
#: modules/email/forms.py:25
@@ -2137,45 +2141,90 @@ msgstr ""
msgid "Add"
msgstr ""
-#: modules/email/templates/email.html:10
-msgid "Manage Spam"
+#: modules/email/templates/email-dns.html:9
+msgid "DNS Records for domain:"
msgstr ""
-#: modules/email/templates/email.html:22
-msgid "DNS Records"
-msgstr ""
-
-#: modules/email/templates/email.html:25
+#: modules/email/templates/email-dns.html:12
msgid ""
-"The following DNS records must be added manually on your primary domain for "
-"the mail server to work properly."
+"The following DNS records must be added manually on this domain for the mail "
+"server to work properly for this domain."
msgstr ""
-#: modules/email/templates/email.html:36
+#: modules/email/templates/email-dns.html:23
+#: modules/email/templates/email-dns.html:77
msgid "TTL"
msgstr ""
-#: modules/email/templates/email.html:37
+#: modules/email/templates/email-dns.html:24
msgid "Class"
msgstr ""
-#: modules/email/templates/email.html:39
+#: modules/email/templates/email-dns.html:26
msgid "Priority"
msgstr ""
-#: modules/email/templates/email.html:40
+#: modules/email/templates/email-dns.html:27
msgid "Weight"
msgstr ""
-#: modules/email/templates/email.html:41
+#: modules/email/templates/email-dns.html:28
#: modules/minetest/templates/minetest.html:18
msgid "Port"
msgstr ""
-#: modules/email/templates/email.html:42
+#: modules/email/templates/email-dns.html:29
+#: modules/email/templates/email-dns.html:79
msgid "Host/Target/Value"
msgstr ""
+#: modules/email/templates/email-dns.html:50
+msgid "Reverse DNS Records for IP Addresses"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:53
+#, python-format
+msgid ""
+"If your %(box_name)s runs on a cloud service infrastructure, you should "
+"configure "
+"Reverse DNS lookup. This isn't mandatory, however, it greatly improves "
+"email deliverability. Reverse DNS isn't configured where your regular DNS "
+"is. You should look for it in the settings of your VPS/ISP. Some providers "
+"preconfigure the IP address part for you and you only have to set the domain "
+"part. Only one of your domains can have Revese DNS lookup configured unless "
+"you have multiple public IP addresses."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:66
+msgid ""
+"An external service is used to lookup public IP address to show in the "
+"following section. This can be configured in the privacy app."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:76
+msgid "Host"
+msgstr ""
+
+#: modules/email/templates/email.html:10
+msgid "Manage Spam"
+msgstr ""
+
+#: modules/email/templates/email.html:20 modules/names/manifest.py:11
+#: modules/names/templates/names.html:12
+msgid "Domains"
+msgstr ""
+
+#: modules/email/templates/email.html:23
+msgid ""
+"The following domains are configured. View details to see the list of DNS "
+"entries to be made for the domain."
+msgstr ""
+
+#: modules/email/templates/email.html:35
+#, python-format
+msgid "View domain: %(domain)s"
+msgstr ""
+
#: modules/featherwiki/__init__.py:25
#, python-brace-format
msgid ""
@@ -2418,7 +2467,7 @@ msgstr ""
msgid "Port {name} ({details}) unavailable for external networks"
msgstr ""
-#: modules/firewall/manifest.py:10 modules/tor/templates/tor.html:20
+#: modules/firewall/manifest.py:10 modules/tor/templates/tor.html:25
msgid "Ports"
msgstr ""
@@ -2745,9 +2794,9 @@ msgstr ""
msgid "Contribute"
msgstr ""
-#: modules/help/__init__.py:53 templates/base.html:215 templates/base.html:218
+#: modules/help/__init__.py:53 templates/base.html:217 templates/base.html:220
#: templates/help-menu.html:46 templates/help-menu.html:47
-#: templates/index.html:98
+#: templates/index.html:96
msgid "About"
msgstr "ಬಗ್ಗೆ"
@@ -2880,7 +2929,7 @@ msgstr ""
#: modules/help/templates/help_contribute.html:42
#: modules/power/templates/power_restart.html:27
-#: modules/power/templates/power_shutdown.html:26 templates/app-header.html:68
+#: modules/power/templates/power_shutdown.html:26 templates/app-header.html:65
msgid "Learn more..."
msgstr ""
@@ -3202,7 +3251,7 @@ msgid "Web conference"
msgstr ""
#: modules/janus/templates/janus_video_room.html:205
-#: modules/jsxc/templates/jsxc_launch.html:117 templates/base.html:271
+#: modules/jsxc/templates/jsxc_launch.html:117 templates/base.html:273
msgid "JavaScript license information"
msgstr ""
@@ -3566,7 +3615,7 @@ msgid ""
"least one domain to be able to use Matrix Synapse."
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:15
+#: modules/matrixsynapse/templates/matrix-synapse.html:20
#, python-format
msgid ""
"The Matrix server domain is set to %(domain_name)s. User IDs will "
@@ -3574,43 +3623,43 @@ msgid ""
"the initial setup is currently not supported."
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:22
+#: modules/matrixsynapse/templates/matrix-synapse.html:27
msgid ""
"New users can be registered from any client if public registration is "
"enabled."
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:29
+#: modules/matrixsynapse/templates/matrix-synapse.html:34
msgid ""
"New users must use one of the following tokens for verification during "
"account registration:"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:38
+#: modules/matrixsynapse/templates/matrix-synapse.html:43
msgid "Registration Token"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:39
+#: modules/matrixsynapse/templates/matrix-synapse.html:44
msgid "Uses Allowed"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:40
+#: modules/matrixsynapse/templates/matrix-synapse.html:45
msgid "Pending Registrations"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:41
+#: modules/matrixsynapse/templates/matrix-synapse.html:46
msgid "Completed Registrations"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:42
+#: modules/matrixsynapse/templates/matrix-synapse.html:47
msgid "Expiry Time"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:51
+#: modules/matrixsynapse/templates/matrix-synapse.html:56
msgid "Unlimited"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:80
+#: modules/matrixsynapse/templates/matrix-synapse.html:85
#, python-format
msgid ""
"The configured domain name is using a self-signed certificate. Federation "
@@ -4019,23 +4068,27 @@ msgstr ""
msgid "An error occurred during password reset: {error}."
msgstr ""
-#: modules/mumble/__init__.py:25
+#: modules/mumble/__init__.py:27
msgid ""
"Mumble is an open source, low-latency, encrypted, high quality voice chat "
"software."
msgstr ""
-#: modules/mumble/__init__.py:27
+#: modules/mumble/__init__.py:29
msgid ""
"You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your "
"desktop and mobile devices are available."
msgstr ""
-#: modules/mumble/__init__.py:45 modules/mumble/manifest.py:9
+#: modules/mumble/__init__.py:47 modules/mumble/manifest.py:9
msgid "Mumble"
msgstr ""
+#: modules/mumble/__init__.py:158
+msgid "Mumble server is configured"
+msgstr ""
+
#: modules/mumble/forms.py:30
msgid "Set SuperUser Password"
msgstr ""
@@ -4160,10 +4213,6 @@ msgid ""
"or less."
msgstr ""
-#: modules/names/manifest.py:11 modules/names/templates/names.html:12
-msgid "Domains"
-msgstr ""
-
#: modules/names/manifest.py:13
msgid "DNS Resolution"
msgstr ""
@@ -4660,7 +4709,7 @@ msgstr ""
#: modules/networks/templates/connection_show.html:40
#: modules/wireguard/templates/wireguard_show_client.html:72
#: modules/wireguard/templates/wireguard_show_server.html:73
-#: templates/base.html:165 templates/base.html:166
+#: templates/base.html:167 templates/base.html:168
msgid "Edit"
msgstr ""
@@ -4713,7 +4762,7 @@ msgstr ""
#: modules/networks/templates/connection_show.html:107
#: modules/snapshot/templates/snapshot_delete_selected.html:19
-#: modules/snapshot/templates/snapshot_manage.html:29
+#: modules/snapshot/templates/snapshot_manage.html:34
#: modules/snapshot/templates/snapshot_rollback.html:27
msgid "Description"
msgstr ""
@@ -4791,8 +4840,8 @@ msgstr ""
#: modules/networks/templates/connection_show.html:264
#: modules/networks/templates/connections_fields_privacy.html:15
-#: modules/openvpn/manifest.py:60 modules/privacy/__init__.py:32
-#: modules/privacy/__init__.py:72 modules/wireguard/manifest.py:45
+#: modules/openvpn/manifest.py:60 modules/privacy/__init__.py:38
+#: modules/privacy/__init__.py:77 modules/wireguard/manifest.py:45
msgid "Privacy"
msgstr ""
@@ -4876,7 +4925,7 @@ msgstr ""
msgid "Computer"
msgstr ""
-#: modules/networks/templates/connections_edit.html:19
+#: modules/networks/templates/connections_edit.html:24
#: modules/networks/views.py:253 modules/networks/views.py:341
msgid "Edit Connection"
msgstr ""
@@ -4887,7 +4936,7 @@ msgid "Error:"
msgstr ""
#: modules/networks/templates/connections_fields.html:20
-#: modules/users/templates/users_update.html:46 templates/messages.html:30
+#: modules/users/templates/users_update.html:51 templates/messages.html:30
msgid "Close"
msgstr ""
@@ -4979,7 +5028,7 @@ msgstr ""
#: modules/networks/templates/network_topology_update.html:18
#: modules/networks/templates/router_configuration_update.html:19
#: modules/pagekite/templates/pagekite_custom_services.html:33
-#: modules/sharing/templates/sharing_add_edit.html:20 templates/form.html:19
+#: modules/sharing/templates/sharing_add_edit.html:25 templates/form.html:19
msgid "Submit"
msgstr ""
@@ -5373,11 +5422,7 @@ msgid ""
"performed following an independent cycle."
msgstr ""
-#: modules/nextcloud/__init__.py:48
-msgid "This app is experimental."
-msgstr ""
-
-#: modules/nextcloud/__init__.py:66 modules/nextcloud/manifest.py:11
+#: modules/nextcloud/__init__.py:65 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
msgid "Nextcloud"
msgstr ""
@@ -5543,7 +5588,7 @@ msgstr ""
msgid "PageKite"
msgstr ""
-#: modules/pagekite/__init__.py:73
+#: modules/pagekite/__init__.py:72
msgid "PageKite Domain"
msgstr ""
@@ -5722,8 +5767,8 @@ msgstr ""
msgid "Shutdown"
msgstr ""
-#: modules/power/templates/power.html:15 templates/base.html:180
-#: templates/base.html:181
+#: modules/power/templates/power.html:15 templates/base.html:182
+#: templates/base.html:183
msgid "Restart"
msgstr ""
@@ -5759,23 +5804,33 @@ msgstr ""
msgid "Shut Down Now"
msgstr ""
-#: modules/privacy/__init__.py:15
+#: modules/privacy/__init__.py:21
msgid "Manage system-wide privacy settings."
msgstr ""
-#: modules/privacy/__init__.py:70
+#: modules/privacy/__init__.py:75
msgid "Please update privacy settings to match your preferences."
msgstr ""
-#: modules/privacy/__init__.py:75
+#: modules/privacy/__init__.py:80
msgid "Review privacy setting"
msgstr ""
-#: modules/privacy/forms.py:16
+#: modules/privacy/forms.py:17
+#, python-brace-format
+msgid ""
+"Optional Value. This URL is used to determine the publicly visible IP "
+"address of your {box_name}. The URL should simply return the IPv4 or IPv6 "
+"address where the client request comes from. Default is to use the service "
+"provided by the FreedomBox Foundation at https://ddns.freedombox.org/ip/. If "
+"empty, lookups are disabled and some functionality will fail."
+msgstr ""
+
+#: modules/privacy/forms.py:25
msgid "Periodically submit a list of apps used (suggested)"
msgstr ""
-#: modules/privacy/forms.py:18
+#: modules/privacy/forms.py:27
#, python-brace-format
msgid ""
"Help Debian/{box_name} developers by participating in the Popularity Contest "
@@ -5786,11 +5841,11 @@ msgid ""
"network for additional anonymity if Tor app is enabled."
msgstr ""
-#: modules/privacy/forms.py:28
+#: modules/privacy/forms.py:37
msgid "Allow using fallback DNS servers"
msgstr ""
-#: modules/privacy/forms.py:30
+#: modules/privacy/forms.py:39
msgid ""
"Use well-known public DNS servers to resolve domain names in unusual "
"circumstances where no DNS servers are known but internet connectivity is "
@@ -5798,10 +5853,18 @@ msgid ""
"and reliable."
msgstr ""
+#: modules/privacy/forms.py:45
+msgid "URL to look up public IP address"
+msgstr ""
+
#: modules/privacy/manifest.py:10
msgid "Usage reporting"
msgstr ""
+#: modules/privacy/manifest.py:10
+msgid "External services"
+msgstr ""
+
#: modules/privacy/manifest.py:10
msgid "Fallback DNS"
msgstr ""
@@ -6711,40 +6774,40 @@ msgid "Delete the following snapshots permanently?"
msgstr ""
#: modules/snapshot/templates/snapshot_delete_selected.html:17
-#: modules/snapshot/templates/snapshot_manage.html:27
+#: modules/snapshot/templates/snapshot_manage.html:32
#: modules/snapshot/templates/snapshot_rollback.html:25
msgid "Number"
msgstr ""
#: modules/snapshot/templates/snapshot_delete_selected.html:18
-#: modules/snapshot/templates/snapshot_manage.html:28
+#: modules/snapshot/templates/snapshot_manage.html:33
#: modules/snapshot/templates/snapshot_rollback.html:26
msgid "Date"
msgstr ""
#: modules/snapshot/templates/snapshot_delete_selected.html:42
-#: modules/snapshot/templates/snapshot_manage.html:20
+#: modules/snapshot/templates/snapshot_manage.html:25
#: modules/snapshot/views.py:197
msgid "Delete Snapshots"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:17
+#: modules/snapshot/templates/snapshot_manage.html:22
msgid "Create Snapshot"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:30
+#: modules/snapshot/templates/snapshot_manage.html:35
msgid "Rollback"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:40
+#: modules/snapshot/templates/snapshot_manage.html:45
msgid "will be used at next boot"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:45
+#: modules/snapshot/templates/snapshot_manage.html:50
msgid "in use"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:54
+#: modules/snapshot/templates/snapshot_manage.html:59
#, python-format
msgid "Rollback to snapshot #%(number)s"
msgstr ""
@@ -7275,27 +7338,27 @@ msgstr ""
msgid "Tor"
msgstr ""
-#: modules/tor/__init__.py:78
+#: modules/tor/__init__.py:77
msgid "Tor Onion Service"
msgstr ""
-#: modules/tor/__init__.py:82
+#: modules/tor/__init__.py:81
msgid "Tor Bridge Relay"
msgstr ""
-#: modules/tor/__init__.py:140
+#: modules/tor/__init__.py:139
msgid "Tor relay port available"
msgstr ""
-#: modules/tor/__init__.py:152
+#: modules/tor/__init__.py:151
msgid "Obfs3 transport registered"
msgstr ""
-#: modules/tor/__init__.py:163
+#: modules/tor/__init__.py:162
msgid "Obfs4 transport registered"
msgstr ""
-#: modules/tor/__init__.py:176
+#: modules/tor/__init__.py:175
msgid "Onion service is version 3"
msgstr ""
@@ -7385,7 +7448,7 @@ msgstr ""
msgid "Anonymity network"
msgstr ""
-#: modules/tor/templates/tor.html:18
+#: modules/tor/templates/tor.html:23
msgid "Onion Service"
msgstr ""
@@ -7946,39 +8009,39 @@ msgstr ""
msgid "Edit user %(username)s"
msgstr ""
-#: modules/users/templates/users_update.html:12
+#: modules/users/templates/users_update.html:17
#, python-format
msgid "Edit User %(username)s"
msgstr ""
-#: modules/users/templates/users_update.html:20
+#: modules/users/templates/users_update.html:25
#, python-format
msgid ""
"Use the change password form to "
"change the password."
msgstr ""
-#: modules/users/templates/users_update.html:32
+#: modules/users/templates/users_update.html:37
#: templates/language-selection.html:17
msgid "Save Changes"
msgstr ""
-#: modules/users/templates/users_update.html:41
+#: modules/users/templates/users_update.html:46
#, python-format
msgid "Delete user %(username)s and all the user's files?"
msgstr ""
-#: modules/users/templates/users_update.html:51
+#: modules/users/templates/users_update.html:56
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
msgstr ""
-#: modules/users/templates/users_update.html:60
+#: modules/users/templates/users_update.html:65
msgid "Delete user and files"
msgstr ""
-#: modules/users/templates/users_update.html:63
+#: modules/users/templates/users_update.html:68
msgid "Cancel"
msgstr ""
@@ -8601,11 +8664,11 @@ msgstr ""
msgid "Service %(service_name)s is not running."
msgstr ""
-#: templates/apps.html:29
+#: templates/apps.html:33
msgid "Search with tags"
msgstr ""
-#: templates/apps.html:42
+#: templates/apps.html:46
msgid "Clear all tags"
msgstr ""
@@ -8615,35 +8678,35 @@ msgid ""
"is free software that lets you install and manage server apps with ease."
msgstr ""
-#: templates/base.html:116
+#: templates/base.html:118
msgid " Home"
msgstr ""
-#: templates/base.html:124
+#: templates/base.html:126
msgid " Apps"
msgstr ""
-#: templates/base.html:133
+#: templates/base.html:135
msgid " System"
msgstr ""
-#: templates/base.html:172 templates/base.html:173
+#: templates/base.html:174 templates/base.html:175
msgid "Change password"
msgstr ""
-#: templates/base.html:186 templates/base.html:187
+#: templates/base.html:188 templates/base.html:189
msgid "Shut down"
msgstr ""
-#: templates/base.html:197 templates/base.html:235
+#: templates/base.html:199 templates/base.html:237
msgid "Log out"
msgstr ""
-#: templates/base.html:206 templates/base.html:209
+#: templates/base.html:208 templates/base.html:211
msgid "Select language"
msgstr ""
-#: templates/base.html:224 templates/base.html:226
+#: templates/base.html:226 templates/base.html:228
msgid "Log in"
msgstr ""
@@ -8843,19 +8906,19 @@ msgid ""
"installed freshly again."
msgstr ""
-#: views.py:85
+#: views.py:84
msgid "Here"
msgstr ""
-#: views.py:374
+#: views.py:376
msgid "Setting unchanged"
msgstr ""
-#: views.py:609
+#: views.py:610
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""
-#: web_framework.py:114
+#: web_framework.py:122
msgid "Gujarati"
msgstr ""
diff --git a/plinth/locale/lt/LC_MESSAGES/django.po b/plinth/locale/lt/LC_MESSAGES/django.po
index 0b5fe322e..3aeced1ef 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-12-30 20:05-0500\n"
+"POT-Creation-Date: 2025-01-13 20:33-0500\n"
"PO-Revision-Date: 2022-09-14 17:19+0000\n"
"Last-Translator: ikmaak
SSH key-based authentication is not yet "
"possible."
msgstr ""
-#: modules/backups/forms.py:273
+#: modules/backups/forms.py:275
msgid "Remote backup repository already exists."
msgstr ""
-#: modules/backups/forms.py:279
+#: modules/backups/forms.py:281
msgid "Select verified SSH public key"
msgstr ""
#: modules/backups/manifest.py:14
#: modules/backups/templates/backups_repository.html:92
#: modules/backups/templates/backups_restore.html:27
-#: modules/backups/views.py:240 modules/snapshot/manifest.py:14
+#: modules/backups/views.py:238 modules/snapshot/manifest.py:14
#: templates/toolbar.html:44 templates/toolbar.html:45
msgid "Restore"
msgstr ""
@@ -508,16 +510,20 @@ msgstr ""
msgid "Backup system is busy with another operation."
msgstr ""
+#: modules/backups/privileged.py:92
+msgid "Not enough space left on the disk or remote location."
+msgstr ""
+
#: modules/backups/repository.py:94
msgid "Existing repository is not encrypted."
msgstr ""
-#: modules/backups/repository.py:266
+#: modules/backups/repository.py:289
#, python-brace-format
msgid "{box_name} storage"
msgstr ""
-#: modules/backups/templates/backups.html:17 modules/backups/views.py:125
+#: modules/backups/templates/backups.html:17 modules/backups/views.py:124
msgid "Create a new backup"
msgstr ""
@@ -561,10 +567,9 @@ msgstr ""
#: modules/help/templates/statuslog.html:24
#: modules/kiwix/templates/kiwix-add-package.html:26
#: modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:28
-#: modules/matrixsynapse/templates/matrix-synapse.html:76
+#: modules/matrixsynapse/templates/matrix-synapse.html:81
#: modules/names/templates/names.html:128
#: modules/networks/templates/connection_show.html:24
-#: modules/nextcloud/__init__.py:48
#: modules/pagekite/templates/pagekite_custom_services.html:16
#: modules/power/templates/power_busy_warning.html:11
#: modules/snapshot/templates/snapshot_not_supported.html:13
@@ -703,107 +708,107 @@ msgstr ""
msgid "Verify Host"
msgstr ""
-#: modules/backups/views.py:69
+#: modules/backups/views.py:68
msgid "Backup schedule updated."
msgstr ""
-#: modules/backups/views.py:88
+#: modules/backups/views.py:87
msgid "Schedule Backups"
msgstr ""
-#: modules/backups/views.py:150
+#: modules/backups/views.py:148
msgid "Archive created."
msgstr ""
-#: modules/backups/views.py:162
+#: modules/backups/views.py:160
msgid "Delete Archive"
msgstr ""
-#: modules/backups/views.py:175
+#: modules/backups/views.py:173
msgid "Archive deleted."
msgstr ""
-#: modules/backups/views.py:189
+#: modules/backups/views.py:187
msgid "Upload and restore a backup"
msgstr ""
-#: modules/backups/views.py:218
+#: modules/backups/views.py:216
msgid "Upload successful."
msgstr ""
-#: modules/backups/views.py:256
+#: modules/backups/views.py:254
msgid "No backup file found."
msgstr ""
-#: modules/backups/views.py:264
+#: modules/backups/views.py:262
msgid "Restore from uploaded file"
msgstr ""
-#: modules/backups/views.py:278 modules/backups/views.py:299
+#: modules/backups/views.py:276 modules/backups/views.py:297
msgid "Restored files from backup."
msgstr ""
-#: modules/backups/views.py:329
+#: modules/backups/views.py:327
msgid "No additional disks available to add a repository."
msgstr ""
-#: modules/backups/views.py:337
+#: modules/backups/views.py:335
msgid "Create backup repository"
msgstr ""
-#: modules/backups/views.py:352
+#: modules/backups/views.py:350
msgid "Added new repository."
msgstr ""
-#: modules/backups/views.py:366
+#: modules/backups/views.py:364
msgid "Create remote backup repository"
msgstr ""
-#: modules/backups/views.py:388
+#: modules/backups/views.py:386
msgid "Added new remote SSH repository."
msgstr ""
-#: modules/backups/views.py:410
+#: modules/backups/views.py:408
msgid "Verify SSH hostkey"
msgstr ""
-#: modules/backups/views.py:436
+#: modules/backups/views.py:434
msgid "SSH host already verified."
msgstr ""
-#: modules/backups/views.py:447
+#: modules/backups/views.py:445
msgid "SSH host verified."
msgstr ""
-#: modules/backups/views.py:463
+#: modules/backups/views.py:461
msgid "SSH host public key could not be verified."
msgstr ""
-#: modules/backups/views.py:465
+#: modules/backups/views.py:463
msgid "Authentication to remote server failed."
msgstr ""
-#: modules/backups/views.py:467
+#: modules/backups/views.py:465
msgid "Error establishing connection to server: {}"
msgstr ""
-#: modules/backups/views.py:478
+#: modules/backups/views.py:476
msgid "Repository removed."
msgstr ""
-#: modules/backups/views.py:492
+#: modules/backups/views.py:490
msgid "Remove Repository"
msgstr ""
-#: modules/backups/views.py:502
+#: modules/backups/views.py:500
msgid "Repository removed. Backups were not deleted."
msgstr ""
-#: modules/backups/views.py:513
+#: modules/backups/views.py:511
msgid "Unmounting failed!"
msgstr ""
-#: modules/backups/views.py:529 modules/backups/views.py:533
+#: modules/backups/views.py:527 modules/backups/views.py:531
msgid "Mounting failed"
msgstr ""
@@ -912,7 +917,7 @@ msgstr ""
msgid "No passwords currently configured."
msgstr ""
-#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:91
+#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:83
#: modules/miniflux/forms.py:14 modules/networks/forms.py:282
#: modules/shadowsocks/forms.py:32 modules/shadowsocksserver/forms.py:37
msgid "Password"
@@ -1030,8 +1035,10 @@ msgstr ""
msgid "Serving Domains"
msgstr ""
-#: modules/bind/templates/bind.html:17 modules/email/templates/email.html:38
-#: modules/ikiwiki/forms.py:12 modules/names/templates/names.html:18
+#: modules/bind/templates/bind.html:17
+#: modules/email/templates/email-dns.html:25
+#: modules/email/templates/email-dns.html:78 modules/ikiwiki/forms.py:12
+#: modules/names/templates/names.html:18
#: modules/networks/templates/connection_show.html:95
#: modules/samba/templates/samba.html:65
#: modules/storage/templates/storage.html:26
@@ -1061,7 +1068,7 @@ msgstr ""
#: modules/minetest/views.py:55 modules/mumble/views.py:37
#: modules/names/views.py:66 modules/names/views.py:95
#: modules/names/views.py:129 modules/pagekite/forms.py:74
-#: modules/privacy/views.py:50 modules/quassel/views.py:29
+#: modules/privacy/views.py:55 modules/quassel/views.py:29
#: modules/roundcube/views.py:32 modules/rssbridge/views.py:31
#: modules/shadowsocks/views.py:52 modules/shadowsocksserver/views.py:48
#: modules/ssh/views.py:62 modules/transmission/views.py:43
@@ -1646,7 +1653,7 @@ msgid "Test"
msgstr ""
#: modules/diagnostics/templates/diagnostics_results.html:12
-#: modules/dynamicdns/templates/dynamicdns.html:20
+#: modules/dynamicdns/templates/dynamicdns.html:25
msgid "Result"
msgstr ""
@@ -1659,7 +1666,7 @@ msgstr ""
msgid "App {app_id} is not installed, cannot repair"
msgstr ""
-#: modules/dynamicdns/__init__.py:28
+#: modules/dynamicdns/__init__.py:29
#, python-brace-format
msgid ""
"If your Internet provider changes your IP address periodically (i.e. every "
@@ -1667,7 +1674,7 @@ msgid ""
"prevent others from finding services which are provided by this {box_name}."
msgstr ""
-#: modules/dynamicdns/__init__.py:32
+#: modules/dynamicdns/__init__.py:33
msgid ""
"The solution is to assign a DNS name to your IP address and update the DNS "
"name every time your IP is changed by your Internet provider. Dynamic DNS "
@@ -1678,7 +1685,7 @@ msgid ""
"IP address."
msgstr ""
-#: modules/dynamicdns/__init__.py:40
+#: modules/dynamicdns/__init__.py:41
msgid ""
"If you are looking for a free dynamic DNS account, you may find a free "
"GnuDIP service at ddns."
@@ -1686,11 +1693,17 @@ msgid ""
"href='http://freedns.afraid.org/' target='_blank'>freedns.afraid.org."
msgstr ""
-#: modules/dynamicdns/__init__.py:61
+#: modules/dynamicdns/__init__.py:46
+msgid ""
+"This service uses an external service to lookup public IP address. This can "
+"be configured in the privacy app."
+msgstr ""
+
+#: modules/dynamicdns/__init__.py:64
msgid "Dynamic DNS Client"
msgstr ""
-#: modules/dynamicdns/__init__.py:75
+#: modules/dynamicdns/__init__.py:78
msgid "Dynamic Domain Name"
msgstr ""
@@ -1734,84 +1747,71 @@ msgid "Leave this field empty if you want to keep your current password."
msgstr ""
#: modules/dynamicdns/forms.py:43
-#, python-brace-format
-msgid ""
-"Optional Value. If your {box_name} is not connected directly to the Internet "
-"(i.e. connected to a NAT router) this URL is used to determine the real IP "
-"address. The URL should simply return the IP where the client comes from "
-"(example: https://ddns.freedombox.org/ip/)."
-msgstr ""
-
-#: modules/dynamicdns/forms.py:51
msgid "The username that was used when the account was created."
msgstr ""
-#: modules/dynamicdns/forms.py:54
+#: modules/dynamicdns/forms.py:46
msgid "GnuDIP"
msgstr "GnuDIP"
-#: modules/dynamicdns/forms.py:57
+#: modules/dynamicdns/forms.py:49
msgid "Other update URL"
msgstr ""
-#: modules/dynamicdns/forms.py:59
+#: modules/dynamicdns/forms.py:51
msgid "Service Type"
msgstr ""
-#: modules/dynamicdns/forms.py:64
+#: modules/dynamicdns/forms.py:56
msgid "GnuDIP Server Address"
msgstr ""
-#: modules/dynamicdns/forms.py:67
+#: modules/dynamicdns/forms.py:59
msgid "Invalid server name"
msgstr ""
-#: modules/dynamicdns/forms.py:70
+#: modules/dynamicdns/forms.py:62
msgid "Update URL"
msgstr ""
-#: modules/dynamicdns/forms.py:74
+#: modules/dynamicdns/forms.py:66
msgid "Accept all SSL certificates"
msgstr ""
-#: modules/dynamicdns/forms.py:78
+#: modules/dynamicdns/forms.py:70
msgid "Use HTTP basic authentication"
msgstr ""
-#: modules/dynamicdns/forms.py:82 modules/names/__init__.py:68
+#: modules/dynamicdns/forms.py:74 modules/names/__init__.py:68
#: modules/names/forms.py:106 modules/names/templates/names.html:19
msgid "Domain Name"
msgstr ""
-#: modules/dynamicdns/forms.py:85 modules/names/forms.py:99
+#: modules/dynamicdns/forms.py:77 modules/names/forms.py:99
#: modules/names/forms.py:117
msgid "Invalid domain name"
msgstr ""
-#: modules/dynamicdns/forms.py:88 modules/miniflux/forms.py:11
+#: modules/dynamicdns/forms.py:80 modules/miniflux/forms.py:11
#: modules/networks/forms.py:281 modules/users/forms.py:130
msgid "Username"
msgstr ""
-#: modules/dynamicdns/forms.py:95 modules/networks/forms.py:284
+#: modules/dynamicdns/forms.py:87 modules/networks/forms.py:284
msgid "Show password"
msgstr ""
-#: modules/dynamicdns/forms.py:99
-msgid "URL to look up public IP"
-msgstr ""
-
-#: modules/dynamicdns/forms.py:104
+#: modules/dynamicdns/forms.py:91
msgid "Use IPv6 instead of IPv4"
msgstr ""
-#: modules/dynamicdns/forms.py:123
+#: modules/dynamicdns/forms.py:110
msgid "This field is required."
msgstr ""
#: modules/dynamicdns/manifest.py:17
-#: modules/dynamicdns/templates/dynamicdns.html:18
-#: modules/email/templates/email.html:35
+#: modules/dynamicdns/templates/dynamicdns.html:23
+#: modules/email/templates/email-dns.html:22
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64
msgid "Domain"
@@ -1825,37 +1825,37 @@ msgstr ""
msgid "Needs public IP"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:11
-#: modules/ejabberd/templates/ejabberd.html:13 modules/firewall/manifest.py:10
+#: modules/dynamicdns/templates/dynamicdns.html:16
+#: modules/ejabberd/templates/ejabberd.html:18 modules/firewall/manifest.py:10
#: modules/firewall/templates/firewall.html:16
#: modules/firewall/templates/firewall.html:22
#: modules/letsencrypt/templates/letsencrypt.html:17
-#: modules/matrixsynapse/templates/matrix-synapse.html:12
+#: modules/matrixsynapse/templates/matrix-synapse.html:17
#: modules/networks/templates/connection_show.html:258
-#: modules/samba/templates/samba.html:67 modules/tor/templates/tor.html:19
+#: modules/samba/templates/samba.html:67 modules/tor/templates/tor.html:24
#: modules/upgrades/templates/upgrades_configure.html:14
#: modules/wireguard/templates/wireguard_show_client.html:48
#: modules/wireguard/templates/wireguard_show_server.html:47
msgid "Status"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:19
+#: modules/dynamicdns/templates/dynamicdns.html:24
msgid "Last update"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:21
+#: modules/dynamicdns/templates/dynamicdns.html:26
msgid "IP Address"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:32
+#: modules/dynamicdns/templates/dynamicdns.html:37
msgid "Success"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:36
+#: modules/dynamicdns/templates/dynamicdns.html:41
msgid "Failed"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:52
+#: modules/dynamicdns/templates/dynamicdns.html:57
msgid "No status available."
msgstr ""
@@ -2003,7 +2003,7 @@ msgstr ""
msgid "XMPP"
msgstr ""
-#: modules/ejabberd/templates/ejabberd.html:18
+#: modules/ejabberd/templates/ejabberd.html:23
#, python-format
msgid ""
"Your XMPP server domain is set to %(domain_name)s. User IDs will look "
@@ -2011,7 +2011,7 @@ msgid ""
"system Name Services page."
msgstr ""
-#: modules/ejabberd/templates/ejabberd.html:25
+#: modules/ejabberd/templates/ejabberd.html:30
#, python-format
msgid ""
"Your XMPP server domain is not set. You can setup your domain on the system "
@@ -2059,12 +2059,16 @@ msgstr ""
msgid "Postfix/Dovecot"
msgstr "Postfix/Dovecot"
-#: modules/email/__init__.py:83
-msgid "My Email Aliases"
+#: modules/email/__init__.py:80
+msgid "More emails"
msgstr ""
-#: modules/email/__init__.py:84
-msgid "Manage Aliases for Mailbox"
+#: modules/email/__init__.py:80
+msgid "Same mailbox"
+msgstr ""
+
+#: modules/email/__init__.py:82
+msgid "My Email Aliases"
msgstr ""
#: modules/email/forms.py:25
@@ -2143,45 +2147,90 @@ msgstr ""
msgid "Add"
msgstr ""
-#: modules/email/templates/email.html:10
-msgid "Manage Spam"
+#: modules/email/templates/email-dns.html:9
+msgid "DNS Records for domain:"
msgstr ""
-#: modules/email/templates/email.html:22
-msgid "DNS Records"
-msgstr ""
-
-#: modules/email/templates/email.html:25
+#: modules/email/templates/email-dns.html:12
msgid ""
-"The following DNS records must be added manually on your primary domain for "
-"the mail server to work properly."
+"The following DNS records must be added manually on this domain for the mail "
+"server to work properly for this domain."
msgstr ""
-#: modules/email/templates/email.html:36
+#: modules/email/templates/email-dns.html:23
+#: modules/email/templates/email-dns.html:77
msgid "TTL"
msgstr ""
-#: modules/email/templates/email.html:37
+#: modules/email/templates/email-dns.html:24
msgid "Class"
msgstr ""
-#: modules/email/templates/email.html:39
+#: modules/email/templates/email-dns.html:26
msgid "Priority"
msgstr ""
-#: modules/email/templates/email.html:40
+#: modules/email/templates/email-dns.html:27
msgid "Weight"
msgstr ""
-#: modules/email/templates/email.html:41
+#: modules/email/templates/email-dns.html:28
#: modules/minetest/templates/minetest.html:18
msgid "Port"
msgstr ""
-#: modules/email/templates/email.html:42
+#: modules/email/templates/email-dns.html:29
+#: modules/email/templates/email-dns.html:79
msgid "Host/Target/Value"
msgstr ""
+#: modules/email/templates/email-dns.html:50
+msgid "Reverse DNS Records for IP Addresses"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:53
+#, python-format
+msgid ""
+"If your %(box_name)s runs on a cloud service infrastructure, you should "
+"configure "
+"Reverse DNS lookup. This isn't mandatory, however, it greatly improves "
+"email deliverability. Reverse DNS isn't configured where your regular DNS "
+"is. You should look for it in the settings of your VPS/ISP. Some providers "
+"preconfigure the IP address part for you and you only have to set the domain "
+"part. Only one of your domains can have Revese DNS lookup configured unless "
+"you have multiple public IP addresses."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:66
+msgid ""
+"An external service is used to lookup public IP address to show in the "
+"following section. This can be configured in the privacy app."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:76
+msgid "Host"
+msgstr ""
+
+#: modules/email/templates/email.html:10
+msgid "Manage Spam"
+msgstr ""
+
+#: modules/email/templates/email.html:20 modules/names/manifest.py:11
+#: modules/names/templates/names.html:12
+msgid "Domains"
+msgstr ""
+
+#: modules/email/templates/email.html:23
+msgid ""
+"The following domains are configured. View details to see the list of DNS "
+"entries to be made for the domain."
+msgstr ""
+
+#: modules/email/templates/email.html:35
+#, python-format
+msgid "View domain: %(domain)s"
+msgstr ""
+
#: modules/featherwiki/__init__.py:25
#, python-brace-format
msgid ""
@@ -2428,7 +2477,7 @@ msgstr ""
msgid "Port {name} ({details}) unavailable for external networks"
msgstr ""
-#: modules/firewall/manifest.py:10 modules/tor/templates/tor.html:20
+#: modules/firewall/manifest.py:10 modules/tor/templates/tor.html:25
msgid "Ports"
msgstr ""
@@ -2755,9 +2804,9 @@ msgstr ""
msgid "Contribute"
msgstr ""
-#: modules/help/__init__.py:53 templates/base.html:215 templates/base.html:218
+#: modules/help/__init__.py:53 templates/base.html:217 templates/base.html:220
#: templates/help-menu.html:46 templates/help-menu.html:47
-#: templates/index.html:98
+#: templates/index.html:96
msgid "About"
msgstr "Apie"
@@ -2890,7 +2939,7 @@ msgstr ""
#: modules/help/templates/help_contribute.html:42
#: modules/power/templates/power_restart.html:27
-#: modules/power/templates/power_shutdown.html:26 templates/app-header.html:68
+#: modules/power/templates/power_shutdown.html:26 templates/app-header.html:65
msgid "Learn more..."
msgstr ""
@@ -3212,7 +3261,7 @@ msgid "Web conference"
msgstr ""
#: modules/janus/templates/janus_video_room.html:205
-#: modules/jsxc/templates/jsxc_launch.html:117 templates/base.html:271
+#: modules/jsxc/templates/jsxc_launch.html:117 templates/base.html:273
msgid "JavaScript license information"
msgstr ""
@@ -3580,7 +3629,7 @@ msgid ""
"least one domain to be able to use Matrix Synapse."
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:15
+#: modules/matrixsynapse/templates/matrix-synapse.html:20
#, python-format
msgid ""
"The Matrix server domain is set to %(domain_name)s. User IDs will "
@@ -3588,43 +3637,43 @@ msgid ""
"the initial setup is currently not supported."
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:22
+#: modules/matrixsynapse/templates/matrix-synapse.html:27
msgid ""
"New users can be registered from any client if public registration is "
"enabled."
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:29
+#: modules/matrixsynapse/templates/matrix-synapse.html:34
msgid ""
"New users must use one of the following tokens for verification during "
"account registration:"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:38
+#: modules/matrixsynapse/templates/matrix-synapse.html:43
msgid "Registration Token"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:39
+#: modules/matrixsynapse/templates/matrix-synapse.html:44
msgid "Uses Allowed"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:40
+#: modules/matrixsynapse/templates/matrix-synapse.html:45
msgid "Pending Registrations"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:41
+#: modules/matrixsynapse/templates/matrix-synapse.html:46
msgid "Completed Registrations"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:42
+#: modules/matrixsynapse/templates/matrix-synapse.html:47
msgid "Expiry Time"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:51
+#: modules/matrixsynapse/templates/matrix-synapse.html:56
msgid "Unlimited"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:80
+#: modules/matrixsynapse/templates/matrix-synapse.html:85
#, python-format
msgid ""
"The configured domain name is using a self-signed certificate. Federation "
@@ -4035,23 +4084,27 @@ msgstr ""
msgid "An error occurred during password reset: {error}."
msgstr ""
-#: modules/mumble/__init__.py:25
+#: modules/mumble/__init__.py:27
msgid ""
"Mumble is an open source, low-latency, encrypted, high quality voice chat "
"software."
msgstr ""
-#: modules/mumble/__init__.py:27
+#: modules/mumble/__init__.py:29
msgid ""
"You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your "
"desktop and mobile devices are available."
msgstr ""
-#: modules/mumble/__init__.py:45 modules/mumble/manifest.py:9
+#: modules/mumble/__init__.py:47 modules/mumble/manifest.py:9
msgid "Mumble"
msgstr ""
+#: modules/mumble/__init__.py:158
+msgid "Mumble server is configured"
+msgstr ""
+
#: modules/mumble/forms.py:30
msgid "Set SuperUser Password"
msgstr ""
@@ -4176,10 +4229,6 @@ msgid ""
"or less."
msgstr ""
-#: modules/names/manifest.py:11 modules/names/templates/names.html:12
-msgid "Domains"
-msgstr ""
-
#: modules/names/manifest.py:13
msgid "DNS Resolution"
msgstr ""
@@ -4678,7 +4727,7 @@ msgstr ""
#: modules/networks/templates/connection_show.html:40
#: modules/wireguard/templates/wireguard_show_client.html:72
#: modules/wireguard/templates/wireguard_show_server.html:73
-#: templates/base.html:165 templates/base.html:166
+#: templates/base.html:167 templates/base.html:168
msgid "Edit"
msgstr ""
@@ -4731,7 +4780,7 @@ msgstr ""
#: modules/networks/templates/connection_show.html:107
#: modules/snapshot/templates/snapshot_delete_selected.html:19
-#: modules/snapshot/templates/snapshot_manage.html:29
+#: modules/snapshot/templates/snapshot_manage.html:34
#: modules/snapshot/templates/snapshot_rollback.html:27
msgid "Description"
msgstr ""
@@ -4809,8 +4858,8 @@ msgstr ""
#: modules/networks/templates/connection_show.html:264
#: modules/networks/templates/connections_fields_privacy.html:15
-#: modules/openvpn/manifest.py:60 modules/privacy/__init__.py:32
-#: modules/privacy/__init__.py:72 modules/wireguard/manifest.py:45
+#: modules/openvpn/manifest.py:60 modules/privacy/__init__.py:38
+#: modules/privacy/__init__.py:77 modules/wireguard/manifest.py:45
msgid "Privacy"
msgstr ""
@@ -4894,7 +4943,7 @@ msgstr ""
msgid "Computer"
msgstr ""
-#: modules/networks/templates/connections_edit.html:19
+#: modules/networks/templates/connections_edit.html:24
#: modules/networks/views.py:253 modules/networks/views.py:341
msgid "Edit Connection"
msgstr ""
@@ -4905,7 +4954,7 @@ msgid "Error:"
msgstr ""
#: modules/networks/templates/connections_fields.html:20
-#: modules/users/templates/users_update.html:46 templates/messages.html:30
+#: modules/users/templates/users_update.html:51 templates/messages.html:30
msgid "Close"
msgstr ""
@@ -4997,7 +5046,7 @@ msgstr ""
#: modules/networks/templates/network_topology_update.html:18
#: modules/networks/templates/router_configuration_update.html:19
#: modules/pagekite/templates/pagekite_custom_services.html:33
-#: modules/sharing/templates/sharing_add_edit.html:20 templates/form.html:19
+#: modules/sharing/templates/sharing_add_edit.html:25 templates/form.html:19
msgid "Submit"
msgstr ""
@@ -5391,11 +5440,7 @@ msgid ""
"performed following an independent cycle."
msgstr ""
-#: modules/nextcloud/__init__.py:48
-msgid "This app is experimental."
-msgstr ""
-
-#: modules/nextcloud/__init__.py:66 modules/nextcloud/manifest.py:11
+#: modules/nextcloud/__init__.py:65 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
msgid "Nextcloud"
msgstr ""
@@ -5561,7 +5606,7 @@ msgstr ""
msgid "PageKite"
msgstr ""
-#: modules/pagekite/__init__.py:73
+#: modules/pagekite/__init__.py:72
msgid "PageKite Domain"
msgstr ""
@@ -5740,8 +5785,8 @@ msgstr ""
msgid "Shutdown"
msgstr ""
-#: modules/power/templates/power.html:15 templates/base.html:180
-#: templates/base.html:181
+#: modules/power/templates/power.html:15 templates/base.html:182
+#: templates/base.html:183
msgid "Restart"
msgstr ""
@@ -5777,23 +5822,33 @@ msgstr ""
msgid "Shut Down Now"
msgstr ""
-#: modules/privacy/__init__.py:15
+#: modules/privacy/__init__.py:21
msgid "Manage system-wide privacy settings."
msgstr ""
-#: modules/privacy/__init__.py:70
+#: modules/privacy/__init__.py:75
msgid "Please update privacy settings to match your preferences."
msgstr ""
-#: modules/privacy/__init__.py:75
+#: modules/privacy/__init__.py:80
msgid "Review privacy setting"
msgstr ""
-#: modules/privacy/forms.py:16
+#: modules/privacy/forms.py:17
+#, python-brace-format
+msgid ""
+"Optional Value. This URL is used to determine the publicly visible IP "
+"address of your {box_name}. The URL should simply return the IPv4 or IPv6 "
+"address where the client request comes from. Default is to use the service "
+"provided by the FreedomBox Foundation at https://ddns.freedombox.org/ip/. If "
+"empty, lookups are disabled and some functionality will fail."
+msgstr ""
+
+#: modules/privacy/forms.py:25
msgid "Periodically submit a list of apps used (suggested)"
msgstr ""
-#: modules/privacy/forms.py:18
+#: modules/privacy/forms.py:27
#, python-brace-format
msgid ""
"Help Debian/{box_name} developers by participating in the Popularity Contest "
@@ -5804,11 +5859,11 @@ msgid ""
"network for additional anonymity if Tor app is enabled."
msgstr ""
-#: modules/privacy/forms.py:28
+#: modules/privacy/forms.py:37
msgid "Allow using fallback DNS servers"
msgstr ""
-#: modules/privacy/forms.py:30
+#: modules/privacy/forms.py:39
msgid ""
"Use well-known public DNS servers to resolve domain names in unusual "
"circumstances where no DNS servers are known but internet connectivity is "
@@ -5816,10 +5871,18 @@ msgid ""
"and reliable."
msgstr ""
+#: modules/privacy/forms.py:45
+msgid "URL to look up public IP address"
+msgstr ""
+
#: modules/privacy/manifest.py:10
msgid "Usage reporting"
msgstr ""
+#: modules/privacy/manifest.py:10
+msgid "External services"
+msgstr ""
+
#: modules/privacy/manifest.py:10
msgid "Fallback DNS"
msgstr ""
@@ -6729,40 +6792,40 @@ msgid "Delete the following snapshots permanently?"
msgstr ""
#: modules/snapshot/templates/snapshot_delete_selected.html:17
-#: modules/snapshot/templates/snapshot_manage.html:27
+#: modules/snapshot/templates/snapshot_manage.html:32
#: modules/snapshot/templates/snapshot_rollback.html:25
msgid "Number"
msgstr ""
#: modules/snapshot/templates/snapshot_delete_selected.html:18
-#: modules/snapshot/templates/snapshot_manage.html:28
+#: modules/snapshot/templates/snapshot_manage.html:33
#: modules/snapshot/templates/snapshot_rollback.html:26
msgid "Date"
msgstr ""
#: modules/snapshot/templates/snapshot_delete_selected.html:42
-#: modules/snapshot/templates/snapshot_manage.html:20
+#: modules/snapshot/templates/snapshot_manage.html:25
#: modules/snapshot/views.py:197
msgid "Delete Snapshots"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:17
+#: modules/snapshot/templates/snapshot_manage.html:22
msgid "Create Snapshot"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:30
+#: modules/snapshot/templates/snapshot_manage.html:35
msgid "Rollback"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:40
+#: modules/snapshot/templates/snapshot_manage.html:45
msgid "will be used at next boot"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:45
+#: modules/snapshot/templates/snapshot_manage.html:50
msgid "in use"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:54
+#: modules/snapshot/templates/snapshot_manage.html:59
#, python-format
msgid "Rollback to snapshot #%(number)s"
msgstr ""
@@ -7293,27 +7356,27 @@ msgstr ""
msgid "Tor"
msgstr ""
-#: modules/tor/__init__.py:78
+#: modules/tor/__init__.py:77
msgid "Tor Onion Service"
msgstr ""
-#: modules/tor/__init__.py:82
+#: modules/tor/__init__.py:81
msgid "Tor Bridge Relay"
msgstr ""
-#: modules/tor/__init__.py:140
+#: modules/tor/__init__.py:139
msgid "Tor relay port available"
msgstr ""
-#: modules/tor/__init__.py:152
+#: modules/tor/__init__.py:151
msgid "Obfs3 transport registered"
msgstr ""
-#: modules/tor/__init__.py:163
+#: modules/tor/__init__.py:162
msgid "Obfs4 transport registered"
msgstr ""
-#: modules/tor/__init__.py:176
+#: modules/tor/__init__.py:175
msgid "Onion service is version 3"
msgstr ""
@@ -7403,7 +7466,7 @@ msgstr ""
msgid "Anonymity network"
msgstr ""
-#: modules/tor/templates/tor.html:18
+#: modules/tor/templates/tor.html:23
msgid "Onion Service"
msgstr ""
@@ -7966,39 +8029,39 @@ msgstr ""
msgid "Edit user %(username)s"
msgstr ""
-#: modules/users/templates/users_update.html:12
+#: modules/users/templates/users_update.html:17
#, python-format
msgid "Edit User %(username)s"
msgstr ""
-#: modules/users/templates/users_update.html:20
+#: modules/users/templates/users_update.html:25
#, python-format
msgid ""
"Use the change password form to "
"change the password."
msgstr ""
-#: modules/users/templates/users_update.html:32
+#: modules/users/templates/users_update.html:37
#: templates/language-selection.html:17
msgid "Save Changes"
msgstr ""
-#: modules/users/templates/users_update.html:41
+#: modules/users/templates/users_update.html:46
#, python-format
msgid "Delete user %(username)s and all the user's files?"
msgstr ""
-#: modules/users/templates/users_update.html:51
+#: modules/users/templates/users_update.html:56
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
msgstr ""
-#: modules/users/templates/users_update.html:60
+#: modules/users/templates/users_update.html:65
msgid "Delete user and files"
msgstr ""
-#: modules/users/templates/users_update.html:63
+#: modules/users/templates/users_update.html:68
msgid "Cancel"
msgstr ""
@@ -8621,11 +8684,11 @@ msgstr ""
msgid "Service %(service_name)s is not running."
msgstr ""
-#: templates/apps.html:29
+#: templates/apps.html:33
msgid "Search with tags"
msgstr ""
-#: templates/apps.html:42
+#: templates/apps.html:46
msgid "Clear all tags"
msgstr ""
@@ -8635,35 +8698,35 @@ msgid ""
"is free software that lets you install and manage server apps with ease."
msgstr ""
-#: templates/base.html:116
+#: templates/base.html:118
msgid " Home"
msgstr ""
-#: templates/base.html:124
+#: templates/base.html:126
msgid " Apps"
msgstr ""
-#: templates/base.html:133
+#: templates/base.html:135
msgid " System"
msgstr ""
-#: templates/base.html:172 templates/base.html:173
+#: templates/base.html:174 templates/base.html:175
msgid "Change password"
msgstr ""
-#: templates/base.html:186 templates/base.html:187
+#: templates/base.html:188 templates/base.html:189
msgid "Shut down"
msgstr ""
-#: templates/base.html:197 templates/base.html:235
+#: templates/base.html:199 templates/base.html:237
msgid "Log out"
msgstr ""
-#: templates/base.html:206 templates/base.html:209
+#: templates/base.html:208 templates/base.html:211
msgid "Select language"
msgstr ""
-#: templates/base.html:224 templates/base.html:226
+#: templates/base.html:226 templates/base.html:228
msgid "Log in"
msgstr ""
@@ -8863,20 +8926,20 @@ msgid ""
"installed freshly again."
msgstr ""
-#: views.py:85
+#: views.py:84
msgid "Here"
msgstr ""
-#: views.py:374
+#: views.py:376
msgid "Setting unchanged"
msgstr ""
-#: views.py:609
+#: views.py:610
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""
-#: web_framework.py:114
+#: web_framework.py:122
msgid "Gujarati"
msgstr ""
diff --git a/plinth/locale/lv/LC_MESSAGES/django.po b/plinth/locale/lv/LC_MESSAGES/django.po
index 8508009b8..a6481e894 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-12-30 20:05-0500\n"
+"POT-Creation-Date: 2025-01-13 20:33-0500\n"
"PO-Revision-Date: 2022-09-14 17:20+0000\n"
"Last-Translator: ikmaak
SSH key-based authentication is not yet "
"possible."
msgstr ""
-#: modules/backups/forms.py:273
+#: modules/backups/forms.py:275
msgid "Remote backup repository already exists."
msgstr ""
-#: modules/backups/forms.py:279
+#: modules/backups/forms.py:281
msgid "Select verified SSH public key"
msgstr ""
#: modules/backups/manifest.py:14
#: modules/backups/templates/backups_repository.html:92
#: modules/backups/templates/backups_restore.html:27
-#: modules/backups/views.py:240 modules/snapshot/manifest.py:14
+#: modules/backups/views.py:238 modules/snapshot/manifest.py:14
#: templates/toolbar.html:44 templates/toolbar.html:45
msgid "Restore"
msgstr ""
@@ -507,16 +509,20 @@ msgstr ""
msgid "Backup system is busy with another operation."
msgstr ""
+#: modules/backups/privileged.py:92
+msgid "Not enough space left on the disk or remote location."
+msgstr ""
+
#: modules/backups/repository.py:94
msgid "Existing repository is not encrypted."
msgstr ""
-#: modules/backups/repository.py:266
+#: modules/backups/repository.py:289
#, python-brace-format
msgid "{box_name} storage"
msgstr ""
-#: modules/backups/templates/backups.html:17 modules/backups/views.py:125
+#: modules/backups/templates/backups.html:17 modules/backups/views.py:124
msgid "Create a new backup"
msgstr ""
@@ -560,10 +566,9 @@ msgstr ""
#: modules/help/templates/statuslog.html:24
#: modules/kiwix/templates/kiwix-add-package.html:26
#: modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:28
-#: modules/matrixsynapse/templates/matrix-synapse.html:76
+#: modules/matrixsynapse/templates/matrix-synapse.html:81
#: modules/names/templates/names.html:128
#: modules/networks/templates/connection_show.html:24
-#: modules/nextcloud/__init__.py:48
#: modules/pagekite/templates/pagekite_custom_services.html:16
#: modules/power/templates/power_busy_warning.html:11
#: modules/snapshot/templates/snapshot_not_supported.html:13
@@ -702,107 +707,107 @@ msgstr ""
msgid "Verify Host"
msgstr ""
-#: modules/backups/views.py:69
+#: modules/backups/views.py:68
msgid "Backup schedule updated."
msgstr ""
-#: modules/backups/views.py:88
+#: modules/backups/views.py:87
msgid "Schedule Backups"
msgstr ""
-#: modules/backups/views.py:150
+#: modules/backups/views.py:148
msgid "Archive created."
msgstr ""
-#: modules/backups/views.py:162
+#: modules/backups/views.py:160
msgid "Delete Archive"
msgstr ""
-#: modules/backups/views.py:175
+#: modules/backups/views.py:173
msgid "Archive deleted."
msgstr ""
-#: modules/backups/views.py:189
+#: modules/backups/views.py:187
msgid "Upload and restore a backup"
msgstr ""
-#: modules/backups/views.py:218
+#: modules/backups/views.py:216
msgid "Upload successful."
msgstr ""
-#: modules/backups/views.py:256
+#: modules/backups/views.py:254
msgid "No backup file found."
msgstr ""
-#: modules/backups/views.py:264
+#: modules/backups/views.py:262
msgid "Restore from uploaded file"
msgstr ""
-#: modules/backups/views.py:278 modules/backups/views.py:299
+#: modules/backups/views.py:276 modules/backups/views.py:297
msgid "Restored files from backup."
msgstr ""
-#: modules/backups/views.py:329
+#: modules/backups/views.py:327
msgid "No additional disks available to add a repository."
msgstr ""
-#: modules/backups/views.py:337
+#: modules/backups/views.py:335
msgid "Create backup repository"
msgstr ""
-#: modules/backups/views.py:352
+#: modules/backups/views.py:350
msgid "Added new repository."
msgstr ""
-#: modules/backups/views.py:366
+#: modules/backups/views.py:364
msgid "Create remote backup repository"
msgstr ""
-#: modules/backups/views.py:388
+#: modules/backups/views.py:386
msgid "Added new remote SSH repository."
msgstr ""
-#: modules/backups/views.py:410
+#: modules/backups/views.py:408
msgid "Verify SSH hostkey"
msgstr ""
-#: modules/backups/views.py:436
+#: modules/backups/views.py:434
msgid "SSH host already verified."
msgstr ""
-#: modules/backups/views.py:447
+#: modules/backups/views.py:445
msgid "SSH host verified."
msgstr ""
-#: modules/backups/views.py:463
+#: modules/backups/views.py:461
msgid "SSH host public key could not be verified."
msgstr ""
-#: modules/backups/views.py:465
+#: modules/backups/views.py:463
msgid "Authentication to remote server failed."
msgstr ""
-#: modules/backups/views.py:467
+#: modules/backups/views.py:465
msgid "Error establishing connection to server: {}"
msgstr ""
-#: modules/backups/views.py:478
+#: modules/backups/views.py:476
msgid "Repository removed."
msgstr ""
-#: modules/backups/views.py:492
+#: modules/backups/views.py:490
msgid "Remove Repository"
msgstr ""
-#: modules/backups/views.py:502
+#: modules/backups/views.py:500
msgid "Repository removed. Backups were not deleted."
msgstr ""
-#: modules/backups/views.py:513
+#: modules/backups/views.py:511
msgid "Unmounting failed!"
msgstr ""
-#: modules/backups/views.py:529 modules/backups/views.py:533
+#: modules/backups/views.py:527 modules/backups/views.py:531
msgid "Mounting failed"
msgstr ""
@@ -911,7 +916,7 @@ msgstr ""
msgid "No passwords currently configured."
msgstr ""
-#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:91
+#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:83
#: modules/miniflux/forms.py:14 modules/networks/forms.py:282
#: modules/shadowsocks/forms.py:32 modules/shadowsocksserver/forms.py:37
msgid "Password"
@@ -1029,8 +1034,10 @@ msgstr ""
msgid "Serving Domains"
msgstr ""
-#: modules/bind/templates/bind.html:17 modules/email/templates/email.html:38
-#: modules/ikiwiki/forms.py:12 modules/names/templates/names.html:18
+#: modules/bind/templates/bind.html:17
+#: modules/email/templates/email-dns.html:25
+#: modules/email/templates/email-dns.html:78 modules/ikiwiki/forms.py:12
+#: modules/names/templates/names.html:18
#: modules/networks/templates/connection_show.html:95
#: modules/samba/templates/samba.html:65
#: modules/storage/templates/storage.html:26
@@ -1060,7 +1067,7 @@ msgstr ""
#: modules/minetest/views.py:55 modules/mumble/views.py:37
#: modules/names/views.py:66 modules/names/views.py:95
#: modules/names/views.py:129 modules/pagekite/forms.py:74
-#: modules/privacy/views.py:50 modules/quassel/views.py:29
+#: modules/privacy/views.py:55 modules/quassel/views.py:29
#: modules/roundcube/views.py:32 modules/rssbridge/views.py:31
#: modules/shadowsocks/views.py:52 modules/shadowsocksserver/views.py:48
#: modules/ssh/views.py:62 modules/transmission/views.py:43
@@ -1645,7 +1652,7 @@ msgid "Test"
msgstr ""
#: modules/diagnostics/templates/diagnostics_results.html:12
-#: modules/dynamicdns/templates/dynamicdns.html:20
+#: modules/dynamicdns/templates/dynamicdns.html:25
msgid "Result"
msgstr ""
@@ -1658,7 +1665,7 @@ msgstr ""
msgid "App {app_id} is not installed, cannot repair"
msgstr ""
-#: modules/dynamicdns/__init__.py:28
+#: modules/dynamicdns/__init__.py:29
#, python-brace-format
msgid ""
"If your Internet provider changes your IP address periodically (i.e. every "
@@ -1666,7 +1673,7 @@ msgid ""
"prevent others from finding services which are provided by this {box_name}."
msgstr ""
-#: modules/dynamicdns/__init__.py:32
+#: modules/dynamicdns/__init__.py:33
msgid ""
"The solution is to assign a DNS name to your IP address and update the DNS "
"name every time your IP is changed by your Internet provider. Dynamic DNS "
@@ -1677,7 +1684,7 @@ msgid ""
"IP address."
msgstr ""
-#: modules/dynamicdns/__init__.py:40
+#: modules/dynamicdns/__init__.py:41
msgid ""
"If you are looking for a free dynamic DNS account, you may find a free "
"GnuDIP service at ddns."
@@ -1685,11 +1692,17 @@ msgid ""
"href='http://freedns.afraid.org/' target='_blank'>freedns.afraid.org."
msgstr ""
-#: modules/dynamicdns/__init__.py:61
+#: modules/dynamicdns/__init__.py:46
+msgid ""
+"This service uses an external service to lookup public IP address. This can "
+"be configured in the privacy app."
+msgstr ""
+
+#: modules/dynamicdns/__init__.py:64
msgid "Dynamic DNS Client"
msgstr ""
-#: modules/dynamicdns/__init__.py:75
+#: modules/dynamicdns/__init__.py:78
msgid "Dynamic Domain Name"
msgstr ""
@@ -1733,84 +1746,71 @@ msgid "Leave this field empty if you want to keep your current password."
msgstr ""
#: modules/dynamicdns/forms.py:43
-#, python-brace-format
-msgid ""
-"Optional Value. If your {box_name} is not connected directly to the Internet "
-"(i.e. connected to a NAT router) this URL is used to determine the real IP "
-"address. The URL should simply return the IP where the client comes from "
-"(example: https://ddns.freedombox.org/ip/)."
-msgstr ""
-
-#: modules/dynamicdns/forms.py:51
msgid "The username that was used when the account was created."
msgstr ""
-#: modules/dynamicdns/forms.py:54
+#: modules/dynamicdns/forms.py:46
msgid "GnuDIP"
msgstr "GnuDIP"
-#: modules/dynamicdns/forms.py:57
+#: modules/dynamicdns/forms.py:49
msgid "Other update URL"
msgstr ""
-#: modules/dynamicdns/forms.py:59
+#: modules/dynamicdns/forms.py:51
msgid "Service Type"
msgstr ""
-#: modules/dynamicdns/forms.py:64
+#: modules/dynamicdns/forms.py:56
msgid "GnuDIP Server Address"
msgstr ""
-#: modules/dynamicdns/forms.py:67
+#: modules/dynamicdns/forms.py:59
msgid "Invalid server name"
msgstr ""
-#: modules/dynamicdns/forms.py:70
+#: modules/dynamicdns/forms.py:62
msgid "Update URL"
msgstr ""
-#: modules/dynamicdns/forms.py:74
+#: modules/dynamicdns/forms.py:66
msgid "Accept all SSL certificates"
msgstr ""
-#: modules/dynamicdns/forms.py:78
+#: modules/dynamicdns/forms.py:70
msgid "Use HTTP basic authentication"
msgstr ""
-#: modules/dynamicdns/forms.py:82 modules/names/__init__.py:68
+#: modules/dynamicdns/forms.py:74 modules/names/__init__.py:68
#: modules/names/forms.py:106 modules/names/templates/names.html:19
msgid "Domain Name"
msgstr ""
-#: modules/dynamicdns/forms.py:85 modules/names/forms.py:99
+#: modules/dynamicdns/forms.py:77 modules/names/forms.py:99
#: modules/names/forms.py:117
msgid "Invalid domain name"
msgstr ""
-#: modules/dynamicdns/forms.py:88 modules/miniflux/forms.py:11
+#: modules/dynamicdns/forms.py:80 modules/miniflux/forms.py:11
#: modules/networks/forms.py:281 modules/users/forms.py:130
msgid "Username"
msgstr ""
-#: modules/dynamicdns/forms.py:95 modules/networks/forms.py:284
+#: modules/dynamicdns/forms.py:87 modules/networks/forms.py:284
msgid "Show password"
msgstr ""
-#: modules/dynamicdns/forms.py:99
-msgid "URL to look up public IP"
-msgstr ""
-
-#: modules/dynamicdns/forms.py:104
+#: modules/dynamicdns/forms.py:91
msgid "Use IPv6 instead of IPv4"
msgstr ""
-#: modules/dynamicdns/forms.py:123
+#: modules/dynamicdns/forms.py:110
msgid "This field is required."
msgstr ""
#: modules/dynamicdns/manifest.py:17
-#: modules/dynamicdns/templates/dynamicdns.html:18
-#: modules/email/templates/email.html:35
+#: modules/dynamicdns/templates/dynamicdns.html:23
+#: modules/email/templates/email-dns.html:22
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64
msgid "Domain"
@@ -1824,37 +1824,37 @@ msgstr ""
msgid "Needs public IP"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:11
-#: modules/ejabberd/templates/ejabberd.html:13 modules/firewall/manifest.py:10
+#: modules/dynamicdns/templates/dynamicdns.html:16
+#: modules/ejabberd/templates/ejabberd.html:18 modules/firewall/manifest.py:10
#: modules/firewall/templates/firewall.html:16
#: modules/firewall/templates/firewall.html:22
#: modules/letsencrypt/templates/letsencrypt.html:17
-#: modules/matrixsynapse/templates/matrix-synapse.html:12
+#: modules/matrixsynapse/templates/matrix-synapse.html:17
#: modules/networks/templates/connection_show.html:258
-#: modules/samba/templates/samba.html:67 modules/tor/templates/tor.html:19
+#: modules/samba/templates/samba.html:67 modules/tor/templates/tor.html:24
#: modules/upgrades/templates/upgrades_configure.html:14
#: modules/wireguard/templates/wireguard_show_client.html:48
#: modules/wireguard/templates/wireguard_show_server.html:47
msgid "Status"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:19
+#: modules/dynamicdns/templates/dynamicdns.html:24
msgid "Last update"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:21
+#: modules/dynamicdns/templates/dynamicdns.html:26
msgid "IP Address"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:32
+#: modules/dynamicdns/templates/dynamicdns.html:37
msgid "Success"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:36
+#: modules/dynamicdns/templates/dynamicdns.html:41
msgid "Failed"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:52
+#: modules/dynamicdns/templates/dynamicdns.html:57
msgid "No status available."
msgstr ""
@@ -2002,7 +2002,7 @@ msgstr ""
msgid "XMPP"
msgstr ""
-#: modules/ejabberd/templates/ejabberd.html:18
+#: modules/ejabberd/templates/ejabberd.html:23
#, python-format
msgid ""
"Your XMPP server domain is set to %(domain_name)s. User IDs will look "
@@ -2010,7 +2010,7 @@ msgid ""
"system Name Services page."
msgstr ""
-#: modules/ejabberd/templates/ejabberd.html:25
+#: modules/ejabberd/templates/ejabberd.html:30
#, python-format
msgid ""
"Your XMPP server domain is not set. You can setup your domain on the system "
@@ -2058,12 +2058,16 @@ msgstr ""
msgid "Postfix/Dovecot"
msgstr "Postfix/Dovecot"
-#: modules/email/__init__.py:83
-msgid "My Email Aliases"
+#: modules/email/__init__.py:80
+msgid "More emails"
msgstr ""
-#: modules/email/__init__.py:84
-msgid "Manage Aliases for Mailbox"
+#: modules/email/__init__.py:80
+msgid "Same mailbox"
+msgstr ""
+
+#: modules/email/__init__.py:82
+msgid "My Email Aliases"
msgstr ""
#: modules/email/forms.py:25
@@ -2142,45 +2146,90 @@ msgstr ""
msgid "Add"
msgstr ""
-#: modules/email/templates/email.html:10
-msgid "Manage Spam"
+#: modules/email/templates/email-dns.html:9
+msgid "DNS Records for domain:"
msgstr ""
-#: modules/email/templates/email.html:22
-msgid "DNS Records"
-msgstr ""
-
-#: modules/email/templates/email.html:25
+#: modules/email/templates/email-dns.html:12
msgid ""
-"The following DNS records must be added manually on your primary domain for "
-"the mail server to work properly."
+"The following DNS records must be added manually on this domain for the mail "
+"server to work properly for this domain."
msgstr ""
-#: modules/email/templates/email.html:36
+#: modules/email/templates/email-dns.html:23
+#: modules/email/templates/email-dns.html:77
msgid "TTL"
msgstr ""
-#: modules/email/templates/email.html:37
+#: modules/email/templates/email-dns.html:24
msgid "Class"
msgstr ""
-#: modules/email/templates/email.html:39
+#: modules/email/templates/email-dns.html:26
msgid "Priority"
msgstr ""
-#: modules/email/templates/email.html:40
+#: modules/email/templates/email-dns.html:27
msgid "Weight"
msgstr ""
-#: modules/email/templates/email.html:41
+#: modules/email/templates/email-dns.html:28
#: modules/minetest/templates/minetest.html:18
msgid "Port"
msgstr ""
-#: modules/email/templates/email.html:42
+#: modules/email/templates/email-dns.html:29
+#: modules/email/templates/email-dns.html:79
msgid "Host/Target/Value"
msgstr ""
+#: modules/email/templates/email-dns.html:50
+msgid "Reverse DNS Records for IP Addresses"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:53
+#, python-format
+msgid ""
+"If your %(box_name)s runs on a cloud service infrastructure, you should "
+"configure "
+"Reverse DNS lookup. This isn't mandatory, however, it greatly improves "
+"email deliverability. Reverse DNS isn't configured where your regular DNS "
+"is. You should look for it in the settings of your VPS/ISP. Some providers "
+"preconfigure the IP address part for you and you only have to set the domain "
+"part. Only one of your domains can have Revese DNS lookup configured unless "
+"you have multiple public IP addresses."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:66
+msgid ""
+"An external service is used to lookup public IP address to show in the "
+"following section. This can be configured in the privacy app."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:76
+msgid "Host"
+msgstr ""
+
+#: modules/email/templates/email.html:10
+msgid "Manage Spam"
+msgstr ""
+
+#: modules/email/templates/email.html:20 modules/names/manifest.py:11
+#: modules/names/templates/names.html:12
+msgid "Domains"
+msgstr ""
+
+#: modules/email/templates/email.html:23
+msgid ""
+"The following domains are configured. View details to see the list of DNS "
+"entries to be made for the domain."
+msgstr ""
+
+#: modules/email/templates/email.html:35
+#, python-format
+msgid "View domain: %(domain)s"
+msgstr ""
+
#: modules/featherwiki/__init__.py:25
#, python-brace-format
msgid ""
@@ -2427,7 +2476,7 @@ msgstr ""
msgid "Port {name} ({details}) unavailable for external networks"
msgstr ""
-#: modules/firewall/manifest.py:10 modules/tor/templates/tor.html:20
+#: modules/firewall/manifest.py:10 modules/tor/templates/tor.html:25
msgid "Ports"
msgstr ""
@@ -2754,9 +2803,9 @@ msgstr ""
msgid "Contribute"
msgstr ""
-#: modules/help/__init__.py:53 templates/base.html:215 templates/base.html:218
+#: modules/help/__init__.py:53 templates/base.html:217 templates/base.html:220
#: templates/help-menu.html:46 templates/help-menu.html:47
-#: templates/index.html:98
+#: templates/index.html:96
msgid "About"
msgstr ""
@@ -2889,7 +2938,7 @@ msgstr ""
#: modules/help/templates/help_contribute.html:42
#: modules/power/templates/power_restart.html:27
-#: modules/power/templates/power_shutdown.html:26 templates/app-header.html:68
+#: modules/power/templates/power_shutdown.html:26 templates/app-header.html:65
msgid "Learn more..."
msgstr ""
@@ -3211,7 +3260,7 @@ msgid "Web conference"
msgstr ""
#: modules/janus/templates/janus_video_room.html:205
-#: modules/jsxc/templates/jsxc_launch.html:117 templates/base.html:271
+#: modules/jsxc/templates/jsxc_launch.html:117 templates/base.html:273
msgid "JavaScript license information"
msgstr ""
@@ -3579,7 +3628,7 @@ msgid ""
"least one domain to be able to use Matrix Synapse."
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:15
+#: modules/matrixsynapse/templates/matrix-synapse.html:20
#, python-format
msgid ""
"The Matrix server domain is set to %(domain_name)s. User IDs will "
@@ -3587,43 +3636,43 @@ msgid ""
"the initial setup is currently not supported."
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:22
+#: modules/matrixsynapse/templates/matrix-synapse.html:27
msgid ""
"New users can be registered from any client if public registration is "
"enabled."
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:29
+#: modules/matrixsynapse/templates/matrix-synapse.html:34
msgid ""
"New users must use one of the following tokens for verification during "
"account registration:"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:38
+#: modules/matrixsynapse/templates/matrix-synapse.html:43
msgid "Registration Token"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:39
+#: modules/matrixsynapse/templates/matrix-synapse.html:44
msgid "Uses Allowed"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:40
+#: modules/matrixsynapse/templates/matrix-synapse.html:45
msgid "Pending Registrations"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:41
+#: modules/matrixsynapse/templates/matrix-synapse.html:46
msgid "Completed Registrations"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:42
+#: modules/matrixsynapse/templates/matrix-synapse.html:47
msgid "Expiry Time"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:51
+#: modules/matrixsynapse/templates/matrix-synapse.html:56
msgid "Unlimited"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:80
+#: modules/matrixsynapse/templates/matrix-synapse.html:85
#, python-format
msgid ""
"The configured domain name is using a self-signed certificate. Federation "
@@ -4034,23 +4083,27 @@ msgstr ""
msgid "An error occurred during password reset: {error}."
msgstr ""
-#: modules/mumble/__init__.py:25
+#: modules/mumble/__init__.py:27
msgid ""
"Mumble is an open source, low-latency, encrypted, high quality voice chat "
"software."
msgstr ""
-#: modules/mumble/__init__.py:27
+#: modules/mumble/__init__.py:29
msgid ""
"You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your "
"desktop and mobile devices are available."
msgstr ""
-#: modules/mumble/__init__.py:45 modules/mumble/manifest.py:9
+#: modules/mumble/__init__.py:47 modules/mumble/manifest.py:9
msgid "Mumble"
msgstr ""
+#: modules/mumble/__init__.py:158
+msgid "Mumble server is configured"
+msgstr ""
+
#: modules/mumble/forms.py:30
msgid "Set SuperUser Password"
msgstr ""
@@ -4175,10 +4228,6 @@ msgid ""
"or less."
msgstr ""
-#: modules/names/manifest.py:11 modules/names/templates/names.html:12
-msgid "Domains"
-msgstr ""
-
#: modules/names/manifest.py:13
msgid "DNS Resolution"
msgstr ""
@@ -4677,7 +4726,7 @@ msgstr ""
#: modules/networks/templates/connection_show.html:40
#: modules/wireguard/templates/wireguard_show_client.html:72
#: modules/wireguard/templates/wireguard_show_server.html:73
-#: templates/base.html:165 templates/base.html:166
+#: templates/base.html:167 templates/base.html:168
msgid "Edit"
msgstr ""
@@ -4730,7 +4779,7 @@ msgstr ""
#: modules/networks/templates/connection_show.html:107
#: modules/snapshot/templates/snapshot_delete_selected.html:19
-#: modules/snapshot/templates/snapshot_manage.html:29
+#: modules/snapshot/templates/snapshot_manage.html:34
#: modules/snapshot/templates/snapshot_rollback.html:27
msgid "Description"
msgstr ""
@@ -4808,8 +4857,8 @@ msgstr ""
#: modules/networks/templates/connection_show.html:264
#: modules/networks/templates/connections_fields_privacy.html:15
-#: modules/openvpn/manifest.py:60 modules/privacy/__init__.py:32
-#: modules/privacy/__init__.py:72 modules/wireguard/manifest.py:45
+#: modules/openvpn/manifest.py:60 modules/privacy/__init__.py:38
+#: modules/privacy/__init__.py:77 modules/wireguard/manifest.py:45
msgid "Privacy"
msgstr ""
@@ -4893,7 +4942,7 @@ msgstr ""
msgid "Computer"
msgstr ""
-#: modules/networks/templates/connections_edit.html:19
+#: modules/networks/templates/connections_edit.html:24
#: modules/networks/views.py:253 modules/networks/views.py:341
msgid "Edit Connection"
msgstr ""
@@ -4904,7 +4953,7 @@ msgid "Error:"
msgstr ""
#: modules/networks/templates/connections_fields.html:20
-#: modules/users/templates/users_update.html:46 templates/messages.html:30
+#: modules/users/templates/users_update.html:51 templates/messages.html:30
msgid "Close"
msgstr ""
@@ -4996,7 +5045,7 @@ msgstr ""
#: modules/networks/templates/network_topology_update.html:18
#: modules/networks/templates/router_configuration_update.html:19
#: modules/pagekite/templates/pagekite_custom_services.html:33
-#: modules/sharing/templates/sharing_add_edit.html:20 templates/form.html:19
+#: modules/sharing/templates/sharing_add_edit.html:25 templates/form.html:19
msgid "Submit"
msgstr ""
@@ -5390,11 +5439,7 @@ msgid ""
"performed following an independent cycle."
msgstr ""
-#: modules/nextcloud/__init__.py:48
-msgid "This app is experimental."
-msgstr ""
-
-#: modules/nextcloud/__init__.py:66 modules/nextcloud/manifest.py:11
+#: modules/nextcloud/__init__.py:65 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
msgid "Nextcloud"
msgstr ""
@@ -5560,7 +5605,7 @@ msgstr ""
msgid "PageKite"
msgstr ""
-#: modules/pagekite/__init__.py:73
+#: modules/pagekite/__init__.py:72
msgid "PageKite Domain"
msgstr ""
@@ -5739,8 +5784,8 @@ msgstr ""
msgid "Shutdown"
msgstr ""
-#: modules/power/templates/power.html:15 templates/base.html:180
-#: templates/base.html:181
+#: modules/power/templates/power.html:15 templates/base.html:182
+#: templates/base.html:183
msgid "Restart"
msgstr ""
@@ -5776,23 +5821,33 @@ msgstr ""
msgid "Shut Down Now"
msgstr ""
-#: modules/privacy/__init__.py:15
+#: modules/privacy/__init__.py:21
msgid "Manage system-wide privacy settings."
msgstr ""
-#: modules/privacy/__init__.py:70
+#: modules/privacy/__init__.py:75
msgid "Please update privacy settings to match your preferences."
msgstr ""
-#: modules/privacy/__init__.py:75
+#: modules/privacy/__init__.py:80
msgid "Review privacy setting"
msgstr ""
-#: modules/privacy/forms.py:16
+#: modules/privacy/forms.py:17
+#, python-brace-format
+msgid ""
+"Optional Value. This URL is used to determine the publicly visible IP "
+"address of your {box_name}. The URL should simply return the IPv4 or IPv6 "
+"address where the client request comes from. Default is to use the service "
+"provided by the FreedomBox Foundation at https://ddns.freedombox.org/ip/. If "
+"empty, lookups are disabled and some functionality will fail."
+msgstr ""
+
+#: modules/privacy/forms.py:25
msgid "Periodically submit a list of apps used (suggested)"
msgstr ""
-#: modules/privacy/forms.py:18
+#: modules/privacy/forms.py:27
#, python-brace-format
msgid ""
"Help Debian/{box_name} developers by participating in the Popularity Contest "
@@ -5803,11 +5858,11 @@ msgid ""
"network for additional anonymity if Tor app is enabled."
msgstr ""
-#: modules/privacy/forms.py:28
+#: modules/privacy/forms.py:37
msgid "Allow using fallback DNS servers"
msgstr ""
-#: modules/privacy/forms.py:30
+#: modules/privacy/forms.py:39
msgid ""
"Use well-known public DNS servers to resolve domain names in unusual "
"circumstances where no DNS servers are known but internet connectivity is "
@@ -5815,10 +5870,18 @@ msgid ""
"and reliable."
msgstr ""
+#: modules/privacy/forms.py:45
+msgid "URL to look up public IP address"
+msgstr ""
+
#: modules/privacy/manifest.py:10
msgid "Usage reporting"
msgstr ""
+#: modules/privacy/manifest.py:10
+msgid "External services"
+msgstr ""
+
#: modules/privacy/manifest.py:10
msgid "Fallback DNS"
msgstr ""
@@ -6728,40 +6791,40 @@ msgid "Delete the following snapshots permanently?"
msgstr ""
#: modules/snapshot/templates/snapshot_delete_selected.html:17
-#: modules/snapshot/templates/snapshot_manage.html:27
+#: modules/snapshot/templates/snapshot_manage.html:32
#: modules/snapshot/templates/snapshot_rollback.html:25
msgid "Number"
msgstr ""
#: modules/snapshot/templates/snapshot_delete_selected.html:18
-#: modules/snapshot/templates/snapshot_manage.html:28
+#: modules/snapshot/templates/snapshot_manage.html:33
#: modules/snapshot/templates/snapshot_rollback.html:26
msgid "Date"
msgstr ""
#: modules/snapshot/templates/snapshot_delete_selected.html:42
-#: modules/snapshot/templates/snapshot_manage.html:20
+#: modules/snapshot/templates/snapshot_manage.html:25
#: modules/snapshot/views.py:197
msgid "Delete Snapshots"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:17
+#: modules/snapshot/templates/snapshot_manage.html:22
msgid "Create Snapshot"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:30
+#: modules/snapshot/templates/snapshot_manage.html:35
msgid "Rollback"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:40
+#: modules/snapshot/templates/snapshot_manage.html:45
msgid "will be used at next boot"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:45
+#: modules/snapshot/templates/snapshot_manage.html:50
msgid "in use"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:54
+#: modules/snapshot/templates/snapshot_manage.html:59
#, python-format
msgid "Rollback to snapshot #%(number)s"
msgstr ""
@@ -7292,27 +7355,27 @@ msgstr ""
msgid "Tor"
msgstr ""
-#: modules/tor/__init__.py:78
+#: modules/tor/__init__.py:77
msgid "Tor Onion Service"
msgstr ""
-#: modules/tor/__init__.py:82
+#: modules/tor/__init__.py:81
msgid "Tor Bridge Relay"
msgstr ""
-#: modules/tor/__init__.py:140
+#: modules/tor/__init__.py:139
msgid "Tor relay port available"
msgstr ""
-#: modules/tor/__init__.py:152
+#: modules/tor/__init__.py:151
msgid "Obfs3 transport registered"
msgstr ""
-#: modules/tor/__init__.py:163
+#: modules/tor/__init__.py:162
msgid "Obfs4 transport registered"
msgstr ""
-#: modules/tor/__init__.py:176
+#: modules/tor/__init__.py:175
msgid "Onion service is version 3"
msgstr ""
@@ -7402,7 +7465,7 @@ msgstr ""
msgid "Anonymity network"
msgstr ""
-#: modules/tor/templates/tor.html:18
+#: modules/tor/templates/tor.html:23
msgid "Onion Service"
msgstr ""
@@ -7965,39 +8028,39 @@ msgstr ""
msgid "Edit user %(username)s"
msgstr ""
-#: modules/users/templates/users_update.html:12
+#: modules/users/templates/users_update.html:17
#, python-format
msgid "Edit User %(username)s"
msgstr ""
-#: modules/users/templates/users_update.html:20
+#: modules/users/templates/users_update.html:25
#, python-format
msgid ""
"Use the change password form to "
"change the password."
msgstr ""
-#: modules/users/templates/users_update.html:32
+#: modules/users/templates/users_update.html:37
#: templates/language-selection.html:17
msgid "Save Changes"
msgstr ""
-#: modules/users/templates/users_update.html:41
+#: modules/users/templates/users_update.html:46
#, python-format
msgid "Delete user %(username)s and all the user's files?"
msgstr ""
-#: modules/users/templates/users_update.html:51
+#: modules/users/templates/users_update.html:56
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
msgstr ""
-#: modules/users/templates/users_update.html:60
+#: modules/users/templates/users_update.html:65
msgid "Delete user and files"
msgstr ""
-#: modules/users/templates/users_update.html:63
+#: modules/users/templates/users_update.html:68
msgid "Cancel"
msgstr ""
@@ -8620,11 +8683,11 @@ msgstr ""
msgid "Service %(service_name)s is not running."
msgstr ""
-#: templates/apps.html:29
+#: templates/apps.html:33
msgid "Search with tags"
msgstr ""
-#: templates/apps.html:42
+#: templates/apps.html:46
msgid "Clear all tags"
msgstr ""
@@ -8634,35 +8697,35 @@ msgid ""
"is free software that lets you install and manage server apps with ease."
msgstr ""
-#: templates/base.html:116
+#: templates/base.html:118
msgid " Home"
msgstr ""
-#: templates/base.html:124
+#: templates/base.html:126
msgid " Apps"
msgstr ""
-#: templates/base.html:133
+#: templates/base.html:135
msgid " System"
msgstr ""
-#: templates/base.html:172 templates/base.html:173
+#: templates/base.html:174 templates/base.html:175
msgid "Change password"
msgstr ""
-#: templates/base.html:186 templates/base.html:187
+#: templates/base.html:188 templates/base.html:189
msgid "Shut down"
msgstr ""
-#: templates/base.html:197 templates/base.html:235
+#: templates/base.html:199 templates/base.html:237
msgid "Log out"
msgstr ""
-#: templates/base.html:206 templates/base.html:209
+#: templates/base.html:208 templates/base.html:211
msgid "Select language"
msgstr ""
-#: templates/base.html:224 templates/base.html:226
+#: templates/base.html:226 templates/base.html:228
msgid "Log in"
msgstr ""
@@ -8862,20 +8925,20 @@ msgid ""
"installed freshly again."
msgstr ""
-#: views.py:85
+#: views.py:84
msgid "Here"
msgstr ""
-#: views.py:374
+#: views.py:376
msgid "Setting unchanged"
msgstr ""
-#: views.py:609
+#: views.py:610
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""
-#: web_framework.py:114
+#: web_framework.py:122
msgid "Gujarati"
msgstr ""
diff --git a/plinth/locale/nb/LC_MESSAGES/django.po b/plinth/locale/nb/LC_MESSAGES/django.po
index eb8919746..35e693f81 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-12-30 20:05-0500\n"
+"POT-Creation-Date: 2025-01-13 20:33-0500\n"
"PO-Revision-Date: 2024-10-27 23:30+0000\n"
"Last-Translator: Sunil Mohan Adapa
SSH key-based authentication is not yet "
"possible."
@@ -462,18 +464,18 @@ msgstr ""
"Passord til SSH-tjeneren.
Nøkkelbasert SSH-autentisering er foreløbig "
"ikke mulig."
-#: modules/backups/forms.py:273
+#: modules/backups/forms.py:275
msgid "Remote backup repository already exists."
msgstr "Kodelager annensteds hen for sikkerhetskopi finnes allerede."
-#: modules/backups/forms.py:279
+#: modules/backups/forms.py:281
msgid "Select verified SSH public key"
msgstr "Velg bekreftet offentlig SSH-nøkkel"
#: modules/backups/manifest.py:14
#: modules/backups/templates/backups_repository.html:92
#: modules/backups/templates/backups_restore.html:27
-#: modules/backups/views.py:240 modules/snapshot/manifest.py:14
+#: modules/backups/views.py:238 modules/snapshot/manifest.py:14
#: templates/toolbar.html:44 templates/toolbar.html:45
msgid "Restore"
msgstr "Gjenopprett"
@@ -557,16 +559,20 @@ msgstr ""
msgid "Backup system is busy with another operation."
msgstr ""
+#: modules/backups/privileged.py:92
+msgid "Not enough space left on the disk or remote location."
+msgstr ""
+
#: modules/backups/repository.py:94
msgid "Existing repository is not encrypted."
msgstr "Eksisterende pakkebrønn er ikke kryptert."
-#: modules/backups/repository.py:266
+#: modules/backups/repository.py:289
#, python-brace-format
msgid "{box_name} storage"
msgstr "{box_name} lager"
-#: modules/backups/templates/backups.html:17 modules/backups/views.py:125
+#: modules/backups/templates/backups.html:17 modules/backups/views.py:124
msgid "Create a new backup"
msgstr "Lag ny sikkerhetskopi"
@@ -610,10 +616,9 @@ msgstr "Eksisterende sikkerhetskopier"
#: modules/help/templates/statuslog.html:24
#: modules/kiwix/templates/kiwix-add-package.html:26
#: modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:28
-#: modules/matrixsynapse/templates/matrix-synapse.html:76
+#: modules/matrixsynapse/templates/matrix-synapse.html:81
#: modules/names/templates/names.html:128
#: modules/networks/templates/connection_show.html:24
-#: modules/nextcloud/__init__.py:48
#: modules/pagekite/templates/pagekite_custom_services.html:16
#: modules/power/templates/power_busy_warning.html:11
#: modules/snapshot/templates/snapshot_not_supported.html:13
@@ -776,111 +781,111 @@ msgstr ""
msgid "Verify Host"
msgstr "Bekreft vert"
-#: modules/backups/views.py:69
+#: modules/backups/views.py:68
msgid "Backup schedule updated."
msgstr "Sikkerhetskopieringstidsplan oppdatert."
-#: modules/backups/views.py:88
+#: modules/backups/views.py:87
msgid "Schedule Backups"
msgstr "Tidsplan for sikkerhetskopiering"
-#: modules/backups/views.py:150
+#: modules/backups/views.py:148
msgid "Archive created."
msgstr "Arkiv opprettet."
-#: modules/backups/views.py:162
+#: modules/backups/views.py:160
msgid "Delete Archive"
msgstr "Slett arkiv"
-#: modules/backups/views.py:175
+#: modules/backups/views.py:173
msgid "Archive deleted."
msgstr "Arkiv slettet."
-#: modules/backups/views.py:189
+#: modules/backups/views.py:187
msgid "Upload and restore a backup"
msgstr "Last opp og tilbakefør en sikkerhetskopi"
-#: modules/backups/views.py:218
+#: modules/backups/views.py:216
#, fuzzy
#| msgid "Password changed successfully."
msgid "Upload successful."
msgstr "Vellykket passordbytte."
-#: modules/backups/views.py:256
+#: modules/backups/views.py:254
msgid "No backup file found."
msgstr "Fant ingen sikkerhetskopifiler."
-#: modules/backups/views.py:264
+#: modules/backups/views.py:262
msgid "Restore from uploaded file"
msgstr "Gjenopprett fra opplastet fil"
-#: modules/backups/views.py:278 modules/backups/views.py:299
+#: modules/backups/views.py:276 modules/backups/views.py:297
msgid "Restored files from backup."
msgstr "Gjenopprettede filer fra sikkerhetskopi."
-#: modules/backups/views.py:329
+#: modules/backups/views.py:327
msgid "No additional disks available to add a repository."
msgstr "Ingen ytterligere disker tilgjengelig for opprettelse av kodelager."
-#: modules/backups/views.py:337
+#: modules/backups/views.py:335
msgid "Create backup repository"
msgstr "Opprett kodelager for sikkerhetskopier"
-#: modules/backups/views.py:352
+#: modules/backups/views.py:350
#, fuzzy
#| msgid "Added new remote SSH repository."
msgid "Added new repository."
msgstr "La til nytt SSH-kodelager annensteds fra."
-#: modules/backups/views.py:366
+#: modules/backups/views.py:364
msgid "Create remote backup repository"
msgstr "Opprett kodelager annensteds hen for sikkerhetskopi"
-#: modules/backups/views.py:388
+#: modules/backups/views.py:386
msgid "Added new remote SSH repository."
msgstr "La til nytt SSH-kodelager annensteds fra."
-#: modules/backups/views.py:410
+#: modules/backups/views.py:408
msgid "Verify SSH hostkey"
msgstr "Bekreft SSH-vertsnøkkel"
-#: modules/backups/views.py:436
+#: modules/backups/views.py:434
msgid "SSH host already verified."
msgstr "SSH-vert allerede bekreftet."
-#: modules/backups/views.py:447
+#: modules/backups/views.py:445
msgid "SSH host verified."
msgstr "SSH-vert bekreftet."
-#: modules/backups/views.py:463
+#: modules/backups/views.py:461
msgid "SSH host public key could not be verified."
msgstr "Offentlig nøkkel tilhørende SSH-vert kunne ikke bekreftes."
-#: modules/backups/views.py:465
+#: modules/backups/views.py:463
msgid "Authentication to remote server failed."
msgstr "Identitetsbekreftelse til fjerntjener mislyktes."
-#: modules/backups/views.py:467
+#: modules/backups/views.py:465
msgid "Error establishing connection to server: {}"
msgstr "Klarte ikke å koble til tjener: {}"
-#: modules/backups/views.py:478
+#: modules/backups/views.py:476
msgid "Repository removed."
msgstr "Kodelager fjernet."
-#: modules/backups/views.py:492
+#: modules/backups/views.py:490
msgid "Remove Repository"
msgstr "Fjern kodelager"
-#: modules/backups/views.py:502
+#: modules/backups/views.py:500
msgid "Repository removed. Backups were not deleted."
msgstr "Kodelager fjernet. Sikkerhetskopier ble ikke slettet."
-#: modules/backups/views.py:513
+#: modules/backups/views.py:511
msgid "Unmounting failed!"
msgstr "Klarte ikke å avmontere!"
-#: modules/backups/views.py:529 modules/backups/views.py:533
+#: modules/backups/views.py:527 modules/backups/views.py:531
msgid "Mounting failed"
msgstr "Montering feilet"
@@ -1006,7 +1011,7 @@ msgstr "Legg til passord"
msgid "No passwords currently configured."
msgstr "Ingen passord er foreløpig satt opp."
-#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:91
+#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:83
#: modules/miniflux/forms.py:14 modules/networks/forms.py:282
#: modules/shadowsocks/forms.py:32 modules/shadowsocksserver/forms.py:37
msgid "Password"
@@ -1134,8 +1139,10 @@ msgstr ""
msgid "Serving Domains"
msgstr "Betjener domener"
-#: modules/bind/templates/bind.html:17 modules/email/templates/email.html:38
-#: modules/ikiwiki/forms.py:12 modules/names/templates/names.html:18
+#: modules/bind/templates/bind.html:17
+#: modules/email/templates/email-dns.html:25
+#: modules/email/templates/email-dns.html:78 modules/ikiwiki/forms.py:12
+#: modules/names/templates/names.html:18
#: modules/networks/templates/connection_show.html:95
#: modules/samba/templates/samba.html:65
#: modules/storage/templates/storage.html:26
@@ -1165,7 +1172,7 @@ msgstr "Oppdater IP-adresse og domener"
#: modules/minetest/views.py:55 modules/mumble/views.py:37
#: modules/names/views.py:66 modules/names/views.py:95
#: modules/names/views.py:129 modules/pagekite/forms.py:74
-#: modules/privacy/views.py:50 modules/quassel/views.py:29
+#: modules/privacy/views.py:55 modules/quassel/views.py:29
#: modules/roundcube/views.py:32 modules/rssbridge/views.py:31
#: modules/shadowsocks/views.py:52 modules/shadowsocksserver/views.py:48
#: modules/ssh/views.py:62 modules/transmission/views.py:43
@@ -1850,7 +1857,7 @@ msgid "Test"
msgstr "Test"
#: modules/diagnostics/templates/diagnostics_results.html:12
-#: modules/dynamicdns/templates/dynamicdns.html:20
+#: modules/dynamicdns/templates/dynamicdns.html:25
msgid "Result"
msgstr "Resultat"
@@ -1863,7 +1870,7 @@ msgstr "Diagnostikktest"
msgid "App {app_id} is not installed, cannot repair"
msgstr ""
-#: modules/dynamicdns/__init__.py:28
+#: modules/dynamicdns/__init__.py:29
#, python-brace-format
msgid ""
"If your Internet provider changes your IP address periodically (i.e. every "
@@ -1874,7 +1881,7 @@ msgstr ""
"eks. hver 24 t), kan det være vanskelig for andre å finne deg på Internett. "
"Dette vil hindre andre i å finne tjenester som tilbys av dette {box_name}et."
-#: modules/dynamicdns/__init__.py:32
+#: modules/dynamicdns/__init__.py:33
msgid ""
"The solution is to assign a DNS name to your IP address and update the DNS "
"name every time your IP is changed by your Internet provider. Dynamic DNS "
@@ -1891,7 +1898,7 @@ msgstr ""
"tjeneren tildele DNS-navnet ditt til den nye IP-en. Hvis noen fra Internett "
"ber om ditt DNS-navn, vil de da få svar med din gjeldende IP-adresse."
-#: modules/dynamicdns/__init__.py:40
+#: modules/dynamicdns/__init__.py:41
#, fuzzy
#| msgid ""
#| "If you are looking for a free dynamic DNS account, you may find a free "
@@ -1911,11 +1918,17 @@ msgstr ""
"URL-baserte oppdateringstjenester her freedns.afraid.org ."
-#: modules/dynamicdns/__init__.py:61
+#: modules/dynamicdns/__init__.py:46
+msgid ""
+"This service uses an external service to lookup public IP address. This can "
+"be configured in the privacy app."
+msgstr ""
+
+#: modules/dynamicdns/__init__.py:64
msgid "Dynamic DNS Client"
msgstr "Dynamisk DNS-klient"
-#: modules/dynamicdns/__init__.py:75
+#: modules/dynamicdns/__init__.py:78
msgid "Dynamic Domain Name"
msgstr "Dynamisk domenenavn"
@@ -1972,95 +1985,73 @@ msgid "Leave this field empty if you want to keep your current password."
msgstr "La dette feltet stå tomt hvis du vil beholde ditt nåværende passord."
#: modules/dynamicdns/forms.py:43
-#, fuzzy, python-brace-format
-#| msgid ""
-#| "Optional Value. If your {box_name} is not connected directly to the "
-#| "Internet (i.e. connected to a NAT router) this URL is used to determine "
-#| "the real IP address. The URL should simply return the IP where the client "
-#| "comes from (example: http://myip.datasystems24.de)."
-msgid ""
-"Optional Value. If your {box_name} is not connected directly to the Internet "
-"(i.e. connected to a NAT router) this URL is used to determine the real IP "
-"address. The URL should simply return the IP where the client comes from "
-"(example: https://ddns.freedombox.org/ip/)."
-msgstr ""
-"Valgfri verdi. Hvis ditt {box_name} ikke er koblet direkte til Internett "
-"(dvs. koblet til en NAT-ruter), blir denne nettadressen brukt til å finne "
-"den virkelige Internett-IP-en. Nettadressen skal bare returnere IP-en som "
-"tjeneren kommer fra (eksempelvis: http://myip.datasystems24.de)."
-
-#: modules/dynamicdns/forms.py:51
msgid "The username that was used when the account was created."
msgstr "Brukernavnet som ble benyttet da kontoen ble opprettet."
-#: modules/dynamicdns/forms.py:54
+#: modules/dynamicdns/forms.py:46
msgid "GnuDIP"
msgstr "GnuDIP"
-#: modules/dynamicdns/forms.py:57
+#: modules/dynamicdns/forms.py:49
#, fuzzy
#| msgid "Update URL"
msgid "Other update URL"
msgstr "Oppdater URL"
-#: modules/dynamicdns/forms.py:59
+#: modules/dynamicdns/forms.py:51
msgid "Service Type"
msgstr "Type tjeneste"
-#: modules/dynamicdns/forms.py:64
+#: modules/dynamicdns/forms.py:56
msgid "GnuDIP Server Address"
msgstr "GnuDIP-tjeneradresse"
-#: modules/dynamicdns/forms.py:67
+#: modules/dynamicdns/forms.py:59
msgid "Invalid server name"
msgstr "Ugyldig tjenernavn"
-#: modules/dynamicdns/forms.py:70
+#: modules/dynamicdns/forms.py:62
msgid "Update URL"
msgstr "Oppdater URL"
-#: modules/dynamicdns/forms.py:74
+#: modules/dynamicdns/forms.py:66
msgid "Accept all SSL certificates"
msgstr "Godta alle SSL-sertifikater"
-#: modules/dynamicdns/forms.py:78
+#: modules/dynamicdns/forms.py:70
msgid "Use HTTP basic authentication"
msgstr "Bruk HTTP-basisgodkjenning"
-#: modules/dynamicdns/forms.py:82 modules/names/__init__.py:68
+#: modules/dynamicdns/forms.py:74 modules/names/__init__.py:68
#: modules/names/forms.py:106 modules/names/templates/names.html:19
msgid "Domain Name"
msgstr "Domenenavn"
-#: modules/dynamicdns/forms.py:85 modules/names/forms.py:99
+#: modules/dynamicdns/forms.py:77 modules/names/forms.py:99
#: modules/names/forms.py:117
msgid "Invalid domain name"
msgstr "Ugyldig domenenavn"
-#: modules/dynamicdns/forms.py:88 modules/miniflux/forms.py:11
+#: modules/dynamicdns/forms.py:80 modules/miniflux/forms.py:11
#: modules/networks/forms.py:281 modules/users/forms.py:130
msgid "Username"
msgstr "Brukernavn"
-#: modules/dynamicdns/forms.py:95 modules/networks/forms.py:284
+#: modules/dynamicdns/forms.py:87 modules/networks/forms.py:284
msgid "Show password"
msgstr "Vis passord"
-#: modules/dynamicdns/forms.py:99
-msgid "URL to look up public IP"
-msgstr "URL for å slå opp offentlig IP"
-
-#: modules/dynamicdns/forms.py:104
+#: modules/dynamicdns/forms.py:91
msgid "Use IPv6 instead of IPv4"
msgstr "Bruk IPv6 istedenfor IPv4"
-#: modules/dynamicdns/forms.py:123
+#: modules/dynamicdns/forms.py:110
msgid "This field is required."
msgstr ""
#: modules/dynamicdns/manifest.py:17
-#: modules/dynamicdns/templates/dynamicdns.html:18
-#: modules/email/templates/email.html:35
+#: modules/dynamicdns/templates/dynamicdns.html:23
+#: modules/email/templates/email-dns.html:22
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64
msgid "Domain"
@@ -2076,43 +2067,43 @@ msgstr ""
msgid "Needs public IP"
msgstr "Offentlig tjener-nøkkel:"
-#: modules/dynamicdns/templates/dynamicdns.html:11
-#: modules/ejabberd/templates/ejabberd.html:13 modules/firewall/manifest.py:10
+#: modules/dynamicdns/templates/dynamicdns.html:16
+#: modules/ejabberd/templates/ejabberd.html:18 modules/firewall/manifest.py:10
#: modules/firewall/templates/firewall.html:16
#: modules/firewall/templates/firewall.html:22
#: modules/letsencrypt/templates/letsencrypt.html:17
-#: modules/matrixsynapse/templates/matrix-synapse.html:12
+#: modules/matrixsynapse/templates/matrix-synapse.html:17
#: modules/networks/templates/connection_show.html:258
-#: modules/samba/templates/samba.html:67 modules/tor/templates/tor.html:19
+#: modules/samba/templates/samba.html:67 modules/tor/templates/tor.html:24
#: modules/upgrades/templates/upgrades_configure.html:14
#: modules/wireguard/templates/wireguard_show_client.html:48
#: modules/wireguard/templates/wireguard_show_server.html:47
msgid "Status"
msgstr "Status"
-#: modules/dynamicdns/templates/dynamicdns.html:19
+#: modules/dynamicdns/templates/dynamicdns.html:24
msgid "Last update"
msgstr "Siste oppdatering"
-#: modules/dynamicdns/templates/dynamicdns.html:21
+#: modules/dynamicdns/templates/dynamicdns.html:26
#, fuzzy
#| msgid "IP address"
msgid "IP Address"
msgstr "IP-adresse"
-#: modules/dynamicdns/templates/dynamicdns.html:32
+#: modules/dynamicdns/templates/dynamicdns.html:37
#, fuzzy
#| msgid "Access Point"
msgid "Success"
msgstr "Aksesspunkt"
-#: modules/dynamicdns/templates/dynamicdns.html:36
+#: modules/dynamicdns/templates/dynamicdns.html:41
#, fuzzy
#| msgid "failed"
msgid "Failed"
msgstr "feilet"
-#: modules/dynamicdns/templates/dynamicdns.html:52
+#: modules/dynamicdns/templates/dynamicdns.html:57
#, fuzzy
#| msgid "No libraries available."
msgid "No status available."
@@ -2289,7 +2280,7 @@ msgstr "Videorom"
msgid "XMPP"
msgstr ""
-#: modules/ejabberd/templates/ejabberd.html:18
+#: modules/ejabberd/templates/ejabberd.html:23
#, fuzzy, python-format
#| msgid ""
#| "Your XMPP server domain is set to %(domainname)s. User IDs will "
@@ -2304,7 +2295,7 @@ msgstr ""
"se slik ut: username@%(domainname)s. Du kan sette opp ditt domene på "
"systemsiden Configure ."
-#: modules/ejabberd/templates/ejabberd.html:25
+#: modules/ejabberd/templates/ejabberd.html:30
#, fuzzy, python-format
#| msgid ""
#| "Your XMPP server domain is set to %(domainname)s. User IDs will "
@@ -2366,18 +2357,20 @@ msgstr "Enhver annen e-posttjener vil bli avinstallert under installasjonen."
msgid "Postfix/Dovecot"
msgstr "Postfix/Dovecot"
-#: modules/email/__init__.py:83
+#: modules/email/__init__.py:80
+msgid "More emails"
+msgstr ""
+
+#: modules/email/__init__.py:80
+msgid "Same mailbox"
+msgstr ""
+
+#: modules/email/__init__.py:82
#, fuzzy
#| msgid "Manage Libraries"
msgid "My Email Aliases"
msgstr "Håndter biblioteker"
-#: modules/email/__init__.py:84
-#, fuzzy
-#| msgid "Manage Libraries"
-msgid "Manage Aliases for Mailbox"
-msgstr "Håndter biblioteker"
-
#: modules/email/forms.py:25
#, fuzzy
#| msgid "Primary connection"
@@ -2466,45 +2459,96 @@ msgstr "Lag ny sikkerhetskopi"
msgid "Add"
msgstr "Legg til"
+#: modules/email/templates/email-dns.html:9
+#, fuzzy
+#| msgid "Server domain"
+msgid "DNS Records for domain:"
+msgstr "Tjenerdomene"
+
+#: modules/email/templates/email-dns.html:12
+msgid ""
+"The following DNS records must be added manually on this domain for the mail "
+"server to work properly for this domain."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:23
+#: modules/email/templates/email-dns.html:77
+msgid "TTL"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:24
+msgid "Class"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:26
+msgid "Priority"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:27
+msgid "Weight"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:28
+#: modules/minetest/templates/minetest.html:18
+msgid "Port"
+msgstr "Port"
+
+#: modules/email/templates/email-dns.html:29
+#: modules/email/templates/email-dns.html:79
+msgid "Host/Target/Value"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:50
+#, fuzzy
+#| msgid "Server hostname or IP address"
+msgid "Reverse DNS Records for IP Addresses"
+msgstr "Tjernens vertsnavn eller IP-adresse"
+
+#: modules/email/templates/email-dns.html:53
+#, python-format
+msgid ""
+"If your %(box_name)s runs on a cloud service infrastructure, you should "
+"configure "
+"Reverse DNS lookup. This isn't mandatory, however, it greatly improves "
+"email deliverability. Reverse DNS isn't configured where your regular DNS "
+"is. You should look for it in the settings of your VPS/ISP. Some providers "
+"preconfigure the IP address part for you and you only have to set the domain "
+"part. Only one of your domains can have Revese DNS lookup configured unless "
+"you have multiple public IP addresses."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:66
+msgid ""
+"An external service is used to lookup public IP address to show in the "
+"following section. This can be configured in the privacy app."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:76
+#, fuzzy
+#| msgid "Hostname"
+msgid "Host"
+msgstr "Vertsnavn"
+
#: modules/email/templates/email.html:10
#, fuzzy
#| msgid "Manage Snapshots"
msgid "Manage Spam"
msgstr "Behandle avbildninger"
-#: modules/email/templates/email.html:22
-msgid "DNS Records"
-msgstr ""
+#: modules/email/templates/email.html:20 modules/names/manifest.py:11
+#: modules/names/templates/names.html:12
+msgid "Domains"
+msgstr "Domener"
-#: modules/email/templates/email.html:25
+#: modules/email/templates/email.html:23
msgid ""
-"The following DNS records must be added manually on your primary domain for "
-"the mail server to work properly."
+"The following domains are configured. View details to see the list of DNS "
+"entries to be made for the domain."
msgstr ""
-#: modules/email/templates/email.html:36
-msgid "TTL"
-msgstr ""
-
-#: modules/email/templates/email.html:37
-msgid "Class"
-msgstr ""
-
-#: modules/email/templates/email.html:39
-msgid "Priority"
-msgstr ""
-
-#: modules/email/templates/email.html:40
-msgid "Weight"
-msgstr ""
-
-#: modules/email/templates/email.html:41
-#: modules/minetest/templates/minetest.html:18
-msgid "Port"
-msgstr "Port"
-
-#: modules/email/templates/email.html:42
-msgid "Host/Target/Value"
+#: modules/email/templates/email.html:35
+#, python-format
+msgid "View domain: %(domain)s"
msgstr ""
#: modules/featherwiki/__init__.py:25
@@ -2784,7 +2828,7 @@ msgstr "Port {name} ({details}) tilgjengelig på eksterne nettverk"
msgid "Port {name} ({details}) unavailable for external networks"
msgstr "Port {name} ({details}) er utilgjengelig for eksterne nettverk"
-#: modules/firewall/manifest.py:10 modules/tor/templates/tor.html:20
+#: modules/firewall/manifest.py:10 modules/tor/templates/tor.html:25
msgid "Ports"
msgstr "Porter"
@@ -3155,9 +3199,9 @@ msgstr "Send inn tilbakemeldinger"
msgid "Contribute"
msgstr "Bidra"
-#: modules/help/__init__.py:53 templates/base.html:215 templates/base.html:218
+#: modules/help/__init__.py:53 templates/base.html:217 templates/base.html:220
#: templates/help-menu.html:46 templates/help-menu.html:47
-#: templates/index.html:98
+#: templates/index.html:96
msgid "About"
msgstr "Om"
@@ -3326,7 +3370,7 @@ msgstr ""
#: modules/help/templates/help_contribute.html:42
#: modules/power/templates/power_restart.html:27
-#: modules/power/templates/power_shutdown.html:26 templates/app-header.html:68
+#: modules/power/templates/power_shutdown.html:26 templates/app-header.html:65
msgid "Learn more..."
msgstr "Lær mer…"
@@ -3711,7 +3755,7 @@ msgid "Web conference"
msgstr ""
#: modules/janus/templates/janus_video_room.html:205
-#: modules/jsxc/templates/jsxc_launch.html:117 templates/base.html:271
+#: modules/jsxc/templates/jsxc_launch.html:117 templates/base.html:273
msgid "JavaScript license information"
msgstr "JavaScript lisensinformasjon"
@@ -4153,7 +4197,7 @@ msgstr ""
"Det finnes ingen domener. Configure (Konfigurer)"
"a> minst ett domene for å kunne bruke Matrix Synapse."
-#: modules/matrixsynapse/templates/matrix-synapse.html:15
+#: modules/matrixsynapse/templates/matrix-synapse.html:20
#, python-format
msgid ""
"The Matrix server domain is set to %(domain_name)s. User IDs will "
@@ -4164,7 +4208,7 @@ msgstr ""
"se slik ut @username:%(domain_name)s. Endring av domenenavnet etter "
"det første oppsettet støttes ikke for øyeblikket."
-#: modules/matrixsynapse/templates/matrix-synapse.html:22
+#: modules/matrixsynapse/templates/matrix-synapse.html:27
msgid ""
"New users can be registered from any client if public registration is "
"enabled."
@@ -4172,45 +4216,45 @@ msgstr ""
"Nye brukere kan registrere seg fra enhver klient hvis offentlig registrering "
"er påskrudd."
-#: modules/matrixsynapse/templates/matrix-synapse.html:29
+#: modules/matrixsynapse/templates/matrix-synapse.html:34
msgid ""
"New users must use one of the following tokens for verification during "
"account registration:"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:38
+#: modules/matrixsynapse/templates/matrix-synapse.html:43
#, fuzzy
#| msgid "Skip Registration"
msgid "Registration Token"
msgstr "Sløyf registering (Registration)"
-#: modules/matrixsynapse/templates/matrix-synapse.html:39
+#: modules/matrixsynapse/templates/matrix-synapse.html:44
#, fuzzy
#| msgid "Allowed IPs"
msgid "Uses Allowed"
msgstr "Tillatte IP-er"
-#: modules/matrixsynapse/templates/matrix-synapse.html:40
+#: modules/matrixsynapse/templates/matrix-synapse.html:45
#, fuzzy
#| msgid "Skip Registration"
msgid "Pending Registrations"
msgstr "Sløyf registering (Registration)"
-#: modules/matrixsynapse/templates/matrix-synapse.html:41
+#: modules/matrixsynapse/templates/matrix-synapse.html:46
#, fuzzy
#| msgid "Skip Registration"
msgid "Completed Registrations"
msgstr "Sløyf registering (Registration)"
-#: modules/matrixsynapse/templates/matrix-synapse.html:42
+#: modules/matrixsynapse/templates/matrix-synapse.html:47
msgid "Expiry Time"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:51
+#: modules/matrixsynapse/templates/matrix-synapse.html:56
msgid "Unlimited"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:80
+#: modules/matrixsynapse/templates/matrix-synapse.html:85
#, python-format
msgid ""
"The configured domain name is using a self-signed certificate. Federation "
@@ -4710,7 +4754,7 @@ msgstr "Ugyldig brukernavn: {username}"
msgid "An error occurred during password reset: {error}."
msgstr "En feil oppsto under konfigureringen."
-#: modules/mumble/__init__.py:25
+#: modules/mumble/__init__.py:27
msgid ""
"Mumble is an open source, low-latency, encrypted, high quality voice chat "
"software."
@@ -4718,7 +4762,7 @@ msgstr ""
"Mumble er en åpen kildekode, rask, kryptert, høy kvalitets programvare for "
"nettprat."
-#: modules/mumble/__init__.py:27
+#: modules/mumble/__init__.py:29
#, fuzzy
#| msgid ""
#| "You can connect to your Mumble server on the regular Mumble port 64738. "
@@ -4733,10 +4777,16 @@ msgstr ""
"href=\"http://mumble.info\">Klienter for å koble til Mumble når "
"skrivebordet og/eller Android-enheter er tilgjengelige."
-#: modules/mumble/__init__.py:45 modules/mumble/manifest.py:9
+#: modules/mumble/__init__.py:47 modules/mumble/manifest.py:9
msgid "Mumble"
msgstr "Mumble"
+#: modules/mumble/__init__.py:158
+#, fuzzy
+#| msgid "Mumble server is running"
+msgid "Mumble server is configured"
+msgstr "Mumble-tjener kjører"
+
#: modules/mumble/forms.py:30
#, fuzzy
#| msgid "SSH server password"
@@ -4893,10 +4943,6 @@ msgstr ""
"bare bokstaver, tall og bindestreker. Lengden på hver merkelapp må være 63 "
"tegn, eller mindre. Lengden på domenenavnet må være 253 tegn, eller mindre."
-#: modules/names/manifest.py:11 modules/names/templates/names.html:12
-msgid "Domains"
-msgstr "Domener"
-
#: modules/names/manifest.py:13
#, fuzzy
#| msgid "Evolution"
@@ -5457,7 +5503,7 @@ msgstr "Rediger tilkobling"
#: modules/networks/templates/connection_show.html:40
#: modules/wireguard/templates/wireguard_show_client.html:72
#: modules/wireguard/templates/wireguard_show_server.html:73
-#: templates/base.html:165 templates/base.html:166
+#: templates/base.html:167 templates/base.html:168
msgid "Edit"
msgstr "Rediger"
@@ -5510,7 +5556,7 @@ msgstr "Grensesnitt"
#: modules/networks/templates/connection_show.html:107
#: modules/snapshot/templates/snapshot_delete_selected.html:19
-#: modules/snapshot/templates/snapshot_manage.html:29
+#: modules/snapshot/templates/snapshot_manage.html:34
#: modules/snapshot/templates/snapshot_rollback.html:27
msgid "Description"
msgstr "Beskrivelse"
@@ -5588,8 +5634,8 @@ msgstr "Denne forbindelsen er ikke aktiv."
#: modules/networks/templates/connection_show.html:264
#: modules/networks/templates/connections_fields_privacy.html:15
-#: modules/openvpn/manifest.py:60 modules/privacy/__init__.py:32
-#: modules/privacy/__init__.py:72 modules/wireguard/manifest.py:45
+#: modules/openvpn/manifest.py:60 modules/privacy/__init__.py:38
+#: modules/privacy/__init__.py:77 modules/wireguard/manifest.py:45
#, fuzzy
#| msgid "Privoxy"
msgid "Privacy"
@@ -5682,7 +5728,7 @@ msgstr "Intern"
msgid "Computer"
msgstr "Datamaskin"
-#: modules/networks/templates/connections_edit.html:19
+#: modules/networks/templates/connections_edit.html:24
#: modules/networks/views.py:253 modules/networks/views.py:341
msgid "Edit Connection"
msgstr "Endre oppkobling"
@@ -5695,7 +5741,7 @@ msgid "Error:"
msgstr "feil"
#: modules/networks/templates/connections_fields.html:20
-#: modules/users/templates/users_update.html:46 templates/messages.html:30
+#: modules/users/templates/users_update.html:51 templates/messages.html:30
msgid "Close"
msgstr "Lukk"
@@ -5798,7 +5844,7 @@ msgstr "Oppdater..."
#: modules/networks/templates/network_topology_update.html:18
#: modules/networks/templates/router_configuration_update.html:19
#: modules/pagekite/templates/pagekite_custom_services.html:33
-#: modules/sharing/templates/sharing_add_edit.html:20 templates/form.html:19
+#: modules/sharing/templates/sharing_add_edit.html:25 templates/form.html:19
msgid "Submit"
msgstr "Send inn"
@@ -6258,11 +6304,7 @@ msgid ""
"performed following an independent cycle."
msgstr ""
-#: modules/nextcloud/__init__.py:48
-msgid "This app is experimental."
-msgstr ""
-
-#: modules/nextcloud/__init__.py:66 modules/nextcloud/manifest.py:11
+#: modules/nextcloud/__init__.py:65 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
#, fuzzy
#| msgid "Next"
@@ -6494,7 +6536,7 @@ msgstr ""
msgid "PageKite"
msgstr "PageKite"
-#: modules/pagekite/__init__.py:73
+#: modules/pagekite/__init__.py:72
msgid "PageKite Domain"
msgstr "PageKite-domene"
@@ -6705,8 +6747,8 @@ msgstr ""
msgid "Shutdown"
msgstr "Slå av"
-#: modules/power/templates/power.html:15 templates/base.html:180
-#: templates/base.html:181
+#: modules/power/templates/power.html:15 templates/base.html:182
+#: templates/base.html:183
msgid "Restart"
msgstr "Omstart"
@@ -6750,23 +6792,33 @@ msgstr ""
msgid "Shut Down Now"
msgstr "Slå av nå"
-#: modules/privacy/__init__.py:15
+#: modules/privacy/__init__.py:21
msgid "Manage system-wide privacy settings."
msgstr ""
-#: modules/privacy/__init__.py:70
+#: modules/privacy/__init__.py:75
msgid "Please update privacy settings to match your preferences."
msgstr ""
-#: modules/privacy/__init__.py:75
+#: modules/privacy/__init__.py:80
msgid "Review privacy setting"
msgstr ""
-#: modules/privacy/forms.py:16
+#: modules/privacy/forms.py:17
+#, python-brace-format
+msgid ""
+"Optional Value. This URL is used to determine the publicly visible IP "
+"address of your {box_name}. The URL should simply return the IPv4 or IPv6 "
+"address where the client request comes from. Default is to use the service "
+"provided by the FreedomBox Foundation at https://ddns.freedombox.org/ip/. If "
+"empty, lookups are disabled and some functionality will fail."
+msgstr ""
+
+#: modules/privacy/forms.py:25
msgid "Periodically submit a list of apps used (suggested)"
msgstr ""
-#: modules/privacy/forms.py:18
+#: modules/privacy/forms.py:27
#, python-brace-format
msgid ""
"Help Debian/{box_name} developers by participating in the Popularity Contest "
@@ -6777,11 +6829,11 @@ msgid ""
"network for additional anonymity if Tor app is enabled."
msgstr ""
-#: modules/privacy/forms.py:28
+#: modules/privacy/forms.py:37
msgid "Allow using fallback DNS servers"
msgstr ""
-#: modules/privacy/forms.py:30
+#: modules/privacy/forms.py:39
msgid ""
"Use well-known public DNS servers to resolve domain names in unusual "
"circumstances where no DNS servers are known but internet connectivity is "
@@ -6789,10 +6841,22 @@ msgid ""
"and reliable."
msgstr ""
+#: modules/privacy/forms.py:45
+#, fuzzy
+#| msgid "URL to look up public IP"
+msgid "URL to look up public IP address"
+msgstr "URL for å slå opp offentlig IP"
+
#: modules/privacy/manifest.py:10
msgid "Usage reporting"
msgstr ""
+#: modules/privacy/manifest.py:10
+#, fuzzy
+#| msgid "Standard Services"
+msgid "External services"
+msgstr "Standardtjenester"
+
#: modules/privacy/manifest.py:10
#, fuzzy
#| msgid "DNS Server"
@@ -7908,41 +7972,41 @@ msgid "Delete the following snapshots permanently?"
msgstr "Slett denne avbildningen for godt?"
#: modules/snapshot/templates/snapshot_delete_selected.html:17
-#: modules/snapshot/templates/snapshot_manage.html:27
+#: modules/snapshot/templates/snapshot_manage.html:32
#: modules/snapshot/templates/snapshot_rollback.html:25
msgid "Number"
msgstr "Nummer"
#: modules/snapshot/templates/snapshot_delete_selected.html:18
-#: modules/snapshot/templates/snapshot_manage.html:28
+#: modules/snapshot/templates/snapshot_manage.html:33
#: modules/snapshot/templates/snapshot_rollback.html:26
msgid "Date"
msgstr "Dato"
#: modules/snapshot/templates/snapshot_delete_selected.html:42
-#: modules/snapshot/templates/snapshot_manage.html:20
+#: modules/snapshot/templates/snapshot_manage.html:25
#: modules/snapshot/views.py:197
msgid "Delete Snapshots"
msgstr "Slett avbildninger"
-#: modules/snapshot/templates/snapshot_manage.html:17
+#: modules/snapshot/templates/snapshot_manage.html:22
msgid "Create Snapshot"
msgstr "Opprett øyeblikksbilde"
-#: modules/snapshot/templates/snapshot_manage.html:30
+#: modules/snapshot/templates/snapshot_manage.html:35
msgid "Rollback"
msgstr "Rull tilbake"
-#: modules/snapshot/templates/snapshot_manage.html:40
+#: modules/snapshot/templates/snapshot_manage.html:45
#, fuzzy
msgid "will be used at next boot"
msgstr "vil bli brukt ved neste oppstart"
-#: modules/snapshot/templates/snapshot_manage.html:45
+#: modules/snapshot/templates/snapshot_manage.html:50
msgid "in use"
msgstr "i bruk"
-#: modules/snapshot/templates/snapshot_manage.html:54
+#: modules/snapshot/templates/snapshot_manage.html:59
#, python-format
msgid "Rollback to snapshot #%(number)s"
msgstr "Rull tilbake til øyeblikksbilde #%(number)s"
@@ -8563,27 +8627,27 @@ msgstr ""
msgid "Tor"
msgstr "Tor"
-#: modules/tor/__init__.py:78
+#: modules/tor/__init__.py:77
msgid "Tor Onion Service"
msgstr "Tor-løktjeneste"
-#: modules/tor/__init__.py:82
+#: modules/tor/__init__.py:81
msgid "Tor Bridge Relay"
msgstr "Tor bro-stafettvideresendingsoppsett"
-#: modules/tor/__init__.py:140
+#: modules/tor/__init__.py:139
msgid "Tor relay port available"
msgstr "Tor relay-port tilgjengelig"
-#: modules/tor/__init__.py:152
+#: modules/tor/__init__.py:151
msgid "Obfs3 transport registered"
msgstr "Obfs3-transport registrert"
-#: modules/tor/__init__.py:163
+#: modules/tor/__init__.py:162
msgid "Obfs4 transport registered"
msgstr "Obfs4-transport registrert"
-#: modules/tor/__init__.py:176
+#: modules/tor/__init__.py:175
#, fuzzy
#| msgid "Onion Service"
msgid "Onion service is version 3"
@@ -8702,7 +8766,7 @@ msgstr "Videresending"
msgid "Anonymity network"
msgstr "Anonymitetsnettverk"
-#: modules/tor/templates/tor.html:18
+#: modules/tor/templates/tor.html:23
msgid "Onion Service"
msgstr "Løktjeneste"
@@ -9348,12 +9412,12 @@ msgstr "Brukere"
msgid "Edit user %(username)s"
msgstr "Endre bruker %(username)s"
-#: modules/users/templates/users_update.html:12
+#: modules/users/templates/users_update.html:17
#, python-format
msgid "Edit User %(username)s"
msgstr "Rediger bruker %(username)s"
-#: modules/users/templates/users_update.html:20
+#: modules/users/templates/users_update.html:25
#, python-format
msgid ""
"Use the change password form to "
@@ -9362,30 +9426,30 @@ msgstr ""
"Bruk passordsendringsskjemaet for å "
"endre passordet."
-#: modules/users/templates/users_update.html:32
+#: modules/users/templates/users_update.html:37
#: templates/language-selection.html:17
msgid "Save Changes"
msgstr "Lagre endringer"
-#: modules/users/templates/users_update.html:41
+#: modules/users/templates/users_update.html:46
#, fuzzy, python-format
#| msgid "Delete user %(username)s permanently?"
msgid "Delete user %(username)s and all the user's files?"
msgstr "Slett bruker %(username)s for godt?"
-#: modules/users/templates/users_update.html:51
+#: modules/users/templates/users_update.html:56
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
msgstr ""
-#: modules/users/templates/users_update.html:60
+#: modules/users/templates/users_update.html:65
#, fuzzy
#| msgid "Delete files"
msgid "Delete user and files"
msgstr "Slett filer"
-#: modules/users/templates/users_update.html:63
+#: modules/users/templates/users_update.html:68
msgid "Cancel"
msgstr "Kanseller"
@@ -10106,13 +10170,13 @@ msgstr "Installasjon"
msgid "Service %(service_name)s is not running."
msgstr "Tjenesten %(service_name)s kjører ikke."
-#: templates/apps.html:29
+#: templates/apps.html:33
#, fuzzy
#| msgid "Search the web"
msgid "Search with tags"
msgstr "Søk på nettet"
-#: templates/apps.html:42
+#: templates/apps.html:46
#, fuzzy
#| msgid "Search the web"
msgid "Clear all tags"
@@ -10124,35 +10188,35 @@ msgid ""
"is free software that lets you install and manage server apps with ease."
msgstr ""
-#: templates/base.html:116
+#: templates/base.html:118
msgid " Home"
msgstr " Hjem"
-#: templates/base.html:124
+#: templates/base.html:126
msgid " Apps"
msgstr " Programmer"
-#: templates/base.html:133
+#: templates/base.html:135
msgid " System"
msgstr " System"
-#: templates/base.html:172 templates/base.html:173
+#: templates/base.html:174 templates/base.html:175
msgid "Change password"
msgstr "Endre passord"
-#: templates/base.html:186 templates/base.html:187
+#: templates/base.html:188 templates/base.html:189
msgid "Shut down"
msgstr "Slå av"
-#: templates/base.html:197 templates/base.html:235
+#: templates/base.html:199 templates/base.html:237
msgid "Log out"
msgstr "Logg ut"
-#: templates/base.html:206 templates/base.html:209
+#: templates/base.html:208 templates/base.html:211
msgid "Select language"
msgstr "Velg språk"
-#: templates/base.html:224 templates/base.html:226
+#: templates/base.html:226 templates/base.html:228
msgid "Log in"
msgstr "Logg inn"
@@ -10378,23 +10442,48 @@ msgstr ""
"All programdata og oppsett blir permanent borte. Programmet kan installeres "
"på nytt igjen."
-#: views.py:85
+#: views.py:84
msgid "Here"
msgstr ""
-#: views.py:374
+#: views.py:376
msgid "Setting unchanged"
msgstr "Oppsett uendret"
-#: views.py:609
+#: views.py:610
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr "før avinstallering av {app_id}"
-#: web_framework.py:114
+#: web_framework.py:122
msgid "Gujarati"
msgstr "Gujarati"
+#~ msgid "In 24 hour format."
+#~ msgstr "I 24-timersformat."
+
+#, fuzzy, python-brace-format
+#~| msgid ""
+#~| "Optional Value. If your {box_name} is not connected directly to the "
+#~| "Internet (i.e. connected to a NAT router) this URL is used to determine "
+#~| "the real IP address. The URL should simply return the IP where the "
+#~| "client comes from (example: http://myip.datasystems24.de)."
+#~ msgid ""
+#~ "Optional Value. If your {box_name} is not connected directly to the "
+#~ "Internet (i.e. connected to a NAT router) this URL is used to determine "
+#~ "the real IP address. The URL should simply return the IP where the client "
+#~ "comes from (example: https://ddns.freedombox.org/ip/)."
+#~ msgstr ""
+#~ "Valgfri verdi. Hvis ditt {box_name} ikke er koblet direkte til Internett "
+#~ "(dvs. koblet til en NAT-ruter), blir denne nettadressen brukt til å finne "
+#~ "den virkelige Internett-IP-en. Nettadressen skal bare returnere IP-en som "
+#~ "tjeneren kommer fra (eksempelvis: http://myip.datasystems24.de)."
+
+#, fuzzy
+#~| msgid "Manage Libraries"
+#~ msgid "Manage Aliases for Mailbox"
+#~ msgstr "Håndter biblioteker"
+
#~ msgid "File & Snippet Sharing"
#~ msgstr "Deling av filer og snutter"
@@ -11863,9 +11952,6 @@ msgstr "Gujarati"
#~ msgid "You don't have any Custom Services enabled"
#~ msgstr "Du har ikke noen selvvalgte tjenester aktivert"
-#~ msgid "Standard Services"
-#~ msgstr "Standardtjenester"
-
#, fuzzy
#~| msgid ""
#~| "When enabled, Syncthing's web interface will be available from \n"
"Language-Team: Dutch
SSH key-based authentication is not yet "
"possible."
@@ -463,18 +465,18 @@ msgstr ""
"Wachtwoord van de SSH Server.
SSH-sleutel-gebaseerde authenticatie is "
"nog niet mogelijk."
-#: modules/backups/forms.py:273
+#: modules/backups/forms.py:275
msgid "Remote backup repository already exists."
msgstr "Externe backup repository bestaat al."
-#: modules/backups/forms.py:279
+#: modules/backups/forms.py:281
msgid "Select verified SSH public key"
msgstr "Selecteer geverifieerde SSH openbare sleutel"
#: modules/backups/manifest.py:14
#: modules/backups/templates/backups_repository.html:92
#: modules/backups/templates/backups_restore.html:27
-#: modules/backups/views.py:240 modules/snapshot/manifest.py:14
+#: modules/backups/views.py:238 modules/snapshot/manifest.py:14
#: templates/toolbar.html:44 templates/toolbar.html:45
msgid "Restore"
msgstr "Herstellen"
@@ -556,16 +558,20 @@ msgstr ""
msgid "Backup system is busy with another operation."
msgstr ""
+#: modules/backups/privileged.py:92
+msgid "Not enough space left on the disk or remote location."
+msgstr ""
+
#: modules/backups/repository.py:94
msgid "Existing repository is not encrypted."
msgstr "Bestaande repository is niet versleuteld."
-#: modules/backups/repository.py:266
+#: modules/backups/repository.py:289
#, python-brace-format
msgid "{box_name} storage"
msgstr "{box_name} opslag"
-#: modules/backups/templates/backups.html:17 modules/backups/views.py:125
+#: modules/backups/templates/backups.html:17 modules/backups/views.py:124
msgid "Create a new backup"
msgstr "Maak een nieuwe back-up"
@@ -609,10 +615,9 @@ msgstr "Bestaande back-ups"
#: modules/help/templates/statuslog.html:24
#: modules/kiwix/templates/kiwix-add-package.html:26
#: modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:28
-#: modules/matrixsynapse/templates/matrix-synapse.html:76
+#: modules/matrixsynapse/templates/matrix-synapse.html:81
#: modules/names/templates/names.html:128
#: modules/networks/templates/connection_show.html:24
-#: modules/nextcloud/__init__.py:48
#: modules/pagekite/templates/pagekite_custom_services.html:16
#: modules/power/templates/power_busy_warning.html:11
#: modules/snapshot/templates/snapshot_not_supported.html:13
@@ -776,112 +781,112 @@ msgstr ""
msgid "Verify Host"
msgstr "Host verifiëren"
-#: modules/backups/views.py:69
+#: modules/backups/views.py:68
msgid "Backup schedule updated."
msgstr "Back-upschema bijgewerkt."
-#: modules/backups/views.py:88
+#: modules/backups/views.py:87
msgid "Schedule Backups"
msgstr "Back-ups plannen"
-#: modules/backups/views.py:150
+#: modules/backups/views.py:148
msgid "Archive created."
msgstr "Archief aangemaakt."
-#: modules/backups/views.py:162
+#: modules/backups/views.py:160
msgid "Delete Archive"
msgstr "Archief verwijderen"
-#: modules/backups/views.py:175
+#: modules/backups/views.py:173
msgid "Archive deleted."
msgstr "Archief verwijderd."
-#: modules/backups/views.py:189
+#: modules/backups/views.py:187
msgid "Upload and restore a backup"
msgstr "Een back-up uploaden en herstellen"
-#: modules/backups/views.py:218
+#: modules/backups/views.py:216
#, fuzzy
#| msgid "Logged out successfully."
msgid "Upload successful."
msgstr "Succesvol uitgelogd."
-#: modules/backups/views.py:256
+#: modules/backups/views.py:254
msgid "No backup file found."
msgstr "Er is geen back-upbestand gevonden."
-#: modules/backups/views.py:264
+#: modules/backups/views.py:262
msgid "Restore from uploaded file"
msgstr "Herstellen vanuit geüpload bestand"
-#: modules/backups/views.py:278 modules/backups/views.py:299
+#: modules/backups/views.py:276 modules/backups/views.py:297
msgid "Restored files from backup."
msgstr "Herstelde bestanden van de back-up."
-#: modules/backups/views.py:329
+#: modules/backups/views.py:327
msgid "No additional disks available to add a repository."
msgstr ""
"Er zijn geen extra schijven beschikbaar om een opslagplaats toe te voegen."
-#: modules/backups/views.py:337
+#: modules/backups/views.py:335
msgid "Create backup repository"
msgstr "Maak een back-up repository"
-#: modules/backups/views.py:352
+#: modules/backups/views.py:350
#, fuzzy
#| msgid "Added new remote SSH repository."
msgid "Added new repository."
msgstr "Nieuwe externe SSH-repository toegevoegd."
-#: modules/backups/views.py:366
+#: modules/backups/views.py:364
msgid "Create remote backup repository"
msgstr "Maak een back-up repository"
-#: modules/backups/views.py:388
+#: modules/backups/views.py:386
msgid "Added new remote SSH repository."
msgstr "Nieuwe externe SSH-repository toegevoegd."
-#: modules/backups/views.py:410
+#: modules/backups/views.py:408
msgid "Verify SSH hostkey"
msgstr "SSH-hostkey verifiëren"
-#: modules/backups/views.py:436
+#: modules/backups/views.py:434
msgid "SSH host already verified."
msgstr "SSH-host is al geverifieerd."
-#: modules/backups/views.py:447
+#: modules/backups/views.py:445
msgid "SSH host verified."
msgstr "SSH-host geverifieerd."
-#: modules/backups/views.py:463
+#: modules/backups/views.py:461
msgid "SSH host public key could not be verified."
msgstr "De openbare sleutel van de SSH-host kan niet worden geverifieerd."
-#: modules/backups/views.py:465
+#: modules/backups/views.py:463
msgid "Authentication to remote server failed."
msgstr "Authenticatie naar externe server is mislukt."
-#: modules/backups/views.py:467
+#: modules/backups/views.py:465
msgid "Error establishing connection to server: {}"
msgstr "Fout bij het tot stand brengen van een verbinding met de server: {}"
-#: modules/backups/views.py:478
+#: modules/backups/views.py:476
msgid "Repository removed."
msgstr "Repository verwijderd."
-#: modules/backups/views.py:492
+#: modules/backups/views.py:490
msgid "Remove Repository"
msgstr "Verwijder Repository"
-#: modules/backups/views.py:502
+#: modules/backups/views.py:500
msgid "Repository removed. Backups were not deleted."
msgstr "Repository verwijderd. Back-ups zijn niet verwijderd."
-#: modules/backups/views.py:513
+#: modules/backups/views.py:511
msgid "Unmounting failed!"
msgstr "Ontkoppelen is mislukt!"
-#: modules/backups/views.py:529 modules/backups/views.py:533
+#: modules/backups/views.py:527 modules/backups/views.py:531
msgid "Mounting failed"
msgstr "Aankoppelen is mislukt"
@@ -1008,7 +1013,7 @@ msgstr "Wachtwoord toevoegen"
msgid "No passwords currently configured."
msgstr "Er zijn momenteel geen wachwoorden ingesteld."
-#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:91
+#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:83
#: modules/miniflux/forms.py:14 modules/networks/forms.py:282
#: modules/shadowsocks/forms.py:32 modules/shadowsocksserver/forms.py:37
msgid "Password"
@@ -1135,8 +1140,10 @@ msgstr ""
msgid "Serving Domains"
msgstr "Bediende domeinen"
-#: modules/bind/templates/bind.html:17 modules/email/templates/email.html:38
-#: modules/ikiwiki/forms.py:12 modules/names/templates/names.html:18
+#: modules/bind/templates/bind.html:17
+#: modules/email/templates/email-dns.html:25
+#: modules/email/templates/email-dns.html:78 modules/ikiwiki/forms.py:12
+#: modules/names/templates/names.html:18
#: modules/networks/templates/connection_show.html:95
#: modules/samba/templates/samba.html:65
#: modules/storage/templates/storage.html:26
@@ -1166,7 +1173,7 @@ msgstr "IP adressen en domeinen verversen"
#: modules/minetest/views.py:55 modules/mumble/views.py:37
#: modules/names/views.py:66 modules/names/views.py:95
#: modules/names/views.py:129 modules/pagekite/forms.py:74
-#: modules/privacy/views.py:50 modules/quassel/views.py:29
+#: modules/privacy/views.py:55 modules/quassel/views.py:29
#: modules/roundcube/views.py:32 modules/rssbridge/views.py:31
#: modules/shadowsocks/views.py:52 modules/shadowsocksserver/views.py:48
#: modules/ssh/views.py:62 modules/transmission/views.py:43
@@ -1834,7 +1841,7 @@ msgid "Test"
msgstr "Test"
#: modules/diagnostics/templates/diagnostics_results.html:12
-#: modules/dynamicdns/templates/dynamicdns.html:20
+#: modules/dynamicdns/templates/dynamicdns.html:25
msgid "Result"
msgstr "Resultaat"
@@ -1847,7 +1854,7 @@ msgstr "Diagnostische test"
msgid "App {app_id} is not installed, cannot repair"
msgstr "Toepassing {app_id} is niet geïnstalleerd, kan niet herstellen"
-#: modules/dynamicdns/__init__.py:28
+#: modules/dynamicdns/__init__.py:29
#, python-brace-format
msgid ""
"If your Internet provider changes your IP address periodically (i.e. every "
@@ -1859,7 +1866,7 @@ msgstr ""
"internet. Daardoor is het gebruik van de diensten van {box_name} vaak "
"onmogelijk van buiten het lokale netwerk."
-#: modules/dynamicdns/__init__.py:32
+#: modules/dynamicdns/__init__.py:33
msgid ""
"The solution is to assign a DNS name to your IP address and update the DNS "
"name every time your IP is changed by your Internet provider. Dynamic DNS "
@@ -1877,7 +1884,7 @@ msgstr ""
"naamswijziging doorvoeren, en als iemand op het internet om deze DNS naam "
"vraagt wordt dit beantwoord met het juiste IP adres."
-#: modules/dynamicdns/__init__.py:40
+#: modules/dynamicdns/__init__.py:41
msgid ""
"If you are looking for a free dynamic DNS account, you may find a free "
"GnuDIP service at ddns."
@@ -1890,11 +1897,17 @@ msgstr ""
"gebaseerde diensten van freedns.afraid.org."
-#: modules/dynamicdns/__init__.py:61
+#: modules/dynamicdns/__init__.py:46
+msgid ""
+"This service uses an external service to lookup public IP address. This can "
+"be configured in the privacy app."
+msgstr ""
+
+#: modules/dynamicdns/__init__.py:64
msgid "Dynamic DNS Client"
msgstr "Dynamic DNS Cliënt"
-#: modules/dynamicdns/__init__.py:75
+#: modules/dynamicdns/__init__.py:78
msgid "Dynamic Domain Name"
msgstr "Dynamische domeinnaam"
@@ -1951,88 +1964,71 @@ msgid "Leave this field empty if you want to keep your current password."
msgstr "Laat dit veld leeg om het huidige wachtwoord te behouden."
#: modules/dynamicdns/forms.py:43
-#, python-brace-format
-msgid ""
-"Optional Value. If your {box_name} is not connected directly to the Internet "
-"(i.e. connected to a NAT router) this URL is used to determine the real IP "
-"address. The URL should simply return the IP where the client comes from "
-"(example: https://ddns.freedombox.org/ip/)."
-msgstr ""
-"Optionele waarde. Als {box_name} niet direct is verbonden met het internet "
-"(maar verbonden met een NAT router), wordt deze URL gebruikt om het echte "
-"Internet IP adres te bepalen. Het antwoord op het aanroepen van deze URL zou "
-"het IP adres moeten zijn (Voorbeeld: https://ddns.freedombox.org/ip/)."
-
-#: modules/dynamicdns/forms.py:51
msgid "The username that was used when the account was created."
msgstr "De gebruikersnaam die werd gebruikt toen de account werd gemaakt."
-#: modules/dynamicdns/forms.py:54
+#: modules/dynamicdns/forms.py:46
msgid "GnuDIP"
msgstr "GnuDIP"
-#: modules/dynamicdns/forms.py:57
+#: modules/dynamicdns/forms.py:49
msgid "Other update URL"
msgstr "Andere update-URL"
-#: modules/dynamicdns/forms.py:59
+#: modules/dynamicdns/forms.py:51
msgid "Service Type"
msgstr "Dienst Type"
-#: modules/dynamicdns/forms.py:64
+#: modules/dynamicdns/forms.py:56
msgid "GnuDIP Server Address"
msgstr "GnuDIP Serveradres"
-#: modules/dynamicdns/forms.py:67
+#: modules/dynamicdns/forms.py:59
msgid "Invalid server name"
msgstr "Foute servernaam"
-#: modules/dynamicdns/forms.py:70
+#: modules/dynamicdns/forms.py:62
msgid "Update URL"
msgstr "URL bijwerken"
-#: modules/dynamicdns/forms.py:74
+#: modules/dynamicdns/forms.py:66
msgid "Accept all SSL certificates"
msgstr "Accepteer alle SSL certificaten"
-#: modules/dynamicdns/forms.py:78
+#: modules/dynamicdns/forms.py:70
msgid "Use HTTP basic authentication"
msgstr "Gebruik HTTP-basisverificatie"
-#: modules/dynamicdns/forms.py:82 modules/names/__init__.py:68
+#: modules/dynamicdns/forms.py:74 modules/names/__init__.py:68
#: modules/names/forms.py:106 modules/names/templates/names.html:19
msgid "Domain Name"
msgstr "Domeinnaam"
-#: modules/dynamicdns/forms.py:85 modules/names/forms.py:99
+#: modules/dynamicdns/forms.py:77 modules/names/forms.py:99
#: modules/names/forms.py:117
msgid "Invalid domain name"
msgstr "Foutieve domeinnaam"
-#: modules/dynamicdns/forms.py:88 modules/miniflux/forms.py:11
+#: modules/dynamicdns/forms.py:80 modules/miniflux/forms.py:11
#: modules/networks/forms.py:281 modules/users/forms.py:130
msgid "Username"
msgstr "Gebruikersnaam"
-#: modules/dynamicdns/forms.py:95 modules/networks/forms.py:284
+#: modules/dynamicdns/forms.py:87 modules/networks/forms.py:284
msgid "Show password"
msgstr "Toon wachtwoord"
-#: modules/dynamicdns/forms.py:99
-msgid "URL to look up public IP"
-msgstr "URL voor controle van het IP-adres"
-
-#: modules/dynamicdns/forms.py:104
+#: modules/dynamicdns/forms.py:91
msgid "Use IPv6 instead of IPv4"
msgstr "Gebruik IPv6 in plaats van IPv4"
-#: modules/dynamicdns/forms.py:123
+#: modules/dynamicdns/forms.py:110
msgid "This field is required."
msgstr "Dit veld is vereist."
#: modules/dynamicdns/manifest.py:17
-#: modules/dynamicdns/templates/dynamicdns.html:18
-#: modules/email/templates/email.html:35
+#: modules/dynamicdns/templates/dynamicdns.html:23
+#: modules/email/templates/email-dns.html:22
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64
msgid "Domain"
@@ -2048,37 +2044,37 @@ msgstr ""
msgid "Needs public IP"
msgstr "Openbare sleutel van de server:"
-#: modules/dynamicdns/templates/dynamicdns.html:11
-#: modules/ejabberd/templates/ejabberd.html:13 modules/firewall/manifest.py:10
+#: modules/dynamicdns/templates/dynamicdns.html:16
+#: modules/ejabberd/templates/ejabberd.html:18 modules/firewall/manifest.py:10
#: modules/firewall/templates/firewall.html:16
#: modules/firewall/templates/firewall.html:22
#: modules/letsencrypt/templates/letsencrypt.html:17
-#: modules/matrixsynapse/templates/matrix-synapse.html:12
+#: modules/matrixsynapse/templates/matrix-synapse.html:17
#: modules/networks/templates/connection_show.html:258
-#: modules/samba/templates/samba.html:67 modules/tor/templates/tor.html:19
+#: modules/samba/templates/samba.html:67 modules/tor/templates/tor.html:24
#: modules/upgrades/templates/upgrades_configure.html:14
#: modules/wireguard/templates/wireguard_show_client.html:48
#: modules/wireguard/templates/wireguard_show_server.html:47
msgid "Status"
msgstr "Status"
-#: modules/dynamicdns/templates/dynamicdns.html:19
+#: modules/dynamicdns/templates/dynamicdns.html:24
msgid "Last update"
msgstr "Laatste bijwerking"
-#: modules/dynamicdns/templates/dynamicdns.html:21
+#: modules/dynamicdns/templates/dynamicdns.html:26
msgid "IP Address"
msgstr "IP Adres"
-#: modules/dynamicdns/templates/dynamicdns.html:32
+#: modules/dynamicdns/templates/dynamicdns.html:37
msgid "Success"
msgstr "Succes"
-#: modules/dynamicdns/templates/dynamicdns.html:36
+#: modules/dynamicdns/templates/dynamicdns.html:41
msgid "Failed"
msgstr "Mislukt"
-#: modules/dynamicdns/templates/dynamicdns.html:52
+#: modules/dynamicdns/templates/dynamicdns.html:57
msgid "No status available."
msgstr "Geen status beschikbaar."
@@ -2254,7 +2250,7 @@ msgstr "Video Ruimte"
msgid "XMPP"
msgstr ""
-#: modules/ejabberd/templates/ejabberd.html:18
+#: modules/ejabberd/templates/ejabberd.html:23
#, fuzzy, python-format
#| msgid ""
#| "Your XMPP server domain is set to %(domainname)s. User IDs will "
@@ -2269,7 +2265,7 @@ msgstr ""
"eruit als username@%(domainname)s. Het domein kan worden ingesteld op "
"de Instellingen pagina."
-#: modules/ejabberd/templates/ejabberd.html:25
+#: modules/ejabberd/templates/ejabberd.html:30
#, fuzzy, python-format
#| msgid ""
#| "Your XMPP server domain is set to %(domainname)s. User IDs will "
@@ -2340,14 +2336,18 @@ msgstr ""
msgid "Postfix/Dovecot"
msgstr "Postfix/Dovecot"
-#: modules/email/__init__.py:83
+#: modules/email/__init__.py:80
+msgid "More emails"
+msgstr ""
+
+#: modules/email/__init__.py:80
+msgid "Same mailbox"
+msgstr ""
+
+#: modules/email/__init__.py:82
msgid "My Email Aliases"
msgstr "Mijn e-mail aliassen"
-#: modules/email/__init__.py:84
-msgid "Manage Aliases for Mailbox"
-msgstr "Aliassen voor postvak beheren"
-
#: modules/email/forms.py:25
msgid "Primary domain"
msgstr "Primair domein"
@@ -2428,47 +2428,102 @@ msgstr "Nieuwe e-mailalias maken"
msgid "Add"
msgstr "Toevoegen"
-#: modules/email/templates/email.html:10
-msgid "Manage Spam"
-msgstr "Spam beheren"
-
-#: modules/email/templates/email.html:22
-msgid "DNS Records"
+#: modules/email/templates/email-dns.html:9
+#, fuzzy
+#| msgid "DNS Records"
+msgid "DNS Records for domain:"
msgstr "DNS Records"
-#: modules/email/templates/email.html:25
+#: modules/email/templates/email-dns.html:12
+#, fuzzy
+#| msgid ""
+#| "The following DNS records must be added manually on your primary domain "
+#| "for the mail server to work properly."
msgid ""
-"The following DNS records must be added manually on your primary domain for "
-"the mail server to work properly."
+"The following DNS records must be added manually on this domain for the mail "
+"server to work properly for this domain."
msgstr ""
"De volgende DNS-records moeten handmatig worden toegevoegd aan het primaire "
"domein om de e-mailserver goed te laten werken."
-#: modules/email/templates/email.html:36
+#: modules/email/templates/email-dns.html:23
+#: modules/email/templates/email-dns.html:77
msgid "TTL"
msgstr "TTL"
-#: modules/email/templates/email.html:37
+#: modules/email/templates/email-dns.html:24
msgid "Class"
msgstr "Klasse"
-#: modules/email/templates/email.html:39
+#: modules/email/templates/email-dns.html:26
msgid "Priority"
msgstr "Prioriteit"
-#: modules/email/templates/email.html:40
+#: modules/email/templates/email-dns.html:27
msgid "Weight"
msgstr "Gewicht"
-#: modules/email/templates/email.html:41
+#: modules/email/templates/email-dns.html:28
#: modules/minetest/templates/minetest.html:18
msgid "Port"
msgstr "Poort"
-#: modules/email/templates/email.html:42
+#: modules/email/templates/email-dns.html:29
+#: modules/email/templates/email-dns.html:79
msgid "Host/Target/Value"
msgstr "Host/Target/Value"
+#: modules/email/templates/email-dns.html:50
+#, fuzzy
+#| msgid "Server hostname or IP address"
+msgid "Reverse DNS Records for IP Addresses"
+msgstr "Server hostnaam of IP adres"
+
+#: modules/email/templates/email-dns.html:53
+#, python-format
+msgid ""
+"If your %(box_name)s runs on a cloud service infrastructure, you should "
+"configure "
+"Reverse DNS lookup. This isn't mandatory, however, it greatly improves "
+"email deliverability. Reverse DNS isn't configured where your regular DNS "
+"is. You should look for it in the settings of your VPS/ISP. Some providers "
+"preconfigure the IP address part for you and you only have to set the domain "
+"part. Only one of your domains can have Revese DNS lookup configured unless "
+"you have multiple public IP addresses."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:66
+msgid ""
+"An external service is used to lookup public IP address to show in the "
+"following section. This can be configured in the privacy app."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:76
+#, fuzzy
+#| msgid "Hostname"
+msgid "Host"
+msgstr "Hostnaam"
+
+#: modules/email/templates/email.html:10
+msgid "Manage Spam"
+msgstr "Spam beheren"
+
+#: modules/email/templates/email.html:20 modules/names/manifest.py:11
+#: modules/names/templates/names.html:12
+msgid "Domains"
+msgstr "Domeinen"
+
+#: modules/email/templates/email.html:23
+msgid ""
+"The following domains are configured. View details to see the list of DNS "
+"entries to be made for the domain."
+msgstr ""
+
+#: modules/email/templates/email.html:35
+#, python-format
+msgid "View domain: %(domain)s"
+msgstr ""
+
#: modules/featherwiki/__init__.py:25
#, python-brace-format
msgid ""
@@ -2725,7 +2780,7 @@ msgstr "Poort {name} ({details})is beschikbaar voor externe netwerken"
msgid "Port {name} ({details}) unavailable for external networks"
msgstr "Poort {name} ({details}) is niet beschikbaar voor externe netwerken"
-#: modules/firewall/manifest.py:10 modules/tor/templates/tor.html:20
+#: modules/firewall/manifest.py:10 modules/tor/templates/tor.html:25
msgid "Ports"
msgstr "Poorten"
@@ -3082,9 +3137,9 @@ msgstr "Feedback indienen"
msgid "Contribute"
msgstr "Bijdragen"
-#: modules/help/__init__.py:53 templates/base.html:215 templates/base.html:218
+#: modules/help/__init__.py:53 templates/base.html:217 templates/base.html:220
#: templates/help-menu.html:46 templates/help-menu.html:47
-#: templates/index.html:98
+#: templates/index.html:96
msgid "About"
msgstr "Over ons"
@@ -3265,7 +3320,7 @@ msgstr ""
#: modules/help/templates/help_contribute.html:42
#: modules/power/templates/power_restart.html:27
-#: modules/power/templates/power_shutdown.html:26 templates/app-header.html:68
+#: modules/power/templates/power_shutdown.html:26 templates/app-header.html:65
msgid "Learn more..."
msgstr "Lees meer..."
@@ -3648,7 +3703,7 @@ msgid "Web conference"
msgstr ""
#: modules/janus/templates/janus_video_room.html:205
-#: modules/jsxc/templates/jsxc_launch.html:117 templates/base.html:271
+#: modules/jsxc/templates/jsxc_launch.html:117 templates/base.html:273
msgid "JavaScript license information"
msgstr "JavaScript licentie-informatie"
@@ -4105,7 +4160,7 @@ msgstr ""
"Er zijn geen domeinen beschikbaar. Configureer"
"a> tenminste één domein om Matrix Synapse te kunnen gebruiken."
-#: modules/matrixsynapse/templates/matrix-synapse.html:15
+#: modules/matrixsynapse/templates/matrix-synapse.html:20
#, python-format
msgid ""
"The Matrix server domain is set to %(domain_name)s. User IDs will "
@@ -4117,7 +4172,7 @@ msgstr ""
"%(domain_name)s. Het veranderen van de domeinnaam na de eerste "
"configuratie wordt op het moment niet ondersteund."
-#: modules/matrixsynapse/templates/matrix-synapse.html:22
+#: modules/matrixsynapse/templates/matrix-synapse.html:27
msgid ""
"New users can be registered from any client if public registration is "
"enabled."
@@ -4125,7 +4180,7 @@ msgstr ""
"Nieuwe gebruikers kunnen worden geregistreerd vanaf elke client als de "
"openbare registratie is ingeschakeld."
-#: modules/matrixsynapse/templates/matrix-synapse.html:29
+#: modules/matrixsynapse/templates/matrix-synapse.html:34
msgid ""
"New users must use one of the following tokens for verification during "
"account registration:"
@@ -4133,31 +4188,31 @@ msgstr ""
"Nieuwe gebruikers moeten een van de volgende tokens gebruiken voor "
"verificatie tijdens accountregistratie:"
-#: modules/matrixsynapse/templates/matrix-synapse.html:38
+#: modules/matrixsynapse/templates/matrix-synapse.html:43
msgid "Registration Token"
msgstr "Registratie Token"
-#: modules/matrixsynapse/templates/matrix-synapse.html:39
+#: modules/matrixsynapse/templates/matrix-synapse.html:44
msgid "Uses Allowed"
msgstr "Toegestaan gebruik"
-#: modules/matrixsynapse/templates/matrix-synapse.html:40
+#: modules/matrixsynapse/templates/matrix-synapse.html:45
msgid "Pending Registrations"
msgstr "Wachtende Registraties"
-#: modules/matrixsynapse/templates/matrix-synapse.html:41
+#: modules/matrixsynapse/templates/matrix-synapse.html:46
msgid "Completed Registrations"
msgstr "Voltooide Registraties"
-#: modules/matrixsynapse/templates/matrix-synapse.html:42
+#: modules/matrixsynapse/templates/matrix-synapse.html:47
msgid "Expiry Time"
msgstr "Vervaltijd"
-#: modules/matrixsynapse/templates/matrix-synapse.html:51
+#: modules/matrixsynapse/templates/matrix-synapse.html:56
msgid "Unlimited"
msgstr "Ongelimiteerd"
-#: modules/matrixsynapse/templates/matrix-synapse.html:80
+#: modules/matrixsynapse/templates/matrix-synapse.html:85
#, python-format
msgid ""
"The configured domain name is using a self-signed certificate. Federation "
@@ -4631,7 +4686,7 @@ msgstr "Paswoord reset voor gebruiker: {username}"
msgid "An error occurred during password reset: {error}."
msgstr "Er is een fout opgetreden tijdens de wachtwoord reset: {error}."
-#: modules/mumble/__init__.py:25
+#: modules/mumble/__init__.py:27
msgid ""
"Mumble is an open source, low-latency, encrypted, high quality voice chat "
"software."
@@ -4639,7 +4694,7 @@ msgstr ""
"Mumble is een Open Source, snelle, versleutelde, hoge kwaliteit "
"groepsgespreksserver."
-#: modules/mumble/__init__.py:27
+#: modules/mumble/__init__.py:29
msgid ""
"You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your "
@@ -4650,10 +4705,16 @@ msgstr ""
"programma's waarmee de Mumble dienst gebruikt kan worden. Er zijn "
"programma's voor zowel desktop en mobiele apparaten."
-#: modules/mumble/__init__.py:45 modules/mumble/manifest.py:9
+#: modules/mumble/__init__.py:47 modules/mumble/manifest.py:9
msgid "Mumble"
msgstr "Mumble"
+#: modules/mumble/__init__.py:158
+#, fuzzy
+#| msgid "Mumble server is running"
+msgid "Mumble server is configured"
+msgstr "Mumble server draait"
+
#: modules/mumble/forms.py:30
msgid "Set SuperUser Password"
msgstr "Wachtwoord van de Supergebruiker vastleggen"
@@ -4799,10 +4860,6 @@ msgstr ""
"per naam mag niet langer zijn dan 63 tekens. De totale domeinnaamlengte mag "
"niet langer zijn dan 253 tekens."
-#: modules/names/manifest.py:11 modules/names/templates/names.html:12
-msgid "Domains"
-msgstr "Domeinen"
-
#: modules/names/manifest.py:13
#, fuzzy
#| msgid "Evolution"
@@ -5410,7 +5467,7 @@ msgstr "Wijzig verbinding"
#: modules/networks/templates/connection_show.html:40
#: modules/wireguard/templates/wireguard_show_client.html:72
#: modules/wireguard/templates/wireguard_show_server.html:73
-#: templates/base.html:165 templates/base.html:166
+#: templates/base.html:167 templates/base.html:168
msgid "Edit"
msgstr "Wijzig"
@@ -5463,7 +5520,7 @@ msgstr "Interface"
#: modules/networks/templates/connection_show.html:107
#: modules/snapshot/templates/snapshot_delete_selected.html:19
-#: modules/snapshot/templates/snapshot_manage.html:29
+#: modules/snapshot/templates/snapshot_manage.html:34
#: modules/snapshot/templates/snapshot_rollback.html:27
msgid "Description"
msgstr "Omschrijving"
@@ -5541,8 +5598,8 @@ msgstr "Deze verbinding is niet actief."
#: modules/networks/templates/connection_show.html:264
#: modules/networks/templates/connections_fields_privacy.html:15
-#: modules/openvpn/manifest.py:60 modules/privacy/__init__.py:32
-#: modules/privacy/__init__.py:72 modules/wireguard/manifest.py:45
+#: modules/openvpn/manifest.py:60 modules/privacy/__init__.py:38
+#: modules/privacy/__init__.py:77 modules/wireguard/manifest.py:45
msgid "Privacy"
msgstr "Privacy"
@@ -5635,7 +5692,7 @@ msgstr "Intern"
msgid "Computer"
msgstr "Computer"
-#: modules/networks/templates/connections_edit.html:19
+#: modules/networks/templates/connections_edit.html:24
#: modules/networks/views.py:253 modules/networks/views.py:341
msgid "Edit Connection"
msgstr "Wijzig verbinding"
@@ -5648,7 +5705,7 @@ msgid "Error:"
msgstr "Foutmelding"
#: modules/networks/templates/connections_fields.html:20
-#: modules/users/templates/users_update.html:46 templates/messages.html:30
+#: modules/users/templates/users_update.html:51 templates/messages.html:30
msgid "Close"
msgstr "Sluiten"
@@ -5748,7 +5805,7 @@ msgstr "Update..."
#: modules/networks/templates/network_topology_update.html:18
#: modules/networks/templates/router_configuration_update.html:19
#: modules/pagekite/templates/pagekite_custom_services.html:33
-#: modules/sharing/templates/sharing_add_edit.html:20 templates/form.html:19
+#: modules/sharing/templates/sharing_add_edit.html:25 templates/form.html:19
msgid "Submit"
msgstr "Invoeren"
@@ -6182,11 +6239,7 @@ msgid ""
"performed following an independent cycle."
msgstr ""
-#: modules/nextcloud/__init__.py:48
-msgid "This app is experimental."
-msgstr "Deze toepassing is een experiment."
-
-#: modules/nextcloud/__init__.py:66 modules/nextcloud/manifest.py:11
+#: modules/nextcloud/__init__.py:65 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
msgid "Nextcloud"
msgstr "Nextcloud"
@@ -6399,7 +6452,7 @@ msgstr ""
msgid "PageKite"
msgstr "PageKite"
-#: modules/pagekite/__init__.py:73
+#: modules/pagekite/__init__.py:72
msgid "PageKite Domain"
msgstr "PageKite domein"
@@ -6607,8 +6660,8 @@ msgstr ""
msgid "Shutdown"
msgstr "Uitschakelen"
-#: modules/power/templates/power.html:15 templates/base.html:180
-#: templates/base.html:181
+#: modules/power/templates/power.html:15 templates/base.html:182
+#: templates/base.html:183
msgid "Restart"
msgstr "Herstarten"
@@ -6650,24 +6703,34 @@ msgstr ""
msgid "Shut Down Now"
msgstr "Nu Uitschakelen"
-#: modules/privacy/__init__.py:15
+#: modules/privacy/__init__.py:21
msgid "Manage system-wide privacy settings."
msgstr "Beheer de privacy-instellingen voor het hele systeem."
-#: modules/privacy/__init__.py:70
+#: modules/privacy/__init__.py:75
msgid "Please update privacy settings to match your preferences."
msgstr ""
"Werk de privacy-instellingen bij zodat ze overeenkomen met uw voorkeuren."
-#: modules/privacy/__init__.py:75
+#: modules/privacy/__init__.py:80
msgid "Review privacy setting"
msgstr "Privacy-instelling bekijken"
-#: modules/privacy/forms.py:16
+#: modules/privacy/forms.py:17
+#, python-brace-format
+msgid ""
+"Optional Value. This URL is used to determine the publicly visible IP "
+"address of your {box_name}. The URL should simply return the IPv4 or IPv6 "
+"address where the client request comes from. Default is to use the service "
+"provided by the FreedomBox Foundation at https://ddns.freedombox.org/ip/. If "
+"empty, lookups are disabled and some functionality will fail."
+msgstr ""
+
+#: modules/privacy/forms.py:25
msgid "Periodically submit a list of apps used (suggested)"
msgstr "Periodiek een lijst van gebruikte apps laten zien (aanbevolen)"
-#: modules/privacy/forms.py:18
+#: modules/privacy/forms.py:27
#, python-brace-format
msgid ""
"Help Debian/{box_name} developers by participating in the Popularity Contest "
@@ -6685,11 +6748,11 @@ msgstr ""
"De insturen gebeurt via het Tor-netwerk voor extra anonimiteit als de Tor-"
"app is ingeschakeld."
-#: modules/privacy/forms.py:28
+#: modules/privacy/forms.py:37
msgid "Allow using fallback DNS servers"
msgstr "Sta fallback DNS servers toe"
-#: modules/privacy/forms.py:30
+#: modules/privacy/forms.py:39
msgid ""
"Use well-known public DNS servers to resolve domain names in unusual "
"circumstances where no DNS servers are known but internet connectivity is "
@@ -6697,10 +6760,22 @@ msgid ""
"and reliable."
msgstr ""
+#: modules/privacy/forms.py:45
+#, fuzzy
+#| msgid "URL to look up public IP"
+msgid "URL to look up public IP address"
+msgstr "URL voor controle van het IP-adres"
+
#: modules/privacy/manifest.py:10
msgid "Usage reporting"
msgstr ""
+#: modules/privacy/manifest.py:10
+#, fuzzy
+#| msgid "Enable Quassel core service"
+msgid "External services"
+msgstr "Quassel-core service inschakelen"
+
#: modules/privacy/manifest.py:10
#, fuzzy
#| msgid "Fallback DNS Servers"
@@ -7820,40 +7895,40 @@ msgid "Delete the following snapshots permanently?"
msgstr "De volgende snapshots permanent verwijderen?"
#: modules/snapshot/templates/snapshot_delete_selected.html:17
-#: modules/snapshot/templates/snapshot_manage.html:27
+#: modules/snapshot/templates/snapshot_manage.html:32
#: modules/snapshot/templates/snapshot_rollback.html:25
msgid "Number"
msgstr "Nummer"
#: modules/snapshot/templates/snapshot_delete_selected.html:18
-#: modules/snapshot/templates/snapshot_manage.html:28
+#: modules/snapshot/templates/snapshot_manage.html:33
#: modules/snapshot/templates/snapshot_rollback.html:26
msgid "Date"
msgstr "Datum"
#: modules/snapshot/templates/snapshot_delete_selected.html:42
-#: modules/snapshot/templates/snapshot_manage.html:20
+#: modules/snapshot/templates/snapshot_manage.html:25
#: modules/snapshot/views.py:197
msgid "Delete Snapshots"
msgstr "Snapshots verwijderen"
-#: modules/snapshot/templates/snapshot_manage.html:17
+#: modules/snapshot/templates/snapshot_manage.html:22
msgid "Create Snapshot"
msgstr "Maak Snapshot"
-#: modules/snapshot/templates/snapshot_manage.html:30
+#: modules/snapshot/templates/snapshot_manage.html:35
msgid "Rollback"
msgstr "Terugdraaien"
-#: modules/snapshot/templates/snapshot_manage.html:40
+#: modules/snapshot/templates/snapshot_manage.html:45
msgid "will be used at next boot"
msgstr "zal worden gebruikt bij de volgende herstart"
-#: modules/snapshot/templates/snapshot_manage.html:45
+#: modules/snapshot/templates/snapshot_manage.html:50
msgid "in use"
msgstr "in gebruik"
-#: modules/snapshot/templates/snapshot_manage.html:54
+#: modules/snapshot/templates/snapshot_manage.html:59
#, python-format
msgid "Rollback to snapshot #%(number)s"
msgstr "Terugdraaien tot snapshot #%(number)s"
@@ -8464,27 +8539,27 @@ msgstr ""
msgid "Tor"
msgstr "Tor"
-#: modules/tor/__init__.py:78
+#: modules/tor/__init__.py:77
msgid "Tor Onion Service"
msgstr "Tor-Onion Dienst"
-#: modules/tor/__init__.py:82
+#: modules/tor/__init__.py:81
msgid "Tor Bridge Relay"
msgstr "Tor Bridge Relay"
-#: modules/tor/__init__.py:140
+#: modules/tor/__init__.py:139
msgid "Tor relay port available"
msgstr "Tor relay poort beschikbaar"
-#: modules/tor/__init__.py:152
+#: modules/tor/__init__.py:151
msgid "Obfs3 transport registered"
msgstr "Obfs3 transport geregistreerd"
-#: modules/tor/__init__.py:163
+#: modules/tor/__init__.py:162
msgid "Obfs4 transport registered"
msgstr "Obfs4 transport geregistreerd"
-#: modules/tor/__init__.py:176
+#: modules/tor/__init__.py:175
msgid "Onion service is version 3"
msgstr "Onion service is versie 3"
@@ -8600,7 +8675,7 @@ msgstr "Relay"
msgid "Anonymity network"
msgstr "Anonimiteitsnetwerk"
-#: modules/tor/templates/tor.html:18
+#: modules/tor/templates/tor.html:23
msgid "Onion Service"
msgstr "Onion Service"
@@ -9265,12 +9340,12 @@ msgstr "Gebruikers"
msgid "Edit user %(username)s"
msgstr "Gebruiker %(username)s wijzigen"
-#: modules/users/templates/users_update.html:12
+#: modules/users/templates/users_update.html:17
#, python-format
msgid "Edit User %(username)s"
msgstr "Gebruiker %(username)s wijzigen"
-#: modules/users/templates/users_update.html:20
+#: modules/users/templates/users_update.html:25
#, python-format
msgid ""
"Use the change password form to "
@@ -9279,30 +9354,30 @@ msgstr ""
"Gebruik het wachtwoord wijzigingsformulier "
" om het wachtwoord te veranderen."
-#: modules/users/templates/users_update.html:32
+#: modules/users/templates/users_update.html:37
#: templates/language-selection.html:17
msgid "Save Changes"
msgstr "Wijzigingen opslaan"
-#: modules/users/templates/users_update.html:41
+#: modules/users/templates/users_update.html:46
#, fuzzy, python-format
#| msgid "Delete user %(username)s permanently?"
msgid "Delete user %(username)s and all the user's files?"
msgstr "Gebruiker %(username)s permanent verwijderen?"
-#: modules/users/templates/users_update.html:51
+#: modules/users/templates/users_update.html:56
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
msgstr ""
-#: modules/users/templates/users_update.html:60
+#: modules/users/templates/users_update.html:65
#, fuzzy
#| msgid "Delete files"
msgid "Delete user and files"
msgstr "Bestanden verwijderen"
-#: modules/users/templates/users_update.html:63
+#: modules/users/templates/users_update.html:68
msgid "Cancel"
msgstr "Annuleer"
@@ -10011,13 +10086,13 @@ msgstr "Installatie"
msgid "Service %(service_name)s is not running."
msgstr "Service %(service_name)s is niet actief."
-#: templates/apps.html:29
+#: templates/apps.html:33
#, fuzzy
#| msgid "Search the web"
msgid "Search with tags"
msgstr "Zoeken op internet"
-#: templates/apps.html:42
+#: templates/apps.html:46
#, fuzzy
#| msgid "Search the web"
msgid "Clear all tags"
@@ -10032,35 +10107,35 @@ msgstr ""
"gegevenseigendom. Het is gratis software waarmee u eenvoudig server-apps "
"kunt installeren en beheren."
-#: templates/base.html:116
+#: templates/base.html:118
msgid " Home"
msgstr " Startpagina"
-#: templates/base.html:124
+#: templates/base.html:126
msgid " Apps"
msgstr " Toepassingen"
-#: templates/base.html:133
+#: templates/base.html:135
msgid " System"
msgstr " Systeem"
-#: templates/base.html:172 templates/base.html:173
+#: templates/base.html:174 templates/base.html:175
msgid "Change password"
msgstr "Wijzig wachtwoord"
-#: templates/base.html:186 templates/base.html:187
+#: templates/base.html:188 templates/base.html:189
msgid "Shut down"
msgstr "Uitschakelen"
-#: templates/base.html:197 templates/base.html:235
+#: templates/base.html:199 templates/base.html:237
msgid "Log out"
msgstr "Afmelden"
-#: templates/base.html:206 templates/base.html:209
+#: templates/base.html:208 templates/base.html:211
msgid "Select language"
msgstr "Selecteer taal"
-#: templates/base.html:224 templates/base.html:226
+#: templates/base.html:226 templates/base.html:228
msgid "Log in"
msgstr "Aanmelden"
@@ -10280,23 +10355,45 @@ msgstr ""
"Alle toepassings-gegevens en configuratie gaan permanent verloren. de "
"toepassing kan opnieuw vers worden geïnstalleerd."
-#: views.py:85
+#: views.py:84
msgid "Here"
msgstr ""
-#: views.py:374
+#: views.py:376
msgid "Setting unchanged"
msgstr "Instelling onveranderd"
-#: views.py:609
+#: views.py:610
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr "voor het verwijderen van {app_id}"
-#: web_framework.py:114
+#: web_framework.py:122
msgid "Gujarati"
msgstr "Gujarati"
+#~ msgid "In 24 hour format."
+#~ msgstr "In 24-uurs formaat."
+
+#, python-brace-format
+#~ msgid ""
+#~ "Optional Value. If your {box_name} is not connected directly to the "
+#~ "Internet (i.e. connected to a NAT router) this URL is used to determine "
+#~ "the real IP address. The URL should simply return the IP where the client "
+#~ "comes from (example: https://ddns.freedombox.org/ip/)."
+#~ msgstr ""
+#~ "Optionele waarde. Als {box_name} niet direct is verbonden met het "
+#~ "internet (maar verbonden met een NAT router), wordt deze URL gebruikt om "
+#~ "het echte Internet IP adres te bepalen. Het antwoord op het aanroepen van "
+#~ "deze URL zou het IP adres moeten zijn (Voorbeeld: https://ddns.freedombox."
+#~ "org/ip/)."
+
+#~ msgid "Manage Aliases for Mailbox"
+#~ msgstr "Aliassen voor postvak beheren"
+
+#~ msgid "This app is experimental."
+#~ msgstr "Deze toepassing is een experiment."
+
#~ msgid "File & Snippet Sharing"
#~ msgstr "Delen van bestanden en fragmenten"
@@ -12560,9 +12657,6 @@ msgstr "Gujarati"
#~ msgid "Minetest server is not running"
#~ msgstr "Minetest server draait niet"
-#~ msgid "Mumble server is running"
-#~ msgstr "Mumble server draait"
-
#~ msgid "Mumble server is not running"
#~ msgstr "Mumble server draait niet"
@@ -12665,11 +12759,6 @@ msgstr "Gujarati"
#~ msgid "repro SIP Server"
#~ msgstr "Tweede DNS Server"
-#, fuzzy
-#~| msgid "Enable Quassel core service"
-#~ msgid "Enable repro service"
-#~ msgstr "Quassel-core service inschakelen"
-
#~ msgid "Enable Shaarli"
#~ msgstr "Shaarli Inschakelen"
diff --git a/plinth/locale/pl/LC_MESSAGES/django.po b/plinth/locale/pl/LC_MESSAGES/django.po
index acfeb7c00..01a490f36 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-12-30 20:05-0500\n"
+"POT-Creation-Date: 2025-01-13 20:33-0500\n"
"PO-Revision-Date: 2024-07-13 12:09+0000\n"
"Last-Translator: Monika
SSH key-based authentication is not yet "
"possible."
@@ -447,18 +449,18 @@ msgstr ""
"Hasło do serwera SSH.
Autoryzacja z użyciem klucza SSH nie jest jeszcze "
"możliwa."
-#: modules/backups/forms.py:273
+#: modules/backups/forms.py:275
msgid "Remote backup repository already exists."
msgstr "Zdalne repozytorium już istnieje."
-#: modules/backups/forms.py:279
+#: modules/backups/forms.py:281
msgid "Select verified SSH public key"
msgstr "Wybierz zweryfikowany klucz publiczny SSH"
#: modules/backups/manifest.py:14
#: modules/backups/templates/backups_repository.html:92
#: modules/backups/templates/backups_restore.html:27
-#: modules/backups/views.py:240 modules/snapshot/manifest.py:14
+#: modules/backups/views.py:238 modules/snapshot/manifest.py:14
#: templates/toolbar.html:44 templates/toolbar.html:45
msgid "Restore"
msgstr "Odtwórz"
@@ -539,16 +541,20 @@ msgstr ""
msgid "Backup system is busy with another operation."
msgstr ""
+#: modules/backups/privileged.py:92
+msgid "Not enough space left on the disk or remote location."
+msgstr ""
+
#: modules/backups/repository.py:94
msgid "Existing repository is not encrypted."
msgstr "Istniejące repozytorium nie jest zaszyfrowane."
-#: modules/backups/repository.py:266
+#: modules/backups/repository.py:289
#, python-brace-format
msgid "{box_name} storage"
msgstr "Dysk na {box_name}"
-#: modules/backups/templates/backups.html:17 modules/backups/views.py:125
+#: modules/backups/templates/backups.html:17 modules/backups/views.py:124
msgid "Create a new backup"
msgstr "Utwórz nową kopię zapasową"
@@ -592,10 +598,9 @@ msgstr "Istniejące kopie zapasowe"
#: modules/help/templates/statuslog.html:24
#: modules/kiwix/templates/kiwix-add-package.html:26
#: modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:28
-#: modules/matrixsynapse/templates/matrix-synapse.html:76
+#: modules/matrixsynapse/templates/matrix-synapse.html:81
#: modules/names/templates/names.html:128
#: modules/networks/templates/connection_show.html:24
-#: modules/nextcloud/__init__.py:48
#: modules/pagekite/templates/pagekite_custom_services.html:16
#: modules/power/templates/power_busy_warning.html:11
#: modules/snapshot/templates/snapshot_not_supported.html:13
@@ -765,115 +770,115 @@ msgstr ""
msgid "Verify Host"
msgstr "Zweryfikuj hosta"
-#: modules/backups/views.py:69
+#: modules/backups/views.py:68
msgid "Backup schedule updated."
msgstr ""
-#: modules/backups/views.py:88
+#: modules/backups/views.py:87
#, fuzzy
#| msgid "Create Backup"
msgid "Schedule Backups"
msgstr "Utwórz kopię zapasową"
-#: modules/backups/views.py:150
+#: modules/backups/views.py:148
msgid "Archive created."
msgstr "Archiwum zostało utworzone."
-#: modules/backups/views.py:162
+#: modules/backups/views.py:160
msgid "Delete Archive"
msgstr "Usuń archiwum"
-#: modules/backups/views.py:175
+#: modules/backups/views.py:173
msgid "Archive deleted."
msgstr "Archiwum zostało usunięte."
-#: modules/backups/views.py:189
+#: modules/backups/views.py:187
msgid "Upload and restore a backup"
msgstr "Prześlij i odtwórz kopię zapasową"
-#: modules/backups/views.py:218
+#: modules/backups/views.py:216
#, fuzzy
#| msgid "Partition expanded successfully."
msgid "Upload successful."
msgstr "Partycja rozszerzona."
-#: modules/backups/views.py:256
+#: modules/backups/views.py:254
msgid "No backup file found."
msgstr "Brak kopii zapasowych."
-#: modules/backups/views.py:264
+#: modules/backups/views.py:262
msgid "Restore from uploaded file"
msgstr "Odtwórz z przesłanego pliku"
-#: modules/backups/views.py:278 modules/backups/views.py:299
+#: modules/backups/views.py:276 modules/backups/views.py:297
msgid "Restored files from backup."
msgstr "Odtworzono dane z kopii zapasowej."
-#: modules/backups/views.py:329
+#: modules/backups/views.py:327
msgid "No additional disks available to add a repository."
msgstr "Nie ma dysków, na których można dodać repozytorium."
-#: modules/backups/views.py:337
+#: modules/backups/views.py:335
msgid "Create backup repository"
msgstr "Utwórz repozytorium kopii zapasowych"
-#: modules/backups/views.py:352
+#: modules/backups/views.py:350
#, fuzzy
#| msgid "Added new remote SSH repository."
msgid "Added new repository."
msgstr "Dodano nowe zdalne repozytorium SSH."
-#: modules/backups/views.py:366
+#: modules/backups/views.py:364
msgid "Create remote backup repository"
msgstr "Utwórz zdalne repozytorium kopii zapasowych"
-#: modules/backups/views.py:388
+#: modules/backups/views.py:386
msgid "Added new remote SSH repository."
msgstr "Dodano nowe zdalne repozytorium SSH."
-#: modules/backups/views.py:410
+#: modules/backups/views.py:408
msgid "Verify SSH hostkey"
msgstr "Zweryfikuj klucz hosta SSH"
-#: modules/backups/views.py:436
+#: modules/backups/views.py:434
msgid "SSH host already verified."
msgstr "Host SSH został już zweryfikowany."
-#: modules/backups/views.py:447
+#: modules/backups/views.py:445
msgid "SSH host verified."
msgstr "Zweryfikowano hosta SSH."
-#: modules/backups/views.py:463
+#: modules/backups/views.py:461
msgid "SSH host public key could not be verified."
msgstr "Nie można zweryfikować klucza publicznego hosta SSH."
-#: modules/backups/views.py:465
+#: modules/backups/views.py:463
msgid "Authentication to remote server failed."
msgstr "Nie powiodła się autoryzacja na zdalnym serwerze."
-#: modules/backups/views.py:467
+#: modules/backups/views.py:465
msgid "Error establishing connection to server: {}"
msgstr "Błąd podczas ustanawiania połączenia z serwerem: {error}"
-#: modules/backups/views.py:478
+#: modules/backups/views.py:476
msgid "Repository removed."
msgstr "Usunięto repozytorium."
-#: modules/backups/views.py:492
+#: modules/backups/views.py:490
msgid "Remove Repository"
msgstr "Usuń repozytorium"
-#: modules/backups/views.py:502
+#: modules/backups/views.py:500
msgid "Repository removed. Backups were not deleted."
msgstr ""
"Usunięto repozytorium. Umieszczone w nim kopie bezpieczeństwa nie zostały "
"usunięte."
-#: modules/backups/views.py:513
+#: modules/backups/views.py:511
msgid "Unmounting failed!"
msgstr "Nie udało się odmontować!"
-#: modules/backups/views.py:529 modules/backups/views.py:533
+#: modules/backups/views.py:527 modules/backups/views.py:531
msgid "Mounting failed"
msgstr "Montowanie nie udało się"
@@ -997,7 +1002,7 @@ msgstr "Dodaj hasło"
msgid "No passwords currently configured."
msgstr "Obecnie nie ma ustawionych żadnych haseł."
-#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:91
+#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:83
#: modules/miniflux/forms.py:14 modules/networks/forms.py:282
#: modules/shadowsocks/forms.py:32 modules/shadowsocksserver/forms.py:37
msgid "Password"
@@ -1127,8 +1132,10 @@ msgstr ""
msgid "Serving Domains"
msgstr "Obsługiwane domeny"
-#: modules/bind/templates/bind.html:17 modules/email/templates/email.html:38
-#: modules/ikiwiki/forms.py:12 modules/names/templates/names.html:18
+#: modules/bind/templates/bind.html:17
+#: modules/email/templates/email-dns.html:25
+#: modules/email/templates/email-dns.html:78 modules/ikiwiki/forms.py:12
+#: modules/names/templates/names.html:18
#: modules/networks/templates/connection_show.html:95
#: modules/samba/templates/samba.html:65
#: modules/storage/templates/storage.html:26
@@ -1160,7 +1167,7 @@ msgstr "Odśwież adres IP i domeny"
#: modules/minetest/views.py:55 modules/mumble/views.py:37
#: modules/names/views.py:66 modules/names/views.py:95
#: modules/names/views.py:129 modules/pagekite/forms.py:74
-#: modules/privacy/views.py:50 modules/quassel/views.py:29
+#: modules/privacy/views.py:55 modules/quassel/views.py:29
#: modules/roundcube/views.py:32 modules/rssbridge/views.py:31
#: modules/shadowsocks/views.py:52 modules/shadowsocksserver/views.py:48
#: modules/ssh/views.py:62 modules/transmission/views.py:43
@@ -1836,7 +1843,7 @@ msgid "Test"
msgstr "Test"
#: modules/diagnostics/templates/diagnostics_results.html:12
-#: modules/dynamicdns/templates/dynamicdns.html:20
+#: modules/dynamicdns/templates/dynamicdns.html:25
msgid "Result"
msgstr "Wynik"
@@ -1849,7 +1856,7 @@ msgstr "Test diagnostyczny"
msgid "App {app_id} is not installed, cannot repair"
msgstr ""
-#: modules/dynamicdns/__init__.py:28
+#: modules/dynamicdns/__init__.py:29
#, python-brace-format
msgid ""
"If your Internet provider changes your IP address periodically (i.e. every "
@@ -1860,7 +1867,7 @@ msgstr ""
"twój numer IP, innym użytkownikom może być trudno cię odnaleźć. Uniemożliwia "
"to znajdowanie usług świadczonych przez {box_name}."
-#: modules/dynamicdns/__init__.py:32
+#: modules/dynamicdns/__init__.py:33
msgid ""
"The solution is to assign a DNS name to your IP address and update the DNS "
"name every time your IP is changed by your Internet provider. Dynamic DNS "
@@ -1878,7 +1885,7 @@ msgstr ""
"nowego adresu IP i gdy ktoś zapyta o twoją nazwę DNS, otrzyma w odpowiedzi "
"twój aktualny adres IP."
-#: modules/dynamicdns/__init__.py:40
+#: modules/dynamicdns/__init__.py:41
#, fuzzy
#| msgid ""
#| "If you are looking for a free dynamic DNS account, you may find a free "
@@ -1898,11 +1905,17 @@ msgstr ""
"pod adresem freedns."
"afraid.org."
-#: modules/dynamicdns/__init__.py:61
+#: modules/dynamicdns/__init__.py:46
+msgid ""
+"This service uses an external service to lookup public IP address. This can "
+"be configured in the privacy app."
+msgstr ""
+
+#: modules/dynamicdns/__init__.py:64
msgid "Dynamic DNS Client"
msgstr "Klient Dynamic DNS"
-#: modules/dynamicdns/__init__.py:75
+#: modules/dynamicdns/__init__.py:78
msgid "Dynamic Domain Name"
msgstr "Dynamiczna nazwa domeny"
@@ -1957,95 +1970,73 @@ msgid "Leave this field empty if you want to keep your current password."
msgstr "Zostaw puste jeśli chcesz używać aktualnego hasła."
#: modules/dynamicdns/forms.py:43
-#, fuzzy, python-brace-format
-#| msgid ""
-#| "Optional Value. If your {box_name} is not connected directly to the "
-#| "Internet (i.e. connected to a NAT router) this URL is used to determine "
-#| "the real IP address. The URL should simply return the IP where the client "
-#| "comes from (example: http://myip.datasystems24.de)."
-msgid ""
-"Optional Value. If your {box_name} is not connected directly to the Internet "
-"(i.e. connected to a NAT router) this URL is used to determine the real IP "
-"address. The URL should simply return the IP where the client comes from "
-"(example: https://ddns.freedombox.org/ip/)."
-msgstr ""
-"Opcjonalne. Jeśli twój {box_name} nie jest podłączony bezpośrednio do "
-"internetu (np. podłączont poprzez NAT) ten adres URL będzie używany do "
-"określenia twojego prawdziwego adresu IP. URL powinien zwrócić IP z którego "
-"klient pochodzi. (przykład: http://myip.datasystems24.de)."
-
-#: modules/dynamicdns/forms.py:51
msgid "The username that was used when the account was created."
msgstr "Użytkownik który był używany podczas zakladania konta."
-#: modules/dynamicdns/forms.py:54
+#: modules/dynamicdns/forms.py:46
msgid "GnuDIP"
msgstr "GnuDIP"
-#: modules/dynamicdns/forms.py:57
+#: modules/dynamicdns/forms.py:49
#, fuzzy
#| msgid "Update URL"
msgid "Other update URL"
msgstr "Uaktualnij URL"
-#: modules/dynamicdns/forms.py:59
+#: modules/dynamicdns/forms.py:51
msgid "Service Type"
msgstr "Typ usługi"
-#: modules/dynamicdns/forms.py:64
+#: modules/dynamicdns/forms.py:56
msgid "GnuDIP Server Address"
msgstr "Adres serwera GnuGIP"
-#: modules/dynamicdns/forms.py:67
+#: modules/dynamicdns/forms.py:59
msgid "Invalid server name"
msgstr "Niewłaściwa nazwa użytkownika"
-#: modules/dynamicdns/forms.py:70
+#: modules/dynamicdns/forms.py:62
msgid "Update URL"
msgstr "Uaktualnij URL"
-#: modules/dynamicdns/forms.py:74
+#: modules/dynamicdns/forms.py:66
msgid "Accept all SSL certificates"
msgstr "Akceptuj wszystkie certyfikaty SSL"
-#: modules/dynamicdns/forms.py:78
+#: modules/dynamicdns/forms.py:70
msgid "Use HTTP basic authentication"
msgstr "Użyj podstawowej autentyfikacji HTTP"
-#: modules/dynamicdns/forms.py:82 modules/names/__init__.py:68
+#: modules/dynamicdns/forms.py:74 modules/names/__init__.py:68
#: modules/names/forms.py:106 modules/names/templates/names.html:19
msgid "Domain Name"
msgstr "Nazwa domeny"
-#: modules/dynamicdns/forms.py:85 modules/names/forms.py:99
+#: modules/dynamicdns/forms.py:77 modules/names/forms.py:99
#: modules/names/forms.py:117
msgid "Invalid domain name"
msgstr "Niewłaściwa nazwa domeny"
-#: modules/dynamicdns/forms.py:88 modules/miniflux/forms.py:11
+#: modules/dynamicdns/forms.py:80 modules/miniflux/forms.py:11
#: modules/networks/forms.py:281 modules/users/forms.py:130
msgid "Username"
msgstr "Nazwa użytkownika"
-#: modules/dynamicdns/forms.py:95 modules/networks/forms.py:284
+#: modules/dynamicdns/forms.py:87 modules/networks/forms.py:284
msgid "Show password"
msgstr "Pokaż hasło"
-#: modules/dynamicdns/forms.py:99
-msgid "URL to look up public IP"
-msgstr "Adres URL do wyszukiwania publicznego IP"
-
-#: modules/dynamicdns/forms.py:104
+#: modules/dynamicdns/forms.py:91
msgid "Use IPv6 instead of IPv4"
msgstr "Użyj IPv6 zamiast IPv4"
-#: modules/dynamicdns/forms.py:123
+#: modules/dynamicdns/forms.py:110
msgid "This field is required."
msgstr ""
#: modules/dynamicdns/manifest.py:17
-#: modules/dynamicdns/templates/dynamicdns.html:18
-#: modules/email/templates/email.html:35
+#: modules/dynamicdns/templates/dynamicdns.html:23
+#: modules/email/templates/email-dns.html:22
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64
msgid "Domain"
@@ -2061,43 +2052,43 @@ msgstr ""
msgid "Needs public IP"
msgstr "Klucz publiczny serwera:"
-#: modules/dynamicdns/templates/dynamicdns.html:11
-#: modules/ejabberd/templates/ejabberd.html:13 modules/firewall/manifest.py:10
+#: modules/dynamicdns/templates/dynamicdns.html:16
+#: modules/ejabberd/templates/ejabberd.html:18 modules/firewall/manifest.py:10
#: modules/firewall/templates/firewall.html:16
#: modules/firewall/templates/firewall.html:22
#: modules/letsencrypt/templates/letsencrypt.html:17
-#: modules/matrixsynapse/templates/matrix-synapse.html:12
+#: modules/matrixsynapse/templates/matrix-synapse.html:17
#: modules/networks/templates/connection_show.html:258
-#: modules/samba/templates/samba.html:67 modules/tor/templates/tor.html:19
+#: modules/samba/templates/samba.html:67 modules/tor/templates/tor.html:24
#: modules/upgrades/templates/upgrades_configure.html:14
#: modules/wireguard/templates/wireguard_show_client.html:48
#: modules/wireguard/templates/wireguard_show_server.html:47
msgid "Status"
msgstr "Stan"
-#: modules/dynamicdns/templates/dynamicdns.html:19
+#: modules/dynamicdns/templates/dynamicdns.html:24
msgid "Last update"
msgstr "Ostatnie uaktualnienie"
-#: modules/dynamicdns/templates/dynamicdns.html:21
+#: modules/dynamicdns/templates/dynamicdns.html:26
#, fuzzy
#| msgid "IP addresses"
msgid "IP Address"
msgstr "Adresy IP"
-#: modules/dynamicdns/templates/dynamicdns.html:32
+#: modules/dynamicdns/templates/dynamicdns.html:37
#, fuzzy
#| msgid "Access"
msgid "Success"
msgstr "Dostęp"
-#: modules/dynamicdns/templates/dynamicdns.html:36
+#: modules/dynamicdns/templates/dynamicdns.html:41
#, fuzzy
#| msgid "failed"
msgid "Failed"
msgstr "nie udało się"
-#: modules/dynamicdns/templates/dynamicdns.html:52
+#: modules/dynamicdns/templates/dynamicdns.html:57
msgid "No status available."
msgstr "Brak dostępnego statusu."
@@ -2267,7 +2258,7 @@ msgstr ""
msgid "XMPP"
msgstr ""
-#: modules/ejabberd/templates/ejabberd.html:18
+#: modules/ejabberd/templates/ejabberd.html:23
#, fuzzy, python-format
#| msgid ""
#| "Your XMPP server domain is set to %(domainname)s. User IDs will "
@@ -2283,7 +2274,7 @@ msgstr ""
"i>. Możesz ustawić swoją domenę na stronie Konfiguruj."
-#: modules/ejabberd/templates/ejabberd.html:25
+#: modules/ejabberd/templates/ejabberd.html:30
#, fuzzy, python-format
#| msgid ""
#| "Your XMPP server domain is set to %(domainname)s. User IDs will "
@@ -2339,18 +2330,20 @@ msgstr ""
msgid "Postfix/Dovecot"
msgstr "Postfix/Dovecot"
-#: modules/email/__init__.py:83
+#: modules/email/__init__.py:80
+msgid "More emails"
+msgstr ""
+
+#: modules/email/__init__.py:80
+msgid "Same mailbox"
+msgstr ""
+
+#: modules/email/__init__.py:82
#, fuzzy
#| msgid "Create Repository"
msgid "My Email Aliases"
msgstr "Utwórz repozytorium"
-#: modules/email/__init__.py:84
-#, fuzzy
-#| msgid "Create Repository"
-msgid "Manage Aliases for Mailbox"
-msgstr "Utwórz repozytorium"
-
#: modules/email/forms.py:25
#, fuzzy
#| msgid "Domain"
@@ -2437,45 +2430,94 @@ msgstr "Utwórz nową kopię zapasową"
msgid "Add"
msgstr ""
+#: modules/email/templates/email-dns.html:9
+msgid "DNS Records for domain:"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:12
+msgid ""
+"The following DNS records must be added manually on this domain for the mail "
+"server to work properly for this domain."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:23
+#: modules/email/templates/email-dns.html:77
+msgid "TTL"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:24
+msgid "Class"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:26
+msgid "Priority"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:27
+msgid "Weight"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:28
+#: modules/minetest/templates/minetest.html:18
+msgid "Port"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:29
+#: modules/email/templates/email-dns.html:79
+msgid "Host/Target/Value"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:50
+msgid "Reverse DNS Records for IP Addresses"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:53
+#, python-format
+msgid ""
+"If your %(box_name)s runs on a cloud service infrastructure, you should "
+"configure "
+"Reverse DNS lookup. This isn't mandatory, however, it greatly improves "
+"email deliverability. Reverse DNS isn't configured where your regular DNS "
+"is. You should look for it in the settings of your VPS/ISP. Some providers "
+"preconfigure the IP address part for you and you only have to set the domain "
+"part. Only one of your domains can have Revese DNS lookup configured unless "
+"you have multiple public IP addresses."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:66
+msgid ""
+"An external service is used to lookup public IP address to show in the "
+"following section. This can be configured in the privacy app."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:76
+#, fuzzy
+#| msgid "Hostname"
+msgid "Host"
+msgstr "Nazwa hosta"
+
#: modules/email/templates/email.html:10
#, fuzzy
#| msgid "Delete %(name)s"
msgid "Manage Spam"
msgstr "Usuń %(name)s"
-#: modules/email/templates/email.html:22
-msgid "DNS Records"
-msgstr ""
+#: modules/email/templates/email.html:20 modules/names/manifest.py:11
+#: modules/names/templates/names.html:12
+#, fuzzy
+#| msgid "Domain"
+msgid "Domains"
+msgstr "Domena"
-#: modules/email/templates/email.html:25
+#: modules/email/templates/email.html:23
msgid ""
-"The following DNS records must be added manually on your primary domain for "
-"the mail server to work properly."
+"The following domains are configured. View details to see the list of DNS "
+"entries to be made for the domain."
msgstr ""
-#: modules/email/templates/email.html:36
-msgid "TTL"
-msgstr ""
-
-#: modules/email/templates/email.html:37
-msgid "Class"
-msgstr ""
-
-#: modules/email/templates/email.html:39
-msgid "Priority"
-msgstr ""
-
-#: modules/email/templates/email.html:40
-msgid "Weight"
-msgstr ""
-
-#: modules/email/templates/email.html:41
-#: modules/minetest/templates/minetest.html:18
-msgid "Port"
-msgstr ""
-
-#: modules/email/templates/email.html:42
-msgid "Host/Target/Value"
+#: modules/email/templates/email.html:35
+#, python-format
+msgid "View domain: %(domain)s"
msgstr ""
#: modules/featherwiki/__init__.py:25
@@ -2755,7 +2797,7 @@ msgstr "Port {name} ({details}) jest dostępny dla sieci zewnętrznych"
msgid "Port {name} ({details}) unavailable for external networks"
msgstr ""
-#: modules/firewall/manifest.py:10 modules/tor/templates/tor.html:20
+#: modules/firewall/manifest.py:10 modules/tor/templates/tor.html:25
msgid "Ports"
msgstr ""
@@ -3130,9 +3172,9 @@ msgstr ""
msgid "Contribute"
msgstr ""
-#: modules/help/__init__.py:53 templates/base.html:215 templates/base.html:218
+#: modules/help/__init__.py:53 templates/base.html:217 templates/base.html:220
#: templates/help-menu.html:46 templates/help-menu.html:47
-#: templates/index.html:98
+#: templates/index.html:96
msgid "About"
msgstr "O FreedomBox"
@@ -3278,7 +3320,7 @@ msgstr ""
#: modules/help/templates/help_contribute.html:42
#: modules/power/templates/power_restart.html:27
-#: modules/power/templates/power_shutdown.html:26 templates/app-header.html:68
+#: modules/power/templates/power_shutdown.html:26 templates/app-header.html:65
msgid "Learn more..."
msgstr "Dowiedz się więcej..."
@@ -3620,7 +3662,7 @@ msgid "Web conference"
msgstr ""
#: modules/janus/templates/janus_video_room.html:205
-#: modules/jsxc/templates/jsxc_launch.html:117 templates/base.html:271
+#: modules/jsxc/templates/jsxc_launch.html:117 templates/base.html:273
msgid "JavaScript license information"
msgstr "Informacje o licencji JavaScript"
@@ -4008,7 +4050,7 @@ msgid ""
"least one domain to be able to use Matrix Synapse."
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:15
+#: modules/matrixsynapse/templates/matrix-synapse.html:20
#, python-format
msgid ""
"The Matrix server domain is set to %(domain_name)s. User IDs will "
@@ -4016,49 +4058,49 @@ msgid ""
"the initial setup is currently not supported."
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:22
+#: modules/matrixsynapse/templates/matrix-synapse.html:27
msgid ""
"New users can be registered from any client if public registration is "
"enabled."
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:29
+#: modules/matrixsynapse/templates/matrix-synapse.html:34
msgid ""
"New users must use one of the following tokens for verification during "
"account registration:"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:38
+#: modules/matrixsynapse/templates/matrix-synapse.html:43
#, fuzzy
#| msgid "Skip Registration"
msgid "Registration Token"
msgstr "Pomiń rejstrację"
-#: modules/matrixsynapse/templates/matrix-synapse.html:39
+#: modules/matrixsynapse/templates/matrix-synapse.html:44
msgid "Uses Allowed"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:40
+#: modules/matrixsynapse/templates/matrix-synapse.html:45
#, fuzzy
#| msgid "Skip Registration"
msgid "Pending Registrations"
msgstr "Pomiń rejstrację"
-#: modules/matrixsynapse/templates/matrix-synapse.html:41
+#: modules/matrixsynapse/templates/matrix-synapse.html:46
#, fuzzy
#| msgid "Skip Registration"
msgid "Completed Registrations"
msgstr "Pomiń rejstrację"
-#: modules/matrixsynapse/templates/matrix-synapse.html:42
+#: modules/matrixsynapse/templates/matrix-synapse.html:47
msgid "Expiry Time"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:51
+#: modules/matrixsynapse/templates/matrix-synapse.html:56
msgid "Unlimited"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:80
+#: modules/matrixsynapse/templates/matrix-synapse.html:85
#, python-format
msgid ""
"The configured domain name is using a self-signed certificate. Federation "
@@ -4523,23 +4565,29 @@ msgstr "Niepoprawna nazwa użytkownika: {username}"
msgid "An error occurred during password reset: {error}."
msgstr "Podczas konfiguracji wystąpił błąd."
-#: modules/mumble/__init__.py:25
+#: modules/mumble/__init__.py:27
msgid ""
"Mumble is an open source, low-latency, encrypted, high quality voice chat "
"software."
msgstr ""
-#: modules/mumble/__init__.py:27
+#: modules/mumble/__init__.py:29
msgid ""
"You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your "
"desktop and mobile devices are available."
msgstr ""
-#: modules/mumble/__init__.py:45 modules/mumble/manifest.py:9
+#: modules/mumble/__init__.py:47 modules/mumble/manifest.py:9
msgid "Mumble"
msgstr "Mumble"
+#: modules/mumble/__init__.py:158
+#, fuzzy
+#| msgid "DNS server configuration updated"
+msgid "Mumble server is configured"
+msgstr "Zmieniono konfigurację DNS"
+
#: modules/mumble/forms.py:30
#, fuzzy
#| msgid "SSH server password"
@@ -4682,12 +4730,6 @@ msgstr ""
"zawierać tylko litery, cyfry i myślnik. Maksymalna długość to 63 znaki. "
"Maksymalna nazwa domeny to 253 znaki."
-#: modules/names/manifest.py:11 modules/names/templates/names.html:12
-#, fuzzy
-#| msgid "Domain"
-msgid "Domains"
-msgstr "Domena"
-
#: modules/names/manifest.py:13
#, fuzzy
#| msgid "Evolution"
@@ -5206,7 +5248,7 @@ msgstr ""
#: modules/networks/templates/connection_show.html:40
#: modules/wireguard/templates/wireguard_show_client.html:72
#: modules/wireguard/templates/wireguard_show_server.html:73
-#: templates/base.html:165 templates/base.html:166
+#: templates/base.html:167 templates/base.html:168
msgid "Edit"
msgstr ""
@@ -5259,7 +5301,7 @@ msgstr ""
#: modules/networks/templates/connection_show.html:107
#: modules/snapshot/templates/snapshot_delete_selected.html:19
-#: modules/snapshot/templates/snapshot_manage.html:29
+#: modules/snapshot/templates/snapshot_manage.html:34
#: modules/snapshot/templates/snapshot_rollback.html:27
msgid "Description"
msgstr ""
@@ -5337,8 +5379,8 @@ msgstr ""
#: modules/networks/templates/connection_show.html:264
#: modules/networks/templates/connections_fields_privacy.html:15
-#: modules/openvpn/manifest.py:60 modules/privacy/__init__.py:32
-#: modules/privacy/__init__.py:72 modules/wireguard/manifest.py:45
+#: modules/openvpn/manifest.py:60 modules/privacy/__init__.py:38
+#: modules/privacy/__init__.py:77 modules/wireguard/manifest.py:45
#, fuzzy
#| msgid "Privoxy"
msgid "Privacy"
@@ -5424,7 +5466,7 @@ msgstr ""
msgid "Computer"
msgstr ""
-#: modules/networks/templates/connections_edit.html:19
+#: modules/networks/templates/connections_edit.html:24
#: modules/networks/views.py:253 modules/networks/views.py:341
msgid "Edit Connection"
msgstr ""
@@ -5437,7 +5479,7 @@ msgid "Error:"
msgstr "błąd"
#: modules/networks/templates/connections_fields.html:20
-#: modules/users/templates/users_update.html:46 templates/messages.html:30
+#: modules/users/templates/users_update.html:51 templates/messages.html:30
msgid "Close"
msgstr ""
@@ -5531,7 +5573,7 @@ msgstr "Uaktualnij..."
#: modules/networks/templates/network_topology_update.html:18
#: modules/networks/templates/router_configuration_update.html:19
#: modules/pagekite/templates/pagekite_custom_services.html:33
-#: modules/sharing/templates/sharing_add_edit.html:20 templates/form.html:19
+#: modules/sharing/templates/sharing_add_edit.html:25 templates/form.html:19
msgid "Submit"
msgstr "Wyślij"
@@ -5947,11 +5989,7 @@ msgid ""
"performed following an independent cycle."
msgstr ""
-#: modules/nextcloud/__init__.py:48
-msgid "This app is experimental."
-msgstr ""
-
-#: modules/nextcloud/__init__.py:66 modules/nextcloud/manifest.py:11
+#: modules/nextcloud/__init__.py:65 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
msgid "Nextcloud"
msgstr ""
@@ -6127,7 +6165,7 @@ msgstr ""
msgid "PageKite"
msgstr "PageKite"
-#: modules/pagekite/__init__.py:73
+#: modules/pagekite/__init__.py:72
msgid "PageKite Domain"
msgstr ""
@@ -6310,8 +6348,8 @@ msgstr ""
msgid "Shutdown"
msgstr "Wyłącz"
-#: modules/power/templates/power.html:15 templates/base.html:180
-#: templates/base.html:181
+#: modules/power/templates/power.html:15 templates/base.html:182
+#: templates/base.html:183
msgid "Restart"
msgstr "Uruchom ponownie"
@@ -6352,23 +6390,33 @@ msgstr ""
msgid "Shut Down Now"
msgstr ""
-#: modules/privacy/__init__.py:15
+#: modules/privacy/__init__.py:21
msgid "Manage system-wide privacy settings."
msgstr ""
-#: modules/privacy/__init__.py:70
+#: modules/privacy/__init__.py:75
msgid "Please update privacy settings to match your preferences."
msgstr ""
-#: modules/privacy/__init__.py:75
+#: modules/privacy/__init__.py:80
msgid "Review privacy setting"
msgstr ""
-#: modules/privacy/forms.py:16
+#: modules/privacy/forms.py:17
+#, python-brace-format
+msgid ""
+"Optional Value. This URL is used to determine the publicly visible IP "
+"address of your {box_name}. The URL should simply return the IPv4 or IPv6 "
+"address where the client request comes from. Default is to use the service "
+"provided by the FreedomBox Foundation at https://ddns.freedombox.org/ip/. If "
+"empty, lookups are disabled and some functionality will fail."
+msgstr ""
+
+#: modules/privacy/forms.py:25
msgid "Periodically submit a list of apps used (suggested)"
msgstr ""
-#: modules/privacy/forms.py:18
+#: modules/privacy/forms.py:27
#, python-brace-format
msgid ""
"Help Debian/{box_name} developers by participating in the Popularity Contest "
@@ -6379,11 +6427,11 @@ msgid ""
"network for additional anonymity if Tor app is enabled."
msgstr ""
-#: modules/privacy/forms.py:28
+#: modules/privacy/forms.py:37
msgid "Allow using fallback DNS servers"
msgstr ""
-#: modules/privacy/forms.py:30
+#: modules/privacy/forms.py:39
msgid ""
"Use well-known public DNS servers to resolve domain names in unusual "
"circumstances where no DNS servers are known but internet connectivity is "
@@ -6391,10 +6439,22 @@ msgid ""
"and reliable."
msgstr ""
+#: modules/privacy/forms.py:45
+#, fuzzy
+#| msgid "URL to look up public IP"
+msgid "URL to look up public IP address"
+msgstr "Adres URL do wyszukiwania publicznego IP"
+
#: modules/privacy/manifest.py:10
msgid "Usage reporting"
msgstr ""
+#: modules/privacy/manifest.py:10
+#, fuzzy
+#| msgid "Dynamic DNS Service"
+msgid "External services"
+msgstr "Usługa dynamicznego DNS"
+
#: modules/privacy/manifest.py:10
#, fuzzy
#| msgid "DNS Server"
@@ -7365,42 +7425,42 @@ msgid "Delete the following snapshots permanently?"
msgstr ""
#: modules/snapshot/templates/snapshot_delete_selected.html:17
-#: modules/snapshot/templates/snapshot_manage.html:27
+#: modules/snapshot/templates/snapshot_manage.html:32
#: modules/snapshot/templates/snapshot_rollback.html:25
msgid "Number"
msgstr ""
#: modules/snapshot/templates/snapshot_delete_selected.html:18
-#: modules/snapshot/templates/snapshot_manage.html:28
+#: modules/snapshot/templates/snapshot_manage.html:33
#: modules/snapshot/templates/snapshot_rollback.html:26
msgid "Date"
msgstr ""
#: modules/snapshot/templates/snapshot_delete_selected.html:42
-#: modules/snapshot/templates/snapshot_manage.html:20
+#: modules/snapshot/templates/snapshot_manage.html:25
#: modules/snapshot/views.py:197
#, fuzzy
#| msgid "Delete %(name)s"
msgid "Delete Snapshots"
msgstr "Usuń %(name)s"
-#: modules/snapshot/templates/snapshot_manage.html:17
+#: modules/snapshot/templates/snapshot_manage.html:22
msgid "Create Snapshot"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:30
+#: modules/snapshot/templates/snapshot_manage.html:35
msgid "Rollback"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:40
+#: modules/snapshot/templates/snapshot_manage.html:45
msgid "will be used at next boot"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:45
+#: modules/snapshot/templates/snapshot_manage.html:50
msgid "in use"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:54
+#: modules/snapshot/templates/snapshot_manage.html:59
#, python-format
msgid "Rollback to snapshot #%(number)s"
msgstr ""
@@ -7971,27 +8031,27 @@ msgstr ""
msgid "Tor"
msgstr ""
-#: modules/tor/__init__.py:78
+#: modules/tor/__init__.py:77
msgid "Tor Onion Service"
msgstr ""
-#: modules/tor/__init__.py:82
+#: modules/tor/__init__.py:81
msgid "Tor Bridge Relay"
msgstr ""
-#: modules/tor/__init__.py:140
+#: modules/tor/__init__.py:139
msgid "Tor relay port available"
msgstr ""
-#: modules/tor/__init__.py:152
+#: modules/tor/__init__.py:151
msgid "Obfs3 transport registered"
msgstr ""
-#: modules/tor/__init__.py:163
+#: modules/tor/__init__.py:162
msgid "Obfs4 transport registered"
msgstr ""
-#: modules/tor/__init__.py:176
+#: modules/tor/__init__.py:175
#, fuzzy
#| msgid "Dynamic DNS Service"
msgid "Onion service is version 3"
@@ -8089,7 +8149,7 @@ msgstr ""
msgid "Anonymity network"
msgstr "Przejdź do sieci"
-#: modules/tor/templates/tor.html:18
+#: modules/tor/templates/tor.html:23
#, fuzzy
#| msgid "Dynamic DNS Service"
msgid "Onion Service"
@@ -8709,42 +8769,42 @@ msgstr ""
msgid "Edit user %(username)s"
msgstr ""
-#: modules/users/templates/users_update.html:12
+#: modules/users/templates/users_update.html:17
#, python-format
msgid "Edit User %(username)s"
msgstr "Edytuj Użytkownika %(username)s"
-#: modules/users/templates/users_update.html:20
+#: modules/users/templates/users_update.html:25
#, python-format
msgid ""
"Use the change password form to "
"change the password."
msgstr ""
-#: modules/users/templates/users_update.html:32
+#: modules/users/templates/users_update.html:37
#: templates/language-selection.html:17
msgid "Save Changes"
msgstr ""
-#: modules/users/templates/users_update.html:41
+#: modules/users/templates/users_update.html:46
#, fuzzy, python-format
#| msgid "Edit User %(username)s"
msgid "Delete user %(username)s and all the user's files?"
msgstr "Edytuj Użytkownika %(username)s"
-#: modules/users/templates/users_update.html:51
+#: modules/users/templates/users_update.html:56
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
msgstr ""
-#: modules/users/templates/users_update.html:60
+#: modules/users/templates/users_update.html:65
#, fuzzy
#| msgid "Delete files"
msgid "Delete user and files"
msgstr "Usuń pliki"
-#: modules/users/templates/users_update.html:63
+#: modules/users/templates/users_update.html:68
msgid "Cancel"
msgstr "Anuluj"
@@ -9455,11 +9515,11 @@ msgstr ""
msgid "Service %(service_name)s is not running."
msgstr "Usługa %(service_name)s nie jest uruchomiona."
-#: templates/apps.html:29
+#: templates/apps.html:33
msgid "Search with tags"
msgstr ""
-#: templates/apps.html:42
+#: templates/apps.html:46
msgid "Clear all tags"
msgstr ""
@@ -9469,37 +9529,37 @@ msgid ""
"is free software that lets you install and manage server apps with ease."
msgstr ""
-#: templates/base.html:116
+#: templates/base.html:118
msgid " Home"
msgstr " Dom"
-#: templates/base.html:124
+#: templates/base.html:126
msgid " Apps"
msgstr " Aplikacje"
-#: templates/base.html:133
+#: templates/base.html:135
msgid " System"
msgstr ""
-#: templates/base.html:172 templates/base.html:173
+#: templates/base.html:174 templates/base.html:175
msgid "Change password"
msgstr "Zmień hasło"
-#: templates/base.html:186 templates/base.html:187
+#: templates/base.html:188 templates/base.html:189
msgid "Shut down"
msgstr "Wyłącz"
-#: templates/base.html:197 templates/base.html:235
+#: templates/base.html:199 templates/base.html:237
msgid "Log out"
msgstr "Wyloguj się"
-#: templates/base.html:206 templates/base.html:209
+#: templates/base.html:208 templates/base.html:211
#, fuzzy
#| msgid "Language"
msgid "Select language"
msgstr "Język"
-#: templates/base.html:224 templates/base.html:226
+#: templates/base.html:226 templates/base.html:228
msgid "Log in"
msgstr "Zaloguj się"
@@ -9727,23 +9787,45 @@ msgid ""
"installed freshly again."
msgstr ""
-#: views.py:85
+#: views.py:84
msgid "Here"
msgstr ""
-#: views.py:374
+#: views.py:376
msgid "Setting unchanged"
msgstr "Ustawienie bez zmian"
-#: views.py:609
+#: views.py:610
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""
-#: web_framework.py:114
+#: web_framework.py:122
msgid "Gujarati"
msgstr "Gujarati"
+#, fuzzy, python-brace-format
+#~| msgid ""
+#~| "Optional Value. If your {box_name} is not connected directly to the "
+#~| "Internet (i.e. connected to a NAT router) this URL is used to determine "
+#~| "the real IP address. The URL should simply return the IP where the "
+#~| "client comes from (example: http://myip.datasystems24.de)."
+#~ msgid ""
+#~ "Optional Value. If your {box_name} is not connected directly to the "
+#~ "Internet (i.e. connected to a NAT router) this URL is used to determine "
+#~ "the real IP address. The URL should simply return the IP where the client "
+#~ "comes from (example: https://ddns.freedombox.org/ip/)."
+#~ msgstr ""
+#~ "Opcjonalne. Jeśli twój {box_name} nie jest podłączony bezpośrednio do "
+#~ "internetu (np. podłączont poprzez NAT) ten adres URL będzie używany do "
+#~ "określenia twojego prawdziwego adresu IP. URL powinien zwrócić IP z "
+#~ "którego klient pochodzi. (przykład: http://myip.datasystems24.de)."
+
+#, fuzzy
+#~| msgid "Create Repository"
+#~ msgid "Manage Aliases for Mailbox"
+#~ msgstr "Utwórz repozytorium"
+
#~ msgid "File & Snippet Sharing"
#~ msgstr "Udostępnianie tekstu i plików"
@@ -10574,9 +10656,6 @@ msgstr "Gujarati"
#~ msgid "Enable DNSSEC configuration updated"
#~ msgstr "Włączono DNSSEC"
-#~ msgid "DNS server configuration updated"
-#~ msgstr "Zmieniono konfigurację DNS"
-
#~ msgid "Enable forwarding to set forwarding DNS servers"
#~ msgstr "Włącz aby ustawić przekazywanie serwerów DNS"
diff --git a/plinth/locale/pt/LC_MESSAGES/django.po b/plinth/locale/pt/LC_MESSAGES/django.po
index 6dbb530c3..e80ab35cd 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-12-30 20:05-0500\n"
+"POT-Creation-Date: 2025-01-13 20:33-0500\n"
"PO-Revision-Date: 2023-05-22 15:50+0000\n"
"Last-Translator: Frederico Gomes
SSH key-based authentication is not yet "
"possible."
@@ -466,18 +468,18 @@ msgstr ""
"Palavra-passe do Servidor SSH.
A autenticação baseada em chave SSH ainda "
"não é possível."
-#: modules/backups/forms.py:273
+#: modules/backups/forms.py:275
msgid "Remote backup repository already exists."
msgstr "O repositório remoto de cópias de segurança já existe."
-#: modules/backups/forms.py:279
+#: modules/backups/forms.py:281
msgid "Select verified SSH public key"
msgstr "Seleccione a chave pública de SSH verificada"
#: modules/backups/manifest.py:14
#: modules/backups/templates/backups_repository.html:92
#: modules/backups/templates/backups_restore.html:27
-#: modules/backups/views.py:240 modules/snapshot/manifest.py:14
+#: modules/backups/views.py:238 modules/snapshot/manifest.py:14
#: templates/toolbar.html:44 templates/toolbar.html:45
msgid "Restore"
msgstr "Restaurar"
@@ -557,16 +559,20 @@ msgstr ""
msgid "Backup system is busy with another operation."
msgstr ""
+#: modules/backups/privileged.py:92
+msgid "Not enough space left on the disk or remote location."
+msgstr ""
+
#: modules/backups/repository.py:94
msgid "Existing repository is not encrypted."
msgstr "Repositório existente não está encriptado."
-#: modules/backups/repository.py:266
+#: modules/backups/repository.py:289
#, python-brace-format
msgid "{box_name} storage"
msgstr "{box_name} armazenamento"
-#: modules/backups/templates/backups.html:17 modules/backups/views.py:125
+#: modules/backups/templates/backups.html:17 modules/backups/views.py:124
msgid "Create a new backup"
msgstr "Criar nova cópia de segurança"
@@ -610,10 +616,9 @@ msgstr "Cópias de segurança existentes"
#: modules/help/templates/statuslog.html:24
#: modules/kiwix/templates/kiwix-add-package.html:26
#: modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:28
-#: modules/matrixsynapse/templates/matrix-synapse.html:76
+#: modules/matrixsynapse/templates/matrix-synapse.html:81
#: modules/names/templates/names.html:128
#: modules/networks/templates/connection_show.html:24
-#: modules/nextcloud/__init__.py:48
#: modules/pagekite/templates/pagekite_custom_services.html:16
#: modules/power/templates/power_busy_warning.html:11
#: modules/snapshot/templates/snapshot_not_supported.html:13
@@ -777,113 +782,113 @@ msgstr ""
msgid "Verify Host"
msgstr "Verificar Hospedeiro"
-#: modules/backups/views.py:69
+#: modules/backups/views.py:68
msgid "Backup schedule updated."
msgstr "Agendamento de cópias de segurança atualizado."
-#: modules/backups/views.py:88
+#: modules/backups/views.py:87
#, fuzzy
#| msgid "Create Backup"
msgid "Schedule Backups"
msgstr "Criar backup"
-#: modules/backups/views.py:150
+#: modules/backups/views.py:148
msgid "Archive created."
msgstr "Arquivo criado."
-#: modules/backups/views.py:162
+#: modules/backups/views.py:160
msgid "Delete Archive"
msgstr "Eliminar Arquivo"
-#: modules/backups/views.py:175
+#: modules/backups/views.py:173
msgid "Archive deleted."
msgstr "Arquivo eliminado."
-#: modules/backups/views.py:189
+#: modules/backups/views.py:187
msgid "Upload and restore a backup"
msgstr "Enviar e restaurar uma cópia de segurança"
-#: modules/backups/views.py:218
+#: modules/backups/views.py:216
#, fuzzy
#| msgid "Logged out successfully."
msgid "Upload successful."
msgstr "Sessão terminada com sucesso."
-#: modules/backups/views.py:256
+#: modules/backups/views.py:254
msgid "No backup file found."
msgstr "Ficheiro de cópias de segurança não encontrado."
-#: modules/backups/views.py:264
+#: modules/backups/views.py:262
msgid "Restore from uploaded file"
msgstr "Restaurar de um ficheiro enviado"
-#: modules/backups/views.py:278 modules/backups/views.py:299
+#: modules/backups/views.py:276 modules/backups/views.py:297
msgid "Restored files from backup."
msgstr "Ficheiros da cópia de segurança restaurados."
-#: modules/backups/views.py:329
+#: modules/backups/views.py:327
msgid "No additional disks available to add a repository."
msgstr "Nenhum disco adicional disponível para adicionar um repositório."
-#: modules/backups/views.py:337
+#: modules/backups/views.py:335
msgid "Create backup repository"
msgstr "Criar repositório de cópias de segurança"
-#: modules/backups/views.py:352
+#: modules/backups/views.py:350
#, fuzzy
#| msgid "Added new remote SSH repository."
msgid "Added new repository."
msgstr "Adicionar novo repositório de SSH remoto."
-#: modules/backups/views.py:366
+#: modules/backups/views.py:364
msgid "Create remote backup repository"
msgstr "Criar repositório remoto de cópias de segurança"
-#: modules/backups/views.py:388
+#: modules/backups/views.py:386
msgid "Added new remote SSH repository."
msgstr "Adicionar novo repositório de SSH remoto."
-#: modules/backups/views.py:410
+#: modules/backups/views.py:408
msgid "Verify SSH hostkey"
msgstr "Verificar chave de anfitrião SSH"
-#: modules/backups/views.py:436
+#: modules/backups/views.py:434
msgid "SSH host already verified."
msgstr "Anfitrião SSH já verificado."
-#: modules/backups/views.py:447
+#: modules/backups/views.py:445
msgid "SSH host verified."
msgstr "Anfitrião SSH verificado."
-#: modules/backups/views.py:463
+#: modules/backups/views.py:461
msgid "SSH host public key could not be verified."
msgstr "A chave pública do anfitrião SSH não pôde ser verificada."
-#: modules/backups/views.py:465
+#: modules/backups/views.py:463
msgid "Authentication to remote server failed."
msgstr "Falha na autenticação no servidor remoto."
-#: modules/backups/views.py:467
+#: modules/backups/views.py:465
msgid "Error establishing connection to server: {}"
msgstr "Erro a estabelecer ligação ao servidor: {}"
-#: modules/backups/views.py:478
+#: modules/backups/views.py:476
msgid "Repository removed."
msgstr "Repositório removido."
-#: modules/backups/views.py:492
+#: modules/backups/views.py:490
msgid "Remove Repository"
msgstr "Remover Repositório"
-#: modules/backups/views.py:502
+#: modules/backups/views.py:500
msgid "Repository removed. Backups were not deleted."
msgstr "Repositório removido. As cópias de segurança não foram eliminadas."
-#: modules/backups/views.py:513
+#: modules/backups/views.py:511
msgid "Unmounting failed!"
msgstr "Remoção falhou!"
-#: modules/backups/views.py:529 modules/backups/views.py:533
+#: modules/backups/views.py:527 modules/backups/views.py:531
msgid "Mounting failed"
msgstr "Criação falhou"
@@ -1007,7 +1012,7 @@ msgstr "Palavra-passe de Envio"
msgid "No passwords currently configured."
msgstr "Atualmente, não existe nenhum arquivo."
-#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:91
+#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:83
#: modules/miniflux/forms.py:14 modules/networks/forms.py:282
#: modules/shadowsocks/forms.py:32 modules/shadowsocksserver/forms.py:37
msgid "Password"
@@ -1138,8 +1143,10 @@ msgstr ""
msgid "Serving Domains"
msgstr "Domínios em Serviço"
-#: modules/bind/templates/bind.html:17 modules/email/templates/email.html:38
-#: modules/ikiwiki/forms.py:12 modules/names/templates/names.html:18
+#: modules/bind/templates/bind.html:17
+#: modules/email/templates/email-dns.html:25
+#: modules/email/templates/email-dns.html:78 modules/ikiwiki/forms.py:12
+#: modules/names/templates/names.html:18
#: modules/networks/templates/connection_show.html:95
#: modules/samba/templates/samba.html:65
#: modules/storage/templates/storage.html:26
@@ -1169,7 +1176,7 @@ msgstr "Atualizar endereço de IP e domínios"
#: modules/minetest/views.py:55 modules/mumble/views.py:37
#: modules/names/views.py:66 modules/names/views.py:95
#: modules/names/views.py:129 modules/pagekite/forms.py:74
-#: modules/privacy/views.py:50 modules/quassel/views.py:29
+#: modules/privacy/views.py:55 modules/quassel/views.py:29
#: modules/roundcube/views.py:32 modules/rssbridge/views.py:31
#: modules/shadowsocks/views.py:52 modules/shadowsocksserver/views.py:48
#: modules/ssh/views.py:62 modules/transmission/views.py:43
@@ -1801,7 +1808,7 @@ msgid "Test"
msgstr "Teste"
#: modules/diagnostics/templates/diagnostics_results.html:12
-#: modules/dynamicdns/templates/dynamicdns.html:20
+#: modules/dynamicdns/templates/dynamicdns.html:25
msgid "Result"
msgstr "Resultado"
@@ -1814,7 +1821,7 @@ msgstr "Teste de diagnóstico"
msgid "App {app_id} is not installed, cannot repair"
msgstr ""
-#: modules/dynamicdns/__init__.py:28
+#: modules/dynamicdns/__init__.py:29
#, python-brace-format
msgid ""
"If your Internet provider changes your IP address periodically (i.e. every "
@@ -1822,7 +1829,7 @@ msgid ""
"prevent others from finding services which are provided by this {box_name}."
msgstr ""
-#: modules/dynamicdns/__init__.py:32
+#: modules/dynamicdns/__init__.py:33
msgid ""
"The solution is to assign a DNS name to your IP address and update the DNS "
"name every time your IP is changed by your Internet provider. Dynamic DNS "
@@ -1833,7 +1840,7 @@ msgid ""
"IP address."
msgstr ""
-#: modules/dynamicdns/__init__.py:40
+#: modules/dynamicdns/__init__.py:41
msgid ""
"If you are looking for a free dynamic DNS account, you may find a free "
"GnuDIP service at ddns."
@@ -1841,11 +1848,17 @@ msgid ""
"href='http://freedns.afraid.org/' target='_blank'>freedns.afraid.org."
msgstr ""
-#: modules/dynamicdns/__init__.py:61
+#: modules/dynamicdns/__init__.py:46
+msgid ""
+"This service uses an external service to lookup public IP address. This can "
+"be configured in the privacy app."
+msgstr ""
+
+#: modules/dynamicdns/__init__.py:64
msgid "Dynamic DNS Client"
msgstr ""
-#: modules/dynamicdns/__init__.py:75
+#: modules/dynamicdns/__init__.py:78
#, fuzzy
#| msgid "Domain Name"
msgid "Dynamic Domain Name"
@@ -1897,86 +1910,73 @@ msgid "Leave this field empty if you want to keep your current password."
msgstr ""
#: modules/dynamicdns/forms.py:43
-#, python-brace-format
-msgid ""
-"Optional Value. If your {box_name} is not connected directly to the Internet "
-"(i.e. connected to a NAT router) this URL is used to determine the real IP "
-"address. The URL should simply return the IP where the client comes from "
-"(example: https://ddns.freedombox.org/ip/)."
-msgstr ""
-
-#: modules/dynamicdns/forms.py:51
msgid "The username that was used when the account was created."
msgstr ""
-#: modules/dynamicdns/forms.py:54
+#: modules/dynamicdns/forms.py:46
msgid "GnuDIP"
msgstr "GnuDIP"
-#: modules/dynamicdns/forms.py:57
+#: modules/dynamicdns/forms.py:49
msgid "Other update URL"
msgstr ""
-#: modules/dynamicdns/forms.py:59
+#: modules/dynamicdns/forms.py:51
#, fuzzy
#| msgid "Service Discovery"
msgid "Service Type"
msgstr "Descoberta do Serviço"
-#: modules/dynamicdns/forms.py:64
+#: modules/dynamicdns/forms.py:56
msgid "GnuDIP Server Address"
msgstr ""
-#: modules/dynamicdns/forms.py:67
+#: modules/dynamicdns/forms.py:59
msgid "Invalid server name"
msgstr "Nome de servidor inválido"
-#: modules/dynamicdns/forms.py:70
+#: modules/dynamicdns/forms.py:62
msgid "Update URL"
msgstr "URL de atualização"
-#: modules/dynamicdns/forms.py:74
+#: modules/dynamicdns/forms.py:66
msgid "Accept all SSL certificates"
msgstr ""
-#: modules/dynamicdns/forms.py:78
+#: modules/dynamicdns/forms.py:70
msgid "Use HTTP basic authentication"
msgstr ""
-#: modules/dynamicdns/forms.py:82 modules/names/__init__.py:68
+#: modules/dynamicdns/forms.py:74 modules/names/__init__.py:68
#: modules/names/forms.py:106 modules/names/templates/names.html:19
msgid "Domain Name"
msgstr "Nome de Domínio"
-#: modules/dynamicdns/forms.py:85 modules/names/forms.py:99
+#: modules/dynamicdns/forms.py:77 modules/names/forms.py:99
#: modules/names/forms.py:117
msgid "Invalid domain name"
msgstr "Nome de domínio inválido"
-#: modules/dynamicdns/forms.py:88 modules/miniflux/forms.py:11
+#: modules/dynamicdns/forms.py:80 modules/miniflux/forms.py:11
#: modules/networks/forms.py:281 modules/users/forms.py:130
msgid "Username"
msgstr "Nome de utilizador"
-#: modules/dynamicdns/forms.py:95 modules/networks/forms.py:284
+#: modules/dynamicdns/forms.py:87 modules/networks/forms.py:284
msgid "Show password"
msgstr "Mostrar palavra-passe"
-#: modules/dynamicdns/forms.py:99
-msgid "URL to look up public IP"
-msgstr ""
-
-#: modules/dynamicdns/forms.py:104
+#: modules/dynamicdns/forms.py:91
msgid "Use IPv6 instead of IPv4"
msgstr ""
-#: modules/dynamicdns/forms.py:123
+#: modules/dynamicdns/forms.py:110
msgid "This field is required."
msgstr ""
#: modules/dynamicdns/manifest.py:17
-#: modules/dynamicdns/templates/dynamicdns.html:18
-#: modules/email/templates/email.html:35
+#: modules/dynamicdns/templates/dynamicdns.html:23
+#: modules/email/templates/email-dns.html:22
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64
#, fuzzy
@@ -1994,41 +1994,41 @@ msgstr ""
msgid "Needs public IP"
msgstr "Chave pública do servidor:"
-#: modules/dynamicdns/templates/dynamicdns.html:11
-#: modules/ejabberd/templates/ejabberd.html:13 modules/firewall/manifest.py:10
+#: modules/dynamicdns/templates/dynamicdns.html:16
+#: modules/ejabberd/templates/ejabberd.html:18 modules/firewall/manifest.py:10
#: modules/firewall/templates/firewall.html:16
#: modules/firewall/templates/firewall.html:22
#: modules/letsencrypt/templates/letsencrypt.html:17
-#: modules/matrixsynapse/templates/matrix-synapse.html:12
+#: modules/matrixsynapse/templates/matrix-synapse.html:17
#: modules/networks/templates/connection_show.html:258
-#: modules/samba/templates/samba.html:67 modules/tor/templates/tor.html:19
+#: modules/samba/templates/samba.html:67 modules/tor/templates/tor.html:24
#: modules/upgrades/templates/upgrades_configure.html:14
#: modules/wireguard/templates/wireguard_show_client.html:48
#: modules/wireguard/templates/wireguard_show_server.html:47
msgid "Status"
msgstr "Estado"
-#: modules/dynamicdns/templates/dynamicdns.html:19
+#: modules/dynamicdns/templates/dynamicdns.html:24
msgid "Last update"
msgstr "Última atualização"
-#: modules/dynamicdns/templates/dynamicdns.html:21
+#: modules/dynamicdns/templates/dynamicdns.html:26
#, fuzzy
#| msgid "IP addresses"
msgid "IP Address"
msgstr "Endereços de IP"
-#: modules/dynamicdns/templates/dynamicdns.html:32
+#: modules/dynamicdns/templates/dynamicdns.html:37
#, fuzzy
#| msgid "Access"
msgid "Success"
msgstr "Aceder"
-#: modules/dynamicdns/templates/dynamicdns.html:36
+#: modules/dynamicdns/templates/dynamicdns.html:41
msgid "Failed"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:52
+#: modules/dynamicdns/templates/dynamicdns.html:57
msgid "No status available."
msgstr ""
@@ -2186,7 +2186,7 @@ msgstr ""
msgid "XMPP"
msgstr ""
-#: modules/ejabberd/templates/ejabberd.html:18
+#: modules/ejabberd/templates/ejabberd.html:23
#, python-format
msgid ""
"Your XMPP server domain is set to %(domain_name)s. User IDs will look "
@@ -2194,7 +2194,7 @@ msgid ""
"system Name Services page."
msgstr ""
-#: modules/ejabberd/templates/ejabberd.html:25
+#: modules/ejabberd/templates/ejabberd.html:30
#, python-format
msgid ""
"Your XMPP server domain is not set. You can setup your domain on the system "
@@ -2242,18 +2242,20 @@ msgstr ""
msgid "Postfix/Dovecot"
msgstr "Postfix/Dovecot"
-#: modules/email/__init__.py:83
+#: modules/email/__init__.py:80
+msgid "More emails"
+msgstr ""
+
+#: modules/email/__init__.py:80
+msgid "Same mailbox"
+msgstr ""
+
+#: modules/email/__init__.py:82
#, fuzzy
#| msgid "Create new repository"
msgid "My Email Aliases"
msgstr "Criar novo repositório"
-#: modules/email/__init__.py:84
-#, fuzzy
-#| msgid "Create new repository"
-msgid "Manage Aliases for Mailbox"
-msgstr "Criar novo repositório"
-
#: modules/email/forms.py:25
#, fuzzy
#| msgid "Domain Name"
@@ -2340,45 +2342,96 @@ msgstr "Criar novo backup"
msgid "Add"
msgstr ""
+#: modules/email/templates/email-dns.html:9
+#, fuzzy
+#| msgid "Server domain"
+msgid "DNS Records for domain:"
+msgstr "Domínio do servidor"
+
+#: modules/email/templates/email-dns.html:12
+msgid ""
+"The following DNS records must be added manually on this domain for the mail "
+"server to work properly for this domain."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:23
+#: modules/email/templates/email-dns.html:77
+msgid "TTL"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:24
+msgid "Class"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:26
+msgid "Priority"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:27
+msgid "Weight"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:28
+#: modules/minetest/templates/minetest.html:18
+msgid "Port"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:29
+#: modules/email/templates/email-dns.html:79
+msgid "Host/Target/Value"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:50
+msgid "Reverse DNS Records for IP Addresses"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:53
+#, python-format
+msgid ""
+"If your %(box_name)s runs on a cloud service infrastructure, you should "
+"configure "
+"Reverse DNS lookup. This isn't mandatory, however, it greatly improves "
+"email deliverability. Reverse DNS isn't configured where your regular DNS "
+"is. You should look for it in the settings of your VPS/ISP. Some providers "
+"preconfigure the IP address part for you and you only have to set the domain "
+"part. Only one of your domains can have Revese DNS lookup configured unless "
+"you have multiple public IP addresses."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:66
+msgid ""
+"An external service is used to lookup public IP address to show in the "
+"following section. This can be configured in the privacy app."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:76
+#, fuzzy
+#| msgid "Hostname"
+msgid "Host"
+msgstr "Nome do anfitrião"
+
#: modules/email/templates/email.html:10
#, fuzzy
#| msgid "Create new repository"
msgid "Manage Spam"
msgstr "Criar novo repositório"
-#: modules/email/templates/email.html:22
-msgid "DNS Records"
-msgstr ""
+#: modules/email/templates/email.html:20 modules/names/manifest.py:11
+#: modules/names/templates/names.html:12
+#, fuzzy
+#| msgid "Domain Name"
+msgid "Domains"
+msgstr "Nome de Domínio"
-#: modules/email/templates/email.html:25
+#: modules/email/templates/email.html:23
msgid ""
-"The following DNS records must be added manually on your primary domain for "
-"the mail server to work properly."
+"The following domains are configured. View details to see the list of DNS "
+"entries to be made for the domain."
msgstr ""
-#: modules/email/templates/email.html:36
-msgid "TTL"
-msgstr ""
-
-#: modules/email/templates/email.html:37
-msgid "Class"
-msgstr ""
-
-#: modules/email/templates/email.html:39
-msgid "Priority"
-msgstr ""
-
-#: modules/email/templates/email.html:40
-msgid "Weight"
-msgstr ""
-
-#: modules/email/templates/email.html:41
-#: modules/minetest/templates/minetest.html:18
-msgid "Port"
-msgstr ""
-
-#: modules/email/templates/email.html:42
-msgid "Host/Target/Value"
+#: modules/email/templates/email.html:35
+#, python-format
+msgid "View domain: %(domain)s"
msgstr ""
#: modules/featherwiki/__init__.py:25
@@ -2651,7 +2704,7 @@ msgstr "Porta {name} ({details}) disponível para redes externas"
msgid "Port {name} ({details}) unavailable for external networks"
msgstr ""
-#: modules/firewall/manifest.py:10 modules/tor/templates/tor.html:20
+#: modules/firewall/manifest.py:10 modules/tor/templates/tor.html:25
msgid "Ports"
msgstr ""
@@ -3004,9 +3057,9 @@ msgstr ""
msgid "Contribute"
msgstr ""
-#: modules/help/__init__.py:53 templates/base.html:215 templates/base.html:218
+#: modules/help/__init__.py:53 templates/base.html:217 templates/base.html:220
#: templates/help-menu.html:46 templates/help-menu.html:47
-#: templates/index.html:98
+#: templates/index.html:96
msgid "About"
msgstr "Sobre"
@@ -3150,7 +3203,7 @@ msgstr ""
#: modules/help/templates/help_contribute.html:42
#: modules/power/templates/power_restart.html:27
-#: modules/power/templates/power_shutdown.html:26 templates/app-header.html:68
+#: modules/power/templates/power_shutdown.html:26 templates/app-header.html:65
msgid "Learn more..."
msgstr ""
@@ -3480,7 +3533,7 @@ msgid "Web conference"
msgstr ""
#: modules/janus/templates/janus_video_room.html:205
-#: modules/jsxc/templates/jsxc_launch.html:117 templates/base.html:271
+#: modules/jsxc/templates/jsxc_launch.html:117 templates/base.html:273
msgid "JavaScript license information"
msgstr ""
@@ -3870,7 +3923,7 @@ msgid ""
"least one domain to be able to use Matrix Synapse."
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:15
+#: modules/matrixsynapse/templates/matrix-synapse.html:20
#, python-format
msgid ""
"The Matrix server domain is set to %(domain_name)s. User IDs will "
@@ -3878,50 +3931,50 @@ msgid ""
"the initial setup is currently not supported."
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:22
+#: modules/matrixsynapse/templates/matrix-synapse.html:27
msgid ""
"New users can be registered from any client if public registration is "
"enabled."
msgstr ""
"Novos utilizadores podem registar-se se o registo público estiver activado."
-#: modules/matrixsynapse/templates/matrix-synapse.html:29
+#: modules/matrixsynapse/templates/matrix-synapse.html:34
msgid ""
"New users must use one of the following tokens for verification during "
"account registration:"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:38
+#: modules/matrixsynapse/templates/matrix-synapse.html:43
#, fuzzy
#| msgid "Applications"
msgid "Registration Token"
msgstr "Aplicações"
-#: modules/matrixsynapse/templates/matrix-synapse.html:39
+#: modules/matrixsynapse/templates/matrix-synapse.html:44
msgid "Uses Allowed"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:40
+#: modules/matrixsynapse/templates/matrix-synapse.html:45
#, fuzzy
#| msgid "Enable application"
msgid "Pending Registrations"
msgstr "Ativar aplicação"
-#: modules/matrixsynapse/templates/matrix-synapse.html:41
+#: modules/matrixsynapse/templates/matrix-synapse.html:46
#, fuzzy
#| msgid "Enable application"
msgid "Completed Registrations"
msgstr "Ativar aplicação"
-#: modules/matrixsynapse/templates/matrix-synapse.html:42
+#: modules/matrixsynapse/templates/matrix-synapse.html:47
msgid "Expiry Time"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:51
+#: modules/matrixsynapse/templates/matrix-synapse.html:56
msgid "Unlimited"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:80
+#: modules/matrixsynapse/templates/matrix-synapse.html:85
#, python-format
msgid ""
"The configured domain name is using a self-signed certificate. Federation "
@@ -4380,7 +4433,7 @@ msgstr "Nome de utilizador inválido: {username}"
msgid "An error occurred during password reset: {error}."
msgstr ""
-#: modules/mumble/__init__.py:25
+#: modules/mumble/__init__.py:27
msgid ""
"Mumble is an open source, low-latency, encrypted, high quality voice chat "
"software."
@@ -4388,17 +4441,23 @@ msgstr ""
"O Mumble é um software de chat de voz de código aberto, de baixa latência, "
"criptografado e de alta qualidade."
-#: modules/mumble/__init__.py:27
+#: modules/mumble/__init__.py:29
msgid ""
"You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your "
"desktop and mobile devices are available."
msgstr ""
-#: modules/mumble/__init__.py:45 modules/mumble/manifest.py:9
+#: modules/mumble/__init__.py:47 modules/mumble/manifest.py:9
msgid "Mumble"
msgstr ""
+#: modules/mumble/__init__.py:158
+#, fuzzy
+#| msgid "Configuration updated"
+msgid "Mumble server is configured"
+msgstr "Configuração atualizada"
+
#: modules/mumble/forms.py:30
#, fuzzy
#| msgid "SSH server password"
@@ -4537,12 +4596,6 @@ msgstr ""
"comprimento de cada etiqueta deve ser de 63 carateres ou inferior. O "
"comprimento total do nome de domínio deve ser de 253 carateres ou inferior."
-#: modules/names/manifest.py:11 modules/names/templates/names.html:12
-#, fuzzy
-#| msgid "Domain Name"
-msgid "Domains"
-msgstr "Nome de Domínio"
-
#: modules/names/manifest.py:13
msgid "DNS Resolution"
msgstr ""
@@ -5065,7 +5118,7 @@ msgstr "Editar ligação"
#: modules/networks/templates/connection_show.html:40
#: modules/wireguard/templates/wireguard_show_client.html:72
#: modules/wireguard/templates/wireguard_show_server.html:73
-#: templates/base.html:165 templates/base.html:166
+#: templates/base.html:167 templates/base.html:168
msgid "Edit"
msgstr "Editar"
@@ -5118,7 +5171,7 @@ msgstr "Interface"
#: modules/networks/templates/connection_show.html:107
#: modules/snapshot/templates/snapshot_delete_selected.html:19
-#: modules/snapshot/templates/snapshot_manage.html:29
+#: modules/snapshot/templates/snapshot_manage.html:34
#: modules/snapshot/templates/snapshot_rollback.html:27
msgid "Description"
msgstr "Descrição"
@@ -5196,8 +5249,8 @@ msgstr "Esta ligação não está ativa."
#: modules/networks/templates/connection_show.html:264
#: modules/networks/templates/connections_fields_privacy.html:15
-#: modules/openvpn/manifest.py:60 modules/privacy/__init__.py:32
-#: modules/privacy/__init__.py:72 modules/wireguard/manifest.py:45
+#: modules/openvpn/manifest.py:60 modules/privacy/__init__.py:38
+#: modules/privacy/__init__.py:77 modules/wireguard/manifest.py:45
msgid "Privacy"
msgstr ""
@@ -5281,7 +5334,7 @@ msgstr "Interna"
msgid "Computer"
msgstr "Computador"
-#: modules/networks/templates/connections_edit.html:19
+#: modules/networks/templates/connections_edit.html:24
#: modules/networks/views.py:253 modules/networks/views.py:341
msgid "Edit Connection"
msgstr "Editar ligação"
@@ -5292,7 +5345,7 @@ msgid "Error:"
msgstr ""
#: modules/networks/templates/connections_fields.html:20
-#: modules/users/templates/users_update.html:46 templates/messages.html:30
+#: modules/users/templates/users_update.html:51 templates/messages.html:30
msgid "Close"
msgstr ""
@@ -5386,7 +5439,7 @@ msgstr "Atualização..."
#: modules/networks/templates/network_topology_update.html:18
#: modules/networks/templates/router_configuration_update.html:19
#: modules/pagekite/templates/pagekite_custom_services.html:33
-#: modules/sharing/templates/sharing_add_edit.html:20 templates/form.html:19
+#: modules/sharing/templates/sharing_add_edit.html:25 templates/form.html:19
msgid "Submit"
msgstr "Submeter"
@@ -5808,11 +5861,7 @@ msgid ""
"performed following an independent cycle."
msgstr ""
-#: modules/nextcloud/__init__.py:48
-msgid "This app is experimental."
-msgstr ""
-
-#: modules/nextcloud/__init__.py:66 modules/nextcloud/manifest.py:11
+#: modules/nextcloud/__init__.py:65 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
msgid "Nextcloud"
msgstr ""
@@ -5990,7 +6039,7 @@ msgstr ""
msgid "PageKite"
msgstr ""
-#: modules/pagekite/__init__.py:73
+#: modules/pagekite/__init__.py:72
msgid "PageKite Domain"
msgstr ""
@@ -6182,8 +6231,8 @@ msgstr ""
msgid "Shutdown"
msgstr "Desligar"
-#: modules/power/templates/power.html:15 templates/base.html:180
-#: templates/base.html:181
+#: modules/power/templates/power.html:15 templates/base.html:182
+#: templates/base.html:183
msgid "Restart"
msgstr ""
@@ -6219,23 +6268,33 @@ msgstr ""
msgid "Shut Down Now"
msgstr ""
-#: modules/privacy/__init__.py:15
+#: modules/privacy/__init__.py:21
msgid "Manage system-wide privacy settings."
msgstr ""
-#: modules/privacy/__init__.py:70
+#: modules/privacy/__init__.py:75
msgid "Please update privacy settings to match your preferences."
msgstr ""
-#: modules/privacy/__init__.py:75
+#: modules/privacy/__init__.py:80
msgid "Review privacy setting"
msgstr ""
-#: modules/privacy/forms.py:16
+#: modules/privacy/forms.py:17
+#, python-brace-format
+msgid ""
+"Optional Value. This URL is used to determine the publicly visible IP "
+"address of your {box_name}. The URL should simply return the IPv4 or IPv6 "
+"address where the client request comes from. Default is to use the service "
+"provided by the FreedomBox Foundation at https://ddns.freedombox.org/ip/. If "
+"empty, lookups are disabled and some functionality will fail."
+msgstr ""
+
+#: modules/privacy/forms.py:25
msgid "Periodically submit a list of apps used (suggested)"
msgstr ""
-#: modules/privacy/forms.py:18
+#: modules/privacy/forms.py:27
#, python-brace-format
msgid ""
"Help Debian/{box_name} developers by participating in the Popularity Contest "
@@ -6246,11 +6305,11 @@ msgid ""
"network for additional anonymity if Tor app is enabled."
msgstr ""
-#: modules/privacy/forms.py:28
+#: modules/privacy/forms.py:37
msgid "Allow using fallback DNS servers"
msgstr ""
-#: modules/privacy/forms.py:30
+#: modules/privacy/forms.py:39
msgid ""
"Use well-known public DNS servers to resolve domain names in unusual "
"circumstances where no DNS servers are known but internet connectivity is "
@@ -6258,10 +6317,20 @@ msgid ""
"and reliable."
msgstr ""
+#: modules/privacy/forms.py:45
+msgid "URL to look up public IP address"
+msgstr ""
+
#: modules/privacy/manifest.py:10
msgid "Usage reporting"
msgstr ""
+#: modules/privacy/manifest.py:10
+#, fuzzy
+#| msgid "Service discovery server is running"
+msgid "External services"
+msgstr "O Servidor da descoberta do serviço está a correr"
+
#: modules/privacy/manifest.py:10
#, fuzzy
#| msgid "DNS server"
@@ -7205,40 +7274,40 @@ msgid "Delete the following snapshots permanently?"
msgstr ""
#: modules/snapshot/templates/snapshot_delete_selected.html:17
-#: modules/snapshot/templates/snapshot_manage.html:27
+#: modules/snapshot/templates/snapshot_manage.html:32
#: modules/snapshot/templates/snapshot_rollback.html:25
msgid "Number"
msgstr ""
#: modules/snapshot/templates/snapshot_delete_selected.html:18
-#: modules/snapshot/templates/snapshot_manage.html:28
+#: modules/snapshot/templates/snapshot_manage.html:33
#: modules/snapshot/templates/snapshot_rollback.html:26
msgid "Date"
msgstr ""
#: modules/snapshot/templates/snapshot_delete_selected.html:42
-#: modules/snapshot/templates/snapshot_manage.html:20
+#: modules/snapshot/templates/snapshot_manage.html:25
#: modules/snapshot/views.py:197
msgid "Delete Snapshots"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:17
+#: modules/snapshot/templates/snapshot_manage.html:22
msgid "Create Snapshot"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:30
+#: modules/snapshot/templates/snapshot_manage.html:35
msgid "Rollback"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:40
+#: modules/snapshot/templates/snapshot_manage.html:45
msgid "will be used at next boot"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:45
+#: modules/snapshot/templates/snapshot_manage.html:50
msgid "in use"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:54
+#: modules/snapshot/templates/snapshot_manage.html:59
#, python-format
msgid "Rollback to snapshot #%(number)s"
msgstr ""
@@ -7788,27 +7857,27 @@ msgstr ""
msgid "Tor"
msgstr ""
-#: modules/tor/__init__.py:78
+#: modules/tor/__init__.py:77
msgid "Tor Onion Service"
msgstr ""
-#: modules/tor/__init__.py:82
+#: modules/tor/__init__.py:81
msgid "Tor Bridge Relay"
msgstr ""
-#: modules/tor/__init__.py:140
+#: modules/tor/__init__.py:139
msgid "Tor relay port available"
msgstr ""
-#: modules/tor/__init__.py:152
+#: modules/tor/__init__.py:151
msgid "Obfs3 transport registered"
msgstr ""
-#: modules/tor/__init__.py:163
+#: modules/tor/__init__.py:162
msgid "Obfs4 transport registered"
msgstr ""
-#: modules/tor/__init__.py:176
+#: modules/tor/__init__.py:175
#, fuzzy
#| msgid "Service discovery server is running"
msgid "Onion service is version 3"
@@ -7906,7 +7975,7 @@ msgstr ""
msgid "Anonymity network"
msgstr ""
-#: modules/tor/templates/tor.html:18
+#: modules/tor/templates/tor.html:23
msgid "Onion Service"
msgstr ""
@@ -8496,42 +8565,42 @@ msgstr ""
msgid "Edit user %(username)s"
msgstr "Editar utilizador %(username)s"
-#: modules/users/templates/users_update.html:12
+#: modules/users/templates/users_update.html:17
#, python-format
msgid "Edit User %(username)s"
msgstr "Editar utilizador %(username)s"
-#: modules/users/templates/users_update.html:20
+#: modules/users/templates/users_update.html:25
#, python-format
msgid ""
"Use the change password form to "
"change the password."
msgstr ""
-#: modules/users/templates/users_update.html:32
+#: modules/users/templates/users_update.html:37
#: templates/language-selection.html:17
msgid "Save Changes"
msgstr ""
-#: modules/users/templates/users_update.html:41
+#: modules/users/templates/users_update.html:46
#, fuzzy, python-format
#| msgid "Edit User %(username)s"
msgid "Delete user %(username)s and all the user's files?"
msgstr "Editar utilizador %(username)s"
-#: modules/users/templates/users_update.html:51
+#: modules/users/templates/users_update.html:56
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
msgstr ""
-#: modules/users/templates/users_update.html:60
+#: modules/users/templates/users_update.html:65
#, fuzzy
#| msgid "Delete files"
msgid "Delete user and files"
msgstr "Apagar ficheiros"
-#: modules/users/templates/users_update.html:63
+#: modules/users/templates/users_update.html:68
msgid "Cancel"
msgstr ""
@@ -9202,11 +9271,11 @@ msgstr "Instalação"
msgid "Service %(service_name)s is not running."
msgstr "O serviço %(service_name)s não está em execução."
-#: templates/apps.html:29
+#: templates/apps.html:33
msgid "Search with tags"
msgstr ""
-#: templates/apps.html:42
+#: templates/apps.html:46
msgid "Clear all tags"
msgstr ""
@@ -9216,35 +9285,35 @@ msgid ""
"is free software that lets you install and manage server apps with ease."
msgstr ""
-#: templates/base.html:116
+#: templates/base.html:118
msgid " Home"
msgstr " Início"
-#: templates/base.html:124
+#: templates/base.html:126
msgid " Apps"
msgstr " Aplicações"
-#: templates/base.html:133
+#: templates/base.html:135
msgid " System"
msgstr " Sistema"
-#: templates/base.html:172 templates/base.html:173
+#: templates/base.html:174 templates/base.html:175
msgid "Change password"
msgstr "Alterar palavra-passe"
-#: templates/base.html:186 templates/base.html:187
+#: templates/base.html:188 templates/base.html:189
msgid "Shut down"
msgstr "Desligar"
-#: templates/base.html:197 templates/base.html:235
+#: templates/base.html:199 templates/base.html:237
msgid "Log out"
msgstr "Terminar sessão"
-#: templates/base.html:206 templates/base.html:209
+#: templates/base.html:208 templates/base.html:211
msgid "Select language"
msgstr "Selecionar idioma"
-#: templates/base.html:224 templates/base.html:226
+#: templates/base.html:226 templates/base.html:228
msgid "Log in"
msgstr "Iniciar sessão"
@@ -9454,23 +9523,31 @@ msgid ""
"installed freshly again."
msgstr ""
-#: views.py:85
+#: views.py:84
msgid "Here"
msgstr ""
-#: views.py:374
+#: views.py:376
msgid "Setting unchanged"
msgstr "Definição inalterada"
-#: views.py:609
+#: views.py:610
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""
-#: web_framework.py:114
+#: web_framework.py:122
msgid "Gujarati"
msgstr "Gujarati"
+#~ msgid "In 24 hour format."
+#~ msgstr "Em formato de 24 horas."
+
+#, fuzzy
+#~| msgid "Create new repository"
+#~ msgid "Manage Aliases for Mailbox"
+#~ msgstr "Criar novo repositório"
+
#, fuzzy
#~| msgid "File Sharing"
#~ msgid "File & Snippet Sharing"
@@ -9899,11 +9976,6 @@ msgstr "Gujarati"
#~ msgid "Enable DNSSEC configuration updated"
#~ msgstr "Configuração atualizada"
-#, fuzzy
-#~| msgid "Configuration updated"
-#~ msgid "DNS server configuration updated"
-#~ msgstr "Configuração atualizada"
-
#, fuzzy
#~| msgid "Invalid domain name"
#~ msgid "Select the domain name to be used for diaspora*"
diff --git a/plinth/locale/ru/LC_MESSAGES/django.po b/plinth/locale/ru/LC_MESSAGES/django.po
index cb5c46c32..534071464 100644
--- a/plinth/locale/ru/LC_MESSAGES/django.po
+++ b/plinth/locale/ru/LC_MESSAGES/django.po
@@ -7,9 +7,9 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-12-30 20:05-0500\n"
-"PO-Revision-Date: 2024-12-06 03:13+0000\n"
-"Last-Translator: Sunil Mohan Adapa
SSH key-based authentication is not yet "
"possible."
@@ -468,45 +466,37 @@ msgstr ""
"Пароль для сервера SSH.
Аутентификация на основе SSH-ключа пока не "
"поддерживается."
-#: modules/backups/forms.py:273
+#: modules/backups/forms.py:275
msgid "Remote backup repository already exists."
msgstr "Удалённое хранилище резервных копий уже существует."
-#: modules/backups/forms.py:279
+#: modules/backups/forms.py:281
msgid "Select verified SSH public key"
msgstr "Выберите проверенный открытый ключ SSH"
#: modules/backups/manifest.py:14
#: modules/backups/templates/backups_repository.html:92
#: modules/backups/templates/backups_restore.html:27
-#: modules/backups/views.py:240 modules/snapshot/manifest.py:14
+#: modules/backups/views.py:238 modules/snapshot/manifest.py:14
#: templates/toolbar.html:44 templates/toolbar.html:45
msgid "Restore"
msgstr "Восстановить"
#: modules/backups/manifest.py:15
-#, fuzzy
-#| msgid "Encryption"
msgid "Encrypted"
-msgstr "Шифрование"
+msgstr "Зашифрованно"
#: modules/backups/manifest.py:16
-#, fuzzy
-#| msgid "Schedule"
msgid "Schedules"
msgstr "Расписание"
#: modules/backups/manifest.py:18
-#, fuzzy
-#| msgid "Remove"
msgid "Remote"
-msgstr "Удалить"
+msgstr "Удаленный"
#: modules/backups/manifest.py:19
-#, fuzzy
-#| msgid "App updated"
msgid "App data"
-msgstr "Приложение обновлено"
+msgstr "Данные приложения"
#: modules/backups/manifest.py:20
#: modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15
@@ -516,8 +506,9 @@ msgid "Configuration"
msgstr "Конфигурация"
#: modules/backups/manifest.py:21
+#, fuzzy
msgid "Borg"
-msgstr ""
+msgstr "Borg"
#: modules/backups/privileged.py:31
msgid ""
@@ -550,29 +541,31 @@ msgstr ""
"копий."
#: modules/backups/privileged.py:74
-#, fuzzy
-#| msgid "A share with this name already exists."
msgid "An archive with given name already exists in the repository."
-msgstr "Общий ресурс с таким именем уже существует."
+msgstr "Архив с заданным именем уже существует в хранилище."
#: modules/backups/privileged.py:81
msgid "Archive with given name was not found in the repository."
-msgstr ""
+msgstr "Архив с указанным именем не найден в хранилище."
#: modules/backups/privileged.py:87
msgid "Backup system is busy with another operation."
+msgstr "Резервная система занята другой операцией."
+
+#: modules/backups/privileged.py:92
+msgid "Not enough space left on the disk or remote location."
msgstr ""
#: modules/backups/repository.py:94
msgid "Existing repository is not encrypted."
msgstr "Имеющийся репозиторий не зашифрован."
-#: modules/backups/repository.py:266
+#: modules/backups/repository.py:289
#, python-brace-format
msgid "{box_name} storage"
msgstr "Сохранение данных {box_name}"
-#: modules/backups/templates/backups.html:17 modules/backups/views.py:125
+#: modules/backups/templates/backups.html:17 modules/backups/views.py:124
msgid "Create a new backup"
msgstr "Создать новую резервную копию"
@@ -616,10 +609,9 @@ msgstr "Существующие резервные копии"
#: modules/help/templates/statuslog.html:24
#: modules/kiwix/templates/kiwix-add-package.html:26
#: modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:28
-#: modules/matrixsynapse/templates/matrix-synapse.html:76
+#: modules/matrixsynapse/templates/matrix-synapse.html:81
#: modules/names/templates/names.html:128
#: modules/networks/templates/connection_show.html:24
-#: modules/nextcloud/__init__.py:48
#: modules/pagekite/templates/pagekite_custom_services.html:16
#: modules/power/templates/power_busy_warning.html:11
#: modules/snapshot/templates/snapshot_not_supported.html:13
@@ -781,111 +773,107 @@ msgstr ""
msgid "Verify Host"
msgstr "Проверить хост"
-#: modules/backups/views.py:69
+#: modules/backups/views.py:68
msgid "Backup schedule updated."
msgstr "Расписание резервного копирования обновлено."
-#: modules/backups/views.py:88
+#: modules/backups/views.py:87
msgid "Schedule Backups"
msgstr "Расписание резервного копирования"
-#: modules/backups/views.py:150
+#: modules/backups/views.py:148
msgid "Archive created."
msgstr "Архив создан."
-#: modules/backups/views.py:162
+#: modules/backups/views.py:160
msgid "Delete Archive"
msgstr "Удалить архив"
-#: modules/backups/views.py:175
+#: modules/backups/views.py:173
msgid "Archive deleted."
msgstr "Архив удалён."
-#: modules/backups/views.py:189
+#: modules/backups/views.py:187
msgid "Upload and restore a backup"
msgstr "Загрузить и восстановить резервную копию"
-#: modules/backups/views.py:218
-#, fuzzy
-#| msgid "Logged out successfully."
+#: modules/backups/views.py:216
msgid "Upload successful."
-msgstr "Выход выполнен успешно."
+msgstr "Загрузка прошла успешно."
-#: modules/backups/views.py:256
+#: modules/backups/views.py:254
msgid "No backup file found."
msgstr "Резервных копий не найдено."
-#: modules/backups/views.py:264
+#: modules/backups/views.py:262
msgid "Restore from uploaded file"
msgstr "Восстановить из загруженного файла"
-#: modules/backups/views.py:278 modules/backups/views.py:299
+#: modules/backups/views.py:276 modules/backups/views.py:297
msgid "Restored files from backup."
msgstr "Восстановленные файлы из резервного копирования."
-#: modules/backups/views.py:329
+#: modules/backups/views.py:327
msgid "No additional disks available to add a repository."
msgstr "Нет дополнительных дисков, чтобы добавить репозиторий."
-#: modules/backups/views.py:337
+#: modules/backups/views.py:335
msgid "Create backup repository"
msgstr "Создать репозиторий резервных копий"
-#: modules/backups/views.py:352
-#, fuzzy
-#| msgid "Added new remote SSH repository."
+#: modules/backups/views.py:350
msgid "Added new repository."
-msgstr "Добавлен новый удалённый SSH-репозиторий."
+msgstr "Добавлен новый репозиторий."
-#: modules/backups/views.py:366
+#: modules/backups/views.py:364
msgid "Create remote backup repository"
msgstr "Создать удаленный репозиторий резервного сохранения"
-#: modules/backups/views.py:388
+#: modules/backups/views.py:386
msgid "Added new remote SSH repository."
msgstr "Добавлен новый удалённый SSH-репозиторий."
-#: modules/backups/views.py:410
+#: modules/backups/views.py:408
msgid "Verify SSH hostkey"
msgstr "Проверить ключ SSH хоста"
-#: modules/backups/views.py:436
+#: modules/backups/views.py:434
msgid "SSH host already verified."
msgstr "SSH хост уже проверен."
-#: modules/backups/views.py:447
+#: modules/backups/views.py:445
msgid "SSH host verified."
msgstr "SSH хост проверен."
-#: modules/backups/views.py:463
+#: modules/backups/views.py:461
msgid "SSH host public key could not be verified."
msgstr "Открытый ключ SSH хоста не может быть проверен."
-#: modules/backups/views.py:465
+#: modules/backups/views.py:463
msgid "Authentication to remote server failed."
msgstr "Аутентификация на удалённый сервер не прошла."
-#: modules/backups/views.py:467
+#: modules/backups/views.py:465
msgid "Error establishing connection to server: {}"
msgstr "Ошибка при установке соединения с сервером: {}"
-#: modules/backups/views.py:478
+#: modules/backups/views.py:476
msgid "Repository removed."
msgstr "Репозиторий удалён."
-#: modules/backups/views.py:492
+#: modules/backups/views.py:490
msgid "Remove Repository"
msgstr "Удалить репозиторий"
-#: modules/backups/views.py:502
+#: modules/backups/views.py:500
msgid "Repository removed. Backups were not deleted."
msgstr "Репозиторий удален. Бэкапы не удалялись."
-#: modules/backups/views.py:513
+#: modules/backups/views.py:511
msgid "Unmounting failed!"
msgstr "Размонтирование не удалось!"
-#: modules/backups/views.py:529 modules/backups/views.py:533
+#: modules/backups/views.py:527 modules/backups/views.py:531
msgid "Mounting failed"
msgstr "Монтирование не удалась"
@@ -1010,7 +998,7 @@ msgstr "Добавить пароль"
msgid "No passwords currently configured."
msgstr "В настоящее время пароли не настроены."
-#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:91
+#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:83
#: modules/miniflux/forms.py:14 modules/networks/forms.py:282
#: modules/shadowsocks/forms.py:32 modules/shadowsocksserver/forms.py:37
msgid "Password"
@@ -1121,7 +1109,7 @@ msgstr ""
#, fuzzy
#| msgid "Enable DNSSEC"
msgid "DNS"
-msgstr "DNSSEC"
+msgstr "DNS"
#: modules/bind/manifest.py:17 modules/mumble/manifest.py:67
#: modules/radicale/manifest.py:91 modules/shadowsocks/forms.py:24
@@ -1129,17 +1117,17 @@ msgid "Server"
msgstr "Сервер"
#: modules/bind/manifest.py:18
-#, fuzzy
-#| msgid "Resolver Status"
msgid "Resolver"
-msgstr "Состояние резольвера"
+msgstr "Резолвер"
#: modules/bind/templates/bind.html:11
msgid "Serving Domains"
msgstr "Обслуживание доменов"
-#: modules/bind/templates/bind.html:17 modules/email/templates/email.html:38
-#: modules/ikiwiki/forms.py:12 modules/names/templates/names.html:18
+#: modules/bind/templates/bind.html:17
+#: modules/email/templates/email-dns.html:25
+#: modules/email/templates/email-dns.html:78 modules/ikiwiki/forms.py:12
+#: modules/names/templates/names.html:18
#: modules/networks/templates/connection_show.html:95
#: modules/samba/templates/samba.html:65
#: modules/storage/templates/storage.html:26
@@ -1169,7 +1157,7 @@ msgstr "Обновите IP-адреса и домены"
#: modules/minetest/views.py:55 modules/mumble/views.py:37
#: modules/names/views.py:66 modules/names/views.py:95
#: modules/names/views.py:129 modules/pagekite/forms.py:74
-#: modules/privacy/views.py:50 modules/quassel/views.py:29
+#: modules/privacy/views.py:55 modules/quassel/views.py:29
#: modules/roundcube/views.py:32 modules/rssbridge/views.py:31
#: modules/shadowsocks/views.py:52 modules/shadowsocksserver/views.py:48
#: modules/ssh/views.py:62 modules/transmission/views.py:43
@@ -1355,16 +1343,12 @@ msgid "Cockpit"
msgstr "Cockpit"
#: modules/cockpit/manifest.py:23
-#, fuzzy
-#| msgid "Administration"
msgid "Advanced administration"
-msgstr "Администрирование"
+msgstr "Расширенное администрирование"
#: modules/cockpit/manifest.py:24
-#, fuzzy
-#| msgid "Web sharing"
msgid "Web terminal"
-msgstr "Совместное использование веб-страниц"
+msgstr "Веб-терминал"
#: modules/cockpit/manifest.py:25 modules/storage/__init__.py:47
#: modules/storage/__init__.py:319 modules/storage/__init__.py:350
@@ -1373,10 +1357,8 @@ msgid "Storage"
msgstr "Хранилище"
#: modules/cockpit/manifest.py:26
-#, fuzzy
-#| msgid "Networks"
msgid "Networking"
-msgstr "Сети"
+msgstr "Сеть"
#: modules/cockpit/manifest.py:27 modules/names/templates/names.html:20
msgid "Services"
@@ -1384,7 +1366,7 @@ msgstr "Службы"
#: modules/cockpit/manifest.py:28
msgid "Logs"
-msgstr ""
+msgstr "Журналы"
#: modules/cockpit/manifest.py:29 modules/performance/__init__.py:16
#: modules/performance/__init__.py:40
@@ -1481,13 +1463,11 @@ msgstr "Домашняя страница"
#: modules/config/manifest.py:8
msgid "Logging"
-msgstr ""
+msgstr "Журнал"
#: modules/config/manifest.py:8
-#, fuzzy
-#| msgid "Advanced"
msgid "Advanced apps"
-msgstr "Дополнительные"
+msgstr "Расширенные приложения"
#: modules/config/views.py:41
#, python-brace-format
@@ -1600,14 +1580,10 @@ msgid "-- no time zone set --"
msgstr "-- не выбран часовой пояс --"
#: modules/datetime/manifest.py:15
-#, fuzzy
-#| msgid "Network drive"
msgid "Network time"
-msgstr "Сетевой диск"
+msgstr "Время сети"
#: modules/datetime/manifest.py:15
-#, fuzzy
-#| msgid "Time Zone"
msgid "Timezone"
msgstr "Часовой пояс"
@@ -1768,7 +1744,7 @@ msgstr "Если проблемы обнаружены, попробуйте у
#: modules/diagnostics/manifest.py:10
msgid "Detect problems"
-msgstr ""
+msgstr "Обнаружение проблем"
#: modules/diagnostics/manifest.py:10
msgid "Repair"
@@ -1776,7 +1752,7 @@ msgstr "Исправление"
#: modules/diagnostics/manifest.py:10
msgid "Daily"
-msgstr ""
+msgstr "Ежедневно"
#: modules/diagnostics/templates/diagnostics.html:11
msgid "Diagnostics Run"
@@ -1830,7 +1806,7 @@ msgid "Test"
msgstr "Тест"
#: modules/diagnostics/templates/diagnostics_results.html:12
-#: modules/dynamicdns/templates/dynamicdns.html:20
+#: modules/dynamicdns/templates/dynamicdns.html:25
msgid "Result"
msgstr "Результат"
@@ -1843,7 +1819,7 @@ msgstr "Диагностический тест"
msgid "App {app_id} is not installed, cannot repair"
msgstr "Приложение {app_id} не установлено, невозможно восстановить"
-#: modules/dynamicdns/__init__.py:28
+#: modules/dynamicdns/__init__.py:29
#, python-brace-format
msgid ""
"If your Internet provider changes your IP address periodically (i.e. every "
@@ -1854,7 +1830,7 @@ msgstr ""
"адрес, другим может быть трудно найти вас в Интернете. Это помешает другим "
"найти службы, предоставляемые {box_name}."
-#: modules/dynamicdns/__init__.py:32
+#: modules/dynamicdns/__init__.py:33
msgid ""
"The solution is to assign a DNS name to your IP address and update the DNS "
"name every time your IP is changed by your Internet provider. Dynamic DNS "
@@ -1872,7 +1848,7 @@ msgstr ""
"из Интернета запросит ваше DNS-имя, он получит ответ с вашим текущим IP-"
"адресом."
-#: modules/dynamicdns/__init__.py:40
+#: modules/dynamicdns/__init__.py:41
msgid ""
"If you are looking for a free dynamic DNS account, you may find a free "
"GnuDIP service at ddns."
@@ -1885,11 +1861,17 @@ msgstr ""
"службу обновления URL-адреса на freedns.afraid.org."
-#: modules/dynamicdns/__init__.py:61
+#: modules/dynamicdns/__init__.py:46
+msgid ""
+"This service uses an external service to lookup public IP address. This can "
+"be configured in the privacy app."
+msgstr ""
+
+#: modules/dynamicdns/__init__.py:64
msgid "Dynamic DNS Client"
msgstr "Клиент динамического DNS"
-#: modules/dynamicdns/__init__.py:75
+#: modules/dynamicdns/__init__.py:78
msgid "Dynamic Domain Name"
msgstr "Динамическое доменное имя"
@@ -1945,88 +1927,71 @@ msgid "Leave this field empty if you want to keep your current password."
msgstr "Оставьте это поле пустым, если вы хотите сохранить ваш текущий пароль."
#: modules/dynamicdns/forms.py:43
-#, python-brace-format
-msgid ""
-"Optional Value. If your {box_name} is not connected directly to the Internet "
-"(i.e. connected to a NAT router) this URL is used to determine the real IP "
-"address. The URL should simply return the IP where the client comes from "
-"(example: https://ddns.freedombox.org/ip/)."
-msgstr ""
-"Необязательное значение. Если ваш {box_name} не подключен непосредственно к "
-"Интернету, (т.е. подключенный к маршрутизатору) этот URL-адрес используется "
-"для определения настоящего IP адреса. URL-адрес должен просто вернуть IP "
-"(пример: https://ddns.freedombox.org/ip/)."
-
-#: modules/dynamicdns/forms.py:51
msgid "The username that was used when the account was created."
msgstr "Имя пользователя, которое использовалось при создании учетной записи."
-#: modules/dynamicdns/forms.py:54
+#: modules/dynamicdns/forms.py:46
msgid "GnuDIP"
msgstr "GnuDIP"
-#: modules/dynamicdns/forms.py:57
+#: modules/dynamicdns/forms.py:49
msgid "Other update URL"
msgstr "Другой URL-адрес обновления"
-#: modules/dynamicdns/forms.py:59
+#: modules/dynamicdns/forms.py:51
msgid "Service Type"
msgstr "Тип службы"
-#: modules/dynamicdns/forms.py:64
+#: modules/dynamicdns/forms.py:56
msgid "GnuDIP Server Address"
msgstr "Адрес сервера GnuDIP"
-#: modules/dynamicdns/forms.py:67
+#: modules/dynamicdns/forms.py:59
msgid "Invalid server name"
msgstr "Недопустимое имя сервера"
-#: modules/dynamicdns/forms.py:70
+#: modules/dynamicdns/forms.py:62
msgid "Update URL"
msgstr "Обновление URL-адреса"
-#: modules/dynamicdns/forms.py:74
+#: modules/dynamicdns/forms.py:66
msgid "Accept all SSL certificates"
msgstr "Принимать все SSL-сертификаты"
-#: modules/dynamicdns/forms.py:78
+#: modules/dynamicdns/forms.py:70
msgid "Use HTTP basic authentication"
msgstr "Использовать базовую аутентификацию HTTP"
-#: modules/dynamicdns/forms.py:82 modules/names/__init__.py:68
+#: modules/dynamicdns/forms.py:74 modules/names/__init__.py:68
#: modules/names/forms.py:106 modules/names/templates/names.html:19
msgid "Domain Name"
msgstr "Доменное имя"
-#: modules/dynamicdns/forms.py:85 modules/names/forms.py:99
+#: modules/dynamicdns/forms.py:77 modules/names/forms.py:99
#: modules/names/forms.py:117
msgid "Invalid domain name"
msgstr "Недопустимое имя домена"
-#: modules/dynamicdns/forms.py:88 modules/miniflux/forms.py:11
+#: modules/dynamicdns/forms.py:80 modules/miniflux/forms.py:11
#: modules/networks/forms.py:281 modules/users/forms.py:130
msgid "Username"
msgstr "Имя пользователя"
-#: modules/dynamicdns/forms.py:95 modules/networks/forms.py:284
+#: modules/dynamicdns/forms.py:87 modules/networks/forms.py:284
msgid "Show password"
msgstr "Показать пароль"
-#: modules/dynamicdns/forms.py:99
-msgid "URL to look up public IP"
-msgstr "URL-адрес для поиска публичного IP"
-
-#: modules/dynamicdns/forms.py:104
+#: modules/dynamicdns/forms.py:91
msgid "Use IPv6 instead of IPv4"
msgstr "Использовать IPv6 вместо IPv4"
-#: modules/dynamicdns/forms.py:123
+#: modules/dynamicdns/forms.py:110
msgid "This field is required."
msgstr "Это поле обязательно."
#: modules/dynamicdns/manifest.py:17
-#: modules/dynamicdns/templates/dynamicdns.html:18
-#: modules/email/templates/email.html:35
+#: modules/dynamicdns/templates/dynamicdns.html:23
+#: modules/email/templates/email-dns.html:22
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64
msgid "Domain"
@@ -2034,45 +1999,43 @@ msgstr "Домен"
#: modules/dynamicdns/manifest.py:17
msgid "Free"
-msgstr ""
+msgstr "Бесплатно"
#: modules/dynamicdns/manifest.py:17
-#, fuzzy
-#| msgid "Server public key:"
msgid "Needs public IP"
-msgstr "Открытый ключ сервера:"
+msgstr "Нужен публичный IP"
-#: modules/dynamicdns/templates/dynamicdns.html:11
-#: modules/ejabberd/templates/ejabberd.html:13 modules/firewall/manifest.py:10
+#: modules/dynamicdns/templates/dynamicdns.html:16
+#: modules/ejabberd/templates/ejabberd.html:18 modules/firewall/manifest.py:10
#: modules/firewall/templates/firewall.html:16
#: modules/firewall/templates/firewall.html:22
#: modules/letsencrypt/templates/letsencrypt.html:17
-#: modules/matrixsynapse/templates/matrix-synapse.html:12
+#: modules/matrixsynapse/templates/matrix-synapse.html:17
#: modules/networks/templates/connection_show.html:258
-#: modules/samba/templates/samba.html:67 modules/tor/templates/tor.html:19
+#: modules/samba/templates/samba.html:67 modules/tor/templates/tor.html:24
#: modules/upgrades/templates/upgrades_configure.html:14
#: modules/wireguard/templates/wireguard_show_client.html:48
#: modules/wireguard/templates/wireguard_show_server.html:47
msgid "Status"
msgstr "Статус"
-#: modules/dynamicdns/templates/dynamicdns.html:19
+#: modules/dynamicdns/templates/dynamicdns.html:24
msgid "Last update"
msgstr "Последнее обновление"
-#: modules/dynamicdns/templates/dynamicdns.html:21
+#: modules/dynamicdns/templates/dynamicdns.html:26
msgid "IP Address"
msgstr "IP-адреса"
-#: modules/dynamicdns/templates/dynamicdns.html:32
+#: modules/dynamicdns/templates/dynamicdns.html:37
msgid "Success"
msgstr "Успешно"
-#: modules/dynamicdns/templates/dynamicdns.html:36
+#: modules/dynamicdns/templates/dynamicdns.html:41
msgid "Failed"
msgstr "Неудачно"
-#: modules/dynamicdns/templates/dynamicdns.html:52
+#: modules/dynamicdns/templates/dynamicdns.html:57
msgid "No status available."
msgstr "Статус недоступен."
@@ -2242,7 +2205,7 @@ msgstr "Видео чат"
msgid "XMPP"
msgstr "XMPP"
-#: modules/ejabberd/templates/ejabberd.html:18
+#: modules/ejabberd/templates/ejabberd.html:23
#, python-format
msgid ""
"Your XMPP server domain is set to %(domain_name)s. User IDs will look "
@@ -2254,7 +2217,7 @@ msgstr ""
"пользователя@%(domain_name)s. Вы можете настроить свой домен на странице "
"системы Name Services."
-#: modules/ejabberd/templates/ejabberd.html:25
+#: modules/ejabberd/templates/ejabberd.html:30
#, python-format
msgid ""
"Your XMPP server domain is not set. You can setup your domain on the system "
@@ -2322,14 +2285,18 @@ msgstr ""
msgid "Postfix/Dovecot"
msgstr "Postfix/Dovecot"
-#: modules/email/__init__.py:83
+#: modules/email/__init__.py:80
+msgid "More emails"
+msgstr ""
+
+#: modules/email/__init__.py:80
+msgid "Same mailbox"
+msgstr ""
+
+#: modules/email/__init__.py:82
msgid "My Email Aliases"
msgstr "Переадресация"
-#: modules/email/__init__.py:84
-msgid "Manage Aliases for Mailbox"
-msgstr "Управление переадресацией"
-
#: modules/email/forms.py:25
msgid "Primary domain"
msgstr "Основной домен"
@@ -2409,47 +2376,103 @@ msgstr "Создать новый псевдоним электронной по
msgid "Add"
msgstr "Добавить"
-#: modules/email/templates/email.html:10
-msgid "Manage Spam"
-msgstr "Управление спамом"
-
-#: modules/email/templates/email.html:22
-msgid "DNS Records"
+#: modules/email/templates/email-dns.html:9
+#, fuzzy
+#| msgid "DNS Records"
+msgid "DNS Records for domain:"
msgstr "Записи DNS"
-#: modules/email/templates/email.html:25
+#: modules/email/templates/email-dns.html:12
+#, fuzzy
+#| msgid ""
+#| "The following DNS records must be added manually on your primary domain "
+#| "for the mail server to work properly."
msgid ""
-"The following DNS records must be added manually on your primary domain for "
-"the mail server to work properly."
+"The following DNS records must be added manually on this domain for the mail "
+"server to work properly for this domain."
msgstr ""
"Данные записи DNS должны быть добавлены для вашего домена для правильной "
"работы почтового сервера."
-#: modules/email/templates/email.html:36
+#: modules/email/templates/email-dns.html:23
+#: modules/email/templates/email-dns.html:77
msgid "TTL"
msgstr "TTL"
-#: modules/email/templates/email.html:37
+#: modules/email/templates/email-dns.html:24
msgid "Class"
msgstr "Класс"
-#: modules/email/templates/email.html:39
+#: modules/email/templates/email-dns.html:26
msgid "Priority"
msgstr "Приоритет"
-#: modules/email/templates/email.html:40
+#: modules/email/templates/email-dns.html:27
msgid "Weight"
msgstr "Вес"
-#: modules/email/templates/email.html:41
+#: modules/email/templates/email-dns.html:28
#: modules/minetest/templates/minetest.html:18
msgid "Port"
msgstr "Порт"
-#: modules/email/templates/email.html:42
+#: modules/email/templates/email-dns.html:29
+#: modules/email/templates/email-dns.html:79
msgid "Host/Target/Value"
msgstr "Хост/Цель/Значение"
+#: modules/email/templates/email-dns.html:50
+#, fuzzy
+#| msgid "Server hostname or IP address"
+msgid "Reverse DNS Records for IP Addresses"
+msgstr "Имя или IP адрес сервера"
+
+#: modules/email/templates/email-dns.html:53
+#, python-format
+msgid ""
+"If your %(box_name)s runs on a cloud service infrastructure, you should "
+"configure "
+"Reverse DNS lookup. This isn't mandatory, however, it greatly improves "
+"email deliverability. Reverse DNS isn't configured where your regular DNS "
+"is. You should look for it in the settings of your VPS/ISP. Some providers "
+"preconfigure the IP address part for you and you only have to set the domain "
+"part. Only one of your domains can have Revese DNS lookup configured unless "
+"you have multiple public IP addresses."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:66
+msgid ""
+"An external service is used to lookup public IP address to show in the "
+"following section. This can be configured in the privacy app."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:76
+#, fuzzy
+#| msgid "Hostname"
+msgid "Host"
+msgstr "Имя хоста"
+
+#: modules/email/templates/email.html:10
+msgid "Manage Spam"
+msgstr "Управление спамом"
+
+#: modules/email/templates/email.html:20 modules/names/manifest.py:11
+#: modules/names/templates/names.html:12
+msgid "Domains"
+msgstr "Домены"
+
+#: modules/email/templates/email.html:23
+msgid ""
+"The following domains are configured. View details to see the list of DNS "
+"entries to be made for the domain."
+msgstr ""
+
+#: modules/email/templates/email.html:35
+#, fuzzy, python-format
+#| msgid "Resolve domain name: {domain}"
+msgid "View domain: %(domain)s"
+msgstr "Разрешить доменное имя: {domain}"
+
#: modules/featherwiki/__init__.py:25
#, python-brace-format
msgid ""
@@ -2714,15 +2737,13 @@ msgstr "Порт {name} ({details}) доступен для внешних се
msgid "Port {name} ({details}) unavailable for external networks"
msgstr "Порт {name} ({details}) недоступен для внешних сетей"
-#: modules/firewall/manifest.py:10 modules/tor/templates/tor.html:20
+#: modules/firewall/manifest.py:10 modules/tor/templates/tor.html:25
msgid "Ports"
msgstr "Порты"
#: modules/firewall/manifest.py:10
-#, fuzzy
-#| msgid "Blocked"
msgid "Blocking"
-msgstr "Заблокировано"
+msgstr "Блокировка"
#: modules/firewall/manifest.py:10 modules/networks/forms.py:319
#: modules/upgrades/manifest.py:10
@@ -3078,17 +3099,15 @@ msgstr "Отправить отзыв"
msgid "Contribute"
msgstr "Помощь проекту"
-#: modules/help/__init__.py:53 templates/base.html:215 templates/base.html:218
+#: modules/help/__init__.py:53 templates/base.html:217 templates/base.html:220
#: templates/help-menu.html:46 templates/help-menu.html:47
-#: templates/index.html:98
+#: templates/index.html:96
msgid "About"
msgstr "О проекте"
#: modules/help/templates/help_about.html:25 templates/messages.html:23
-#, fuzzy
-#| msgid "Success"
msgid "Success:"
-msgstr "Успешно"
+msgstr "Успех:"
#: modules/help/templates/help_about.html:29
#: modules/upgrades/templates/upgrades_configure.html:26
@@ -3250,7 +3269,7 @@ msgstr ""
#: modules/help/templates/help_contribute.html:42
#: modules/power/templates/power_restart.html:27
-#: modules/power/templates/power_shutdown.html:26 templates/app-header.html:68
+#: modules/power/templates/power_shutdown.html:26 templates/app-header.html:65
msgid "Learn more..."
msgstr "Подробнее..."
@@ -3421,16 +3440,12 @@ msgstr ""
"прикрепите этот журнал состояния к отчету об ошибке."
#: modules/help/templates/statuslog.html:27
-#, fuzzy
-#| msgid ""
-#| "Please remove any passwords or other personal information from the log "
-#| "before submitting the bug report."
msgid ""
"Please remove any personal information from the log before submitting the "
"bug report."
msgstr ""
-"Удалите любые пароли или другую личную информацию из журнала перед отправкой "
-"отчета об ошибке."
+"Перед отправкой сообщения об ошибке удалите из журнала любую личную "
+"информацию."
#: modules/help/views.py:29
msgid "Documentation and FAQ"
@@ -3631,7 +3646,7 @@ msgid "Web conference"
msgstr "Веб-конференция"
#: modules/janus/templates/janus_video_room.html:205
-#: modules/jsxc/templates/jsxc_launch.html:117 templates/base.html:271
+#: modules/jsxc/templates/jsxc_launch.html:117 templates/base.html:273
msgid "JavaScript license information"
msgstr "Информация о лицензии JavaScript"
@@ -3739,10 +3754,8 @@ msgid "Censorship resistance"
msgstr "Противодействие цензуре"
#: modules/kiwix/manifest.py:26
-#, fuzzy
-#| msgid "Offline Wikipedia"
msgid "Wikipedia"
-msgstr "Wikipedia"
+msgstr "Википедия"
#: modules/kiwix/templates/kiwix-add-package.html:29
#, python-format
@@ -3843,10 +3856,8 @@ msgid "HTTPS"
msgstr "HTTPS"
#: modules/letsencrypt/manifest.py:11
-#, fuzzy
-#| msgid "Website Security"
msgid "Web security"
-msgstr "Безопасность Веб-сайта"
+msgstr "Веб-безопасность"
#: modules/letsencrypt/templates/letsencrypt.html:25
msgid "Certificate Status"
@@ -4052,24 +4063,13 @@ msgstr ""
"domainname."
#: modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:31
-#, fuzzy
-#| msgid ""
-#| "\n"
-#| " Warning! Changing the domain name after this step "
-#| "will\n"
-#| " require uninstalling and reinstalling the app which will wipe app's "
-#| "data.\n"
-#| " "
msgid ""
"Warning! Changing the domain name after this step will "
"require uninstalling and reinstalling the app which will wipe app's data."
msgstr ""
-"\n"
-" Предупреждение! Изменение доменного имени после этого "
-"шага\n"
-" потребуется удалить и переустановить приложение, что приведет к "
-"стиранию данных приложения.\n"
-" "
+"Предупреждение! Изменение доменного имени после этого шага "
+"потребует удаления и переустановки приложения, что приведет к стиранию "
+"данных приложения."
#: modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:42
#, python-format
@@ -4080,7 +4080,7 @@ msgstr ""
"Нет доступных доменов. Настройтепо крайней "
"мере один домен, чтобы иметь возможность использовать Matrix."
-#: modules/matrixsynapse/templates/matrix-synapse.html:15
+#: modules/matrixsynapse/templates/matrix-synapse.html:20
#, python-format
msgid ""
"The Matrix server domain is set to %(domain_name)s. User IDs will "
@@ -4092,7 +4092,7 @@ msgstr ""
"em>. Изменение имени домена после первоначальной настройки в настоящее время "
"не поддерживается."
-#: modules/matrixsynapse/templates/matrix-synapse.html:22
+#: modules/matrixsynapse/templates/matrix-synapse.html:27
msgid ""
"New users can be registered from any client if public registration is "
"enabled."
@@ -4100,7 +4100,7 @@ msgstr ""
"Новые пользователи могут быть зарегистрированы с любого клиента, если "
"включена публичная регистрация."
-#: modules/matrixsynapse/templates/matrix-synapse.html:29
+#: modules/matrixsynapse/templates/matrix-synapse.html:34
msgid ""
"New users must use one of the following tokens for verification during "
"account registration:"
@@ -4108,31 +4108,31 @@ msgstr ""
"Новые пользователи должны использовать один из следующих токенов для "
"проверки во время регистрации учетной записи:"
-#: modules/matrixsynapse/templates/matrix-synapse.html:38
+#: modules/matrixsynapse/templates/matrix-synapse.html:43
msgid "Registration Token"
msgstr "Регистрационный токен"
-#: modules/matrixsynapse/templates/matrix-synapse.html:39
+#: modules/matrixsynapse/templates/matrix-synapse.html:44
msgid "Uses Allowed"
msgstr "Разрешенные виды использования"
-#: modules/matrixsynapse/templates/matrix-synapse.html:40
+#: modules/matrixsynapse/templates/matrix-synapse.html:45
msgid "Pending Registrations"
msgstr "Ожидающие регистрации"
-#: modules/matrixsynapse/templates/matrix-synapse.html:41
+#: modules/matrixsynapse/templates/matrix-synapse.html:46
msgid "Completed Registrations"
msgstr "Завершенные регистрации"
-#: modules/matrixsynapse/templates/matrix-synapse.html:42
+#: modules/matrixsynapse/templates/matrix-synapse.html:47
msgid "Expiry Time"
msgstr "Время истечения"
-#: modules/matrixsynapse/templates/matrix-synapse.html:51
+#: modules/matrixsynapse/templates/matrix-synapse.html:56
msgid "Unlimited"
msgstr "Неограниченное"
-#: modules/matrixsynapse/templates/matrix-synapse.html:80
+#: modules/matrixsynapse/templates/matrix-synapse.html:85
#, python-format
msgid ""
"The configured domain name is using a self-signed certificate. Federation "
@@ -4617,7 +4617,7 @@ msgstr "Сброс пароля для пользователя: {username}"
msgid "An error occurred during password reset: {error}."
msgstr "Во время сброса пароля произошла ошибка: {error}."
-#: modules/mumble/__init__.py:25
+#: modules/mumble/__init__.py:27
msgid ""
"Mumble is an open source, low-latency, encrypted, high quality voice chat "
"software."
@@ -4625,7 +4625,7 @@ msgstr ""
"Mumble это шифрованый чат с высоким качеством голоса, низкой задержкой и "
"открытым исходным кодом."
-#: modules/mumble/__init__.py:27
+#: modules/mumble/__init__.py:29
msgid ""
"You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your "
@@ -4635,10 +4635,16 @@ msgstr ""
"href=\"http://mumble.info\">Клиенты
Your PageKite frontend server may not support all the "
-#| "protocol/port combinations that you are able to define here. For example, "
-#| "HTTPS on ports other than 443 is known to cause problems."
msgid ""
"Your PageKite frontend server may not support all the protocol/port "
"combinations that you are able to define here. For example, HTTPS on ports "
"other than 443 is known to cause problems."
msgstr ""
-"Предупреждение:
Ваш PageKite frontend сервер может поддерживать не "
-"все комбинации протокол/порт, которые вы можете здесь задать. Например, "
-"HTTPS на портах, отличных от 443, может вызывать проблемы."
+"Ваш внешний сервер PageKite может поддерживать не все комбинации протоколов/"
+"портов, которые вы можете задать здесь. Например, известно, что HTTPS на "
+"портах, отличных от 443, может вызывать проблемы."
#: modules/pagekite/utils.py:45
msgid "Web Server (HTTP)"
@@ -6551,14 +6538,12 @@ msgstr ""
"просмотрены с помощью приложения Cockpit."
#: modules/performance/manifest.py:18
-#, fuzzy
-#| msgid "System Monitoring"
msgid "Monitoring"
-msgstr "Системный мониторинг"
+msgstr "Контроль"
#: modules/performance/manifest.py:18
msgid "Resource utilization"
-msgstr ""
+msgstr "Использование ресурсов"
#: modules/power/__init__.py:14
msgid "Restart or shut down the system."
@@ -6570,16 +6555,14 @@ msgstr "Питание"
#: modules/power/manifest.py:10
msgid "Reboot"
-msgstr ""
+msgstr "Перезагрузка"
#: modules/power/manifest.py:10
-#, fuzzy
-#| msgid "Shut down"
msgid "Shutdown"
-msgstr "Завершить работу"
+msgstr "Выключить"
-#: modules/power/templates/power.html:15 templates/base.html:180
-#: templates/base.html:181
+#: modules/power/templates/power.html:15 templates/base.html:182
+#: templates/base.html:183
msgid "Restart"
msgstr "Перезапустить"
@@ -6621,25 +6604,35 @@ msgstr ""
msgid "Shut Down Now"
msgstr "Завершить работу сейчас"
-#: modules/privacy/__init__.py:15
+#: modules/privacy/__init__.py:21
msgid "Manage system-wide privacy settings."
msgstr "Управление общесистемными настройками приватности."
-#: modules/privacy/__init__.py:70
+#: modules/privacy/__init__.py:75
msgid "Please update privacy settings to match your preferences."
msgstr ""
"Пожалуйста, обновляйте настройки приватности чтобы соответствовать вашим "
"предпочтениям."
-#: modules/privacy/__init__.py:75
+#: modules/privacy/__init__.py:80
msgid "Review privacy setting"
msgstr "Проверьте настройки приватности"
-#: modules/privacy/forms.py:16
+#: modules/privacy/forms.py:17
+#, python-brace-format
+msgid ""
+"Optional Value. This URL is used to determine the publicly visible IP "
+"address of your {box_name}. The URL should simply return the IPv4 or IPv6 "
+"address where the client request comes from. Default is to use the service "
+"provided by the FreedomBox Foundation at https://ddns.freedombox.org/ip/. If "
+"empty, lookups are disabled and some functionality will fail."
+msgstr ""
+
+#: modules/privacy/forms.py:25
msgid "Periodically submit a list of apps used (suggested)"
msgstr "Периодически отсылать список используемых приложений (предлагаемых)"
-#: modules/privacy/forms.py:18
+#: modules/privacy/forms.py:27
#, python-brace-format
msgid ""
"Help Debian/{box_name} developers by participating in the Popularity Contest "
@@ -6656,11 +6649,11 @@ msgstr ""
"target=\"_blank\">popcon.debian.org
SSH key-based authentication is not yet "
"possible."
msgstr ""
-#: modules/backups/forms.py:273
+#: modules/backups/forms.py:275
msgid "Remote backup repository already exists."
msgstr ""
-#: modules/backups/forms.py:279
+#: modules/backups/forms.py:281
msgid "Select verified SSH public key"
msgstr ""
#: modules/backups/manifest.py:14
#: modules/backups/templates/backups_repository.html:92
#: modules/backups/templates/backups_restore.html:27
-#: modules/backups/views.py:240 modules/snapshot/manifest.py:14
+#: modules/backups/views.py:238 modules/snapshot/manifest.py:14
#: templates/toolbar.html:44 templates/toolbar.html:45
msgid "Restore"
msgstr ""
@@ -504,16 +506,20 @@ msgstr ""
msgid "Backup system is busy with another operation."
msgstr ""
+#: modules/backups/privileged.py:92
+msgid "Not enough space left on the disk or remote location."
+msgstr ""
+
#: modules/backups/repository.py:94
msgid "Existing repository is not encrypted."
msgstr ""
-#: modules/backups/repository.py:266
+#: modules/backups/repository.py:289
#, python-brace-format
msgid "{box_name} storage"
msgstr ""
-#: modules/backups/templates/backups.html:17 modules/backups/views.py:125
+#: modules/backups/templates/backups.html:17 modules/backups/views.py:124
msgid "Create a new backup"
msgstr ""
@@ -557,10 +563,9 @@ msgstr ""
#: modules/help/templates/statuslog.html:24
#: modules/kiwix/templates/kiwix-add-package.html:26
#: modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:28
-#: modules/matrixsynapse/templates/matrix-synapse.html:76
+#: modules/matrixsynapse/templates/matrix-synapse.html:81
#: modules/names/templates/names.html:128
#: modules/networks/templates/connection_show.html:24
-#: modules/nextcloud/__init__.py:48
#: modules/pagekite/templates/pagekite_custom_services.html:16
#: modules/power/templates/power_busy_warning.html:11
#: modules/snapshot/templates/snapshot_not_supported.html:13
@@ -699,107 +704,107 @@ msgstr ""
msgid "Verify Host"
msgstr ""
-#: modules/backups/views.py:69
+#: modules/backups/views.py:68
msgid "Backup schedule updated."
msgstr ""
-#: modules/backups/views.py:88
+#: modules/backups/views.py:87
msgid "Schedule Backups"
msgstr ""
-#: modules/backups/views.py:150
+#: modules/backups/views.py:148
msgid "Archive created."
msgstr ""
-#: modules/backups/views.py:162
+#: modules/backups/views.py:160
msgid "Delete Archive"
msgstr ""
-#: modules/backups/views.py:175
+#: modules/backups/views.py:173
msgid "Archive deleted."
msgstr ""
-#: modules/backups/views.py:189
+#: modules/backups/views.py:187
msgid "Upload and restore a backup"
msgstr ""
-#: modules/backups/views.py:218
+#: modules/backups/views.py:216
msgid "Upload successful."
msgstr ""
-#: modules/backups/views.py:256
+#: modules/backups/views.py:254
msgid "No backup file found."
msgstr ""
-#: modules/backups/views.py:264
+#: modules/backups/views.py:262
msgid "Restore from uploaded file"
msgstr ""
-#: modules/backups/views.py:278 modules/backups/views.py:299
+#: modules/backups/views.py:276 modules/backups/views.py:297
msgid "Restored files from backup."
msgstr ""
-#: modules/backups/views.py:329
+#: modules/backups/views.py:327
msgid "No additional disks available to add a repository."
msgstr ""
-#: modules/backups/views.py:337
+#: modules/backups/views.py:335
msgid "Create backup repository"
msgstr ""
-#: modules/backups/views.py:352
+#: modules/backups/views.py:350
msgid "Added new repository."
msgstr ""
-#: modules/backups/views.py:366
+#: modules/backups/views.py:364
msgid "Create remote backup repository"
msgstr ""
-#: modules/backups/views.py:388
+#: modules/backups/views.py:386
msgid "Added new remote SSH repository."
msgstr ""
-#: modules/backups/views.py:410
+#: modules/backups/views.py:408
msgid "Verify SSH hostkey"
msgstr ""
-#: modules/backups/views.py:436
+#: modules/backups/views.py:434
msgid "SSH host already verified."
msgstr ""
-#: modules/backups/views.py:447
+#: modules/backups/views.py:445
msgid "SSH host verified."
msgstr ""
-#: modules/backups/views.py:463
+#: modules/backups/views.py:461
msgid "SSH host public key could not be verified."
msgstr ""
-#: modules/backups/views.py:465
+#: modules/backups/views.py:463
msgid "Authentication to remote server failed."
msgstr ""
-#: modules/backups/views.py:467
+#: modules/backups/views.py:465
msgid "Error establishing connection to server: {}"
msgstr ""
-#: modules/backups/views.py:478
+#: modules/backups/views.py:476
msgid "Repository removed."
msgstr ""
-#: modules/backups/views.py:492
+#: modules/backups/views.py:490
msgid "Remove Repository"
msgstr ""
-#: modules/backups/views.py:502
+#: modules/backups/views.py:500
msgid "Repository removed. Backups were not deleted."
msgstr ""
-#: modules/backups/views.py:513
+#: modules/backups/views.py:511
msgid "Unmounting failed!"
msgstr ""
-#: modules/backups/views.py:529 modules/backups/views.py:533
+#: modules/backups/views.py:527 modules/backups/views.py:531
msgid "Mounting failed"
msgstr ""
@@ -908,7 +913,7 @@ msgstr ""
msgid "No passwords currently configured."
msgstr ""
-#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:91
+#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:83
#: modules/miniflux/forms.py:14 modules/networks/forms.py:282
#: modules/shadowsocks/forms.py:32 modules/shadowsocksserver/forms.py:37
msgid "Password"
@@ -1026,8 +1031,10 @@ msgstr ""
msgid "Serving Domains"
msgstr ""
-#: modules/bind/templates/bind.html:17 modules/email/templates/email.html:38
-#: modules/ikiwiki/forms.py:12 modules/names/templates/names.html:18
+#: modules/bind/templates/bind.html:17
+#: modules/email/templates/email-dns.html:25
+#: modules/email/templates/email-dns.html:78 modules/ikiwiki/forms.py:12
+#: modules/names/templates/names.html:18
#: modules/networks/templates/connection_show.html:95
#: modules/samba/templates/samba.html:65
#: modules/storage/templates/storage.html:26
@@ -1057,7 +1064,7 @@ msgstr ""
#: modules/minetest/views.py:55 modules/mumble/views.py:37
#: modules/names/views.py:66 modules/names/views.py:95
#: modules/names/views.py:129 modules/pagekite/forms.py:74
-#: modules/privacy/views.py:50 modules/quassel/views.py:29
+#: modules/privacy/views.py:55 modules/quassel/views.py:29
#: modules/roundcube/views.py:32 modules/rssbridge/views.py:31
#: modules/shadowsocks/views.py:52 modules/shadowsocksserver/views.py:48
#: modules/ssh/views.py:62 modules/transmission/views.py:43
@@ -1640,7 +1647,7 @@ msgid "Test"
msgstr ""
#: modules/diagnostics/templates/diagnostics_results.html:12
-#: modules/dynamicdns/templates/dynamicdns.html:20
+#: modules/dynamicdns/templates/dynamicdns.html:25
msgid "Result"
msgstr ""
@@ -1653,7 +1660,7 @@ msgstr ""
msgid "App {app_id} is not installed, cannot repair"
msgstr ""
-#: modules/dynamicdns/__init__.py:28
+#: modules/dynamicdns/__init__.py:29
#, python-brace-format
msgid ""
"If your Internet provider changes your IP address periodically (i.e. every "
@@ -1661,7 +1668,7 @@ msgid ""
"prevent others from finding services which are provided by this {box_name}."
msgstr ""
-#: modules/dynamicdns/__init__.py:32
+#: modules/dynamicdns/__init__.py:33
msgid ""
"The solution is to assign a DNS name to your IP address and update the DNS "
"name every time your IP is changed by your Internet provider. Dynamic DNS "
@@ -1672,7 +1679,7 @@ msgid ""
"IP address."
msgstr ""
-#: modules/dynamicdns/__init__.py:40
+#: modules/dynamicdns/__init__.py:41
msgid ""
"If you are looking for a free dynamic DNS account, you may find a free "
"GnuDIP service at ddns."
@@ -1680,11 +1687,17 @@ msgid ""
"href='http://freedns.afraid.org/' target='_blank'>freedns.afraid.org."
msgstr ""
-#: modules/dynamicdns/__init__.py:61
+#: modules/dynamicdns/__init__.py:46
+msgid ""
+"This service uses an external service to lookup public IP address. This can "
+"be configured in the privacy app."
+msgstr ""
+
+#: modules/dynamicdns/__init__.py:64
msgid "Dynamic DNS Client"
msgstr ""
-#: modules/dynamicdns/__init__.py:75
+#: modules/dynamicdns/__init__.py:78
msgid "Dynamic Domain Name"
msgstr ""
@@ -1728,84 +1741,71 @@ msgid "Leave this field empty if you want to keep your current password."
msgstr ""
#: modules/dynamicdns/forms.py:43
-#, python-brace-format
-msgid ""
-"Optional Value. If your {box_name} is not connected directly to the Internet "
-"(i.e. connected to a NAT router) this URL is used to determine the real IP "
-"address. The URL should simply return the IP where the client comes from "
-"(example: https://ddns.freedombox.org/ip/)."
-msgstr ""
-
-#: modules/dynamicdns/forms.py:51
msgid "The username that was used when the account was created."
msgstr ""
-#: modules/dynamicdns/forms.py:54
+#: modules/dynamicdns/forms.py:46
msgid "GnuDIP"
msgstr ""
-#: modules/dynamicdns/forms.py:57
+#: modules/dynamicdns/forms.py:49
msgid "Other update URL"
msgstr ""
-#: modules/dynamicdns/forms.py:59
+#: modules/dynamicdns/forms.py:51
msgid "Service Type"
msgstr ""
-#: modules/dynamicdns/forms.py:64
+#: modules/dynamicdns/forms.py:56
msgid "GnuDIP Server Address"
msgstr ""
-#: modules/dynamicdns/forms.py:67
+#: modules/dynamicdns/forms.py:59
msgid "Invalid server name"
msgstr ""
-#: modules/dynamicdns/forms.py:70
+#: modules/dynamicdns/forms.py:62
msgid "Update URL"
msgstr ""
-#: modules/dynamicdns/forms.py:74
+#: modules/dynamicdns/forms.py:66
msgid "Accept all SSL certificates"
msgstr ""
-#: modules/dynamicdns/forms.py:78
+#: modules/dynamicdns/forms.py:70
msgid "Use HTTP basic authentication"
msgstr ""
-#: modules/dynamicdns/forms.py:82 modules/names/__init__.py:68
+#: modules/dynamicdns/forms.py:74 modules/names/__init__.py:68
#: modules/names/forms.py:106 modules/names/templates/names.html:19
msgid "Domain Name"
msgstr ""
-#: modules/dynamicdns/forms.py:85 modules/names/forms.py:99
+#: modules/dynamicdns/forms.py:77 modules/names/forms.py:99
#: modules/names/forms.py:117
msgid "Invalid domain name"
msgstr ""
-#: modules/dynamicdns/forms.py:88 modules/miniflux/forms.py:11
+#: modules/dynamicdns/forms.py:80 modules/miniflux/forms.py:11
#: modules/networks/forms.py:281 modules/users/forms.py:130
msgid "Username"
msgstr ""
-#: modules/dynamicdns/forms.py:95 modules/networks/forms.py:284
+#: modules/dynamicdns/forms.py:87 modules/networks/forms.py:284
msgid "Show password"
msgstr ""
-#: modules/dynamicdns/forms.py:99
-msgid "URL to look up public IP"
-msgstr ""
-
-#: modules/dynamicdns/forms.py:104
+#: modules/dynamicdns/forms.py:91
msgid "Use IPv6 instead of IPv4"
msgstr ""
-#: modules/dynamicdns/forms.py:123
+#: modules/dynamicdns/forms.py:110
msgid "This field is required."
msgstr ""
#: modules/dynamicdns/manifest.py:17
-#: modules/dynamicdns/templates/dynamicdns.html:18
-#: modules/email/templates/email.html:35
+#: modules/dynamicdns/templates/dynamicdns.html:23
+#: modules/email/templates/email-dns.html:22
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64
msgid "Domain"
@@ -1819,37 +1819,37 @@ msgstr ""
msgid "Needs public IP"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:11
-#: modules/ejabberd/templates/ejabberd.html:13 modules/firewall/manifest.py:10
+#: modules/dynamicdns/templates/dynamicdns.html:16
+#: modules/ejabberd/templates/ejabberd.html:18 modules/firewall/manifest.py:10
#: modules/firewall/templates/firewall.html:16
#: modules/firewall/templates/firewall.html:22
#: modules/letsencrypt/templates/letsencrypt.html:17
-#: modules/matrixsynapse/templates/matrix-synapse.html:12
+#: modules/matrixsynapse/templates/matrix-synapse.html:17
#: modules/networks/templates/connection_show.html:258
-#: modules/samba/templates/samba.html:67 modules/tor/templates/tor.html:19
+#: modules/samba/templates/samba.html:67 modules/tor/templates/tor.html:24
#: modules/upgrades/templates/upgrades_configure.html:14
#: modules/wireguard/templates/wireguard_show_client.html:48
#: modules/wireguard/templates/wireguard_show_server.html:47
msgid "Status"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:19
+#: modules/dynamicdns/templates/dynamicdns.html:24
msgid "Last update"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:21
+#: modules/dynamicdns/templates/dynamicdns.html:26
msgid "IP Address"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:32
+#: modules/dynamicdns/templates/dynamicdns.html:37
msgid "Success"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:36
+#: modules/dynamicdns/templates/dynamicdns.html:41
msgid "Failed"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:52
+#: modules/dynamicdns/templates/dynamicdns.html:57
msgid "No status available."
msgstr ""
@@ -1997,7 +1997,7 @@ msgstr ""
msgid "XMPP"
msgstr ""
-#: modules/ejabberd/templates/ejabberd.html:18
+#: modules/ejabberd/templates/ejabberd.html:23
#, python-format
msgid ""
"Your XMPP server domain is set to %(domain_name)s. User IDs will look "
@@ -2005,7 +2005,7 @@ msgid ""
"system Name Services page."
msgstr ""
-#: modules/ejabberd/templates/ejabberd.html:25
+#: modules/ejabberd/templates/ejabberd.html:30
#, python-format
msgid ""
"Your XMPP server domain is not set. You can setup your domain on the system "
@@ -2053,12 +2053,16 @@ msgstr ""
msgid "Postfix/Dovecot"
msgstr ""
-#: modules/email/__init__.py:83
-msgid "My Email Aliases"
+#: modules/email/__init__.py:80
+msgid "More emails"
msgstr ""
-#: modules/email/__init__.py:84
-msgid "Manage Aliases for Mailbox"
+#: modules/email/__init__.py:80
+msgid "Same mailbox"
+msgstr ""
+
+#: modules/email/__init__.py:82
+msgid "My Email Aliases"
msgstr ""
#: modules/email/forms.py:25
@@ -2137,45 +2141,90 @@ msgstr ""
msgid "Add"
msgstr ""
-#: modules/email/templates/email.html:10
-msgid "Manage Spam"
+#: modules/email/templates/email-dns.html:9
+msgid "DNS Records for domain:"
msgstr ""
-#: modules/email/templates/email.html:22
-msgid "DNS Records"
-msgstr ""
-
-#: modules/email/templates/email.html:25
+#: modules/email/templates/email-dns.html:12
msgid ""
-"The following DNS records must be added manually on your primary domain for "
-"the mail server to work properly."
+"The following DNS records must be added manually on this domain for the mail "
+"server to work properly for this domain."
msgstr ""
-#: modules/email/templates/email.html:36
+#: modules/email/templates/email-dns.html:23
+#: modules/email/templates/email-dns.html:77
msgid "TTL"
msgstr ""
-#: modules/email/templates/email.html:37
+#: modules/email/templates/email-dns.html:24
msgid "Class"
msgstr ""
-#: modules/email/templates/email.html:39
+#: modules/email/templates/email-dns.html:26
msgid "Priority"
msgstr ""
-#: modules/email/templates/email.html:40
+#: modules/email/templates/email-dns.html:27
msgid "Weight"
msgstr ""
-#: modules/email/templates/email.html:41
+#: modules/email/templates/email-dns.html:28
#: modules/minetest/templates/minetest.html:18
msgid "Port"
msgstr ""
-#: modules/email/templates/email.html:42
+#: modules/email/templates/email-dns.html:29
+#: modules/email/templates/email-dns.html:79
msgid "Host/Target/Value"
msgstr ""
+#: modules/email/templates/email-dns.html:50
+msgid "Reverse DNS Records for IP Addresses"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:53
+#, python-format
+msgid ""
+"If your %(box_name)s runs on a cloud service infrastructure, you should "
+"configure "
+"Reverse DNS lookup. This isn't mandatory, however, it greatly improves "
+"email deliverability. Reverse DNS isn't configured where your regular DNS "
+"is. You should look for it in the settings of your VPS/ISP. Some providers "
+"preconfigure the IP address part for you and you only have to set the domain "
+"part. Only one of your domains can have Revese DNS lookup configured unless "
+"you have multiple public IP addresses."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:66
+msgid ""
+"An external service is used to lookup public IP address to show in the "
+"following section. This can be configured in the privacy app."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:76
+msgid "Host"
+msgstr ""
+
+#: modules/email/templates/email.html:10
+msgid "Manage Spam"
+msgstr ""
+
+#: modules/email/templates/email.html:20 modules/names/manifest.py:11
+#: modules/names/templates/names.html:12
+msgid "Domains"
+msgstr ""
+
+#: modules/email/templates/email.html:23
+msgid ""
+"The following domains are configured. View details to see the list of DNS "
+"entries to be made for the domain."
+msgstr ""
+
+#: modules/email/templates/email.html:35
+#, python-format
+msgid "View domain: %(domain)s"
+msgstr ""
+
#: modules/featherwiki/__init__.py:25
#, python-brace-format
msgid ""
@@ -2418,7 +2467,7 @@ msgstr ""
msgid "Port {name} ({details}) unavailable for external networks"
msgstr ""
-#: modules/firewall/manifest.py:10 modules/tor/templates/tor.html:20
+#: modules/firewall/manifest.py:10 modules/tor/templates/tor.html:25
msgid "Ports"
msgstr ""
@@ -2745,9 +2794,9 @@ msgstr ""
msgid "Contribute"
msgstr ""
-#: modules/help/__init__.py:53 templates/base.html:215 templates/base.html:218
+#: modules/help/__init__.py:53 templates/base.html:217 templates/base.html:220
#: templates/help-menu.html:46 templates/help-menu.html:47
-#: templates/index.html:98
+#: templates/index.html:96
msgid "About"
msgstr "පිළිබඳව"
@@ -2880,7 +2929,7 @@ msgstr ""
#: modules/help/templates/help_contribute.html:42
#: modules/power/templates/power_restart.html:27
-#: modules/power/templates/power_shutdown.html:26 templates/app-header.html:68
+#: modules/power/templates/power_shutdown.html:26 templates/app-header.html:65
msgid "Learn more..."
msgstr ""
@@ -3202,7 +3251,7 @@ msgid "Web conference"
msgstr ""
#: modules/janus/templates/janus_video_room.html:205
-#: modules/jsxc/templates/jsxc_launch.html:117 templates/base.html:271
+#: modules/jsxc/templates/jsxc_launch.html:117 templates/base.html:273
msgid "JavaScript license information"
msgstr ""
@@ -3566,7 +3615,7 @@ msgid ""
"least one domain to be able to use Matrix Synapse."
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:15
+#: modules/matrixsynapse/templates/matrix-synapse.html:20
#, python-format
msgid ""
"The Matrix server domain is set to %(domain_name)s. User IDs will "
@@ -3574,43 +3623,43 @@ msgid ""
"the initial setup is currently not supported."
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:22
+#: modules/matrixsynapse/templates/matrix-synapse.html:27
msgid ""
"New users can be registered from any client if public registration is "
"enabled."
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:29
+#: modules/matrixsynapse/templates/matrix-synapse.html:34
msgid ""
"New users must use one of the following tokens for verification during "
"account registration:"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:38
+#: modules/matrixsynapse/templates/matrix-synapse.html:43
msgid "Registration Token"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:39
+#: modules/matrixsynapse/templates/matrix-synapse.html:44
msgid "Uses Allowed"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:40
+#: modules/matrixsynapse/templates/matrix-synapse.html:45
msgid "Pending Registrations"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:41
+#: modules/matrixsynapse/templates/matrix-synapse.html:46
msgid "Completed Registrations"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:42
+#: modules/matrixsynapse/templates/matrix-synapse.html:47
msgid "Expiry Time"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:51
+#: modules/matrixsynapse/templates/matrix-synapse.html:56
msgid "Unlimited"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:80
+#: modules/matrixsynapse/templates/matrix-synapse.html:85
#, python-format
msgid ""
"The configured domain name is using a self-signed certificate. Federation "
@@ -4019,23 +4068,27 @@ msgstr ""
msgid "An error occurred during password reset: {error}."
msgstr ""
-#: modules/mumble/__init__.py:25
+#: modules/mumble/__init__.py:27
msgid ""
"Mumble is an open source, low-latency, encrypted, high quality voice chat "
"software."
msgstr ""
-#: modules/mumble/__init__.py:27
+#: modules/mumble/__init__.py:29
msgid ""
"You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your "
"desktop and mobile devices are available."
msgstr ""
-#: modules/mumble/__init__.py:45 modules/mumble/manifest.py:9
+#: modules/mumble/__init__.py:47 modules/mumble/manifest.py:9
msgid "Mumble"
msgstr ""
+#: modules/mumble/__init__.py:158
+msgid "Mumble server is configured"
+msgstr ""
+
#: modules/mumble/forms.py:30
msgid "Set SuperUser Password"
msgstr ""
@@ -4160,10 +4213,6 @@ msgid ""
"or less."
msgstr ""
-#: modules/names/manifest.py:11 modules/names/templates/names.html:12
-msgid "Domains"
-msgstr ""
-
#: modules/names/manifest.py:13
msgid "DNS Resolution"
msgstr ""
@@ -4660,7 +4709,7 @@ msgstr ""
#: modules/networks/templates/connection_show.html:40
#: modules/wireguard/templates/wireguard_show_client.html:72
#: modules/wireguard/templates/wireguard_show_server.html:73
-#: templates/base.html:165 templates/base.html:166
+#: templates/base.html:167 templates/base.html:168
msgid "Edit"
msgstr ""
@@ -4713,7 +4762,7 @@ msgstr ""
#: modules/networks/templates/connection_show.html:107
#: modules/snapshot/templates/snapshot_delete_selected.html:19
-#: modules/snapshot/templates/snapshot_manage.html:29
+#: modules/snapshot/templates/snapshot_manage.html:34
#: modules/snapshot/templates/snapshot_rollback.html:27
msgid "Description"
msgstr ""
@@ -4791,8 +4840,8 @@ msgstr ""
#: modules/networks/templates/connection_show.html:264
#: modules/networks/templates/connections_fields_privacy.html:15
-#: modules/openvpn/manifest.py:60 modules/privacy/__init__.py:32
-#: modules/privacy/__init__.py:72 modules/wireguard/manifest.py:45
+#: modules/openvpn/manifest.py:60 modules/privacy/__init__.py:38
+#: modules/privacy/__init__.py:77 modules/wireguard/manifest.py:45
msgid "Privacy"
msgstr ""
@@ -4876,7 +4925,7 @@ msgstr ""
msgid "Computer"
msgstr ""
-#: modules/networks/templates/connections_edit.html:19
+#: modules/networks/templates/connections_edit.html:24
#: modules/networks/views.py:253 modules/networks/views.py:341
msgid "Edit Connection"
msgstr ""
@@ -4887,7 +4936,7 @@ msgid "Error:"
msgstr ""
#: modules/networks/templates/connections_fields.html:20
-#: modules/users/templates/users_update.html:46 templates/messages.html:30
+#: modules/users/templates/users_update.html:51 templates/messages.html:30
msgid "Close"
msgstr ""
@@ -4979,7 +5028,7 @@ msgstr ""
#: modules/networks/templates/network_topology_update.html:18
#: modules/networks/templates/router_configuration_update.html:19
#: modules/pagekite/templates/pagekite_custom_services.html:33
-#: modules/sharing/templates/sharing_add_edit.html:20 templates/form.html:19
+#: modules/sharing/templates/sharing_add_edit.html:25 templates/form.html:19
msgid "Submit"
msgstr ""
@@ -5373,11 +5422,7 @@ msgid ""
"performed following an independent cycle."
msgstr ""
-#: modules/nextcloud/__init__.py:48
-msgid "This app is experimental."
-msgstr ""
-
-#: modules/nextcloud/__init__.py:66 modules/nextcloud/manifest.py:11
+#: modules/nextcloud/__init__.py:65 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
msgid "Nextcloud"
msgstr ""
@@ -5543,7 +5588,7 @@ msgstr ""
msgid "PageKite"
msgstr ""
-#: modules/pagekite/__init__.py:73
+#: modules/pagekite/__init__.py:72
msgid "PageKite Domain"
msgstr ""
@@ -5722,8 +5767,8 @@ msgstr ""
msgid "Shutdown"
msgstr ""
-#: modules/power/templates/power.html:15 templates/base.html:180
-#: templates/base.html:181
+#: modules/power/templates/power.html:15 templates/base.html:182
+#: templates/base.html:183
msgid "Restart"
msgstr ""
@@ -5759,23 +5804,33 @@ msgstr ""
msgid "Shut Down Now"
msgstr ""
-#: modules/privacy/__init__.py:15
+#: modules/privacy/__init__.py:21
msgid "Manage system-wide privacy settings."
msgstr ""
-#: modules/privacy/__init__.py:70
+#: modules/privacy/__init__.py:75
msgid "Please update privacy settings to match your preferences."
msgstr ""
-#: modules/privacy/__init__.py:75
+#: modules/privacy/__init__.py:80
msgid "Review privacy setting"
msgstr ""
-#: modules/privacy/forms.py:16
+#: modules/privacy/forms.py:17
+#, python-brace-format
+msgid ""
+"Optional Value. This URL is used to determine the publicly visible IP "
+"address of your {box_name}. The URL should simply return the IPv4 or IPv6 "
+"address where the client request comes from. Default is to use the service "
+"provided by the FreedomBox Foundation at https://ddns.freedombox.org/ip/. If "
+"empty, lookups are disabled and some functionality will fail."
+msgstr ""
+
+#: modules/privacy/forms.py:25
msgid "Periodically submit a list of apps used (suggested)"
msgstr ""
-#: modules/privacy/forms.py:18
+#: modules/privacy/forms.py:27
#, python-brace-format
msgid ""
"Help Debian/{box_name} developers by participating in the Popularity Contest "
@@ -5786,11 +5841,11 @@ msgid ""
"network for additional anonymity if Tor app is enabled."
msgstr ""
-#: modules/privacy/forms.py:28
+#: modules/privacy/forms.py:37
msgid "Allow using fallback DNS servers"
msgstr ""
-#: modules/privacy/forms.py:30
+#: modules/privacy/forms.py:39
msgid ""
"Use well-known public DNS servers to resolve domain names in unusual "
"circumstances where no DNS servers are known but internet connectivity is "
@@ -5798,10 +5853,18 @@ msgid ""
"and reliable."
msgstr ""
+#: modules/privacy/forms.py:45
+msgid "URL to look up public IP address"
+msgstr ""
+
#: modules/privacy/manifest.py:10
msgid "Usage reporting"
msgstr ""
+#: modules/privacy/manifest.py:10
+msgid "External services"
+msgstr ""
+
#: modules/privacy/manifest.py:10
msgid "Fallback DNS"
msgstr ""
@@ -6709,40 +6772,40 @@ msgid "Delete the following snapshots permanently?"
msgstr ""
#: modules/snapshot/templates/snapshot_delete_selected.html:17
-#: modules/snapshot/templates/snapshot_manage.html:27
+#: modules/snapshot/templates/snapshot_manage.html:32
#: modules/snapshot/templates/snapshot_rollback.html:25
msgid "Number"
msgstr ""
#: modules/snapshot/templates/snapshot_delete_selected.html:18
-#: modules/snapshot/templates/snapshot_manage.html:28
+#: modules/snapshot/templates/snapshot_manage.html:33
#: modules/snapshot/templates/snapshot_rollback.html:26
msgid "Date"
msgstr ""
#: modules/snapshot/templates/snapshot_delete_selected.html:42
-#: modules/snapshot/templates/snapshot_manage.html:20
+#: modules/snapshot/templates/snapshot_manage.html:25
#: modules/snapshot/views.py:197
msgid "Delete Snapshots"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:17
+#: modules/snapshot/templates/snapshot_manage.html:22
msgid "Create Snapshot"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:30
+#: modules/snapshot/templates/snapshot_manage.html:35
msgid "Rollback"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:40
+#: modules/snapshot/templates/snapshot_manage.html:45
msgid "will be used at next boot"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:45
+#: modules/snapshot/templates/snapshot_manage.html:50
msgid "in use"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:54
+#: modules/snapshot/templates/snapshot_manage.html:59
#, python-format
msgid "Rollback to snapshot #%(number)s"
msgstr ""
@@ -7273,27 +7336,27 @@ msgstr ""
msgid "Tor"
msgstr ""
-#: modules/tor/__init__.py:78
+#: modules/tor/__init__.py:77
msgid "Tor Onion Service"
msgstr ""
-#: modules/tor/__init__.py:82
+#: modules/tor/__init__.py:81
msgid "Tor Bridge Relay"
msgstr ""
-#: modules/tor/__init__.py:140
+#: modules/tor/__init__.py:139
msgid "Tor relay port available"
msgstr ""
-#: modules/tor/__init__.py:152
+#: modules/tor/__init__.py:151
msgid "Obfs3 transport registered"
msgstr ""
-#: modules/tor/__init__.py:163
+#: modules/tor/__init__.py:162
msgid "Obfs4 transport registered"
msgstr ""
-#: modules/tor/__init__.py:176
+#: modules/tor/__init__.py:175
msgid "Onion service is version 3"
msgstr ""
@@ -7383,7 +7446,7 @@ msgstr ""
msgid "Anonymity network"
msgstr ""
-#: modules/tor/templates/tor.html:18
+#: modules/tor/templates/tor.html:23
msgid "Onion Service"
msgstr ""
@@ -7944,39 +8007,39 @@ msgstr ""
msgid "Edit user %(username)s"
msgstr ""
-#: modules/users/templates/users_update.html:12
+#: modules/users/templates/users_update.html:17
#, python-format
msgid "Edit User %(username)s"
msgstr ""
-#: modules/users/templates/users_update.html:20
+#: modules/users/templates/users_update.html:25
#, python-format
msgid ""
"Use the change password form to "
"change the password."
msgstr ""
-#: modules/users/templates/users_update.html:32
+#: modules/users/templates/users_update.html:37
#: templates/language-selection.html:17
msgid "Save Changes"
msgstr ""
-#: modules/users/templates/users_update.html:41
+#: modules/users/templates/users_update.html:46
#, python-format
msgid "Delete user %(username)s and all the user's files?"
msgstr ""
-#: modules/users/templates/users_update.html:51
+#: modules/users/templates/users_update.html:56
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
msgstr ""
-#: modules/users/templates/users_update.html:60
+#: modules/users/templates/users_update.html:65
msgid "Delete user and files"
msgstr ""
-#: modules/users/templates/users_update.html:63
+#: modules/users/templates/users_update.html:68
msgid "Cancel"
msgstr ""
@@ -8599,11 +8662,11 @@ msgstr ""
msgid "Service %(service_name)s is not running."
msgstr ""
-#: templates/apps.html:29
+#: templates/apps.html:33
msgid "Search with tags"
msgstr ""
-#: templates/apps.html:42
+#: templates/apps.html:46
msgid "Clear all tags"
msgstr ""
@@ -8613,35 +8676,35 @@ msgid ""
"is free software that lets you install and manage server apps with ease."
msgstr ""
-#: templates/base.html:116
+#: templates/base.html:118
msgid " Home"
msgstr ""
-#: templates/base.html:124
+#: templates/base.html:126
msgid " Apps"
msgstr ""
-#: templates/base.html:133
+#: templates/base.html:135
msgid " System"
msgstr ""
-#: templates/base.html:172 templates/base.html:173
+#: templates/base.html:174 templates/base.html:175
msgid "Change password"
msgstr ""
-#: templates/base.html:186 templates/base.html:187
+#: templates/base.html:188 templates/base.html:189
msgid "Shut down"
msgstr ""
-#: templates/base.html:197 templates/base.html:235
+#: templates/base.html:199 templates/base.html:237
msgid "Log out"
msgstr ""
-#: templates/base.html:206 templates/base.html:209
+#: templates/base.html:208 templates/base.html:211
msgid "Select language"
msgstr ""
-#: templates/base.html:224 templates/base.html:226
+#: templates/base.html:226 templates/base.html:228
msgid "Log in"
msgstr ""
@@ -8841,19 +8904,19 @@ msgid ""
"installed freshly again."
msgstr ""
-#: views.py:85
+#: views.py:84
msgid "Here"
msgstr ""
-#: views.py:374
+#: views.py:376
msgid "Setting unchanged"
msgstr ""
-#: views.py:609
+#: views.py:610
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""
-#: web_framework.py:114
+#: web_framework.py:122
msgid "Gujarati"
msgstr ""
diff --git a/plinth/locale/sl/LC_MESSAGES/django.po b/plinth/locale/sl/LC_MESSAGES/django.po
index ae88ded3e..eb7953e0b 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-12-30 20:05-0500\n"
+"POT-Creation-Date: 2025-01-13 20:33-0500\n"
"PO-Revision-Date: 2022-09-14 17:19+0000\n"
"Last-Translator: ikmaak
SSH key-based authentication is not yet "
"possible."
@@ -459,20 +461,20 @@ msgstr ""
"Geslo strežnika SSH.
Preverjanje pristnosti na osnovi ključev SSH še "
"ni omogočeno."
-#: modules/backups/forms.py:273
+#: modules/backups/forms.py:275
#, fuzzy
#| msgid "Create remote backup repository"
msgid "Remote backup repository already exists."
msgstr "Ustvari oddaljeno skladišče za rezervne kopije"
-#: modules/backups/forms.py:279
+#: modules/backups/forms.py:281
msgid "Select verified SSH public key"
msgstr ""
#: modules/backups/manifest.py:14
#: modules/backups/templates/backups_repository.html:92
#: modules/backups/templates/backups_restore.html:27
-#: modules/backups/views.py:240 modules/snapshot/manifest.py:14
+#: modules/backups/views.py:238 modules/snapshot/manifest.py:14
#: templates/toolbar.html:44 templates/toolbar.html:45
msgid "Restore"
msgstr "Obnovitev"
@@ -552,16 +554,20 @@ msgstr ""
msgid "Backup system is busy with another operation."
msgstr ""
+#: modules/backups/privileged.py:92
+msgid "Not enough space left on the disk or remote location."
+msgstr ""
+
#: modules/backups/repository.py:94
msgid "Existing repository is not encrypted."
msgstr ""
-#: modules/backups/repository.py:266
+#: modules/backups/repository.py:289
#, python-brace-format
msgid "{box_name} storage"
msgstr "Shramba {box_name}"
-#: modules/backups/templates/backups.html:17 modules/backups/views.py:125
+#: modules/backups/templates/backups.html:17 modules/backups/views.py:124
#, fuzzy
#| msgid "Create remote backup repository"
msgid "Create a new backup"
@@ -619,10 +625,9 @@ msgstr "Obstoječe rezervne kopije"
#: modules/help/templates/statuslog.html:24
#: modules/kiwix/templates/kiwix-add-package.html:26
#: modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:28
-#: modules/matrixsynapse/templates/matrix-synapse.html:76
+#: modules/matrixsynapse/templates/matrix-synapse.html:81
#: modules/names/templates/names.html:128
#: modules/networks/templates/connection_show.html:24
-#: modules/nextcloud/__init__.py:48
#: modules/pagekite/templates/pagekite_custom_services.html:16
#: modules/power/templates/power_busy_warning.html:11
#: modules/snapshot/templates/snapshot_not_supported.html:13
@@ -798,123 +803,123 @@ msgstr ""
msgid "Verify Host"
msgstr ""
-#: modules/backups/views.py:69
+#: modules/backups/views.py:68
msgid "Backup schedule updated."
msgstr ""
-#: modules/backups/views.py:88
+#: modules/backups/views.py:87
#, fuzzy
#| msgid "Create"
msgid "Schedule Backups"
msgstr "Ustvari"
-#: modules/backups/views.py:150
+#: modules/backups/views.py:148
msgid "Archive created."
msgstr "Arhiv je ustvarjen."
-#: modules/backups/views.py:162
+#: modules/backups/views.py:160
msgid "Delete Archive"
msgstr "Izbriši arhiv"
-#: modules/backups/views.py:175
+#: modules/backups/views.py:173
msgid "Archive deleted."
msgstr "Arhiv je izbrisan."
-#: modules/backups/views.py:189
+#: modules/backups/views.py:187
msgid "Upload and restore a backup"
msgstr ""
-#: modules/backups/views.py:218
+#: modules/backups/views.py:216
#, fuzzy
#| msgid "Upload file"
msgid "Upload successful."
msgstr "Nalaganje datoteke"
-#: modules/backups/views.py:256
+#: modules/backups/views.py:254
msgid "No backup file found."
msgstr "Ne najdem datoteke z rezervno kopijo."
-#: modules/backups/views.py:264
+#: modules/backups/views.py:262
msgid "Restore from uploaded file"
msgstr "Obnavljanje iz naložene datoteke"
-#: modules/backups/views.py:278 modules/backups/views.py:299
+#: modules/backups/views.py:276 modules/backups/views.py:297
msgid "Restored files from backup."
msgstr "Datoteke iz rezervne kopije so obnovljene."
-#: modules/backups/views.py:329
+#: modules/backups/views.py:327
msgid "No additional disks available to add a repository."
msgstr ""
-#: modules/backups/views.py:337
+#: modules/backups/views.py:335
#, fuzzy
#| msgid "Create remote backup repository"
msgid "Create backup repository"
msgstr "Ustvari oddaljeno skladišče za rezervne kopije"
-#: modules/backups/views.py:352
+#: modules/backups/views.py:350
#, fuzzy
#| msgid "Added new repository."
msgid "Added new repository."
msgstr "Dodano je novo skladišče."
-#: modules/backups/views.py:366
+#: modules/backups/views.py:364
msgid "Create remote backup repository"
msgstr "Ustvari oddaljeno skladišče za rezervne kopije"
-#: modules/backups/views.py:388
+#: modules/backups/views.py:386
#, fuzzy
#| msgid "Added new repository."
msgid "Added new remote SSH repository."
msgstr "Dodano je novo skladišče."
-#: modules/backups/views.py:410
+#: modules/backups/views.py:408
msgid "Verify SSH hostkey"
msgstr ""
-#: modules/backups/views.py:436
+#: modules/backups/views.py:434
msgid "SSH host already verified."
msgstr ""
-#: modules/backups/views.py:447
+#: modules/backups/views.py:445
msgid "SSH host verified."
msgstr ""
-#: modules/backups/views.py:463
+#: modules/backups/views.py:461
msgid "SSH host public key could not be verified."
msgstr ""
-#: modules/backups/views.py:465
+#: modules/backups/views.py:463
msgid "Authentication to remote server failed."
msgstr ""
-#: modules/backups/views.py:467
+#: modules/backups/views.py:465
#, fuzzy
#| msgid "Error installing application: {error}"
msgid "Error establishing connection to server: {}"
msgstr "Napaka ob nameščanju aplikacije: {error}"
-#: modules/backups/views.py:478
+#: modules/backups/views.py:476
#, fuzzy
#| msgid "Repository not found"
msgid "Repository removed."
msgstr "Ne najdem skladišča"
-#: modules/backups/views.py:492
+#: modules/backups/views.py:490
msgid "Remove Repository"
msgstr "Odstrani skladišče"
-#: modules/backups/views.py:502
+#: modules/backups/views.py:500
#, fuzzy
#| msgid "Repository removed. The remote backup itself was not deleted."
msgid "Repository removed. Backups were not deleted."
msgstr "Skladišče je odstranjeno. Oddaljena rezervna kopija ni izbrisana."
-#: modules/backups/views.py:513
+#: modules/backups/views.py:511
msgid "Unmounting failed!"
msgstr "Odklapljanje ni uspelo!"
-#: modules/backups/views.py:529 modules/backups/views.py:533
+#: modules/backups/views.py:527 modules/backups/views.py:531
msgid "Mounting failed"
msgstr "Priklapljanje ni uspelo"
@@ -1029,7 +1034,7 @@ msgstr ""
msgid "No passwords currently configured."
msgstr ""
-#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:91
+#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:83
#: modules/miniflux/forms.py:14 modules/networks/forms.py:282
#: modules/shadowsocks/forms.py:32 modules/shadowsocksserver/forms.py:37
msgid "Password"
@@ -1160,8 +1165,10 @@ msgstr ""
msgid "Serving Domains"
msgstr ""
-#: modules/bind/templates/bind.html:17 modules/email/templates/email.html:38
-#: modules/ikiwiki/forms.py:12 modules/names/templates/names.html:18
+#: modules/bind/templates/bind.html:17
+#: modules/email/templates/email-dns.html:25
+#: modules/email/templates/email-dns.html:78 modules/ikiwiki/forms.py:12
+#: modules/names/templates/names.html:18
#: modules/networks/templates/connection_show.html:95
#: modules/samba/templates/samba.html:65
#: modules/storage/templates/storage.html:26
@@ -1193,7 +1200,7 @@ msgstr ""
#: modules/minetest/views.py:55 modules/mumble/views.py:37
#: modules/names/views.py:66 modules/names/views.py:95
#: modules/names/views.py:129 modules/pagekite/forms.py:74
-#: modules/privacy/views.py:50 modules/quassel/views.py:29
+#: modules/privacy/views.py:55 modules/quassel/views.py:29
#: modules/roundcube/views.py:32 modules/rssbridge/views.py:31
#: modules/shadowsocks/views.py:52 modules/shadowsocksserver/views.py:48
#: modules/ssh/views.py:62 modules/transmission/views.py:43
@@ -1814,7 +1821,7 @@ msgid "Test"
msgstr ""
#: modules/diagnostics/templates/diagnostics_results.html:12
-#: modules/dynamicdns/templates/dynamicdns.html:20
+#: modules/dynamicdns/templates/dynamicdns.html:25
msgid "Result"
msgstr ""
@@ -1827,7 +1834,7 @@ msgstr ""
msgid "App {app_id} is not installed, cannot repair"
msgstr ""
-#: modules/dynamicdns/__init__.py:28
+#: modules/dynamicdns/__init__.py:29
#, python-brace-format
msgid ""
"If your Internet provider changes your IP address periodically (i.e. every "
@@ -1835,7 +1842,7 @@ msgid ""
"prevent others from finding services which are provided by this {box_name}."
msgstr ""
-#: modules/dynamicdns/__init__.py:32
+#: modules/dynamicdns/__init__.py:33
msgid ""
"The solution is to assign a DNS name to your IP address and update the DNS "
"name every time your IP is changed by your Internet provider. Dynamic DNS "
@@ -1846,7 +1853,7 @@ msgid ""
"IP address."
msgstr ""
-#: modules/dynamicdns/__init__.py:40
+#: modules/dynamicdns/__init__.py:41
msgid ""
"If you are looking for a free dynamic DNS account, you may find a free "
"GnuDIP service at ddns."
@@ -1854,11 +1861,17 @@ msgid ""
"href='http://freedns.afraid.org/' target='_blank'>freedns.afraid.org."
msgstr ""
-#: modules/dynamicdns/__init__.py:61
+#: modules/dynamicdns/__init__.py:46
+msgid ""
+"This service uses an external service to lookup public IP address. This can "
+"be configured in the privacy app."
+msgstr ""
+
+#: modules/dynamicdns/__init__.py:64
msgid "Dynamic DNS Client"
msgstr ""
-#: modules/dynamicdns/__init__.py:75
+#: modules/dynamicdns/__init__.py:78
#, fuzzy
#| msgid "Domain Name"
msgid "Dynamic Domain Name"
@@ -1904,84 +1917,71 @@ msgid "Leave this field empty if you want to keep your current password."
msgstr ""
#: modules/dynamicdns/forms.py:43
-#, python-brace-format
-msgid ""
-"Optional Value. If your {box_name} is not connected directly to the Internet "
-"(i.e. connected to a NAT router) this URL is used to determine the real IP "
-"address. The URL should simply return the IP where the client comes from "
-"(example: https://ddns.freedombox.org/ip/)."
-msgstr ""
-
-#: modules/dynamicdns/forms.py:51
msgid "The username that was used when the account was created."
msgstr ""
-#: modules/dynamicdns/forms.py:54
+#: modules/dynamicdns/forms.py:46
msgid "GnuDIP"
msgstr "GnuDIP"
-#: modules/dynamicdns/forms.py:57
+#: modules/dynamicdns/forms.py:49
msgid "Other update URL"
msgstr ""
-#: modules/dynamicdns/forms.py:59
+#: modules/dynamicdns/forms.py:51
msgid "Service Type"
msgstr ""
-#: modules/dynamicdns/forms.py:64
+#: modules/dynamicdns/forms.py:56
msgid "GnuDIP Server Address"
msgstr ""
-#: modules/dynamicdns/forms.py:67
+#: modules/dynamicdns/forms.py:59
msgid "Invalid server name"
msgstr ""
-#: modules/dynamicdns/forms.py:70
+#: modules/dynamicdns/forms.py:62
msgid "Update URL"
msgstr ""
-#: modules/dynamicdns/forms.py:74
+#: modules/dynamicdns/forms.py:66
msgid "Accept all SSL certificates"
msgstr ""
-#: modules/dynamicdns/forms.py:78
+#: modules/dynamicdns/forms.py:70
msgid "Use HTTP basic authentication"
msgstr ""
-#: modules/dynamicdns/forms.py:82 modules/names/__init__.py:68
+#: modules/dynamicdns/forms.py:74 modules/names/__init__.py:68
#: modules/names/forms.py:106 modules/names/templates/names.html:19
msgid "Domain Name"
msgstr "Ime domene"
-#: modules/dynamicdns/forms.py:85 modules/names/forms.py:99
+#: modules/dynamicdns/forms.py:77 modules/names/forms.py:99
#: modules/names/forms.py:117
msgid "Invalid domain name"
msgstr "Neveljavno ime domene"
-#: modules/dynamicdns/forms.py:88 modules/miniflux/forms.py:11
+#: modules/dynamicdns/forms.py:80 modules/miniflux/forms.py:11
#: modules/networks/forms.py:281 modules/users/forms.py:130
msgid "Username"
msgstr ""
-#: modules/dynamicdns/forms.py:95 modules/networks/forms.py:284
+#: modules/dynamicdns/forms.py:87 modules/networks/forms.py:284
msgid "Show password"
msgstr ""
-#: modules/dynamicdns/forms.py:99
-msgid "URL to look up public IP"
-msgstr ""
-
-#: modules/dynamicdns/forms.py:104
+#: modules/dynamicdns/forms.py:91
msgid "Use IPv6 instead of IPv4"
msgstr ""
-#: modules/dynamicdns/forms.py:123
+#: modules/dynamicdns/forms.py:110
msgid "This field is required."
msgstr ""
#: modules/dynamicdns/manifest.py:17
-#: modules/dynamicdns/templates/dynamicdns.html:18
-#: modules/email/templates/email.html:35
+#: modules/dynamicdns/templates/dynamicdns.html:23
+#: modules/email/templates/email-dns.html:22
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64
msgid "Domain"
@@ -1995,37 +1995,37 @@ msgstr ""
msgid "Needs public IP"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:11
-#: modules/ejabberd/templates/ejabberd.html:13 modules/firewall/manifest.py:10
+#: modules/dynamicdns/templates/dynamicdns.html:16
+#: modules/ejabberd/templates/ejabberd.html:18 modules/firewall/manifest.py:10
#: modules/firewall/templates/firewall.html:16
#: modules/firewall/templates/firewall.html:22
#: modules/letsencrypt/templates/letsencrypt.html:17
-#: modules/matrixsynapse/templates/matrix-synapse.html:12
+#: modules/matrixsynapse/templates/matrix-synapse.html:17
#: modules/networks/templates/connection_show.html:258
-#: modules/samba/templates/samba.html:67 modules/tor/templates/tor.html:19
+#: modules/samba/templates/samba.html:67 modules/tor/templates/tor.html:24
#: modules/upgrades/templates/upgrades_configure.html:14
#: modules/wireguard/templates/wireguard_show_client.html:48
#: modules/wireguard/templates/wireguard_show_server.html:47
msgid "Status"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:19
+#: modules/dynamicdns/templates/dynamicdns.html:24
msgid "Last update"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:21
+#: modules/dynamicdns/templates/dynamicdns.html:26
msgid "IP Address"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:32
+#: modules/dynamicdns/templates/dynamicdns.html:37
msgid "Success"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:36
+#: modules/dynamicdns/templates/dynamicdns.html:41
msgid "Failed"
msgstr ""
-#: modules/dynamicdns/templates/dynamicdns.html:52
+#: modules/dynamicdns/templates/dynamicdns.html:57
msgid "No status available."
msgstr ""
@@ -2179,7 +2179,7 @@ msgstr ""
msgid "XMPP"
msgstr ""
-#: modules/ejabberd/templates/ejabberd.html:18
+#: modules/ejabberd/templates/ejabberd.html:23
#, python-format
msgid ""
"Your XMPP server domain is set to %(domain_name)s. User IDs will look "
@@ -2187,7 +2187,7 @@ msgid ""
"system Name Services page."
msgstr ""
-#: modules/ejabberd/templates/ejabberd.html:25
+#: modules/ejabberd/templates/ejabberd.html:30
#, python-format
msgid ""
"Your XMPP server domain is not set. You can setup your domain on the system "
@@ -2235,18 +2235,20 @@ msgstr ""
msgid "Postfix/Dovecot"
msgstr "Postfix/Dovecot"
-#: modules/email/__init__.py:83
+#: modules/email/__init__.py:80
+msgid "More emails"
+msgstr ""
+
+#: modules/email/__init__.py:80
+msgid "Same mailbox"
+msgstr ""
+
+#: modules/email/__init__.py:82
#, fuzzy
#| msgid "Create new repository"
msgid "My Email Aliases"
msgstr "Ustvari novo skladišče"
-#: modules/email/__init__.py:84
-#, fuzzy
-#| msgid "Create new repository"
-msgid "Manage Aliases for Mailbox"
-msgstr "Ustvari novo skladišče"
-
#: modules/email/forms.py:25
msgid "Primary domain"
msgstr ""
@@ -2331,45 +2333,94 @@ msgstr "Ustvari oddaljeno skladišče za rezervne kopije"
msgid "Add"
msgstr ""
+#: modules/email/templates/email-dns.html:9
+msgid "DNS Records for domain:"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:12
+msgid ""
+"The following DNS records must be added manually on this domain for the mail "
+"server to work properly for this domain."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:23
+#: modules/email/templates/email-dns.html:77
+msgid "TTL"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:24
+msgid "Class"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:26
+msgid "Priority"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:27
+msgid "Weight"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:28
+#: modules/minetest/templates/minetest.html:18
+msgid "Port"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:29
+#: modules/email/templates/email-dns.html:79
+msgid "Host/Target/Value"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:50
+msgid "Reverse DNS Records for IP Addresses"
+msgstr ""
+
+#: modules/email/templates/email-dns.html:53
+#, python-format
+msgid ""
+"If your %(box_name)s runs on a cloud service infrastructure, you should "
+"configure "
+"Reverse DNS lookup. This isn't mandatory, however, it greatly improves "
+"email deliverability. Reverse DNS isn't configured where your regular DNS "
+"is. You should look for it in the settings of your VPS/ISP. Some providers "
+"preconfigure the IP address part for you and you only have to set the domain "
+"part. Only one of your domains can have Revese DNS lookup configured unless "
+"you have multiple public IP addresses."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:66
+msgid ""
+"An external service is used to lookup public IP address to show in the "
+"following section. This can be configured in the privacy app."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:76
+#, fuzzy
+#| msgid "Hostname"
+msgid "Host"
+msgstr "Ime gostitelja"
+
#: modules/email/templates/email.html:10
#, fuzzy
#| msgid "Create new repository"
msgid "Manage Spam"
msgstr "Ustvari novo skladišče"
-#: modules/email/templates/email.html:22
-msgid "DNS Records"
-msgstr ""
+#: modules/email/templates/email.html:20 modules/names/manifest.py:11
+#: modules/names/templates/names.html:12
+#, fuzzy
+#| msgid "Domain Name"
+msgid "Domains"
+msgstr "Ime domene"
-#: modules/email/templates/email.html:25
+#: modules/email/templates/email.html:23
msgid ""
-"The following DNS records must be added manually on your primary domain for "
-"the mail server to work properly."
+"The following domains are configured. View details to see the list of DNS "
+"entries to be made for the domain."
msgstr ""
-#: modules/email/templates/email.html:36
-msgid "TTL"
-msgstr ""
-
-#: modules/email/templates/email.html:37
-msgid "Class"
-msgstr ""
-
-#: modules/email/templates/email.html:39
-msgid "Priority"
-msgstr ""
-
-#: modules/email/templates/email.html:40
-msgid "Weight"
-msgstr ""
-
-#: modules/email/templates/email.html:41
-#: modules/minetest/templates/minetest.html:18
-msgid "Port"
-msgstr ""
-
-#: modules/email/templates/email.html:42
-msgid "Host/Target/Value"
+#: modules/email/templates/email.html:35
+#, python-format
+msgid "View domain: %(domain)s"
msgstr ""
#: modules/featherwiki/__init__.py:25
@@ -2632,7 +2683,7 @@ msgstr ""
msgid "Port {name} ({details}) unavailable for external networks"
msgstr ""
-#: modules/firewall/manifest.py:10 modules/tor/templates/tor.html:20
+#: modules/firewall/manifest.py:10 modules/tor/templates/tor.html:25
msgid "Ports"
msgstr ""
@@ -2984,9 +3035,9 @@ msgstr ""
msgid "Contribute"
msgstr ""
-#: modules/help/__init__.py:53 templates/base.html:215 templates/base.html:218
+#: modules/help/__init__.py:53 templates/base.html:217 templates/base.html:220
#: templates/help-menu.html:46 templates/help-menu.html:47
-#: templates/index.html:98
+#: templates/index.html:96
msgid "About"
msgstr ""
@@ -3119,7 +3170,7 @@ msgstr ""
#: modules/help/templates/help_contribute.html:42
#: modules/power/templates/power_restart.html:27
-#: modules/power/templates/power_shutdown.html:26 templates/app-header.html:68
+#: modules/power/templates/power_shutdown.html:26 templates/app-header.html:65
msgid "Learn more..."
msgstr ""
@@ -3442,7 +3493,7 @@ msgid "Web conference"
msgstr ""
#: modules/janus/templates/janus_video_room.html:205
-#: modules/jsxc/templates/jsxc_launch.html:117 templates/base.html:271
+#: modules/jsxc/templates/jsxc_launch.html:117 templates/base.html:273
msgid "JavaScript license information"
msgstr ""
@@ -3820,7 +3871,7 @@ msgid ""
"least one domain to be able to use Matrix Synapse."
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:15
+#: modules/matrixsynapse/templates/matrix-synapse.html:20
#, python-format
msgid ""
"The Matrix server domain is set to %(domain_name)s. User IDs will "
@@ -3828,45 +3879,45 @@ msgid ""
"the initial setup is currently not supported."
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:22
+#: modules/matrixsynapse/templates/matrix-synapse.html:27
msgid ""
"New users can be registered from any client if public registration is "
"enabled."
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:29
+#: modules/matrixsynapse/templates/matrix-synapse.html:34
msgid ""
"New users must use one of the following tokens for verification during "
"account registration:"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:38
+#: modules/matrixsynapse/templates/matrix-synapse.html:43
msgid "Registration Token"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:39
+#: modules/matrixsynapse/templates/matrix-synapse.html:44
msgid "Uses Allowed"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:40
+#: modules/matrixsynapse/templates/matrix-synapse.html:45
#, fuzzy
#| msgid "Server Administration"
msgid "Pending Registrations"
msgstr "Skrbništvo strežnika"
-#: modules/matrixsynapse/templates/matrix-synapse.html:41
+#: modules/matrixsynapse/templates/matrix-synapse.html:46
msgid "Completed Registrations"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:42
+#: modules/matrixsynapse/templates/matrix-synapse.html:47
msgid "Expiry Time"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:51
+#: modules/matrixsynapse/templates/matrix-synapse.html:56
msgid "Unlimited"
msgstr ""
-#: modules/matrixsynapse/templates/matrix-synapse.html:80
+#: modules/matrixsynapse/templates/matrix-synapse.html:85
#, python-format
msgid ""
"The configured domain name is using a self-signed certificate. Federation "
@@ -4301,23 +4352,27 @@ msgstr ""
msgid "An error occurred during password reset: {error}."
msgstr ""
-#: modules/mumble/__init__.py:25
+#: modules/mumble/__init__.py:27
msgid ""
"Mumble is an open source, low-latency, encrypted, high quality voice chat "
"software."
msgstr ""
-#: modules/mumble/__init__.py:27
+#: modules/mumble/__init__.py:29
msgid ""
"You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your "
"desktop and mobile devices are available."
msgstr ""
-#: modules/mumble/__init__.py:45 modules/mumble/manifest.py:9
+#: modules/mumble/__init__.py:47 modules/mumble/manifest.py:9
msgid "Mumble"
msgstr ""
+#: modules/mumble/__init__.py:158
+msgid "Mumble server is configured"
+msgstr ""
+
#: modules/mumble/forms.py:30
#, fuzzy
#| msgid "SSH server password"
@@ -4454,12 +4509,6 @@ msgstr ""
"presegati 63 znakov. Skupna dolžina imena domene ne sme presegati 253 "
"znakov."
-#: modules/names/manifest.py:11 modules/names/templates/names.html:12
-#, fuzzy
-#| msgid "Domain Name"
-msgid "Domains"
-msgstr "Ime domene"
-
#: modules/names/manifest.py:13
msgid "DNS Resolution"
msgstr ""
@@ -4968,7 +5017,7 @@ msgstr ""
#: modules/networks/templates/connection_show.html:40
#: modules/wireguard/templates/wireguard_show_client.html:72
#: modules/wireguard/templates/wireguard_show_server.html:73
-#: templates/base.html:165 templates/base.html:166
+#: templates/base.html:167 templates/base.html:168
msgid "Edit"
msgstr ""
@@ -5021,7 +5070,7 @@ msgstr ""
#: modules/networks/templates/connection_show.html:107
#: modules/snapshot/templates/snapshot_delete_selected.html:19
-#: modules/snapshot/templates/snapshot_manage.html:29
+#: modules/snapshot/templates/snapshot_manage.html:34
#: modules/snapshot/templates/snapshot_rollback.html:27
msgid "Description"
msgstr ""
@@ -5099,8 +5148,8 @@ msgstr ""
#: modules/networks/templates/connection_show.html:264
#: modules/networks/templates/connections_fields_privacy.html:15
-#: modules/openvpn/manifest.py:60 modules/privacy/__init__.py:32
-#: modules/privacy/__init__.py:72 modules/wireguard/manifest.py:45
+#: modules/openvpn/manifest.py:60 modules/privacy/__init__.py:38
+#: modules/privacy/__init__.py:77 modules/wireguard/manifest.py:45
msgid "Privacy"
msgstr ""
@@ -5184,7 +5233,7 @@ msgstr ""
msgid "Computer"
msgstr ""
-#: modules/networks/templates/connections_edit.html:19
+#: modules/networks/templates/connections_edit.html:24
#: modules/networks/views.py:253 modules/networks/views.py:341
msgid "Edit Connection"
msgstr ""
@@ -5195,7 +5244,7 @@ msgid "Error:"
msgstr ""
#: modules/networks/templates/connections_fields.html:20
-#: modules/users/templates/users_update.html:46 templates/messages.html:30
+#: modules/users/templates/users_update.html:51 templates/messages.html:30
msgid "Close"
msgstr ""
@@ -5289,7 +5338,7 @@ msgstr ""
#: modules/networks/templates/network_topology_update.html:18
#: modules/networks/templates/router_configuration_update.html:19
#: modules/pagekite/templates/pagekite_custom_services.html:33
-#: modules/sharing/templates/sharing_add_edit.html:20 templates/form.html:19
+#: modules/sharing/templates/sharing_add_edit.html:25 templates/form.html:19
msgid "Submit"
msgstr "Oddaj"
@@ -5695,11 +5744,7 @@ msgid ""
"performed following an independent cycle."
msgstr ""
-#: modules/nextcloud/__init__.py:48
-msgid "This app is experimental."
-msgstr ""
-
-#: modules/nextcloud/__init__.py:66 modules/nextcloud/manifest.py:11
+#: modules/nextcloud/__init__.py:65 modules/nextcloud/manifest.py:11
#: modules/nextcloud/manifest.py:18
msgid "Nextcloud"
msgstr ""
@@ -5873,7 +5918,7 @@ msgstr ""
msgid "PageKite"
msgstr ""
-#: modules/pagekite/__init__.py:73
+#: modules/pagekite/__init__.py:72
msgid "PageKite Domain"
msgstr ""
@@ -6052,8 +6097,8 @@ msgstr ""
msgid "Shutdown"
msgstr ""
-#: modules/power/templates/power.html:15 templates/base.html:180
-#: templates/base.html:181
+#: modules/power/templates/power.html:15 templates/base.html:182
+#: templates/base.html:183
msgid "Restart"
msgstr ""
@@ -6089,23 +6134,33 @@ msgstr ""
msgid "Shut Down Now"
msgstr ""
-#: modules/privacy/__init__.py:15
+#: modules/privacy/__init__.py:21
msgid "Manage system-wide privacy settings."
msgstr ""
-#: modules/privacy/__init__.py:70
+#: modules/privacy/__init__.py:75
msgid "Please update privacy settings to match your preferences."
msgstr ""
-#: modules/privacy/__init__.py:75
+#: modules/privacy/__init__.py:80
msgid "Review privacy setting"
msgstr ""
-#: modules/privacy/forms.py:16
+#: modules/privacy/forms.py:17
+#, python-brace-format
+msgid ""
+"Optional Value. This URL is used to determine the publicly visible IP "
+"address of your {box_name}. The URL should simply return the IPv4 or IPv6 "
+"address where the client request comes from. Default is to use the service "
+"provided by the FreedomBox Foundation at https://ddns.freedombox.org/ip/. If "
+"empty, lookups are disabled and some functionality will fail."
+msgstr ""
+
+#: modules/privacy/forms.py:25
msgid "Periodically submit a list of apps used (suggested)"
msgstr ""
-#: modules/privacy/forms.py:18
+#: modules/privacy/forms.py:27
#, python-brace-format
msgid ""
"Help Debian/{box_name} developers by participating in the Popularity Contest "
@@ -6116,11 +6171,11 @@ msgid ""
"network for additional anonymity if Tor app is enabled."
msgstr ""
-#: modules/privacy/forms.py:28
+#: modules/privacy/forms.py:37
msgid "Allow using fallback DNS servers"
msgstr ""
-#: modules/privacy/forms.py:30
+#: modules/privacy/forms.py:39
msgid ""
"Use well-known public DNS servers to resolve domain names in unusual "
"circumstances where no DNS servers are known but internet connectivity is "
@@ -6128,10 +6183,20 @@ msgid ""
"and reliable."
msgstr ""
+#: modules/privacy/forms.py:45
+msgid "URL to look up public IP address"
+msgstr ""
+
#: modules/privacy/manifest.py:10
msgid "Usage reporting"
msgstr ""
+#: modules/privacy/manifest.py:10
+#, fuzzy
+#| msgid "Service Discovery"
+msgid "External services"
+msgstr "Odkrivanje storitev"
+
#: modules/privacy/manifest.py:10
msgid "Fallback DNS"
msgstr ""
@@ -7068,40 +7133,40 @@ msgid "Delete the following snapshots permanently?"
msgstr ""
#: modules/snapshot/templates/snapshot_delete_selected.html:17
-#: modules/snapshot/templates/snapshot_manage.html:27
+#: modules/snapshot/templates/snapshot_manage.html:32
#: modules/snapshot/templates/snapshot_rollback.html:25
msgid "Number"
msgstr ""
#: modules/snapshot/templates/snapshot_delete_selected.html:18
-#: modules/snapshot/templates/snapshot_manage.html:28
+#: modules/snapshot/templates/snapshot_manage.html:33
#: modules/snapshot/templates/snapshot_rollback.html:26
msgid "Date"
msgstr ""
#: modules/snapshot/templates/snapshot_delete_selected.html:42
-#: modules/snapshot/templates/snapshot_manage.html:20
+#: modules/snapshot/templates/snapshot_manage.html:25
#: modules/snapshot/views.py:197
msgid "Delete Snapshots"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:17
+#: modules/snapshot/templates/snapshot_manage.html:22
msgid "Create Snapshot"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:30
+#: modules/snapshot/templates/snapshot_manage.html:35
msgid "Rollback"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:40
+#: modules/snapshot/templates/snapshot_manage.html:45
msgid "will be used at next boot"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:45
+#: modules/snapshot/templates/snapshot_manage.html:50
msgid "in use"
msgstr ""
-#: modules/snapshot/templates/snapshot_manage.html:54
+#: modules/snapshot/templates/snapshot_manage.html:59
#, python-format
msgid "Rollback to snapshot #%(number)s"
msgstr ""
@@ -7644,27 +7709,27 @@ msgstr ""
msgid "Tor"
msgstr ""
-#: modules/tor/__init__.py:78
+#: modules/tor/__init__.py:77
msgid "Tor Onion Service"
msgstr ""
-#: modules/tor/__init__.py:82
+#: modules/tor/__init__.py:81
msgid "Tor Bridge Relay"
msgstr ""
-#: modules/tor/__init__.py:140
+#: modules/tor/__init__.py:139
msgid "Tor relay port available"
msgstr ""
-#: modules/tor/__init__.py:152
+#: modules/tor/__init__.py:151
msgid "Obfs3 transport registered"
msgstr ""
-#: modules/tor/__init__.py:163
+#: modules/tor/__init__.py:162
msgid "Obfs4 transport registered"
msgstr ""
-#: modules/tor/__init__.py:176
+#: modules/tor/__init__.py:175
msgid "Onion service is version 3"
msgstr ""
@@ -7756,7 +7821,7 @@ msgstr ""
msgid "Anonymity network"
msgstr ""
-#: modules/tor/templates/tor.html:18
+#: modules/tor/templates/tor.html:23
msgid "Onion Service"
msgstr ""
@@ -8356,41 +8421,41 @@ msgstr ""
msgid "Edit user %(username)s"
msgstr ""
-#: modules/users/templates/users_update.html:12
+#: modules/users/templates/users_update.html:17
#, python-format
msgid "Edit User %(username)s"
msgstr ""
-#: modules/users/templates/users_update.html:20
+#: modules/users/templates/users_update.html:25
#, python-format
msgid ""
"Use the change password form to "
"change the password."
msgstr ""
-#: modules/users/templates/users_update.html:32
+#: modules/users/templates/users_update.html:37
#: templates/language-selection.html:17
msgid "Save Changes"
msgstr ""
-#: modules/users/templates/users_update.html:41
+#: modules/users/templates/users_update.html:46
#, python-format
msgid "Delete user %(username)s and all the user's files?"
msgstr ""
-#: modules/users/templates/users_update.html:51
+#: modules/users/templates/users_update.html:56
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
msgstr ""
-#: modules/users/templates/users_update.html:60
+#: modules/users/templates/users_update.html:65
#, fuzzy
#| msgid "Delete Archive"
msgid "Delete user and files"
msgstr "Izbriši arhiv"
-#: modules/users/templates/users_update.html:63
+#: modules/users/templates/users_update.html:68
msgid "Cancel"
msgstr "Prekliči"
@@ -9063,11 +9128,11 @@ msgstr ""
msgid "Service %(service_name)s is not running."
msgstr ""
-#: templates/apps.html:29
+#: templates/apps.html:33
msgid "Search with tags"
msgstr ""
-#: templates/apps.html:42
+#: templates/apps.html:46
msgid "Clear all tags"
msgstr ""
@@ -9077,35 +9142,35 @@ msgid ""
"is free software that lets you install and manage server apps with ease."
msgstr ""
-#: templates/base.html:116
+#: templates/base.html:118
msgid " Home"
msgstr ""
-#: templates/base.html:124
+#: templates/base.html:126
msgid " Apps"
msgstr ""
-#: templates/base.html:133
+#: templates/base.html:135
msgid " System"
msgstr ""
-#: templates/base.html:172 templates/base.html:173
+#: templates/base.html:174 templates/base.html:175
msgid "Change password"
msgstr ""
-#: templates/base.html:186 templates/base.html:187
+#: templates/base.html:188 templates/base.html:189
msgid "Shut down"
msgstr ""
-#: templates/base.html:197 templates/base.html:235
+#: templates/base.html:199 templates/base.html:237
msgid "Log out"
msgstr ""
-#: templates/base.html:206 templates/base.html:209
+#: templates/base.html:208 templates/base.html:211
msgid "Select language"
msgstr ""
-#: templates/base.html:224 templates/base.html:226
+#: templates/base.html:226 templates/base.html:228
msgid "Log in"
msgstr ""
@@ -9312,23 +9377,28 @@ msgid ""
"installed freshly again."
msgstr ""
-#: views.py:85
+#: views.py:84
msgid "Here"
msgstr ""
-#: views.py:374
+#: views.py:376
msgid "Setting unchanged"
msgstr ""
-#: views.py:609
+#: views.py:610
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""
-#: web_framework.py:114
+#: web_framework.py:122
msgid "Gujarati"
msgstr ""
+#, fuzzy
+#~| msgid "Create new repository"
+#~ msgid "Manage Aliases for Mailbox"
+#~ msgstr "Ustvari novo skladišče"
+
#~ msgid "Domain Name Server"
#~ msgstr "Strežnik z imenom domene"
diff --git a/plinth/locale/sq/LC_MESSAGES/django.po b/plinth/locale/sq/LC_MESSAGES/django.po
index b338f79d2..ce55aa909 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-12-30 20:05-0500\n"
+"POT-Creation-Date: 2025-01-13 20:33-0500\n"
"PO-Revision-Date: 2025-01-01 08:00+0000\n"
"Last-Translator: Besnik Bleta
SSH key-based authentication is not yet "
"possible."
@@ -460,18 +462,18 @@ msgstr ""
"Fjalëkalim i Shërbyesit SSH.
Mirëfilltësimi SSH me bazë kyçe s’është ende "
"i mundur."
-#: modules/backups/forms.py:273
+#: modules/backups/forms.py:275
msgid "Remote backup repository already exists."
msgstr "Depoja e largët e kopjeruajtjeve ekziston tashmë."
-#: modules/backups/forms.py:279
+#: modules/backups/forms.py:281
msgid "Select verified SSH public key"
msgstr "Përzgjidhni kyç SSH publik të verifikuar"
#: modules/backups/manifest.py:14
#: modules/backups/templates/backups_repository.html:92
#: modules/backups/templates/backups_restore.html:27
-#: modules/backups/views.py:240 modules/snapshot/manifest.py:14
+#: modules/backups/views.py:238 modules/snapshot/manifest.py:14
#: templates/toolbar.html:44 templates/toolbar.html:45
msgid "Restore"
msgstr "Riktheje"
@@ -545,16 +547,20 @@ msgstr "Te depoja s’u gjet arkiv me emrin e dhënë."
msgid "Backup system is busy with another operation."
msgstr "Sistemi i kojeruajtjeve është i zënë me një tjetër veprim."
+#: modules/backups/privileged.py:92
+msgid "Not enough space left on the disk or remote location."
+msgstr ""
+
#: modules/backups/repository.py:94
msgid "Existing repository is not encrypted."
msgstr "Depoja ekzistuese s’është e fshehtëzuar."
-#: modules/backups/repository.py:266
+#: modules/backups/repository.py:289
#, python-brace-format
msgid "{box_name} storage"
msgstr "Depozitë {box_name}"
-#: modules/backups/templates/backups.html:17 modules/backups/views.py:125
+#: modules/backups/templates/backups.html:17 modules/backups/views.py:124
msgid "Create a new backup"
msgstr "Krijoni një kopjeruajtje të re"
@@ -598,10 +604,9 @@ msgstr "Kopjeruajtje Ekzistuese"
#: modules/help/templates/statuslog.html:24
#: modules/kiwix/templates/kiwix-add-package.html:26
#: modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:28
-#: modules/matrixsynapse/templates/matrix-synapse.html:76
+#: modules/matrixsynapse/templates/matrix-synapse.html:81
#: modules/names/templates/names.html:128
#: modules/networks/templates/connection_show.html:24
-#: modules/nextcloud/__init__.py:48
#: modules/pagekite/templates/pagekite_custom_services.html:16
#: modules/power/templates/power_busy_warning.html:11
#: modules/snapshot/templates/snapshot_not_supported.html:13
@@ -763,107 +768,107 @@ msgstr ""
msgid "Verify Host"
msgstr "Verifikoni Strehë"
-#: modules/backups/views.py:69
+#: modules/backups/views.py:68
msgid "Backup schedule updated."
msgstr "Orari i kopjeruajtjeve u përditësua."
-#: modules/backups/views.py:88
+#: modules/backups/views.py:87
msgid "Schedule Backups"
msgstr "Planifikoni Kopjeruajtje"
-#: modules/backups/views.py:150
+#: modules/backups/views.py:148
msgid "Archive created."
msgstr "Arkivi u krijua."
-#: modules/backups/views.py:162
+#: modules/backups/views.py:160
msgid "Delete Archive"
msgstr "Fshini Arkiv"
-#: modules/backups/views.py:175
+#: modules/backups/views.py:173
msgid "Archive deleted."
msgstr "Arkivi u fshi."
-#: modules/backups/views.py:189
+#: modules/backups/views.py:187
msgid "Upload and restore a backup"
msgstr "Ngarkoni dhe riktheni një kopjeruajtje"
-#: modules/backups/views.py:218
+#: modules/backups/views.py:216
msgid "Upload successful."
msgstr "Ngarkim i suksesshëm."
-#: modules/backups/views.py:256
+#: modules/backups/views.py:254
msgid "No backup file found."
msgstr "S’u gjet kartelë kopjeruajtje."
-#: modules/backups/views.py:264
+#: modules/backups/views.py:262
msgid "Restore from uploaded file"
msgstr "Riktheni prej kartele të ngarkuar"
-#: modules/backups/views.py:278 modules/backups/views.py:299
+#: modules/backups/views.py:276 modules/backups/views.py:297
msgid "Restored files from backup."
msgstr "U rikthyen kartela prej kopjeruajtjeje."
-#: modules/backups/views.py:329
+#: modules/backups/views.py:327
msgid "No additional disks available to add a repository."
msgstr "S’ka disqe shtesë ku të shtohet një depo."
-#: modules/backups/views.py:337
+#: modules/backups/views.py:335
msgid "Create backup repository"
msgstr "Krijoni depo kopjeruajtesh"
-#: modules/backups/views.py:352
+#: modules/backups/views.py:350
msgid "Added new repository."
msgstr "U shtua depo e re."
-#: modules/backups/views.py:366
+#: modules/backups/views.py:364
msgid "Create remote backup repository"
msgstr "Krijoni depo të largët kopjeruajtjesh"
-#: modules/backups/views.py:388
+#: modules/backups/views.py:386
msgid "Added new remote SSH repository."
msgstr "Shtoni depo SSH të re të largët."
-#: modules/backups/views.py:410
+#: modules/backups/views.py:408
msgid "Verify SSH hostkey"
msgstr "Verifikoni kyç strehe SSH"
-#: modules/backups/views.py:436
+#: modules/backups/views.py:434
msgid "SSH host already verified."
msgstr "Strehë SSH e verifikuar tashmë."
-#: modules/backups/views.py:447
+#: modules/backups/views.py:445
msgid "SSH host verified."
msgstr "Streha SSH u verifikua."
-#: modules/backups/views.py:463
+#: modules/backups/views.py:461
msgid "SSH host public key could not be verified."
msgstr "S’u verifikua dot kyç publik strehe SSH."
-#: modules/backups/views.py:465
+#: modules/backups/views.py:463
msgid "Authentication to remote server failed."
msgstr "Mirëfilltësimi te shërbyesi i largët dështoi."
-#: modules/backups/views.py:467
+#: modules/backups/views.py:465
msgid "Error establishing connection to server: {}"
msgstr "Gabim gjatë vendosjes së lidhjes me shërbyesin: {}"
-#: modules/backups/views.py:478
+#: modules/backups/views.py:476
msgid "Repository removed."
msgstr "Depoja u hoq."
-#: modules/backups/views.py:492
+#: modules/backups/views.py:490
msgid "Remove Repository"
msgstr "Hiqni Depo"
-#: modules/backups/views.py:502
+#: modules/backups/views.py:500
msgid "Repository removed. Backups were not deleted."
msgstr "Depoja u hoq. Kopjeruajtjet s’u fshinë."
-#: modules/backups/views.py:513
+#: modules/backups/views.py:511
msgid "Unmounting failed!"
msgstr "Çmontimi dështoi!"
-#: modules/backups/views.py:529 modules/backups/views.py:533
+#: modules/backups/views.py:527 modules/backups/views.py:531
msgid "Mounting failed"
msgstr "Montimi dështoi"
@@ -985,7 +990,7 @@ msgstr "Shtoni fjalëkalim"
msgid "No passwords currently configured."
msgstr "S’ka fjalëkalime aktualisht të formësuar."
-#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:91
+#: modules/bepasty/templates/bepasty.html:29 modules/dynamicdns/forms.py:83
#: modules/miniflux/forms.py:14 modules/networks/forms.py:282
#: modules/shadowsocks/forms.py:32 modules/shadowsocksserver/forms.py:37
msgid "Password"
@@ -1111,8 +1116,10 @@ msgstr "Zgjidhës"
msgid "Serving Domains"
msgstr "Shërbim Përkatësish"
-#: modules/bind/templates/bind.html:17 modules/email/templates/email.html:38
-#: modules/ikiwiki/forms.py:12 modules/names/templates/names.html:18
+#: modules/bind/templates/bind.html:17
+#: modules/email/templates/email-dns.html:25
+#: modules/email/templates/email-dns.html:78 modules/ikiwiki/forms.py:12
+#: modules/names/templates/names.html:18
#: modules/networks/templates/connection_show.html:95
#: modules/samba/templates/samba.html:65
#: modules/storage/templates/storage.html:26
@@ -1142,7 +1149,7 @@ msgstr "Rifresko adresë IP dhe përkatësi"
#: modules/minetest/views.py:55 modules/mumble/views.py:37
#: modules/names/views.py:66 modules/names/views.py:95
#: modules/names/views.py:129 modules/pagekite/forms.py:74
-#: modules/privacy/views.py:50 modules/quassel/views.py:29
+#: modules/privacy/views.py:55 modules/quassel/views.py:29
#: modules/roundcube/views.py:32 modules/rssbridge/views.py:31
#: modules/shadowsocks/views.py:52 modules/shadowsocksserver/views.py:48
#: modules/ssh/views.py:62 modules/transmission/views.py:43
@@ -1785,7 +1792,7 @@ msgid "Test"
msgstr "Provë"
#: modules/diagnostics/templates/diagnostics_results.html:12
-#: modules/dynamicdns/templates/dynamicdns.html:20
+#: modules/dynamicdns/templates/dynamicdns.html:25
msgid "Result"
msgstr "Përfundim"
@@ -1798,7 +1805,7 @@ msgstr "Test Diagnostikimesh"
msgid "App {app_id} is not installed, cannot repair"
msgstr "Aplikacioni {app_id} s’është i instaluar, s’mund të riparohet"
-#: modules/dynamicdns/__init__.py:28
+#: modules/dynamicdns/__init__.py:29
#, python-brace-format
msgid ""
"If your Internet provider changes your IP address periodically (i.e. every "
@@ -1810,7 +1817,7 @@ msgstr ""
"në Internet. Kjo do t’u pengojë të tjerëve të gjejnë shërbime të cilat "
"ofrohen nga ky {box_name}."
-#: modules/dynamicdns/__init__.py:32
+#: modules/dynamicdns/__init__.py:33
msgid ""
"The solution is to assign a DNS name to your IP address and update the DNS "
"name every time your IP is changed by your Internet provider. Dynamic DNS "
@@ -1828,7 +1835,7 @@ msgstr ""
"emrin tuaj DNS me IP-në e re, dhe nëse dikush në Internet kërkon për emrin "
"tuaj DNS, do të marrë një përgjigje me adresën tuaj aktuale IP."
-#: modules/dynamicdns/__init__.py:40
+#: modules/dynamicdns/__init__.py:41
msgid ""
"If you are looking for a free dynamic DNS account, you may find a free "
"GnuDIP service at ddns."
@@ -1836,16 +1843,22 @@ msgid ""
"href='http://freedns.afraid.org/' target='_blank'>freedns.afraid.org."
msgstr ""
"Nëse po kërkoni për një llogari falas DNS-je dinamike, mund të gjeni një "
-"shërbim GnuDIP të lirë, te ddns.freedombox.org, ose mund të gjeni shërbime të lira me "
-"bazë përditësim URL-je, te freedns.afraid.org."
+"shërbim GnuDIP të lirë, te ddns.freedombox.org, ose mund të gjeni shërbime të "
+"lira me bazë përditësim URL-je, te freedns.afraid.org."
-#: modules/dynamicdns/__init__.py:61
+#: modules/dynamicdns/__init__.py:46
+msgid ""
+"This service uses an external service to lookup public IP address. This can "
+"be configured in the privacy app."
+msgstr ""
+
+#: modules/dynamicdns/__init__.py:64
msgid "Dynamic DNS Client"
msgstr "Klient DNS Dinamik"
-#: modules/dynamicdns/__init__.py:75
+#: modules/dynamicdns/__init__.py:78
msgid "Dynamic Domain Name"
msgstr "Emër Dinamik Përkatësie"
@@ -1904,88 +1917,71 @@ msgstr ""
"Nëse doni të mbahet fjalëkalimi i tanishëm, lëreni të zbrazët këtë fushë."
#: modules/dynamicdns/forms.py:43
-#, python-brace-format
-msgid ""
-"Optional Value. If your {box_name} is not connected directly to the Internet "
-"(i.e. connected to a NAT router) this URL is used to determine the real IP "
-"address. The URL should simply return the IP where the client comes from "
-"(example: https://ddns.freedombox.org/ip/)."
-msgstr ""
-"Vlerë Opsionale. Nëse {box_name} juaj s’lidhet drejtpërsëdrejti në Internet "
-"(p.sh., i lidhur me një rrugëzues NAT), kjo URL përdoret për të përcaktuar "
-"adresën e njëmendtë IP. URL-ja thjesht duhet të japë IP-në prej nga vjen "
-"klienti (shembull: https://ddns.freedombox.org/ip/)."
-
-#: modules/dynamicdns/forms.py:51
msgid "The username that was used when the account was created."
msgstr "Emri i përdoruesit që u përdor kur u krijua llogaria."
-#: modules/dynamicdns/forms.py:54
+#: modules/dynamicdns/forms.py:46
msgid "GnuDIP"
msgstr "GnuDIP"
-#: modules/dynamicdns/forms.py:57
+#: modules/dynamicdns/forms.py:49
msgid "Other update URL"
msgstr "Tjetër URL përditësimesh"
-#: modules/dynamicdns/forms.py:59
+#: modules/dynamicdns/forms.py:51
msgid "Service Type"
msgstr "Lloj Shërbimi"
-#: modules/dynamicdns/forms.py:64
+#: modules/dynamicdns/forms.py:56
msgid "GnuDIP Server Address"
msgstr "Adresë Shërbyesi GnuDIP"
-#: modules/dynamicdns/forms.py:67
+#: modules/dynamicdns/forms.py:59
msgid "Invalid server name"
msgstr "Emër i pavlefshëm shërbyesi"
-#: modules/dynamicdns/forms.py:70
+#: modules/dynamicdns/forms.py:62
msgid "Update URL"
msgstr "URL Përditësimi"
-#: modules/dynamicdns/forms.py:74
+#: modules/dynamicdns/forms.py:66
msgid "Accept all SSL certificates"
msgstr "Prano krejt dëshmitë SSL"
-#: modules/dynamicdns/forms.py:78
+#: modules/dynamicdns/forms.py:70
msgid "Use HTTP basic authentication"
msgstr "Përdor mirëfilltësim elementar HTTP"
-#: modules/dynamicdns/forms.py:82 modules/names/__init__.py:68
+#: modules/dynamicdns/forms.py:74 modules/names/__init__.py:68
#: modules/names/forms.py:106 modules/names/templates/names.html:19
msgid "Domain Name"
msgstr "Emër Përkatësie"
-#: modules/dynamicdns/forms.py:85 modules/names/forms.py:99
+#: modules/dynamicdns/forms.py:77 modules/names/forms.py:99
#: modules/names/forms.py:117
msgid "Invalid domain name"
msgstr "Emër i pavlefshëm përkatësie"
-#: modules/dynamicdns/forms.py:88 modules/miniflux/forms.py:11
+#: modules/dynamicdns/forms.py:80 modules/miniflux/forms.py:11
#: modules/networks/forms.py:281 modules/users/forms.py:130
msgid "Username"
msgstr "Emër përdoruesi"
-#: modules/dynamicdns/forms.py:95 modules/networks/forms.py:284
+#: modules/dynamicdns/forms.py:87 modules/networks/forms.py:284
msgid "Show password"
msgstr "Shfaq fjalëkalim"
-#: modules/dynamicdns/forms.py:99
-msgid "URL to look up public IP"
-msgstr "URL ku të kërkohet IP publike"
-
-#: modules/dynamicdns/forms.py:104
+#: modules/dynamicdns/forms.py:91
msgid "Use IPv6 instead of IPv4"
msgstr "Përdor IPv6, në vend se IPv4"
-#: modules/dynamicdns/forms.py:123
+#: modules/dynamicdns/forms.py:110
msgid "This field is required."
msgstr "Kjo fushë është e domosdoshme."
#: modules/dynamicdns/manifest.py:17
-#: modules/dynamicdns/templates/dynamicdns.html:18
-#: modules/email/templates/email.html:35
+#: modules/dynamicdns/templates/dynamicdns.html:23
+#: modules/email/templates/email-dns.html:22
#: modules/letsencrypt/templates/letsencrypt.html:24
#: modules/mediawiki/forms.py:64
msgid "Domain"
@@ -1999,37 +1995,37 @@ msgstr ""
msgid "Needs public IP"
msgstr "Lyp IP publike"
-#: modules/dynamicdns/templates/dynamicdns.html:11
-#: modules/ejabberd/templates/ejabberd.html:13 modules/firewall/manifest.py:10
+#: modules/dynamicdns/templates/dynamicdns.html:16
+#: modules/ejabberd/templates/ejabberd.html:18 modules/firewall/manifest.py:10
#: modules/firewall/templates/firewall.html:16
#: modules/firewall/templates/firewall.html:22
#: modules/letsencrypt/templates/letsencrypt.html:17
-#: modules/matrixsynapse/templates/matrix-synapse.html:12
+#: modules/matrixsynapse/templates/matrix-synapse.html:17
#: modules/networks/templates/connection_show.html:258
-#: modules/samba/templates/samba.html:67 modules/tor/templates/tor.html:19
+#: modules/samba/templates/samba.html:67 modules/tor/templates/tor.html:24
#: modules/upgrades/templates/upgrades_configure.html:14
#: modules/wireguard/templates/wireguard_show_client.html:48
#: modules/wireguard/templates/wireguard_show_server.html:47
msgid "Status"
msgstr "Gjendje"
-#: modules/dynamicdns/templates/dynamicdns.html:19
+#: modules/dynamicdns/templates/dynamicdns.html:24
msgid "Last update"
msgstr "Përditësimi i fundit më"
-#: modules/dynamicdns/templates/dynamicdns.html:21
+#: modules/dynamicdns/templates/dynamicdns.html:26
msgid "IP Address"
msgstr "Adresë IP"
-#: modules/dynamicdns/templates/dynamicdns.html:32
+#: modules/dynamicdns/templates/dynamicdns.html:37
msgid "Success"
msgstr "Sukses"
-#: modules/dynamicdns/templates/dynamicdns.html:36
+#: modules/dynamicdns/templates/dynamicdns.html:41
msgid "Failed"
msgstr "Dështoi"
-#: modules/dynamicdns/templates/dynamicdns.html:52
+#: modules/dynamicdns/templates/dynamicdns.html:57
msgid "No status available."
msgstr "S’ka gjendje të ditur."
@@ -2202,7 +2198,7 @@ msgstr "Fjalosje me video"
msgid "XMPP"
msgstr "XMPP"
-#: modules/ejabberd/templates/ejabberd.html:18
+#: modules/ejabberd/templates/ejabberd.html:23
#, python-format
msgid ""
"Your XMPP server domain is set to %(domain_name)s. User IDs will look "
@@ -2214,7 +2210,7 @@ msgstr ""
"Përkatësinë tuaj mund ta ujdisni te faqja Shërbime "
"Emrash e sistemit."
-#: modules/ejabberd/templates/ejabberd.html:25
+#: modules/ejabberd/templates/ejabberd.html:30
#, python-format
msgid ""
"Your XMPP server domain is not set. You can setup your domain on the system "
@@ -2256,11 +2252,12 @@ msgid ""
"address. Necessary aliases such as \"postmaster\" are automatically created "
"pointing to the first admin user."
msgstr ""
-"Çdo përdorues në {box_name} merr një adresë email të ngjashme me përdorues@"
-"përkatësiaime.shembull. Do të marrë gjithashtu email nga krejt adresat që "
-"duken si përdorues+foo@përkatësiaime.shembull. Më tej, mund të shtojë aliase "
-"te adresa e tij email. Aliase të nevojshëm, të tillë si “postmaster”, "
-"krijohen automatikisht dhe shpien te i pari përdorues përgjegjës."
+"Çdo përdorues në {box_name} merr një adresë email të ngjashme me "
+"përdorues@përkatësiaime.shembull. Do të marrë gjithashtu email nga krejt "
+"adresat që duken si përdorues+foo@përkatësiaime.shembull. Më tej, mund të "
+"shtojë aliase te adresa e tij email. Aliase të nevojshëm, të tillë si "
+"“postmaster”, krijohen automatikisht dhe shpien te i pari përdorues "
+"përgjegjës."
#: modules/email/__init__.py:41
msgid ""
@@ -2281,14 +2278,18 @@ msgstr ""
msgid "Postfix/Dovecot"
msgstr "Postfix/Dovecot"
-#: modules/email/__init__.py:83
+#: modules/email/__init__.py:80
+msgid "More emails"
+msgstr ""
+
+#: modules/email/__init__.py:80
+msgid "Same mailbox"
+msgstr ""
+
+#: modules/email/__init__.py:82
msgid "My Email Aliases"
msgstr "Aliaset e Mi Email"
-#: modules/email/__init__.py:84
-msgid "Manage Aliases for Mailbox"
-msgstr "Administroni Aliase për Kuti postare"
-
#: modules/email/forms.py:25
msgid "Primary domain"
msgstr "Përkatësi parësore"
@@ -2367,47 +2368,103 @@ msgstr "Krijoni një alias të ri email-i"
msgid "Add"
msgstr "Shtoje"
-#: modules/email/templates/email.html:10
-msgid "Manage Spam"
-msgstr "Administroni Të Padëshiruarat"
-
-#: modules/email/templates/email.html:22
-msgid "DNS Records"
+#: modules/email/templates/email-dns.html:9
+#, fuzzy
+#| msgid "DNS Records"
+msgid "DNS Records for domain:"
msgstr "Zëra DNS"
-#: modules/email/templates/email.html:25
+#: modules/email/templates/email-dns.html:12
+#, fuzzy
+#| msgid ""
+#| "The following DNS records must be added manually on your primary domain "
+#| "for the mail server to work properly."
msgid ""
-"The following DNS records must be added manually on your primary domain for "
-"the mail server to work properly."
+"The following DNS records must be added manually on this domain for the mail "
+"server to work properly for this domain."
msgstr ""
"Që shërbyesi i postës të funksionojë si duhet, zërat DNS vijues duhen shtuar "
"dorazi te përkatësia juaj parësore."
-#: modules/email/templates/email.html:36
+#: modules/email/templates/email-dns.html:23
+#: modules/email/templates/email-dns.html:77
msgid "TTL"
msgstr "TTL"
-#: modules/email/templates/email.html:37
+#: modules/email/templates/email-dns.html:24
msgid "Class"
msgstr "Klasë"
-#: modules/email/templates/email.html:39
+#: modules/email/templates/email-dns.html:26
msgid "Priority"
msgstr "Përparësi"
-#: modules/email/templates/email.html:40
+#: modules/email/templates/email-dns.html:27
msgid "Weight"
msgstr "Madhësi"
-#: modules/email/templates/email.html:41
+#: modules/email/templates/email-dns.html:28
#: modules/minetest/templates/minetest.html:18
msgid "Port"
msgstr "Portë"
-#: modules/email/templates/email.html:42
+#: modules/email/templates/email-dns.html:29
+#: modules/email/templates/email-dns.html:79
msgid "Host/Target/Value"
msgstr "Strehë/Objektiv/Vlerë"
+#: modules/email/templates/email-dns.html:50
+#, fuzzy
+#| msgid "Server hostname or IP address"
+msgid "Reverse DNS Records for IP Addresses"
+msgstr "Strehëemër ose adresë IP shërbyesi"
+
+#: modules/email/templates/email-dns.html:53
+#, python-format
+msgid ""
+"If your %(box_name)s runs on a cloud service infrastructure, you should "
+"configure "
+"Reverse DNS lookup. This isn't mandatory, however, it greatly improves "
+"email deliverability. Reverse DNS isn't configured where your regular DNS "
+"is. You should look for it in the settings of your VPS/ISP. Some providers "
+"preconfigure the IP address part for you and you only have to set the domain "
+"part. Only one of your domains can have Revese DNS lookup configured unless "
+"you have multiple public IP addresses."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:66
+msgid ""
+"An external service is used to lookup public IP address to show in the "
+"following section. This can be configured in the privacy app."
+msgstr ""
+
+#: modules/email/templates/email-dns.html:76
+#, fuzzy
+#| msgid "Hostname"
+msgid "Host"
+msgstr "Strehëemër"
+
+#: modules/email/templates/email.html:10
+msgid "Manage Spam"
+msgstr "Administroni Të Padëshiruarat"
+
+#: modules/email/templates/email.html:20 modules/names/manifest.py:11
+#: modules/names/templates/names.html:12
+msgid "Domains"
+msgstr "Përkatësi"
+
+#: modules/email/templates/email.html:23
+msgid ""
+"The following domains are configured. View details to see the list of DNS "
+"entries to be made for the domain."
+msgstr ""
+
+#: modules/email/templates/email.html:35
+#, fuzzy, python-format
+#| msgid "Resolve domain name: {domain}"
+msgid "View domain: %(domain)s"
+msgstr "Ftillo emër përkatësie: {domain}"
+
#: modules/featherwiki/__init__.py:25
#, python-brace-format
msgid ""
@@ -2448,9 +2505,10 @@ msgid ""
"supported."
msgstr ""
"Wiki-t, si parazgjedhje, s’janë publike, por mund të shkarkohen, për t’i "
-"ndarë me të tjerët apo për botim. Mund të përpunohen nga cilido përdorues në {box_name} që është pjesë e grupit "
-"wiki. S’mbulohet përpunim në të njëjtën kohë nga më tepër se një përdorues."
+"ndarë me të tjerët apo për botim. Mund të përpunohen nga cilido përdorues në {box_name} që është pjesë e "
+"grupit wiki. S’mbulohet përpunim në të njëjtën kohë nga më tepër se një "
+"përdorues."
#: modules/featherwiki/__init__.py:56 modules/ikiwiki/__init__.py:79
#: modules/tiddlywiki/__init__.py:61
@@ -2670,7 +2728,7 @@ msgstr "Portë {name} ({details}) e përdorshme për rrjete të jashtëm"
msgid "Port {name} ({details}) unavailable for external networks"
msgstr "Portë {name} ({details}) jo e përdorshme për rrjete të brendshëm"
-#: modules/firewall/manifest.py:10 modules/tor/templates/tor.html:20
+#: modules/firewall/manifest.py:10 modules/tor/templates/tor.html:25
msgid "Ports"
msgstr "Porta"
@@ -3030,9 +3088,9 @@ msgstr "Parashtroni Përshtypjet"
msgid "Contribute"
msgstr "Jepni Ndihmesë"
-#: modules/help/__init__.py:53 templates/base.html:215 templates/base.html:218
+#: modules/help/__init__.py:53 templates/base.html:217 templates/base.html:220
#: templates/help-menu.html:46 templates/help-menu.html:47
-#: templates/index.html:98
+#: templates/index.html:96
msgid "About"
msgstr "Mbi"
@@ -3120,12 +3178,11 @@ msgid ""
"\"apt source package_name\" in a terminal (using Cockpit or SSH)."
msgstr ""
"%(box_name)s është software, i licencuar sipas GNU Affero General Public "
-"License. Kodi burim gjendet në internet në depon %(box_name)s"
-"a>. Veç kësaj, kodi burim i cilësdo paketë Debian mund të merret nga sajti "
-"i Burimeve Debian, ose duke "
-"xhiruar “apt source emër_pakete” në një terminal (duke përdorur "
-"Cockpit, ose SSH)."
+"License. Kodi burim gjendet në internet në depon %(box_name)s. Veç kësaj, kodi "
+"burim i cilësdo paketë Debian mund të merret nga sajti i Burimeve Debian, ose duke xhiruar “apt source "
+"emër_pakete” në një terminal (duke përdorur Cockpit, ose SSH)."
#: modules/help/templates/help_about.html:97
msgid "Learn"
@@ -3205,7 +3262,7 @@ msgstr ""
#: modules/help/templates/help_contribute.html:42
#: modules/power/templates/power_restart.html:27
-#: modules/power/templates/power_shutdown.html:26 templates/app-header.html:68
+#: modules/power/templates/power_shutdown.html:26 templates/app-header.html:65
msgid "Learn more..."
msgstr "Mësoni më tepër…"
@@ -3586,7 +3643,7 @@ msgid "Web conference"
msgstr "Konferencë Web"
#: modules/janus/templates/janus_video_room.html:205
-#: modules/jsxc/templates/jsxc_launch.html:117 templates/base.html:271
+#: modules/jsxc/templates/jsxc_launch.html:117 templates/base.html:273
msgid "JavaScript license information"
msgstr "Hollësi licence JavaScript"
@@ -4018,7 +4075,7 @@ msgstr ""
"S’ka përkatësi. Formësoni të paktën një "
"përkatësi, që të jeni në gjendje të përdorni Matrix Synapse."
-#: modules/matrixsynapse/templates/matrix-synapse.html:15
+#: modules/matrixsynapse/templates/matrix-synapse.html:20
#, python-format
msgid ""
"The Matrix server domain is set to %(domain_name)s. User IDs will "
@@ -4030,7 +4087,7 @@ msgstr ""
"em>. Ndryshimi i emrit të përkatësisë, pas ujdisjes fillestare, aktualisht "
"s’mbulohet."
-#: modules/matrixsynapse/templates/matrix-synapse.html:22
+#: modules/matrixsynapse/templates/matrix-synapse.html:27
msgid ""
"New users can be registered from any client if public registration is "
"enabled."
@@ -4038,7 +4095,7 @@ msgstr ""
"Përdorues të rinj mund të regjistrohen prej cilitdo klient, nëse është "
"aktivizuar regjistrimi publik."
-#: modules/matrixsynapse/templates/matrix-synapse.html:29
+#: modules/matrixsynapse/templates/matrix-synapse.html:34
msgid ""
"New users must use one of the following tokens for verification during "
"account registration:"
@@ -4046,31 +4103,31 @@ msgstr ""
"Përdoruesit e rinj mund të përdorin një nga token-ët vijues për verifikim "
"gjatë regjistrimit të llogarisë:"
-#: modules/matrixsynapse/templates/matrix-synapse.html:38
+#: modules/matrixsynapse/templates/matrix-synapse.html:43
msgid "Registration Token"
msgstr "Token regjistrimi"
-#: modules/matrixsynapse/templates/matrix-synapse.html:39
+#: modules/matrixsynapse/templates/matrix-synapse.html:44
msgid "Uses Allowed"
msgstr "Përdorime të Lejuara"
-#: modules/matrixsynapse/templates/matrix-synapse.html:40
+#: modules/matrixsynapse/templates/matrix-synapse.html:45
msgid "Pending Registrations"
msgstr "Regjistrime Pezull"
-#: modules/matrixsynapse/templates/matrix-synapse.html:41
+#: modules/matrixsynapse/templates/matrix-synapse.html:46
msgid "Completed Registrations"
msgstr "Regjistrime të Plotësuara"
-#: modules/matrixsynapse/templates/matrix-synapse.html:42
+#: modules/matrixsynapse/templates/matrix-synapse.html:47
msgid "Expiry Time"
msgstr "Kohë Skadimi"
-#: modules/matrixsynapse/templates/matrix-synapse.html:51
+#: modules/matrixsynapse/templates/matrix-synapse.html:56
msgid "Unlimited"
msgstr "E pakufizuar"
-#: modules/matrixsynapse/templates/matrix-synapse.html:80
+#: modules/matrixsynapse/templates/matrix-synapse.html:85
#, python-format
msgid ""
"The configured domain name is using a self-signed certificate. Federation "
@@ -4264,8 +4321,8 @@ msgstr ""
"Minetest është një bankëprovë blloqesh lojërash “botë e pafundme” me shumë "
"lojtarë. Ky modul i bën të mundur shërbyesit Minetest të xhirojë mbi këtë "
"{box_name}, në portën parazgjedhje (30000). Që të lidheni me shërbyesin, "
-"lypset një klient "
-"Minetest."
+"lypset një klient Minetest"
+"a>."
#: modules/minetest/__init__.py:56 modules/minetest/manifest.py:9
msgid "Minetest"
@@ -4550,7 +4607,7 @@ msgstr "Ricaktim fjalëkalimi për përdoruesin: {username}"
msgid "An error occurred during password reset: {error}."
msgstr "Ndodhi një gabim gjatë ricaktimit të fjalëkalimit: {error}."
-#: modules/mumble/__init__.py:25
+#: modules/mumble/__init__.py:27
msgid ""
"Mumble is an open source, low-latency, encrypted, high quality voice chat "
"software."
@@ -4558,7 +4615,7 @@ msgstr ""
"Mumble është një <em>software</em> me burim të hapur, për "
"fjalosje me zë, të fshehtëzuar, <em>low-latency</em>."
-#: modules/mumble/__init__.py:27
+#: modules/mumble/__init__.py:29
msgid ""
"You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your "
@@ -4568,10 +4625,16 @@ msgstr ""
"64738. Ka klientë klientë të gatshëm për "
"t’u lidhur me Mumble-in që nga desktopi apo pajisjet tuaja celulare."
-#: modules/mumble/__init__.py:45 modules/mumble/manifest.py:9
+#: modules/mumble/__init__.py:47 modules/mumble/manifest.py:9
msgid "Mumble"
msgstr "Mumble"
+#: modules/mumble/__init__.py:158
+#, fuzzy
+#| msgid "grub package is configured"
+msgid "Mumble server is configured"
+msgstr "paketa grub është e formësuar"
+
#: modules/mumble/forms.py:30
msgid "Set SuperUser Password"
msgstr "Caktoni Fjalëkalim Superpërdoruesi"
@@ -4719,10 +4782,6 @@ msgstr ""
"mes. Gjatësia e çdo etikete duhet të jetë 63 shenja ose më pak. Gjatësia "
"gjithsej e emrit të përkatësisë duhet të jetë 253 shenja ose më pak."
-#: modules/names/manifest.py:11 modules/names/templates/names.html:12
-msgid "Domains"
-msgstr "Përkatësi"
-
#: modules/names/manifest.py:13
msgid "DNS Resolution"
msgstr "Ftillim DNS-je"
@@ -5253,12 +5312,12 @@ msgid ""
"ports 80 and 443 to work. Each of the other applications will suggest which "
"port(s) need to be forwarded for that application to work.
Mundet edhe të zgjidhni të përcillni te {box_name}-i juaj " -"vetëm trafik specifik. Kjo është ideale, nëse në rrjetin tuaj keni shërbyes " -"të tjerë si {box_name}-i, ose nëse rrugëzuesi juaj s’e mbulon veçorinë DMZ. " -"Krejt aplikacionet që furnizojnë një ndërfaqe web duan prej jush të " -"përcillni trafik prej portash 80 dhe 443, që të punojnë. Secili prej " +"Përcill trafik specifik, sipas nevojave të secilit aplikacion
Mundet edhe të zgjidhni të përcillni te {box_name}-i " +"juaj vetëm trafik specifik. Kjo është ideale, nëse në rrjetin tuaj keni " +"shërbyes të tjerë si {box_name}-i, ose nëse rrugëzuesi juaj s’e mbulon " +"veçorinë DMZ. Krejt aplikacionet që furnizojnë një ndërfaqe web duan prej " +"jush të përcillni trafik prej portash 80 dhe 443, që të punojnë. Secili prej " "aplikacioneve të tjera do të sugjerojnë te cila portë(a) duhet bërë " "përcjellja që ai aplikacion të funksionojë.
" @@ -5315,7 +5374,7 @@ msgstr "Përpunoni lidhjen" #: modules/networks/templates/connection_show.html:40 #: modules/wireguard/templates/wireguard_show_client.html:72 #: modules/wireguard/templates/wireguard_show_server.html:73 -#: templates/base.html:165 templates/base.html:166 +#: templates/base.html:167 templates/base.html:168 msgid "Edit" msgstr "Përpunoni" @@ -5368,7 +5427,7 @@ msgstr "Ndërfaqe" #: modules/networks/templates/connection_show.html:107 #: modules/snapshot/templates/snapshot_delete_selected.html:19 -#: modules/snapshot/templates/snapshot_manage.html:29 +#: modules/snapshot/templates/snapshot_manage.html:34 #: modules/snapshot/templates/snapshot_rollback.html:27 msgid "Description" msgstr "Përshkrim" @@ -5446,8 +5505,8 @@ msgstr "Kjo lidhje s’është aktive." #: modules/networks/templates/connection_show.html:264 #: modules/networks/templates/connections_fields_privacy.html:15 -#: modules/openvpn/manifest.py:60 modules/privacy/__init__.py:32 -#: modules/privacy/__init__.py:72 modules/wireguard/manifest.py:45 +#: modules/openvpn/manifest.py:60 modules/privacy/__init__.py:38 +#: modules/privacy/__init__.py:77 modules/wireguard/manifest.py:45 msgid "Privacy" msgstr "Privatësi" @@ -5540,7 +5599,7 @@ msgstr "E brendshme" msgid "Computer" msgstr "Kompjuter" -#: modules/networks/templates/connections_edit.html:19 +#: modules/networks/templates/connections_edit.html:24 #: modules/networks/views.py:253 modules/networks/views.py:341 msgid "Edit Connection" msgstr "Përpunoni Lidhje" @@ -5551,7 +5610,7 @@ msgid "Error:" msgstr "Gabim:" #: modules/networks/templates/connections_fields.html:20 -#: modules/users/templates/users_update.html:46 templates/messages.html:30 +#: modules/users/templates/users_update.html:51 templates/messages.html:30 msgid "Close" msgstr "Mbylle" @@ -5651,7 +5710,7 @@ msgstr "Përditësojeni…" #: modules/networks/templates/network_topology_update.html:18 #: modules/networks/templates/router_configuration_update.html:19 #: modules/pagekite/templates/pagekite_custom_services.html:33 -#: modules/sharing/templates/sharing_add_edit.html:20 templates/form.html:19 +#: modules/sharing/templates/sharing_add_edit.html:25 templates/form.html:19 msgid "Submit" msgstr "Parashtrojeni" @@ -6090,11 +6149,7 @@ msgstr "" "dhe shqyrtimet ligjore bëhen nga projekti përkatës dhe jo nga Debian/" "{box_name}. Përditësimet kryhen duke ndjekur një cikël të pavarur." -#: modules/nextcloud/__init__.py:48 -msgid "This app is experimental." -msgstr "Ky aplikacion është eksperimental." - -#: modules/nextcloud/__init__.py:66 modules/nextcloud/manifest.py:11 +#: modules/nextcloud/__init__.py:65 modules/nextcloud/manifest.py:11 #: modules/nextcloud/manifest.py:18 msgid "Nextcloud" msgstr "Nextcloud" @@ -6300,7 +6355,7 @@ msgstr "" msgid "PageKite" msgstr "PageKite" -#: modules/pagekite/__init__.py:73 +#: modules/pagekite/__init__.py:72 msgid "PageKite Domain" msgstr "Përkatësi PageKite" @@ -6496,8 +6551,8 @@ msgstr "Rinisu" msgid "Shutdown" msgstr "Fike" -#: modules/power/templates/power.html:15 templates/base.html:180 -#: templates/base.html:181 +#: modules/power/templates/power.html:15 templates/base.html:182 +#: templates/base.html:183 msgid "Restart" msgstr "Rinise" @@ -6539,27 +6594,37 @@ msgstr "" msgid "Shut Down Now" msgstr "Fike Tani" -#: modules/privacy/__init__.py:15 +#: modules/privacy/__init__.py:21 msgid "Manage system-wide privacy settings." msgstr "Administroni rregullime privatësie për krejt sistemin." -#: modules/privacy/__init__.py:70 +#: modules/privacy/__init__.py:75 msgid "Please update privacy settings to match your preferences." msgstr "" "Ju lutemi, përditësoni rregullime privatësie që të përputhen me parapëlqimet " "tuaja." -#: modules/privacy/__init__.py:75 +#: modules/privacy/__init__.py:80 msgid "Review privacy setting" msgstr "Shqyrtoni rregullim privatësie" -#: modules/privacy/forms.py:16 +#: modules/privacy/forms.py:17 +#, python-brace-format +msgid "" +"Optional Value. This URL is used to determine the publicly visible IP " +"address of your {box_name}. The URL should simply return the IPv4 or IPv6 " +"address where the client request comes from. Default is to use the service " +"provided by the FreedomBox Foundation at https://ddns.freedombox.org/ip/. If " +"empty, lookups are disabled and some functionality will fail." +msgstr "" + +#: modules/privacy/forms.py:25 msgid "Periodically submit a list of apps used (suggested)" msgstr "" "Parashtroni në mënyrë periodike një listë aplikacionesh të përdorur (e " "sugjeruar)" -#: modules/privacy/forms.py:18 +#: modules/privacy/forms.py:27 #, python-brace-format msgid "" "Help Debian/{box_name} developers by participating in the Popularity Contest " @@ -6573,15 +6638,15 @@ msgstr "" "Konkurs Popullariteti programesh. Kur aktivizohet, te Debian do të " "parashtrohet në mënyrë anonime çdo javë një listë e aplikacioneve të " "përdorura në këtë sistem. Statistikat për të dhënat e grumbulluara janë " -"publike, te popcon.debian.org. Parashtrimi bëhet përmes rrjetit Tor, për anonimitet " -"shtesë, nëse është i aktivizuar aplikacioni Tor." +"publike, te popcon." +"debian.org. Parashtrimi bëhet përmes rrjetit Tor, për anonimitet shtesë, " +"nëse është i aktivizuar aplikacioni Tor." -#: modules/privacy/forms.py:28 +#: modules/privacy/forms.py:37 msgid "Allow using fallback DNS servers" msgstr "Lejo përdorim shërbyesish DNS rrugëdalje" -#: modules/privacy/forms.py:30 +#: modules/privacy/forms.py:39 msgid "" "Use well-known public DNS servers to resolve domain names in unusual " "circumstances where no DNS servers are known but internet connectivity is " @@ -6593,10 +6658,22 @@ msgstr "" "çaktivizohet në shumicën e rasteve, nëse lidhja në rrjet është qëndrueshme " "dhe e besueshme." +#: modules/privacy/forms.py:45 +#, fuzzy +#| msgid "URL to look up public IP" +msgid "URL to look up public IP address" +msgstr "URL ku të kërkohet IP publike" + #: modules/privacy/manifest.py:10 msgid "Usage reporting" msgstr "Raportim përdorimi" +#: modules/privacy/manifest.py:10 +#, fuzzy +#| msgid "Onion services" +msgid "External services" +msgstr "Shërbime Onion" + #: modules/privacy/manifest.py:10 msgid "Fallback DNS" msgstr "DNS rrugëdalje" @@ -7209,8 +7286,8 @@ msgid "" "community." msgstr "" "Përditësimet e shpeshta të veçorive lejojnë Shërbimin %(box_name)s Service, " -"plus një grup shumë të kufizuar software-i, të marrin përditësime më shpesh (" -"që nga depoja <em>backports</em>). Kjo sjell marrjen e disa " +"plus një grup shumë të kufizuar software-i, të marrin përditësime më shpesh " +"(që nga depoja <em>backports</em>). Kjo sjell marrjen e disa " "veçorive të reja brenda javësh, në vend se çdo 2 vjet pak a shumë. Kini " "parasysh se software-i me përditësime të shpeshta veçorish s’ka asistencë " "nga Ekipi i Sigurisë së Debian-it. Në vend të kësaj, ato mirëmbahen nga " @@ -7572,9 +7649,9 @@ msgid "" "backups\">backups since they can only be stored on the same partition. " msgstr "" "Fotografimet aktualisht funksionojnë vetëm në sisteme btrfs kartelash dhe " -"vetëm në pjesë rrënjë. Fotografimet s’janë zëvendësim për kopjeruajtjet, ngaqë mund të rikthehen vetëm në " -"të njëjtën pjesë. " +"vetëm në pjesë rrënjë. Fotografimet s’janë zëvendësim për kopjeruajtjet, ngaqë mund të rikthehen vetëm në të njëjtën " +"pjesë. " #: modules/snapshot/__init__.py:50 msgid "Storage Snapshots" @@ -7678,40 +7755,40 @@ msgid "Delete the following snapshots permanently?" msgstr "Të fshihen përgjithmonë fotografimet vijuese?" #: modules/snapshot/templates/snapshot_delete_selected.html:17 -#: modules/snapshot/templates/snapshot_manage.html:27 +#: modules/snapshot/templates/snapshot_manage.html:32 #: modules/snapshot/templates/snapshot_rollback.html:25 msgid "Number" msgstr "Numër" #: modules/snapshot/templates/snapshot_delete_selected.html:18 -#: modules/snapshot/templates/snapshot_manage.html:28 +#: modules/snapshot/templates/snapshot_manage.html:33 #: modules/snapshot/templates/snapshot_rollback.html:26 msgid "Date" msgstr "Datë" #: modules/snapshot/templates/snapshot_delete_selected.html:42 -#: modules/snapshot/templates/snapshot_manage.html:20 +#: modules/snapshot/templates/snapshot_manage.html:25 #: modules/snapshot/views.py:197 msgid "Delete Snapshots" msgstr "Fshi Fotografime" -#: modules/snapshot/templates/snapshot_manage.html:17 +#: modules/snapshot/templates/snapshot_manage.html:22 msgid "Create Snapshot" msgstr "Krijoni Fotografim" -#: modules/snapshot/templates/snapshot_manage.html:30 +#: modules/snapshot/templates/snapshot_manage.html:35 msgid "Rollback" msgstr "Prapakthim" -#: modules/snapshot/templates/snapshot_manage.html:40 +#: modules/snapshot/templates/snapshot_manage.html:45 msgid "will be used at next boot" msgstr "do të përdoret gjatë nisjes pasuese" -#: modules/snapshot/templates/snapshot_manage.html:45 +#: modules/snapshot/templates/snapshot_manage.html:50 msgid "in use" msgstr "në përdorim" -#: modules/snapshot/templates/snapshot_manage.html:54 +#: modules/snapshot/templates/snapshot_manage.html:59 #, python-format msgid "Rollback to snapshot #%(number)s" msgstr "Prapaktheje te fotografimi #%(number)s" @@ -8316,27 +8393,27 @@ msgstr "" msgid "Tor" msgstr "Tor" -#: modules/tor/__init__.py:78 +#: modules/tor/__init__.py:77 msgid "Tor Onion Service" msgstr "Shërbim Onion Tor" -#: modules/tor/__init__.py:82 +#: modules/tor/__init__.py:81 msgid "Tor Bridge Relay" msgstr "Rele Ure Tor" -#: modules/tor/__init__.py:140 +#: modules/tor/__init__.py:139 msgid "Tor relay port available" msgstr "Portë releje Tor e gatshme" -#: modules/tor/__init__.py:152 +#: modules/tor/__init__.py:151 msgid "Obfs3 transport registered" msgstr "U regjistruar transport Obfs3" -#: modules/tor/__init__.py:163 +#: modules/tor/__init__.py:162 msgid "Obfs4 transport registered" msgstr "U regjistruar transport Obfs3" -#: modules/tor/__init__.py:176 +#: modules/tor/__init__.py:175 msgid "Onion service is version 3" msgstr "Shërbimi Onion është në versionin 3" @@ -8447,7 +8524,7 @@ msgstr "Rele" msgid "Anonymity network" msgstr "Rrjet anonimiteti" -#: modules/tor/templates/tor.html:18 +#: modules/tor/templates/tor.html:23 msgid "Onion Service" msgstr "Shërbim Onion" @@ -9115,12 +9192,12 @@ msgstr "Përdorues" msgid "Edit user %(username)s" msgstr "Përpunoni përdoruesin %(username)s" -#: modules/users/templates/users_update.html:12 +#: modules/users/templates/users_update.html:17 #, python-format msgid "Edit User %(username)s" msgstr "Përpunoni Përdoruesin %(username)s" -#: modules/users/templates/users_update.html:20 +#: modules/users/templates/users_update.html:25 #, python-format msgid "" "Use the change password form to " @@ -9130,17 +9207,17 @@ msgstr "" "href=\"%(change_password_url)s\">formularin e ndryshimit të fjalëkalimeve" "a>." -#: modules/users/templates/users_update.html:32 +#: modules/users/templates/users_update.html:37 #: templates/language-selection.html:17 msgid "Save Changes" msgstr "Ruaji Ndryshimet" -#: modules/users/templates/users_update.html:41 +#: modules/users/templates/users_update.html:46 #, python-format msgid "Delete user %(username)s and all the user's files?" msgstr "Të fshihet përdoruesi %(username)s dhe krejt kartelat e përdoruesit?" -#: modules/users/templates/users_update.html:51 +#: modules/users/templates/users_update.html:56 msgid "" "Deleting a user account also removes all the files user's home directory. If " "you wish to keep these files, disable the user account instead." @@ -9149,11 +9226,11 @@ msgstr "" "të përdoruesit. Nëse dëshironi t’i mbani këto kartela, më mirë çaktivizoni " "llogarinë e përdoruesit." -#: modules/users/templates/users_update.html:60 +#: modules/users/templates/users_update.html:65 msgid "Delete user and files" msgstr "Fshini përdorues dhe kartela" -#: modules/users/templates/users_update.html:63 +#: modules/users/templates/users_update.html:68 msgid "Cancel" msgstr "Anuloje" @@ -9850,11 +9927,11 @@ msgstr "Instalim" msgid "Service %(service_name)s is not running." msgstr "Shërbimi %(service_name)s s’po xhiron." -#: templates/apps.html:29 +#: templates/apps.html:33 msgid "Search with tags" msgstr "Kërkoni me etiketa" -#: templates/apps.html:42 +#: templates/apps.html:46 msgid "Clear all tags" msgstr "Spastroji krejt etiketat" @@ -9867,35 +9944,35 @@ msgstr "" "pronësi të dhënash. Është software i lirë, që ju lejon të instaloni dhe " "administroni kollaj aplikacione shërbyesi." -#: templates/base.html:116 +#: templates/base.html:118 msgid " Home" msgstr " Kreu" -#: templates/base.html:124 +#: templates/base.html:126 msgid " Apps" msgstr " Aplikacione" -#: templates/base.html:133 +#: templates/base.html:135 msgid " System" msgstr " Sistem" -#: templates/base.html:172 templates/base.html:173 +#: templates/base.html:174 templates/base.html:175 msgid "Change password" msgstr "Ndryshoni fjalëkalimin" -#: templates/base.html:186 templates/base.html:187 +#: templates/base.html:188 templates/base.html:189 msgid "Shut down" msgstr "Fike" -#: templates/base.html:197 templates/base.html:235 +#: templates/base.html:199 templates/base.html:237 msgid "Log out" msgstr "Dil" -#: templates/base.html:206 templates/base.html:209 +#: templates/base.html:208 templates/base.html:211 msgid "Select language" msgstr "Përzgjidhni gjuhën" -#: templates/base.html:224 templates/base.html:226 +#: templates/base.html:226 templates/base.html:228 msgid "Log in" msgstr "Hyni" @@ -10115,23 +10192,44 @@ msgstr "" "Krejt të dhënat dhe formësimi i aplikacionit do të humbin përgjithnjë. " "Aplikacioni mund të instalohet sërish nga e para." -#: views.py:85 +#: views.py:84 msgid "Here" msgstr "Këtu" -#: views.py:374 +#: views.py:376 msgid "Setting unchanged" msgstr "Rregullim i pandryshuar" -#: views.py:609 +#: views.py:610 #, python-brace-format msgid "before uninstall of {app_id}" msgstr "para çinstalimit të {app_id}" -#: web_framework.py:114 +#: web_framework.py:122 msgid "Gujarati" msgstr "Gujaratase" +#~ msgid "In 24 hour format." +#~ msgstr "Në format 24 orësh." + +#, python-brace-format +#~ msgid "" +#~ "Optional Value. If your {box_name} is not connected directly to the " +#~ "Internet (i.e. connected to a NAT router) this URL is used to determine " +#~ "the real IP address. The URL should simply return the IP where the client " +#~ "comes from (example: https://ddns.freedombox.org/ip/)." +#~ msgstr "" +#~ "Vlerë Opsionale. Nëse {box_name} juaj s’lidhet drejtpërsëdrejti në " +#~ "Internet (p.sh., i lidhur me një rrugëzues NAT), kjo URL përdoret për të " +#~ "përcaktuar adresën e njëmendtë IP. URL-ja thjesht duhet të japë IP-në " +#~ "prej nga vjen klienti (shembull: https://ddns.freedombox.org/ip/)." + +#~ msgid "Manage Aliases for Mailbox" +#~ msgstr "Administroni Aliase për Kuti postare" + +#~ msgid "This app is experimental." +#~ msgstr "Ky aplikacion është eksperimental." + #~ msgid "File & Snippet Sharing" #~ msgstr "Dhënie Kartelash & Copëzash" diff --git a/plinth/locale/sr/LC_MESSAGES/django.po b/plinth/locale/sr/LC_MESSAGES/django.po index 5ea40b7f2..38a986a16 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-12-30 20:05-0500\n" +"POT-Creation-Date: 2025-01-13 20:33-0500\n" "PO-Revision-Date: 2022-09-14 17:20+0000\n" "Last-Translator: ikmaak+ {% blocktrans trimmed %} + The following DNS records must be added manually on this domain for the + mail server to work properly for this domain. + {% endblocktrans %} +
+ +| {% trans "Domain" %} | +{% trans "TTL" %} | +{% trans "Class" %} | +{% trans "Type" %} | +{% trans "Priority" %} | +{% trans "Weight" %} | +{% trans "Port" %} | +{% trans "Host/Target/Value" %} | +
|---|---|---|---|---|---|---|---|
| {{ dns_entry.domain|default_if_none:"" }} | +{{ dns_entry.ttl }} | +{{ dns_entry.class_ }} | +{{ dns_entry.type_ }} | +{{ dns_entry.priority }} | +{{ dns_entry.weight|default_if_none:"" }} | +{{ dns_entry.port|default_if_none:"" }} | +{{ dns_entry.get_split_value }} | +
+ {% blocktrans trimmed %} + If your {{ box_name }} runs on a cloud service infrastructure, you + should configure + Reverse DNS lookup. This isn't mandatory, however, it greatly improves + email deliverability. Reverse DNS isn't configured where your regular DNS + is. You should look for it in the settings of your VPS/ISP. Some providers + preconfigure the IP address part for you and you only have to set the + domain part. Only one of your domains can have Revese DNS lookup + configured unless you have multiple public IP addresses. + {% endblocktrans %} +
+ ++ {% blocktrans trimmed %} + An external service is used to lookup public IP address to show in the + following section. This can be configured in the privacy app. + {% endblocktrans %} +
+ +| {% trans "Host" %} | +{% trans "TTL" %} | +{% trans "Type" %} | +{% trans "Host/Target/Value" %} | +
|---|---|---|---|
| {{ dns_entry.domain|default_if_none:"" }} | +{{ dns_entry.ttl }} | +{{ dns_entry.type_ }} | +{{ dns_entry.get_split_value }} | +
{% blocktrans trimmed %} - The following DNS records must be added manually on your primary domain - for the mail server to work properly. + The following domains are configured. View details to see the list of DNS + entries to be made for the domain. {% endblocktrans %}
-| {% trans "Domain" %} | -{% trans "TTL" %} | -{% trans "Class" %} | -{% trans "Type" %} | -{% trans "Priority" %} | -{% trans "Weight" %} | -{% trans "Port" %} | -{% trans "Host/Target/Value" %} | -
|---|---|---|---|---|---|---|---|
| {{ dns_entry.domain|default_if_none:"" }} | -{{ dns_entry.ttl }} | -{{ dns_entry.class_ }} | -{{ dns_entry.type_ }} | -{{ dns_entry.priority }} | -{{ dns_entry.weight|default_if_none:"" }} | -{{ dns_entry.port|default_if_none:"" }} | -{{ dns_entry.get_split_value }} | -