diff --git a/plinth/locale/bg/LC_MESSAGES/django.po b/plinth/locale/bg/LC_MESSAGES/django.po
index 9091ac19b..d6a9d972f 100644
--- a/plinth/locale/bg/LC_MESSAGES/django.po
+++ b/plinth/locale/bg/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-06-10 19:02-0400\n"
+"POT-Creation-Date: 2019-06-24 19:48-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -46,7 +46,7 @@ msgstr ""
msgid "Cannot connect to {host}:{port}"
msgstr ""
-#: plinth/context_processors.py:37 plinth/views.py:60
+#: plinth/context_processors.py:37 plinth/views.py:61
msgid "FreedomBox"
msgstr ""
@@ -90,11 +90,22 @@ msgstr ""
msgid "Error installing application: {error}"
msgstr ""
-#: plinth/modules/avahi/__init__.py:42
+#: plinth/modules/apache/__init__.py:47
+#: plinth/modules/monkeysphere/templates/monkeysphere.html:88
+#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:60
+msgid "Web Server"
+msgstr ""
+
+#: plinth/modules/apache/__init__.py:54
+#, python-brace-format
+msgid "{box_name} Web Interface (Plinth)"
+msgstr ""
+
+#: plinth/modules/avahi/__init__.py:43
msgid "Service Discovery"
msgstr ""
-#: plinth/modules/avahi/__init__.py:46
+#: plinth/modules/avahi/__init__.py:47
#, python-brace-format
msgid ""
"Service discovery allows other devices on the network to discover your "
@@ -113,7 +124,7 @@ msgstr ""
msgid "Backups allows creating and managing backup archives."
msgstr ""
-#: plinth/modules/backups/__init__.py:51
+#: plinth/modules/backups/__init__.py:49
#, python-brace-format
msgid "{box_name} storage"
msgstr ""
@@ -397,21 +408,21 @@ msgstr ""
msgid "Mounting failed"
msgstr ""
-#: plinth/modules/bind/__init__.py:35
+#: plinth/modules/bind/__init__.py:36
msgid "BIND"
msgstr ""
-#: plinth/modules/bind/__init__.py:37
+#: plinth/modules/bind/__init__.py:38
msgid "Domain Name Server"
msgstr ""
-#: plinth/modules/bind/__init__.py:46
+#: plinth/modules/bind/__init__.py:45
msgid ""
"BIND enables you to publish your Domain Name System (DNS) information on the "
"Internet, and to resolve DNS queries for your user devices on your network."
msgstr ""
-#: plinth/modules/bind/__init__.py:50
+#: plinth/modules/bind/__init__.py:49
#, python-brace-format
msgid ""
"Currently, on {box_name}, BIND is only used to resolve DNS queries for other "
@@ -436,21 +447,21 @@ msgstr ""
msgid "Enable Domain Name System Security Extensions"
msgstr ""
-#: plinth/modules/bind/views.py:58 plinth/modules/dynamicdns/views.py:170
-#: plinth/modules/openvpn/views.py:148 plinth/modules/shadowsocks/views.py:80
+#: plinth/modules/bind/views.py:59 plinth/modules/dynamicdns/views.py:172
+#: plinth/modules/openvpn/views.py:146 plinth/modules/shadowsocks/views.py:79
#: plinth/modules/transmission/views.py:74
msgid "Configuration updated"
msgstr ""
-#: plinth/modules/cockpit/__init__.py:40 plinth/modules/cockpit/manifest.py:27
+#: plinth/modules/cockpit/__init__.py:42 plinth/modules/cockpit/manifest.py:27
msgid "Cockpit"
msgstr ""
-#: plinth/modules/cockpit/__init__.py:42
+#: plinth/modules/cockpit/__init__.py:44
msgid "Server Administration"
msgstr ""
-#: plinth/modules/cockpit/__init__.py:46
+#: plinth/modules/cockpit/__init__.py:48
#, python-brace-format
msgid ""
"Cockpit is a server manager that makes it easy to administer GNU/Linux "
@@ -459,7 +470,7 @@ msgid ""
"console operations is also available."
msgstr ""
-#: plinth/modules/cockpit/__init__.py:52
+#: plinth/modules/cockpit/__init__.py:54
#, python-brace-format
msgid ""
"When enabled, Cockpit will be available from /"
@@ -467,14 +478,14 @@ msgid ""
"\"{users_url}\">any user on {box_name} belonging to the admin group."
msgstr ""
-#: plinth/modules/config/__init__.py:59 plinth/modules/dynamicdns/views.py:44
+#: plinth/modules/config/__init__.py:61 plinth/modules/dynamicdns/views.py:45
#: plinth/modules/i2p/views.py:31 plinth/modules/ikiwiki/views.py:35
#: plinth/modules/pagekite/views.py:36 plinth/modules/snapshot/views.py:40
#: plinth/modules/tahoe/templates/tahoe-pre-setup.html:39
msgid "Configure"
msgstr ""
-#: plinth/modules/config/__init__.py:164 plinth/modules/config/forms.py:76
+#: plinth/modules/config/__init__.py:166 plinth/modules/config/forms.py:76
#: plinth/modules/config/views.py:171 plinth/modules/dynamicdns/forms.py:111
msgid "Domain Name"
msgstr ""
@@ -546,8 +557,8 @@ msgstr ""
#: plinth/modules/power/templates/power_restart.html:42
#: plinth/modules/power/templates/power_shutdown.html:41
#: plinth/modules/storage/templates/storage.html:48
-#: plinth/templates/service-subsubmenu.html:47 plinth/templates/service.html:42
-#: plinth/templates/setup.html:48 plinth/templates/simple_service.html:38
+#: plinth/templates/app-subsubmenu.html:47 plinth/templates/app.html:42
+#: plinth/templates/setup.html:48 plinth/templates/simple_app.html:38
msgid "Learn more..."
msgstr ""
@@ -595,22 +606,22 @@ msgstr ""
msgid "Hiding advanced apps and features"
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:38
+#: plinth/modules/coquelicot/__init__.py:40
msgid "Coquelicot"
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:40
+#: plinth/modules/coquelicot/__init__.py:42
msgid "File Sharing"
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:43
+#: plinth/modules/coquelicot/__init__.py:45
msgid ""
"Coquelicot is a “one-click” file sharing web application with a focus on "
"protecting users’ privacy. It is best used for quickly sharing a single "
"file. "
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:46
+#: plinth/modules/coquelicot/__init__.py:48
msgid ""
"This Coquelicot instance is exposed to the public but requires an upload "
"password to prevent unauthorized access. You can set a new upload password "
@@ -640,19 +651,19 @@ msgstr ""
msgid "coquelicot"
msgstr ""
-#: plinth/modules/coquelicot/views.py:57
+#: plinth/modules/coquelicot/views.py:59
msgid "Upload password updated"
msgstr ""
-#: plinth/modules/coquelicot/views.py:60
+#: plinth/modules/coquelicot/views.py:62
msgid "Failed to update upload password"
msgstr ""
-#: plinth/modules/coquelicot/views.py:68
+#: plinth/modules/coquelicot/views.py:70
msgid "Maximum file size updated"
msgstr ""
-#: plinth/modules/coquelicot/views.py:71
+#: plinth/modules/coquelicot/views.py:73
msgid "Failed to update maximum file size"
msgstr ""
@@ -666,21 +677,21 @@ msgid ""
"synchronization with servers on the Internet."
msgstr ""
-#: plinth/modules/datetime/__init__.py:107
+#: plinth/modules/datetime/__init__.py:99
msgid "Time synchronized to NTP server"
msgstr ""
-#: plinth/modules/datetime/forms.py:36
+#: plinth/modules/datetime/forms.py:35
msgid "Time Zone"
msgstr ""
-#: plinth/modules/datetime/forms.py:37
+#: plinth/modules/datetime/forms.py:36
msgid ""
"Set your time zone to get accurate timestamps. This will set the system-wide "
"time zone."
msgstr ""
-#: plinth/modules/datetime/forms.py:49
+#: plinth/modules/datetime/forms.py:47
msgid "-- no time zone set --"
msgstr ""
@@ -698,7 +709,7 @@ msgid "Deluge"
msgstr ""
#: plinth/modules/deluge/__init__.py:41
-#: plinth/modules/transmission/__init__.py:41
+#: plinth/modules/transmission/__init__.py:43
msgid "BitTorrent Web Client"
msgstr ""
@@ -714,7 +725,7 @@ msgid ""
msgstr ""
#: plinth/modules/deluge/__init__.py:51
-#: plinth/modules/transmission/__init__.py:54
+#: plinth/modules/transmission/__init__.py:56
msgid "Download files using BitTorrent applications"
msgstr ""
@@ -776,12 +787,12 @@ msgstr ""
msgid "Result"
msgstr ""
-#: plinth/modules/diaspora/__init__.py:52
+#: plinth/modules/diaspora/__init__.py:54
#: plinth/modules/diaspora/manifest.py:38
msgid "diaspora*"
msgstr ""
-#: plinth/modules/diaspora/__init__.py:54
+#: plinth/modules/diaspora/__init__.py:56
msgid "Federated Social Network"
msgstr ""
@@ -828,22 +839,22 @@ msgstr ""
#: plinth/modules/tahoe/templates/tahoe-pre-setup.html:58
#: plinth/modules/tor/templates/tor.html:96
#: plinth/modules/upgrades/templates/upgrades_configure.html:32
-#: plinth/templates/service.html:89
+#: plinth/templates/app.html:89
msgid "Update setup"
msgstr ""
-#: plinth/modules/diaspora/views.py:97 plinth/modules/ejabberd/views.py:64
-#: plinth/modules/matrixsynapse/views.py:107
-#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:150
-#: plinth/modules/tor/views.py:146 plinth/views.py:160
+#: plinth/modules/diaspora/views.py:94 plinth/modules/ejabberd/views.py:65
+#: plinth/modules/matrixsynapse/views.py:108
+#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:148
+#: plinth/modules/tor/views.py:148 plinth/views.py:174
msgid "Setting unchanged"
msgstr ""
-#: plinth/modules/diaspora/views.py:101
+#: plinth/modules/diaspora/views.py:98
msgid "User registrations enabled"
msgstr ""
-#: plinth/modules/diaspora/views.py:105
+#: plinth/modules/diaspora/views.py:102
msgid "User registrations disabled"
msgstr ""
@@ -870,8 +881,8 @@ msgid ""
"IP address."
msgstr ""
-#: plinth/modules/dynamicdns/__init__.py:85
-#: plinth/modules/dynamicdns/views.py:167
+#: plinth/modules/dynamicdns/__init__.py:87
+#: plinth/modules/dynamicdns/views.py:169
msgid "Dynamic DNS Service"
msgstr ""
@@ -960,7 +971,7 @@ msgid "Username"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:121 plinth/modules/networks/forms.py:235
-#: plinth/modules/shadowsocks/forms.py:70
+#: plinth/modules/shadowsocks/forms.py:61
msgid "Password"
msgstr ""
@@ -1038,45 +1049,45 @@ msgstr ""
msgid "Last update"
msgstr ""
-#: plinth/modules/dynamicdns/views.py:41 plinth/modules/help/help.py:57
+#: plinth/modules/dynamicdns/views.py:41 plinth/modules/help/help.py:59
msgid "About"
msgstr ""
-#: plinth/modules/dynamicdns/views.py:47
+#: plinth/modules/dynamicdns/views.py:49
#: plinth/modules/firewall/templates/firewall.html:25
#: plinth/modules/firewall/templates/firewall.html:45
#: plinth/modules/i2p/templates/i2p.html:27
#: plinth/modules/networks/templates/connection_show.html:261
#: plinth/modules/openvpn/templates/openvpn.html:71
#: plinth/modules/tor/templates/tor.html:40
-#: plinth/modules/tor/templates/tor.html:68 plinth/templates/service.html:51
+#: plinth/modules/tor/templates/tor.html:68 plinth/templates/app.html:51
msgid "Status"
msgstr ""
-#: plinth/modules/dynamicdns/views.py:78
+#: plinth/modules/dynamicdns/views.py:80
msgid "Configure Dynamic DNS"
msgstr ""
-#: plinth/modules/dynamicdns/views.py:103
+#: plinth/modules/dynamicdns/views.py:105
msgid "Dynamic DNS Status"
msgstr ""
-#: plinth/modules/ejabberd/__init__.py:43
+#: plinth/modules/ejabberd/__init__.py:45
msgid "ejabberd"
msgstr ""
-#: plinth/modules/ejabberd/__init__.py:45
-#: plinth/modules/matrixsynapse/__init__.py:43
+#: plinth/modules/ejabberd/__init__.py:47
+#: plinth/modules/matrixsynapse/__init__.py:45
msgid "Chat Server"
msgstr ""
-#: plinth/modules/ejabberd/__init__.py:48
+#: plinth/modules/ejabberd/__init__.py:50
msgid ""
"XMPP is an open and standardized communication protocol. Here you can run "
"and configure your XMPP server, called ejabberd."
msgstr ""
-#: plinth/modules/ejabberd/__init__.py:51
+#: plinth/modules/ejabberd/__init__.py:53
#, python-brace-format
msgid ""
"To actually communicate, you can use the web client"
@@ -1085,11 +1096,11 @@ msgid ""
"any user with a {box_name} login."
msgstr ""
-#: plinth/modules/ejabberd/forms.py:33
+#: plinth/modules/ejabberd/forms.py:32
msgid "Enable Message Archive Management"
msgstr ""
-#: plinth/modules/ejabberd/forms.py:36
+#: plinth/modules/ejabberd/forms.py:34
#, python-brace-format
msgid ""
"If enabled, your {box_name} will store chat message histories. This allows "
@@ -1157,35 +1168,23 @@ msgstr ""
#: plinth/modules/openvpn/templates/openvpn.html:123
#: plinth/modules/snapshot/templates/snapshot.html:27
#: plinth/modules/tahoe/templates/tahoe-post-setup.html:43
-#: plinth/modules/tor/templates/tor.html:88 plinth/templates/service.html:81
+#: plinth/modules/tor/templates/tor.html:88 plinth/templates/app.html:81
msgid "Configuration"
msgstr ""
-#: plinth/modules/ejabberd/views.py:68
-#: plinth/modules/matrixsynapse/views.py:111
-#: plinth/modules/mediawiki/views.py:79 plinth/views.py:164
-msgid "Application enabled"
-msgstr ""
-
-#: plinth/modules/ejabberd/views.py:71
-#: plinth/modules/matrixsynapse/views.py:114
-#: plinth/modules/mediawiki/views.py:82 plinth/views.py:167
-msgid "Application disabled"
-msgstr ""
-
-#: plinth/modules/ejabberd/views.py:78
+#: plinth/modules/ejabberd/views.py:77
msgid "Message Archive Management enabled"
msgstr ""
-#: plinth/modules/ejabberd/views.py:82
+#: plinth/modules/ejabberd/views.py:81
msgid "Message Archive Management disabled"
msgstr ""
-#: plinth/modules/firewall/__init__.py:40
+#: plinth/modules/firewall/__init__.py:36
msgid "Firewall"
msgstr ""
-#: plinth/modules/firewall/__init__.py:44
+#: plinth/modules/firewall/__init__.py:40
#, python-brace-format
msgid ""
"Firewall is a security system that controls the incoming and outgoing "
@@ -1291,29 +1290,29 @@ msgstr ""
msgid "Setup Complete"
msgstr ""
-#: plinth/modules/help/help.py:44
+#: plinth/modules/help/help.py:46
msgid "Documentation"
msgstr ""
-#: plinth/modules/help/help.py:48 plinth/modules/networks/forms.py:68
+#: plinth/modules/help/help.py:50 plinth/modules/networks/forms.py:68
#: plinth/modules/networks/forms.py:108 plinth/templates/index.html:135
msgid "Manual"
msgstr ""
-#: plinth/modules/help/help.py:53
+#: plinth/modules/help/help.py:55
msgid "Download Manual"
msgstr ""
-#: plinth/modules/help/help.py:73
+#: plinth/modules/help/help.py:75
msgid "Documentation and FAQ"
msgstr ""
-#: plinth/modules/help/help.py:81
+#: plinth/modules/help/help.py:83
#, python-brace-format
msgid "About {box_name}"
msgstr ""
-#: plinth/modules/help/help.py:102
+#: plinth/modules/help/help.py:104
#, python-brace-format
msgid "{box_name} Manual"
msgstr ""
@@ -1431,15 +1430,15 @@ msgid ""
"before submitting the bug report."
msgstr ""
-#: plinth/modules/i2p/__init__.py:40 plinth/modules/i2p/manifest.py:31
+#: plinth/modules/i2p/__init__.py:42 plinth/modules/i2p/manifest.py:31
msgid "I2P"
msgstr ""
-#: plinth/modules/i2p/__init__.py:42 plinth/modules/tor/__init__.py:45
+#: plinth/modules/i2p/__init__.py:44 plinth/modules/tor/__init__.py:48
msgid "Anonymity Network"
msgstr ""
-#: plinth/modules/i2p/__init__.py:45
+#: plinth/modules/i2p/__init__.py:47
msgid ""
"The Invisible Internet Project is an anonymous network layer intended to "
"protect communication from censorship and surveillance. I2P provides "
@@ -1447,33 +1446,33 @@ msgid ""
"distributed around the world."
msgstr ""
-#: plinth/modules/i2p/__init__.py:49
+#: plinth/modules/i2p/__init__.py:51
msgid ""
"Find more information about I2P on their project homepage."
msgstr ""
-#: plinth/modules/i2p/__init__.py:51
+#: plinth/modules/i2p/__init__.py:53
msgid ""
"The first visit to the provided web interface will initiate the "
"configuration process."
msgstr ""
-#: plinth/modules/i2p/__init__.py:57
+#: plinth/modules/i2p/__init__.py:59
msgid "Manage I2P application"
msgstr ""
-#: plinth/modules/i2p/templates/i2p.html:32 plinth/templates/service.html:56
+#: plinth/modules/i2p/templates/i2p.html:32 plinth/templates/app.html:56
#, python-format
msgid "Service %(service_name)s is running."
msgstr ""
-#: plinth/modules/i2p/templates/i2p.html:37 plinth/templates/service.html:61
+#: plinth/modules/i2p/templates/i2p.html:37 plinth/templates/app.html:61
#, python-format
msgid "Service %(service_name)s is not running."
msgstr ""
-#: plinth/modules/i2p/templates/i2p_service.html:13
+#: plinth/modules/i2p/templates/i2p_service.html:31
#: plinth/templates/clients.html:51
msgid "Launch"
msgstr ""
@@ -1486,43 +1485,43 @@ msgstr ""
msgid "Anonymous torrents"
msgstr ""
-#: plinth/modules/i2p/views.py:86
+#: plinth/modules/i2p/views.py:88
msgid "I2P Proxies and Tunnels"
msgstr ""
-#: plinth/modules/i2p/views.py:89
+#: plinth/modules/i2p/views.py:91
msgid ""
"I2P lets you browse the Internet and hidden services (eepsites) anonymously. "
"For this, your browser, preferably a Tor Browser, needs to be configured for "
"a proxy."
msgstr ""
-#: plinth/modules/i2p/views.py:92
+#: plinth/modules/i2p/views.py:94
msgid ""
"By default HTTP, HTTPS and IRC proxies are available. Additional proxies and "
"tunnels may be configured using the tunnel configuration interface."
msgstr ""
-#: plinth/modules/i2p/views.py:101
+#: plinth/modules/i2p/views.py:103
msgid "Anonymous Torrents"
msgstr ""
-#: plinth/modules/i2p/views.py:104
+#: plinth/modules/i2p/views.py:106
msgid ""
"I2P provides an application to download files anonymously in a peer-to-peer "
"network. Download files by adding torrents or create a new torrent to share "
"a file."
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:42 plinth/modules/ikiwiki/manifest.py:24
+#: plinth/modules/ikiwiki/__init__.py:41 plinth/modules/ikiwiki/manifest.py:24
msgid "ikiwiki"
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:44
+#: plinth/modules/ikiwiki/__init__.py:43
msgid "Wiki and Blog"
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:47
+#: plinth/modules/ikiwiki/__init__.py:46
msgid ""
"ikiwiki is a simple wiki and blog application. It supports several "
"lightweight markup languages, including Markdown, and common blogging "
@@ -1530,7 +1529,7 @@ msgid ""
"wikis will be available at /ikiwiki (once created)."
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:53
+#: plinth/modules/ikiwiki/__init__.py:52
#, python-brace-format
msgid ""
"Only {box_name} users in the admin group can create and "
@@ -1539,7 +1538,7 @@ msgid ""
"Configuration you can change these permissions or add new users."
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:63
+#: plinth/modules/ikiwiki/__init__.py:62
msgid "View and edit wiki applications"
msgstr ""
@@ -1607,49 +1606,49 @@ msgstr ""
msgid "Manage"
msgstr ""
-#: plinth/modules/ikiwiki/views.py:121
+#: plinth/modules/ikiwiki/views.py:124
#, python-brace-format
msgid "Created wiki {name}."
msgstr ""
-#: plinth/modules/ikiwiki/views.py:124
+#: plinth/modules/ikiwiki/views.py:127
#, python-brace-format
msgid "Could not create wiki: {error}"
msgstr ""
-#: plinth/modules/ikiwiki/views.py:134
+#: plinth/modules/ikiwiki/views.py:137
#, python-brace-format
msgid "Created blog {name}."
msgstr ""
-#: plinth/modules/ikiwiki/views.py:137
+#: plinth/modules/ikiwiki/views.py:140
#, python-brace-format
msgid "Could not create blog: {error}"
msgstr ""
-#: plinth/modules/ikiwiki/views.py:150
+#: plinth/modules/ikiwiki/views.py:153
#, python-brace-format
msgid "{name} deleted."
msgstr ""
-#: plinth/modules/ikiwiki/views.py:154
+#: plinth/modules/ikiwiki/views.py:157
#, python-brace-format
msgid "Could not delete {name}: {error}"
msgstr ""
-#: plinth/modules/infinoted/__init__.py:41
+#: plinth/modules/infinoted/__init__.py:40
msgid "infinoted"
msgstr ""
-#: plinth/modules/infinoted/__init__.py:43
+#: plinth/modules/infinoted/__init__.py:42
msgid "Gobby Server"
msgstr ""
-#: plinth/modules/infinoted/__init__.py:46
+#: plinth/modules/infinoted/__init__.py:45
msgid "infinoted is a server for Gobby, a collaborative text editor."
msgstr ""
-#: plinth/modules/infinoted/__init__.py:48
+#: plinth/modules/infinoted/__init__.py:47
#, python-brace-format
msgid ""
"To use it, download Gobby, desktop "
@@ -1969,11 +1968,11 @@ msgstr ""
msgid "Failed to delete certificate for domain {domain}: {error}"
msgstr ""
-#: plinth/modules/matrixsynapse/__init__.py:41
+#: plinth/modules/matrixsynapse/__init__.py:43
msgid "Matrix Synapse"
msgstr ""
-#: plinth/modules/matrixsynapse/__init__.py:46
+#: plinth/modules/matrixsynapse/__init__.py:48
msgid ""
"Matrix is an new "
"ecosystem for open, federated instant messaging and VoIP. Synapse is a "
@@ -1983,7 +1982,7 @@ msgid ""
"converse with users on all other Matrix servers via federation."
msgstr ""
-#: plinth/modules/matrixsynapse/__init__.py:53
+#: plinth/modules/matrixsynapse/__init__.py:55
msgid ""
"To communicate, you can use the available clients for mobile, desktop and the web. Special:CreateAccount page."
msgstr ""
-#: plinth/modules/mediawiki/__init__.py:49
+#: plinth/modules/mediawiki/__init__.py:53
msgid ""
"Anyone with a link to this wiki can read it. Only users that are logged in "
"can make changes to the content."
@@ -2120,32 +2119,32 @@ msgstr ""
msgid "Password updated"
msgstr ""
-#: plinth/modules/mediawiki/views.py:91
+#: plinth/modules/mediawiki/views.py:89
msgid "Public registrations enabled"
msgstr ""
-#: plinth/modules/mediawiki/views.py:100
+#: plinth/modules/mediawiki/views.py:98
msgid "Public registrations disabled"
msgstr ""
-#: plinth/modules/mediawiki/views.py:109
+#: plinth/modules/mediawiki/views.py:107
msgid "Private mode enabled"
msgstr ""
-#: plinth/modules/mediawiki/views.py:112
+#: plinth/modules/mediawiki/views.py:110
msgid "Private mode disabled"
msgstr ""
-#: plinth/modules/minetest/__init__.py:53
+#: plinth/modules/minetest/__init__.py:52
#: plinth/modules/minetest/manifest.py:25
msgid "Minetest"
msgstr ""
-#: plinth/modules/minetest/__init__.py:55
+#: plinth/modules/minetest/__init__.py:54
msgid "Block Sandbox"
msgstr ""
-#: plinth/modules/minetest/__init__.py:59
+#: plinth/modules/minetest/__init__.py:58
#, python-brace-format
msgid ""
"Minetest is a multiplayer infinite-world block sandbox. This module enables "
@@ -2154,39 +2153,39 @@ msgid ""
"downloads/\">Minetest client is needed."
msgstr ""
-#: plinth/modules/minetest/forms.py:31
+#: plinth/modules/minetest/forms.py:30
msgid "Maximum number of players"
msgstr ""
-#: plinth/modules/minetest/forms.py:35
+#: plinth/modules/minetest/forms.py:32
msgid ""
"You can change the maximum number of players playing minetest at a single "
"instance of time."
msgstr ""
-#: plinth/modules/minetest/forms.py:39
+#: plinth/modules/minetest/forms.py:36
msgid "Enable creative mode"
msgstr ""
-#: plinth/modules/minetest/forms.py:41
+#: plinth/modules/minetest/forms.py:37
msgid ""
"Creative mode changes the rules of the game to make it more suitable for "
"creative gameplay, rather than challenging \"survival\" gameplay."
msgstr ""
-#: plinth/modules/minetest/forms.py:46
+#: plinth/modules/minetest/forms.py:42
msgid "Enable PVP"
msgstr ""
-#: plinth/modules/minetest/forms.py:48
+#: plinth/modules/minetest/forms.py:43
msgid "Enabling Player Vs Player will allow players to damage other players."
msgstr ""
-#: plinth/modules/minetest/forms.py:52
+#: plinth/modules/minetest/forms.py:47
msgid "Enable damage"
msgstr ""
-#: plinth/modules/minetest/forms.py:54
+#: plinth/modules/minetest/forms.py:48
msgid "When disabled, players cannot die or receive damage of any kind."
msgstr ""
@@ -2200,52 +2199,52 @@ msgstr ""
msgid "Port"
msgstr ""
-#: plinth/modules/minetest/views.py:71
+#: plinth/modules/minetest/views.py:72
msgid "Maximum players configuration updated"
msgstr ""
-#: plinth/modules/minetest/views.py:78
+#: plinth/modules/minetest/views.py:79
msgid "Creative mode configuration updated"
msgstr ""
-#: plinth/modules/minetest/views.py:84
+#: plinth/modules/minetest/views.py:85
msgid "PVP configuration updated"
msgstr ""
-#: plinth/modules/minetest/views.py:90
+#: plinth/modules/minetest/views.py:91
msgid "Damage configuration updated"
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:38
+#: plinth/modules/mldonkey/__init__.py:40
#: plinth/modules/mldonkey/manifest.py:27
msgid "MLDonkey"
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:40
+#: plinth/modules/mldonkey/__init__.py:42
msgid "Peer-to-peer File Sharing"
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:43
+#: plinth/modules/mldonkey/__init__.py:45
msgid ""
"MLDonkey is a peer-to-peer file sharing application used to exchange large "
"files. It can participate in multiple peer-to-peer networks including "
"eDonkey, Kademlia, Overnet, BitTorrent and DirectConnect."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:46
+#: plinth/modules/mldonkey/__init__.py:48
msgid ""
"Users belonging to admin and ed2k group can control it through the web "
"interface. Users in the admin group can also control it through any of the "
"separate mobile or desktop front-ends or a telnet interface. See manual."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:51
+#: plinth/modules/mldonkey/__init__.py:53
#, python-brace-format
msgid ""
"On {box_name}, downloaded files can be found in /var/lib/mldonkey/ directory."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:59
+#: plinth/modules/mldonkey/__init__.py:61
msgid "Download files using eDonkey applications"
msgstr ""
@@ -2309,12 +2308,6 @@ msgstr ""
msgid "Secure Shell"
msgstr ""
-#: plinth/modules/monkeysphere/templates/monkeysphere.html:88
-#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:60
-#: plinth/service.py:138
-msgid "Web Server"
-msgstr ""
-
#: plinth/modules/monkeysphere/templates/monkeysphere.html:90
#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:62
msgid "Other"
@@ -2407,21 +2400,21 @@ msgstr ""
msgid "Error occurred while publishing key."
msgstr ""
-#: plinth/modules/mumble/__init__.py:34 plinth/modules/mumble/manifest.py:27
+#: plinth/modules/mumble/__init__.py:35 plinth/modules/mumble/manifest.py:27
msgid "Mumble"
msgstr ""
-#: plinth/modules/mumble/__init__.py:36
+#: plinth/modules/mumble/__init__.py:37
msgid "Voice Chat"
msgstr ""
-#: plinth/modules/mumble/__init__.py:45
+#: plinth/modules/mumble/__init__.py:44
msgid ""
"Mumble is an open source, low-latency, encrypted, high quality voice chat "
"software."
msgstr ""
-#: plinth/modules/mumble/__init__.py:47
+#: plinth/modules/mumble/__init__.py:46
msgid ""
"You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your "
@@ -2469,7 +2462,7 @@ msgstr ""
msgid "Networks"
msgstr ""
-#: plinth/modules/networks/__init__.py:142
+#: plinth/modules/networks/__init__.py:144
#, python-brace-format
msgid "Using DNSSEC on IPv{kind}"
msgstr ""
@@ -2896,7 +2889,7 @@ msgstr ""
#: plinth/modules/networks/templates/connection_show.html:186
#: plinth/modules/networks/templates/connection_show.html:227
-#: plinth/modules/shadowsocks/forms.py:75
+#: plinth/modules/shadowsocks/forms.py:65
msgid "Method"
msgstr ""
@@ -3018,15 +3011,15 @@ msgstr ""
msgid "Create..."
msgstr ""
-#: plinth/modules/openvpn/__init__.py:40
+#: plinth/modules/openvpn/__init__.py:39
msgid "OpenVPN"
msgstr ""
-#: plinth/modules/openvpn/__init__.py:42
+#: plinth/modules/openvpn/__init__.py:41
msgid "Virtual Private Network"
msgstr ""
-#: plinth/modules/openvpn/__init__.py:46
+#: plinth/modules/openvpn/__init__.py:45
#, python-brace-format
msgid ""
"Virtual Private Network (VPN) is a technique for securely connecting two "
@@ -3037,7 +3030,7 @@ msgid ""
"security and anonymity."
msgstr ""
-#: plinth/modules/openvpn/__init__.py:74
+#: plinth/modules/openvpn/__init__.py:75
#, python-brace-format
msgid ""
"Download Profile"
@@ -3102,11 +3095,11 @@ msgstr ""
msgid "OpenVPN server is not running"
msgstr ""
-#: plinth/modules/openvpn/views.py:128
+#: plinth/modules/openvpn/views.py:126
msgid "Setup completed."
msgstr ""
-#: plinth/modules/openvpn/views.py:130
+#: plinth/modules/openvpn/views.py:128
msgid "Setup failed."
msgstr ""
@@ -3176,7 +3169,7 @@ msgid ""
"pagekite.net server."
msgstr ""
-#: plinth/modules/pagekite/forms.py:78 plinth/modules/shadowsocks/forms.py:64
+#: plinth/modules/pagekite/forms.py:78 plinth/modules/shadowsocks/forms.py:57
msgid "Server port"
msgstr ""
@@ -3376,47 +3369,47 @@ msgstr ""
msgid "Save Services"
msgstr ""
-#: plinth/modules/pagekite/utils.py:53
+#: plinth/modules/pagekite/utils.py:57
msgid "Web Server (HTTP)"
msgstr ""
-#: plinth/modules/pagekite/utils.py:54
+#: plinth/modules/pagekite/utils.py:59
#, python-brace-format
msgid "Site will be available at http://{0}"
msgstr ""
-#: plinth/modules/pagekite/utils.py:63
+#: plinth/modules/pagekite/utils.py:71
msgid "Web Server (HTTPS)"
msgstr ""
-#: plinth/modules/pagekite/utils.py:64
+#: plinth/modules/pagekite/utils.py:73
#, python-brace-format
msgid "Site will be available at https://{0}"
msgstr ""
-#: plinth/modules/pagekite/utils.py:73
+#: plinth/modules/pagekite/utils.py:85
msgid "Secure Shell (SSH)"
msgstr ""
-#: plinth/modules/pagekite/utils.py:74
+#: plinth/modules/pagekite/utils.py:87
msgid ""
"See SSH client setup instructions"
msgstr ""
-#: plinth/modules/pagekite/utils.py:276
+#: plinth/modules/pagekite/utils.py:288
msgid "Pagekite"
msgstr ""
-#: plinth/modules/pagekite/views.py:39
+#: plinth/modules/pagekite/views.py:40
msgid "Standard Services"
msgstr ""
-#: plinth/modules/pagekite/views.py:42
+#: plinth/modules/pagekite/views.py:44
msgid "Custom Services"
msgstr ""
-#: plinth/modules/pagekite/views.py:156
+#: plinth/modules/pagekite/views.py:158
msgid "Pagekite setup finished. The HTTP and HTTPS services are activated now."
msgstr ""
@@ -3477,22 +3470,22 @@ msgstr ""
msgid "Shut Down Now"
msgstr ""
-#: plinth/modules/privoxy/__init__.py:41
+#: plinth/modules/privoxy/__init__.py:42
msgid "Privoxy"
msgstr ""
-#: plinth/modules/privoxy/__init__.py:43
+#: plinth/modules/privoxy/__init__.py:44
msgid "Web Proxy"
msgstr ""
-#: plinth/modules/privoxy/__init__.py:46
+#: plinth/modules/privoxy/__init__.py:47
msgid ""
"Privoxy is a non-caching web proxy with advanced filtering capabilities for "
"enhancing privacy, modifying web page data and HTTP headers, controlling "
"access, and removing ads and other obnoxious Internet junk. "
msgstr ""
-#: plinth/modules/privoxy/__init__.py:51
+#: plinth/modules/privoxy/__init__.py:52
#, python-brace-format
msgid ""
"You can use Privoxy by modifying your browser proxy settings to your "
@@ -3502,20 +3495,20 @@ msgid ""
"\">http://p.p."
msgstr ""
-#: plinth/modules/privoxy/__init__.py:157
+#: plinth/modules/privoxy/__init__.py:142
#, python-brace-format
msgid "Access {url} with proxy {proxy} on tcp{kind}"
msgstr ""
-#: plinth/modules/quassel/__init__.py:41 plinth/modules/quassel/manifest.py:25
+#: plinth/modules/quassel/__init__.py:40 plinth/modules/quassel/manifest.py:25
msgid "Quassel"
msgstr ""
-#: plinth/modules/quassel/__init__.py:43
+#: plinth/modules/quassel/__init__.py:42
msgid "IRC Client"
msgstr ""
-#: plinth/modules/quassel/__init__.py:47
+#: plinth/modules/quassel/__init__.py:46
#, python-brace-format
msgid ""
"Quassel is an IRC application that is split into two parts, a \"core\" and a "
@@ -3526,7 +3519,7 @@ msgid ""
"connect and disconnect from it."
msgstr ""
-#: plinth/modules/quassel/__init__.py:54
+#: plinth/modules/quassel/__init__.py:53
msgid ""
"You can connect to your Quassel core on the default Quassel port 4242. "
"Clients to connect to Quassel from your Jitsi (for computers) and (for Android phones)."
msgstr ""
-#: plinth/modules/repro/__init__.py:53
+#: plinth/modules/repro/__init__.py:55
msgid ""
"Note: Before using repro, domains and users will need to "
"be configured using the web-based "
@@ -3673,15 +3666,15 @@ msgstr ""
msgid "CSipSimple"
msgstr ""
-#: plinth/modules/restore/__init__.py:36 plinth/modules/restore/manifest.py:23
+#: plinth/modules/restore/__init__.py:37 plinth/modules/restore/manifest.py:23
msgid "reStore"
msgstr ""
-#: plinth/modules/restore/__init__.py:38
+#: plinth/modules/restore/__init__.py:39
msgid "Unhosted Storage"
msgstr ""
-#: plinth/modules/restore/__init__.py:42
+#: plinth/modules/restore/__init__.py:43
#, python-brace-format
msgid ""
"reStore is a server for unhosted web "
@@ -3691,22 +3684,22 @@ msgid ""
"becomes your unhosted storage server."
msgstr ""
-#: plinth/modules/restore/__init__.py:48
+#: plinth/modules/restore/__init__.py:49
msgid ""
"You can create and edit accounts in the reStore web-"
"interface."
msgstr ""
-#: plinth/modules/roundcube/__init__.py:34
+#: plinth/modules/roundcube/__init__.py:35
#: plinth/modules/roundcube/manifest.py:24
msgid "Roundcube"
msgstr ""
-#: plinth/modules/roundcube/__init__.py:36
+#: plinth/modules/roundcube/__init__.py:37
msgid "Email Client"
msgstr ""
-#: plinth/modules/roundcube/__init__.py:39
+#: plinth/modules/roundcube/__init__.py:40
msgid ""
"Roundcube webmail is a browser-based multilingual IMAP client with an "
"application-like user interface. It provides full functionality you expect "
@@ -3714,7 +3707,7 @@ msgid ""
"manipulation, message searching and spell checking."
msgstr ""
-#: plinth/modules/roundcube/__init__.py:44
+#: plinth/modules/roundcube/__init__.py:45
msgid ""
"You can access Roundcube from /roundcube. Provide "
"the username and password of the email account you wish to access followed "
@@ -3723,7 +3716,7 @@ msgid ""
"server field like imaps://imap.example.com."
msgstr ""
-#: plinth/modules/roundcube/__init__.py:50
+#: plinth/modules/roundcube/__init__.py:51
msgid ""
"For Gmail, username will be your Gmail address, password will be your Google "
"account password and server will be imaps://imap.gmail.com. "
@@ -3785,12 +3778,12 @@ msgstr ""
msgid "Allow this application to be used by anyone who can reach it."
msgstr ""
-#: plinth/modules/searx/views.py:60 plinth/modules/searx/views.py:71
-#: plinth/modules/tor/views.py:139 plinth/modules/tor/views.py:168
+#: plinth/modules/searx/views.py:59 plinth/modules/searx/views.py:70
+#: plinth/modules/tor/views.py:141 plinth/modules/tor/views.py:168
msgid "Configuration updated."
msgstr ""
-#: plinth/modules/searx/views.py:63 plinth/modules/searx/views.py:74
+#: plinth/modules/searx/views.py:62 plinth/modules/searx/views.py:73
#: plinth/modules/tor/views.py:170
msgid "An error occurred during configuration."
msgstr ""
@@ -3845,22 +3838,22 @@ msgid ""
"account, which you will need to setup on the initial visit."
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:34
+#: plinth/modules/shadowsocks/__init__.py:35
msgid "Shadowsocks"
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:36
+#: plinth/modules/shadowsocks/__init__.py:37
msgid "Socks5 Proxy"
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:45
+#: plinth/modules/shadowsocks/__init__.py:44
msgid ""
"Shadowsocks is a lightweight and secure SOCKS5 proxy, designed to protect "
"your Internet traffic. It can be used to bypass Internet filtering and "
"censorship."
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:49
+#: plinth/modules/shadowsocks/__init__.py:48
#, python-brace-format
msgid ""
"Your {box_name} can run a Shadowsocks client, that can connect to a "
@@ -3869,34 +3862,34 @@ msgid ""
"the Shadowsocks server."
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:54
+#: plinth/modules/shadowsocks/__init__.py:53
msgid ""
"To use Shadowsocks after setup, set the SOCKS5 proxy URL in your device, "
"browser or application to http://freedombox_address:1080/"
msgstr ""
+#: plinth/modules/shadowsocks/forms.py:28
#: plinth/modules/shadowsocks/forms.py:29
-#: plinth/modules/shadowsocks/forms.py:30
msgid "Recommended"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:60
+#: plinth/modules/shadowsocks/forms.py:54
msgid "Server"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:61
+#: plinth/modules/shadowsocks/forms.py:54
msgid "Server hostname or IP address"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:67
+#: plinth/modules/shadowsocks/forms.py:58
msgid "Server port number"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:71
+#: plinth/modules/shadowsocks/forms.py:61
msgid "Password used to encrypt data. Must match server password."
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:77
+#: plinth/modules/shadowsocks/forms.py:66
msgid "Encryption method. Must match setting on server."
msgstr ""
@@ -4154,7 +4147,7 @@ msgstr ""
msgid "Storage snapshots configuration updated"
msgstr ""
-#: plinth/modules/snapshot/views.py:153 plinth/modules/tor/views.py:72
+#: plinth/modules/snapshot/views.py:153 plinth/modules/tor/views.py:73
#, python-brace-format
msgid "Action error: {0} [{1}] [{2}]"
msgstr ""
@@ -4184,11 +4177,11 @@ msgstr ""
msgid "Rollback to Snapshot"
msgstr ""
-#: plinth/modules/ssh/__init__.py:39
+#: plinth/modules/ssh/__init__.py:40
msgid "Secure Shell (SSH) Server"
msgstr ""
-#: plinth/modules/ssh/__init__.py:42
+#: plinth/modules/ssh/__init__.py:43
msgid ""
"A Secure Shell server uses the secure shell protocol to accept connections "
"from remote computers. An authorized remote computer can perform "
@@ -4204,11 +4197,11 @@ msgstr ""
msgid "Login"
msgstr ""
-#: plinth/modules/storage/__init__.py:36 plinth/modules/storage/views.py:53
+#: plinth/modules/storage/__init__.py:35 plinth/modules/storage/views.py:53
msgid "Storage"
msgstr ""
-#: plinth/modules/storage/__init__.py:44
+#: plinth/modules/storage/__init__.py:43
#, python-brace-format
msgid ""
"This module allows you to manage storage media attached to your {box_name}. "
@@ -4216,80 +4209,80 @@ msgid ""
"media, expand the root partition etc."
msgstr ""
-#: plinth/modules/storage/__init__.py:211
+#: plinth/modules/storage/__init__.py:213
#, python-brace-format
msgid "{disk_size:.1f} bytes"
msgstr ""
-#: plinth/modules/storage/__init__.py:215
+#: plinth/modules/storage/__init__.py:217
#, python-brace-format
msgid "{disk_size:.1f} KiB"
msgstr ""
-#: plinth/modules/storage/__init__.py:219
+#: plinth/modules/storage/__init__.py:221
#, python-brace-format
msgid "{disk_size:.1f} MiB"
msgstr ""
-#: plinth/modules/storage/__init__.py:223
+#: plinth/modules/storage/__init__.py:225
#, python-brace-format
msgid "{disk_size:.1f} GiB"
msgstr ""
-#: plinth/modules/storage/__init__.py:226
+#: plinth/modules/storage/__init__.py:228
#, python-brace-format
msgid "{disk_size:.1f} TiB"
msgstr ""
-#: plinth/modules/storage/__init__.py:233
+#: plinth/modules/storage/__init__.py:235
msgid "The operation failed."
msgstr ""
-#: plinth/modules/storage/__init__.py:235
+#: plinth/modules/storage/__init__.py:237
msgid "The operation was cancelled."
msgstr ""
-#: plinth/modules/storage/__init__.py:237
+#: plinth/modules/storage/__init__.py:239
msgid "The device is already unmounting."
msgstr ""
-#: plinth/modules/storage/__init__.py:239
+#: plinth/modules/storage/__init__.py:241
msgid "The operation is not supported due to missing driver/tool support."
msgstr ""
-#: plinth/modules/storage/__init__.py:242
+#: plinth/modules/storage/__init__.py:244
msgid "The operation timed out."
msgstr ""
-#: plinth/modules/storage/__init__.py:244
+#: plinth/modules/storage/__init__.py:246
msgid "The operation would wake up a disk that is in a deep-sleep state."
msgstr ""
-#: plinth/modules/storage/__init__.py:247
+#: plinth/modules/storage/__init__.py:249
msgid "Attempting to unmount a device that is busy."
msgstr ""
-#: plinth/modules/storage/__init__.py:249
+#: plinth/modules/storage/__init__.py:251
msgid "The operation has already been cancelled."
msgstr ""
-#: plinth/modules/storage/__init__.py:255
+#: plinth/modules/storage/__init__.py:257
msgid "Not authorized to perform the requested operation."
msgstr ""
-#: plinth/modules/storage/__init__.py:257
+#: plinth/modules/storage/__init__.py:259
msgid "The device is already mounted."
msgstr ""
-#: plinth/modules/storage/__init__.py:259
+#: plinth/modules/storage/__init__.py:261
msgid "The device is not mounted."
msgstr ""
-#: plinth/modules/storage/__init__.py:262
+#: plinth/modules/storage/__init__.py:264
msgid "Not permitted to use the requested option."
msgstr ""
-#: plinth/modules/storage/__init__.py:265
+#: plinth/modules/storage/__init__.py:267
msgid "The device is mounted by another user."
msgstr ""
@@ -4365,16 +4358,16 @@ msgstr ""
msgid "Error ejecting device: {error_message}"
msgstr ""
-#: plinth/modules/syncthing/__init__.py:38
+#: plinth/modules/syncthing/__init__.py:40
#: plinth/modules/syncthing/manifest.py:28
msgid "Syncthing"
msgstr ""
-#: plinth/modules/syncthing/__init__.py:40
+#: plinth/modules/syncthing/__init__.py:42
msgid "File Synchronization"
msgstr ""
-#: plinth/modules/syncthing/__init__.py:43
+#: plinth/modules/syncthing/__init__.py:45
msgid ""
"Syncthing is an application to synchronize files across multiple devices, e."
"g. your desktop computer and mobile phone. Creation, modification, or "
@@ -4382,7 +4375,7 @@ msgid ""
"other devices that also run Syncthing."
msgstr ""
-#: plinth/modules/syncthing/__init__.py:48
+#: plinth/modules/syncthing/__init__.py:50
#, python-brace-format
msgid ""
"Running Syncthing on {box_name} provides an extra synchronization point for "
@@ -4393,26 +4386,26 @@ msgid ""
"{box_name} is only available for users belonging to the \"admin\" group."
msgstr ""
-#: plinth/modules/syncthing/__init__.py:55
+#: plinth/modules/syncthing/__init__.py:57
msgid ""
"When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile clients are also available."
msgstr ""
-#: plinth/modules/syncthing/__init__.py:62
+#: plinth/modules/syncthing/__init__.py:64
msgid "Administer Syncthing application"
msgstr ""
-#: plinth/modules/tahoe/__init__.py:41
+#: plinth/modules/tahoe/__init__.py:43
msgid "Tahoe-LAFS"
msgstr ""
-#: plinth/modules/tahoe/__init__.py:43
+#: plinth/modules/tahoe/__init__.py:45
msgid "Distributed File Storage"
msgstr ""
-#: plinth/modules/tahoe/__init__.py:107
+#: plinth/modules/tahoe/__init__.py:119
msgid ""
"Tahoe-LAFS is a decentralized secure file storage system. It uses provider "
"independent security to store files over a distributed network of storage "
@@ -4420,7 +4413,7 @@ msgid ""
"remaining nodes."
msgstr ""
-#: plinth/modules/tahoe/__init__.py:112
+#: plinth/modules/tahoe/__init__.py:124
#, python-brace-format
msgid ""
"This {box_name} hosts a storage node and an introducer by default. "
@@ -4463,11 +4456,11 @@ msgstr ""
msgid "Remove"
msgstr ""
-#: plinth/modules/tor/__init__.py:43
+#: plinth/modules/tor/__init__.py:46
msgid "Tor"
msgstr ""
-#: plinth/modules/tor/__init__.py:48
+#: plinth/modules/tor/__init__.py:51
msgid ""
"Tor is an anonymous communication system. You can learn more about it from "
"the Tor Project website. For "
@@ -4476,40 +4469,36 @@ msgid ""
"\">Tor Browser."
msgstr ""
-#: plinth/modules/tor/__init__.py:93
+#: plinth/modules/tor/__init__.py:80
msgid "Tor Socks Proxy"
msgstr ""
-#: plinth/modules/tor/__init__.py:99 plinth/modules/tor/__init__.py:146
+#: plinth/modules/tor/__init__.py:84
msgid "Tor Bridge Relay"
msgstr ""
-#: plinth/modules/tor/__init__.py:120 plinth/modules/tor/__init__.py:188
+#: plinth/modules/tor/__init__.py:122 plinth/modules/tor/__init__.py:150
msgid "Tor Hidden Service"
msgstr ""
-#: plinth/modules/tor/__init__.py:136
-msgid "Tor Anonymity Network"
-msgstr ""
-
-#: plinth/modules/tor/__init__.py:208
+#: plinth/modules/tor/__init__.py:170
msgid "Tor relay port available"
msgstr ""
-#: plinth/modules/tor/__init__.py:218
+#: plinth/modules/tor/__init__.py:180
msgid "Obfs3 transport registered"
msgstr ""
-#: plinth/modules/tor/__init__.py:226
+#: plinth/modules/tor/__init__.py:188
msgid "Obfs4 transport registered"
msgstr ""
-#: plinth/modules/tor/__init__.py:265
+#: plinth/modules/tor/__init__.py:227
#, python-brace-format
msgid "Access URL {url} on tcp{kind} via Tor"
msgstr ""
-#: plinth/modules/tor/__init__.py:276
+#: plinth/modules/tor/__init__.py:238
#, python-brace-format
msgid "Confirm Tor usage at {url} on tcp{kind}"
msgstr ""
@@ -4643,18 +4632,18 @@ msgstr ""
msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050."
msgstr ""
-#: plinth/modules/transmission/__init__.py:39
+#: plinth/modules/transmission/__init__.py:41
#: plinth/modules/transmission/manifest.py:24
msgid "Transmission"
msgstr ""
-#: plinth/modules/transmission/__init__.py:44
+#: plinth/modules/transmission/__init__.py:46
msgid ""
"BitTorrent is a peer-to-peer file sharing protocol. Transmission daemon "
"handles Bitorrent file sharing. Note that BitTorrent is not anonymous."
msgstr ""
-#: plinth/modules/transmission/__init__.py:47
+#: plinth/modules/transmission/__init__.py:49
msgid ""
"Access the web interface at /transmission."
msgstr ""
@@ -4670,22 +4659,22 @@ msgid ""
"\" user."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:41 plinth/modules/ttrss/manifest.py:34
+#: plinth/modules/ttrss/__init__.py:43 plinth/modules/ttrss/manifest.py:34
msgid "Tiny Tiny RSS"
msgstr ""
-#: plinth/modules/ttrss/__init__.py:43
+#: plinth/modules/ttrss/__init__.py:45
msgid "News Feed Reader"
msgstr ""
-#: plinth/modules/ttrss/__init__.py:46
+#: plinth/modules/ttrss/__init__.py:48
msgid ""
"Tiny Tiny RSS is a news feed (RSS/Atom) reader and aggregator, designed to "
"allow reading news from any location, while feeling as close to a real "
"desktop application as possible."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:50
+#: plinth/modules/ttrss/__init__.py:52
#, python-brace-format
msgid ""
"When enabled, Tiny Tiny RSS will be available from /tt-"
@@ -4693,13 +4682,13 @@ msgid ""
"\"{users_url}\">user with a {box_name} login."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:55
+#: plinth/modules/ttrss/__init__.py:57
msgid ""
"When using a mobile or desktop application for Tiny Tiny RSS, use the URL /tt-rss-app for connecting."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:61
+#: plinth/modules/ttrss/__init__.py:63
msgid "Read and subscribe to news feeds"
msgstr ""
@@ -4707,11 +4696,11 @@ msgstr ""
msgid "Tiny Tiny RSS (Fork)"
msgstr ""
-#: plinth/modules/upgrades/__init__.py:36 plinth/templates/setup.html:101
+#: plinth/modules/upgrades/__init__.py:35 plinth/templates/setup.html:101
msgid "Update"
msgstr ""
-#: plinth/modules/upgrades/__init__.py:39
+#: plinth/modules/upgrades/__init__.py:38
msgid "Check for and apply the latest software and security updates."
msgstr ""
@@ -4746,32 +4735,32 @@ msgstr ""
msgid "Auto-update"
msgstr ""
-#: plinth/modules/upgrades/views.py:39
+#: plinth/modules/upgrades/views.py:40
msgid "Manual update"
msgstr ""
-#: plinth/modules/upgrades/views.py:78
+#: plinth/modules/upgrades/views.py:79
#, python-brace-format
msgid "Error when configuring unattended-upgrades: {error}"
msgstr ""
-#: plinth/modules/upgrades/views.py:82
+#: plinth/modules/upgrades/views.py:83
msgid "Automatic upgrades enabled"
msgstr ""
-#: plinth/modules/upgrades/views.py:85
+#: plinth/modules/upgrades/views.py:86
msgid "Automatic upgrades disabled"
msgstr ""
-#: plinth/modules/upgrades/views.py:87
+#: plinth/modules/upgrades/views.py:88
msgid "Settings unchanged"
msgstr ""
-#: plinth/modules/upgrades/views.py:113
+#: plinth/modules/upgrades/views.py:114
msgid "Upgrade process started."
msgstr ""
-#: plinth/modules/upgrades/views.py:116
+#: plinth/modules/upgrades/views.py:117
msgid "Starting upgrade failed."
msgstr ""
@@ -4779,7 +4768,7 @@ msgstr ""
msgid "Users and Groups"
msgstr ""
-#: plinth/modules/users/__init__.py:106
+#: plinth/modules/users/__init__.py:108
#, python-brace-format
msgid "Check LDAP entry \"{search_item}\""
msgstr ""
@@ -4991,15 +4980,6 @@ msgstr ""
msgid "configuration file: {file}"
msgstr ""
-#: plinth/service.py:140
-msgid "Web Server over Secure Socket Layer"
-msgstr ""
-
-#: plinth/service.py:145
-#, python-brace-format
-msgid "{box_name} Web Interface (Plinth)"
-msgstr ""
-
#: plinth/templates/403.html:25
msgid "403 Forbidden"
msgstr ""
@@ -5198,16 +5178,16 @@ msgstr ""
msgid "Mailing list"
msgstr ""
-#: plinth/templates/internal-zone.html:25
+#: plinth/templates/internal-zone.html:26
#, python-format
msgid "%(service_name)s is available only on internal networks."
msgstr ""
-#: plinth/templates/internal-zone.html:31
+#: plinth/templates/internal-zone.html:32
msgid "Currently there are no network interfaces configured as internal."
msgstr ""
-#: plinth/templates/internal-zone.html:33
+#: plinth/templates/internal-zone.html:34
#, python-format
msgid ""
"Currently the following network interfaces are configured as internal: "
@@ -5270,6 +5250,14 @@ msgstr ""
msgid "%(percentage)s%% complete"
msgstr ""
+#: plinth/views.py:178
+msgid "Application enabled"
+msgstr ""
+
+#: plinth/views.py:181
+msgid "Application disabled"
+msgstr ""
+
#: plinth/web_framework.py:186
msgid "Gujarati"
msgstr ""
diff --git a/plinth/locale/bn/LC_MESSAGES/django.po b/plinth/locale/bn/LC_MESSAGES/django.po
index 82e08b4dc..4ce5d3f7e 100644
--- a/plinth/locale/bn/LC_MESSAGES/django.po
+++ b/plinth/locale/bn/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-06-10 19:02-0400\n"
+"POT-Creation-Date: 2019-06-24 19:48-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -48,7 +48,7 @@ msgstr ""
msgid "Cannot connect to {host}:{port}"
msgstr ""
-#: plinth/context_processors.py:37 plinth/views.py:60
+#: plinth/context_processors.py:37 plinth/views.py:61
msgid "FreedomBox"
msgstr ""
@@ -92,11 +92,22 @@ msgstr ""
msgid "Error installing application: {error}"
msgstr ""
-#: plinth/modules/avahi/__init__.py:42
+#: plinth/modules/apache/__init__.py:47
+#: plinth/modules/monkeysphere/templates/monkeysphere.html:88
+#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:60
+msgid "Web Server"
+msgstr ""
+
+#: plinth/modules/apache/__init__.py:54
+#, python-brace-format
+msgid "{box_name} Web Interface (Plinth)"
+msgstr ""
+
+#: plinth/modules/avahi/__init__.py:43
msgid "Service Discovery"
msgstr ""
-#: plinth/modules/avahi/__init__.py:46
+#: plinth/modules/avahi/__init__.py:47
#, python-brace-format
msgid ""
"Service discovery allows other devices on the network to discover your "
@@ -115,7 +126,7 @@ msgstr ""
msgid "Backups allows creating and managing backup archives."
msgstr ""
-#: plinth/modules/backups/__init__.py:51
+#: plinth/modules/backups/__init__.py:49
#, python-brace-format
msgid "{box_name} storage"
msgstr ""
@@ -399,21 +410,21 @@ msgstr ""
msgid "Mounting failed"
msgstr ""
-#: plinth/modules/bind/__init__.py:35
+#: plinth/modules/bind/__init__.py:36
msgid "BIND"
msgstr ""
-#: plinth/modules/bind/__init__.py:37
+#: plinth/modules/bind/__init__.py:38
msgid "Domain Name Server"
msgstr ""
-#: plinth/modules/bind/__init__.py:46
+#: plinth/modules/bind/__init__.py:45
msgid ""
"BIND enables you to publish your Domain Name System (DNS) information on the "
"Internet, and to resolve DNS queries for your user devices on your network."
msgstr ""
-#: plinth/modules/bind/__init__.py:50
+#: plinth/modules/bind/__init__.py:49
#, python-brace-format
msgid ""
"Currently, on {box_name}, BIND is only used to resolve DNS queries for other "
@@ -438,21 +449,21 @@ msgstr ""
msgid "Enable Domain Name System Security Extensions"
msgstr ""
-#: plinth/modules/bind/views.py:58 plinth/modules/dynamicdns/views.py:170
-#: plinth/modules/openvpn/views.py:148 plinth/modules/shadowsocks/views.py:80
+#: plinth/modules/bind/views.py:59 plinth/modules/dynamicdns/views.py:172
+#: plinth/modules/openvpn/views.py:146 plinth/modules/shadowsocks/views.py:79
#: plinth/modules/transmission/views.py:74
msgid "Configuration updated"
msgstr ""
-#: plinth/modules/cockpit/__init__.py:40 plinth/modules/cockpit/manifest.py:27
+#: plinth/modules/cockpit/__init__.py:42 plinth/modules/cockpit/manifest.py:27
msgid "Cockpit"
msgstr ""
-#: plinth/modules/cockpit/__init__.py:42
+#: plinth/modules/cockpit/__init__.py:44
msgid "Server Administration"
msgstr ""
-#: plinth/modules/cockpit/__init__.py:46
+#: plinth/modules/cockpit/__init__.py:48
#, python-brace-format
msgid ""
"Cockpit is a server manager that makes it easy to administer GNU/Linux "
@@ -461,7 +472,7 @@ msgid ""
"console operations is also available."
msgstr ""
-#: plinth/modules/cockpit/__init__.py:52
+#: plinth/modules/cockpit/__init__.py:54
#, python-brace-format
msgid ""
"When enabled, Cockpit will be available from /"
@@ -469,14 +480,14 @@ msgid ""
"\"{users_url}\">any user on {box_name} belonging to the admin group."
msgstr ""
-#: plinth/modules/config/__init__.py:59 plinth/modules/dynamicdns/views.py:44
+#: plinth/modules/config/__init__.py:61 plinth/modules/dynamicdns/views.py:45
#: plinth/modules/i2p/views.py:31 plinth/modules/ikiwiki/views.py:35
#: plinth/modules/pagekite/views.py:36 plinth/modules/snapshot/views.py:40
#: plinth/modules/tahoe/templates/tahoe-pre-setup.html:39
msgid "Configure"
msgstr ""
-#: plinth/modules/config/__init__.py:164 plinth/modules/config/forms.py:76
+#: plinth/modules/config/__init__.py:166 plinth/modules/config/forms.py:76
#: plinth/modules/config/views.py:171 plinth/modules/dynamicdns/forms.py:111
msgid "Domain Name"
msgstr ""
@@ -548,8 +559,8 @@ msgstr ""
#: plinth/modules/power/templates/power_restart.html:42
#: plinth/modules/power/templates/power_shutdown.html:41
#: plinth/modules/storage/templates/storage.html:48
-#: plinth/templates/service-subsubmenu.html:47 plinth/templates/service.html:42
-#: plinth/templates/setup.html:48 plinth/templates/simple_service.html:38
+#: plinth/templates/app-subsubmenu.html:47 plinth/templates/app.html:42
+#: plinth/templates/setup.html:48 plinth/templates/simple_app.html:38
msgid "Learn more..."
msgstr ""
@@ -597,22 +608,22 @@ msgstr ""
msgid "Hiding advanced apps and features"
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:38
+#: plinth/modules/coquelicot/__init__.py:40
msgid "Coquelicot"
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:40
+#: plinth/modules/coquelicot/__init__.py:42
msgid "File Sharing"
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:43
+#: plinth/modules/coquelicot/__init__.py:45
msgid ""
"Coquelicot is a “one-click” file sharing web application with a focus on "
"protecting users’ privacy. It is best used for quickly sharing a single "
"file. "
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:46
+#: plinth/modules/coquelicot/__init__.py:48
msgid ""
"This Coquelicot instance is exposed to the public but requires an upload "
"password to prevent unauthorized access. You can set a new upload password "
@@ -642,19 +653,19 @@ msgstr ""
msgid "coquelicot"
msgstr ""
-#: plinth/modules/coquelicot/views.py:57
+#: plinth/modules/coquelicot/views.py:59
msgid "Upload password updated"
msgstr ""
-#: plinth/modules/coquelicot/views.py:60
+#: plinth/modules/coquelicot/views.py:62
msgid "Failed to update upload password"
msgstr ""
-#: plinth/modules/coquelicot/views.py:68
+#: plinth/modules/coquelicot/views.py:70
msgid "Maximum file size updated"
msgstr ""
-#: plinth/modules/coquelicot/views.py:71
+#: plinth/modules/coquelicot/views.py:73
msgid "Failed to update maximum file size"
msgstr ""
@@ -668,21 +679,21 @@ msgid ""
"synchronization with servers on the Internet."
msgstr ""
-#: plinth/modules/datetime/__init__.py:107
+#: plinth/modules/datetime/__init__.py:99
msgid "Time synchronized to NTP server"
msgstr ""
-#: plinth/modules/datetime/forms.py:36
+#: plinth/modules/datetime/forms.py:35
msgid "Time Zone"
msgstr ""
-#: plinth/modules/datetime/forms.py:37
+#: plinth/modules/datetime/forms.py:36
msgid ""
"Set your time zone to get accurate timestamps. This will set the system-wide "
"time zone."
msgstr ""
-#: plinth/modules/datetime/forms.py:49
+#: plinth/modules/datetime/forms.py:47
msgid "-- no time zone set --"
msgstr ""
@@ -700,7 +711,7 @@ msgid "Deluge"
msgstr ""
#: plinth/modules/deluge/__init__.py:41
-#: plinth/modules/transmission/__init__.py:41
+#: plinth/modules/transmission/__init__.py:43
msgid "BitTorrent Web Client"
msgstr ""
@@ -716,7 +727,7 @@ msgid ""
msgstr ""
#: plinth/modules/deluge/__init__.py:51
-#: plinth/modules/transmission/__init__.py:54
+#: plinth/modules/transmission/__init__.py:56
msgid "Download files using BitTorrent applications"
msgstr ""
@@ -778,12 +789,12 @@ msgstr ""
msgid "Result"
msgstr ""
-#: plinth/modules/diaspora/__init__.py:52
+#: plinth/modules/diaspora/__init__.py:54
#: plinth/modules/diaspora/manifest.py:38
msgid "diaspora*"
msgstr ""
-#: plinth/modules/diaspora/__init__.py:54
+#: plinth/modules/diaspora/__init__.py:56
msgid "Federated Social Network"
msgstr ""
@@ -830,22 +841,22 @@ msgstr ""
#: plinth/modules/tahoe/templates/tahoe-pre-setup.html:58
#: plinth/modules/tor/templates/tor.html:96
#: plinth/modules/upgrades/templates/upgrades_configure.html:32
-#: plinth/templates/service.html:89
+#: plinth/templates/app.html:89
msgid "Update setup"
msgstr ""
-#: plinth/modules/diaspora/views.py:97 plinth/modules/ejabberd/views.py:64
-#: plinth/modules/matrixsynapse/views.py:107
-#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:150
-#: plinth/modules/tor/views.py:146 plinth/views.py:160
+#: plinth/modules/diaspora/views.py:94 plinth/modules/ejabberd/views.py:65
+#: plinth/modules/matrixsynapse/views.py:108
+#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:148
+#: plinth/modules/tor/views.py:148 plinth/views.py:174
msgid "Setting unchanged"
msgstr ""
-#: plinth/modules/diaspora/views.py:101
+#: plinth/modules/diaspora/views.py:98
msgid "User registrations enabled"
msgstr ""
-#: plinth/modules/diaspora/views.py:105
+#: plinth/modules/diaspora/views.py:102
msgid "User registrations disabled"
msgstr ""
@@ -872,8 +883,8 @@ msgid ""
"IP address."
msgstr ""
-#: plinth/modules/dynamicdns/__init__.py:85
-#: plinth/modules/dynamicdns/views.py:167
+#: plinth/modules/dynamicdns/__init__.py:87
+#: plinth/modules/dynamicdns/views.py:169
msgid "Dynamic DNS Service"
msgstr ""
@@ -962,7 +973,7 @@ msgid "Username"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:121 plinth/modules/networks/forms.py:235
-#: plinth/modules/shadowsocks/forms.py:70
+#: plinth/modules/shadowsocks/forms.py:61
msgid "Password"
msgstr ""
@@ -1040,45 +1051,45 @@ msgstr ""
msgid "Last update"
msgstr ""
-#: plinth/modules/dynamicdns/views.py:41 plinth/modules/help/help.py:57
+#: plinth/modules/dynamicdns/views.py:41 plinth/modules/help/help.py:59
msgid "About"
msgstr ""
-#: plinth/modules/dynamicdns/views.py:47
+#: plinth/modules/dynamicdns/views.py:49
#: plinth/modules/firewall/templates/firewall.html:25
#: plinth/modules/firewall/templates/firewall.html:45
#: plinth/modules/i2p/templates/i2p.html:27
#: plinth/modules/networks/templates/connection_show.html:261
#: plinth/modules/openvpn/templates/openvpn.html:71
#: plinth/modules/tor/templates/tor.html:40
-#: plinth/modules/tor/templates/tor.html:68 plinth/templates/service.html:51
+#: plinth/modules/tor/templates/tor.html:68 plinth/templates/app.html:51
msgid "Status"
msgstr ""
-#: plinth/modules/dynamicdns/views.py:78
+#: plinth/modules/dynamicdns/views.py:80
msgid "Configure Dynamic DNS"
msgstr ""
-#: plinth/modules/dynamicdns/views.py:103
+#: plinth/modules/dynamicdns/views.py:105
msgid "Dynamic DNS Status"
msgstr ""
-#: plinth/modules/ejabberd/__init__.py:43
+#: plinth/modules/ejabberd/__init__.py:45
msgid "ejabberd"
msgstr ""
-#: plinth/modules/ejabberd/__init__.py:45
-#: plinth/modules/matrixsynapse/__init__.py:43
+#: plinth/modules/ejabberd/__init__.py:47
+#: plinth/modules/matrixsynapse/__init__.py:45
msgid "Chat Server"
msgstr ""
-#: plinth/modules/ejabberd/__init__.py:48
+#: plinth/modules/ejabberd/__init__.py:50
msgid ""
"XMPP is an open and standardized communication protocol. Here you can run "
"and configure your XMPP server, called ejabberd."
msgstr ""
-#: plinth/modules/ejabberd/__init__.py:51
+#: plinth/modules/ejabberd/__init__.py:53
#, python-brace-format
msgid ""
"To actually communicate, you can use the web client"
@@ -1087,11 +1098,11 @@ msgid ""
"any user with a {box_name} login."
msgstr ""
-#: plinth/modules/ejabberd/forms.py:33
+#: plinth/modules/ejabberd/forms.py:32
msgid "Enable Message Archive Management"
msgstr ""
-#: plinth/modules/ejabberd/forms.py:36
+#: plinth/modules/ejabberd/forms.py:34
#, python-brace-format
msgid ""
"If enabled, your {box_name} will store chat message histories. This allows "
@@ -1159,35 +1170,23 @@ msgstr ""
#: plinth/modules/openvpn/templates/openvpn.html:123
#: plinth/modules/snapshot/templates/snapshot.html:27
#: plinth/modules/tahoe/templates/tahoe-post-setup.html:43
-#: plinth/modules/tor/templates/tor.html:88 plinth/templates/service.html:81
+#: plinth/modules/tor/templates/tor.html:88 plinth/templates/app.html:81
msgid "Configuration"
msgstr ""
-#: plinth/modules/ejabberd/views.py:68
-#: plinth/modules/matrixsynapse/views.py:111
-#: plinth/modules/mediawiki/views.py:79 plinth/views.py:164
-msgid "Application enabled"
-msgstr ""
-
-#: plinth/modules/ejabberd/views.py:71
-#: plinth/modules/matrixsynapse/views.py:114
-#: plinth/modules/mediawiki/views.py:82 plinth/views.py:167
-msgid "Application disabled"
-msgstr ""
-
-#: plinth/modules/ejabberd/views.py:78
+#: plinth/modules/ejabberd/views.py:77
msgid "Message Archive Management enabled"
msgstr ""
-#: plinth/modules/ejabberd/views.py:82
+#: plinth/modules/ejabberd/views.py:81
msgid "Message Archive Management disabled"
msgstr ""
-#: plinth/modules/firewall/__init__.py:40
+#: plinth/modules/firewall/__init__.py:36
msgid "Firewall"
msgstr ""
-#: plinth/modules/firewall/__init__.py:44
+#: plinth/modules/firewall/__init__.py:40
#, python-brace-format
msgid ""
"Firewall is a security system that controls the incoming and outgoing "
@@ -1293,29 +1292,29 @@ msgstr ""
msgid "Setup Complete"
msgstr ""
-#: plinth/modules/help/help.py:44
+#: plinth/modules/help/help.py:46
msgid "Documentation"
msgstr ""
-#: plinth/modules/help/help.py:48 plinth/modules/networks/forms.py:68
+#: plinth/modules/help/help.py:50 plinth/modules/networks/forms.py:68
#: plinth/modules/networks/forms.py:108 plinth/templates/index.html:135
msgid "Manual"
msgstr ""
-#: plinth/modules/help/help.py:53
+#: plinth/modules/help/help.py:55
msgid "Download Manual"
msgstr ""
-#: plinth/modules/help/help.py:73
+#: plinth/modules/help/help.py:75
msgid "Documentation and FAQ"
msgstr ""
-#: plinth/modules/help/help.py:81
+#: plinth/modules/help/help.py:83
#, python-brace-format
msgid "About {box_name}"
msgstr ""
-#: plinth/modules/help/help.py:102
+#: plinth/modules/help/help.py:104
#, python-brace-format
msgid "{box_name} Manual"
msgstr ""
@@ -1433,15 +1432,15 @@ msgid ""
"before submitting the bug report."
msgstr ""
-#: plinth/modules/i2p/__init__.py:40 plinth/modules/i2p/manifest.py:31
+#: plinth/modules/i2p/__init__.py:42 plinth/modules/i2p/manifest.py:31
msgid "I2P"
msgstr ""
-#: plinth/modules/i2p/__init__.py:42 plinth/modules/tor/__init__.py:45
+#: plinth/modules/i2p/__init__.py:44 plinth/modules/tor/__init__.py:48
msgid "Anonymity Network"
msgstr ""
-#: plinth/modules/i2p/__init__.py:45
+#: plinth/modules/i2p/__init__.py:47
msgid ""
"The Invisible Internet Project is an anonymous network layer intended to "
"protect communication from censorship and surveillance. I2P provides "
@@ -1449,33 +1448,33 @@ msgid ""
"distributed around the world."
msgstr ""
-#: plinth/modules/i2p/__init__.py:49
+#: plinth/modules/i2p/__init__.py:51
msgid ""
"Find more information about I2P on their project homepage."
msgstr ""
-#: plinth/modules/i2p/__init__.py:51
+#: plinth/modules/i2p/__init__.py:53
msgid ""
"The first visit to the provided web interface will initiate the "
"configuration process."
msgstr ""
-#: plinth/modules/i2p/__init__.py:57
+#: plinth/modules/i2p/__init__.py:59
msgid "Manage I2P application"
msgstr ""
-#: plinth/modules/i2p/templates/i2p.html:32 plinth/templates/service.html:56
+#: plinth/modules/i2p/templates/i2p.html:32 plinth/templates/app.html:56
#, python-format
msgid "Service %(service_name)s is running."
msgstr ""
-#: plinth/modules/i2p/templates/i2p.html:37 plinth/templates/service.html:61
+#: plinth/modules/i2p/templates/i2p.html:37 plinth/templates/app.html:61
#, python-format
msgid "Service %(service_name)s is not running."
msgstr ""
-#: plinth/modules/i2p/templates/i2p_service.html:13
+#: plinth/modules/i2p/templates/i2p_service.html:31
#: plinth/templates/clients.html:51
msgid "Launch"
msgstr ""
@@ -1488,43 +1487,43 @@ msgstr ""
msgid "Anonymous torrents"
msgstr ""
-#: plinth/modules/i2p/views.py:86
+#: plinth/modules/i2p/views.py:88
msgid "I2P Proxies and Tunnels"
msgstr ""
-#: plinth/modules/i2p/views.py:89
+#: plinth/modules/i2p/views.py:91
msgid ""
"I2P lets you browse the Internet and hidden services (eepsites) anonymously. "
"For this, your browser, preferably a Tor Browser, needs to be configured for "
"a proxy."
msgstr ""
-#: plinth/modules/i2p/views.py:92
+#: plinth/modules/i2p/views.py:94
msgid ""
"By default HTTP, HTTPS and IRC proxies are available. Additional proxies and "
"tunnels may be configured using the tunnel configuration interface."
msgstr ""
-#: plinth/modules/i2p/views.py:101
+#: plinth/modules/i2p/views.py:103
msgid "Anonymous Torrents"
msgstr ""
-#: plinth/modules/i2p/views.py:104
+#: plinth/modules/i2p/views.py:106
msgid ""
"I2P provides an application to download files anonymously in a peer-to-peer "
"network. Download files by adding torrents or create a new torrent to share "
"a file."
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:42 plinth/modules/ikiwiki/manifest.py:24
+#: plinth/modules/ikiwiki/__init__.py:41 plinth/modules/ikiwiki/manifest.py:24
msgid "ikiwiki"
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:44
+#: plinth/modules/ikiwiki/__init__.py:43
msgid "Wiki and Blog"
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:47
+#: plinth/modules/ikiwiki/__init__.py:46
msgid ""
"ikiwiki is a simple wiki and blog application. It supports several "
"lightweight markup languages, including Markdown, and common blogging "
@@ -1532,7 +1531,7 @@ msgid ""
"wikis will be available at /ikiwiki (once created)."
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:53
+#: plinth/modules/ikiwiki/__init__.py:52
#, python-brace-format
msgid ""
"Only {box_name} users in the admin group can create and "
@@ -1541,7 +1540,7 @@ msgid ""
"Configuration you can change these permissions or add new users."
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:63
+#: plinth/modules/ikiwiki/__init__.py:62
msgid "View and edit wiki applications"
msgstr ""
@@ -1609,49 +1608,49 @@ msgstr ""
msgid "Manage"
msgstr ""
-#: plinth/modules/ikiwiki/views.py:121
+#: plinth/modules/ikiwiki/views.py:124
#, python-brace-format
msgid "Created wiki {name}."
msgstr ""
-#: plinth/modules/ikiwiki/views.py:124
+#: plinth/modules/ikiwiki/views.py:127
#, python-brace-format
msgid "Could not create wiki: {error}"
msgstr ""
-#: plinth/modules/ikiwiki/views.py:134
+#: plinth/modules/ikiwiki/views.py:137
#, python-brace-format
msgid "Created blog {name}."
msgstr ""
-#: plinth/modules/ikiwiki/views.py:137
+#: plinth/modules/ikiwiki/views.py:140
#, python-brace-format
msgid "Could not create blog: {error}"
msgstr ""
-#: plinth/modules/ikiwiki/views.py:150
+#: plinth/modules/ikiwiki/views.py:153
#, python-brace-format
msgid "{name} deleted."
msgstr ""
-#: plinth/modules/ikiwiki/views.py:154
+#: plinth/modules/ikiwiki/views.py:157
#, python-brace-format
msgid "Could not delete {name}: {error}"
msgstr ""
-#: plinth/modules/infinoted/__init__.py:41
+#: plinth/modules/infinoted/__init__.py:40
msgid "infinoted"
msgstr ""
-#: plinth/modules/infinoted/__init__.py:43
+#: plinth/modules/infinoted/__init__.py:42
msgid "Gobby Server"
msgstr ""
-#: plinth/modules/infinoted/__init__.py:46
+#: plinth/modules/infinoted/__init__.py:45
msgid "infinoted is a server for Gobby, a collaborative text editor."
msgstr ""
-#: plinth/modules/infinoted/__init__.py:48
+#: plinth/modules/infinoted/__init__.py:47
#, python-brace-format
msgid ""
"To use it, download Gobby, desktop "
@@ -1971,11 +1970,11 @@ msgstr ""
msgid "Failed to delete certificate for domain {domain}: {error}"
msgstr ""
-#: plinth/modules/matrixsynapse/__init__.py:41
+#: plinth/modules/matrixsynapse/__init__.py:43
msgid "Matrix Synapse"
msgstr ""
-#: plinth/modules/matrixsynapse/__init__.py:46
+#: plinth/modules/matrixsynapse/__init__.py:48
msgid ""
"Matrix is an new "
"ecosystem for open, federated instant messaging and VoIP. Synapse is a "
@@ -1985,7 +1984,7 @@ msgid ""
"converse with users on all other Matrix servers via federation."
msgstr ""
-#: plinth/modules/matrixsynapse/__init__.py:53
+#: plinth/modules/matrixsynapse/__init__.py:55
msgid ""
"To communicate, you can use the available clients for mobile, desktop and the web. Special:CreateAccount page."
msgstr ""
-#: plinth/modules/mediawiki/__init__.py:49
+#: plinth/modules/mediawiki/__init__.py:53
msgid ""
"Anyone with a link to this wiki can read it. Only users that are logged in "
"can make changes to the content."
@@ -2122,32 +2121,32 @@ msgstr ""
msgid "Password updated"
msgstr ""
-#: plinth/modules/mediawiki/views.py:91
+#: plinth/modules/mediawiki/views.py:89
msgid "Public registrations enabled"
msgstr ""
-#: plinth/modules/mediawiki/views.py:100
+#: plinth/modules/mediawiki/views.py:98
msgid "Public registrations disabled"
msgstr ""
-#: plinth/modules/mediawiki/views.py:109
+#: plinth/modules/mediawiki/views.py:107
msgid "Private mode enabled"
msgstr ""
-#: plinth/modules/mediawiki/views.py:112
+#: plinth/modules/mediawiki/views.py:110
msgid "Private mode disabled"
msgstr ""
-#: plinth/modules/minetest/__init__.py:53
+#: plinth/modules/minetest/__init__.py:52
#: plinth/modules/minetest/manifest.py:25
msgid "Minetest"
msgstr ""
-#: plinth/modules/minetest/__init__.py:55
+#: plinth/modules/minetest/__init__.py:54
msgid "Block Sandbox"
msgstr ""
-#: plinth/modules/minetest/__init__.py:59
+#: plinth/modules/minetest/__init__.py:58
#, python-brace-format
msgid ""
"Minetest is a multiplayer infinite-world block sandbox. This module enables "
@@ -2156,39 +2155,39 @@ msgid ""
"downloads/\">Minetest client is needed."
msgstr ""
-#: plinth/modules/minetest/forms.py:31
+#: plinth/modules/minetest/forms.py:30
msgid "Maximum number of players"
msgstr ""
-#: plinth/modules/minetest/forms.py:35
+#: plinth/modules/minetest/forms.py:32
msgid ""
"You can change the maximum number of players playing minetest at a single "
"instance of time."
msgstr ""
-#: plinth/modules/minetest/forms.py:39
+#: plinth/modules/minetest/forms.py:36
msgid "Enable creative mode"
msgstr ""
-#: plinth/modules/minetest/forms.py:41
+#: plinth/modules/minetest/forms.py:37
msgid ""
"Creative mode changes the rules of the game to make it more suitable for "
"creative gameplay, rather than challenging \"survival\" gameplay."
msgstr ""
-#: plinth/modules/minetest/forms.py:46
+#: plinth/modules/minetest/forms.py:42
msgid "Enable PVP"
msgstr ""
-#: plinth/modules/minetest/forms.py:48
+#: plinth/modules/minetest/forms.py:43
msgid "Enabling Player Vs Player will allow players to damage other players."
msgstr ""
-#: plinth/modules/minetest/forms.py:52
+#: plinth/modules/minetest/forms.py:47
msgid "Enable damage"
msgstr ""
-#: plinth/modules/minetest/forms.py:54
+#: plinth/modules/minetest/forms.py:48
msgid "When disabled, players cannot die or receive damage of any kind."
msgstr ""
@@ -2202,52 +2201,52 @@ msgstr ""
msgid "Port"
msgstr ""
-#: plinth/modules/minetest/views.py:71
+#: plinth/modules/minetest/views.py:72
msgid "Maximum players configuration updated"
msgstr ""
-#: plinth/modules/minetest/views.py:78
+#: plinth/modules/minetest/views.py:79
msgid "Creative mode configuration updated"
msgstr ""
-#: plinth/modules/minetest/views.py:84
+#: plinth/modules/minetest/views.py:85
msgid "PVP configuration updated"
msgstr ""
-#: plinth/modules/minetest/views.py:90
+#: plinth/modules/minetest/views.py:91
msgid "Damage configuration updated"
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:38
+#: plinth/modules/mldonkey/__init__.py:40
#: plinth/modules/mldonkey/manifest.py:27
msgid "MLDonkey"
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:40
+#: plinth/modules/mldonkey/__init__.py:42
msgid "Peer-to-peer File Sharing"
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:43
+#: plinth/modules/mldonkey/__init__.py:45
msgid ""
"MLDonkey is a peer-to-peer file sharing application used to exchange large "
"files. It can participate in multiple peer-to-peer networks including "
"eDonkey, Kademlia, Overnet, BitTorrent and DirectConnect."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:46
+#: plinth/modules/mldonkey/__init__.py:48
msgid ""
"Users belonging to admin and ed2k group can control it through the web "
"interface. Users in the admin group can also control it through any of the "
"separate mobile or desktop front-ends or a telnet interface. See manual."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:51
+#: plinth/modules/mldonkey/__init__.py:53
#, python-brace-format
msgid ""
"On {box_name}, downloaded files can be found in /var/lib/mldonkey/ directory."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:59
+#: plinth/modules/mldonkey/__init__.py:61
msgid "Download files using eDonkey applications"
msgstr ""
@@ -2311,12 +2310,6 @@ msgstr ""
msgid "Secure Shell"
msgstr ""
-#: plinth/modules/monkeysphere/templates/monkeysphere.html:88
-#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:60
-#: plinth/service.py:138
-msgid "Web Server"
-msgstr ""
-
#: plinth/modules/monkeysphere/templates/monkeysphere.html:90
#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:62
msgid "Other"
@@ -2409,21 +2402,21 @@ msgstr ""
msgid "Error occurred while publishing key."
msgstr ""
-#: plinth/modules/mumble/__init__.py:34 plinth/modules/mumble/manifest.py:27
+#: plinth/modules/mumble/__init__.py:35 plinth/modules/mumble/manifest.py:27
msgid "Mumble"
msgstr ""
-#: plinth/modules/mumble/__init__.py:36
+#: plinth/modules/mumble/__init__.py:37
msgid "Voice Chat"
msgstr ""
-#: plinth/modules/mumble/__init__.py:45
+#: plinth/modules/mumble/__init__.py:44
msgid ""
"Mumble is an open source, low-latency, encrypted, high quality voice chat "
"software."
msgstr ""
-#: plinth/modules/mumble/__init__.py:47
+#: plinth/modules/mumble/__init__.py:46
msgid ""
"You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your "
@@ -2471,7 +2464,7 @@ msgstr ""
msgid "Networks"
msgstr ""
-#: plinth/modules/networks/__init__.py:142
+#: plinth/modules/networks/__init__.py:144
#, python-brace-format
msgid "Using DNSSEC on IPv{kind}"
msgstr ""
@@ -2898,7 +2891,7 @@ msgstr ""
#: plinth/modules/networks/templates/connection_show.html:186
#: plinth/modules/networks/templates/connection_show.html:227
-#: plinth/modules/shadowsocks/forms.py:75
+#: plinth/modules/shadowsocks/forms.py:65
msgid "Method"
msgstr ""
@@ -3020,15 +3013,15 @@ msgstr ""
msgid "Create..."
msgstr ""
-#: plinth/modules/openvpn/__init__.py:40
+#: plinth/modules/openvpn/__init__.py:39
msgid "OpenVPN"
msgstr ""
-#: plinth/modules/openvpn/__init__.py:42
+#: plinth/modules/openvpn/__init__.py:41
msgid "Virtual Private Network"
msgstr ""
-#: plinth/modules/openvpn/__init__.py:46
+#: plinth/modules/openvpn/__init__.py:45
#, python-brace-format
msgid ""
"Virtual Private Network (VPN) is a technique for securely connecting two "
@@ -3039,7 +3032,7 @@ msgid ""
"security and anonymity."
msgstr ""
-#: plinth/modules/openvpn/__init__.py:74
+#: plinth/modules/openvpn/__init__.py:75
#, python-brace-format
msgid ""
"Download Profile"
@@ -3104,11 +3097,11 @@ msgstr ""
msgid "OpenVPN server is not running"
msgstr ""
-#: plinth/modules/openvpn/views.py:128
+#: plinth/modules/openvpn/views.py:126
msgid "Setup completed."
msgstr ""
-#: plinth/modules/openvpn/views.py:130
+#: plinth/modules/openvpn/views.py:128
msgid "Setup failed."
msgstr ""
@@ -3178,7 +3171,7 @@ msgid ""
"pagekite.net server."
msgstr ""
-#: plinth/modules/pagekite/forms.py:78 plinth/modules/shadowsocks/forms.py:64
+#: plinth/modules/pagekite/forms.py:78 plinth/modules/shadowsocks/forms.py:57
msgid "Server port"
msgstr ""
@@ -3378,47 +3371,47 @@ msgstr ""
msgid "Save Services"
msgstr ""
-#: plinth/modules/pagekite/utils.py:53
+#: plinth/modules/pagekite/utils.py:57
msgid "Web Server (HTTP)"
msgstr ""
-#: plinth/modules/pagekite/utils.py:54
+#: plinth/modules/pagekite/utils.py:59
#, python-brace-format
msgid "Site will be available at http://{0}"
msgstr ""
-#: plinth/modules/pagekite/utils.py:63
+#: plinth/modules/pagekite/utils.py:71
msgid "Web Server (HTTPS)"
msgstr ""
-#: plinth/modules/pagekite/utils.py:64
+#: plinth/modules/pagekite/utils.py:73
#, python-brace-format
msgid "Site will be available at https://{0}"
msgstr ""
-#: plinth/modules/pagekite/utils.py:73
+#: plinth/modules/pagekite/utils.py:85
msgid "Secure Shell (SSH)"
msgstr ""
-#: plinth/modules/pagekite/utils.py:74
+#: plinth/modules/pagekite/utils.py:87
msgid ""
"See SSH client setup instructions"
msgstr ""
-#: plinth/modules/pagekite/utils.py:276
+#: plinth/modules/pagekite/utils.py:288
msgid "Pagekite"
msgstr ""
-#: plinth/modules/pagekite/views.py:39
+#: plinth/modules/pagekite/views.py:40
msgid "Standard Services"
msgstr ""
-#: plinth/modules/pagekite/views.py:42
+#: plinth/modules/pagekite/views.py:44
msgid "Custom Services"
msgstr ""
-#: plinth/modules/pagekite/views.py:156
+#: plinth/modules/pagekite/views.py:158
msgid "Pagekite setup finished. The HTTP and HTTPS services are activated now."
msgstr ""
@@ -3479,22 +3472,22 @@ msgstr ""
msgid "Shut Down Now"
msgstr ""
-#: plinth/modules/privoxy/__init__.py:41
+#: plinth/modules/privoxy/__init__.py:42
msgid "Privoxy"
msgstr ""
-#: plinth/modules/privoxy/__init__.py:43
+#: plinth/modules/privoxy/__init__.py:44
msgid "Web Proxy"
msgstr ""
-#: plinth/modules/privoxy/__init__.py:46
+#: plinth/modules/privoxy/__init__.py:47
msgid ""
"Privoxy is a non-caching web proxy with advanced filtering capabilities for "
"enhancing privacy, modifying web page data and HTTP headers, controlling "
"access, and removing ads and other obnoxious Internet junk. "
msgstr ""
-#: plinth/modules/privoxy/__init__.py:51
+#: plinth/modules/privoxy/__init__.py:52
#, python-brace-format
msgid ""
"You can use Privoxy by modifying your browser proxy settings to your "
@@ -3504,20 +3497,20 @@ msgid ""
"\">http://p.p."
msgstr ""
-#: plinth/modules/privoxy/__init__.py:157
+#: plinth/modules/privoxy/__init__.py:142
#, python-brace-format
msgid "Access {url} with proxy {proxy} on tcp{kind}"
msgstr ""
-#: plinth/modules/quassel/__init__.py:41 plinth/modules/quassel/manifest.py:25
+#: plinth/modules/quassel/__init__.py:40 plinth/modules/quassel/manifest.py:25
msgid "Quassel"
msgstr ""
-#: plinth/modules/quassel/__init__.py:43
+#: plinth/modules/quassel/__init__.py:42
msgid "IRC Client"
msgstr ""
-#: plinth/modules/quassel/__init__.py:47
+#: plinth/modules/quassel/__init__.py:46
#, python-brace-format
msgid ""
"Quassel is an IRC application that is split into two parts, a \"core\" and a "
@@ -3528,7 +3521,7 @@ msgid ""
"connect and disconnect from it."
msgstr ""
-#: plinth/modules/quassel/__init__.py:54
+#: plinth/modules/quassel/__init__.py:53
msgid ""
"You can connect to your Quassel core on the default Quassel port 4242. "
"Clients to connect to Quassel from your Jitsi (for computers) and (for Android phones)."
msgstr ""
-#: plinth/modules/repro/__init__.py:53
+#: plinth/modules/repro/__init__.py:55
msgid ""
"Note: Before using repro, domains and users will need to "
"be configured using the web-based "
@@ -3675,15 +3668,15 @@ msgstr ""
msgid "CSipSimple"
msgstr ""
-#: plinth/modules/restore/__init__.py:36 plinth/modules/restore/manifest.py:23
+#: plinth/modules/restore/__init__.py:37 plinth/modules/restore/manifest.py:23
msgid "reStore"
msgstr ""
-#: plinth/modules/restore/__init__.py:38
+#: plinth/modules/restore/__init__.py:39
msgid "Unhosted Storage"
msgstr ""
-#: plinth/modules/restore/__init__.py:42
+#: plinth/modules/restore/__init__.py:43
#, python-brace-format
msgid ""
"reStore is a server for unhosted web "
@@ -3693,22 +3686,22 @@ msgid ""
"becomes your unhosted storage server."
msgstr ""
-#: plinth/modules/restore/__init__.py:48
+#: plinth/modules/restore/__init__.py:49
msgid ""
"You can create and edit accounts in the reStore web-"
"interface."
msgstr ""
-#: plinth/modules/roundcube/__init__.py:34
+#: plinth/modules/roundcube/__init__.py:35
#: plinth/modules/roundcube/manifest.py:24
msgid "Roundcube"
msgstr ""
-#: plinth/modules/roundcube/__init__.py:36
+#: plinth/modules/roundcube/__init__.py:37
msgid "Email Client"
msgstr ""
-#: plinth/modules/roundcube/__init__.py:39
+#: plinth/modules/roundcube/__init__.py:40
msgid ""
"Roundcube webmail is a browser-based multilingual IMAP client with an "
"application-like user interface. It provides full functionality you expect "
@@ -3716,7 +3709,7 @@ msgid ""
"manipulation, message searching and spell checking."
msgstr ""
-#: plinth/modules/roundcube/__init__.py:44
+#: plinth/modules/roundcube/__init__.py:45
msgid ""
"You can access Roundcube from /roundcube. Provide "
"the username and password of the email account you wish to access followed "
@@ -3725,7 +3718,7 @@ msgid ""
"server field like imaps://imap.example.com."
msgstr ""
-#: plinth/modules/roundcube/__init__.py:50
+#: plinth/modules/roundcube/__init__.py:51
msgid ""
"For Gmail, username will be your Gmail address, password will be your Google "
"account password and server will be imaps://imap.gmail.com. "
@@ -3787,12 +3780,12 @@ msgstr ""
msgid "Allow this application to be used by anyone who can reach it."
msgstr ""
-#: plinth/modules/searx/views.py:60 plinth/modules/searx/views.py:71
-#: plinth/modules/tor/views.py:139 plinth/modules/tor/views.py:168
+#: plinth/modules/searx/views.py:59 plinth/modules/searx/views.py:70
+#: plinth/modules/tor/views.py:141 plinth/modules/tor/views.py:168
msgid "Configuration updated."
msgstr ""
-#: plinth/modules/searx/views.py:63 plinth/modules/searx/views.py:74
+#: plinth/modules/searx/views.py:62 plinth/modules/searx/views.py:73
#: plinth/modules/tor/views.py:170
msgid "An error occurred during configuration."
msgstr ""
@@ -3847,22 +3840,22 @@ msgid ""
"account, which you will need to setup on the initial visit."
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:34
+#: plinth/modules/shadowsocks/__init__.py:35
msgid "Shadowsocks"
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:36
+#: plinth/modules/shadowsocks/__init__.py:37
msgid "Socks5 Proxy"
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:45
+#: plinth/modules/shadowsocks/__init__.py:44
msgid ""
"Shadowsocks is a lightweight and secure SOCKS5 proxy, designed to protect "
"your Internet traffic. It can be used to bypass Internet filtering and "
"censorship."
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:49
+#: plinth/modules/shadowsocks/__init__.py:48
#, python-brace-format
msgid ""
"Your {box_name} can run a Shadowsocks client, that can connect to a "
@@ -3871,34 +3864,34 @@ msgid ""
"the Shadowsocks server."
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:54
+#: plinth/modules/shadowsocks/__init__.py:53
msgid ""
"To use Shadowsocks after setup, set the SOCKS5 proxy URL in your device, "
"browser or application to http://freedombox_address:1080/"
msgstr ""
+#: plinth/modules/shadowsocks/forms.py:28
#: plinth/modules/shadowsocks/forms.py:29
-#: plinth/modules/shadowsocks/forms.py:30
msgid "Recommended"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:60
+#: plinth/modules/shadowsocks/forms.py:54
msgid "Server"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:61
+#: plinth/modules/shadowsocks/forms.py:54
msgid "Server hostname or IP address"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:67
+#: plinth/modules/shadowsocks/forms.py:58
msgid "Server port number"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:71
+#: plinth/modules/shadowsocks/forms.py:61
msgid "Password used to encrypt data. Must match server password."
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:77
+#: plinth/modules/shadowsocks/forms.py:66
msgid "Encryption method. Must match setting on server."
msgstr ""
@@ -4156,7 +4149,7 @@ msgstr ""
msgid "Storage snapshots configuration updated"
msgstr ""
-#: plinth/modules/snapshot/views.py:153 plinth/modules/tor/views.py:72
+#: plinth/modules/snapshot/views.py:153 plinth/modules/tor/views.py:73
#, python-brace-format
msgid "Action error: {0} [{1}] [{2}]"
msgstr ""
@@ -4186,11 +4179,11 @@ msgstr ""
msgid "Rollback to Snapshot"
msgstr ""
-#: plinth/modules/ssh/__init__.py:39
+#: plinth/modules/ssh/__init__.py:40
msgid "Secure Shell (SSH) Server"
msgstr ""
-#: plinth/modules/ssh/__init__.py:42
+#: plinth/modules/ssh/__init__.py:43
msgid ""
"A Secure Shell server uses the secure shell protocol to accept connections "
"from remote computers. An authorized remote computer can perform "
@@ -4206,11 +4199,11 @@ msgstr ""
msgid "Login"
msgstr ""
-#: plinth/modules/storage/__init__.py:36 plinth/modules/storage/views.py:53
+#: plinth/modules/storage/__init__.py:35 plinth/modules/storage/views.py:53
msgid "Storage"
msgstr ""
-#: plinth/modules/storage/__init__.py:44
+#: plinth/modules/storage/__init__.py:43
#, python-brace-format
msgid ""
"This module allows you to manage storage media attached to your {box_name}. "
@@ -4218,80 +4211,80 @@ msgid ""
"media, expand the root partition etc."
msgstr ""
-#: plinth/modules/storage/__init__.py:211
+#: plinth/modules/storage/__init__.py:213
#, python-brace-format
msgid "{disk_size:.1f} bytes"
msgstr ""
-#: plinth/modules/storage/__init__.py:215
+#: plinth/modules/storage/__init__.py:217
#, python-brace-format
msgid "{disk_size:.1f} KiB"
msgstr ""
-#: plinth/modules/storage/__init__.py:219
+#: plinth/modules/storage/__init__.py:221
#, python-brace-format
msgid "{disk_size:.1f} MiB"
msgstr ""
-#: plinth/modules/storage/__init__.py:223
+#: plinth/modules/storage/__init__.py:225
#, python-brace-format
msgid "{disk_size:.1f} GiB"
msgstr ""
-#: plinth/modules/storage/__init__.py:226
+#: plinth/modules/storage/__init__.py:228
#, python-brace-format
msgid "{disk_size:.1f} TiB"
msgstr ""
-#: plinth/modules/storage/__init__.py:233
+#: plinth/modules/storage/__init__.py:235
msgid "The operation failed."
msgstr ""
-#: plinth/modules/storage/__init__.py:235
+#: plinth/modules/storage/__init__.py:237
msgid "The operation was cancelled."
msgstr ""
-#: plinth/modules/storage/__init__.py:237
+#: plinth/modules/storage/__init__.py:239
msgid "The device is already unmounting."
msgstr ""
-#: plinth/modules/storage/__init__.py:239
+#: plinth/modules/storage/__init__.py:241
msgid "The operation is not supported due to missing driver/tool support."
msgstr ""
-#: plinth/modules/storage/__init__.py:242
+#: plinth/modules/storage/__init__.py:244
msgid "The operation timed out."
msgstr ""
-#: plinth/modules/storage/__init__.py:244
+#: plinth/modules/storage/__init__.py:246
msgid "The operation would wake up a disk that is in a deep-sleep state."
msgstr ""
-#: plinth/modules/storage/__init__.py:247
+#: plinth/modules/storage/__init__.py:249
msgid "Attempting to unmount a device that is busy."
msgstr ""
-#: plinth/modules/storage/__init__.py:249
+#: plinth/modules/storage/__init__.py:251
msgid "The operation has already been cancelled."
msgstr ""
-#: plinth/modules/storage/__init__.py:255
+#: plinth/modules/storage/__init__.py:257
msgid "Not authorized to perform the requested operation."
msgstr ""
-#: plinth/modules/storage/__init__.py:257
+#: plinth/modules/storage/__init__.py:259
msgid "The device is already mounted."
msgstr ""
-#: plinth/modules/storage/__init__.py:259
+#: plinth/modules/storage/__init__.py:261
msgid "The device is not mounted."
msgstr ""
-#: plinth/modules/storage/__init__.py:262
+#: plinth/modules/storage/__init__.py:264
msgid "Not permitted to use the requested option."
msgstr ""
-#: plinth/modules/storage/__init__.py:265
+#: plinth/modules/storage/__init__.py:267
msgid "The device is mounted by another user."
msgstr ""
@@ -4367,16 +4360,16 @@ msgstr ""
msgid "Error ejecting device: {error_message}"
msgstr ""
-#: plinth/modules/syncthing/__init__.py:38
+#: plinth/modules/syncthing/__init__.py:40
#: plinth/modules/syncthing/manifest.py:28
msgid "Syncthing"
msgstr ""
-#: plinth/modules/syncthing/__init__.py:40
+#: plinth/modules/syncthing/__init__.py:42
msgid "File Synchronization"
msgstr ""
-#: plinth/modules/syncthing/__init__.py:43
+#: plinth/modules/syncthing/__init__.py:45
msgid ""
"Syncthing is an application to synchronize files across multiple devices, e."
"g. your desktop computer and mobile phone. Creation, modification, or "
@@ -4384,7 +4377,7 @@ msgid ""
"other devices that also run Syncthing."
msgstr ""
-#: plinth/modules/syncthing/__init__.py:48
+#: plinth/modules/syncthing/__init__.py:50
#, python-brace-format
msgid ""
"Running Syncthing on {box_name} provides an extra synchronization point for "
@@ -4395,26 +4388,26 @@ msgid ""
"{box_name} is only available for users belonging to the \"admin\" group."
msgstr ""
-#: plinth/modules/syncthing/__init__.py:55
+#: plinth/modules/syncthing/__init__.py:57
msgid ""
"When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile clients are also available."
msgstr ""
-#: plinth/modules/syncthing/__init__.py:62
+#: plinth/modules/syncthing/__init__.py:64
msgid "Administer Syncthing application"
msgstr ""
-#: plinth/modules/tahoe/__init__.py:41
+#: plinth/modules/tahoe/__init__.py:43
msgid "Tahoe-LAFS"
msgstr ""
-#: plinth/modules/tahoe/__init__.py:43
+#: plinth/modules/tahoe/__init__.py:45
msgid "Distributed File Storage"
msgstr ""
-#: plinth/modules/tahoe/__init__.py:107
+#: plinth/modules/tahoe/__init__.py:119
msgid ""
"Tahoe-LAFS is a decentralized secure file storage system. It uses provider "
"independent security to store files over a distributed network of storage "
@@ -4422,7 +4415,7 @@ msgid ""
"remaining nodes."
msgstr ""
-#: plinth/modules/tahoe/__init__.py:112
+#: plinth/modules/tahoe/__init__.py:124
#, python-brace-format
msgid ""
"This {box_name} hosts a storage node and an introducer by default. "
@@ -4465,11 +4458,11 @@ msgstr ""
msgid "Remove"
msgstr ""
-#: plinth/modules/tor/__init__.py:43
+#: plinth/modules/tor/__init__.py:46
msgid "Tor"
msgstr ""
-#: plinth/modules/tor/__init__.py:48
+#: plinth/modules/tor/__init__.py:51
msgid ""
"Tor is an anonymous communication system. You can learn more about it from "
"the Tor Project website. For "
@@ -4478,40 +4471,36 @@ msgid ""
"\">Tor Browser."
msgstr ""
-#: plinth/modules/tor/__init__.py:93
+#: plinth/modules/tor/__init__.py:80
msgid "Tor Socks Proxy"
msgstr ""
-#: plinth/modules/tor/__init__.py:99 plinth/modules/tor/__init__.py:146
+#: plinth/modules/tor/__init__.py:84
msgid "Tor Bridge Relay"
msgstr ""
-#: plinth/modules/tor/__init__.py:120 plinth/modules/tor/__init__.py:188
+#: plinth/modules/tor/__init__.py:122 plinth/modules/tor/__init__.py:150
msgid "Tor Hidden Service"
msgstr ""
-#: plinth/modules/tor/__init__.py:136
-msgid "Tor Anonymity Network"
-msgstr ""
-
-#: plinth/modules/tor/__init__.py:208
+#: plinth/modules/tor/__init__.py:170
msgid "Tor relay port available"
msgstr ""
-#: plinth/modules/tor/__init__.py:218
+#: plinth/modules/tor/__init__.py:180
msgid "Obfs3 transport registered"
msgstr ""
-#: plinth/modules/tor/__init__.py:226
+#: plinth/modules/tor/__init__.py:188
msgid "Obfs4 transport registered"
msgstr ""
-#: plinth/modules/tor/__init__.py:265
+#: plinth/modules/tor/__init__.py:227
#, python-brace-format
msgid "Access URL {url} on tcp{kind} via Tor"
msgstr ""
-#: plinth/modules/tor/__init__.py:276
+#: plinth/modules/tor/__init__.py:238
#, python-brace-format
msgid "Confirm Tor usage at {url} on tcp{kind}"
msgstr ""
@@ -4645,18 +4634,18 @@ msgstr ""
msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050."
msgstr ""
-#: plinth/modules/transmission/__init__.py:39
+#: plinth/modules/transmission/__init__.py:41
#: plinth/modules/transmission/manifest.py:24
msgid "Transmission"
msgstr ""
-#: plinth/modules/transmission/__init__.py:44
+#: plinth/modules/transmission/__init__.py:46
msgid ""
"BitTorrent is a peer-to-peer file sharing protocol. Transmission daemon "
"handles Bitorrent file sharing. Note that BitTorrent is not anonymous."
msgstr ""
-#: plinth/modules/transmission/__init__.py:47
+#: plinth/modules/transmission/__init__.py:49
msgid ""
"Access the web interface at /transmission."
msgstr ""
@@ -4672,22 +4661,22 @@ msgid ""
"\" user."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:41 plinth/modules/ttrss/manifest.py:34
+#: plinth/modules/ttrss/__init__.py:43 plinth/modules/ttrss/manifest.py:34
msgid "Tiny Tiny RSS"
msgstr ""
-#: plinth/modules/ttrss/__init__.py:43
+#: plinth/modules/ttrss/__init__.py:45
msgid "News Feed Reader"
msgstr ""
-#: plinth/modules/ttrss/__init__.py:46
+#: plinth/modules/ttrss/__init__.py:48
msgid ""
"Tiny Tiny RSS is a news feed (RSS/Atom) reader and aggregator, designed to "
"allow reading news from any location, while feeling as close to a real "
"desktop application as possible."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:50
+#: plinth/modules/ttrss/__init__.py:52
#, python-brace-format
msgid ""
"When enabled, Tiny Tiny RSS will be available from /tt-"
@@ -4695,13 +4684,13 @@ msgid ""
"\"{users_url}\">user with a {box_name} login."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:55
+#: plinth/modules/ttrss/__init__.py:57
msgid ""
"When using a mobile or desktop application for Tiny Tiny RSS, use the URL /tt-rss-app for connecting."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:61
+#: plinth/modules/ttrss/__init__.py:63
msgid "Read and subscribe to news feeds"
msgstr ""
@@ -4709,11 +4698,11 @@ msgstr ""
msgid "Tiny Tiny RSS (Fork)"
msgstr ""
-#: plinth/modules/upgrades/__init__.py:36 plinth/templates/setup.html:101
+#: plinth/modules/upgrades/__init__.py:35 plinth/templates/setup.html:101
msgid "Update"
msgstr ""
-#: plinth/modules/upgrades/__init__.py:39
+#: plinth/modules/upgrades/__init__.py:38
msgid "Check for and apply the latest software and security updates."
msgstr ""
@@ -4748,32 +4737,32 @@ msgstr ""
msgid "Auto-update"
msgstr ""
-#: plinth/modules/upgrades/views.py:39
+#: plinth/modules/upgrades/views.py:40
msgid "Manual update"
msgstr ""
-#: plinth/modules/upgrades/views.py:78
+#: plinth/modules/upgrades/views.py:79
#, python-brace-format
msgid "Error when configuring unattended-upgrades: {error}"
msgstr ""
-#: plinth/modules/upgrades/views.py:82
+#: plinth/modules/upgrades/views.py:83
msgid "Automatic upgrades enabled"
msgstr ""
-#: plinth/modules/upgrades/views.py:85
+#: plinth/modules/upgrades/views.py:86
msgid "Automatic upgrades disabled"
msgstr ""
-#: plinth/modules/upgrades/views.py:87
+#: plinth/modules/upgrades/views.py:88
msgid "Settings unchanged"
msgstr ""
-#: plinth/modules/upgrades/views.py:113
+#: plinth/modules/upgrades/views.py:114
msgid "Upgrade process started."
msgstr ""
-#: plinth/modules/upgrades/views.py:116
+#: plinth/modules/upgrades/views.py:117
msgid "Starting upgrade failed."
msgstr ""
@@ -4781,7 +4770,7 @@ msgstr ""
msgid "Users and Groups"
msgstr ""
-#: plinth/modules/users/__init__.py:106
+#: plinth/modules/users/__init__.py:108
#, python-brace-format
msgid "Check LDAP entry \"{search_item}\""
msgstr ""
@@ -4993,15 +4982,6 @@ msgstr ""
msgid "configuration file: {file}"
msgstr ""
-#: plinth/service.py:140
-msgid "Web Server over Secure Socket Layer"
-msgstr ""
-
-#: plinth/service.py:145
-#, python-brace-format
-msgid "{box_name} Web Interface (Plinth)"
-msgstr ""
-
#: plinth/templates/403.html:25
msgid "403 Forbidden"
msgstr ""
@@ -5200,16 +5180,16 @@ msgstr ""
msgid "Mailing list"
msgstr ""
-#: plinth/templates/internal-zone.html:25
+#: plinth/templates/internal-zone.html:26
#, python-format
msgid "%(service_name)s is available only on internal networks."
msgstr ""
-#: plinth/templates/internal-zone.html:31
+#: plinth/templates/internal-zone.html:32
msgid "Currently there are no network interfaces configured as internal."
msgstr ""
-#: plinth/templates/internal-zone.html:33
+#: plinth/templates/internal-zone.html:34
#, python-format
msgid ""
"Currently the following network interfaces are configured as internal: "
@@ -5272,6 +5252,14 @@ msgstr ""
msgid "%(percentage)s%% complete"
msgstr ""
+#: plinth/views.py:178
+msgid "Application enabled"
+msgstr ""
+
+#: plinth/views.py:181
+msgid "Application disabled"
+msgstr ""
+
#: plinth/web_framework.py:186
msgid "Gujarati"
msgstr ""
diff --git a/plinth/locale/cs/LC_MESSAGES/django.po b/plinth/locale/cs/LC_MESSAGES/django.po
index b6249fc42..ab93f6cfe 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: 2019-06-10 19:02-0400\n"
+"POT-Creation-Date: 2019-06-24 19:48-0400\n"
"PO-Revision-Date: 2019-06-18 22:01+0000\n"
"Last-Translator: Pavel Borecki \n"
"Language-Team: Czech /"
@@ -515,14 +526,14 @@ msgstr ""
"\"{users_url}\">uživatele s účtem na {box_name}, náležejícím do skupiny "
"admin."
-#: plinth/modules/config/__init__.py:59 plinth/modules/dynamicdns/views.py:44
+#: plinth/modules/config/__init__.py:61 plinth/modules/dynamicdns/views.py:45
#: plinth/modules/i2p/views.py:31 plinth/modules/ikiwiki/views.py:35
#: plinth/modules/pagekite/views.py:36 plinth/modules/snapshot/views.py:40
#: plinth/modules/tahoe/templates/tahoe-pre-setup.html:39
msgid "Configure"
msgstr "Nastavit"
-#: plinth/modules/config/__init__.py:164 plinth/modules/config/forms.py:76
+#: plinth/modules/config/__init__.py:166 plinth/modules/config/forms.py:76
#: plinth/modules/config/views.py:171 plinth/modules/dynamicdns/forms.py:111
msgid "Domain Name"
msgstr "Doménový název"
@@ -610,8 +621,8 @@ msgstr "Zobrazit aplikace a funkce, které vyžadují techničtější znalosti.
#: plinth/modules/power/templates/power_restart.html:42
#: plinth/modules/power/templates/power_shutdown.html:41
#: plinth/modules/storage/templates/storage.html:48
-#: plinth/templates/service-subsubmenu.html:47 plinth/templates/service.html:42
-#: plinth/templates/setup.html:48 plinth/templates/simple_service.html:38
+#: plinth/templates/app-subsubmenu.html:47 plinth/templates/app.html:42
+#: plinth/templates/setup.html:48 plinth/templates/simple_app.html:38
msgid "Learn more..."
msgstr "Zjistit více…"
@@ -659,15 +670,15 @@ msgstr "Jsou zobrazovány pokročilé aplikace a funkce"
msgid "Hiding advanced apps and features"
msgstr "Jsou skryté pokročilé aplikace a funkce"
-#: plinth/modules/coquelicot/__init__.py:38
+#: plinth/modules/coquelicot/__init__.py:40
msgid "Coquelicot"
msgstr "Coquelicot"
-#: plinth/modules/coquelicot/__init__.py:40
+#: plinth/modules/coquelicot/__init__.py:42
msgid "File Sharing"
msgstr "Sdílení souborů"
-#: plinth/modules/coquelicot/__init__.py:43
+#: plinth/modules/coquelicot/__init__.py:45
msgid ""
"Coquelicot is a “one-click” file sharing web application with a focus on "
"protecting users’ privacy. It is best used for quickly sharing a single "
@@ -677,7 +688,7 @@ msgstr ""
"ochranu soukromí uživatelů. Nejlépe poslouží pro rychlé nasdílení "
"jednotlivých souborů. "
-#: plinth/modules/coquelicot/__init__.py:46
+#: plinth/modules/coquelicot/__init__.py:48
msgid ""
"This Coquelicot instance is exposed to the public but requires an upload "
"password to prevent unauthorized access. You can set a new upload password "
@@ -715,19 +726,19 @@ msgstr ""
msgid "coquelicot"
msgstr "coquelicot"
-#: plinth/modules/coquelicot/views.py:57
+#: plinth/modules/coquelicot/views.py:59
msgid "Upload password updated"
msgstr "Heslo pro nahrávání aktualizováno"
-#: plinth/modules/coquelicot/views.py:60
+#: plinth/modules/coquelicot/views.py:62
msgid "Failed to update upload password"
msgstr "Heslo pro nahrávání se nepodařilo aktualizovat"
-#: plinth/modules/coquelicot/views.py:68
+#: plinth/modules/coquelicot/views.py:70
msgid "Maximum file size updated"
msgstr "Nastavení nejvyšší umožněné velikosti souboru aktualizováno"
-#: plinth/modules/coquelicot/views.py:71
+#: plinth/modules/coquelicot/views.py:73
msgid "Failed to update maximum file size"
msgstr ""
"Nastavení nejvyšší umožněné velikosti nahrávaného souboru se nepodařilo "
@@ -745,15 +756,15 @@ msgstr ""
"Server síťového času je program který udržuje systémový čas synchronní se "
"servery na Internetu."
-#: plinth/modules/datetime/__init__.py:107
+#: plinth/modules/datetime/__init__.py:99
msgid "Time synchronized to NTP server"
msgstr "Čas synchronizován s NTP serverem"
-#: plinth/modules/datetime/forms.py:36
+#: plinth/modules/datetime/forms.py:35
msgid "Time Zone"
msgstr "Časová zóna"
-#: plinth/modules/datetime/forms.py:37
+#: plinth/modules/datetime/forms.py:36
msgid ""
"Set your time zone to get accurate timestamps. This will set the system-wide "
"time zone."
@@ -761,7 +772,7 @@ msgstr ""
"Pro získání přesných časových razítek nastavte svou časovou zónu. Toto "
"nastaví časovou zónu pro celý systém."
-#: plinth/modules/datetime/forms.py:49
+#: plinth/modules/datetime/forms.py:47
msgid "-- no time zone set --"
msgstr "-- není nastavena časová zóna --"
@@ -779,7 +790,7 @@ msgid "Deluge"
msgstr "Deluge"
#: plinth/modules/deluge/__init__.py:41
-#: plinth/modules/transmission/__init__.py:41
+#: plinth/modules/transmission/__init__.py:43
msgid "BitTorrent Web Client"
msgstr "Webový klient sítě BitTorrent"
@@ -799,7 +810,7 @@ msgstr ""
"hned po zapnutí této služby se okamžitě přihlaste a změňte ho."
#: plinth/modules/deluge/__init__.py:51
-#: plinth/modules/transmission/__init__.py:54
+#: plinth/modules/transmission/__init__.py:56
msgid "Download files using BitTorrent applications"
msgstr "Stahovat soubory pomocí BitTorrent aplikací"
@@ -863,12 +874,12 @@ msgstr "Vyzkoušet"
msgid "Result"
msgstr "Výsledek"
-#: plinth/modules/diaspora/__init__.py:52
+#: plinth/modules/diaspora/__init__.py:54
#: plinth/modules/diaspora/manifest.py:38
msgid "diaspora*"
msgstr "diaspora*"
-#: plinth/modules/diaspora/__init__.py:54
+#: plinth/modules/diaspora/__init__.py:56
msgid "Federated Social Network"
msgstr "Decentralizovaná společenská síť"
@@ -925,22 +936,22 @@ msgstr ""
#: plinth/modules/tahoe/templates/tahoe-pre-setup.html:58
#: plinth/modules/tor/templates/tor.html:96
#: plinth/modules/upgrades/templates/upgrades_configure.html:32
-#: plinth/templates/service.html:89
+#: plinth/templates/app.html:89
msgid "Update setup"
msgstr "Aktualizovat nastavení"
-#: plinth/modules/diaspora/views.py:97 plinth/modules/ejabberd/views.py:64
-#: plinth/modules/matrixsynapse/views.py:107
-#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:150
-#: plinth/modules/tor/views.py:146 plinth/views.py:160
+#: plinth/modules/diaspora/views.py:94 plinth/modules/ejabberd/views.py:65
+#: plinth/modules/matrixsynapse/views.py:108
+#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:148
+#: plinth/modules/tor/views.py:148 plinth/views.py:174
msgid "Setting unchanged"
msgstr "Nastavení se nezměnila"
-#: plinth/modules/diaspora/views.py:101
+#: plinth/modules/diaspora/views.py:98
msgid "User registrations enabled"
msgstr "Registrace uživatelů zapnuta"
-#: plinth/modules/diaspora/views.py:105
+#: plinth/modules/diaspora/views.py:102
msgid "User registrations disabled"
msgstr "Registrace uživatelů vypnuta"
@@ -977,8 +988,8 @@ msgstr ""
"někdo z Internetu zeptá na váš DNS název, dostane odpověď s vaší současnou "
"IP adresou."
-#: plinth/modules/dynamicdns/__init__.py:85
-#: plinth/modules/dynamicdns/views.py:167
+#: plinth/modules/dynamicdns/__init__.py:87
+#: plinth/modules/dynamicdns/views.py:169
msgid "Dynamic DNS Service"
msgstr "Služba dynamického DNS"
@@ -1086,7 +1097,7 @@ msgid "Username"
msgstr "Uživatelské jméno"
#: plinth/modules/dynamicdns/forms.py:121 plinth/modules/networks/forms.py:235
-#: plinth/modules/shadowsocks/forms.py:70
+#: plinth/modules/shadowsocks/forms.py:61
msgid "Password"
msgstr "Heslo"
@@ -1183,39 +1194,39 @@ msgstr ""
msgid "Last update"
msgstr "Minulá aktualizace"
-#: plinth/modules/dynamicdns/views.py:41 plinth/modules/help/help.py:57
+#: plinth/modules/dynamicdns/views.py:41 plinth/modules/help/help.py:59
msgid "About"
msgstr "O systému"
-#: plinth/modules/dynamicdns/views.py:47
+#: plinth/modules/dynamicdns/views.py:49
#: plinth/modules/firewall/templates/firewall.html:25
#: plinth/modules/firewall/templates/firewall.html:45
#: plinth/modules/i2p/templates/i2p.html:27
#: plinth/modules/networks/templates/connection_show.html:261
#: plinth/modules/openvpn/templates/openvpn.html:71
#: plinth/modules/tor/templates/tor.html:40
-#: plinth/modules/tor/templates/tor.html:68 plinth/templates/service.html:51
+#: plinth/modules/tor/templates/tor.html:68 plinth/templates/app.html:51
msgid "Status"
msgstr "Stav"
-#: plinth/modules/dynamicdns/views.py:78
+#: plinth/modules/dynamicdns/views.py:80
msgid "Configure Dynamic DNS"
msgstr "Nastavit dynamický DNS"
-#: plinth/modules/dynamicdns/views.py:103
+#: plinth/modules/dynamicdns/views.py:105
msgid "Dynamic DNS Status"
msgstr "Stav dynamického DNS"
-#: plinth/modules/ejabberd/__init__.py:43
+#: plinth/modules/ejabberd/__init__.py:45
msgid "ejabberd"
msgstr "ejabberd"
-#: plinth/modules/ejabberd/__init__.py:45
-#: plinth/modules/matrixsynapse/__init__.py:43
+#: plinth/modules/ejabberd/__init__.py:47
+#: plinth/modules/matrixsynapse/__init__.py:45
msgid "Chat Server"
msgstr "Chat server"
-#: plinth/modules/ejabberd/__init__.py:48
+#: plinth/modules/ejabberd/__init__.py:50
msgid ""
"XMPP is an open and standardized communication protocol. Here you can run "
"and configure your XMPP server, called ejabberd."
@@ -1223,7 +1234,7 @@ msgstr ""
"XMPP je otevřený a standardizovaný komunikační protokol. Zde je možné "
"nastavit a spustit vlastní XMPP server, zvaný ejabberd."
-#: plinth/modules/ejabberd/__init__.py:51
+#: plinth/modules/ejabberd/__init__.py:53
#, python-brace-format
msgid ""
"To actually communicate, you can use the web client"
@@ -1236,11 +1247,11 @@ msgstr ""
"target='_blank'>XMPP klienta. Když je zapnutý, ejabberd je přístupný "
"libovolnému uživateli s účtem na {box_name}."
-#: plinth/modules/ejabberd/forms.py:33
+#: plinth/modules/ejabberd/forms.py:32
msgid "Enable Message Archive Management"
msgstr "Zapnout správu archivu zpráv"
-#: plinth/modules/ejabberd/forms.py:36
+#: plinth/modules/ejabberd/forms.py:34
#, python-brace-format
msgid ""
"If enabled, your {box_name} will store chat message histories. This allows "
@@ -1322,35 +1333,23 @@ msgstr "Spustit webového klienta"
#: plinth/modules/openvpn/templates/openvpn.html:123
#: plinth/modules/snapshot/templates/snapshot.html:27
#: plinth/modules/tahoe/templates/tahoe-post-setup.html:43
-#: plinth/modules/tor/templates/tor.html:88 plinth/templates/service.html:81
+#: plinth/modules/tor/templates/tor.html:88 plinth/templates/app.html:81
msgid "Configuration"
msgstr "Nastavení"
-#: plinth/modules/ejabberd/views.py:68
-#: plinth/modules/matrixsynapse/views.py:111
-#: plinth/modules/mediawiki/views.py:79 plinth/views.py:164
-msgid "Application enabled"
-msgstr "Aplikace zapnuta"
-
-#: plinth/modules/ejabberd/views.py:71
-#: plinth/modules/matrixsynapse/views.py:114
-#: plinth/modules/mediawiki/views.py:82 plinth/views.py:167
-msgid "Application disabled"
-msgstr "Aplikace vypnuta"
-
-#: plinth/modules/ejabberd/views.py:78
+#: plinth/modules/ejabberd/views.py:77
msgid "Message Archive Management enabled"
msgstr "Správa archivu zpráv zapnuta"
-#: plinth/modules/ejabberd/views.py:82
+#: plinth/modules/ejabberd/views.py:81
msgid "Message Archive Management disabled"
msgstr "Správa archivu zpráv vypnuta"
-#: plinth/modules/firewall/__init__.py:40
+#: plinth/modules/firewall/__init__.py:36
msgid "Firewall"
msgstr "Brána firewall"
-#: plinth/modules/firewall/__init__.py:44
+#: plinth/modules/firewall/__init__.py:40
#, python-brace-format
msgid ""
"Firewall is a security system that controls the incoming and outgoing "
@@ -1471,29 +1470,29 @@ msgstr "Spustit nastavení"
msgid "Setup Complete"
msgstr "Nastavení dokončeno"
-#: plinth/modules/help/help.py:44
+#: plinth/modules/help/help.py:46
msgid "Documentation"
msgstr "Dokumentace"
-#: plinth/modules/help/help.py:48 plinth/modules/networks/forms.py:68
+#: plinth/modules/help/help.py:50 plinth/modules/networks/forms.py:68
#: plinth/modules/networks/forms.py:108 plinth/templates/index.html:135
msgid "Manual"
msgstr "Příručka"
-#: plinth/modules/help/help.py:53
+#: plinth/modules/help/help.py:55
msgid "Download Manual"
msgstr "Stáhnout si příručku"
-#: plinth/modules/help/help.py:73
+#: plinth/modules/help/help.py:75
msgid "Documentation and FAQ"
msgstr "Dokumentace a často kladené dotazy"
-#: plinth/modules/help/help.py:81
+#: plinth/modules/help/help.py:83
#, python-brace-format
msgid "About {box_name}"
msgstr "O {box_name}"
-#: plinth/modules/help/help.py:102
+#: plinth/modules/help/help.py:104
#, python-brace-format
msgid "{box_name} Manual"
msgstr "Příručka k {box_name}"
@@ -1647,15 +1646,15 @@ msgstr ""
"Před odesláním hlášení chyby odeberte ze záznamů událostí veškerá hesla a "
"ostatní osobní údaje."
-#: plinth/modules/i2p/__init__.py:40 plinth/modules/i2p/manifest.py:31
+#: plinth/modules/i2p/__init__.py:42 plinth/modules/i2p/manifest.py:31
msgid "I2P"
msgstr "I2P"
-#: plinth/modules/i2p/__init__.py:42 plinth/modules/tor/__init__.py:45
+#: plinth/modules/i2p/__init__.py:44 plinth/modules/tor/__init__.py:48
msgid "Anonymity Network"
msgstr "Anonymní síť"
-#: plinth/modules/i2p/__init__.py:45
+#: plinth/modules/i2p/__init__.py:47
msgid ""
"The Invisible Internet Project is an anonymous network layer intended to "
"protect communication from censorship and surveillance. I2P provides "
@@ -1667,7 +1666,7 @@ msgstr ""
"anonymitu posíláním provozu zašifrovaně, skrze dobrovolníky provozovanou síť "
"rozprostřenou po celém světě."
-#: plinth/modules/i2p/__init__.py:49
+#: plinth/modules/i2p/__init__.py:51
msgid ""
"Find more information about I2P on their project homepage."
@@ -1675,28 +1674,28 @@ msgstr ""
"Více informací I2P naleznete na domovské stránce projektu."
-#: plinth/modules/i2p/__init__.py:51
+#: plinth/modules/i2p/__init__.py:53
msgid ""
"The first visit to the provided web interface will initiate the "
"configuration process."
msgstr ""
"První navštívení poskytovaného webového rozhraní spustí proces nastavení."
-#: plinth/modules/i2p/__init__.py:57
+#: plinth/modules/i2p/__init__.py:59
msgid "Manage I2P application"
msgstr "Spravovat aplikaci I2P"
-#: plinth/modules/i2p/templates/i2p.html:32 plinth/templates/service.html:56
+#: plinth/modules/i2p/templates/i2p.html:32 plinth/templates/app.html:56
#, python-format
msgid "Service %(service_name)s is running."
msgstr "Služba %(service_name)s je spuštěná."
-#: plinth/modules/i2p/templates/i2p.html:37 plinth/templates/service.html:61
+#: plinth/modules/i2p/templates/i2p.html:37 plinth/templates/app.html:61
#, python-format
msgid "Service %(service_name)s is not running."
msgstr "Služba %(service_name)s není spuštěná."
-#: plinth/modules/i2p/templates/i2p_service.html:13
+#: plinth/modules/i2p/templates/i2p_service.html:31
#: plinth/templates/clients.html:51
msgid "Launch"
msgstr "Spustit"
@@ -1709,11 +1708,11 @@ msgstr "Proxy servery"
msgid "Anonymous torrents"
msgstr "Anonymní torenty"
-#: plinth/modules/i2p/views.py:86
+#: plinth/modules/i2p/views.py:88
msgid "I2P Proxies and Tunnels"
msgstr "I2P proxy a tunely"
-#: plinth/modules/i2p/views.py:89
+#: plinth/modules/i2p/views.py:91
msgid ""
"I2P lets you browse the Internet and hidden services (eepsites) anonymously. "
"For this, your browser, preferably a Tor Browser, needs to be configured for "
@@ -1723,7 +1722,7 @@ msgstr ""
"je třeba, aby vámi používaný webový prohlížeč (nejlépe Tor Browser) byl "
"nastaven pro proxy."
-#: plinth/modules/i2p/views.py:92
+#: plinth/modules/i2p/views.py:94
msgid ""
"By default HTTP, HTTPS and IRC proxies are available. Additional proxies and "
"tunnels may be configured using the tunnel configuration interface."
@@ -1731,11 +1730,11 @@ msgstr ""
"Ve výchozím stavu jsou k dispozici proxy pro HTTP, HTTPS a IRC. Další proxy "
"a tunely je možné nastavit pomocí rozhraní pro nastavení tunelů."
-#: plinth/modules/i2p/views.py:101
+#: plinth/modules/i2p/views.py:103
msgid "Anonymous Torrents"
msgstr "Anonymní torrenty"
-#: plinth/modules/i2p/views.py:104
+#: plinth/modules/i2p/views.py:106
msgid ""
"I2P provides an application to download files anonymously in a peer-to-peer "
"network. Download files by adding torrents or create a new torrent to share "
@@ -1745,15 +1744,15 @@ msgstr ""
"Soubory stahujete přidáním torrentů nebo vytvořením nového torrentu a "
"sdílením souboru skrze něj."
-#: plinth/modules/ikiwiki/__init__.py:42 plinth/modules/ikiwiki/manifest.py:24
+#: plinth/modules/ikiwiki/__init__.py:41 plinth/modules/ikiwiki/manifest.py:24
msgid "ikiwiki"
msgstr "ikiwiki"
-#: plinth/modules/ikiwiki/__init__.py:44
+#: plinth/modules/ikiwiki/__init__.py:43
msgid "Wiki and Blog"
msgstr "wiki a blog"
-#: plinth/modules/ikiwiki/__init__.py:47
+#: plinth/modules/ikiwiki/__init__.py:46
msgid ""
"ikiwiki is a simple wiki and blog application. It supports several "
"lightweight markup languages, including Markdown, and common blogging "
@@ -1765,7 +1764,7 @@ msgstr ""
"komentáře a RSS kanály. Když je zapnuté, blogy a wiki budou dostupné na /ikiwiki (po vytvoření)."
-#: plinth/modules/ikiwiki/__init__.py:53
+#: plinth/modules/ikiwiki/__init__.py:52
#, python-brace-format
msgid ""
"Only {box_name} users in the admin group can create and "
@@ -1778,7 +1777,7 @@ msgstr ""
"může upravovat ty stávající. V Nastavení "
"uživatele můžete tato oprávnění změnit nebo přidat nové uživatele."
-#: plinth/modules/ikiwiki/__init__.py:63
+#: plinth/modules/ikiwiki/__init__.py:62
msgid "View and edit wiki applications"
msgstr "Zobrazit a upravit wiki aplikace"
@@ -1848,50 +1847,50 @@ msgstr "Přejít na stránku %(site)s"
msgid "Manage"
msgstr "Spravovat"
-#: plinth/modules/ikiwiki/views.py:121
+#: plinth/modules/ikiwiki/views.py:124
#, python-brace-format
msgid "Created wiki {name}."
msgstr "Wiki {name} vytvořena."
-#: plinth/modules/ikiwiki/views.py:124
+#: plinth/modules/ikiwiki/views.py:127
#, python-brace-format
msgid "Could not create wiki: {error}"
msgstr "Wiki se nepodařilo vytvořit: {error}"
-#: plinth/modules/ikiwiki/views.py:134
+#: plinth/modules/ikiwiki/views.py:137
#, python-brace-format
msgid "Created blog {name}."
msgstr "Blog {name} vytvořen."
-#: plinth/modules/ikiwiki/views.py:137
+#: plinth/modules/ikiwiki/views.py:140
#, python-brace-format
msgid "Could not create blog: {error}"
msgstr "Blog se nepodařilo vytvořit: {error}"
-#: plinth/modules/ikiwiki/views.py:150
+#: plinth/modules/ikiwiki/views.py:153
#, python-brace-format
msgid "{name} deleted."
msgstr "{name} smazáno."
-#: plinth/modules/ikiwiki/views.py:154
+#: plinth/modules/ikiwiki/views.py:157
#, python-brace-format
msgid "Could not delete {name}: {error}"
msgstr "{name} se nepodařilo smazat: {error}"
-#: plinth/modules/infinoted/__init__.py:41
+#: plinth/modules/infinoted/__init__.py:40
msgid "infinoted"
msgstr "infinoted"
-#: plinth/modules/infinoted/__init__.py:43
+#: plinth/modules/infinoted/__init__.py:42
msgid "Gobby Server"
msgstr "Gobby server"
-#: plinth/modules/infinoted/__init__.py:46
+#: plinth/modules/infinoted/__init__.py:45
msgid "infinoted is a server for Gobby, a collaborative text editor."
msgstr ""
"infinoted je server pro Gobby – textový editor pro spolupráci ve skupině."
-#: plinth/modules/infinoted/__init__.py:48
+#: plinth/modules/infinoted/__init__.py:47
#, python-brace-format
msgid ""
"To use it, download Gobby, desktop "
@@ -2269,11 +2268,11 @@ msgstr "Certifikát pro doménu {domain} úspěšně smazán"
msgid "Failed to delete certificate for domain {domain}: {error}"
msgstr "Nepodařilo se smazat certifikát pro doménu {domain}: {error}"
-#: plinth/modules/matrixsynapse/__init__.py:41
+#: plinth/modules/matrixsynapse/__init__.py:43
msgid "Matrix Synapse"
msgstr "Matrix Synapse"
-#: plinth/modules/matrixsynapse/__init__.py:46
+#: plinth/modules/matrixsynapse/__init__.py:48
msgid ""
"Matrix is an new "
"ecosystem for open, federated instant messaging and VoIP. Synapse is a "
@@ -2290,7 +2289,7 @@ msgstr ""
"čísla. Díky federování mohou uživatelé na daném Matrix serveru komunikovat "
"s uživateli všech ostatních Matrix serverů."
-#: plinth/modules/matrixsynapse/__init__.py:53
+#: plinth/modules/matrixsynapse/__init__.py:55
msgid ""
"To communicate, you can use the available clients for mobile, desktop and the web. a získejte takový.\n"
" "
-#: plinth/modules/matrixsynapse/views.py:122
+#: plinth/modules/matrixsynapse/views.py:121
msgid "Public registration enabled"
msgstr "Registrace pro veřejnost otevřena"
-#: plinth/modules/matrixsynapse/views.py:127
+#: plinth/modules/matrixsynapse/views.py:126
msgid "Public registration disabled"
msgstr "Registrace pro veřejnost zavřena"
-#: plinth/modules/mediawiki/__init__.py:34
+#: plinth/modules/mediawiki/__init__.py:38
#: plinth/modules/mediawiki/manifest.py:24
msgid "MediaWiki"
msgstr "MediaWiki"
-#: plinth/modules/mediawiki/__init__.py:36 plinth/templates/index.html:139
+#: plinth/modules/mediawiki/__init__.py:40 plinth/templates/index.html:139
msgid "Wiki"
msgstr "Wiki"
-#: plinth/modules/mediawiki/__init__.py:39
+#: plinth/modules/mediawiki/__init__.py:43
msgid ""
"MediaWiki is the wiki engine that powers Wikipedia and other WikiMedia "
"projects. A wiki engine is a program for creating a collaboratively edited "
@@ -2410,7 +2409,7 @@ msgstr ""
"skupině. Mediawiki je možné použít pro hostování wiki webových stránek, "
"poznámek nebo pro spolupráci s přáteli na projektech."
-#: plinth/modules/mediawiki/__init__.py:43
+#: plinth/modules/mediawiki/__init__.py:47
msgid ""
"This MediaWiki instance comes with a randomly generated administrator "
"password. You can set a new password in the \"Configuration\" section and "
@@ -2424,7 +2423,7 @@ msgstr ""
"stránce Special:"
"CreateAccount."
-#: plinth/modules/mediawiki/__init__.py:49
+#: plinth/modules/mediawiki/__init__.py:53
msgid ""
"Anyone with a link to this wiki can read it. Only users that are logged in "
"can make changes to the content."
@@ -2472,32 +2471,32 @@ msgstr ""
msgid "Password updated"
msgstr "Heslo aktualizováno"
-#: plinth/modules/mediawiki/views.py:91
+#: plinth/modules/mediawiki/views.py:89
msgid "Public registrations enabled"
msgstr "Registrace pro veřejnost otevřené"
-#: plinth/modules/mediawiki/views.py:100
+#: plinth/modules/mediawiki/views.py:98
msgid "Public registrations disabled"
msgstr "Registrace pro veřejnost zavřené"
-#: plinth/modules/mediawiki/views.py:109
+#: plinth/modules/mediawiki/views.py:107
msgid "Private mode enabled"
msgstr "Soukromý režim zapnut"
-#: plinth/modules/mediawiki/views.py:112
+#: plinth/modules/mediawiki/views.py:110
msgid "Private mode disabled"
msgstr "Soukromý režim vypnut"
-#: plinth/modules/minetest/__init__.py:53
+#: plinth/modules/minetest/__init__.py:52
#: plinth/modules/minetest/manifest.py:25
msgid "Minetest"
msgstr "Minetest"
-#: plinth/modules/minetest/__init__.py:55
+#: plinth/modules/minetest/__init__.py:54
msgid "Block Sandbox"
msgstr "Pískoviště s kostkami"
-#: plinth/modules/minetest/__init__.py:59
+#: plinth/modules/minetest/__init__.py:58
#, python-brace-format
msgid ""
"Minetest is a multiplayer infinite-world block sandbox. This module enables "
@@ -2510,11 +2509,11 @@ msgstr ""
"serveru je třeba Minetest "
"klient."
-#: plinth/modules/minetest/forms.py:31
+#: plinth/modules/minetest/forms.py:30
msgid "Maximum number of players"
msgstr "Nejvyšší umožněný počet hráčů"
-#: plinth/modules/minetest/forms.py:35
+#: plinth/modules/minetest/forms.py:32
msgid ""
"You can change the maximum number of players playing minetest at a single "
"instance of time."
@@ -2522,11 +2521,11 @@ msgstr ""
"Je možné změnit kolik hráčů naráz může hrát minetest na jedné instanci "
"serveru."
-#: plinth/modules/minetest/forms.py:39
+#: plinth/modules/minetest/forms.py:36
msgid "Enable creative mode"
msgstr "Zapnout tvořivý režim"
-#: plinth/modules/minetest/forms.py:41
+#: plinth/modules/minetest/forms.py:37
msgid ""
"Creative mode changes the rules of the game to make it more suitable for "
"creative gameplay, rather than challenging \"survival\" gameplay."
@@ -2534,19 +2533,19 @@ msgstr ""
"Tvořivý režim změní pravidla hry tak, aby byla použitelnější pro tvořivou "
"hru, namísto náročné hry na přežití."
-#: plinth/modules/minetest/forms.py:46
+#: plinth/modules/minetest/forms.py:42
msgid "Enable PVP"
msgstr "Zapnout PVP"
-#: plinth/modules/minetest/forms.py:48
+#: plinth/modules/minetest/forms.py:43
msgid "Enabling Player Vs Player will allow players to damage other players."
msgstr "Zapnutím režimu Hráč proti hráči umožní hráčům ubližovat ostatním."
-#: plinth/modules/minetest/forms.py:52
+#: plinth/modules/minetest/forms.py:47
msgid "Enable damage"
msgstr "Zapnout poškozování"
-#: plinth/modules/minetest/forms.py:54
+#: plinth/modules/minetest/forms.py:48
msgid "When disabled, players cannot die or receive damage of any kind."
msgstr "Pokud je vypnuto, postavy hráčů nemohou zemřít nebo se zranit."
@@ -2560,32 +2559,32 @@ msgstr "Adresa"
msgid "Port"
msgstr "Port"
-#: plinth/modules/minetest/views.py:71
+#: plinth/modules/minetest/views.py:72
msgid "Maximum players configuration updated"
msgstr "Nastavení nejvyššího umožněného počtu hráčů aktualizováno"
-#: plinth/modules/minetest/views.py:78
+#: plinth/modules/minetest/views.py:79
msgid "Creative mode configuration updated"
msgstr "Nastavení tvořivého režimu aktualizována"
-#: plinth/modules/minetest/views.py:84
+#: plinth/modules/minetest/views.py:85
msgid "PVP configuration updated"
msgstr "Nastavení PVP aktualizováno"
-#: plinth/modules/minetest/views.py:90
+#: plinth/modules/minetest/views.py:91
msgid "Damage configuration updated"
msgstr "Nastavení poškozování aktualizováno"
-#: plinth/modules/mldonkey/__init__.py:38
+#: plinth/modules/mldonkey/__init__.py:40
#: plinth/modules/mldonkey/manifest.py:27
msgid "MLDonkey"
msgstr "MLDonkey"
-#: plinth/modules/mldonkey/__init__.py:40
+#: plinth/modules/mldonkey/__init__.py:42
msgid "Peer-to-peer File Sharing"
msgstr "Pee-to-peer sdílení souborů"
-#: plinth/modules/mldonkey/__init__.py:43
+#: plinth/modules/mldonkey/__init__.py:45
msgid ""
"MLDonkey is a peer-to-peer file sharing application used to exchange large "
"files. It can participate in multiple peer-to-peer networks including "
@@ -2595,7 +2594,7 @@ msgstr ""
"velkých souborů. Může se účastnit vícero peer-to-peer sítí, včetně eDonkey, "
"Kademlia, Overnet, BitTorrent a DirectConnect."
-#: plinth/modules/mldonkey/__init__.py:46
+#: plinth/modules/mldonkey/__init__.py:48
msgid ""
"Users belonging to admin and ed2k group can control it through the web "
"interface. Users in the admin group can also control it through any of the "
@@ -2606,14 +2605,14 @@ msgstr ""
"ovládat prostřednictvím libovolné mobilní či desktopové nadstavby nebo přes "
"rozhraní telnet. Viz příručka."
-#: plinth/modules/mldonkey/__init__.py:51
+#: plinth/modules/mldonkey/__init__.py:53
#, python-brace-format
msgid ""
"On {box_name}, downloaded files can be found in /var/lib/mldonkey/ directory."
msgstr ""
"Na {box_name}, stažené soubory se nacházejí ve složce /var/lib/mldonkey/ ."
-#: plinth/modules/mldonkey/__init__.py:59
+#: plinth/modules/mldonkey/__init__.py:61
msgid "Download files using eDonkey applications"
msgstr "Stahovat soubory pomocí eDonkey aplikací"
@@ -2692,12 +2691,6 @@ msgstr "OpenPGP otisk"
msgid "Secure Shell"
msgstr "Zabezpečený shell"
-#: plinth/modules/monkeysphere/templates/monkeysphere.html:88
-#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:60
-#: plinth/service.py:138
-msgid "Web Server"
-msgstr "Webový server"
-
#: plinth/modules/monkeysphere/templates/monkeysphere.html:90
#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:62
msgid "Other"
@@ -2793,15 +2786,15 @@ msgstr "Klíč zveřejněn na server s klíči."
msgid "Error occurred while publishing key."
msgstr "Při zveřejňování klíče došlo k chybě."
-#: plinth/modules/mumble/__init__.py:34 plinth/modules/mumble/manifest.py:27
+#: plinth/modules/mumble/__init__.py:35 plinth/modules/mumble/manifest.py:27
msgid "Mumble"
msgstr "Mumble"
-#: plinth/modules/mumble/__init__.py:36
+#: plinth/modules/mumble/__init__.py:37
msgid "Voice Chat"
msgstr "Hlasový chat"
-#: plinth/modules/mumble/__init__.py:45
+#: plinth/modules/mumble/__init__.py:44
msgid ""
"Mumble is an open source, low-latency, encrypted, high quality voice chat "
"software."
@@ -2809,7 +2802,7 @@ msgstr ""
"Mumble je open source software pro šifrovanou, vysoce kvalitní hlasovou "
"komunikaci s nízkou prodlevou."
-#: plinth/modules/mumble/__init__.py:47
+#: plinth/modules/mumble/__init__.py:46
msgid ""
"You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your "
@@ -2864,7 +2857,7 @@ msgstr "Není k dispozici"
msgid "Networks"
msgstr "Sítě"
-#: plinth/modules/networks/__init__.py:142
+#: plinth/modules/networks/__init__.py:144
#, python-brace-format
msgid "Using DNSSEC on IPv{kind}"
msgstr "S použitím DNSSEC na IPv{kind}"
@@ -3318,7 +3311,7 @@ msgstr "IPv4"
#: plinth/modules/networks/templates/connection_show.html:186
#: plinth/modules/networks/templates/connection_show.html:227
-#: plinth/modules/shadowsocks/forms.py:75
+#: plinth/modules/shadowsocks/forms.py:65
msgid "Method"
msgstr "Metoda"
@@ -3450,15 +3443,15 @@ msgstr "Neaktivní"
msgid "Create..."
msgstr "Vytvořit…"
-#: plinth/modules/openvpn/__init__.py:40
+#: plinth/modules/openvpn/__init__.py:39
msgid "OpenVPN"
msgstr "OpenVPN"
-#: plinth/modules/openvpn/__init__.py:42
+#: plinth/modules/openvpn/__init__.py:41
msgid "Virtual Private Network"
msgstr "Virtuální soukromá síť"
-#: plinth/modules/openvpn/__init__.py:46
+#: plinth/modules/openvpn/__init__.py:45
#, python-brace-format
msgid ""
"Virtual Private Network (VPN) is a technique for securely connecting two "
@@ -3475,7 +3468,7 @@ msgstr ""
"zvýšení zabezpečení a anonymity je také možné přistupovat k ostatku "
"Internetu prostřednictvím {box_name}."
-#: plinth/modules/openvpn/__init__.py:74
+#: plinth/modules/openvpn/__init__.py:75
#, python-brace-format
msgid ""
"Download Profile"
@@ -3554,11 +3547,11 @@ msgstr "OpenVPN server je spuštěný"
msgid "OpenVPN server is not running"
msgstr "OpenVPN server není spuštěný"
-#: plinth/modules/openvpn/views.py:128
+#: plinth/modules/openvpn/views.py:126
msgid "Setup completed."
msgstr "Nastavování dokončeno."
-#: plinth/modules/openvpn/views.py:130
+#: plinth/modules/openvpn/views.py:128
msgid "Setup failed."
msgstr "Nastavování se nezdařilo."
@@ -3644,7 +3637,7 @@ msgstr ""
"Vyberte pagekite server, který chcete používat. Pokud to má být ten výchozí, "
"zadejte „pagekite.net“."
-#: plinth/modules/pagekite/forms.py:78 plinth/modules/shadowsocks/forms.py:64
+#: plinth/modules/pagekite/forms.py:78 plinth/modules/shadowsocks/forms.py:57
msgid "Server port"
msgstr "Port serveru"
@@ -3857,29 +3850,29 @@ msgstr ""
msgid "Save Services"
msgstr "Uložit služby"
-#: plinth/modules/pagekite/utils.py:53
+#: plinth/modules/pagekite/utils.py:57
msgid "Web Server (HTTP)"
msgstr "Webový server (HTTP)"
-#: plinth/modules/pagekite/utils.py:54
+#: plinth/modules/pagekite/utils.py:59
#, python-brace-format
msgid "Site will be available at http://{0}"
msgstr "Stránky budou k dispozici na http://{0}"
-#: plinth/modules/pagekite/utils.py:63
+#: plinth/modules/pagekite/utils.py:71
msgid "Web Server (HTTPS)"
msgstr "Webový server (HTTPS)"
-#: plinth/modules/pagekite/utils.py:64
+#: plinth/modules/pagekite/utils.py:73
#, python-brace-format
msgid "Site will be available at https://{0}"
msgstr "Stránky budou k dispozici na https://{0}"
-#: plinth/modules/pagekite/utils.py:73
+#: plinth/modules/pagekite/utils.py:85
msgid "Secure Shell (SSH)"
msgstr "Zabezpečený shell (SSH)"
-#: plinth/modules/pagekite/utils.py:74
+#: plinth/modules/pagekite/utils.py:87
msgid ""
"See SSH client setup instructions"
@@ -3887,19 +3880,19 @@ msgstr ""
"Viz instrukce"
"a> pro nastavení SSH klienta"
-#: plinth/modules/pagekite/utils.py:276
+#: plinth/modules/pagekite/utils.py:288
msgid "Pagekite"
msgstr "Pagekite"
-#: plinth/modules/pagekite/views.py:39
+#: plinth/modules/pagekite/views.py:40
msgid "Standard Services"
msgstr "Standardní služby"
-#: plinth/modules/pagekite/views.py:42
+#: plinth/modules/pagekite/views.py:44
msgid "Custom Services"
msgstr "Uživatelem určené služby"
-#: plinth/modules/pagekite/views.py:156
+#: plinth/modules/pagekite/views.py:158
msgid "Pagekite setup finished. The HTTP and HTTPS services are activated now."
msgstr "Nastavení Pagekite dokončeno. Služby HTTP a HTTPS jsou nyní zapnuté."
@@ -3969,15 +3962,15 @@ msgstr ""
msgid "Shut Down Now"
msgstr "Vypnout nyní"
-#: plinth/modules/privoxy/__init__.py:41
+#: plinth/modules/privoxy/__init__.py:42
msgid "Privoxy"
msgstr "Privoxy"
-#: plinth/modules/privoxy/__init__.py:43
+#: plinth/modules/privoxy/__init__.py:44
msgid "Web Proxy"
msgstr "Webová proxy"
-#: plinth/modules/privoxy/__init__.py:46
+#: plinth/modules/privoxy/__init__.py:47
msgid ""
"Privoxy is a non-caching web proxy with advanced filtering capabilities for "
"enhancing privacy, modifying web page data and HTTP headers, controlling "
@@ -3987,7 +3980,7 @@ msgstr ""
"zlepšujícími soukromí, upravující data webových stánek a HTTP hlaviček, "
"řídící přístup a odebírající reklamy a ostatní otravné Internetové smetí. "
-#: plinth/modules/privoxy/__init__.py:51
+#: plinth/modules/privoxy/__init__.py:52
#, python-brace-format
msgid ""
"You can use Privoxy by modifying your browser proxy settings to your "
@@ -4002,20 +3995,20 @@ msgstr ""
"privoxy.org\">http://config.privoxy.org/ nebo http://p.p."
-#: plinth/modules/privoxy/__init__.py:157
+#: plinth/modules/privoxy/__init__.py:142
#, python-brace-format
msgid "Access {url} with proxy {proxy} on tcp{kind}"
msgstr "Přistupte {url} s proxy {proxy} na tcp{kind}"
-#: plinth/modules/quassel/__init__.py:41 plinth/modules/quassel/manifest.py:25
+#: plinth/modules/quassel/__init__.py:40 plinth/modules/quassel/manifest.py:25
msgid "Quassel"
msgstr "Quassel"
-#: plinth/modules/quassel/__init__.py:43
+#: plinth/modules/quassel/__init__.py:42
msgid "IRC Client"
msgstr "IRC klient"
-#: plinth/modules/quassel/__init__.py:47
+#: plinth/modules/quassel/__init__.py:46
#, python-brace-format
msgid ""
"Quassel is an IRC application that is split into two parts, a \"core\" and a "
@@ -4032,7 +4025,7 @@ msgstr ""
"více Quassel klientů z desktopu nebo mobilu může být použito pro připojení "
"nebo odpojení od něj."
-#: plinth/modules/quassel/__init__.py:54
+#: plinth/modules/quassel/__init__.py:53
msgid ""
"You can connect to your Quassel core on the default Quassel port 4242. "
"Clients to connect to Quassel from your Jitsi (for computers) and CSipSimple (pro Android telefony)."
-#: plinth/modules/repro/__init__.py:53
+#: plinth/modules/repro/__init__.py:55
msgid ""
"Note: Before using repro, domains and users will need to "
"be configured using the web-based "
@@ -4226,15 +4219,15 @@ msgstr ""
msgid "CSipSimple"
msgstr "CSipSimple"
-#: plinth/modules/restore/__init__.py:36 plinth/modules/restore/manifest.py:23
+#: plinth/modules/restore/__init__.py:37 plinth/modules/restore/manifest.py:23
msgid "reStore"
msgstr "reStore"
-#: plinth/modules/restore/__init__.py:38
+#: plinth/modules/restore/__init__.py:39
msgid "Unhosted Storage"
msgstr "Úložiště Unhosted"
-#: plinth/modules/restore/__init__.py:42
+#: plinth/modules/restore/__init__.py:43
#, python-brace-format
msgid ""
"reStore is a server for unhosted web "
@@ -4249,7 +4242,7 @@ msgstr ""
"úložném serveru, který si uživatel vybere. Pomocí reStore, se váš {box_name} "
"stane unhosted úložným serverem."
-#: plinth/modules/restore/__init__.py:48
+#: plinth/modules/restore/__init__.py:49
msgid ""
"You can create and edit accounts in the reStore web-"
"interface."
@@ -4257,16 +4250,16 @@ msgstr ""
"Účty je možné vytvářet a upravovat ve webovém rozhraní "
"reStore."
-#: plinth/modules/roundcube/__init__.py:34
+#: plinth/modules/roundcube/__init__.py:35
#: plinth/modules/roundcube/manifest.py:24
msgid "Roundcube"
msgstr "Roundcube"
-#: plinth/modules/roundcube/__init__.py:36
+#: plinth/modules/roundcube/__init__.py:37
msgid "Email Client"
msgstr "E-mailový klient"
-#: plinth/modules/roundcube/__init__.py:39
+#: plinth/modules/roundcube/__init__.py:40
msgid ""
"Roundcube webmail is a browser-based multilingual IMAP client with an "
"application-like user interface. It provides full functionality you expect "
@@ -4279,7 +4272,7 @@ msgstr ""
"klienta, včetně podpory MIME, adresáře kontaktů, manipulace se složkami, "
"vyhledávání ve zprávách a kontrolou pravopisu."
-#: plinth/modules/roundcube/__init__.py:44
+#: plinth/modules/roundcube/__init__.py:45
msgid ""
"You can access Roundcube from /roundcube. Provide "
"the username and password of the email account you wish to access followed "
@@ -4293,7 +4286,7 @@ msgstr ""
"mailu, jako imap.example.com. Pro IMAP přes SSL (doporučeno), "
"vyplňte kolonku server jakoimaps://imap.example.com."
-#: plinth/modules/roundcube/__init__.py:50
+#: plinth/modules/roundcube/__init__.py:51
msgid ""
"For Gmail, username will be your Gmail address, password will be your Google "
"account password and server will be imaps://imap.gmail.com. "
@@ -4366,12 +4359,12 @@ msgid "Allow this application to be used by anyone who can reach it."
msgstr ""
"Umožnit, aby tato aplikace byla používána kýmkoli, kdo se k ní může dostat."
-#: plinth/modules/searx/views.py:60 plinth/modules/searx/views.py:71
-#: plinth/modules/tor/views.py:139 plinth/modules/tor/views.py:168
+#: plinth/modules/searx/views.py:59 plinth/modules/searx/views.py:70
+#: plinth/modules/tor/views.py:141 plinth/modules/tor/views.py:168
msgid "Configuration updated."
msgstr "Nastavení aktualizována."
-#: plinth/modules/searx/views.py:63 plinth/modules/searx/views.py:74
+#: plinth/modules/searx/views.py:62 plinth/modules/searx/views.py:73
#: plinth/modules/tor/views.py:170
msgid "An error occurred during configuration."
msgstr "Při nastavování se vyskytla chyba."
@@ -4436,15 +4429,15 @@ msgstr ""
"shaarli na webovém serveru. Poznamenejme, že Shaarli podporuje pouze "
"jeden uživatelský účet, který bude třeba nastavit při první návštěvě."
-#: plinth/modules/shadowsocks/__init__.py:34
+#: plinth/modules/shadowsocks/__init__.py:35
msgid "Shadowsocks"
msgstr "Shadowsocks"
-#: plinth/modules/shadowsocks/__init__.py:36
+#: plinth/modules/shadowsocks/__init__.py:37
msgid "Socks5 Proxy"
msgstr "Socks5 proxy"
-#: plinth/modules/shadowsocks/__init__.py:45
+#: plinth/modules/shadowsocks/__init__.py:44
msgid ""
"Shadowsocks is a lightweight and secure SOCKS5 proxy, designed to protect "
"your Internet traffic. It can be used to bypass Internet filtering and "
@@ -4454,7 +4447,7 @@ msgstr ""
"vašeho Internetového provozu. Je možné ji použít pro obejití filtrování "
"Internetu a cenzury."
-#: plinth/modules/shadowsocks/__init__.py:49
+#: plinth/modules/shadowsocks/__init__.py:48
#, python-brace-format
msgid ""
"Your {box_name} can run a Shadowsocks client, that can connect to a "
@@ -4467,7 +4460,7 @@ msgstr ""
"připojit k této proxy a jejich data budou šifrována a posílána "
"prostřednictvím Shadowsocks serveru."
-#: plinth/modules/shadowsocks/__init__.py:54
+#: plinth/modules/shadowsocks/__init__.py:53
msgid ""
"To use Shadowsocks after setup, set the SOCKS5 proxy URL in your device, "
"browser or application to http://freedombox_address:1080/"
@@ -4475,30 +4468,30 @@ msgstr ""
"Pro použití Shadowsocks po nastavení, nastavte SOCKS5 proxy URL adresu ve "
"svém zařízení, prohlížeči nebo aplikaci na http://adresa_freedombox:1080/"
+#: plinth/modules/shadowsocks/forms.py:28
#: plinth/modules/shadowsocks/forms.py:29
-#: plinth/modules/shadowsocks/forms.py:30
msgid "Recommended"
msgstr "Doporučeno"
-#: plinth/modules/shadowsocks/forms.py:60
+#: plinth/modules/shadowsocks/forms.py:54
msgid "Server"
msgstr "Server"
-#: plinth/modules/shadowsocks/forms.py:61
+#: plinth/modules/shadowsocks/forms.py:54
msgid "Server hostname or IP address"
msgstr "Název nebo IP adresa serveru"
-#: plinth/modules/shadowsocks/forms.py:67
+#: plinth/modules/shadowsocks/forms.py:58
msgid "Server port number"
msgstr "Číslo portu serveru"
-#: plinth/modules/shadowsocks/forms.py:71
+#: plinth/modules/shadowsocks/forms.py:61
msgid "Password used to encrypt data. Must match server password."
msgstr ""
"Heslo sloužící pro šifrování dat. Je třeba, aby se shodovalo s heslem "
"serveru."
-#: plinth/modules/shadowsocks/forms.py:77
+#: plinth/modules/shadowsocks/forms.py:66
msgid "Encryption method. Must match setting on server."
msgstr ""
"Metoda šifrování. Je třeba, aby byla stejná, jaká je nastavená na serveru."
@@ -4789,7 +4782,7 @@ msgstr "Zachycený stav pořízen."
msgid "Storage snapshots configuration updated"
msgstr "Nastavení zachycování stavů úložiště aktualizováno"
-#: plinth/modules/snapshot/views.py:153 plinth/modules/tor/views.py:72
+#: plinth/modules/snapshot/views.py:153 plinth/modules/tor/views.py:73
#, python-brace-format
msgid "Action error: {0} [{1}] [{2}]"
msgstr "Chyba akce: {0} [{1}] [{2}]"
@@ -4819,11 +4812,11 @@ msgstr "Pro dokončení obnovy ze zálohy je třeba systém restartovat."
msgid "Rollback to Snapshot"
msgstr "Vrátit do podoby zachyceného stavu"
-#: plinth/modules/ssh/__init__.py:39
+#: plinth/modules/ssh/__init__.py:40
msgid "Secure Shell (SSH) Server"
msgstr "Server zabezpečeného shellu (SSH)"
-#: plinth/modules/ssh/__init__.py:42
+#: plinth/modules/ssh/__init__.py:43
msgid ""
"A Secure Shell server uses the secure shell protocol to accept connections "
"from remote computers. An authorized remote computer can perform "
@@ -4843,11 +4836,11 @@ msgstr "Sdružené přihlášení (SSO)"
msgid "Login"
msgstr "Přihlášení"
-#: plinth/modules/storage/__init__.py:36 plinth/modules/storage/views.py:53
+#: plinth/modules/storage/__init__.py:35 plinth/modules/storage/views.py:53
msgid "Storage"
msgstr "Úložiště"
-#: plinth/modules/storage/__init__.py:44
+#: plinth/modules/storage/__init__.py:43
#, python-brace-format
msgid ""
"This module allows you to manage storage media attached to your {box_name}. "
@@ -4858,80 +4851,80 @@ msgstr ""
"{box_name}. Lze zobrazit úložná zařízení, která jsou využívána, připojovat a "
"odpojovat ta vyjímatelná."
-#: plinth/modules/storage/__init__.py:211
+#: plinth/modules/storage/__init__.py:213
#, python-brace-format
msgid "{disk_size:.1f} bytes"
msgstr "{disk_size:.1f} bajtů"
-#: plinth/modules/storage/__init__.py:215
+#: plinth/modules/storage/__init__.py:217
#, python-brace-format
msgid "{disk_size:.1f} KiB"
msgstr "{disk_size:.1f} KiB"
-#: plinth/modules/storage/__init__.py:219
+#: plinth/modules/storage/__init__.py:221
#, python-brace-format
msgid "{disk_size:.1f} MiB"
msgstr "{disk_size:.1f} MiB"
-#: plinth/modules/storage/__init__.py:223
+#: plinth/modules/storage/__init__.py:225
#, python-brace-format
msgid "{disk_size:.1f} GiB"
msgstr "{disk_size:.1f} GiB"
-#: plinth/modules/storage/__init__.py:226
+#: plinth/modules/storage/__init__.py:228
#, python-brace-format
msgid "{disk_size:.1f} TiB"
msgstr "{disk_size:.1f} TiB"
-#: plinth/modules/storage/__init__.py:233
+#: plinth/modules/storage/__init__.py:235
msgid "The operation failed."
msgstr "Operace se nezdařila."
-#: plinth/modules/storage/__init__.py:235
+#: plinth/modules/storage/__init__.py:237
msgid "The operation was cancelled."
msgstr "Operace byla zrušena."
-#: plinth/modules/storage/__init__.py:237
+#: plinth/modules/storage/__init__.py:239
msgid "The device is already unmounting."
msgstr "Toto zařízení už je odpojováno (umount)."
-#: plinth/modules/storage/__init__.py:239
+#: plinth/modules/storage/__init__.py:241
msgid "The operation is not supported due to missing driver/tool support."
msgstr "Operace není podporována z důvodu chybějící podpory ovladače/nástroje."
-#: plinth/modules/storage/__init__.py:242
+#: plinth/modules/storage/__init__.py:244
msgid "The operation timed out."
msgstr "Časový limit aplikace překročen."
-#: plinth/modules/storage/__init__.py:244
+#: plinth/modules/storage/__init__.py:246
msgid "The operation would wake up a disk that is in a deep-sleep state."
msgstr "Operace by probudila disk který je v režimu hlubokého spánku."
-#: plinth/modules/storage/__init__.py:247
+#: plinth/modules/storage/__init__.py:249
msgid "Attempting to unmount a device that is busy."
msgstr "Pokus o odpojení zařízení které je zaneprázdněno."
-#: plinth/modules/storage/__init__.py:249
+#: plinth/modules/storage/__init__.py:251
msgid "The operation has already been cancelled."
msgstr "Operace už byla zrušena."
-#: plinth/modules/storage/__init__.py:255
+#: plinth/modules/storage/__init__.py:257
msgid "Not authorized to perform the requested operation."
msgstr "Chybí oprávnění pro provedení požadované operace."
-#: plinth/modules/storage/__init__.py:257
+#: plinth/modules/storage/__init__.py:259
msgid "The device is already mounted."
msgstr "Toto zařízení je už připojeno (mount)."
-#: plinth/modules/storage/__init__.py:259
+#: plinth/modules/storage/__init__.py:261
msgid "The device is not mounted."
msgstr "Zařízení není připojeno."
-#: plinth/modules/storage/__init__.py:262
+#: plinth/modules/storage/__init__.py:264
msgid "Not permitted to use the requested option."
msgstr "Není umožněno použít požadovanou volbu."
-#: plinth/modules/storage/__init__.py:265
+#: plinth/modules/storage/__init__.py:267
msgid "The device is mounted by another user."
msgstr "Zařízení je připojeno jiným uživatelem."
@@ -5014,16 +5007,16 @@ msgstr "Zařízení je možné bezpečně odebrat."
msgid "Error ejecting device: {error_message}"
msgstr "Chyba při vysouvání zařízení: {error_message}"
-#: plinth/modules/syncthing/__init__.py:38
+#: plinth/modules/syncthing/__init__.py:40
#: plinth/modules/syncthing/manifest.py:28
msgid "Syncthing"
msgstr "Syncthing"
-#: plinth/modules/syncthing/__init__.py:40
+#: plinth/modules/syncthing/__init__.py:42
msgid "File Synchronization"
msgstr "Synchronizace souborů"
-#: plinth/modules/syncthing/__init__.py:43
+#: plinth/modules/syncthing/__init__.py:45
msgid ""
"Syncthing is an application to synchronize files across multiple devices, e."
"g. your desktop computer and mobile phone. Creation, modification, or "
@@ -5035,7 +5028,7 @@ msgstr ""
"smazání souborů na jednom zařízení bude automaticky replikováno na veškerá "
"zařízení, na kterých také provozujete Syncthing."
-#: plinth/modules/syncthing/__init__.py:48
+#: plinth/modules/syncthing/__init__.py:50
#, python-brace-format
msgid ""
"Running Syncthing on {box_name} provides an extra synchronization point for "
@@ -5052,7 +5045,7 @@ msgstr ""
"být synchronizována do odlišné sady složek. Webové rozhraní {box_name} je k "
"dispozici pouze pro uživatele náležející do skupiny „admin“."
-#: plinth/modules/syncthing/__init__.py:55
+#: plinth/modules/syncthing/__init__.py:57
msgid ""
"When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile clients are also /syncthing. Jsou k "
"dispozici také klienti pro osobní počítače a mobilní platformy."
-#: plinth/modules/syncthing/__init__.py:62
+#: plinth/modules/syncthing/__init__.py:64
msgid "Administer Syncthing application"
msgstr "Spravovat aplikaci Syncthing"
-#: plinth/modules/tahoe/__init__.py:41
+#: plinth/modules/tahoe/__init__.py:43
msgid "Tahoe-LAFS"
msgstr "Tahoe-LAFS"
-#: plinth/modules/tahoe/__init__.py:43
+#: plinth/modules/tahoe/__init__.py:45
msgid "Distributed File Storage"
msgstr "Distribuované souborové úložiště"
-#: plinth/modules/tahoe/__init__.py:107
+#: plinth/modules/tahoe/__init__.py:119
msgid ""
"Tahoe-LAFS is a decentralized secure file storage system. It uses provider "
"independent security to store files over a distributed network of storage "
@@ -5086,7 +5079,7 @@ msgstr ""
"poskytovateli nezávislé zabezpečení. I když některé z uzlů přestanou "
"fungovat, své soubory můžete získat ze zbývajících uzlů."
-#: plinth/modules/tahoe/__init__.py:112
+#: plinth/modules/tahoe/__init__.py:124
#, python-brace-format
msgid ""
"This {box_name} hosts a storage node and an introducer by default. "
@@ -5135,11 +5128,11 @@ msgstr "Připojené uvaděče"
msgid "Remove"
msgstr "Odebrat"
-#: plinth/modules/tor/__init__.py:43
+#: plinth/modules/tor/__init__.py:46
msgid "Tor"
msgstr "Tor"
-#: plinth/modules/tor/__init__.py:48
+#: plinth/modules/tor/__init__.py:51
msgid ""
"Tor is an anonymous communication system. You can learn more about it from "
"the Tor Project website. For "
@@ -5153,40 +5146,36 @@ msgstr ""
"prohlížeč Tor Browser."
-#: plinth/modules/tor/__init__.py:93
+#: plinth/modules/tor/__init__.py:80
msgid "Tor Socks Proxy"
msgstr "Tor Socks proxy"
-#: plinth/modules/tor/__init__.py:99 plinth/modules/tor/__init__.py:146
+#: plinth/modules/tor/__init__.py:84
msgid "Tor Bridge Relay"
msgstr "Předávájící Tor most"
-#: plinth/modules/tor/__init__.py:120 plinth/modules/tor/__init__.py:188
+#: plinth/modules/tor/__init__.py:122 plinth/modules/tor/__init__.py:150
msgid "Tor Hidden Service"
msgstr "Tor skrytá služba"
-#: plinth/modules/tor/__init__.py:136
-msgid "Tor Anonymity Network"
-msgstr "Anonymní síť Tor"
-
-#: plinth/modules/tor/__init__.py:208
+#: plinth/modules/tor/__init__.py:170
msgid "Tor relay port available"
msgstr "Port Tor předávání k dispozici"
-#: plinth/modules/tor/__init__.py:218
+#: plinth/modules/tor/__init__.py:180
msgid "Obfs3 transport registered"
msgstr "Obfs3 transport zaregistrován"
-#: plinth/modules/tor/__init__.py:226
+#: plinth/modules/tor/__init__.py:188
msgid "Obfs4 transport registered"
msgstr "Obfs4 transport zaregistrován"
-#: plinth/modules/tor/__init__.py:265
+#: plinth/modules/tor/__init__.py:227
#, python-brace-format
msgid "Access URL {url} on tcp{kind} via Tor"
msgstr "Přistoupit k URL adrese {url} na tcp{kind} prostřednictvím Tor"
-#: plinth/modules/tor/__init__.py:276
+#: plinth/modules/tor/__init__.py:238
#, python-brace-format
msgid "Confirm Tor usage at {url} on tcp{kind}"
msgstr "Potvrdit použití Tor na {url} na tcp{kind}"
@@ -5342,12 +5331,12 @@ msgstr "SOCKS"
msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050."
msgstr "Tor SOCKS port je k dispozici na vašem %(box_name)s na TCP portu 9050."
-#: plinth/modules/transmission/__init__.py:39
+#: plinth/modules/transmission/__init__.py:41
#: plinth/modules/transmission/manifest.py:24
msgid "Transmission"
msgstr "Transmission"
-#: plinth/modules/transmission/__init__.py:44
+#: plinth/modules/transmission/__init__.py:46
msgid ""
"BitTorrent is a peer-to-peer file sharing protocol. Transmission daemon "
"handles Bitorrent file sharing. Note that BitTorrent is not anonymous."
@@ -5356,7 +5345,7 @@ msgstr ""
"Transmision obsluhuje sdílení souborů Bitorrent. Poznamenejme, že BitTorrent "
"není anonymní."
-#: plinth/modules/transmission/__init__.py:47
+#: plinth/modules/transmission/__init__.py:49
msgid ""
"Access the web interface at /transmission."
msgstr ""
@@ -5376,15 +5365,15 @@ msgstr ""
"zajistěte aby existovala a uživatel „debian-transmission“ do ní mohl "
"zapisovat."
-#: plinth/modules/ttrss/__init__.py:41 plinth/modules/ttrss/manifest.py:34
+#: plinth/modules/ttrss/__init__.py:43 plinth/modules/ttrss/manifest.py:34
msgid "Tiny Tiny RSS"
msgstr "Tiny Tiny RSS"
-#: plinth/modules/ttrss/__init__.py:43
+#: plinth/modules/ttrss/__init__.py:45
msgid "News Feed Reader"
msgstr "Čtečka novinek"
-#: plinth/modules/ttrss/__init__.py:46
+#: plinth/modules/ttrss/__init__.py:48
msgid ""
"Tiny Tiny RSS is a news feed (RSS/Atom) reader and aggregator, designed to "
"allow reading news from any location, while feeling as close to a real "
@@ -5393,7 +5382,7 @@ msgstr ""
"Tiny Tiny RSS je čtečka a slučovač novinek (RSS/Atom), navržená pro čtení "
"odkudkoli, ale s pohodlím podobným desktopové aplikaci."
-#: plinth/modules/ttrss/__init__.py:50
+#: plinth/modules/ttrss/__init__.py:52
#, python-brace-format
msgid ""
"When enabled, Tiny Tiny RSS will be available from /tt-"
@@ -5404,7 +5393,7 @@ msgstr ""
"\">/tt-rss umístění na webovém serveru. Je přístupné pro libovolného uživatele s účtem na {box_name}."
-#: plinth/modules/ttrss/__init__.py:55
+#: plinth/modules/ttrss/__init__.py:57
msgid ""
"When using a mobile or desktop application for Tiny Tiny RSS, use the URL /tt-rss-app for connecting."
@@ -5412,7 +5401,7 @@ msgstr ""
"Při používání mobilní nebo desktopové aplikace pro Tiny Tiny RSS použijte "
"pro připojování URL adresu /tt-rss-app."
-#: plinth/modules/ttrss/__init__.py:61
+#: plinth/modules/ttrss/__init__.py:63
msgid "Read and subscribe to news feeds"
msgstr "Číst a přihlásit se k odběru novinek"
@@ -5420,11 +5409,11 @@ msgstr "Číst a přihlásit se k odběru novinek"
msgid "Tiny Tiny RSS (Fork)"
msgstr "Tiny Tiny RSS (fork)"
-#: plinth/modules/upgrades/__init__.py:36 plinth/templates/setup.html:101
+#: plinth/modules/upgrades/__init__.py:35 plinth/templates/setup.html:101
msgid "Update"
msgstr "Aktualizovat"
-#: plinth/modules/upgrades/__init__.py:39
+#: plinth/modules/upgrades/__init__.py:38
msgid "Check for and apply the latest software and security updates."
msgstr ""
"Zjistit dostupnost a uplatnit nejnovější aktualizace a opravy zabezpečení."
@@ -5463,32 +5452,32 @@ msgstr "Vyp/zap. záznamy událostí při nedávných aktualizacích"
msgid "Auto-update"
msgstr "Automatická aktualizace"
-#: plinth/modules/upgrades/views.py:39
+#: plinth/modules/upgrades/views.py:40
msgid "Manual update"
msgstr "Ruční aktualizace"
-#: plinth/modules/upgrades/views.py:78
+#: plinth/modules/upgrades/views.py:79
#, python-brace-format
msgid "Error when configuring unattended-upgrades: {error}"
msgstr "Chyba při nastavování bezobslužných aktualizací: {error}"
-#: plinth/modules/upgrades/views.py:82
+#: plinth/modules/upgrades/views.py:83
msgid "Automatic upgrades enabled"
msgstr "Automatické aktualizace zapnuty"
-#: plinth/modules/upgrades/views.py:85
+#: plinth/modules/upgrades/views.py:86
msgid "Automatic upgrades disabled"
msgstr "Automatické aktualizace vypnuty"
-#: plinth/modules/upgrades/views.py:87
+#: plinth/modules/upgrades/views.py:88
msgid "Settings unchanged"
msgstr "Nastavení nezměněna"
-#: plinth/modules/upgrades/views.py:113
+#: plinth/modules/upgrades/views.py:114
msgid "Upgrade process started."
msgstr "Proces přechodu na novější verze zahájen."
-#: plinth/modules/upgrades/views.py:116
+#: plinth/modules/upgrades/views.py:117
msgid "Starting upgrade failed."
msgstr "Spouštění přechodu na novější verzi se nezdařilo."
@@ -5496,7 +5485,7 @@ msgstr "Spouštění přechodu na novější verzi se nezdařilo."
msgid "Users and Groups"
msgstr "Uživatelé a skupiny"
-#: plinth/modules/users/__init__.py:106
+#: plinth/modules/users/__init__.py:108
#, python-brace-format
msgid "Check LDAP entry \"{search_item}\""
msgstr "Zkontrolujte LDAP položku „{search_item}“"
@@ -5722,15 +5711,6 @@ msgstr "změna média"
msgid "configuration file: {file}"
msgstr "soubor s nastaveními: {file}"
-#: plinth/service.py:140
-msgid "Web Server over Secure Socket Layer"
-msgstr "Webový server přes vrstvu zabezpečeného soketu (SSL)"
-
-#: plinth/service.py:145
-#, python-brace-format
-msgid "{box_name} Web Interface (Plinth)"
-msgstr "Webové rozhraní {box_name} (Plinth)"
-
#: plinth/templates/403.html:25
msgid "403 Forbidden"
msgstr "403 odepřeno"
@@ -5947,17 +5927,17 @@ msgstr "Chatovací místnost na IRC"
msgid "Mailing list"
msgstr "Poštovní konference"
-#: plinth/templates/internal-zone.html:25
+#: plinth/templates/internal-zone.html:26
#, python-format
msgid "%(service_name)s is available only on internal networks."
msgstr ""
"Služba %(service_name)s je k dispozici pouze na vnitřních sítích."
-#: plinth/templates/internal-zone.html:31
+#: plinth/templates/internal-zone.html:32
msgid "Currently there are no network interfaces configured as internal."
msgstr "V tuto chvíli není žádné ze síťových rozhraní nastavené jako vnitřní."
-#: plinth/templates/internal-zone.html:33
+#: plinth/templates/internal-zone.html:34
#, python-format
msgid ""
"Currently the following network interfaces are configured as internal: "
@@ -6029,10 +6009,24 @@ msgstr "Instalace %(package_names)s: %(status)s"
msgid "%(percentage)s%% complete"
msgstr "%(percentage)s%% dokončeno"
+#: plinth/views.py:178
+msgid "Application enabled"
+msgstr "Aplikace zapnuta"
+
+#: plinth/views.py:181
+msgid "Application disabled"
+msgstr "Aplikace vypnuta"
+
#: plinth/web_framework.py:186
msgid "Gujarati"
msgstr "gudžarátština"
+#~ msgid "Tor Anonymity Network"
+#~ msgstr "Anonymní síť Tor"
+
+#~ msgid "Web Server over Secure Socket Layer"
+#~ msgstr "Webový server přes vrstvu zabezpečeného soketu (SSL)"
+
#~ msgid "Current status:"
#~ msgstr "Aktuální stav:"
diff --git a/plinth/locale/da/LC_MESSAGES/django.po b/plinth/locale/da/LC_MESSAGES/django.po
index a832115c9..82a5cdcdd 100644
--- a/plinth/locale/da/LC_MESSAGES/django.po
+++ b/plinth/locale/da/LC_MESSAGES/django.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: FreedomBox UI\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-06-10 19:02-0400\n"
+"POT-Creation-Date: 2019-06-24 19:48-0400\n"
"PO-Revision-Date: 2016-07-03 21:44+0000\n"
"Last-Translator: Mikkel Kirkgaard Nielsen \n"
"Language-Team: Danish /"
@@ -533,14 +544,14 @@ msgstr ""
"Når aktiveret, vil Tiny Tiny RSS være tilgængelige på stien /tt-rss på webserveren."
-#: plinth/modules/config/__init__.py:59 plinth/modules/dynamicdns/views.py:44
+#: plinth/modules/config/__init__.py:61 plinth/modules/dynamicdns/views.py:45
#: plinth/modules/i2p/views.py:31 plinth/modules/ikiwiki/views.py:35
#: plinth/modules/pagekite/views.py:36 plinth/modules/snapshot/views.py:40
#: plinth/modules/tahoe/templates/tahoe-pre-setup.html:39
msgid "Configure"
msgstr "Konfigurer"
-#: plinth/modules/config/__init__.py:164 plinth/modules/config/forms.py:76
+#: plinth/modules/config/__init__.py:166 plinth/modules/config/forms.py:76
#: plinth/modules/config/views.py:171 plinth/modules/dynamicdns/forms.py:111
msgid "Domain Name"
msgstr "Domænenavn"
@@ -625,8 +636,8 @@ msgstr ""
#: plinth/modules/power/templates/power_restart.html:42
#: plinth/modules/power/templates/power_shutdown.html:41
#: plinth/modules/storage/templates/storage.html:48
-#: plinth/templates/service-subsubmenu.html:47 plinth/templates/service.html:42
-#: plinth/templates/setup.html:48 plinth/templates/simple_service.html:38
+#: plinth/templates/app-subsubmenu.html:47 plinth/templates/app.html:42
+#: plinth/templates/setup.html:48 plinth/templates/simple_app.html:38
#, fuzzy
#| msgid "Learn more »"
msgid "Learn more..."
@@ -678,24 +689,24 @@ msgstr ""
msgid "Hiding advanced apps and features"
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:38
+#: plinth/modules/coquelicot/__init__.py:40
msgid "Coquelicot"
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:40
+#: plinth/modules/coquelicot/__init__.py:42
#, fuzzy
#| msgid "Enable Shaarli"
msgid "File Sharing"
msgstr "Aktiver Shaarli"
-#: plinth/modules/coquelicot/__init__.py:43
+#: plinth/modules/coquelicot/__init__.py:45
msgid ""
"Coquelicot is a “one-click” file sharing web application with a focus on "
"protecting users’ privacy. It is best used for quickly sharing a single "
"file. "
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:46
+#: plinth/modules/coquelicot/__init__.py:48
msgid ""
"This Coquelicot instance is exposed to the public but requires an upload "
"password to prevent unauthorized access. You can set a new upload password "
@@ -727,23 +738,23 @@ msgstr ""
msgid "coquelicot"
msgstr ""
-#: plinth/modules/coquelicot/views.py:57
+#: plinth/modules/coquelicot/views.py:59
#, fuzzy
#| msgid "Password"
msgid "Upload password updated"
msgstr "Kodeord"
-#: plinth/modules/coquelicot/views.py:60
+#: plinth/modules/coquelicot/views.py:62
msgid "Failed to update upload password"
msgstr ""
-#: plinth/modules/coquelicot/views.py:68
+#: plinth/modules/coquelicot/views.py:70
#, fuzzy
#| msgid "Configuration updated"
msgid "Maximum file size updated"
msgstr "Konfiguration opdateret"
-#: plinth/modules/coquelicot/views.py:71
+#: plinth/modules/coquelicot/views.py:73
msgid "Failed to update maximum file size"
msgstr ""
@@ -763,15 +774,15 @@ msgstr ""
"Netværkstidsserver er et program der holder systemets tid synkroniseret med "
"servere på internettet."
-#: plinth/modules/datetime/__init__.py:107
+#: plinth/modules/datetime/__init__.py:99
msgid "Time synchronized to NTP server"
msgstr ""
-#: plinth/modules/datetime/forms.py:36
+#: plinth/modules/datetime/forms.py:35
msgid "Time Zone"
msgstr "Tidszone"
-#: plinth/modules/datetime/forms.py:37
+#: plinth/modules/datetime/forms.py:36
#, fuzzy
#| msgid ""
#| "Set your time zone to get accurate timestamps. This will set the "
@@ -783,7 +794,7 @@ msgstr ""
"Sæt din tidszone for at få præcise tidsstempler. Dette vil ændre hele "
"systemets tidszone."
-#: plinth/modules/datetime/forms.py:49
+#: plinth/modules/datetime/forms.py:47
msgid "-- no time zone set --"
msgstr "-- ingen tidszone valgt --"
@@ -803,7 +814,7 @@ msgid "Deluge"
msgstr "Aktiver Deluge"
#: plinth/modules/deluge/__init__.py:41
-#: plinth/modules/transmission/__init__.py:41
+#: plinth/modules/transmission/__init__.py:43
#, fuzzy
#| msgid "BitTorrent Web Client (Deluge)"
msgid "BitTorrent Web Client"
@@ -824,7 +835,7 @@ msgstr ""
"bør logge ind og ændre det med det samme du har aktiveret denne tjeneste."
#: plinth/modules/deluge/__init__.py:51
-#: plinth/modules/transmission/__init__.py:54
+#: plinth/modules/transmission/__init__.py:56
msgid "Download files using BitTorrent applications"
msgstr ""
@@ -888,12 +899,12 @@ msgstr "Test"
msgid "Result"
msgstr "Resultat"
-#: plinth/modules/diaspora/__init__.py:52
+#: plinth/modules/diaspora/__init__.py:54
#: plinth/modules/diaspora/manifest.py:38
msgid "diaspora*"
msgstr ""
-#: plinth/modules/diaspora/__init__.py:54
+#: plinth/modules/diaspora/__init__.py:56
msgid "Federated Social Network"
msgstr ""
@@ -940,24 +951,24 @@ msgstr ""
#: plinth/modules/tahoe/templates/tahoe-pre-setup.html:58
#: plinth/modules/tor/templates/tor.html:96
#: plinth/modules/upgrades/templates/upgrades_configure.html:32
-#: plinth/templates/service.html:89
+#: plinth/templates/app.html:89
msgid "Update setup"
msgstr "Opdater indstillinger"
-#: plinth/modules/diaspora/views.py:97 plinth/modules/ejabberd/views.py:64
-#: plinth/modules/matrixsynapse/views.py:107
-#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:150
-#: plinth/modules/tor/views.py:146 plinth/views.py:160
+#: plinth/modules/diaspora/views.py:94 plinth/modules/ejabberd/views.py:65
+#: plinth/modules/matrixsynapse/views.py:108
+#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:148
+#: plinth/modules/tor/views.py:148 plinth/views.py:174
msgid "Setting unchanged"
msgstr "Indstilling uændret"
-#: plinth/modules/diaspora/views.py:101
+#: plinth/modules/diaspora/views.py:98
#, fuzzy
#| msgid "Application enabled"
msgid "User registrations enabled"
msgstr "Applikation aktiveret"
-#: plinth/modules/diaspora/views.py:105
+#: plinth/modules/diaspora/views.py:102
#, fuzzy
#| msgid "Application disabled"
msgid "User registrations disabled"
@@ -995,8 +1006,8 @@ 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."
-#: plinth/modules/dynamicdns/__init__.py:85
-#: plinth/modules/dynamicdns/views.py:167
+#: plinth/modules/dynamicdns/__init__.py:87
+#: plinth/modules/dynamicdns/views.py:169
#, fuzzy
#| msgid "Dynamic DNS Client"
msgid "Dynamic DNS Service"
@@ -1102,7 +1113,7 @@ msgid "Username"
msgstr "Brugernavn"
#: plinth/modules/dynamicdns/forms.py:121 plinth/modules/networks/forms.py:235
-#: plinth/modules/shadowsocks/forms.py:70
+#: plinth/modules/shadowsocks/forms.py:61
msgid "Password"
msgstr "Kodeord"
@@ -1201,41 +1212,41 @@ msgstr ""
msgid "Last update"
msgstr "Seneste opdatering"
-#: plinth/modules/dynamicdns/views.py:41 plinth/modules/help/help.py:57
+#: plinth/modules/dynamicdns/views.py:41 plinth/modules/help/help.py:59
msgid "About"
msgstr "Om"
-#: plinth/modules/dynamicdns/views.py:47
+#: plinth/modules/dynamicdns/views.py:49
#: plinth/modules/firewall/templates/firewall.html:25
#: plinth/modules/firewall/templates/firewall.html:45
#: plinth/modules/i2p/templates/i2p.html:27
#: plinth/modules/networks/templates/connection_show.html:261
#: plinth/modules/openvpn/templates/openvpn.html:71
#: plinth/modules/tor/templates/tor.html:40
-#: plinth/modules/tor/templates/tor.html:68 plinth/templates/service.html:51
+#: plinth/modules/tor/templates/tor.html:68 plinth/templates/app.html:51
msgid "Status"
msgstr "Status"
-#: plinth/modules/dynamicdns/views.py:78
+#: plinth/modules/dynamicdns/views.py:80
msgid "Configure Dynamic DNS"
msgstr "Konfigurer Dynamisk DNS"
-#: plinth/modules/dynamicdns/views.py:103
+#: plinth/modules/dynamicdns/views.py:105
msgid "Dynamic DNS Status"
msgstr "Dynamisk DNS Status"
-#: plinth/modules/ejabberd/__init__.py:43
+#: plinth/modules/ejabberd/__init__.py:45
msgid "ejabberd"
msgstr ""
-#: plinth/modules/ejabberd/__init__.py:45
-#: plinth/modules/matrixsynapse/__init__.py:43
+#: plinth/modules/ejabberd/__init__.py:47
+#: plinth/modules/matrixsynapse/__init__.py:45
#, fuzzy
#| msgid "Web Server"
msgid "Chat Server"
msgstr "Webserver"
-#: plinth/modules/ejabberd/__init__.py:48
+#: plinth/modules/ejabberd/__init__.py:50
msgid ""
"XMPP is an open and standardized communication protocol. Here you can run "
"and configure your XMPP server, called ejabberd."
@@ -1243,7 +1254,7 @@ msgstr ""
"XMPP er en åben og standardiseret kommunikationsprotokol. Her kan du "
"aktivere og konfigurere din XMPP-server, kaldet ejabberd."
-#: plinth/modules/ejabberd/__init__.py:51
+#: plinth/modules/ejabberd/__init__.py:53
#, fuzzy, python-brace-format
#| msgid ""
#| "To actually communicate, you can use the web client "
@@ -1259,11 +1270,11 @@ msgstr ""
"klienten eller enhver anden XMPP-klient."
-#: plinth/modules/ejabberd/forms.py:33
+#: plinth/modules/ejabberd/forms.py:32
msgid "Enable Message Archive Management"
msgstr ""
-#: plinth/modules/ejabberd/forms.py:36
+#: plinth/modules/ejabberd/forms.py:34
#, python-brace-format
msgid ""
"If enabled, your {box_name} will store chat message histories. This allows "
@@ -1338,35 +1349,23 @@ msgstr "Kør webklient"
#: plinth/modules/openvpn/templates/openvpn.html:123
#: plinth/modules/snapshot/templates/snapshot.html:27
#: plinth/modules/tahoe/templates/tahoe-post-setup.html:43
-#: plinth/modules/tor/templates/tor.html:88 plinth/templates/service.html:81
+#: plinth/modules/tor/templates/tor.html:88 plinth/templates/app.html:81
msgid "Configuration"
msgstr "Konfiguration"
-#: plinth/modules/ejabberd/views.py:68
-#: plinth/modules/matrixsynapse/views.py:111
-#: plinth/modules/mediawiki/views.py:79 plinth/views.py:164
-msgid "Application enabled"
-msgstr "Applikation aktiveret"
-
-#: plinth/modules/ejabberd/views.py:71
-#: plinth/modules/matrixsynapse/views.py:114
-#: plinth/modules/mediawiki/views.py:82 plinth/views.py:167
-msgid "Application disabled"
-msgstr "Applikation deaktiveret"
-
-#: plinth/modules/ejabberd/views.py:78
+#: plinth/modules/ejabberd/views.py:77
msgid "Message Archive Management enabled"
msgstr ""
-#: plinth/modules/ejabberd/views.py:82
+#: plinth/modules/ejabberd/views.py:81
msgid "Message Archive Management disabled"
msgstr ""
-#: plinth/modules/firewall/__init__.py:40
+#: plinth/modules/firewall/__init__.py:36
msgid "Firewall"
msgstr "Firewall"
-#: plinth/modules/firewall/__init__.py:44
+#: plinth/modules/firewall/__init__.py:40
#, python-brace-format
msgid ""
"Firewall is a security system that controls the incoming and outgoing "
@@ -1486,31 +1485,31 @@ msgstr "Start Konfiguration"
msgid "Setup Complete"
msgstr "Konfiguration Færdig"
-#: plinth/modules/help/help.py:44
+#: plinth/modules/help/help.py:46
msgid "Documentation"
msgstr "Dokumentation"
-#: plinth/modules/help/help.py:48 plinth/modules/networks/forms.py:68
+#: plinth/modules/help/help.py:50 plinth/modules/networks/forms.py:68
#: plinth/modules/networks/forms.py:108 plinth/templates/index.html:135
msgid "Manual"
msgstr "Brugermanual"
-#: plinth/modules/help/help.py:53
+#: plinth/modules/help/help.py:55
#, fuzzy
#| msgid "{box_name} Manual"
msgid "Download Manual"
msgstr "{box_name} Brugervejledning"
-#: plinth/modules/help/help.py:73
+#: plinth/modules/help/help.py:75
msgid "Documentation and FAQ"
msgstr "Dokumentation og OSS"
-#: plinth/modules/help/help.py:81
+#: plinth/modules/help/help.py:83
#, python-brace-format
msgid "About {box_name}"
msgstr "Om {box_name}"
-#: plinth/modules/help/help.py:102
+#: plinth/modules/help/help.py:104
#, python-brace-format
msgid "{box_name} Manual"
msgstr "{box_name} Brugervejledning"
@@ -1670,17 +1669,17 @@ msgid ""
"before submitting the bug report."
msgstr ""
-#: plinth/modules/i2p/__init__.py:40 plinth/modules/i2p/manifest.py:31
+#: plinth/modules/i2p/__init__.py:42 plinth/modules/i2p/manifest.py:31
msgid "I2P"
msgstr ""
-#: plinth/modules/i2p/__init__.py:42 plinth/modules/tor/__init__.py:45
+#: plinth/modules/i2p/__init__.py:44 plinth/modules/tor/__init__.py:48
#, fuzzy
#| msgid "Tor Anonymity Network"
msgid "Anonymity Network"
msgstr "Tor Anonymiseringstjeneste"
-#: plinth/modules/i2p/__init__.py:45
+#: plinth/modules/i2p/__init__.py:47
msgid ""
"The Invisible Internet Project is an anonymous network layer intended to "
"protect communication from censorship and surveillance. I2P provides "
@@ -1688,7 +1687,7 @@ msgid ""
"distributed around the world."
msgstr ""
-#: plinth/modules/i2p/__init__.py:49
+#: plinth/modules/i2p/__init__.py:51
#, fuzzy
#| msgid ""
#| "For more information about the %(box_name)s project, see the %(box_name)s Wiki-siden."
-#: plinth/modules/i2p/__init__.py:51
+#: plinth/modules/i2p/__init__.py:53
msgid ""
"The first visit to the provided web interface will initiate the "
"configuration process."
msgstr ""
-#: plinth/modules/i2p/__init__.py:57
+#: plinth/modules/i2p/__init__.py:59
#, fuzzy
#| msgid "Enable application"
msgid "Manage I2P application"
msgstr "Aktiver applikation"
-#: plinth/modules/i2p/templates/i2p.html:32 plinth/templates/service.html:56
+#: plinth/modules/i2p/templates/i2p.html:32 plinth/templates/app.html:56
#, fuzzy, python-format
#| msgid "Service discovery server is running"
msgid "Service %(service_name)s is running."
msgstr "Tjenestesøgningstjenesten er aktiv"
-#: plinth/modules/i2p/templates/i2p.html:37 plinth/templates/service.html:61
+#: plinth/modules/i2p/templates/i2p.html:37 plinth/templates/app.html:61
#, fuzzy, python-format
#| msgid "Service discovery server is not running"
msgid "Service %(service_name)s is not running."
msgstr "Tjenestesøgningstjenesten er ikke aktiv"
-#: plinth/modules/i2p/templates/i2p_service.html:13
+#: plinth/modules/i2p/templates/i2p_service.html:31
#: plinth/templates/clients.html:51
msgid "Launch"
msgstr ""
@@ -1737,47 +1736,47 @@ msgstr ""
msgid "Anonymous torrents"
msgstr ""
-#: plinth/modules/i2p/views.py:86
+#: plinth/modules/i2p/views.py:88
msgid "I2P Proxies and Tunnels"
msgstr ""
-#: plinth/modules/i2p/views.py:89
+#: plinth/modules/i2p/views.py:91
msgid ""
"I2P lets you browse the Internet and hidden services (eepsites) anonymously. "
"For this, your browser, preferably a Tor Browser, needs to be configured for "
"a proxy."
msgstr ""
-#: plinth/modules/i2p/views.py:92
+#: plinth/modules/i2p/views.py:94
msgid ""
"By default HTTP, HTTPS and IRC proxies are available. Additional proxies and "
"tunnels may be configured using the tunnel configuration interface."
msgstr ""
-#: plinth/modules/i2p/views.py:101
+#: plinth/modules/i2p/views.py:103
msgid "Anonymous Torrents"
msgstr ""
-#: plinth/modules/i2p/views.py:104
+#: plinth/modules/i2p/views.py:106
msgid ""
"I2P provides an application to download files anonymously in a peer-to-peer "
"network. Download files by adding torrents or create a new torrent to share "
"a file."
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:42 plinth/modules/ikiwiki/manifest.py:24
+#: plinth/modules/ikiwiki/__init__.py:41 plinth/modules/ikiwiki/manifest.py:24
#, fuzzy
#| msgid "wiki"
msgid "ikiwiki"
msgstr "wiki"
-#: plinth/modules/ikiwiki/__init__.py:44
+#: plinth/modules/ikiwiki/__init__.py:43
#, fuzzy
#| msgid "Wiki & Blog"
msgid "Wiki and Blog"
msgstr "Wiki & Blog"
-#: plinth/modules/ikiwiki/__init__.py:47
+#: plinth/modules/ikiwiki/__init__.py:46
#, fuzzy
#| msgid ""
#| "ikiwiki is a simple wiki and blog application. It supports several "
@@ -1795,7 +1794,7 @@ msgstr ""
"kommentarer og RSS-feeds. Når aktiveret, vil blogge og wikier være "
"tilgængelige på /ikiwiki."
-#: plinth/modules/ikiwiki/__init__.py:53
+#: plinth/modules/ikiwiki/__init__.py:52
#, python-brace-format
msgid ""
"Only {box_name} users in the admin group can create and "
@@ -1804,7 +1803,7 @@ msgid ""
"Configuration you can change these permissions or add new users."
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:63
+#: plinth/modules/ikiwiki/__init__.py:62
#, fuzzy
#| msgid "Services and Applications"
msgid "View and edit wiki applications"
@@ -1876,51 +1875,51 @@ msgstr "Gå til sitet %(site)s"
msgid "Manage"
msgstr "Administrer"
-#: plinth/modules/ikiwiki/views.py:121
+#: plinth/modules/ikiwiki/views.py:124
#, python-brace-format
msgid "Created wiki {name}."
msgstr "Wiki {name} oprettet."
-#: plinth/modules/ikiwiki/views.py:124
+#: plinth/modules/ikiwiki/views.py:127
#, python-brace-format
msgid "Could not create wiki: {error}"
msgstr "Kunne ikke oprette wiki: {error}"
-#: plinth/modules/ikiwiki/views.py:134
+#: plinth/modules/ikiwiki/views.py:137
#, python-brace-format
msgid "Created blog {name}."
msgstr "Blog {name} oprettet."
-#: plinth/modules/ikiwiki/views.py:137
+#: plinth/modules/ikiwiki/views.py:140
#, python-brace-format
msgid "Could not create blog: {error}"
msgstr "Kunne ikke oprette blog: {error}"
-#: plinth/modules/ikiwiki/views.py:150
+#: plinth/modules/ikiwiki/views.py:153
#, python-brace-format
msgid "{name} deleted."
msgstr "{name} slettet."
-#: plinth/modules/ikiwiki/views.py:154
+#: plinth/modules/ikiwiki/views.py:157
#, python-brace-format
msgid "Could not delete {name}: {error}"
msgstr "Kunne ikke slette {name}: {error}"
-#: plinth/modules/infinoted/__init__.py:41
+#: plinth/modules/infinoted/__init__.py:40
msgid "infinoted"
msgstr ""
-#: plinth/modules/infinoted/__init__.py:43
+#: plinth/modules/infinoted/__init__.py:42
#, fuzzy
#| msgid "Web Server"
msgid "Gobby Server"
msgstr "Webserver"
-#: plinth/modules/infinoted/__init__.py:46
+#: plinth/modules/infinoted/__init__.py:45
msgid "infinoted is a server for Gobby, a collaborative text editor."
msgstr ""
-#: plinth/modules/infinoted/__init__.py:48
+#: plinth/modules/infinoted/__init__.py:47
#, python-brace-format
msgid ""
"To use it, download Gobby, desktop "
@@ -2293,13 +2292,13 @@ msgstr "Certifikatet for domænet {domain} blev trukket tilbage"
msgid "Failed to delete certificate for domain {domain}: {error}"
msgstr "Fejl ved tilbagetrækning af certifikatet for domænet {domain}: {error}"
-#: plinth/modules/matrixsynapse/__init__.py:41
+#: plinth/modules/matrixsynapse/__init__.py:43
#, fuzzy
#| msgid "Chat Server (XMPP)"
msgid "Matrix Synapse"
msgstr "Chat-server (XMPP)"
-#: plinth/modules/matrixsynapse/__init__.py:46
+#: plinth/modules/matrixsynapse/__init__.py:48
msgid ""
"Matrix is an new "
"ecosystem for open, federated instant messaging and VoIP. Synapse is a "
@@ -2309,7 +2308,7 @@ msgid ""
"converse with users on all other Matrix servers via federation."
msgstr ""
-#: plinth/modules/matrixsynapse/__init__.py:53
+#: plinth/modules/matrixsynapse/__init__.py:55
msgid ""
"To communicate, you can use the available clients for mobile, desktop and the web. Special:CreateAccount page."
msgstr ""
-#: plinth/modules/mediawiki/__init__.py:49
+#: plinth/modules/mediawiki/__init__.py:53
msgid ""
"Anyone with a link to this wiki can read it. Only users that are logged in "
"can make changes to the content."
@@ -2467,42 +2466,42 @@ msgstr ""
msgid "Password updated"
msgstr "Kodeord"
-#: plinth/modules/mediawiki/views.py:91
+#: plinth/modules/mediawiki/views.py:89
#, fuzzy
#| msgid "Application enabled"
msgid "Public registrations enabled"
msgstr "Applikation aktiveret"
-#: plinth/modules/mediawiki/views.py:100
+#: plinth/modules/mediawiki/views.py:98
#, fuzzy
#| msgid "Application disabled"
msgid "Public registrations disabled"
msgstr "Applikation deaktiveret"
-#: plinth/modules/mediawiki/views.py:109
+#: plinth/modules/mediawiki/views.py:107
#, fuzzy
#| msgid "PageKite enabled"
msgid "Private mode enabled"
msgstr "PageKite aktiveret"
-#: plinth/modules/mediawiki/views.py:112
+#: plinth/modules/mediawiki/views.py:110
#, fuzzy
#| msgid "PageKite disabled"
msgid "Private mode disabled"
msgstr "PageKite deaktiveret"
-#: plinth/modules/minetest/__init__.py:53
+#: plinth/modules/minetest/__init__.py:52
#: plinth/modules/minetest/manifest.py:25
msgid "Minetest"
msgstr ""
-#: plinth/modules/minetest/__init__.py:55
+#: plinth/modules/minetest/__init__.py:54
#, fuzzy
#| msgid "Block Sandbox (Minetest)"
msgid "Block Sandbox"
msgstr "Block Testområde (Minetest)"
-#: plinth/modules/minetest/__init__.py:59
+#: plinth/modules/minetest/__init__.py:58
#, python-brace-format
msgid ""
"Minetest is a multiplayer infinite-world block sandbox. This module enables "
@@ -2515,45 +2514,45 @@ msgstr ""
"For at forbinde til serveren skal der bruges en Minetest klient."
-#: plinth/modules/minetest/forms.py:31
+#: plinth/modules/minetest/forms.py:30
msgid "Maximum number of players"
msgstr ""
-#: plinth/modules/minetest/forms.py:35
+#: plinth/modules/minetest/forms.py:32
msgid ""
"You can change the maximum number of players playing minetest at a single "
"instance of time."
msgstr ""
-#: plinth/modules/minetest/forms.py:39
+#: plinth/modules/minetest/forms.py:36
#, fuzzy
#| msgid "Enable reStore"
msgid "Enable creative mode"
msgstr "Aktiver reStore"
-#: plinth/modules/minetest/forms.py:41
+#: plinth/modules/minetest/forms.py:37
msgid ""
"Creative mode changes the rules of the game to make it more suitable for "
"creative gameplay, rather than challenging \"survival\" gameplay."
msgstr ""
-#: plinth/modules/minetest/forms.py:46
+#: plinth/modules/minetest/forms.py:42
#, fuzzy
#| msgid "Enable XMPP"
msgid "Enable PVP"
msgstr "Aktiver XMPP"
-#: plinth/modules/minetest/forms.py:48
+#: plinth/modules/minetest/forms.py:43
msgid "Enabling Player Vs Player will allow players to damage other players."
msgstr ""
-#: plinth/modules/minetest/forms.py:52
+#: plinth/modules/minetest/forms.py:47
#, fuzzy
#| msgid "Enable PageKite"
msgid "Enable damage"
msgstr "Aktiver PageKite"
-#: plinth/modules/minetest/forms.py:54
+#: plinth/modules/minetest/forms.py:48
msgid "When disabled, players cannot die or receive damage of any kind."
msgstr ""
@@ -2567,64 +2566,64 @@ msgstr "Adresse"
msgid "Port"
msgstr "Port"
-#: plinth/modules/minetest/views.py:71
+#: plinth/modules/minetest/views.py:72
#, fuzzy
#| msgid "Configuration updated"
msgid "Maximum players configuration updated"
msgstr "Konfiguration opdateret"
-#: plinth/modules/minetest/views.py:78
+#: plinth/modules/minetest/views.py:79
#, fuzzy
#| msgid "Configuration updated"
msgid "Creative mode configuration updated"
msgstr "Konfiguration opdateret"
-#: plinth/modules/minetest/views.py:84
+#: plinth/modules/minetest/views.py:85
#, fuzzy
#| msgid "Configuration updated"
msgid "PVP configuration updated"
msgstr "Konfiguration opdateret"
-#: plinth/modules/minetest/views.py:90
+#: plinth/modules/minetest/views.py:91
#, fuzzy
#| msgid "Configuration updated"
msgid "Damage configuration updated"
msgstr "Konfiguration opdateret"
-#: plinth/modules/mldonkey/__init__.py:38
+#: plinth/modules/mldonkey/__init__.py:40
#: plinth/modules/mldonkey/manifest.py:27
#, fuzzy
#| msgid "Monkeysphere"
msgid "MLDonkey"
msgstr "Monkeysphere"
-#: plinth/modules/mldonkey/__init__.py:40
+#: plinth/modules/mldonkey/__init__.py:42
#, fuzzy
#| msgid "Enable Shaarli"
msgid "Peer-to-peer File Sharing"
msgstr "Aktiver Shaarli"
-#: plinth/modules/mldonkey/__init__.py:43
+#: plinth/modules/mldonkey/__init__.py:45
msgid ""
"MLDonkey is a peer-to-peer file sharing application used to exchange large "
"files. It can participate in multiple peer-to-peer networks including "
"eDonkey, Kademlia, Overnet, BitTorrent and DirectConnect."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:46
+#: plinth/modules/mldonkey/__init__.py:48
msgid ""
"Users belonging to admin and ed2k group can control it through the web "
"interface. Users in the admin group can also control it through any of the "
"separate mobile or desktop front-ends or a telnet interface. See manual."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:51
+#: plinth/modules/mldonkey/__init__.py:53
#, python-brace-format
msgid ""
"On {box_name}, downloaded files can be found in /var/lib/mldonkey/ directory."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:59
+#: plinth/modules/mldonkey/__init__.py:61
msgid "Download files using eDonkey applications"
msgstr ""
@@ -2709,12 +2708,6 @@ msgstr "OpenPGP-fingeraftryk"
msgid "Secure Shell"
msgstr "Secure Shell"
-#: plinth/modules/monkeysphere/templates/monkeysphere.html:88
-#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:60
-#: plinth/service.py:138
-msgid "Web Server"
-msgstr "Webserver"
-
#: plinth/modules/monkeysphere/templates/monkeysphere.html:90
#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:62
msgid "Other"
@@ -2809,17 +2802,17 @@ msgstr "Nøgle distribueret til nøgleserver."
msgid "Error occurred while publishing key."
msgstr "Fejl under distribuering af nøgle."
-#: plinth/modules/mumble/__init__.py:34 plinth/modules/mumble/manifest.py:27
+#: plinth/modules/mumble/__init__.py:35 plinth/modules/mumble/manifest.py:27
msgid "Mumble"
msgstr ""
-#: plinth/modules/mumble/__init__.py:36
+#: plinth/modules/mumble/__init__.py:37
#, fuzzy
#| msgid "Voice Chat (Mumble)"
msgid "Voice Chat"
msgstr "Tale-tjeneste (Mumble)"
-#: plinth/modules/mumble/__init__.py:45
+#: plinth/modules/mumble/__init__.py:44
msgid ""
"Mumble is an open source, low-latency, encrypted, high quality voice chat "
"software."
@@ -2827,7 +2820,7 @@ msgstr ""
"Mumble er open source software der tilbyder en højkvalitets tale-tjeneste "
"med lav forsinkelse og kryptering."
-#: plinth/modules/mumble/__init__.py:47
+#: plinth/modules/mumble/__init__.py:46
msgid ""
"You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your "
@@ -2878,7 +2871,7 @@ msgstr "Ikke tilgængelig"
msgid "Networks"
msgstr "Netværk"
-#: plinth/modules/networks/__init__.py:142
+#: plinth/modules/networks/__init__.py:144
#, python-brace-format
msgid "Using DNSSEC on IPv{kind}"
msgstr "Bruger DNSSEC på IPv{kind}"
@@ -3357,7 +3350,7 @@ msgstr "IPv4"
#: plinth/modules/networks/templates/connection_show.html:186
#: plinth/modules/networks/templates/connection_show.html:227
-#: plinth/modules/shadowsocks/forms.py:75
+#: plinth/modules/shadowsocks/forms.py:65
msgid "Method"
msgstr "Metode"
@@ -3490,19 +3483,19 @@ msgstr "Inaktiv"
msgid "Create..."
msgstr "Opret..."
-#: plinth/modules/openvpn/__init__.py:40
+#: plinth/modules/openvpn/__init__.py:39
#, fuzzy
#| msgid "OpenVPN"
msgid "OpenVPN"
msgstr "OpenVPN"
-#: plinth/modules/openvpn/__init__.py:42
+#: plinth/modules/openvpn/__init__.py:41
#, fuzzy
#| msgid "Virtual Private Network (OpenVPN)"
msgid "Virtual Private Network"
msgstr "Virtuelt Privat Netværk (OpenVPN)"
-#: plinth/modules/openvpn/__init__.py:46
+#: plinth/modules/openvpn/__init__.py:45
#, python-brace-format
msgid ""
"Virtual Private Network (VPN) is a technique for securely connecting two "
@@ -3519,7 +3512,7 @@ msgstr ""
"af {box_name}. Du kan også tilgå resten af internettet igennem {box_name} "
"for øget sikkerhed og anonymitet."
-#: plinth/modules/openvpn/__init__.py:74
+#: plinth/modules/openvpn/__init__.py:75
#, python-brace-format
msgid ""
"Download Profile"
@@ -3605,11 +3598,11 @@ msgstr "OpenVPN-server er aktiv"
msgid "OpenVPN server is not running"
msgstr "OpenVPN-server er ikke aktiv"
-#: plinth/modules/openvpn/views.py:128
+#: plinth/modules/openvpn/views.py:126
msgid "Setup completed."
msgstr "Opsætning færdig."
-#: plinth/modules/openvpn/views.py:130
+#: plinth/modules/openvpn/views.py:128
msgid "Setup failed."
msgstr "Opsætning fejlede."
@@ -3704,7 +3697,7 @@ msgstr ""
"Vælg din PageKite-server. Brug \"pagekite.net\" hvis du vil bruge "
"standardserveren fra pagekite.net."
-#: plinth/modules/pagekite/forms.py:78 plinth/modules/shadowsocks/forms.py:64
+#: plinth/modules/pagekite/forms.py:78 plinth/modules/shadowsocks/forms.py:57
msgid "Server port"
msgstr "Serverport"
@@ -3919,29 +3912,29 @@ msgstr ""
msgid "Save Services"
msgstr "Gem Tjenester"
-#: plinth/modules/pagekite/utils.py:53
+#: plinth/modules/pagekite/utils.py:57
msgid "Web Server (HTTP)"
msgstr "Webserver (HTTP)"
-#: plinth/modules/pagekite/utils.py:54
+#: plinth/modules/pagekite/utils.py:59
#, python-brace-format
msgid "Site will be available at http://{0}"
msgstr "Siden vil være tilgængelig på http://{0}"
-#: plinth/modules/pagekite/utils.py:63
+#: plinth/modules/pagekite/utils.py:71
msgid "Web Server (HTTPS)"
msgstr "Webserver (HTTPS)"
-#: plinth/modules/pagekite/utils.py:64
+#: plinth/modules/pagekite/utils.py:73
#, python-brace-format
msgid "Site will be available at https://{0}"
msgstr "Siden vil være tilgængelig på https://{0}"
-#: plinth/modules/pagekite/utils.py:73
+#: plinth/modules/pagekite/utils.py:85
msgid "Secure Shell (SSH)"
msgstr "Secure Shell (SSH)"
-#: plinth/modules/pagekite/utils.py:74
+#: plinth/modules/pagekite/utils.py:87
msgid ""
"See SSH client setup instructions"
@@ -3949,19 +3942,19 @@ msgstr ""
"Se instruktioner for opsætning af SSH-klient"
-#: plinth/modules/pagekite/utils.py:276
+#: plinth/modules/pagekite/utils.py:288
msgid "Pagekite"
msgstr "PageKite"
-#: plinth/modules/pagekite/views.py:39
+#: plinth/modules/pagekite/views.py:40
msgid "Standard Services"
msgstr "Standardtjenester"
-#: plinth/modules/pagekite/views.py:42
+#: plinth/modules/pagekite/views.py:44
msgid "Custom Services"
msgstr "Brugerdefinerede Tjenester"
-#: plinth/modules/pagekite/views.py:156
+#: plinth/modules/pagekite/views.py:158
msgid "Pagekite setup finished. The HTTP and HTTPS services are activated now."
msgstr ""
"Konfiguration af PageKite er færdig. Servicerne for HTTP og HTTPS er blevet "
@@ -4028,19 +4021,19 @@ msgstr ""
msgid "Shut Down Now"
msgstr "Sluk Nu"
-#: plinth/modules/privoxy/__init__.py:41
+#: plinth/modules/privoxy/__init__.py:42
#, fuzzy
#| msgid "Enable Privoxy"
msgid "Privoxy"
msgstr "Aktiver Privoxy"
-#: plinth/modules/privoxy/__init__.py:43
+#: plinth/modules/privoxy/__init__.py:44
#, fuzzy
#| msgid "Privoxy Web Proxy"
msgid "Web Proxy"
msgstr "Privoxy Webproxy"
-#: plinth/modules/privoxy/__init__.py:46
+#: plinth/modules/privoxy/__init__.py:47
msgid ""
"Privoxy is a non-caching web proxy with advanced filtering capabilities for "
"enhancing privacy, modifying web page data and HTTP headers, controlling "
@@ -4051,7 +4044,7 @@ msgstr ""
"HTTP-headers, styre adgang og fjerne reklamer og andet vedderstyggeligt "
"internetskrald. "
-#: plinth/modules/privoxy/__init__.py:51
+#: plinth/modules/privoxy/__init__.py:52
#, python-brace-format
msgid ""
"You can use Privoxy by modifying your browser proxy settings to your "
@@ -4066,22 +4059,22 @@ msgstr ""
"på http://config.privoxy.org/ "
"eller http://p.p."
-#: plinth/modules/privoxy/__init__.py:157
+#: plinth/modules/privoxy/__init__.py:142
#, python-brace-format
msgid "Access {url} with proxy {proxy} on tcp{kind}"
msgstr "Tilgå {url} med proxy {proxy} ved brug af tcp{kind}"
-#: plinth/modules/quassel/__init__.py:41 plinth/modules/quassel/manifest.py:25
+#: plinth/modules/quassel/__init__.py:40 plinth/modules/quassel/manifest.py:25
msgid "Quassel"
msgstr ""
-#: plinth/modules/quassel/__init__.py:43
+#: plinth/modules/quassel/__init__.py:42
#, fuzzy
#| msgid "Quassel IRC Client"
msgid "IRC Client"
msgstr "Quassel IRC-klient"
-#: plinth/modules/quassel/__init__.py:47
+#: plinth/modules/quassel/__init__.py:46
#, python-brace-format
msgid ""
"Quassel is an IRC application that is split into two parts, a \"core\" and a "
@@ -4098,7 +4091,7 @@ msgstr ""
"kontinuerligt online, og du vil kunne bruge en eller flere Quassel-klienter "
"fra en computer eller en mobil til at forbinde til den."
-#: plinth/modules/quassel/__init__.py:54
+#: plinth/modules/quassel/__init__.py:53
msgid ""
"You can connect to your Quassel core on the default Quassel port 4242. "
"Clients to connect to Quassel from your Jitsi (for computers) and CSipSimple (til Android-enheder)."
-#: plinth/modules/repro/__init__.py:53
+#: plinth/modules/repro/__init__.py:55
msgid ""
"Note: Before using repro, domains and users will need to "
"be configured using the web-based "
@@ -4282,17 +4275,17 @@ msgstr ""
msgid "CSipSimple"
msgstr ""
-#: plinth/modules/restore/__init__.py:36 plinth/modules/restore/manifest.py:23
+#: plinth/modules/restore/__init__.py:37 plinth/modules/restore/manifest.py:23
msgid "reStore"
msgstr "reStore"
-#: plinth/modules/restore/__init__.py:38
+#: plinth/modules/restore/__init__.py:39
#, fuzzy
#| msgid "Unhosted Storage (reStore)"
msgid "Unhosted Storage"
msgstr "Ikke-hostet Lagerplads (reStore)"
-#: plinth/modules/restore/__init__.py:42
+#: plinth/modules/restore/__init__.py:43
#, python-brace-format
msgid ""
"reStore is a server for unhosted web "
@@ -4308,7 +4301,7 @@ msgstr ""
"efter brugerens valg. Med reStore bliver din {box_name} dit unhosted "
"datalager."
-#: plinth/modules/restore/__init__.py:48
+#: plinth/modules/restore/__init__.py:49
msgid ""
"You can create and edit accounts in the reStore web-"
"interface."
@@ -4316,20 +4309,20 @@ msgstr ""
"Du kan oprette og redigere kontoer i reStores "
"webbrugerflade."
-#: plinth/modules/roundcube/__init__.py:34
+#: plinth/modules/roundcube/__init__.py:35
#: plinth/modules/roundcube/manifest.py:24
#, fuzzy
#| msgid "Enable Roundcube"
msgid "Roundcube"
msgstr "Aktiver Roundcube"
-#: plinth/modules/roundcube/__init__.py:36
+#: plinth/modules/roundcube/__init__.py:37
#, fuzzy
#| msgid "Email Client (Roundcube)"
msgid "Email Client"
msgstr "Emailklient (Roundcube)"
-#: plinth/modules/roundcube/__init__.py:39
+#: plinth/modules/roundcube/__init__.py:40
msgid ""
"Roundcube webmail is a browser-based multilingual IMAP client with an "
"application-like user interface. It provides full functionality you expect "
@@ -4341,7 +4334,7 @@ msgstr ""
"du forventer af en emailklient, inklusiv MIME-understøttelse, lagring af "
"kontaktpersoner, mappe-administration, beskedsøgning og stavekontrol."
-#: plinth/modules/roundcube/__init__.py:44
+#: plinth/modules/roundcube/__init__.py:45
msgid ""
"You can access Roundcube from /roundcube. Provide "
"the username and password of the email account you wish to access followed "
@@ -4355,7 +4348,7 @@ msgstr ""
"example.com. Vil du bruge IMAP over SSL (hvilket anbefales) skal du "
"også angive protokollen således imaps://imap.example.com."
-#: plinth/modules/roundcube/__init__.py:50
+#: plinth/modules/roundcube/__init__.py:51
msgid ""
"For Gmail, username will be your Gmail address, password will be your Google "
"account password and server will be imaps://imap.gmail.com. "
@@ -4430,12 +4423,12 @@ msgstr ""
msgid "Allow this application to be used by anyone who can reach it."
msgstr ""
-#: plinth/modules/searx/views.py:60 plinth/modules/searx/views.py:71
-#: plinth/modules/tor/views.py:139 plinth/modules/tor/views.py:168
+#: plinth/modules/searx/views.py:59 plinth/modules/searx/views.py:70
+#: plinth/modules/tor/views.py:141 plinth/modules/tor/views.py:168
msgid "Configuration updated."
msgstr "Konfiguration opdateret."
-#: plinth/modules/searx/views.py:63 plinth/modules/searx/views.py:74
+#: plinth/modules/searx/views.py:62 plinth/modules/searx/views.py:73
#: plinth/modules/tor/views.py:170
msgid "An error occurred during configuration."
msgstr "Der opstod en fejl under konfigurationen."
@@ -4498,22 +4491,22 @@ msgstr ""
"shaarli på webserveren. Bemærk at Shaarli kun understøtter en enkelt "
"brugerkonto, som skal sættes op ved det første besøg."
-#: plinth/modules/shadowsocks/__init__.py:34
+#: plinth/modules/shadowsocks/__init__.py:35
msgid "Shadowsocks"
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:36
+#: plinth/modules/shadowsocks/__init__.py:37
msgid "Socks5 Proxy"
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:45
+#: plinth/modules/shadowsocks/__init__.py:44
msgid ""
"Shadowsocks is a lightweight and secure SOCKS5 proxy, designed to protect "
"your Internet traffic. It can be used to bypass Internet filtering and "
"censorship."
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:49
+#: plinth/modules/shadowsocks/__init__.py:48
#, python-brace-format
msgid ""
"Your {box_name} can run a Shadowsocks client, that can connect to a "
@@ -4522,38 +4515,38 @@ msgid ""
"the Shadowsocks server."
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:54
+#: plinth/modules/shadowsocks/__init__.py:53
msgid ""
"To use Shadowsocks after setup, set the SOCKS5 proxy URL in your device, "
"browser or application to http://freedombox_address:1080/"
msgstr ""
+#: plinth/modules/shadowsocks/forms.py:28
#: plinth/modules/shadowsocks/forms.py:29
-#: plinth/modules/shadowsocks/forms.py:30
msgid "Recommended"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:60
+#: plinth/modules/shadowsocks/forms.py:54
#, fuzzy
#| msgid "Service"
msgid "Server"
msgstr "Tjeneste"
-#: plinth/modules/shadowsocks/forms.py:61
+#: plinth/modules/shadowsocks/forms.py:54
msgid "Server hostname or IP address"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:67
+#: plinth/modules/shadowsocks/forms.py:58
#, fuzzy
#| msgid "Server port"
msgid "Server port number"
msgstr "Serverport"
-#: plinth/modules/shadowsocks/forms.py:71
+#: plinth/modules/shadowsocks/forms.py:61
msgid "Password used to encrypt data. Must match server password."
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:77
+#: plinth/modules/shadowsocks/forms.py:66
msgid "Encryption method. Must match setting on server."
msgstr ""
@@ -4849,7 +4842,7 @@ msgstr ""
msgid "Storage snapshots configuration updated"
msgstr "Konfiguration opdateret"
-#: plinth/modules/snapshot/views.py:153 plinth/modules/tor/views.py:72
+#: plinth/modules/snapshot/views.py:153 plinth/modules/tor/views.py:73
#, python-brace-format
msgid "Action error: {0} [{1}] [{2}]"
msgstr "Fejl under handling: {0} [{1}] [{2}]"
@@ -4883,11 +4876,11 @@ msgstr ""
msgid "Rollback to Snapshot"
msgstr ""
-#: plinth/modules/ssh/__init__.py:39
+#: plinth/modules/ssh/__init__.py:40
msgid "Secure Shell (SSH) Server"
msgstr "Secure Shell (SSH) Server"
-#: plinth/modules/ssh/__init__.py:42
+#: plinth/modules/ssh/__init__.py:43
msgid ""
"A Secure Shell server uses the secure shell protocol to accept connections "
"from remote computers. An authorized remote computer can perform "
@@ -4903,13 +4896,13 @@ msgstr ""
msgid "Login"
msgstr "Log ind"
-#: plinth/modules/storage/__init__.py:36 plinth/modules/storage/views.py:53
+#: plinth/modules/storage/__init__.py:35 plinth/modules/storage/views.py:53
#, fuzzy
#| msgid "reStore"
msgid "Storage"
msgstr "reStore"
-#: plinth/modules/storage/__init__.py:44
+#: plinth/modules/storage/__init__.py:43
#, python-brace-format
msgid ""
"This module allows you to manage storage media attached to your {box_name}. "
@@ -4917,91 +4910,91 @@ msgid ""
"media, expand the root partition etc."
msgstr ""
-#: plinth/modules/storage/__init__.py:211
+#: plinth/modules/storage/__init__.py:213
#, fuzzy, python-brace-format
#| msgid "{disk_size} bytes"
msgid "{disk_size:.1f} bytes"
msgstr "{disk_size} bytes"
-#: plinth/modules/storage/__init__.py:215
+#: plinth/modules/storage/__init__.py:217
#, fuzzy, python-brace-format
#| msgid "{disk_size} KiB"
msgid "{disk_size:.1f} KiB"
msgstr "{disk_size} KiB"
-#: plinth/modules/storage/__init__.py:219
+#: plinth/modules/storage/__init__.py:221
#, fuzzy, python-brace-format
#| msgid "{disk_size} MiB"
msgid "{disk_size:.1f} MiB"
msgstr "{disk_size} MiB"
-#: plinth/modules/storage/__init__.py:223
+#: plinth/modules/storage/__init__.py:225
#, fuzzy, python-brace-format
#| msgid "{disk_size} GiB"
msgid "{disk_size:.1f} GiB"
msgstr "{disk_size} GiB"
-#: plinth/modules/storage/__init__.py:226
+#: plinth/modules/storage/__init__.py:228
#, fuzzy, python-brace-format
#| msgid "{disk_size} TiB"
msgid "{disk_size:.1f} TiB"
msgstr "{disk_size} TiB"
-#: plinth/modules/storage/__init__.py:233
+#: plinth/modules/storage/__init__.py:235
msgid "The operation failed."
msgstr ""
-#: plinth/modules/storage/__init__.py:235
+#: plinth/modules/storage/__init__.py:237
msgid "The operation was cancelled."
msgstr ""
-#: plinth/modules/storage/__init__.py:237
+#: plinth/modules/storage/__init__.py:239
#, fuzzy
#| msgid "repro service is running"
msgid "The device is already unmounting."
msgstr "repro-tjenesten er aktiv"
-#: plinth/modules/storage/__init__.py:239
+#: plinth/modules/storage/__init__.py:241
msgid "The operation is not supported due to missing driver/tool support."
msgstr ""
-#: plinth/modules/storage/__init__.py:242
+#: plinth/modules/storage/__init__.py:244
msgid "The operation timed out."
msgstr ""
-#: plinth/modules/storage/__init__.py:244
+#: plinth/modules/storage/__init__.py:246
msgid "The operation would wake up a disk that is in a deep-sleep state."
msgstr ""
-#: plinth/modules/storage/__init__.py:247
+#: plinth/modules/storage/__init__.py:249
msgid "Attempting to unmount a device that is busy."
msgstr ""
-#: plinth/modules/storage/__init__.py:249
+#: plinth/modules/storage/__init__.py:251
msgid "The operation has already been cancelled."
msgstr ""
-#: plinth/modules/storage/__init__.py:255
+#: plinth/modules/storage/__init__.py:257
msgid "Not authorized to perform the requested operation."
msgstr ""
-#: plinth/modules/storage/__init__.py:257
+#: plinth/modules/storage/__init__.py:259
#, fuzzy
#| msgid "This service already exists"
msgid "The device is already mounted."
msgstr "Denne tjeneste eksisterer allerede"
-#: plinth/modules/storage/__init__.py:259
+#: plinth/modules/storage/__init__.py:261
#, fuzzy
#| msgid "repro service is not running"
msgid "The device is not mounted."
msgstr "repro-tjenesten er ikke aktiv"
-#: plinth/modules/storage/__init__.py:262
+#: plinth/modules/storage/__init__.py:264
msgid "Not permitted to use the requested option."
msgstr ""
-#: plinth/modules/storage/__init__.py:265
+#: plinth/modules/storage/__init__.py:267
msgid "The device is mounted by another user."
msgstr ""
@@ -5085,16 +5078,16 @@ msgstr ""
msgid "Error ejecting device: {error_message}"
msgstr ""
-#: plinth/modules/syncthing/__init__.py:38
+#: plinth/modules/syncthing/__init__.py:40
#: plinth/modules/syncthing/manifest.py:28
msgid "Syncthing"
msgstr ""
-#: plinth/modules/syncthing/__init__.py:40
+#: plinth/modules/syncthing/__init__.py:42
msgid "File Synchronization"
msgstr ""
-#: plinth/modules/syncthing/__init__.py:43
+#: plinth/modules/syncthing/__init__.py:45
msgid ""
"Syncthing is an application to synchronize files across multiple devices, e."
"g. your desktop computer and mobile phone. Creation, modification, or "
@@ -5102,7 +5095,7 @@ msgid ""
"other devices that also run Syncthing."
msgstr ""
-#: plinth/modules/syncthing/__init__.py:48
+#: plinth/modules/syncthing/__init__.py:50
#, python-brace-format
msgid ""
"Running Syncthing on {box_name} provides an extra synchronization point for "
@@ -5113,28 +5106,28 @@ msgid ""
"{box_name} is only available for users belonging to the \"admin\" group."
msgstr ""
-#: plinth/modules/syncthing/__init__.py:55
+#: plinth/modules/syncthing/__init__.py:57
msgid ""
"When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile clients are also available."
msgstr ""
-#: plinth/modules/syncthing/__init__.py:62
+#: plinth/modules/syncthing/__init__.py:64
#, fuzzy
#| msgid "Install this application?"
msgid "Administer Syncthing application"
msgstr "Installer denne applikation?"
-#: plinth/modules/tahoe/__init__.py:41
+#: plinth/modules/tahoe/__init__.py:43
msgid "Tahoe-LAFS"
msgstr ""
-#: plinth/modules/tahoe/__init__.py:43
+#: plinth/modules/tahoe/__init__.py:45
msgid "Distributed File Storage"
msgstr ""
-#: plinth/modules/tahoe/__init__.py:107
+#: plinth/modules/tahoe/__init__.py:119
msgid ""
"Tahoe-LAFS is a decentralized secure file storage system. It uses provider "
"independent security to store files over a distributed network of storage "
@@ -5142,7 +5135,7 @@ msgid ""
"remaining nodes."
msgstr ""
-#: plinth/modules/tahoe/__init__.py:112
+#: plinth/modules/tahoe/__init__.py:124
#, python-brace-format
msgid ""
"This {box_name} hosts a storage node and an introducer by default. "
@@ -5189,11 +5182,11 @@ msgstr ""
msgid "Remove"
msgstr ""
-#: plinth/modules/tor/__init__.py:43
+#: plinth/modules/tor/__init__.py:46
msgid "Tor"
msgstr ""
-#: plinth/modules/tor/__init__.py:48
+#: plinth/modules/tor/__init__.py:51
msgid ""
"Tor is an anonymous communication system. You can learn more about it from "
"the Tor Project website. For "
@@ -5207,41 +5200,37 @@ msgstr ""
"du bruger Tor-browseren."
-#: plinth/modules/tor/__init__.py:93
+#: plinth/modules/tor/__init__.py:80
msgid "Tor Socks Proxy"
msgstr ""
-#: plinth/modules/tor/__init__.py:99 plinth/modules/tor/__init__.py:146
+#: plinth/modules/tor/__init__.py:84
#, fuzzy
msgid "Tor Bridge Relay"
msgstr "Tor Bridge Relay"
-#: plinth/modules/tor/__init__.py:120 plinth/modules/tor/__init__.py:188
+#: plinth/modules/tor/__init__.py:122 plinth/modules/tor/__init__.py:150
msgid "Tor Hidden Service"
msgstr "Tor Skjult Tjeneste"
-#: plinth/modules/tor/__init__.py:136
-msgid "Tor Anonymity Network"
-msgstr "Tor Anonymiseringstjeneste"
-
-#: plinth/modules/tor/__init__.py:208
+#: plinth/modules/tor/__init__.py:170
msgid "Tor relay port available"
msgstr "Tor videresendelsesport tilgængelig"
-#: plinth/modules/tor/__init__.py:218
+#: plinth/modules/tor/__init__.py:180
msgid "Obfs3 transport registered"
msgstr "Obfs3 transport registreret"
-#: plinth/modules/tor/__init__.py:226
+#: plinth/modules/tor/__init__.py:188
msgid "Obfs4 transport registered"
msgstr "Obfs4 transport registreret"
-#: plinth/modules/tor/__init__.py:265
+#: plinth/modules/tor/__init__.py:227
#, python-brace-format
msgid "Access URL {url} on tcp{kind} via Tor"
msgstr "Tilgå URL {url} ved brug af tcp{kind} via Tor"
-#: plinth/modules/tor/__init__.py:276
+#: plinth/modules/tor/__init__.py:238
#, python-brace-format
msgid "Confirm Tor usage at {url} on tcp{kind}"
msgstr "Bekræft brug af Tor på {url} ved brug af tcp{kind}"
@@ -5395,14 +5384,14 @@ msgstr "SOCKS"
msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050."
msgstr "En Tor SOCKS-port er tilgængelig på din %(box_name)s TCP-port 9050."
-#: plinth/modules/transmission/__init__.py:39
+#: plinth/modules/transmission/__init__.py:41
#: plinth/modules/transmission/manifest.py:24
#, fuzzy
#| msgid "Transmission BitTorrent"
msgid "Transmission"
msgstr "Transmission BitTorrent"
-#: plinth/modules/transmission/__init__.py:44
+#: plinth/modules/transmission/__init__.py:46
msgid ""
"BitTorrent is a peer-to-peer file sharing protocol. Transmission daemon "
"handles Bitorrent file sharing. Note that BitTorrent is not anonymous."
@@ -5411,7 +5400,7 @@ msgstr ""
"Transmission håndterer BitTorrent fildeling. Bemærk at BitTorrent ikke "
"anonymiserer trafik."
-#: plinth/modules/transmission/__init__.py:47
+#: plinth/modules/transmission/__init__.py:49
msgid ""
"Access the web interface at /transmission."
msgstr "Tilgå webbrugerfladen på /transmission."
@@ -5430,17 +5419,17 @@ msgstr ""
"skal du sikre dig at den nye mappe eksisterer og er skrivbar af brugeren "
"\"debian-transmission\"."
-#: plinth/modules/ttrss/__init__.py:41 plinth/modules/ttrss/manifest.py:34
+#: plinth/modules/ttrss/__init__.py:43 plinth/modules/ttrss/manifest.py:34
msgid "Tiny Tiny RSS"
msgstr ""
-#: plinth/modules/ttrss/__init__.py:43
+#: plinth/modules/ttrss/__init__.py:45
#, fuzzy
#| msgid "News Feed Reader (Tiny Tiny RSS)"
msgid "News Feed Reader"
msgstr "Nyhedsstrømlæser (Tiny Tiny RSS)"
-#: plinth/modules/ttrss/__init__.py:46
+#: plinth/modules/ttrss/__init__.py:48
msgid ""
"Tiny Tiny RSS is a news feed (RSS/Atom) reader and aggregator, designed to "
"allow reading news from any location, while feeling as close to a real "
@@ -5450,7 +5439,7 @@ msgstr ""
"er designet til at læse nyheder på farten, men samtidig føles så meget som "
"en rigtig desktop-applikation som muligt."
-#: plinth/modules/ttrss/__init__.py:50
+#: plinth/modules/ttrss/__init__.py:52
#, fuzzy, python-brace-format
#| msgid ""
#| "When enabled, Tiny Tiny RSS will be available from /"
@@ -5463,13 +5452,13 @@ msgstr ""
"Når aktiveret, vil Tiny Tiny RSS være tilgængelige på stien /tt-rss på webserveren."
-#: plinth/modules/ttrss/__init__.py:55
+#: plinth/modules/ttrss/__init__.py:57
msgid ""
"When using a mobile or desktop application for Tiny Tiny RSS, use the URL /tt-rss-app for connecting."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:61
+#: plinth/modules/ttrss/__init__.py:63
msgid "Read and subscribe to news feeds"
msgstr ""
@@ -5477,11 +5466,11 @@ msgstr ""
msgid "Tiny Tiny RSS (Fork)"
msgstr ""
-#: plinth/modules/upgrades/__init__.py:36 plinth/templates/setup.html:101
+#: plinth/modules/upgrades/__init__.py:35 plinth/templates/setup.html:101
msgid "Update"
msgstr "Opdater"
-#: plinth/modules/upgrades/__init__.py:39
+#: plinth/modules/upgrades/__init__.py:38
msgid "Check for and apply the latest software and security updates."
msgstr ""
@@ -5533,35 +5522,35 @@ msgstr ""
msgid "Auto-update"
msgstr "Seneste opdatering"
-#: plinth/modules/upgrades/views.py:39
+#: plinth/modules/upgrades/views.py:40
#, fuzzy
#| msgid "Last update"
msgid "Manual update"
msgstr "Seneste opdatering"
-#: plinth/modules/upgrades/views.py:78
+#: plinth/modules/upgrades/views.py:79
#, python-brace-format
msgid "Error when configuring unattended-upgrades: {error}"
msgstr ""
"Kunne ikke konfigurere automatisk opdatering (unattended-upgrades): {error}"
-#: plinth/modules/upgrades/views.py:82
+#: plinth/modules/upgrades/views.py:83
msgid "Automatic upgrades enabled"
msgstr "Automatisk opdatering aktiveret"
-#: plinth/modules/upgrades/views.py:85
+#: plinth/modules/upgrades/views.py:86
msgid "Automatic upgrades disabled"
msgstr "Automatisk opdatering deaktiveret"
-#: plinth/modules/upgrades/views.py:87
+#: plinth/modules/upgrades/views.py:88
msgid "Settings unchanged"
msgstr "Indstillinger uændret"
-#: plinth/modules/upgrades/views.py:113
+#: plinth/modules/upgrades/views.py:114
msgid "Upgrade process started."
msgstr "Opdateringsprocessen er startet."
-#: plinth/modules/upgrades/views.py:116
+#: plinth/modules/upgrades/views.py:117
msgid "Starting upgrade failed."
msgstr "Kunne ikke starte opdatering."
@@ -5569,7 +5558,7 @@ msgstr "Kunne ikke starte opdatering."
msgid "Users and Groups"
msgstr "Brugere og Grupper"
-#: plinth/modules/users/__init__.py:106
+#: plinth/modules/users/__init__.py:108
#, python-brace-format
msgid "Check LDAP entry \"{search_item}\""
msgstr "Kontrol af LDAP-konfiguration \"{search_item}\""
@@ -5799,15 +5788,6 @@ msgstr "medie-ændring"
msgid "configuration file: {file}"
msgstr "konfigurationsfil: {file}"
-#: plinth/service.py:140
-msgid "Web Server over Secure Socket Layer"
-msgstr "Sikker Webserver (via SSL)"
-
-#: plinth/service.py:145
-#, python-brace-format
-msgid "{box_name} Web Interface (Plinth)"
-msgstr "{box_name} Web-brugerflade (Plinth)"
-
#: plinth/templates/403.html:25
msgid "403 Forbidden"
msgstr ""
@@ -6040,17 +6020,17 @@ msgstr ""
msgid "Mailing list"
msgstr ""
-#: plinth/templates/internal-zone.html:25
+#: plinth/templates/internal-zone.html:26
#, fuzzy, python-format
#| msgid "Service discovery server is not running"
msgid "%(service_name)s is available only on internal networks."
msgstr "Tjenestesøgningstjenesten er ikke aktiv"
-#: plinth/templates/internal-zone.html:31
+#: plinth/templates/internal-zone.html:32
msgid "Currently there are no network interfaces configured as internal."
msgstr ""
-#: plinth/templates/internal-zone.html:33
+#: plinth/templates/internal-zone.html:34
#, python-format
msgid ""
"Currently the following network interfaces are configured as internal: "
@@ -6115,10 +6095,24 @@ msgstr "Installerer %(package_names)s: %(status)s"
msgid "%(percentage)s%% complete"
msgstr "%(percentage)s%% færdig"
+#: plinth/views.py:178
+msgid "Application enabled"
+msgstr "Applikation aktiveret"
+
+#: plinth/views.py:181
+msgid "Application disabled"
+msgstr "Applikation deaktiveret"
+
#: plinth/web_framework.py:186
msgid "Gujarati"
msgstr ""
+#~ msgid "Tor Anonymity Network"
+#~ msgstr "Tor Anonymiseringstjeneste"
+
+#~ msgid "Web Server over Secure Socket Layer"
+#~ msgstr "Sikker Webserver (via SSL)"
+
#~ msgid "Current status:"
#~ msgstr "Nuværende status:"
diff --git a/plinth/locale/de/LC_MESSAGES/django.po b/plinth/locale/de/LC_MESSAGES/django.po
index 448fd03c6..6bcdf3e96 100644
--- a/plinth/locale/de/LC_MESSAGES/django.po
+++ b/plinth/locale/de/LC_MESSAGES/django.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: FreedomBox UI\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-06-10 19:02-0400\n"
+"POT-Creation-Date: 2019-06-24 19:48-0400\n"
"PO-Revision-Date: 2019-06-18 22:01+0000\n"
"Last-Translator: ssantos \n"
"Language-Team: German /"
@@ -524,14 +535,14 @@ msgstr ""
"\">/_cockpit/ zur Verfügung. Zugriff hat jeder "
"Benutzer auf {box_name}, der zur Gruppe der Administratoren gehört."
-#: plinth/modules/config/__init__.py:59 plinth/modules/dynamicdns/views.py:44
+#: plinth/modules/config/__init__.py:61 plinth/modules/dynamicdns/views.py:45
#: plinth/modules/i2p/views.py:31 plinth/modules/ikiwiki/views.py:35
#: plinth/modules/pagekite/views.py:36 plinth/modules/snapshot/views.py:40
#: plinth/modules/tahoe/templates/tahoe-pre-setup.html:39
msgid "Configure"
msgstr "Konfigurieren"
-#: plinth/modules/config/__init__.py:164 plinth/modules/config/forms.py:76
+#: plinth/modules/config/__init__.py:166 plinth/modules/config/forms.py:76
#: plinth/modules/config/views.py:171 plinth/modules/dynamicdns/forms.py:111
msgid "Domain Name"
msgstr "Domain-Name"
@@ -619,8 +630,8 @@ msgstr ""
#: plinth/modules/power/templates/power_restart.html:42
#: plinth/modules/power/templates/power_shutdown.html:41
#: plinth/modules/storage/templates/storage.html:48
-#: plinth/templates/service-subsubmenu.html:47 plinth/templates/service.html:42
-#: plinth/templates/setup.html:48 plinth/templates/simple_service.html:38
+#: plinth/templates/app-subsubmenu.html:47 plinth/templates/app.html:42
+#: plinth/templates/setup.html:48 plinth/templates/simple_app.html:38
msgid "Learn more..."
msgstr "Mehr erfahren …"
@@ -668,15 +679,15 @@ msgstr "Zeige erweiterte Anwendungen und Funktionen an"
msgid "Hiding advanced apps and features"
msgstr "Ausblenden von erweiterten Apps und Funktionen"
-#: plinth/modules/coquelicot/__init__.py:38
+#: plinth/modules/coquelicot/__init__.py:40
msgid "Coquelicot"
msgstr "Coquelicot"
-#: plinth/modules/coquelicot/__init__.py:40
+#: plinth/modules/coquelicot/__init__.py:42
msgid "File Sharing"
msgstr "Filesharing/Dateien teilen"
-#: plinth/modules/coquelicot/__init__.py:43
+#: plinth/modules/coquelicot/__init__.py:45
msgid ""
"Coquelicot is a “one-click” file sharing web application with a focus on "
"protecting users’ privacy. It is best used for quickly sharing a single "
@@ -686,7 +697,7 @@ msgstr ""
"die großen Wert auf den Schutz der Privatsphäre der Benutzer*innen legt. "
"Prima zum schnellen Teilen einer einzelnen Datei. "
-#: plinth/modules/coquelicot/__init__.py:46
+#: plinth/modules/coquelicot/__init__.py:48
msgid ""
"This Coquelicot instance is exposed to the public but requires an upload "
"password to prevent unauthorized access. You can set a new upload password "
@@ -724,19 +735,19 @@ msgstr ""
msgid "coquelicot"
msgstr "Coquelicot"
-#: plinth/modules/coquelicot/views.py:57
+#: plinth/modules/coquelicot/views.py:59
msgid "Upload password updated"
msgstr "Upload-Passwort geändert"
-#: plinth/modules/coquelicot/views.py:60
+#: plinth/modules/coquelicot/views.py:62
msgid "Failed to update upload password"
msgstr "Upload-Passwort konnte nicht aktualisiert werden"
-#: plinth/modules/coquelicot/views.py:68
+#: plinth/modules/coquelicot/views.py:70
msgid "Maximum file size updated"
msgstr "Maximale Dateigröße aktualisiert"
-#: plinth/modules/coquelicot/views.py:71
+#: plinth/modules/coquelicot/views.py:73
msgid "Failed to update maximum file size"
msgstr "Die maximale Dateigröße konnte nicht aktualisiert werden"
@@ -752,15 +763,15 @@ msgstr ""
"Der Netzwerk-Zeitserver hält Ihre Systemzeit synchron mit Servern im "
"Internet."
-#: plinth/modules/datetime/__init__.py:107
+#: plinth/modules/datetime/__init__.py:99
msgid "Time synchronized to NTP server"
msgstr "Zeit synchronisiert mit NTP-Server"
-#: plinth/modules/datetime/forms.py:36
+#: plinth/modules/datetime/forms.py:35
msgid "Time Zone"
msgstr "Zeitzone"
-#: plinth/modules/datetime/forms.py:37
+#: plinth/modules/datetime/forms.py:36
msgid ""
"Set your time zone to get accurate timestamps. This will set the system-wide "
"time zone."
@@ -768,7 +779,7 @@ msgstr ""
"Die Zeitzone festlegen, um korrekte Zeitstempel erhalten. Sie als "
"systemweite Zeitzone festgelegt."
-#: plinth/modules/datetime/forms.py:49
+#: plinth/modules/datetime/forms.py:47
msgid "-- no time zone set --"
msgstr "-- keine Zeitzone gesetzt --"
@@ -786,7 +797,7 @@ msgid "Deluge"
msgstr "Deluge"
#: plinth/modules/deluge/__init__.py:41
-#: plinth/modules/transmission/__init__.py:41
+#: plinth/modules/transmission/__init__.py:43
msgid "BitTorrent Web Client"
msgstr "BitTorrent-Webclient"
@@ -805,7 +816,7 @@ msgstr ""
"sollte sofort nach dem ersten Anmelden geändert werden."
#: plinth/modules/deluge/__init__.py:51
-#: plinth/modules/transmission/__init__.py:54
+#: plinth/modules/transmission/__init__.py:56
msgid "Download files using BitTorrent applications"
msgstr "Dateien mit BitTorrent herunterladen"
@@ -869,12 +880,12 @@ msgstr "Testen"
msgid "Result"
msgstr "Ergebnis"
-#: plinth/modules/diaspora/__init__.py:52
+#: plinth/modules/diaspora/__init__.py:54
#: plinth/modules/diaspora/manifest.py:38
msgid "diaspora*"
msgstr "diaspora*"
-#: plinth/modules/diaspora/__init__.py:54
+#: plinth/modules/diaspora/__init__.py:56
msgid "Federated Social Network"
msgstr "Verteiltes Soziales Netzwerk"
@@ -931,22 +942,22 @@ msgstr ""
#: plinth/modules/tahoe/templates/tahoe-pre-setup.html:58
#: plinth/modules/tor/templates/tor.html:96
#: plinth/modules/upgrades/templates/upgrades_configure.html:32
-#: plinth/templates/service.html:89
+#: plinth/templates/app.html:89
msgid "Update setup"
msgstr "Update-Einstellungen"
-#: plinth/modules/diaspora/views.py:97 plinth/modules/ejabberd/views.py:64
-#: plinth/modules/matrixsynapse/views.py:107
-#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:150
-#: plinth/modules/tor/views.py:146 plinth/views.py:160
+#: plinth/modules/diaspora/views.py:94 plinth/modules/ejabberd/views.py:65
+#: plinth/modules/matrixsynapse/views.py:108
+#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:148
+#: plinth/modules/tor/views.py:148 plinth/views.py:174
msgid "Setting unchanged"
msgstr "Einstellung unverändert"
-#: plinth/modules/diaspora/views.py:101
+#: plinth/modules/diaspora/views.py:98
msgid "User registrations enabled"
msgstr "Registrierung neuer Benutzer aktiviert"
-#: plinth/modules/diaspora/views.py:105
+#: plinth/modules/diaspora/views.py:102
msgid "User registrations disabled"
msgstr "Registrierung neuer Benutzer deaktiviert"
@@ -984,8 +995,8 @@ msgstr ""
"verknüpfen, und wenn jemand aus dem Internet Ihren DNS-Namen abfragt, wird "
"als Antwort Ihre aktuelle IP-Adresse geliefert."
-#: plinth/modules/dynamicdns/__init__.py:85
-#: plinth/modules/dynamicdns/views.py:167
+#: plinth/modules/dynamicdns/__init__.py:87
+#: plinth/modules/dynamicdns/views.py:169
msgid "Dynamic DNS Service"
msgstr "Dynamischer DNS-Service"
@@ -1093,7 +1104,7 @@ msgid "Username"
msgstr "Benutzername"
#: plinth/modules/dynamicdns/forms.py:121 plinth/modules/networks/forms.py:235
-#: plinth/modules/shadowsocks/forms.py:70
+#: plinth/modules/shadowsocks/forms.py:61
msgid "Password"
msgstr "Passwort"
@@ -1190,39 +1201,39 @@ msgstr ""
msgid "Last update"
msgstr "Letztes Update"
-#: plinth/modules/dynamicdns/views.py:41 plinth/modules/help/help.py:57
+#: plinth/modules/dynamicdns/views.py:41 plinth/modules/help/help.py:59
msgid "About"
msgstr "Über"
-#: plinth/modules/dynamicdns/views.py:47
+#: plinth/modules/dynamicdns/views.py:49
#: plinth/modules/firewall/templates/firewall.html:25
#: plinth/modules/firewall/templates/firewall.html:45
#: plinth/modules/i2p/templates/i2p.html:27
#: plinth/modules/networks/templates/connection_show.html:261
#: plinth/modules/openvpn/templates/openvpn.html:71
#: plinth/modules/tor/templates/tor.html:40
-#: plinth/modules/tor/templates/tor.html:68 plinth/templates/service.html:51
+#: plinth/modules/tor/templates/tor.html:68 plinth/templates/app.html:51
msgid "Status"
msgstr "Status"
-#: plinth/modules/dynamicdns/views.py:78
+#: plinth/modules/dynamicdns/views.py:80
msgid "Configure Dynamic DNS"
msgstr "Dynamisches DNS konfigurieren"
-#: plinth/modules/dynamicdns/views.py:103
+#: plinth/modules/dynamicdns/views.py:105
msgid "Dynamic DNS Status"
msgstr "Status für Dynamisches DNS"
-#: plinth/modules/ejabberd/__init__.py:43
+#: plinth/modules/ejabberd/__init__.py:45
msgid "ejabberd"
msgstr "ejabberd"
-#: plinth/modules/ejabberd/__init__.py:45
-#: plinth/modules/matrixsynapse/__init__.py:43
+#: plinth/modules/ejabberd/__init__.py:47
+#: plinth/modules/matrixsynapse/__init__.py:45
msgid "Chat Server"
msgstr "Chatserver"
-#: plinth/modules/ejabberd/__init__.py:48
+#: plinth/modules/ejabberd/__init__.py:50
msgid ""
"XMPP is an open and standardized communication protocol. Here you can run "
"and configure your XMPP server, called ejabberd."
@@ -1230,7 +1241,7 @@ msgstr ""
"XMPP ist ein offenes und standardisiertes Kommunikationsprotokoll. Hier "
"können Sie Ihren XMPP-Server, genannt ejabberd, starten und konfigurieren."
-#: plinth/modules/ejabberd/__init__.py:51
+#: plinth/modules/ejabberd/__init__.py:53
#, python-brace-format
msgid ""
"To actually communicate, you can use the web client"
@@ -1244,11 +1255,11 @@ msgstr ""
"kann ejabberd von jedem Benutzer mit einem "
"{box_name} Login aufgerufen werden."
-#: plinth/modules/ejabberd/forms.py:33
+#: plinth/modules/ejabberd/forms.py:32
msgid "Enable Message Archive Management"
msgstr "Nachrichten-Archiv-Management aktivieren"
-#: plinth/modules/ejabberd/forms.py:36
+#: plinth/modules/ejabberd/forms.py:34
#, python-brace-format
msgid ""
"If enabled, your {box_name} will store chat message histories. This allows "
@@ -1332,35 +1343,23 @@ msgstr "Webclient starten"
#: plinth/modules/openvpn/templates/openvpn.html:123
#: plinth/modules/snapshot/templates/snapshot.html:27
#: plinth/modules/tahoe/templates/tahoe-post-setup.html:43
-#: plinth/modules/tor/templates/tor.html:88 plinth/templates/service.html:81
+#: plinth/modules/tor/templates/tor.html:88 plinth/templates/app.html:81
msgid "Configuration"
msgstr "Konfiguration"
-#: plinth/modules/ejabberd/views.py:68
-#: plinth/modules/matrixsynapse/views.py:111
-#: plinth/modules/mediawiki/views.py:79 plinth/views.py:164
-msgid "Application enabled"
-msgstr "Anwendung aktiviert"
-
-#: plinth/modules/ejabberd/views.py:71
-#: plinth/modules/matrixsynapse/views.py:114
-#: plinth/modules/mediawiki/views.py:82 plinth/views.py:167
-msgid "Application disabled"
-msgstr "Anwendung deaktiviert"
-
-#: plinth/modules/ejabberd/views.py:78
+#: plinth/modules/ejabberd/views.py:77
msgid "Message Archive Management enabled"
msgstr "Nachrichten-Archiv-Verwaltung aktiviert"
-#: plinth/modules/ejabberd/views.py:82
+#: plinth/modules/ejabberd/views.py:81
msgid "Message Archive Management disabled"
msgstr "Nachrichten-Archiv-Verwaltung deaktiviert"
-#: plinth/modules/firewall/__init__.py:40
+#: plinth/modules/firewall/__init__.py:36
msgid "Firewall"
msgstr "Firewall"
-#: plinth/modules/firewall/__init__.py:44
+#: plinth/modules/firewall/__init__.py:40
#, python-brace-format
msgid ""
"Firewall is a security system that controls the incoming and outgoing "
@@ -1483,29 +1482,29 @@ msgstr "Einrichten beginnen"
msgid "Setup Complete"
msgstr "Installation abgeschlossen"
-#: plinth/modules/help/help.py:44
+#: plinth/modules/help/help.py:46
msgid "Documentation"
msgstr "Dokumentation"
-#: plinth/modules/help/help.py:48 plinth/modules/networks/forms.py:68
+#: plinth/modules/help/help.py:50 plinth/modules/networks/forms.py:68
#: plinth/modules/networks/forms.py:108 plinth/templates/index.html:135
msgid "Manual"
msgstr "Handbuch"
-#: plinth/modules/help/help.py:53
+#: plinth/modules/help/help.py:55
msgid "Download Manual"
msgstr "Handbuch herunterladen"
-#: plinth/modules/help/help.py:73
+#: plinth/modules/help/help.py:75
msgid "Documentation and FAQ"
msgstr "Dokumentation und FAQ"
-#: plinth/modules/help/help.py:81
+#: plinth/modules/help/help.py:83
#, python-brace-format
msgid "About {box_name}"
msgstr "Über Ihre FreedomBox {box_name}"
-#: plinth/modules/help/help.py:102
+#: plinth/modules/help/help.py:104
#, python-brace-format
msgid "{box_name} Manual"
msgstr "{box_name}-Handbuch"
@@ -1663,15 +1662,15 @@ msgstr ""
"Bitte vor dem Abschicken des Fehlerberichts, alle Passwörter und andere "
"persönliche Informationen aus der Statusausgabe entfernen."
-#: plinth/modules/i2p/__init__.py:40 plinth/modules/i2p/manifest.py:31
+#: plinth/modules/i2p/__init__.py:42 plinth/modules/i2p/manifest.py:31
msgid "I2P"
msgstr "I2P"
-#: plinth/modules/i2p/__init__.py:42 plinth/modules/tor/__init__.py:45
+#: plinth/modules/i2p/__init__.py:44 plinth/modules/tor/__init__.py:48
msgid "Anonymity Network"
msgstr "Anonymisierungsnetzwerk"
-#: plinth/modules/i2p/__init__.py:45
+#: plinth/modules/i2p/__init__.py:47
msgid ""
"The Invisible Internet Project is an anonymous network layer intended to "
"protect communication from censorship and surveillance. I2P provides "
@@ -1683,7 +1682,7 @@ msgstr ""
"Anonymität, indem es verschlüsselten Datenverkehr über ein von Freiwilligen "
"betriebenes, weltweit verteiltes Netzwerk sendet."
-#: plinth/modules/i2p/__init__.py:49
+#: plinth/modules/i2p/__init__.py:51
msgid ""
"Find more information about I2P on their project homepage."
@@ -1691,7 +1690,7 @@ msgstr ""
"Mehr Informationen über I2P finden Sie auf deren Projekt-Webseite."
-#: plinth/modules/i2p/__init__.py:51
+#: plinth/modules/i2p/__init__.py:53
msgid ""
"The first visit to the provided web interface will initiate the "
"configuration process."
@@ -1699,21 +1698,21 @@ msgstr ""
"Der erste Besuch der bereitgestellten Weboberfläche leitet den "
"Konfigurationsprozess ein."
-#: plinth/modules/i2p/__init__.py:57
+#: plinth/modules/i2p/__init__.py:59
msgid "Manage I2P application"
msgstr "I2P-Anwendung verwalten"
-#: plinth/modules/i2p/templates/i2p.html:32 plinth/templates/service.html:56
+#: plinth/modules/i2p/templates/i2p.html:32 plinth/templates/app.html:56
#, python-format
msgid "Service %(service_name)s is running."
msgstr "Dienst %(service_name)s läuft."
-#: plinth/modules/i2p/templates/i2p.html:37 plinth/templates/service.html:61
+#: plinth/modules/i2p/templates/i2p.html:37 plinth/templates/app.html:61
#, python-format
msgid "Service %(service_name)s is not running."
msgstr "Dienst %(service_name)s läuft nicht."
-#: plinth/modules/i2p/templates/i2p_service.html:13
+#: plinth/modules/i2p/templates/i2p_service.html:31
#: plinth/templates/clients.html:51
msgid "Launch"
msgstr "Starten"
@@ -1726,11 +1725,11 @@ msgstr "Proxys"
msgid "Anonymous torrents"
msgstr "Anonyme Torrents"
-#: plinth/modules/i2p/views.py:86
+#: plinth/modules/i2p/views.py:88
msgid "I2P Proxies and Tunnels"
msgstr "I2P-Proxys und Tunnel"
-#: plinth/modules/i2p/views.py:89
+#: plinth/modules/i2p/views.py:91
msgid ""
"I2P lets you browse the Internet and hidden services (eepsites) anonymously. "
"For this, your browser, preferably a Tor Browser, needs to be configured for "
@@ -1740,7 +1739,7 @@ msgstr ""
"surfen. Dazu muss Ihr Browser, vorzugsweise ein Tor-Browser, für einen Proxy "
"konfiguriert sein."
-#: plinth/modules/i2p/views.py:92
+#: plinth/modules/i2p/views.py:94
msgid ""
"By default HTTP, HTTPS and IRC proxies are available. Additional proxies and "
"tunnels may be configured using the tunnel configuration interface."
@@ -1749,11 +1748,11 @@ msgstr ""
"Proxys und Tunnel können über die Tunnelkonfigurationsoberfläche "
"konfiguriert werden."
-#: plinth/modules/i2p/views.py:101
+#: plinth/modules/i2p/views.py:103
msgid "Anonymous Torrents"
msgstr "Anonyme Torrents"
-#: plinth/modules/i2p/views.py:104
+#: plinth/modules/i2p/views.py:106
msgid ""
"I2P provides an application to download files anonymously in a peer-to-peer "
"network. Download files by adding torrents or create a new torrent to share "
@@ -1763,15 +1762,15 @@ msgstr ""
"einem Peer-to-Peer-Netzwerk. Laden Sie Dateien herunter, indem Sie Torrents "
"hinzufügen, oder erstellen Sie einen neuen Torrent, um eine Datei zu teilen."
-#: plinth/modules/ikiwiki/__init__.py:42 plinth/modules/ikiwiki/manifest.py:24
+#: plinth/modules/ikiwiki/__init__.py:41 plinth/modules/ikiwiki/manifest.py:24
msgid "ikiwiki"
msgstr "ikiwiki"
-#: plinth/modules/ikiwiki/__init__.py:44
+#: plinth/modules/ikiwiki/__init__.py:43
msgid "Wiki and Blog"
msgstr "Wiki und Blog"
-#: plinth/modules/ikiwiki/__init__.py:47
+#: plinth/modules/ikiwiki/__init__.py:46
msgid ""
"ikiwiki is a simple wiki and blog application. It supports several "
"lightweight markup languages, including Markdown, and common blogging "
@@ -1783,7 +1782,7 @@ msgstr ""
"Kommentare und RSS-Feeds. Wenn aktiviert, stehen die Blogs und Wikis unter "
"/ikiwiki bereit (nach Erstellung)."
-#: plinth/modules/ikiwiki/__init__.py:53
+#: plinth/modules/ikiwiki/__init__.py:52
#, python-brace-format
msgid ""
"Only {box_name} users in the admin group can create and "
@@ -1797,7 +1796,7 @@ msgstr ""
"\"{users_url}\">Benutzerkonfiguration können diese Rechte geändert oder "
"neue Benutzer angelegt werden."
-#: plinth/modules/ikiwiki/__init__.py:63
+#: plinth/modules/ikiwiki/__init__.py:62
msgid "View and edit wiki applications"
msgstr "Wiki-Anwendungen ansehen und bearbeiten"
@@ -1867,49 +1866,49 @@ msgstr "Gehe zu Seite %(site)s"
msgid "Manage"
msgstr "Verwalten"
-#: plinth/modules/ikiwiki/views.py:121
+#: plinth/modules/ikiwiki/views.py:124
#, python-brace-format
msgid "Created wiki {name}."
msgstr "Wiki {name} angelegt."
-#: plinth/modules/ikiwiki/views.py:124
+#: plinth/modules/ikiwiki/views.py:127
#, python-brace-format
msgid "Could not create wiki: {error}"
msgstr "Wiki konnte nicht angelegt werden: {error}"
-#: plinth/modules/ikiwiki/views.py:134
+#: plinth/modules/ikiwiki/views.py:137
#, python-brace-format
msgid "Created blog {name}."
msgstr "Blog {name} angelegt."
-#: plinth/modules/ikiwiki/views.py:137
+#: plinth/modules/ikiwiki/views.py:140
#, python-brace-format
msgid "Could not create blog: {error}"
msgstr "Blog konnte nicht angelegt werden: {error}"
-#: plinth/modules/ikiwiki/views.py:150
+#: plinth/modules/ikiwiki/views.py:153
#, python-brace-format
msgid "{name} deleted."
msgstr "{name} gelöscht."
-#: plinth/modules/ikiwiki/views.py:154
+#: plinth/modules/ikiwiki/views.py:157
#, python-brace-format
msgid "Could not delete {name}: {error}"
msgstr "{name} konnte nicht gelöscht werden: {error}"
-#: plinth/modules/infinoted/__init__.py:41
+#: plinth/modules/infinoted/__init__.py:40
msgid "infinoted"
msgstr "infinoted"
-#: plinth/modules/infinoted/__init__.py:43
+#: plinth/modules/infinoted/__init__.py:42
msgid "Gobby Server"
msgstr "Gobby-Server"
-#: plinth/modules/infinoted/__init__.py:46
+#: plinth/modules/infinoted/__init__.py:45
msgid "infinoted is a server for Gobby, a collaborative text editor."
msgstr "infinoted ist ein Server für Gobby, den kollaborativen Text-Editor."
-#: plinth/modules/infinoted/__init__.py:48
+#: plinth/modules/infinoted/__init__.py:47
#, python-brace-format
msgid ""
"To use it, download Gobby, desktop "
@@ -2291,11 +2290,11 @@ msgstr "Zertifikat erfolgreich widerrufen für Domain {domain}"
msgid "Failed to delete certificate for domain {domain}: {error}"
msgstr "Fehler beim Widerrufen des Zertifikats für Domain {domain}: {error}"
-#: plinth/modules/matrixsynapse/__init__.py:41
+#: plinth/modules/matrixsynapse/__init__.py:43
msgid "Matrix Synapse"
msgstr "Matrix Synapse"
-#: plinth/modules/matrixsynapse/__init__.py:46
+#: plinth/modules/matrixsynapse/__init__.py:48
msgid ""
"Matrix is an new "
"ecosystem for open, federated instant messaging and VoIP. Synapse is a "
@@ -2313,7 +2312,7 @@ msgstr ""
"zwischen den Servern mit Nutzerkonten auf einem beliebigen anderen Server "
"kommunizieren."
-#: plinth/modules/matrixsynapse/__init__.py:53
+#: plinth/modules/matrixsynapse/__init__.py:55
msgid ""
"To communicate, you can use the available clients for mobile, desktop and the web. , um eines zu beziehen.\n"
" "
-#: plinth/modules/matrixsynapse/views.py:122
+#: plinth/modules/matrixsynapse/views.py:121
msgid "Public registration enabled"
msgstr "Öffentliche Registrierung aktiviert"
-#: plinth/modules/matrixsynapse/views.py:127
+#: plinth/modules/matrixsynapse/views.py:126
msgid "Public registration disabled"
msgstr "Öffentliche Registrierung deaktiviert"
-#: plinth/modules/mediawiki/__init__.py:34
+#: plinth/modules/mediawiki/__init__.py:38
#: plinth/modules/mediawiki/manifest.py:24
msgid "MediaWiki"
msgstr "MediaWiki"
-#: plinth/modules/mediawiki/__init__.py:36 plinth/templates/index.html:139
+#: plinth/modules/mediawiki/__init__.py:40 plinth/templates/index.html:139
msgid "Wiki"
msgstr "Wiki"
-#: plinth/modules/mediawiki/__init__.py:39
+#: plinth/modules/mediawiki/__init__.py:43
msgid ""
"MediaWiki is the wiki engine that powers Wikipedia and other WikiMedia "
"projects. A wiki engine is a program for creating a collaboratively edited "
@@ -2434,7 +2433,7 @@ msgstr ""
"nutzen, um eine Wiki-Webseite anzubieten, um Notizen zu schreiben oder um "
"mit Freunden an einem Projekt zusammen zu arbeiten."
-#: plinth/modules/mediawiki/__init__.py:43
+#: plinth/modules/mediawiki/__init__.py:47
msgid ""
"This MediaWiki instance comes with a randomly generated administrator "
"password. You can set a new password in the \"Configuration\" section and "
@@ -2449,7 +2448,7 @@ msgstr ""
"Seite spezielle Konto-"
"Erstellen nutzen."
-#: plinth/modules/mediawiki/__init__.py:49
+#: plinth/modules/mediawiki/__init__.py:53
msgid ""
"Anyone with a link to this wiki can read it. Only users that are logged in "
"can make changes to the content."
@@ -2498,32 +2497,32 @@ msgstr ""
msgid "Password updated"
msgstr "Passwort geändert"
-#: plinth/modules/mediawiki/views.py:91
+#: plinth/modules/mediawiki/views.py:89
msgid "Public registrations enabled"
msgstr "Öffentliche Registrierung aktiviert"
-#: plinth/modules/mediawiki/views.py:100
+#: plinth/modules/mediawiki/views.py:98
msgid "Public registrations disabled"
msgstr "Öffentliche Registrierung deaktiviert"
-#: plinth/modules/mediawiki/views.py:109
+#: plinth/modules/mediawiki/views.py:107
msgid "Private mode enabled"
msgstr "Privater Modus aktiviert"
-#: plinth/modules/mediawiki/views.py:112
+#: plinth/modules/mediawiki/views.py:110
msgid "Private mode disabled"
msgstr "Privater Modus ausgeschaltet"
-#: plinth/modules/minetest/__init__.py:53
+#: plinth/modules/minetest/__init__.py:52
#: plinth/modules/minetest/manifest.py:25
msgid "Minetest"
msgstr "Minetest"
-#: plinth/modules/minetest/__init__.py:55
+#: plinth/modules/minetest/__init__.py:54
msgid "Block Sandbox"
msgstr "Block-Sandkasten"
-#: plinth/modules/minetest/__init__.py:59
+#: plinth/modules/minetest/__init__.py:58
#, python-brace-format
msgid ""
"Minetest is a multiplayer infinite-world block sandbox. This module enables "
@@ -2536,11 +2535,11 @@ msgstr ""
"Standardport (30000). Um auf dem Server zu spielen, wird ein Minetest-Client benötigt."
-#: plinth/modules/minetest/forms.py:31
+#: plinth/modules/minetest/forms.py:30
msgid "Maximum number of players"
msgstr "Maximale Spielerzahl"
-#: plinth/modules/minetest/forms.py:35
+#: plinth/modules/minetest/forms.py:32
msgid ""
"You can change the maximum number of players playing minetest at a single "
"instance of time."
@@ -2548,11 +2547,11 @@ msgstr ""
"Sie können die maximale Anzahl der Spieler ändern, die Minetest gleichzeitig "
"spielen können."
-#: plinth/modules/minetest/forms.py:39
+#: plinth/modules/minetest/forms.py:36
msgid "Enable creative mode"
msgstr "Kreativ-Modus einschalten"
-#: plinth/modules/minetest/forms.py:41
+#: plinth/modules/minetest/forms.py:37
msgid ""
"Creative mode changes the rules of the game to make it more suitable for "
"creative gameplay, rather than challenging \"survival\" gameplay."
@@ -2560,21 +2559,21 @@ msgstr ""
"Kreativ-Modus ändert die Regeln des Spiels, um es besser geeignet für "
"kreatives Spielen zu machen, anstatt anspruchsvolles \"Survival\"-Spielen."
-#: plinth/modules/minetest/forms.py:46
+#: plinth/modules/minetest/forms.py:42
msgid "Enable PVP"
msgstr "Spieler-gegen-Spieler einschalten"
-#: plinth/modules/minetest/forms.py:48
+#: plinth/modules/minetest/forms.py:43
msgid "Enabling Player Vs Player will allow players to damage other players."
msgstr ""
"Wenn Sie Spieler-gegen-Spieler aktivieren, können sich Spieler gegenseitig "
"schaden."
-#: plinth/modules/minetest/forms.py:52
+#: plinth/modules/minetest/forms.py:47
msgid "Enable damage"
msgstr "Schaden einschalten"
-#: plinth/modules/minetest/forms.py:54
+#: plinth/modules/minetest/forms.py:48
msgid "When disabled, players cannot die or receive damage of any kind."
msgstr ""
"Wenn deaktiviert, können Spieler weder sterben noch irgendwelche Schäden "
@@ -2590,32 +2589,32 @@ msgstr "Adresse"
msgid "Port"
msgstr "Port"
-#: plinth/modules/minetest/views.py:71
+#: plinth/modules/minetest/views.py:72
msgid "Maximum players configuration updated"
msgstr "Einstellung für Maximale Spielerzahl aktualisiert"
-#: plinth/modules/minetest/views.py:78
+#: plinth/modules/minetest/views.py:79
msgid "Creative mode configuration updated"
msgstr "Kreativ-Modus-Konfiguration aktualisiert"
-#: plinth/modules/minetest/views.py:84
+#: plinth/modules/minetest/views.py:85
msgid "PVP configuration updated"
msgstr "Spieler-gegen-Spieler-Konfiguration aktualisiert"
-#: plinth/modules/minetest/views.py:90
+#: plinth/modules/minetest/views.py:91
msgid "Damage configuration updated"
msgstr "Schaden-Konfiguration aktualisiert"
-#: plinth/modules/mldonkey/__init__.py:38
+#: plinth/modules/mldonkey/__init__.py:40
#: plinth/modules/mldonkey/manifest.py:27
msgid "MLDonkey"
msgstr "MLDonkey"
-#: plinth/modules/mldonkey/__init__.py:40
+#: plinth/modules/mldonkey/__init__.py:42
msgid "Peer-to-peer File Sharing"
msgstr "Peer-to-Peer-Datenaustausch"
-#: plinth/modules/mldonkey/__init__.py:43
+#: plinth/modules/mldonkey/__init__.py:45
msgid ""
"MLDonkey is a peer-to-peer file sharing application used to exchange large "
"files. It can participate in multiple peer-to-peer networks including "
@@ -2625,7 +2624,7 @@ msgstr ""
"auszutauschen. Es kann in mehreren Peer-to-Peer-Netzwerken teilnehmen, unter "
"anderem eDonkey, Kademlia, Overnet, BitTorrent und DirectConnect."
-#: plinth/modules/mldonkey/__init__.py:46
+#: plinth/modules/mldonkey/__init__.py:48
msgid ""
"Users belonging to admin and ed2k group can control it through the web "
"interface. Users in the admin group can also control it through any of the "
@@ -2636,7 +2635,7 @@ msgstr ""
"der separaten mobilen oder Desktop-Oberflächen oder über Telnet steuern. "
"Siehe Benutzerhandbuch."
-#: plinth/modules/mldonkey/__init__.py:51
+#: plinth/modules/mldonkey/__init__.py:53
#, python-brace-format
msgid ""
"On {box_name}, downloaded files can be found in /var/lib/mldonkey/ directory."
@@ -2644,7 +2643,7 @@ msgstr ""
"Auf {box_name} können heruntergeladene Dateien im Verzeichnis /var/lib/"
"mldonkey/ gefunden werden."
-#: plinth/modules/mldonkey/__init__.py:59
+#: plinth/modules/mldonkey/__init__.py:61
msgid "Download files using eDonkey applications"
msgstr "Dateien mit eDonkey herunterladen"
@@ -2725,12 +2724,6 @@ msgstr "OpenPGP-Fingerabdruck"
msgid "Secure Shell"
msgstr "Secure Shell"
-#: plinth/modules/monkeysphere/templates/monkeysphere.html:88
-#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:60
-#: plinth/service.py:138
-msgid "Web Server"
-msgstr "Webserver"
-
#: plinth/modules/monkeysphere/templates/monkeysphere.html:90
#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:62
msgid "Other"
@@ -2826,15 +2819,15 @@ msgstr "Veröffentlichte Schlüssel auf dem Server."
msgid "Error occurred while publishing key."
msgstr "Fehler beim Veröffentlichen des Schlüssels."
-#: plinth/modules/mumble/__init__.py:34 plinth/modules/mumble/manifest.py:27
+#: plinth/modules/mumble/__init__.py:35 plinth/modules/mumble/manifest.py:27
msgid "Mumble"
msgstr "Mumble"
-#: plinth/modules/mumble/__init__.py:36
+#: plinth/modules/mumble/__init__.py:37
msgid "Voice Chat"
msgstr "Sprachkonferenz"
-#: plinth/modules/mumble/__init__.py:45
+#: plinth/modules/mumble/__init__.py:44
msgid ""
"Mumble is an open source, low-latency, encrypted, high quality voice chat "
"software."
@@ -2842,7 +2835,7 @@ msgstr ""
"Mumble ist eine hochwertige quelloffene Software für Telefonie und Chat, mit "
"Verschlüsselung und geringer Latenz."
-#: plinth/modules/mumble/__init__.py:47
+#: plinth/modules/mumble/__init__.py:46
msgid ""
"You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your "
@@ -2897,7 +2890,7 @@ msgstr "Nicht verfügbar"
msgid "Networks"
msgstr "Netzwerke"
-#: plinth/modules/networks/__init__.py:142
+#: plinth/modules/networks/__init__.py:144
#, python-brace-format
msgid "Using DNSSEC on IPv{kind}"
msgstr "DNSSEC wird auf IPv{kind} verwendet"
@@ -3355,7 +3348,7 @@ msgstr "IPv4"
#: plinth/modules/networks/templates/connection_show.html:186
#: plinth/modules/networks/templates/connection_show.html:227
-#: plinth/modules/shadowsocks/forms.py:75
+#: plinth/modules/shadowsocks/forms.py:65
msgid "Method"
msgstr "Methode"
@@ -3489,15 +3482,15 @@ msgstr "Inaktiv"
msgid "Create..."
msgstr "Anlegen …"
-#: plinth/modules/openvpn/__init__.py:40
+#: plinth/modules/openvpn/__init__.py:39
msgid "OpenVPN"
msgstr "OpenVPN"
-#: plinth/modules/openvpn/__init__.py:42
+#: plinth/modules/openvpn/__init__.py:41
msgid "Virtual Private Network"
msgstr "Virtuelles Privates Netzwerk"
-#: plinth/modules/openvpn/__init__.py:46
+#: plinth/modules/openvpn/__init__.py:45
#, python-brace-format
msgid ""
"Virtual Private Network (VPN) is a technique for securely connecting two "
@@ -3514,7 +3507,7 @@ msgstr ""
"{box_name} erlangen. Sie können auch auf das Internet via {box_name} für "
"zusätzliche Sicherheit und Anonymität zugreifen."
-#: plinth/modules/openvpn/__init__.py:74
+#: plinth/modules/openvpn/__init__.py:75
#, python-brace-format
msgid ""
"Download Profile"
@@ -3595,11 +3588,11 @@ msgstr "OpenVPN Server läuft"
msgid "OpenVPN server is not running"
msgstr "OpenVPN Server läuft nicht"
-#: plinth/modules/openvpn/views.py:128
+#: plinth/modules/openvpn/views.py:126
msgid "Setup completed."
msgstr "Einrichtung beendet."
-#: plinth/modules/openvpn/views.py:130
+#: plinth/modules/openvpn/views.py:128
msgid "Setup failed."
msgstr "Einrichtung fehlgeschlagen."
@@ -3686,7 +3679,7 @@ msgstr ""
"Wählen Sie Ihren PageKite-Server aus. „pagekite.net“ festlegen, um den "
"Standardserver zu verwenden."
-#: plinth/modules/pagekite/forms.py:78 plinth/modules/shadowsocks/forms.py:64
+#: plinth/modules/pagekite/forms.py:78 plinth/modules/shadowsocks/forms.py:57
msgid "Server port"
msgstr "Serverport"
@@ -3903,31 +3896,31 @@ msgstr ""
msgid "Save Services"
msgstr "Dienste speichern"
-#: plinth/modules/pagekite/utils.py:53
+#: plinth/modules/pagekite/utils.py:57
msgid "Web Server (HTTP)"
msgstr "Webserver (HTTP)"
-#: plinth/modules/pagekite/utils.py:54
+#: plinth/modules/pagekite/utils.py:59
#, python-brace-format
msgid "Site will be available at http://{0}"
msgstr ""
"Webseite wird unter http://{0} verfügbar sein"
-#: plinth/modules/pagekite/utils.py:63
+#: plinth/modules/pagekite/utils.py:71
msgid "Web Server (HTTPS)"
msgstr "Webserver (HTTPS)"
-#: plinth/modules/pagekite/utils.py:64
+#: plinth/modules/pagekite/utils.py:73
#, python-brace-format
msgid "Site will be available at https://{0}"
msgstr ""
"Webseite wird unter https://{0} verfügbar sein"
-#: plinth/modules/pagekite/utils.py:73
+#: plinth/modules/pagekite/utils.py:85
msgid "Secure Shell (SSH)"
msgstr "Secure Shell (SSH)"
-#: plinth/modules/pagekite/utils.py:74
+#: plinth/modules/pagekite/utils.py:87
msgid ""
"See SSH client setup instructions"
@@ -3935,19 +3928,19 @@ msgstr ""
"Siehe SSH-Client Konfigurationsanweisungen"
-#: plinth/modules/pagekite/utils.py:276
+#: plinth/modules/pagekite/utils.py:288
msgid "Pagekite"
msgstr "Pagekite"
-#: plinth/modules/pagekite/views.py:39
+#: plinth/modules/pagekite/views.py:40
msgid "Standard Services"
msgstr "Standarddienste"
-#: plinth/modules/pagekite/views.py:42
+#: plinth/modules/pagekite/views.py:44
msgid "Custom Services"
msgstr "Spezielle Dienste"
-#: plinth/modules/pagekite/views.py:156
+#: plinth/modules/pagekite/views.py:158
msgid "Pagekite setup finished. The HTTP and HTTPS services are activated now."
msgstr ""
"Pagekite-Einrichtung beendet. Die HTTP- und HTTPS-Dienste sind jetzt aktiv."
@@ -4020,15 +4013,15 @@ msgstr ""
msgid "Shut Down Now"
msgstr "Jetzt herunterfahren"
-#: plinth/modules/privoxy/__init__.py:41
+#: plinth/modules/privoxy/__init__.py:42
msgid "Privoxy"
msgstr "Privoxy"
-#: plinth/modules/privoxy/__init__.py:43
+#: plinth/modules/privoxy/__init__.py:44
msgid "Web Proxy"
msgstr "Web Proxy"
-#: plinth/modules/privoxy/__init__.py:46
+#: plinth/modules/privoxy/__init__.py:47
msgid ""
"Privoxy is a non-caching web proxy with advanced filtering capabilities for "
"enhancing privacy, modifying web page data and HTTP headers, controlling "
@@ -4039,7 +4032,7 @@ msgstr ""
"kontrolliert den Zugang und entfernt Reklame und anderen abscheulichen "
"Internet-Müll. "
-#: plinth/modules/privoxy/__init__.py:51
+#: plinth/modules/privoxy/__init__.py:52
#, python-brace-format
msgid ""
"You can use Privoxy by modifying your browser proxy settings to your "
@@ -4054,20 +4047,20 @@ msgstr ""
"unter http://config.privoxy.org/ "
"oder http://p.p einsehen."
-#: plinth/modules/privoxy/__init__.py:157
+#: plinth/modules/privoxy/__init__.py:142
#, python-brace-format
msgid "Access {url} with proxy {proxy} on tcp{kind}"
msgstr "Zugang auf {url} über Proxy {proxy} auf TCP{kind}"
-#: plinth/modules/quassel/__init__.py:41 plinth/modules/quassel/manifest.py:25
+#: plinth/modules/quassel/__init__.py:40 plinth/modules/quassel/manifest.py:25
msgid "Quassel"
msgstr "Quassel"
-#: plinth/modules/quassel/__init__.py:43
+#: plinth/modules/quassel/__init__.py:42
msgid "IRC Client"
msgstr "IRC-Client"
-#: plinth/modules/quassel/__init__.py:47
+#: plinth/modules/quassel/__init__.py:46
#, python-brace-format
msgid ""
"Quassel is an IRC application that is split into two parts, a \"core\" and a "
@@ -4085,7 +4078,7 @@ msgstr ""
"mobilen App können verwendet werden, um sich mit ihm zu verbinden und oder "
"zu trennen."
-#: plinth/modules/quassel/__init__.py:54
+#: plinth/modules/quassel/__init__.py:53
msgid ""
"You can connect to your Quassel core on the default Quassel port 4242. "
"Clients to connect to Quassel from your ) und ihren Benutzernamen. Wenn Sie auf den Suchen-Knopf "
"drücken, werden die bestehenden Kalender und Adressbücher aufgelistet."
-#: plinth/modules/radicale/views.py:55
+#: plinth/modules/radicale/views.py:56
msgid "Access rights configuration updated"
msgstr "Konfiguration der Zugangsrechte aktualisiert"
-#: plinth/modules/repro/__init__.py:38
+#: plinth/modules/repro/__init__.py:40
msgid "repro"
msgstr "repro"
-#: plinth/modules/repro/__init__.py:40
+#: plinth/modules/repro/__init__.py:42
msgid "SIP Server"
msgstr "SIP-Server"
-#: plinth/modules/repro/__init__.py:43
+#: plinth/modules/repro/__init__.py:45
msgid ""
"repro provides various SIP services that a SIP softphone can utilize to "
"provide audio and video calls as well as presence and instant messaging. "
@@ -4232,7 +4225,7 @@ msgstr ""
"fungiert auch als Proxy, um SIP-Kommunikation, ähnlich wie E-Mail, zu "
"anderen Servern im Internet zu bündeln."
-#: plinth/modules/repro/__init__.py:49
+#: plinth/modules/repro/__init__.py:51
msgid ""
"To make SIP calls, a client application is needed. Available clients include "
"Jitsi (for computers) and CSipSimple (für Android-Telefone)."
-#: plinth/modules/repro/__init__.py:53
+#: plinth/modules/repro/__init__.py:55
msgid ""
"Note: Before using repro, domains and users will need to "
"be configured using the web-based "
@@ -4282,15 +4275,15 @@ msgstr ""
msgid "CSipSimple"
msgstr "CSipSimple"
-#: plinth/modules/restore/__init__.py:36 plinth/modules/restore/manifest.py:23
+#: plinth/modules/restore/__init__.py:37 plinth/modules/restore/manifest.py:23
msgid "reStore"
msgstr "reStore"
-#: plinth/modules/restore/__init__.py:38
+#: plinth/modules/restore/__init__.py:39
msgid "Unhosted Storage"
msgstr "Unhosted Speicher"
-#: plinth/modules/restore/__init__.py:42
+#: plinth/modules/restore/__init__.py:43
#, python-brace-format
msgid ""
"reStore is a server for unhosted web "
@@ -4306,7 +4299,7 @@ msgstr ""
"gespeichert werden. Mit reStore wird Ihre {box_name} Ihr unhosted-"
"Speicherdienst."
-#: plinth/modules/restore/__init__.py:48
+#: plinth/modules/restore/__init__.py:49
msgid ""
"You can create and edit accounts in the reStore web-"
"interface."
@@ -4314,16 +4307,16 @@ msgstr ""
"Sie können Benutzerkonten in der reStore-Weboberfläche"
"a> anlegen und bearbeiten."
-#: plinth/modules/roundcube/__init__.py:34
+#: plinth/modules/roundcube/__init__.py:35
#: plinth/modules/roundcube/manifest.py:24
msgid "Roundcube"
msgstr "Roundcube"
-#: plinth/modules/roundcube/__init__.py:36
+#: plinth/modules/roundcube/__init__.py:37
msgid "Email Client"
msgstr "E-Mail-Client"
-#: plinth/modules/roundcube/__init__.py:39
+#: plinth/modules/roundcube/__init__.py:40
msgid ""
"Roundcube webmail is a browser-based multilingual IMAP client with an "
"application-like user interface. It provides full functionality you expect "
@@ -4336,7 +4329,7 @@ msgstr ""
"zum Beispiel MIME-Unterstützung, Adressbuch, Ordnerverwaltung, Suche in den "
"Nachrichten und Rechtschreibprüfung."
-#: plinth/modules/roundcube/__init__.py:44
+#: plinth/modules/roundcube/__init__.py:45
msgid ""
"You can access Roundcube from /roundcube. Provide "
"the username and password of the email account you wish to access followed "
@@ -4350,7 +4343,7 @@ msgstr ""
"imap.example.com. Für IMAP über SSL (empfohlen) geben Sie im "
"Feld Server etwas ein wie imaps://imap.example.com."
-#: plinth/modules/roundcube/__init__.py:50
+#: plinth/modules/roundcube/__init__.py:51
msgid ""
"For Gmail, username will be your Gmail address, password will be your Google "
"account password and server will be imaps://imap.gmail.com. "
@@ -4426,12 +4419,12 @@ msgid "Allow this application to be used by anyone who can reach it."
msgstr ""
"Erlauben, diese Anwendung von jedem nutzen zu lassen, der sie erreichen kann."
-#: plinth/modules/searx/views.py:60 plinth/modules/searx/views.py:71
-#: plinth/modules/tor/views.py:139 plinth/modules/tor/views.py:168
+#: plinth/modules/searx/views.py:59 plinth/modules/searx/views.py:70
+#: plinth/modules/tor/views.py:141 plinth/modules/tor/views.py:168
msgid "Configuration updated."
msgstr "Konfiguration aktualisiert."
-#: plinth/modules/searx/views.py:63 plinth/modules/searx/views.py:74
+#: plinth/modules/searx/views.py:62 plinth/modules/searx/views.py:73
#: plinth/modules/tor/views.py:170
msgid "An error occurred during configuration."
msgstr "Ein Fehler ist bei der Konfiguration aufgetreten."
@@ -4495,15 +4488,15 @@ msgstr ""
"shaarli erreichar sein. Shaarli unterstützt nur ein Benutzerkonto; "
"dieses muss beim ersten Besuch der Seite eingerichtet werden."
-#: plinth/modules/shadowsocks/__init__.py:34
+#: plinth/modules/shadowsocks/__init__.py:35
msgid "Shadowsocks"
msgstr "Shadowsocks"
-#: plinth/modules/shadowsocks/__init__.py:36
+#: plinth/modules/shadowsocks/__init__.py:37
msgid "Socks5 Proxy"
msgstr "Socks5-Proxy"
-#: plinth/modules/shadowsocks/__init__.py:45
+#: plinth/modules/shadowsocks/__init__.py:44
msgid ""
"Shadowsocks is a lightweight and secure SOCKS5 proxy, designed to protect "
"your Internet traffic. It can be used to bypass Internet filtering and "
@@ -4513,7 +4506,7 @@ msgstr ""
"Internetverkehr zu schützen. Er kann verwendet werden, um Internetfilterung "
"und -zensur zu umgehen."
-#: plinth/modules/shadowsocks/__init__.py:49
+#: plinth/modules/shadowsocks/__init__.py:48
#, python-brace-format
msgid ""
"Your {box_name} can run a Shadowsocks client, that can connect to a "
@@ -4526,7 +4519,7 @@ msgstr ""
"betrieben. Lokale Geräte können sich mit diesem Proxy verbinden, und deren "
"Daten werden verschlüsselt über den Shadowsocks-Server weitergeleitet."
-#: plinth/modules/shadowsocks/__init__.py:54
+#: plinth/modules/shadowsocks/__init__.py:53
msgid ""
"To use Shadowsocks after setup, set the SOCKS5 proxy URL in your device, "
"browser or application to http://freedombox_address:1080/"
@@ -4535,30 +4528,30 @@ msgstr ""
"SOCKS5-Proxy in ihrem Gerät, Browser, oder Anwendung auf http://"
"Freedombox_Adresse:1080/"
+#: plinth/modules/shadowsocks/forms.py:28
#: plinth/modules/shadowsocks/forms.py:29
-#: plinth/modules/shadowsocks/forms.py:30
msgid "Recommended"
msgstr "Empfohlen"
-#: plinth/modules/shadowsocks/forms.py:60
+#: plinth/modules/shadowsocks/forms.py:54
msgid "Server"
msgstr "Server"
-#: plinth/modules/shadowsocks/forms.py:61
+#: plinth/modules/shadowsocks/forms.py:54
msgid "Server hostname or IP address"
msgstr "Servername oder IP-Adresse"
-#: plinth/modules/shadowsocks/forms.py:67
+#: plinth/modules/shadowsocks/forms.py:58
msgid "Server port number"
msgstr "Server-Portnummer"
-#: plinth/modules/shadowsocks/forms.py:71
+#: plinth/modules/shadowsocks/forms.py:61
msgid "Password used to encrypt data. Must match server password."
msgstr ""
"Passwort, um Daten zu verschlüsseln. Muss mit dem Server-Passwort "
"übereinstimmen."
-#: plinth/modules/shadowsocks/forms.py:77
+#: plinth/modules/shadowsocks/forms.py:66
msgid "Encryption method. Must match setting on server."
msgstr ""
"Verschlüsselungsverfahren. Muss mit der Einstellung des Servers "
@@ -4852,7 +4845,7 @@ msgstr "Speicherauszug erstellt."
msgid "Storage snapshots configuration updated"
msgstr "Konfiguration der Speicherauszüge aktualisiert"
-#: plinth/modules/snapshot/views.py:153 plinth/modules/tor/views.py:72
+#: plinth/modules/snapshot/views.py:153 plinth/modules/tor/views.py:73
#, python-brace-format
msgid "Action error: {0} [{1}] [{2}]"
msgstr "Aktionsfehler: {0} [{1}] [{2}]"
@@ -4885,11 +4878,11 @@ msgstr ""
msgid "Rollback to Snapshot"
msgstr "Zurücksetzen auf Speicherauszug"
-#: plinth/modules/ssh/__init__.py:39
+#: plinth/modules/ssh/__init__.py:40
msgid "Secure Shell (SSH) Server"
msgstr "Secure Shell (SSH) Server"
-#: plinth/modules/ssh/__init__.py:42
+#: plinth/modules/ssh/__init__.py:43
msgid ""
"A Secure Shell server uses the secure shell protocol to accept connections "
"from remote computers. An authorized remote computer can perform "
@@ -4909,11 +4902,11 @@ msgstr "Einmal-Anmeldung"
msgid "Login"
msgstr "Anmelden"
-#: plinth/modules/storage/__init__.py:36 plinth/modules/storage/views.py:53
+#: plinth/modules/storage/__init__.py:35 plinth/modules/storage/views.py:53
msgid "Storage"
msgstr "Speicher"
-#: plinth/modules/storage/__init__.py:44
+#: plinth/modules/storage/__init__.py:43
#, python-brace-format
msgid ""
"This module allows you to manage storage media attached to your {box_name}. "
@@ -4925,83 +4918,83 @@ msgstr ""
"Speichermedien einsehen, Wechselmedien einbinden und aushängen, die Root-"
"Partition erweitern usw."
-#: plinth/modules/storage/__init__.py:211
+#: plinth/modules/storage/__init__.py:213
#, python-brace-format
msgid "{disk_size:.1f} bytes"
msgstr "{disk_size:.1f} Bytes"
-#: plinth/modules/storage/__init__.py:215
+#: plinth/modules/storage/__init__.py:217
#, python-brace-format
msgid "{disk_size:.1f} KiB"
msgstr "{disk_size:.1f} KiB"
-#: plinth/modules/storage/__init__.py:219
+#: plinth/modules/storage/__init__.py:221
#, python-brace-format
msgid "{disk_size:.1f} MiB"
msgstr "{disk_size:.1f} MiB"
-#: plinth/modules/storage/__init__.py:223
+#: plinth/modules/storage/__init__.py:225
#, python-brace-format
msgid "{disk_size:.1f} GiB"
msgstr "{disk_size:.1f} GiB"
-#: plinth/modules/storage/__init__.py:226
+#: plinth/modules/storage/__init__.py:228
#, python-brace-format
msgid "{disk_size:.1f} TiB"
msgstr "{disk_size:.1f} TiB"
-#: plinth/modules/storage/__init__.py:233
+#: plinth/modules/storage/__init__.py:235
msgid "The operation failed."
msgstr "Der Vorgang schlug fehl."
-#: plinth/modules/storage/__init__.py:235
+#: plinth/modules/storage/__init__.py:237
msgid "The operation was cancelled."
msgstr "Der Vorgang wurde abgebrochen."
-#: plinth/modules/storage/__init__.py:237
+#: plinth/modules/storage/__init__.py:239
msgid "The device is already unmounting."
msgstr "Das Gerät wird bereits ausgehängt."
-#: plinth/modules/storage/__init__.py:239
+#: plinth/modules/storage/__init__.py:241
msgid "The operation is not supported due to missing driver/tool support."
msgstr ""
"Der Vorgang ist wegen fehlender Treiber-/Werkzeugunterstützung nicht möglich."
-#: plinth/modules/storage/__init__.py:242
+#: plinth/modules/storage/__init__.py:244
msgid "The operation timed out."
msgstr "Der Vorgang beendet wegen Zeitüberschreitung."
-#: plinth/modules/storage/__init__.py:244
+#: plinth/modules/storage/__init__.py:246
msgid "The operation would wake up a disk that is in a deep-sleep state."
msgstr ""
"Dieser Vorgang würde ein Gerät aufwecken, dass sich in einem Tiefschlaf-"
"Zustand befindet."
-#: plinth/modules/storage/__init__.py:247
+#: plinth/modules/storage/__init__.py:249
msgid "Attempting to unmount a device that is busy."
msgstr "Es wird versucht, ein Gerät auszuhängen, das beschäftigt ist."
-#: plinth/modules/storage/__init__.py:249
+#: plinth/modules/storage/__init__.py:251
msgid "The operation has already been cancelled."
msgstr "Dieser Vorgang wurde bereits abgebrochen."
-#: plinth/modules/storage/__init__.py:255
+#: plinth/modules/storage/__init__.py:257
msgid "Not authorized to perform the requested operation."
msgstr "Nicht autorisiert, um den gewünschten Vorgang auszuführen."
-#: plinth/modules/storage/__init__.py:257
+#: plinth/modules/storage/__init__.py:259
msgid "The device is already mounted."
msgstr "Dieses Gerät ist bereits eingebunden."
-#: plinth/modules/storage/__init__.py:259
+#: plinth/modules/storage/__init__.py:261
msgid "The device is not mounted."
msgstr "Das Gerät ist nicht eingebunden."
-#: plinth/modules/storage/__init__.py:262
+#: plinth/modules/storage/__init__.py:264
msgid "Not permitted to use the requested option."
msgstr "Die gewünschte Option ist nicht gestattet."
-#: plinth/modules/storage/__init__.py:265
+#: plinth/modules/storage/__init__.py:267
msgid "The device is mounted by another user."
msgstr "Das Gerät ist von einem anderen Benutzer eingebunden."
@@ -5086,16 +5079,16 @@ msgstr "Gerät kann sicher entfernt werden."
msgid "Error ejecting device: {error_message}"
msgstr "Fehler beim Auswerfen des Geräts: {error_message}"
-#: plinth/modules/syncthing/__init__.py:38
+#: plinth/modules/syncthing/__init__.py:40
#: plinth/modules/syncthing/manifest.py:28
msgid "Syncthing"
msgstr "Syncthing"
-#: plinth/modules/syncthing/__init__.py:40
+#: plinth/modules/syncthing/__init__.py:42
msgid "File Synchronization"
msgstr "Dateisynchronisation"
-#: plinth/modules/syncthing/__init__.py:43
+#: plinth/modules/syncthing/__init__.py:45
msgid ""
"Syncthing is an application to synchronize files across multiple devices, e."
"g. your desktop computer and mobile phone. Creation, modification, or "
@@ -5107,7 +5100,7 @@ msgstr ""
"Modifikation oder Löschen von Dateien auf einem Gerät wird automatisch auf "
"allen anderen Geräten reproduziert, auf denen Syncthing läuft."
-#: plinth/modules/syncthing/__init__.py:48
+#: plinth/modules/syncthing/__init__.py:50
#, python-brace-format
msgid ""
"Running Syncthing on {box_name} provides an extra synchronization point for "
@@ -5125,7 +5118,7 @@ msgstr ""
"mit unterschiedlichen Ordnern synchronisiert werden. Die Weboberfläche auf "
"{box_name} ist nur für Benutzer der „admin“-Gruppe zugänglich."
-#: plinth/modules/syncthing/__init__.py:55
+#: plinth/modules/syncthing/__init__.py:57
msgid ""
"When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile clients are also erhältlich"
"a>."
-#: plinth/modules/syncthing/__init__.py:62
+#: plinth/modules/syncthing/__init__.py:64
msgid "Administer Syncthing application"
msgstr "Syncthing-Anwendung einstellen"
-#: plinth/modules/tahoe/__init__.py:41
+#: plinth/modules/tahoe/__init__.py:43
msgid "Tahoe-LAFS"
msgstr "Tahoe-LAFS"
-#: plinth/modules/tahoe/__init__.py:43
+#: plinth/modules/tahoe/__init__.py:45
msgid "Distributed File Storage"
msgstr "Verteilter Dateispeicher"
-#: plinth/modules/tahoe/__init__.py:107
+#: plinth/modules/tahoe/__init__.py:119
msgid ""
"Tahoe-LAFS is a decentralized secure file storage system. It uses provider "
"independent security to store files over a distributed network of storage "
@@ -5161,7 +5154,7 @@ msgstr ""
"Knoten ausfallen, können Ihre Dateien von den restlichen Knoten "
"wiederhergestellt werden."
-#: plinth/modules/tahoe/__init__.py:112
+#: plinth/modules/tahoe/__init__.py:124
#, python-brace-format
msgid ""
"This {box_name} hosts a storage node and an introducer by default. "
@@ -5212,11 +5205,11 @@ msgstr "Verbundene Vermittler"
msgid "Remove"
msgstr "Entfernen"
-#: plinth/modules/tor/__init__.py:43
+#: plinth/modules/tor/__init__.py:46
msgid "Tor"
msgstr "Tor"
-#: plinth/modules/tor/__init__.py:48
+#: plinth/modules/tor/__init__.py:51
msgid ""
"Tor is an anonymous communication system. You can learn more about it from "
"the Tor Project website. For "
@@ -5230,40 +5223,36 @@ msgstr ""
"Sie den Tor Browser verwenden."
-#: plinth/modules/tor/__init__.py:93
+#: plinth/modules/tor/__init__.py:80
msgid "Tor Socks Proxy"
msgstr "Tor-Socks-Proxy"
-#: plinth/modules/tor/__init__.py:99 plinth/modules/tor/__init__.py:146
+#: plinth/modules/tor/__init__.py:84
msgid "Tor Bridge Relay"
msgstr "Tor-Bridge-Relay"
-#: plinth/modules/tor/__init__.py:120 plinth/modules/tor/__init__.py:188
+#: plinth/modules/tor/__init__.py:122 plinth/modules/tor/__init__.py:150
msgid "Tor Hidden Service"
msgstr "Tor versteckte Dienste"
-#: plinth/modules/tor/__init__.py:136
-msgid "Tor Anonymity Network"
-msgstr "Tor-Anonymisierungsnetzwerk"
-
-#: plinth/modules/tor/__init__.py:208
+#: plinth/modules/tor/__init__.py:170
msgid "Tor relay port available"
msgstr "Tor-Relay-Port ist verfügbar"
-#: plinth/modules/tor/__init__.py:218
+#: plinth/modules/tor/__init__.py:180
msgid "Obfs3 transport registered"
msgstr "Obfs3-Transport registriert"
-#: plinth/modules/tor/__init__.py:226
+#: plinth/modules/tor/__init__.py:188
msgid "Obfs4 transport registered"
msgstr "Obfs4-Transport registriert"
-#: plinth/modules/tor/__init__.py:265
+#: plinth/modules/tor/__init__.py:227
#, python-brace-format
msgid "Access URL {url} on tcp{kind} via Tor"
msgstr "Zugangs-URL {url} auf TCP{kind} über Tor"
-#: plinth/modules/tor/__init__.py:276
+#: plinth/modules/tor/__init__.py:238
#, python-brace-format
msgid "Confirm Tor usage at {url} on tcp{kind}"
msgstr "Tor-Nutzung auf {url} über TCP{kind} bestätigen"
@@ -5425,12 +5414,12 @@ msgstr "SOCKS"
msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050."
msgstr "Tor SOCKS-Port ist auf Ihrer %(box_name)s auf TCP port 9050 verfügbar."
-#: plinth/modules/transmission/__init__.py:39
+#: plinth/modules/transmission/__init__.py:41
#: plinth/modules/transmission/manifest.py:24
msgid "Transmission"
msgstr "Transmission"
-#: plinth/modules/transmission/__init__.py:44
+#: plinth/modules/transmission/__init__.py:46
msgid ""
"BitTorrent is a peer-to-peer file sharing protocol. Transmission daemon "
"handles Bitorrent file sharing. Note that BitTorrent is not anonymous."
@@ -5439,7 +5428,7 @@ msgstr ""
"Transmission-Daemon verarbeitet BitTorrent-Dateien. Es gilt zu beachten: "
"BitTorrent ist nicht anonym!"
-#: plinth/modules/transmission/__init__.py:47
+#: plinth/modules/transmission/__init__.py:49
msgid ""
"Access the web interface at /transmission."
msgstr ""
@@ -5460,15 +5449,15 @@ msgstr ""
"verändert wird, muss sicher gestellt sein, dass der Ordner existiert und der "
"Benutzer „debian-transmission“ Schreibrechte für diesen Ordner besitzt."
-#: plinth/modules/ttrss/__init__.py:41 plinth/modules/ttrss/manifest.py:34
+#: plinth/modules/ttrss/__init__.py:43 plinth/modules/ttrss/manifest.py:34
msgid "Tiny Tiny RSS"
msgstr "Tiny Tiny RSS"
-#: plinth/modules/ttrss/__init__.py:43
+#: plinth/modules/ttrss/__init__.py:45
msgid "News Feed Reader"
msgstr "Feedreader"
-#: plinth/modules/ttrss/__init__.py:46
+#: plinth/modules/ttrss/__init__.py:48
msgid ""
"Tiny Tiny RSS is a news feed (RSS/Atom) reader and aggregator, designed to "
"allow reading news from any location, while feeling as close to a real "
@@ -5477,7 +5466,7 @@ msgstr ""
"Tiny Tiny RSS ist ein Feedreader (RSS/Atom), der von jedem Browser aus "
"genutzt werden kann, sich aber sehr wie eine normale Anwendung anfühlt."
-#: plinth/modules/ttrss/__init__.py:50
+#: plinth/modules/ttrss/__init__.py:52
#, python-brace-format
msgid ""
"When enabled, Tiny Tiny RSS will be available from /tt-"
@@ -5488,7 +5477,7 @@ msgstr ""
"rss\">/tt-rss zur Verfügung. Zugriff hat jeder mit einem {box_name}-Benutzerkonto."
-#: plinth/modules/ttrss/__init__.py:55
+#: plinth/modules/ttrss/__init__.py:57
msgid ""
"When using a mobile or desktop application for Tiny Tiny RSS, use the URL /tt-rss-app for connecting."
@@ -5496,7 +5485,7 @@ msgstr ""
"Um Tiny Tiny RSS mit einer Anwendung auf ihrem Handy oder Computer zu "
"nutzen, tragen Sie die URL /tt-rss-app ein."
-#: plinth/modules/ttrss/__init__.py:61
+#: plinth/modules/ttrss/__init__.py:63
msgid "Read and subscribe to news feeds"
msgstr "Lesen und Abonnieren von Neuigkeiten-Feeds"
@@ -5504,11 +5493,11 @@ msgstr "Lesen und Abonnieren von Neuigkeiten-Feeds"
msgid "Tiny Tiny RSS (Fork)"
msgstr "Tiny Tiny RSS (Fork)"
-#: plinth/modules/upgrades/__init__.py:36 plinth/templates/setup.html:101
+#: plinth/modules/upgrades/__init__.py:35 plinth/templates/setup.html:101
msgid "Update"
msgstr "Aktualisieren"
-#: plinth/modules/upgrades/__init__.py:39
+#: plinth/modules/upgrades/__init__.py:38
msgid "Check for and apply the latest software and security updates."
msgstr ""
"Prüfen Sie die neuesten Software- und Sicherheitsupdates und installieren "
@@ -5550,32 +5539,32 @@ msgstr "Umschalten der letzten Update-Protokolle"
msgid "Auto-update"
msgstr "Automatisches Update"
-#: plinth/modules/upgrades/views.py:39
+#: plinth/modules/upgrades/views.py:40
msgid "Manual update"
msgstr "Manuelles Update"
-#: plinth/modules/upgrades/views.py:78
+#: plinth/modules/upgrades/views.py:79
#, python-brace-format
msgid "Error when configuring unattended-upgrades: {error}"
msgstr "Fehler beim Konfigurieren von automatischen Aktualisierungen: {error}"
-#: plinth/modules/upgrades/views.py:82
+#: plinth/modules/upgrades/views.py:83
msgid "Automatic upgrades enabled"
msgstr "Automatische Systemaktualisierung aktivieren"
-#: plinth/modules/upgrades/views.py:85
+#: plinth/modules/upgrades/views.py:86
msgid "Automatic upgrades disabled"
msgstr "Automatische Aktualisierungen ausgeschaltet"
-#: plinth/modules/upgrades/views.py:87
+#: plinth/modules/upgrades/views.py:88
msgid "Settings unchanged"
msgstr "Einstellungen unverändert"
-#: plinth/modules/upgrades/views.py:113
+#: plinth/modules/upgrades/views.py:114
msgid "Upgrade process started."
msgstr "Aktualisierung gestartet."
-#: plinth/modules/upgrades/views.py:116
+#: plinth/modules/upgrades/views.py:117
msgid "Starting upgrade failed."
msgstr "Starten der Aktualisierung fehlgeschlagen."
@@ -5583,7 +5572,7 @@ msgstr "Starten der Aktualisierung fehlgeschlagen."
msgid "Users and Groups"
msgstr "Benutzer und Gruppen"
-#: plinth/modules/users/__init__.py:106
+#: plinth/modules/users/__init__.py:108
#, python-brace-format
msgid "Check LDAP entry \"{search_item}\""
msgstr "LDAP-Eintrag „{search_item}“ prüfen"
@@ -5811,15 +5800,6 @@ msgstr "Medienwechsel"
msgid "configuration file: {file}"
msgstr "Konfigurationsdatei: {file}"
-#: plinth/service.py:140
-msgid "Web Server over Secure Socket Layer"
-msgstr "Webserver mit Verschlüsselung"
-
-#: plinth/service.py:145
-#, python-brace-format
-msgid "{box_name} Web Interface (Plinth)"
-msgstr "{box_name} Weboberfläche (Plinth)"
-
#: plinth/templates/403.html:25
msgid "403 Forbidden"
msgstr "403 Unzulässig"
@@ -6042,17 +6022,17 @@ msgstr "IRC-Chatraum"
msgid "Mailing list"
msgstr "Mailingliste"
-#: plinth/templates/internal-zone.html:25
+#: plinth/templates/internal-zone.html:26
#, python-format
msgid "%(service_name)s is available only on internal networks."
msgstr ""
"Dienst %(service_name)s ist nur im internen Netzwerk erreichbar."
-#: plinth/templates/internal-zone.html:31
+#: plinth/templates/internal-zone.html:32
msgid "Currently there are no network interfaces configured as internal."
msgstr "Derzeit ist keine Netzwerkschnittstelle als intern konfiguriert."
-#: plinth/templates/internal-zone.html:33
+#: plinth/templates/internal-zone.html:34
#, python-format
msgid ""
"Currently the following network interfaces are configured as internal: "
@@ -6122,10 +6102,24 @@ msgstr "%(package_names)s wird installiert: %(status)s"
msgid "%(percentage)s%% complete"
msgstr "%(percentage)s %% abgeschlossen"
+#: plinth/views.py:178
+msgid "Application enabled"
+msgstr "Anwendung aktiviert"
+
+#: plinth/views.py:181
+msgid "Application disabled"
+msgstr "Anwendung deaktiviert"
+
#: plinth/web_framework.py:186
msgid "Gujarati"
msgstr "Gujarati"
+#~ msgid "Tor Anonymity Network"
+#~ msgstr "Tor-Anonymisierungsnetzwerk"
+
+#~ msgid "Web Server over Secure Socket Layer"
+#~ msgstr "Webserver mit Verschlüsselung"
+
#~ msgid "Current status:"
#~ msgstr "Aktueller Status:"
diff --git a/plinth/locale/django.pot b/plinth/locale/django.pot
index 4001ff70a..fe366136c 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: 2019-06-10 19:02-0400\n"
+"POT-Creation-Date: 2019-06-24 19:48-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -47,7 +47,7 @@ msgstr ""
msgid "Cannot connect to {host}:{port}"
msgstr ""
-#: plinth/context_processors.py:37 plinth/views.py:60
+#: plinth/context_processors.py:37 plinth/views.py:61
msgid "FreedomBox"
msgstr ""
@@ -91,11 +91,22 @@ msgstr ""
msgid "Error installing application: {error}"
msgstr ""
-#: plinth/modules/avahi/__init__.py:42
+#: plinth/modules/apache/__init__.py:47
+#: plinth/modules/monkeysphere/templates/monkeysphere.html:88
+#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:60
+msgid "Web Server"
+msgstr ""
+
+#: plinth/modules/apache/__init__.py:54
+#, python-brace-format
+msgid "{box_name} Web Interface (Plinth)"
+msgstr ""
+
+#: plinth/modules/avahi/__init__.py:43
msgid "Service Discovery"
msgstr ""
-#: plinth/modules/avahi/__init__.py:46
+#: plinth/modules/avahi/__init__.py:47
#, python-brace-format
msgid ""
"Service discovery allows other devices on the network to discover your "
@@ -114,7 +125,7 @@ msgstr ""
msgid "Backups allows creating and managing backup archives."
msgstr ""
-#: plinth/modules/backups/__init__.py:51
+#: plinth/modules/backups/__init__.py:49
#, python-brace-format
msgid "{box_name} storage"
msgstr ""
@@ -398,21 +409,21 @@ msgstr ""
msgid "Mounting failed"
msgstr ""
-#: plinth/modules/bind/__init__.py:35
+#: plinth/modules/bind/__init__.py:36
msgid "BIND"
msgstr ""
-#: plinth/modules/bind/__init__.py:37
+#: plinth/modules/bind/__init__.py:38
msgid "Domain Name Server"
msgstr ""
-#: plinth/modules/bind/__init__.py:46
+#: plinth/modules/bind/__init__.py:45
msgid ""
"BIND enables you to publish your Domain Name System (DNS) information on the "
"Internet, and to resolve DNS queries for your user devices on your network."
msgstr ""
-#: plinth/modules/bind/__init__.py:50
+#: plinth/modules/bind/__init__.py:49
#, python-brace-format
msgid ""
"Currently, on {box_name}, BIND is only used to resolve DNS queries for other "
@@ -437,21 +448,21 @@ msgstr ""
msgid "Enable Domain Name System Security Extensions"
msgstr ""
-#: plinth/modules/bind/views.py:58 plinth/modules/dynamicdns/views.py:170
-#: plinth/modules/openvpn/views.py:148 plinth/modules/shadowsocks/views.py:80
+#: plinth/modules/bind/views.py:59 plinth/modules/dynamicdns/views.py:172
+#: plinth/modules/openvpn/views.py:146 plinth/modules/shadowsocks/views.py:79
#: plinth/modules/transmission/views.py:74
msgid "Configuration updated"
msgstr ""
-#: plinth/modules/cockpit/__init__.py:40 plinth/modules/cockpit/manifest.py:27
+#: plinth/modules/cockpit/__init__.py:42 plinth/modules/cockpit/manifest.py:27
msgid "Cockpit"
msgstr ""
-#: plinth/modules/cockpit/__init__.py:42
+#: plinth/modules/cockpit/__init__.py:44
msgid "Server Administration"
msgstr ""
-#: plinth/modules/cockpit/__init__.py:46
+#: plinth/modules/cockpit/__init__.py:48
#, python-brace-format
msgid ""
"Cockpit is a server manager that makes it easy to administer GNU/Linux "
@@ -460,7 +471,7 @@ msgid ""
"console operations is also available."
msgstr ""
-#: plinth/modules/cockpit/__init__.py:52
+#: plinth/modules/cockpit/__init__.py:54
#, python-brace-format
msgid ""
"When enabled, Cockpit will be available from /"
@@ -468,14 +479,14 @@ msgid ""
"\"{users_url}\">any user on {box_name} belonging to the admin group."
msgstr ""
-#: plinth/modules/config/__init__.py:59 plinth/modules/dynamicdns/views.py:44
+#: plinth/modules/config/__init__.py:61 plinth/modules/dynamicdns/views.py:45
#: plinth/modules/i2p/views.py:31 plinth/modules/ikiwiki/views.py:35
#: plinth/modules/pagekite/views.py:36 plinth/modules/snapshot/views.py:40
#: plinth/modules/tahoe/templates/tahoe-pre-setup.html:39
msgid "Configure"
msgstr ""
-#: plinth/modules/config/__init__.py:164 plinth/modules/config/forms.py:76
+#: plinth/modules/config/__init__.py:166 plinth/modules/config/forms.py:76
#: plinth/modules/config/views.py:171 plinth/modules/dynamicdns/forms.py:111
msgid "Domain Name"
msgstr ""
@@ -547,8 +558,8 @@ msgstr ""
#: plinth/modules/power/templates/power_restart.html:42
#: plinth/modules/power/templates/power_shutdown.html:41
#: plinth/modules/storage/templates/storage.html:48
-#: plinth/templates/service-subsubmenu.html:47 plinth/templates/service.html:42
-#: plinth/templates/setup.html:48 plinth/templates/simple_service.html:38
+#: plinth/templates/app-subsubmenu.html:47 plinth/templates/app.html:42
+#: plinth/templates/setup.html:48 plinth/templates/simple_app.html:38
msgid "Learn more..."
msgstr ""
@@ -596,22 +607,22 @@ msgstr ""
msgid "Hiding advanced apps and features"
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:38
+#: plinth/modules/coquelicot/__init__.py:40
msgid "Coquelicot"
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:40
+#: plinth/modules/coquelicot/__init__.py:42
msgid "File Sharing"
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:43
+#: plinth/modules/coquelicot/__init__.py:45
msgid ""
"Coquelicot is a “one-click” file sharing web application with a focus on "
"protecting users’ privacy. It is best used for quickly sharing a single "
"file. "
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:46
+#: plinth/modules/coquelicot/__init__.py:48
msgid ""
"This Coquelicot instance is exposed to the public but requires an upload "
"password to prevent unauthorized access. You can set a new upload password "
@@ -641,19 +652,19 @@ msgstr ""
msgid "coquelicot"
msgstr ""
-#: plinth/modules/coquelicot/views.py:57
+#: plinth/modules/coquelicot/views.py:59
msgid "Upload password updated"
msgstr ""
-#: plinth/modules/coquelicot/views.py:60
+#: plinth/modules/coquelicot/views.py:62
msgid "Failed to update upload password"
msgstr ""
-#: plinth/modules/coquelicot/views.py:68
+#: plinth/modules/coquelicot/views.py:70
msgid "Maximum file size updated"
msgstr ""
-#: plinth/modules/coquelicot/views.py:71
+#: plinth/modules/coquelicot/views.py:73
msgid "Failed to update maximum file size"
msgstr ""
@@ -667,21 +678,21 @@ msgid ""
"synchronization with servers on the Internet."
msgstr ""
-#: plinth/modules/datetime/__init__.py:107
+#: plinth/modules/datetime/__init__.py:99
msgid "Time synchronized to NTP server"
msgstr ""
-#: plinth/modules/datetime/forms.py:36
+#: plinth/modules/datetime/forms.py:35
msgid "Time Zone"
msgstr ""
-#: plinth/modules/datetime/forms.py:37
+#: plinth/modules/datetime/forms.py:36
msgid ""
"Set your time zone to get accurate timestamps. This will set the system-wide "
"time zone."
msgstr ""
-#: plinth/modules/datetime/forms.py:49
+#: plinth/modules/datetime/forms.py:47
msgid "-- no time zone set --"
msgstr ""
@@ -699,7 +710,7 @@ msgid "Deluge"
msgstr ""
#: plinth/modules/deluge/__init__.py:41
-#: plinth/modules/transmission/__init__.py:41
+#: plinth/modules/transmission/__init__.py:43
msgid "BitTorrent Web Client"
msgstr ""
@@ -715,7 +726,7 @@ msgid ""
msgstr ""
#: plinth/modules/deluge/__init__.py:51
-#: plinth/modules/transmission/__init__.py:54
+#: plinth/modules/transmission/__init__.py:56
msgid "Download files using BitTorrent applications"
msgstr ""
@@ -777,12 +788,12 @@ msgstr ""
msgid "Result"
msgstr ""
-#: plinth/modules/diaspora/__init__.py:52
+#: plinth/modules/diaspora/__init__.py:54
#: plinth/modules/diaspora/manifest.py:38
msgid "diaspora*"
msgstr ""
-#: plinth/modules/diaspora/__init__.py:54
+#: plinth/modules/diaspora/__init__.py:56
msgid "Federated Social Network"
msgstr ""
@@ -829,22 +840,22 @@ msgstr ""
#: plinth/modules/tahoe/templates/tahoe-pre-setup.html:58
#: plinth/modules/tor/templates/tor.html:96
#: plinth/modules/upgrades/templates/upgrades_configure.html:32
-#: plinth/templates/service.html:89
+#: plinth/templates/app.html:89
msgid "Update setup"
msgstr ""
-#: plinth/modules/diaspora/views.py:97 plinth/modules/ejabberd/views.py:64
-#: plinth/modules/matrixsynapse/views.py:107
-#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:150
-#: plinth/modules/tor/views.py:146 plinth/views.py:160
+#: plinth/modules/diaspora/views.py:94 plinth/modules/ejabberd/views.py:65
+#: plinth/modules/matrixsynapse/views.py:108
+#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:148
+#: plinth/modules/tor/views.py:148 plinth/views.py:174
msgid "Setting unchanged"
msgstr ""
-#: plinth/modules/diaspora/views.py:101
+#: plinth/modules/diaspora/views.py:98
msgid "User registrations enabled"
msgstr ""
-#: plinth/modules/diaspora/views.py:105
+#: plinth/modules/diaspora/views.py:102
msgid "User registrations disabled"
msgstr ""
@@ -871,8 +882,8 @@ msgid ""
"IP address."
msgstr ""
-#: plinth/modules/dynamicdns/__init__.py:85
-#: plinth/modules/dynamicdns/views.py:167
+#: plinth/modules/dynamicdns/__init__.py:87
+#: plinth/modules/dynamicdns/views.py:169
msgid "Dynamic DNS Service"
msgstr ""
@@ -961,7 +972,7 @@ msgid "Username"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:121 plinth/modules/networks/forms.py:235
-#: plinth/modules/shadowsocks/forms.py:70
+#: plinth/modules/shadowsocks/forms.py:61
msgid "Password"
msgstr ""
@@ -1039,45 +1050,45 @@ msgstr ""
msgid "Last update"
msgstr ""
-#: plinth/modules/dynamicdns/views.py:41 plinth/modules/help/help.py:57
+#: plinth/modules/dynamicdns/views.py:41 plinth/modules/help/help.py:59
msgid "About"
msgstr ""
-#: plinth/modules/dynamicdns/views.py:47
+#: plinth/modules/dynamicdns/views.py:49
#: plinth/modules/firewall/templates/firewall.html:25
#: plinth/modules/firewall/templates/firewall.html:45
#: plinth/modules/i2p/templates/i2p.html:27
#: plinth/modules/networks/templates/connection_show.html:261
#: plinth/modules/openvpn/templates/openvpn.html:71
#: plinth/modules/tor/templates/tor.html:40
-#: plinth/modules/tor/templates/tor.html:68 plinth/templates/service.html:51
+#: plinth/modules/tor/templates/tor.html:68 plinth/templates/app.html:51
msgid "Status"
msgstr ""
-#: plinth/modules/dynamicdns/views.py:78
+#: plinth/modules/dynamicdns/views.py:80
msgid "Configure Dynamic DNS"
msgstr ""
-#: plinth/modules/dynamicdns/views.py:103
+#: plinth/modules/dynamicdns/views.py:105
msgid "Dynamic DNS Status"
msgstr ""
-#: plinth/modules/ejabberd/__init__.py:43
+#: plinth/modules/ejabberd/__init__.py:45
msgid "ejabberd"
msgstr ""
-#: plinth/modules/ejabberd/__init__.py:45
-#: plinth/modules/matrixsynapse/__init__.py:43
+#: plinth/modules/ejabberd/__init__.py:47
+#: plinth/modules/matrixsynapse/__init__.py:45
msgid "Chat Server"
msgstr ""
-#: plinth/modules/ejabberd/__init__.py:48
+#: plinth/modules/ejabberd/__init__.py:50
msgid ""
"XMPP is an open and standardized communication protocol. Here you can run "
"and configure your XMPP server, called ejabberd."
msgstr ""
-#: plinth/modules/ejabberd/__init__.py:51
+#: plinth/modules/ejabberd/__init__.py:53
#, python-brace-format
msgid ""
"To actually communicate, you can use the web client"
@@ -1086,11 +1097,11 @@ msgid ""
"any user with a {box_name} login."
msgstr ""
-#: plinth/modules/ejabberd/forms.py:33
+#: plinth/modules/ejabberd/forms.py:32
msgid "Enable Message Archive Management"
msgstr ""
-#: plinth/modules/ejabberd/forms.py:36
+#: plinth/modules/ejabberd/forms.py:34
#, python-brace-format
msgid ""
"If enabled, your {box_name} will store chat message histories. This allows "
@@ -1158,35 +1169,23 @@ msgstr ""
#: plinth/modules/openvpn/templates/openvpn.html:123
#: plinth/modules/snapshot/templates/snapshot.html:27
#: plinth/modules/tahoe/templates/tahoe-post-setup.html:43
-#: plinth/modules/tor/templates/tor.html:88 plinth/templates/service.html:81
+#: plinth/modules/tor/templates/tor.html:88 plinth/templates/app.html:81
msgid "Configuration"
msgstr ""
-#: plinth/modules/ejabberd/views.py:68
-#: plinth/modules/matrixsynapse/views.py:111
-#: plinth/modules/mediawiki/views.py:79 plinth/views.py:164
-msgid "Application enabled"
-msgstr ""
-
-#: plinth/modules/ejabberd/views.py:71
-#: plinth/modules/matrixsynapse/views.py:114
-#: plinth/modules/mediawiki/views.py:82 plinth/views.py:167
-msgid "Application disabled"
-msgstr ""
-
-#: plinth/modules/ejabberd/views.py:78
+#: plinth/modules/ejabberd/views.py:77
msgid "Message Archive Management enabled"
msgstr ""
-#: plinth/modules/ejabberd/views.py:82
+#: plinth/modules/ejabberd/views.py:81
msgid "Message Archive Management disabled"
msgstr ""
-#: plinth/modules/firewall/__init__.py:40
+#: plinth/modules/firewall/__init__.py:36
msgid "Firewall"
msgstr ""
-#: plinth/modules/firewall/__init__.py:44
+#: plinth/modules/firewall/__init__.py:40
#, python-brace-format
msgid ""
"Firewall is a security system that controls the incoming and outgoing "
@@ -1292,29 +1291,29 @@ msgstr ""
msgid "Setup Complete"
msgstr ""
-#: plinth/modules/help/help.py:44
+#: plinth/modules/help/help.py:46
msgid "Documentation"
msgstr ""
-#: plinth/modules/help/help.py:48 plinth/modules/networks/forms.py:68
+#: plinth/modules/help/help.py:50 plinth/modules/networks/forms.py:68
#: plinth/modules/networks/forms.py:108 plinth/templates/index.html:135
msgid "Manual"
msgstr ""
-#: plinth/modules/help/help.py:53
+#: plinth/modules/help/help.py:55
msgid "Download Manual"
msgstr ""
-#: plinth/modules/help/help.py:73
+#: plinth/modules/help/help.py:75
msgid "Documentation and FAQ"
msgstr ""
-#: plinth/modules/help/help.py:81
+#: plinth/modules/help/help.py:83
#, python-brace-format
msgid "About {box_name}"
msgstr ""
-#: plinth/modules/help/help.py:102
+#: plinth/modules/help/help.py:104
#, python-brace-format
msgid "{box_name} Manual"
msgstr ""
@@ -1432,15 +1431,15 @@ msgid ""
"before submitting the bug report."
msgstr ""
-#: plinth/modules/i2p/__init__.py:40 plinth/modules/i2p/manifest.py:31
+#: plinth/modules/i2p/__init__.py:42 plinth/modules/i2p/manifest.py:31
msgid "I2P"
msgstr ""
-#: plinth/modules/i2p/__init__.py:42 plinth/modules/tor/__init__.py:45
+#: plinth/modules/i2p/__init__.py:44 plinth/modules/tor/__init__.py:48
msgid "Anonymity Network"
msgstr ""
-#: plinth/modules/i2p/__init__.py:45
+#: plinth/modules/i2p/__init__.py:47
msgid ""
"The Invisible Internet Project is an anonymous network layer intended to "
"protect communication from censorship and surveillance. I2P provides "
@@ -1448,33 +1447,33 @@ msgid ""
"distributed around the world."
msgstr ""
-#: plinth/modules/i2p/__init__.py:49
+#: plinth/modules/i2p/__init__.py:51
msgid ""
"Find more information about I2P on their project homepage."
msgstr ""
-#: plinth/modules/i2p/__init__.py:51
+#: plinth/modules/i2p/__init__.py:53
msgid ""
"The first visit to the provided web interface will initiate the "
"configuration process."
msgstr ""
-#: plinth/modules/i2p/__init__.py:57
+#: plinth/modules/i2p/__init__.py:59
msgid "Manage I2P application"
msgstr ""
-#: plinth/modules/i2p/templates/i2p.html:32 plinth/templates/service.html:56
+#: plinth/modules/i2p/templates/i2p.html:32 plinth/templates/app.html:56
#, python-format
msgid "Service %(service_name)s is running."
msgstr ""
-#: plinth/modules/i2p/templates/i2p.html:37 plinth/templates/service.html:61
+#: plinth/modules/i2p/templates/i2p.html:37 plinth/templates/app.html:61
#, python-format
msgid "Service %(service_name)s is not running."
msgstr ""
-#: plinth/modules/i2p/templates/i2p_service.html:13
+#: plinth/modules/i2p/templates/i2p_service.html:31
#: plinth/templates/clients.html:51
msgid "Launch"
msgstr ""
@@ -1487,43 +1486,43 @@ msgstr ""
msgid "Anonymous torrents"
msgstr ""
-#: plinth/modules/i2p/views.py:86
+#: plinth/modules/i2p/views.py:88
msgid "I2P Proxies and Tunnels"
msgstr ""
-#: plinth/modules/i2p/views.py:89
+#: plinth/modules/i2p/views.py:91
msgid ""
"I2P lets you browse the Internet and hidden services (eepsites) anonymously. "
"For this, your browser, preferably a Tor Browser, needs to be configured for "
"a proxy."
msgstr ""
-#: plinth/modules/i2p/views.py:92
+#: plinth/modules/i2p/views.py:94
msgid ""
"By default HTTP, HTTPS and IRC proxies are available. Additional proxies and "
"tunnels may be configured using the tunnel configuration interface."
msgstr ""
-#: plinth/modules/i2p/views.py:101
+#: plinth/modules/i2p/views.py:103
msgid "Anonymous Torrents"
msgstr ""
-#: plinth/modules/i2p/views.py:104
+#: plinth/modules/i2p/views.py:106
msgid ""
"I2P provides an application to download files anonymously in a peer-to-peer "
"network. Download files by adding torrents or create a new torrent to share "
"a file."
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:42 plinth/modules/ikiwiki/manifest.py:24
+#: plinth/modules/ikiwiki/__init__.py:41 plinth/modules/ikiwiki/manifest.py:24
msgid "ikiwiki"
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:44
+#: plinth/modules/ikiwiki/__init__.py:43
msgid "Wiki and Blog"
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:47
+#: plinth/modules/ikiwiki/__init__.py:46
msgid ""
"ikiwiki is a simple wiki and blog application. It supports several "
"lightweight markup languages, including Markdown, and common blogging "
@@ -1531,7 +1530,7 @@ msgid ""
"wikis will be available at /ikiwiki (once created)."
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:53
+#: plinth/modules/ikiwiki/__init__.py:52
#, python-brace-format
msgid ""
"Only {box_name} users in the admin group can create and "
@@ -1540,7 +1539,7 @@ msgid ""
"Configuration you can change these permissions or add new users."
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:63
+#: plinth/modules/ikiwiki/__init__.py:62
msgid "View and edit wiki applications"
msgstr ""
@@ -1608,49 +1607,49 @@ msgstr ""
msgid "Manage"
msgstr ""
-#: plinth/modules/ikiwiki/views.py:121
+#: plinth/modules/ikiwiki/views.py:124
#, python-brace-format
msgid "Created wiki {name}."
msgstr ""
-#: plinth/modules/ikiwiki/views.py:124
+#: plinth/modules/ikiwiki/views.py:127
#, python-brace-format
msgid "Could not create wiki: {error}"
msgstr ""
-#: plinth/modules/ikiwiki/views.py:134
+#: plinth/modules/ikiwiki/views.py:137
#, python-brace-format
msgid "Created blog {name}."
msgstr ""
-#: plinth/modules/ikiwiki/views.py:137
+#: plinth/modules/ikiwiki/views.py:140
#, python-brace-format
msgid "Could not create blog: {error}"
msgstr ""
-#: plinth/modules/ikiwiki/views.py:150
+#: plinth/modules/ikiwiki/views.py:153
#, python-brace-format
msgid "{name} deleted."
msgstr ""
-#: plinth/modules/ikiwiki/views.py:154
+#: plinth/modules/ikiwiki/views.py:157
#, python-brace-format
msgid "Could not delete {name}: {error}"
msgstr ""
-#: plinth/modules/infinoted/__init__.py:41
+#: plinth/modules/infinoted/__init__.py:40
msgid "infinoted"
msgstr ""
-#: plinth/modules/infinoted/__init__.py:43
+#: plinth/modules/infinoted/__init__.py:42
msgid "Gobby Server"
msgstr ""
-#: plinth/modules/infinoted/__init__.py:46
+#: plinth/modules/infinoted/__init__.py:45
msgid "infinoted is a server for Gobby, a collaborative text editor."
msgstr ""
-#: plinth/modules/infinoted/__init__.py:48
+#: plinth/modules/infinoted/__init__.py:47
#, python-brace-format
msgid ""
"To use it, download Gobby, desktop "
@@ -1970,11 +1969,11 @@ msgstr ""
msgid "Failed to delete certificate for domain {domain}: {error}"
msgstr ""
-#: plinth/modules/matrixsynapse/__init__.py:41
+#: plinth/modules/matrixsynapse/__init__.py:43
msgid "Matrix Synapse"
msgstr ""
-#: plinth/modules/matrixsynapse/__init__.py:46
+#: plinth/modules/matrixsynapse/__init__.py:48
msgid ""
"Matrix is an new "
"ecosystem for open, federated instant messaging and VoIP. Synapse is a "
@@ -1984,7 +1983,7 @@ msgid ""
"converse with users on all other Matrix servers via federation."
msgstr ""
-#: plinth/modules/matrixsynapse/__init__.py:53
+#: plinth/modules/matrixsynapse/__init__.py:55
msgid ""
"To communicate, you can use the available clients for mobile, desktop and the web. Special:CreateAccount page."
msgstr ""
-#: plinth/modules/mediawiki/__init__.py:49
+#: plinth/modules/mediawiki/__init__.py:53
msgid ""
"Anyone with a link to this wiki can read it. Only users that are logged in "
"can make changes to the content."
@@ -2121,32 +2120,32 @@ msgstr ""
msgid "Password updated"
msgstr ""
-#: plinth/modules/mediawiki/views.py:91
+#: plinth/modules/mediawiki/views.py:89
msgid "Public registrations enabled"
msgstr ""
-#: plinth/modules/mediawiki/views.py:100
+#: plinth/modules/mediawiki/views.py:98
msgid "Public registrations disabled"
msgstr ""
-#: plinth/modules/mediawiki/views.py:109
+#: plinth/modules/mediawiki/views.py:107
msgid "Private mode enabled"
msgstr ""
-#: plinth/modules/mediawiki/views.py:112
+#: plinth/modules/mediawiki/views.py:110
msgid "Private mode disabled"
msgstr ""
-#: plinth/modules/minetest/__init__.py:53
+#: plinth/modules/minetest/__init__.py:52
#: plinth/modules/minetest/manifest.py:25
msgid "Minetest"
msgstr ""
-#: plinth/modules/minetest/__init__.py:55
+#: plinth/modules/minetest/__init__.py:54
msgid "Block Sandbox"
msgstr ""
-#: plinth/modules/minetest/__init__.py:59
+#: plinth/modules/minetest/__init__.py:58
#, python-brace-format
msgid ""
"Minetest is a multiplayer infinite-world block sandbox. This module enables "
@@ -2155,39 +2154,39 @@ msgid ""
"downloads/\">Minetest client is needed."
msgstr ""
-#: plinth/modules/minetest/forms.py:31
+#: plinth/modules/minetest/forms.py:30
msgid "Maximum number of players"
msgstr ""
-#: plinth/modules/minetest/forms.py:35
+#: plinth/modules/minetest/forms.py:32
msgid ""
"You can change the maximum number of players playing minetest at a single "
"instance of time."
msgstr ""
-#: plinth/modules/minetest/forms.py:39
+#: plinth/modules/minetest/forms.py:36
msgid "Enable creative mode"
msgstr ""
-#: plinth/modules/minetest/forms.py:41
+#: plinth/modules/minetest/forms.py:37
msgid ""
"Creative mode changes the rules of the game to make it more suitable for "
"creative gameplay, rather than challenging \"survival\" gameplay."
msgstr ""
-#: plinth/modules/minetest/forms.py:46
+#: plinth/modules/minetest/forms.py:42
msgid "Enable PVP"
msgstr ""
-#: plinth/modules/minetest/forms.py:48
+#: plinth/modules/minetest/forms.py:43
msgid "Enabling Player Vs Player will allow players to damage other players."
msgstr ""
-#: plinth/modules/minetest/forms.py:52
+#: plinth/modules/minetest/forms.py:47
msgid "Enable damage"
msgstr ""
-#: plinth/modules/minetest/forms.py:54
+#: plinth/modules/minetest/forms.py:48
msgid "When disabled, players cannot die or receive damage of any kind."
msgstr ""
@@ -2201,52 +2200,52 @@ msgstr ""
msgid "Port"
msgstr ""
-#: plinth/modules/minetest/views.py:71
+#: plinth/modules/minetest/views.py:72
msgid "Maximum players configuration updated"
msgstr ""
-#: plinth/modules/minetest/views.py:78
+#: plinth/modules/minetest/views.py:79
msgid "Creative mode configuration updated"
msgstr ""
-#: plinth/modules/minetest/views.py:84
+#: plinth/modules/minetest/views.py:85
msgid "PVP configuration updated"
msgstr ""
-#: plinth/modules/minetest/views.py:90
+#: plinth/modules/minetest/views.py:91
msgid "Damage configuration updated"
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:38
+#: plinth/modules/mldonkey/__init__.py:40
#: plinth/modules/mldonkey/manifest.py:27
msgid "MLDonkey"
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:40
+#: plinth/modules/mldonkey/__init__.py:42
msgid "Peer-to-peer File Sharing"
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:43
+#: plinth/modules/mldonkey/__init__.py:45
msgid ""
"MLDonkey is a peer-to-peer file sharing application used to exchange large "
"files. It can participate in multiple peer-to-peer networks including "
"eDonkey, Kademlia, Overnet, BitTorrent and DirectConnect."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:46
+#: plinth/modules/mldonkey/__init__.py:48
msgid ""
"Users belonging to admin and ed2k group can control it through the web "
"interface. Users in the admin group can also control it through any of the "
"separate mobile or desktop front-ends or a telnet interface. See manual."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:51
+#: plinth/modules/mldonkey/__init__.py:53
#, python-brace-format
msgid ""
"On {box_name}, downloaded files can be found in /var/lib/mldonkey/ directory."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:59
+#: plinth/modules/mldonkey/__init__.py:61
msgid "Download files using eDonkey applications"
msgstr ""
@@ -2310,12 +2309,6 @@ msgstr ""
msgid "Secure Shell"
msgstr ""
-#: plinth/modules/monkeysphere/templates/monkeysphere.html:88
-#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:60
-#: plinth/service.py:138
-msgid "Web Server"
-msgstr ""
-
#: plinth/modules/monkeysphere/templates/monkeysphere.html:90
#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:62
msgid "Other"
@@ -2408,21 +2401,21 @@ msgstr ""
msgid "Error occurred while publishing key."
msgstr ""
-#: plinth/modules/mumble/__init__.py:34 plinth/modules/mumble/manifest.py:27
+#: plinth/modules/mumble/__init__.py:35 plinth/modules/mumble/manifest.py:27
msgid "Mumble"
msgstr ""
-#: plinth/modules/mumble/__init__.py:36
+#: plinth/modules/mumble/__init__.py:37
msgid "Voice Chat"
msgstr ""
-#: plinth/modules/mumble/__init__.py:45
+#: plinth/modules/mumble/__init__.py:44
msgid ""
"Mumble is an open source, low-latency, encrypted, high quality voice chat "
"software."
msgstr ""
-#: plinth/modules/mumble/__init__.py:47
+#: plinth/modules/mumble/__init__.py:46
msgid ""
"You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your "
@@ -2470,7 +2463,7 @@ msgstr ""
msgid "Networks"
msgstr ""
-#: plinth/modules/networks/__init__.py:142
+#: plinth/modules/networks/__init__.py:144
#, python-brace-format
msgid "Using DNSSEC on IPv{kind}"
msgstr ""
@@ -2897,7 +2890,7 @@ msgstr ""
#: plinth/modules/networks/templates/connection_show.html:186
#: plinth/modules/networks/templates/connection_show.html:227
-#: plinth/modules/shadowsocks/forms.py:75
+#: plinth/modules/shadowsocks/forms.py:65
msgid "Method"
msgstr ""
@@ -3019,15 +3012,15 @@ msgstr ""
msgid "Create..."
msgstr ""
-#: plinth/modules/openvpn/__init__.py:40
+#: plinth/modules/openvpn/__init__.py:39
msgid "OpenVPN"
msgstr ""
-#: plinth/modules/openvpn/__init__.py:42
+#: plinth/modules/openvpn/__init__.py:41
msgid "Virtual Private Network"
msgstr ""
-#: plinth/modules/openvpn/__init__.py:46
+#: plinth/modules/openvpn/__init__.py:45
#, python-brace-format
msgid ""
"Virtual Private Network (VPN) is a technique for securely connecting two "
@@ -3038,7 +3031,7 @@ msgid ""
"security and anonymity."
msgstr ""
-#: plinth/modules/openvpn/__init__.py:74
+#: plinth/modules/openvpn/__init__.py:75
#, python-brace-format
msgid ""
"Download Profile"
@@ -3103,11 +3096,11 @@ msgstr ""
msgid "OpenVPN server is not running"
msgstr ""
-#: plinth/modules/openvpn/views.py:128
+#: plinth/modules/openvpn/views.py:126
msgid "Setup completed."
msgstr ""
-#: plinth/modules/openvpn/views.py:130
+#: plinth/modules/openvpn/views.py:128
msgid "Setup failed."
msgstr ""
@@ -3177,7 +3170,7 @@ msgid ""
"pagekite.net server."
msgstr ""
-#: plinth/modules/pagekite/forms.py:78 plinth/modules/shadowsocks/forms.py:64
+#: plinth/modules/pagekite/forms.py:78 plinth/modules/shadowsocks/forms.py:57
msgid "Server port"
msgstr ""
@@ -3377,47 +3370,47 @@ msgstr ""
msgid "Save Services"
msgstr ""
-#: plinth/modules/pagekite/utils.py:53
+#: plinth/modules/pagekite/utils.py:57
msgid "Web Server (HTTP)"
msgstr ""
-#: plinth/modules/pagekite/utils.py:54
+#: plinth/modules/pagekite/utils.py:59
#, python-brace-format
msgid "Site will be available at http://{0}"
msgstr ""
-#: plinth/modules/pagekite/utils.py:63
+#: plinth/modules/pagekite/utils.py:71
msgid "Web Server (HTTPS)"
msgstr ""
-#: plinth/modules/pagekite/utils.py:64
+#: plinth/modules/pagekite/utils.py:73
#, python-brace-format
msgid "Site will be available at https://{0}"
msgstr ""
-#: plinth/modules/pagekite/utils.py:73
+#: plinth/modules/pagekite/utils.py:85
msgid "Secure Shell (SSH)"
msgstr ""
-#: plinth/modules/pagekite/utils.py:74
+#: plinth/modules/pagekite/utils.py:87
msgid ""
"See SSH client setup instructions"
msgstr ""
-#: plinth/modules/pagekite/utils.py:276
+#: plinth/modules/pagekite/utils.py:288
msgid "Pagekite"
msgstr ""
-#: plinth/modules/pagekite/views.py:39
+#: plinth/modules/pagekite/views.py:40
msgid "Standard Services"
msgstr ""
-#: plinth/modules/pagekite/views.py:42
+#: plinth/modules/pagekite/views.py:44
msgid "Custom Services"
msgstr ""
-#: plinth/modules/pagekite/views.py:156
+#: plinth/modules/pagekite/views.py:158
msgid "Pagekite setup finished. The HTTP and HTTPS services are activated now."
msgstr ""
@@ -3478,22 +3471,22 @@ msgstr ""
msgid "Shut Down Now"
msgstr ""
-#: plinth/modules/privoxy/__init__.py:41
+#: plinth/modules/privoxy/__init__.py:42
msgid "Privoxy"
msgstr ""
-#: plinth/modules/privoxy/__init__.py:43
+#: plinth/modules/privoxy/__init__.py:44
msgid "Web Proxy"
msgstr ""
-#: plinth/modules/privoxy/__init__.py:46
+#: plinth/modules/privoxy/__init__.py:47
msgid ""
"Privoxy is a non-caching web proxy with advanced filtering capabilities for "
"enhancing privacy, modifying web page data and HTTP headers, controlling "
"access, and removing ads and other obnoxious Internet junk. "
msgstr ""
-#: plinth/modules/privoxy/__init__.py:51
+#: plinth/modules/privoxy/__init__.py:52
#, python-brace-format
msgid ""
"You can use Privoxy by modifying your browser proxy settings to your "
@@ -3503,20 +3496,20 @@ msgid ""
"\">http://p.p."
msgstr ""
-#: plinth/modules/privoxy/__init__.py:157
+#: plinth/modules/privoxy/__init__.py:142
#, python-brace-format
msgid "Access {url} with proxy {proxy} on tcp{kind}"
msgstr ""
-#: plinth/modules/quassel/__init__.py:41 plinth/modules/quassel/manifest.py:25
+#: plinth/modules/quassel/__init__.py:40 plinth/modules/quassel/manifest.py:25
msgid "Quassel"
msgstr ""
-#: plinth/modules/quassel/__init__.py:43
+#: plinth/modules/quassel/__init__.py:42
msgid "IRC Client"
msgstr ""
-#: plinth/modules/quassel/__init__.py:47
+#: plinth/modules/quassel/__init__.py:46
#, python-brace-format
msgid ""
"Quassel is an IRC application that is split into two parts, a \"core\" and a "
@@ -3527,7 +3520,7 @@ msgid ""
"connect and disconnect from it."
msgstr ""
-#: plinth/modules/quassel/__init__.py:54
+#: plinth/modules/quassel/__init__.py:53
msgid ""
"You can connect to your Quassel core on the default Quassel port 4242. "
"Clients to connect to Quassel from your Jitsi (for computers) and (for Android phones)."
msgstr ""
-#: plinth/modules/repro/__init__.py:53
+#: plinth/modules/repro/__init__.py:55
msgid ""
"Note: Before using repro, domains and users will need to "
"be configured using the web-based "
@@ -3674,15 +3667,15 @@ msgstr ""
msgid "CSipSimple"
msgstr ""
-#: plinth/modules/restore/__init__.py:36 plinth/modules/restore/manifest.py:23
+#: plinth/modules/restore/__init__.py:37 plinth/modules/restore/manifest.py:23
msgid "reStore"
msgstr ""
-#: plinth/modules/restore/__init__.py:38
+#: plinth/modules/restore/__init__.py:39
msgid "Unhosted Storage"
msgstr ""
-#: plinth/modules/restore/__init__.py:42
+#: plinth/modules/restore/__init__.py:43
#, python-brace-format
msgid ""
"reStore is a server for unhosted web "
@@ -3692,22 +3685,22 @@ msgid ""
"becomes your unhosted storage server."
msgstr ""
-#: plinth/modules/restore/__init__.py:48
+#: plinth/modules/restore/__init__.py:49
msgid ""
"You can create and edit accounts in the reStore web-"
"interface."
msgstr ""
-#: plinth/modules/roundcube/__init__.py:34
+#: plinth/modules/roundcube/__init__.py:35
#: plinth/modules/roundcube/manifest.py:24
msgid "Roundcube"
msgstr ""
-#: plinth/modules/roundcube/__init__.py:36
+#: plinth/modules/roundcube/__init__.py:37
msgid "Email Client"
msgstr ""
-#: plinth/modules/roundcube/__init__.py:39
+#: plinth/modules/roundcube/__init__.py:40
msgid ""
"Roundcube webmail is a browser-based multilingual IMAP client with an "
"application-like user interface. It provides full functionality you expect "
@@ -3715,7 +3708,7 @@ msgid ""
"manipulation, message searching and spell checking."
msgstr ""
-#: plinth/modules/roundcube/__init__.py:44
+#: plinth/modules/roundcube/__init__.py:45
msgid ""
"You can access Roundcube from /roundcube. Provide "
"the username and password of the email account you wish to access followed "
@@ -3724,7 +3717,7 @@ msgid ""
"server field like imaps://imap.example.com."
msgstr ""
-#: plinth/modules/roundcube/__init__.py:50
+#: plinth/modules/roundcube/__init__.py:51
msgid ""
"For Gmail, username will be your Gmail address, password will be your Google "
"account password and server will be imaps://imap.gmail.com. "
@@ -3786,12 +3779,12 @@ msgstr ""
msgid "Allow this application to be used by anyone who can reach it."
msgstr ""
-#: plinth/modules/searx/views.py:60 plinth/modules/searx/views.py:71
-#: plinth/modules/tor/views.py:139 plinth/modules/tor/views.py:168
+#: plinth/modules/searx/views.py:59 plinth/modules/searx/views.py:70
+#: plinth/modules/tor/views.py:141 plinth/modules/tor/views.py:168
msgid "Configuration updated."
msgstr ""
-#: plinth/modules/searx/views.py:63 plinth/modules/searx/views.py:74
+#: plinth/modules/searx/views.py:62 plinth/modules/searx/views.py:73
#: plinth/modules/tor/views.py:170
msgid "An error occurred during configuration."
msgstr ""
@@ -3846,22 +3839,22 @@ msgid ""
"account, which you will need to setup on the initial visit."
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:34
+#: plinth/modules/shadowsocks/__init__.py:35
msgid "Shadowsocks"
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:36
+#: plinth/modules/shadowsocks/__init__.py:37
msgid "Socks5 Proxy"
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:45
+#: plinth/modules/shadowsocks/__init__.py:44
msgid ""
"Shadowsocks is a lightweight and secure SOCKS5 proxy, designed to protect "
"your Internet traffic. It can be used to bypass Internet filtering and "
"censorship."
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:49
+#: plinth/modules/shadowsocks/__init__.py:48
#, python-brace-format
msgid ""
"Your {box_name} can run a Shadowsocks client, that can connect to a "
@@ -3870,34 +3863,34 @@ msgid ""
"the Shadowsocks server."
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:54
+#: plinth/modules/shadowsocks/__init__.py:53
msgid ""
"To use Shadowsocks after setup, set the SOCKS5 proxy URL in your device, "
"browser or application to http://freedombox_address:1080/"
msgstr ""
+#: plinth/modules/shadowsocks/forms.py:28
#: plinth/modules/shadowsocks/forms.py:29
-#: plinth/modules/shadowsocks/forms.py:30
msgid "Recommended"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:60
+#: plinth/modules/shadowsocks/forms.py:54
msgid "Server"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:61
+#: plinth/modules/shadowsocks/forms.py:54
msgid "Server hostname or IP address"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:67
+#: plinth/modules/shadowsocks/forms.py:58
msgid "Server port number"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:71
+#: plinth/modules/shadowsocks/forms.py:61
msgid "Password used to encrypt data. Must match server password."
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:77
+#: plinth/modules/shadowsocks/forms.py:66
msgid "Encryption method. Must match setting on server."
msgstr ""
@@ -4155,7 +4148,7 @@ msgstr ""
msgid "Storage snapshots configuration updated"
msgstr ""
-#: plinth/modules/snapshot/views.py:153 plinth/modules/tor/views.py:72
+#: plinth/modules/snapshot/views.py:153 plinth/modules/tor/views.py:73
#, python-brace-format
msgid "Action error: {0} [{1}] [{2}]"
msgstr ""
@@ -4185,11 +4178,11 @@ msgstr ""
msgid "Rollback to Snapshot"
msgstr ""
-#: plinth/modules/ssh/__init__.py:39
+#: plinth/modules/ssh/__init__.py:40
msgid "Secure Shell (SSH) Server"
msgstr ""
-#: plinth/modules/ssh/__init__.py:42
+#: plinth/modules/ssh/__init__.py:43
msgid ""
"A Secure Shell server uses the secure shell protocol to accept connections "
"from remote computers. An authorized remote computer can perform "
@@ -4205,11 +4198,11 @@ msgstr ""
msgid "Login"
msgstr ""
-#: plinth/modules/storage/__init__.py:36 plinth/modules/storage/views.py:53
+#: plinth/modules/storage/__init__.py:35 plinth/modules/storage/views.py:53
msgid "Storage"
msgstr ""
-#: plinth/modules/storage/__init__.py:44
+#: plinth/modules/storage/__init__.py:43
#, python-brace-format
msgid ""
"This module allows you to manage storage media attached to your {box_name}. "
@@ -4217,80 +4210,80 @@ msgid ""
"media, expand the root partition etc."
msgstr ""
-#: plinth/modules/storage/__init__.py:211
+#: plinth/modules/storage/__init__.py:213
#, python-brace-format
msgid "{disk_size:.1f} bytes"
msgstr ""
-#: plinth/modules/storage/__init__.py:215
+#: plinth/modules/storage/__init__.py:217
#, python-brace-format
msgid "{disk_size:.1f} KiB"
msgstr ""
-#: plinth/modules/storage/__init__.py:219
+#: plinth/modules/storage/__init__.py:221
#, python-brace-format
msgid "{disk_size:.1f} MiB"
msgstr ""
-#: plinth/modules/storage/__init__.py:223
+#: plinth/modules/storage/__init__.py:225
#, python-brace-format
msgid "{disk_size:.1f} GiB"
msgstr ""
-#: plinth/modules/storage/__init__.py:226
+#: plinth/modules/storage/__init__.py:228
#, python-brace-format
msgid "{disk_size:.1f} TiB"
msgstr ""
-#: plinth/modules/storage/__init__.py:233
+#: plinth/modules/storage/__init__.py:235
msgid "The operation failed."
msgstr ""
-#: plinth/modules/storage/__init__.py:235
+#: plinth/modules/storage/__init__.py:237
msgid "The operation was cancelled."
msgstr ""
-#: plinth/modules/storage/__init__.py:237
+#: plinth/modules/storage/__init__.py:239
msgid "The device is already unmounting."
msgstr ""
-#: plinth/modules/storage/__init__.py:239
+#: plinth/modules/storage/__init__.py:241
msgid "The operation is not supported due to missing driver/tool support."
msgstr ""
-#: plinth/modules/storage/__init__.py:242
+#: plinth/modules/storage/__init__.py:244
msgid "The operation timed out."
msgstr ""
-#: plinth/modules/storage/__init__.py:244
+#: plinth/modules/storage/__init__.py:246
msgid "The operation would wake up a disk that is in a deep-sleep state."
msgstr ""
-#: plinth/modules/storage/__init__.py:247
+#: plinth/modules/storage/__init__.py:249
msgid "Attempting to unmount a device that is busy."
msgstr ""
-#: plinth/modules/storage/__init__.py:249
+#: plinth/modules/storage/__init__.py:251
msgid "The operation has already been cancelled."
msgstr ""
-#: plinth/modules/storage/__init__.py:255
+#: plinth/modules/storage/__init__.py:257
msgid "Not authorized to perform the requested operation."
msgstr ""
-#: plinth/modules/storage/__init__.py:257
+#: plinth/modules/storage/__init__.py:259
msgid "The device is already mounted."
msgstr ""
-#: plinth/modules/storage/__init__.py:259
+#: plinth/modules/storage/__init__.py:261
msgid "The device is not mounted."
msgstr ""
-#: plinth/modules/storage/__init__.py:262
+#: plinth/modules/storage/__init__.py:264
msgid "Not permitted to use the requested option."
msgstr ""
-#: plinth/modules/storage/__init__.py:265
+#: plinth/modules/storage/__init__.py:267
msgid "The device is mounted by another user."
msgstr ""
@@ -4366,16 +4359,16 @@ msgstr ""
msgid "Error ejecting device: {error_message}"
msgstr ""
-#: plinth/modules/syncthing/__init__.py:38
+#: plinth/modules/syncthing/__init__.py:40
#: plinth/modules/syncthing/manifest.py:28
msgid "Syncthing"
msgstr ""
-#: plinth/modules/syncthing/__init__.py:40
+#: plinth/modules/syncthing/__init__.py:42
msgid "File Synchronization"
msgstr ""
-#: plinth/modules/syncthing/__init__.py:43
+#: plinth/modules/syncthing/__init__.py:45
msgid ""
"Syncthing is an application to synchronize files across multiple devices, e."
"g. your desktop computer and mobile phone. Creation, modification, or "
@@ -4383,7 +4376,7 @@ msgid ""
"other devices that also run Syncthing."
msgstr ""
-#: plinth/modules/syncthing/__init__.py:48
+#: plinth/modules/syncthing/__init__.py:50
#, python-brace-format
msgid ""
"Running Syncthing on {box_name} provides an extra synchronization point for "
@@ -4394,26 +4387,26 @@ msgid ""
"{box_name} is only available for users belonging to the \"admin\" group."
msgstr ""
-#: plinth/modules/syncthing/__init__.py:55
+#: plinth/modules/syncthing/__init__.py:57
msgid ""
"When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile clients are also available."
msgstr ""
-#: plinth/modules/syncthing/__init__.py:62
+#: plinth/modules/syncthing/__init__.py:64
msgid "Administer Syncthing application"
msgstr ""
-#: plinth/modules/tahoe/__init__.py:41
+#: plinth/modules/tahoe/__init__.py:43
msgid "Tahoe-LAFS"
msgstr ""
-#: plinth/modules/tahoe/__init__.py:43
+#: plinth/modules/tahoe/__init__.py:45
msgid "Distributed File Storage"
msgstr ""
-#: plinth/modules/tahoe/__init__.py:107
+#: plinth/modules/tahoe/__init__.py:119
msgid ""
"Tahoe-LAFS is a decentralized secure file storage system. It uses provider "
"independent security to store files over a distributed network of storage "
@@ -4421,7 +4414,7 @@ msgid ""
"remaining nodes."
msgstr ""
-#: plinth/modules/tahoe/__init__.py:112
+#: plinth/modules/tahoe/__init__.py:124
#, python-brace-format
msgid ""
"This {box_name} hosts a storage node and an introducer by default. "
@@ -4464,11 +4457,11 @@ msgstr ""
msgid "Remove"
msgstr ""
-#: plinth/modules/tor/__init__.py:43
+#: plinth/modules/tor/__init__.py:46
msgid "Tor"
msgstr ""
-#: plinth/modules/tor/__init__.py:48
+#: plinth/modules/tor/__init__.py:51
msgid ""
"Tor is an anonymous communication system. You can learn more about it from "
"the Tor Project website. For "
@@ -4477,40 +4470,36 @@ msgid ""
"\">Tor Browser."
msgstr ""
-#: plinth/modules/tor/__init__.py:93
+#: plinth/modules/tor/__init__.py:80
msgid "Tor Socks Proxy"
msgstr ""
-#: plinth/modules/tor/__init__.py:99 plinth/modules/tor/__init__.py:146
+#: plinth/modules/tor/__init__.py:84
msgid "Tor Bridge Relay"
msgstr ""
-#: plinth/modules/tor/__init__.py:120 plinth/modules/tor/__init__.py:188
+#: plinth/modules/tor/__init__.py:122 plinth/modules/tor/__init__.py:150
msgid "Tor Hidden Service"
msgstr ""
-#: plinth/modules/tor/__init__.py:136
-msgid "Tor Anonymity Network"
-msgstr ""
-
-#: plinth/modules/tor/__init__.py:208
+#: plinth/modules/tor/__init__.py:170
msgid "Tor relay port available"
msgstr ""
-#: plinth/modules/tor/__init__.py:218
+#: plinth/modules/tor/__init__.py:180
msgid "Obfs3 transport registered"
msgstr ""
-#: plinth/modules/tor/__init__.py:226
+#: plinth/modules/tor/__init__.py:188
msgid "Obfs4 transport registered"
msgstr ""
-#: plinth/modules/tor/__init__.py:265
+#: plinth/modules/tor/__init__.py:227
#, python-brace-format
msgid "Access URL {url} on tcp{kind} via Tor"
msgstr ""
-#: plinth/modules/tor/__init__.py:276
+#: plinth/modules/tor/__init__.py:238
#, python-brace-format
msgid "Confirm Tor usage at {url} on tcp{kind}"
msgstr ""
@@ -4644,18 +4633,18 @@ msgstr ""
msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050."
msgstr ""
-#: plinth/modules/transmission/__init__.py:39
+#: plinth/modules/transmission/__init__.py:41
#: plinth/modules/transmission/manifest.py:24
msgid "Transmission"
msgstr ""
-#: plinth/modules/transmission/__init__.py:44
+#: plinth/modules/transmission/__init__.py:46
msgid ""
"BitTorrent is a peer-to-peer file sharing protocol. Transmission daemon "
"handles Bitorrent file sharing. Note that BitTorrent is not anonymous."
msgstr ""
-#: plinth/modules/transmission/__init__.py:47
+#: plinth/modules/transmission/__init__.py:49
msgid ""
"Access the web interface at /transmission."
msgstr ""
@@ -4671,22 +4660,22 @@ msgid ""
"\" user."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:41 plinth/modules/ttrss/manifest.py:34
+#: plinth/modules/ttrss/__init__.py:43 plinth/modules/ttrss/manifest.py:34
msgid "Tiny Tiny RSS"
msgstr ""
-#: plinth/modules/ttrss/__init__.py:43
+#: plinth/modules/ttrss/__init__.py:45
msgid "News Feed Reader"
msgstr ""
-#: plinth/modules/ttrss/__init__.py:46
+#: plinth/modules/ttrss/__init__.py:48
msgid ""
"Tiny Tiny RSS is a news feed (RSS/Atom) reader and aggregator, designed to "
"allow reading news from any location, while feeling as close to a real "
"desktop application as possible."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:50
+#: plinth/modules/ttrss/__init__.py:52
#, python-brace-format
msgid ""
"When enabled, Tiny Tiny RSS will be available from /tt-"
@@ -4694,13 +4683,13 @@ msgid ""
"\"{users_url}\">user with a {box_name} login."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:55
+#: plinth/modules/ttrss/__init__.py:57
msgid ""
"When using a mobile or desktop application for Tiny Tiny RSS, use the URL /tt-rss-app for connecting."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:61
+#: plinth/modules/ttrss/__init__.py:63
msgid "Read and subscribe to news feeds"
msgstr ""
@@ -4708,11 +4697,11 @@ msgstr ""
msgid "Tiny Tiny RSS (Fork)"
msgstr ""
-#: plinth/modules/upgrades/__init__.py:36 plinth/templates/setup.html:101
+#: plinth/modules/upgrades/__init__.py:35 plinth/templates/setup.html:101
msgid "Update"
msgstr ""
-#: plinth/modules/upgrades/__init__.py:39
+#: plinth/modules/upgrades/__init__.py:38
msgid "Check for and apply the latest software and security updates."
msgstr ""
@@ -4747,32 +4736,32 @@ msgstr ""
msgid "Auto-update"
msgstr ""
-#: plinth/modules/upgrades/views.py:39
+#: plinth/modules/upgrades/views.py:40
msgid "Manual update"
msgstr ""
-#: plinth/modules/upgrades/views.py:78
+#: plinth/modules/upgrades/views.py:79
#, python-brace-format
msgid "Error when configuring unattended-upgrades: {error}"
msgstr ""
-#: plinth/modules/upgrades/views.py:82
+#: plinth/modules/upgrades/views.py:83
msgid "Automatic upgrades enabled"
msgstr ""
-#: plinth/modules/upgrades/views.py:85
+#: plinth/modules/upgrades/views.py:86
msgid "Automatic upgrades disabled"
msgstr ""
-#: plinth/modules/upgrades/views.py:87
+#: plinth/modules/upgrades/views.py:88
msgid "Settings unchanged"
msgstr ""
-#: plinth/modules/upgrades/views.py:113
+#: plinth/modules/upgrades/views.py:114
msgid "Upgrade process started."
msgstr ""
-#: plinth/modules/upgrades/views.py:116
+#: plinth/modules/upgrades/views.py:117
msgid "Starting upgrade failed."
msgstr ""
@@ -4780,7 +4769,7 @@ msgstr ""
msgid "Users and Groups"
msgstr ""
-#: plinth/modules/users/__init__.py:106
+#: plinth/modules/users/__init__.py:108
#, python-brace-format
msgid "Check LDAP entry \"{search_item}\""
msgstr ""
@@ -4992,15 +4981,6 @@ msgstr ""
msgid "configuration file: {file}"
msgstr ""
-#: plinth/service.py:140
-msgid "Web Server over Secure Socket Layer"
-msgstr ""
-
-#: plinth/service.py:145
-#, python-brace-format
-msgid "{box_name} Web Interface (Plinth)"
-msgstr ""
-
#: plinth/templates/403.html:25
msgid "403 Forbidden"
msgstr ""
@@ -5199,16 +5179,16 @@ msgstr ""
msgid "Mailing list"
msgstr ""
-#: plinth/templates/internal-zone.html:25
+#: plinth/templates/internal-zone.html:26
#, python-format
msgid "%(service_name)s is available only on internal networks."
msgstr ""
-#: plinth/templates/internal-zone.html:31
+#: plinth/templates/internal-zone.html:32
msgid "Currently there are no network interfaces configured as internal."
msgstr ""
-#: plinth/templates/internal-zone.html:33
+#: plinth/templates/internal-zone.html:34
#, python-format
msgid ""
"Currently the following network interfaces are configured as internal: "
@@ -5271,6 +5251,14 @@ msgstr ""
msgid "%(percentage)s%% complete"
msgstr ""
+#: plinth/views.py:178
+msgid "Application enabled"
+msgstr ""
+
+#: plinth/views.py:181
+msgid "Application disabled"
+msgstr ""
+
#: plinth/web_framework.py:186
msgid "Gujarati"
msgstr ""
diff --git a/plinth/locale/es/LC_MESSAGES/django.po b/plinth/locale/es/LC_MESSAGES/django.po
index 1178ad77e..95b26c302 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: 2019-06-10 19:02-0400\n"
+"POT-Creation-Date: 2019-06-24 19:48-0400\n"
"PO-Revision-Date: 2019-05-21 02:49+0000\n"
"Last-Translator: ventolinmono \n"
"Language-Team: Spanish /"
@@ -523,14 +534,14 @@ msgstr ""
"\"{users_url}\">cualquier usuario en {box_name} que pertenezca al grupo "
"«admin»."
-#: plinth/modules/config/__init__.py:59 plinth/modules/dynamicdns/views.py:44
+#: plinth/modules/config/__init__.py:61 plinth/modules/dynamicdns/views.py:45
#: plinth/modules/i2p/views.py:31 plinth/modules/ikiwiki/views.py:35
#: plinth/modules/pagekite/views.py:36 plinth/modules/snapshot/views.py:40
#: plinth/modules/tahoe/templates/tahoe-pre-setup.html:39
msgid "Configure"
msgstr "Configurar"
-#: plinth/modules/config/__init__.py:164 plinth/modules/config/forms.py:76
+#: plinth/modules/config/__init__.py:166 plinth/modules/config/forms.py:76
#: plinth/modules/config/views.py:171 plinth/modules/dynamicdns/forms.py:111
msgid "Domain Name"
msgstr "Nombre de dominio"
@@ -619,8 +630,8 @@ msgstr ""
#: plinth/modules/power/templates/power_restart.html:42
#: plinth/modules/power/templates/power_shutdown.html:41
#: plinth/modules/storage/templates/storage.html:48
-#: plinth/templates/service-subsubmenu.html:47 plinth/templates/service.html:42
-#: plinth/templates/setup.html:48 plinth/templates/simple_service.html:38
+#: plinth/templates/app-subsubmenu.html:47 plinth/templates/app.html:42
+#: plinth/templates/setup.html:48 plinth/templates/simple_app.html:38
msgid "Learn more..."
msgstr "Aprenda más..."
@@ -669,15 +680,15 @@ msgstr ""
msgid "Hiding advanced apps and features"
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:38
+#: plinth/modules/coquelicot/__init__.py:40
msgid "Coquelicot"
msgstr "Coquelicot"
-#: plinth/modules/coquelicot/__init__.py:40
+#: plinth/modules/coquelicot/__init__.py:42
msgid "File Sharing"
msgstr "Compartir archivos"
-#: plinth/modules/coquelicot/__init__.py:43
+#: plinth/modules/coquelicot/__init__.py:45
msgid ""
"Coquelicot is a “one-click” file sharing web application with a focus on "
"protecting users’ privacy. It is best used for quickly sharing a single "
@@ -687,7 +698,7 @@ msgstr ""
"enfocada en proteger la privacidad del usuario. Su mejor uso es para "
"compartir rápidamente un solo archivo. "
-#: plinth/modules/coquelicot/__init__.py:46
+#: plinth/modules/coquelicot/__init__.py:48
msgid ""
"This Coquelicot instance is exposed to the public but requires an upload "
"password to prevent unauthorized access. You can set a new upload password "
@@ -725,19 +736,19 @@ msgstr ""
msgid "coquelicot"
msgstr "coquelicot"
-#: plinth/modules/coquelicot/views.py:57
+#: plinth/modules/coquelicot/views.py:59
msgid "Upload password updated"
msgstr "Clave para compartir actualizada"
-#: plinth/modules/coquelicot/views.py:60
+#: plinth/modules/coquelicot/views.py:62
msgid "Failed to update upload password"
msgstr "Falló la actualización de la clave para compartir"
-#: plinth/modules/coquelicot/views.py:68
+#: plinth/modules/coquelicot/views.py:70
msgid "Maximum file size updated"
msgstr "Tamaño máximo actualizado"
-#: plinth/modules/coquelicot/views.py:71
+#: plinth/modules/coquelicot/views.py:73
msgid "Failed to update maximum file size"
msgstr "Falló al actualizar el tamaño máximo"
@@ -753,15 +764,15 @@ msgstr ""
"El servidor de tiempo de red (servicio NTP) mantiene sincronizada la hora "
"del sistema con servidores de Internet."
-#: plinth/modules/datetime/__init__.py:107
+#: plinth/modules/datetime/__init__.py:99
msgid "Time synchronized to NTP server"
msgstr "Hora sincronizada con el servidor NTP"
-#: plinth/modules/datetime/forms.py:36
+#: plinth/modules/datetime/forms.py:35
msgid "Time Zone"
msgstr "Zona horaria"
-#: plinth/modules/datetime/forms.py:37
+#: plinth/modules/datetime/forms.py:36
msgid ""
"Set your time zone to get accurate timestamps. This will set the system-wide "
"time zone."
@@ -769,7 +780,7 @@ msgstr ""
"Defina su zona horaria para obtener marcas de tiempo correctas. Se "
"establecerá la zona horaria en todo el sistema."
-#: plinth/modules/datetime/forms.py:49
+#: plinth/modules/datetime/forms.py:47
msgid "-- no time zone set --"
msgstr "-- Zona horaria no definida --"
@@ -787,7 +798,7 @@ msgid "Deluge"
msgstr "Deluge"
#: plinth/modules/deluge/__init__.py:41
-#: plinth/modules/transmission/__init__.py:41
+#: plinth/modules/transmission/__init__.py:43
msgid "BitTorrent Web Client"
msgstr "Cliente web de BitTorrent"
@@ -807,7 +818,7 @@ msgstr ""
"servicio acceda al mismo y la cambie."
#: plinth/modules/deluge/__init__.py:51
-#: plinth/modules/transmission/__init__.py:54
+#: plinth/modules/transmission/__init__.py:56
msgid "Download files using BitTorrent applications"
msgstr "Descargar archivos usando aplicaciones BitTorrent"
@@ -871,12 +882,12 @@ msgstr "Test"
msgid "Result"
msgstr "Resultado"
-#: plinth/modules/diaspora/__init__.py:52
+#: plinth/modules/diaspora/__init__.py:54
#: plinth/modules/diaspora/manifest.py:38
msgid "diaspora*"
msgstr "diaspora*"
-#: plinth/modules/diaspora/__init__.py:54
+#: plinth/modules/diaspora/__init__.py:56
msgid "Federated Social Network"
msgstr "Red Social Federada"
@@ -933,22 +944,22 @@ msgstr ""
#: plinth/modules/tahoe/templates/tahoe-pre-setup.html:58
#: plinth/modules/tor/templates/tor.html:96
#: plinth/modules/upgrades/templates/upgrades_configure.html:32
-#: plinth/templates/service.html:89
+#: plinth/templates/app.html:89
msgid "Update setup"
msgstr "Actualizar configuración"
-#: plinth/modules/diaspora/views.py:97 plinth/modules/ejabberd/views.py:64
-#: plinth/modules/matrixsynapse/views.py:107
-#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:150
-#: plinth/modules/tor/views.py:146 plinth/views.py:160
+#: plinth/modules/diaspora/views.py:94 plinth/modules/ejabberd/views.py:65
+#: plinth/modules/matrixsynapse/views.py:108
+#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:148
+#: plinth/modules/tor/views.py:148 plinth/views.py:174
msgid "Setting unchanged"
msgstr "Configuración sin cambio"
-#: plinth/modules/diaspora/views.py:101
+#: plinth/modules/diaspora/views.py:98
msgid "User registrations enabled"
msgstr "Registro de usuarias/os activado"
-#: plinth/modules/diaspora/views.py:105
+#: plinth/modules/diaspora/views.py:102
msgid "User registrations disabled"
msgstr "Registro de usuarias/os desactivado"
@@ -984,8 +995,8 @@ msgstr ""
"asigna su nombre DNS a esta nueva IP de forma que cualquiera que pida su "
"nombre DNS obtendrá la dirección IP actualizada."
-#: plinth/modules/dynamicdns/__init__.py:85
-#: plinth/modules/dynamicdns/views.py:167
+#: plinth/modules/dynamicdns/__init__.py:87
+#: plinth/modules/dynamicdns/views.py:169
msgid "Dynamic DNS Service"
msgstr "Servicio de DNS dinámico"
@@ -1090,7 +1101,7 @@ msgid "Username"
msgstr "Nombre de usuaria/o"
#: plinth/modules/dynamicdns/forms.py:121 plinth/modules/networks/forms.py:235
-#: plinth/modules/shadowsocks/forms.py:70
+#: plinth/modules/shadowsocks/forms.py:61
msgid "Password"
msgstr "Clave de acceso"
@@ -1188,39 +1199,39 @@ msgstr ""
msgid "Last update"
msgstr "Última actualización"
-#: plinth/modules/dynamicdns/views.py:41 plinth/modules/help/help.py:57
+#: plinth/modules/dynamicdns/views.py:41 plinth/modules/help/help.py:59
msgid "About"
msgstr "Acerca de"
-#: plinth/modules/dynamicdns/views.py:47
+#: plinth/modules/dynamicdns/views.py:49
#: plinth/modules/firewall/templates/firewall.html:25
#: plinth/modules/firewall/templates/firewall.html:45
#: plinth/modules/i2p/templates/i2p.html:27
#: plinth/modules/networks/templates/connection_show.html:261
#: plinth/modules/openvpn/templates/openvpn.html:71
#: plinth/modules/tor/templates/tor.html:40
-#: plinth/modules/tor/templates/tor.html:68 plinth/templates/service.html:51
+#: plinth/modules/tor/templates/tor.html:68 plinth/templates/app.html:51
msgid "Status"
msgstr "Estado"
-#: plinth/modules/dynamicdns/views.py:78
+#: plinth/modules/dynamicdns/views.py:80
msgid "Configure Dynamic DNS"
msgstr "Configurar DNS dinámico"
-#: plinth/modules/dynamicdns/views.py:103
+#: plinth/modules/dynamicdns/views.py:105
msgid "Dynamic DNS Status"
msgstr "Estado del DNS dinámico"
-#: plinth/modules/ejabberd/__init__.py:43
+#: plinth/modules/ejabberd/__init__.py:45
msgid "ejabberd"
msgstr "ejabberd"
-#: plinth/modules/ejabberd/__init__.py:45
-#: plinth/modules/matrixsynapse/__init__.py:43
+#: plinth/modules/ejabberd/__init__.py:47
+#: plinth/modules/matrixsynapse/__init__.py:45
msgid "Chat Server"
msgstr "Servidor de Chat"
-#: plinth/modules/ejabberd/__init__.py:48
+#: plinth/modules/ejabberd/__init__.py:50
msgid ""
"XMPP is an open and standardized communication protocol. Here you can run "
"and configure your XMPP server, called ejabberd."
@@ -1228,7 +1239,7 @@ msgstr ""
"XMPP es un protocolo de comunicación abierto y estándar. Puede ejecutar y "
"configurar su servidor XMPP (ejabberd) aquí."
-#: plinth/modules/ejabberd/__init__.py:51
+#: plinth/modules/ejabberd/__init__.py:53
#, fuzzy, python-brace-format
#| msgid ""
#| "To actually communicate, you can use the web "
@@ -1247,11 +1258,11 @@ msgstr ""
"\"{users_url}\">usuario con una cuenta de acceso en {box_name} puede "
"acceder a ejabberd."
-#: plinth/modules/ejabberd/forms.py:33
+#: plinth/modules/ejabberd/forms.py:32
msgid "Enable Message Archive Management"
msgstr "Activar la gestión activa de mensajes"
-#: plinth/modules/ejabberd/forms.py:36
+#: plinth/modules/ejabberd/forms.py:34
#, python-brace-format
msgid ""
"If enabled, your {box_name} will store chat message histories. This allows "
@@ -1333,35 +1344,23 @@ msgstr "Lanzar cliente web"
#: plinth/modules/openvpn/templates/openvpn.html:123
#: plinth/modules/snapshot/templates/snapshot.html:27
#: plinth/modules/tahoe/templates/tahoe-post-setup.html:43
-#: plinth/modules/tor/templates/tor.html:88 plinth/templates/service.html:81
+#: plinth/modules/tor/templates/tor.html:88 plinth/templates/app.html:81
msgid "Configuration"
msgstr "Configuración"
-#: plinth/modules/ejabberd/views.py:68
-#: plinth/modules/matrixsynapse/views.py:111
-#: plinth/modules/mediawiki/views.py:79 plinth/views.py:164
-msgid "Application enabled"
-msgstr "Aplicación activada"
-
-#: plinth/modules/ejabberd/views.py:71
-#: plinth/modules/matrixsynapse/views.py:114
-#: plinth/modules/mediawiki/views.py:82 plinth/views.py:167
-msgid "Application disabled"
-msgstr "Aplicación desactivada"
-
-#: plinth/modules/ejabberd/views.py:78
+#: plinth/modules/ejabberd/views.py:77
msgid "Message Archive Management enabled"
msgstr "Gestión activa de mensajes activada"
-#: plinth/modules/ejabberd/views.py:82
+#: plinth/modules/ejabberd/views.py:81
msgid "Message Archive Management disabled"
msgstr "Gestión activa de mensajes desactivada"
-#: plinth/modules/firewall/__init__.py:40
+#: plinth/modules/firewall/__init__.py:36
msgid "Firewall"
msgstr "Firewall"
-#: plinth/modules/firewall/__init__.py:44
+#: plinth/modules/firewall/__init__.py:40
#, python-brace-format
msgid ""
"Firewall is a security system that controls the incoming and outgoing "
@@ -1482,29 +1481,29 @@ msgstr "Iniciar configuración"
msgid "Setup Complete"
msgstr "Configuración completada"
-#: plinth/modules/help/help.py:44
+#: plinth/modules/help/help.py:46
msgid "Documentation"
msgstr "Documentación"
-#: plinth/modules/help/help.py:48 plinth/modules/networks/forms.py:68
+#: plinth/modules/help/help.py:50 plinth/modules/networks/forms.py:68
#: plinth/modules/networks/forms.py:108 plinth/templates/index.html:135
msgid "Manual"
msgstr "Manual"
-#: plinth/modules/help/help.py:53
+#: plinth/modules/help/help.py:55
msgid "Download Manual"
msgstr "Manual de descarga"
-#: plinth/modules/help/help.py:73
+#: plinth/modules/help/help.py:75
msgid "Documentation and FAQ"
msgstr "Documentación y Preguntas frecuentes"
-#: plinth/modules/help/help.py:81
+#: plinth/modules/help/help.py:83
#, python-brace-format
msgid "About {box_name}"
msgstr "Acerca de {box_name}"
-#: plinth/modules/help/help.py:102
+#: plinth/modules/help/help.py:104
#, python-brace-format
msgid "{box_name} Manual"
msgstr "Manual de {box_name}"
@@ -1660,15 +1659,15 @@ msgstr ""
"Por favor elimine las claves y cualquier información personal del registro "
"antes de enviar el informe de fallos."
-#: plinth/modules/i2p/__init__.py:40 plinth/modules/i2p/manifest.py:31
+#: plinth/modules/i2p/__init__.py:42 plinth/modules/i2p/manifest.py:31
msgid "I2P"
msgstr "I2P"
-#: plinth/modules/i2p/__init__.py:42 plinth/modules/tor/__init__.py:45
+#: plinth/modules/i2p/__init__.py:44 plinth/modules/tor/__init__.py:48
msgid "Anonymity Network"
msgstr "Red anónima"
-#: plinth/modules/i2p/__init__.py:45
+#: plinth/modules/i2p/__init__.py:47
msgid ""
"The Invisible Internet Project is an anonymous network layer intended to "
"protect communication from censorship and surveillance. I2P provides "
@@ -1680,7 +1679,7 @@ msgstr ""
"anonimato al enviar trafico cifrado a través de una red mantenida por "
"voluntarios alrededor del mundo."
-#: plinth/modules/i2p/__init__.py:49
+#: plinth/modules/i2p/__init__.py:51
#, fuzzy
#| msgid ""
#| "For more information about the %(box_name)s project, see the sitio web."
-#: plinth/modules/i2p/__init__.py:51
+#: plinth/modules/i2p/__init__.py:53
msgid ""
"The first visit to the provided web interface will initiate the "
"configuration process."
@@ -1700,21 +1699,21 @@ msgstr ""
"La primer visita a la interfaz web provista iniciará el proceso de "
"configuración."
-#: plinth/modules/i2p/__init__.py:57
+#: plinth/modules/i2p/__init__.py:59
msgid "Manage I2P application"
msgstr "Administrar la aplicación I2P"
-#: plinth/modules/i2p/templates/i2p.html:32 plinth/templates/service.html:56
+#: plinth/modules/i2p/templates/i2p.html:32 plinth/templates/app.html:56
#, python-format
msgid "Service %(service_name)s is running."
msgstr "El servidor %(service_name)s se está ejecutando."
-#: plinth/modules/i2p/templates/i2p.html:37 plinth/templates/service.html:61
+#: plinth/modules/i2p/templates/i2p.html:37 plinth/templates/app.html:61
#, python-format
msgid "Service %(service_name)s is not running."
msgstr "El servidor %(service_name)s no se está ejecutando."
-#: plinth/modules/i2p/templates/i2p_service.html:13
+#: plinth/modules/i2p/templates/i2p_service.html:31
#: plinth/templates/clients.html:51
msgid "Launch"
msgstr "Ejecutar"
@@ -1727,11 +1726,11 @@ msgstr "Proxy"
msgid "Anonymous torrents"
msgstr "Torrents anónimos"
-#: plinth/modules/i2p/views.py:86
+#: plinth/modules/i2p/views.py:88
msgid "I2P Proxies and Tunnels"
msgstr "I2P Proxys y Túneles"
-#: plinth/modules/i2p/views.py:89
+#: plinth/modules/i2p/views.py:91
msgid ""
"I2P lets you browse the Internet and hidden services (eepsites) anonymously. "
"For this, your browser, preferably a Tor Browser, needs to be configured for "
@@ -1741,7 +1740,7 @@ msgstr ""
"manera anónima. Para esto, tu navegador, de preferencia el Navegador Tor, "
"necesita estar configurado como un proxy."
-#: plinth/modules/i2p/views.py:92
+#: plinth/modules/i2p/views.py:94
msgid ""
"By default HTTP, HTTPS and IRC proxies are available. Additional proxies and "
"tunnels may be configured using the tunnel configuration interface."
@@ -1750,11 +1749,11 @@ msgstr ""
"adicionales y túneles pueden ser configurados usando la interfaz de "
"configuración de túnel."
-#: plinth/modules/i2p/views.py:101
+#: plinth/modules/i2p/views.py:103
msgid "Anonymous Torrents"
msgstr "Torrents Anónimos"
-#: plinth/modules/i2p/views.py:104
+#: plinth/modules/i2p/views.py:106
msgid ""
"I2P provides an application to download files anonymously in a peer-to-peer "
"network. Download files by adding torrents or create a new torrent to share "
@@ -1764,15 +1763,15 @@ msgstr ""
"red par-a-par. Descarga los archivos al agregar los torrents o crea un nuevo "
"torrent para compartir un archivo."
-#: plinth/modules/ikiwiki/__init__.py:42 plinth/modules/ikiwiki/manifest.py:24
+#: plinth/modules/ikiwiki/__init__.py:41 plinth/modules/ikiwiki/manifest.py:24
msgid "ikiwiki"
msgstr "ikiwiki"
-#: plinth/modules/ikiwiki/__init__.py:44
+#: plinth/modules/ikiwiki/__init__.py:43
msgid "Wiki and Blog"
msgstr "Wiki y Blog"
-#: plinth/modules/ikiwiki/__init__.py:47
+#: plinth/modules/ikiwiki/__init__.py:46
msgid ""
"ikiwiki is a simple wiki and blog application. It supports several "
"lightweight markup languages, including Markdown, and common blogging "
@@ -1784,7 +1783,7 @@ msgstr ""
"como comentarios o fuentes RSS. Cuando está activo los blogs y wikis están "
"accesibles en /ikiwiki (una vez hayan sido creados)."
-#: plinth/modules/ikiwiki/__init__.py:53
+#: plinth/modules/ikiwiki/__init__.py:52
#, python-brace-format
msgid ""
"Only {box_name} users in the admin group can create and "
@@ -1798,7 +1797,7 @@ msgstr ""
"\"{users_url}\">configuración de usuarios puede modificar estos permisos "
"o añadir nuevos usuarios."
-#: plinth/modules/ikiwiki/__init__.py:63
+#: plinth/modules/ikiwiki/__init__.py:62
msgid "View and edit wiki applications"
msgstr "Aplicaciones wiki para ver y editar"
@@ -1868,49 +1867,49 @@ msgstr "Ir al sitio %(site)s"
msgid "Manage"
msgstr "Gestionar"
-#: plinth/modules/ikiwiki/views.py:121
+#: plinth/modules/ikiwiki/views.py:124
#, python-brace-format
msgid "Created wiki {name}."
msgstr "Wiki {name} creado."
-#: plinth/modules/ikiwiki/views.py:124
+#: plinth/modules/ikiwiki/views.py:127
#, python-brace-format
msgid "Could not create wiki: {error}"
msgstr "No se pudo crear el wiki: {error}"
-#: plinth/modules/ikiwiki/views.py:134
+#: plinth/modules/ikiwiki/views.py:137
#, python-brace-format
msgid "Created blog {name}."
msgstr "Blog {name} creado."
-#: plinth/modules/ikiwiki/views.py:137
+#: plinth/modules/ikiwiki/views.py:140
#, python-brace-format
msgid "Could not create blog: {error}"
msgstr "No se pudo crear el blog: {error}"
-#: plinth/modules/ikiwiki/views.py:150
+#: plinth/modules/ikiwiki/views.py:153
#, python-brace-format
msgid "{name} deleted."
msgstr "{name} eliminado."
-#: plinth/modules/ikiwiki/views.py:154
+#: plinth/modules/ikiwiki/views.py:157
#, python-brace-format
msgid "Could not delete {name}: {error}"
msgstr "No se pudo eliminar {name}: {error}"
-#: plinth/modules/infinoted/__init__.py:41
+#: plinth/modules/infinoted/__init__.py:40
msgid "infinoted"
msgstr "infinoted"
-#: plinth/modules/infinoted/__init__.py:43
+#: plinth/modules/infinoted/__init__.py:42
msgid "Gobby Server"
msgstr "Servidor Gobby"
-#: plinth/modules/infinoted/__init__.py:46
+#: plinth/modules/infinoted/__init__.py:45
msgid "infinoted is a server for Gobby, a collaborative text editor."
msgstr "infinoted es un servidor para Gobby, un editor de texto colaborativo."
-#: plinth/modules/infinoted/__init__.py:48
+#: plinth/modules/infinoted/__init__.py:47
#, python-brace-format
msgid ""
"To use it, download Gobby, desktop "
@@ -2295,11 +2294,11 @@ msgstr "El certificado para el dominio {domain} ha sido eliminado con éxito"
msgid "Failed to delete certificate for domain {domain}: {error}"
msgstr "Falló la eliminación del certificado para el dominio {domain}: {error}"
-#: plinth/modules/matrixsynapse/__init__.py:41
+#: plinth/modules/matrixsynapse/__init__.py:43
msgid "Matrix Synapse"
msgstr "Matrix Synapse"
-#: plinth/modules/matrixsynapse/__init__.py:46
+#: plinth/modules/matrixsynapse/__init__.py:48
msgid ""
"Matrix is an new "
"ecosystem for open, federated instant messaging and VoIP. Synapse is a "
@@ -2316,7 +2315,7 @@ msgstr ""
"funcionar. La federación de los servidores permite que las/os usuarias/os de "
"un servidor Matrix contacten con los de otro servidor."
-#: plinth/modules/matrixsynapse/__init__.py:53
+#: plinth/modules/matrixsynapse/__init__.py:55
msgid ""
"To communicate, you can use the available clients for mobile, desktop and the web. Special:CreateAccount."
-#: plinth/modules/mediawiki/__init__.py:49
+#: plinth/modules/mediawiki/__init__.py:53
msgid ""
"Anyone with a link to this wiki can read it. Only users that are logged in "
"can make changes to the content."
@@ -2500,32 +2499,32 @@ msgstr ""
msgid "Password updated"
msgstr "Clave actualizada"
-#: plinth/modules/mediawiki/views.py:91
+#: plinth/modules/mediawiki/views.py:89
msgid "Public registrations enabled"
msgstr "Habilitado el registro público"
-#: plinth/modules/mediawiki/views.py:100
+#: plinth/modules/mediawiki/views.py:98
msgid "Public registrations disabled"
msgstr "Inhabilitado el registro público"
-#: plinth/modules/mediawiki/views.py:109
+#: plinth/modules/mediawiki/views.py:107
msgid "Private mode enabled"
msgstr "Activado el modo privado"
-#: plinth/modules/mediawiki/views.py:112
+#: plinth/modules/mediawiki/views.py:110
msgid "Private mode disabled"
msgstr "Desactivado el modo privado"
-#: plinth/modules/minetest/__init__.py:53
+#: plinth/modules/minetest/__init__.py:52
#: plinth/modules/minetest/manifest.py:25
msgid "Minetest"
msgstr "Minetest"
-#: plinth/modules/minetest/__init__.py:55
+#: plinth/modules/minetest/__init__.py:54
msgid "Block Sandbox"
msgstr "Sandbox de bloques"
-#: plinth/modules/minetest/__init__.py:59
+#: plinth/modules/minetest/__init__.py:58
#, python-brace-format
msgid ""
"Minetest is a multiplayer infinite-world block sandbox. This module enables "
@@ -2538,11 +2537,11 @@ msgstr ""
"defecto (30000). Para acceder al servidor necesitará un Cliente Minetest."
-#: plinth/modules/minetest/forms.py:31
+#: plinth/modules/minetest/forms.py:30
msgid "Maximum number of players"
msgstr "Número máximo de jugadoras/es"
-#: plinth/modules/minetest/forms.py:35
+#: plinth/modules/minetest/forms.py:32
msgid ""
"You can change the maximum number of players playing minetest at a single "
"instance of time."
@@ -2550,11 +2549,11 @@ msgstr ""
"Puede cambiar el número máximo de jugadoras/es minetest en una sola "
"instancia de tiempo."
-#: plinth/modules/minetest/forms.py:39
+#: plinth/modules/minetest/forms.py:36
msgid "Enable creative mode"
msgstr "Activar modo creativo"
-#: plinth/modules/minetest/forms.py:41
+#: plinth/modules/minetest/forms.py:37
msgid ""
"Creative mode changes the rules of the game to make it more suitable for "
"creative gameplay, rather than challenging \"survival\" gameplay."
@@ -2562,21 +2561,21 @@ msgstr ""
"El modo creativo cambia las reglas del juego para hacerlo más adecuado para "
"el juego creativo, en lugar del más desafiante juego de \"supervivencia\"."
-#: plinth/modules/minetest/forms.py:46
+#: plinth/modules/minetest/forms.py:42
msgid "Enable PVP"
msgstr "Activar PVP"
-#: plinth/modules/minetest/forms.py:48
+#: plinth/modules/minetest/forms.py:43
msgid "Enabling Player Vs Player will allow players to damage other players."
msgstr ""
"Activar Jugador/a vs Jugador/a (PVP, Player Vs Player) permite inferir daño "
"a otros participantes."
-#: plinth/modules/minetest/forms.py:52
+#: plinth/modules/minetest/forms.py:47
msgid "Enable damage"
msgstr "Activar daño"
-#: plinth/modules/minetest/forms.py:54
+#: plinth/modules/minetest/forms.py:48
msgid "When disabled, players cannot die or receive damage of any kind."
msgstr ""
"Cuando se desactiva, los participantes no pueden morir o recibir daño de "
@@ -2592,32 +2591,32 @@ msgstr "Dirección"
msgid "Port"
msgstr "Puerto"
-#: plinth/modules/minetest/views.py:71
+#: plinth/modules/minetest/views.py:72
msgid "Maximum players configuration updated"
msgstr "Configuración de número máximo de jugadoras/es actualizada"
-#: plinth/modules/minetest/views.py:78
+#: plinth/modules/minetest/views.py:79
msgid "Creative mode configuration updated"
msgstr "Configuración del modo creativo actualizada"
-#: plinth/modules/minetest/views.py:84
+#: plinth/modules/minetest/views.py:85
msgid "PVP configuration updated"
msgstr "Configuración PVP actualizada"
-#: plinth/modules/minetest/views.py:90
+#: plinth/modules/minetest/views.py:91
msgid "Damage configuration updated"
msgstr "Configuración de daño actualizada"
-#: plinth/modules/mldonkey/__init__.py:38
+#: plinth/modules/mldonkey/__init__.py:40
#: plinth/modules/mldonkey/manifest.py:27
msgid "MLDonkey"
msgstr "MLDonkey"
-#: plinth/modules/mldonkey/__init__.py:40
+#: plinth/modules/mldonkey/__init__.py:42
msgid "Peer-to-peer File Sharing"
msgstr "Compartir archivos entre pares"
-#: plinth/modules/mldonkey/__init__.py:43
+#: plinth/modules/mldonkey/__init__.py:45
msgid ""
"MLDonkey is a peer-to-peer file sharing application used to exchange large "
"files. It can participate in multiple peer-to-peer networks including "
@@ -2627,7 +2626,7 @@ msgstr ""
"para intercambiar archivos grandes. Puede participar en múltiples redes de "
"pares, incluyendo eDonkey, Kademlia, Overnet, BitTorrent y DirectConnect."
-#: plinth/modules/mldonkey/__init__.py:46
+#: plinth/modules/mldonkey/__init__.py:48
msgid ""
"Users belonging to admin and ed2k group can control it through the web "
"interface. Users in the admin group can also control it through any of the "
@@ -2638,7 +2637,7 @@ msgstr ""
"también a través de cualquiera de las interfaces externas para móvil o "
"escritorio, o de una interfaz «telnet». Vea el manual."
-#: plinth/modules/mldonkey/__init__.py:51
+#: plinth/modules/mldonkey/__init__.py:53
#, python-brace-format
msgid ""
"On {box_name}, downloaded files can be found in /var/lib/mldonkey/ directory."
@@ -2646,7 +2645,7 @@ msgstr ""
"Los archivos descargados en {box_name} se encuentran en el directorio «/var/"
"lib/mldonkey/»."
-#: plinth/modules/mldonkey/__init__.py:59
+#: plinth/modules/mldonkey/__init__.py:61
msgid "Download files using eDonkey applications"
msgstr "Descargar archivos usando aplicaciones para eDonkey"
@@ -2725,12 +2724,6 @@ msgstr "Huella digital OpenPGP"
msgid "Secure Shell"
msgstr "Intérprete de órdenes seguro"
-#: plinth/modules/monkeysphere/templates/monkeysphere.html:88
-#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:60
-#: plinth/service.py:138
-msgid "Web Server"
-msgstr "Servidor Web"
-
#: plinth/modules/monkeysphere/templates/monkeysphere.html:90
#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:62
msgid "Other"
@@ -2825,15 +2818,15 @@ msgstr "Publicada la clave en el servidor de claves."
msgid "Error occurred while publishing key."
msgstr "Se ha producido un error al publicar la clave."
-#: plinth/modules/mumble/__init__.py:34 plinth/modules/mumble/manifest.py:27
+#: plinth/modules/mumble/__init__.py:35 plinth/modules/mumble/manifest.py:27
msgid "Mumble"
msgstr "Mumble"
-#: plinth/modules/mumble/__init__.py:36
+#: plinth/modules/mumble/__init__.py:37
msgid "Voice Chat"
msgstr "Chat de voz"
-#: plinth/modules/mumble/__init__.py:45
+#: plinth/modules/mumble/__init__.py:44
msgid ""
"Mumble is an open source, low-latency, encrypted, high quality voice chat "
"software."
@@ -2841,7 +2834,7 @@ msgstr ""
"Mumble es un software libre de gran calidad para chat de voz, de baja "
"latencia y con cifrado."
-#: plinth/modules/mumble/__init__.py:47
+#: plinth/modules/mumble/__init__.py:46
msgid ""
"You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your "
@@ -2897,7 +2890,7 @@ msgstr "No disponible"
msgid "Networks"
msgstr "Redes"
-#: plinth/modules/networks/__init__.py:142
+#: plinth/modules/networks/__init__.py:144
#, python-brace-format
msgid "Using DNSSEC on IPv{kind}"
msgstr "DNSSEC en uso sobre IPv{kind}"
@@ -3351,7 +3344,7 @@ msgstr "IPv4"
#: plinth/modules/networks/templates/connection_show.html:186
#: plinth/modules/networks/templates/connection_show.html:227
-#: plinth/modules/shadowsocks/forms.py:75
+#: plinth/modules/shadowsocks/forms.py:65
msgid "Method"
msgstr "Método"
@@ -3483,15 +3476,15 @@ msgstr "Inactiva"
msgid "Create..."
msgstr "Crear…"
-#: plinth/modules/openvpn/__init__.py:40
+#: plinth/modules/openvpn/__init__.py:39
msgid "OpenVPN"
msgstr "OpenVPN"
-#: plinth/modules/openvpn/__init__.py:42
+#: plinth/modules/openvpn/__init__.py:41
msgid "Virtual Private Network"
msgstr "Red privada virtual"
-#: plinth/modules/openvpn/__init__.py:46
+#: plinth/modules/openvpn/__init__.py:45
#, python-brace-format
msgid ""
"Virtual Private Network (VPN) is a technique for securely connecting two "
@@ -3508,7 +3501,7 @@ msgstr ""
"forma privada. También puede acceder a Internet a través de su {box_name} "
"para añadir protección y anonimato."
-#: plinth/modules/openvpn/__init__.py:74
+#: plinth/modules/openvpn/__init__.py:75
#, python-brace-format
msgid ""
"Download Profile"
@@ -3588,11 +3581,11 @@ msgstr "El servidor OpenVPN se está ejecutando"
msgid "OpenVPN server is not running"
msgstr "El servidor OpenVPN no se está ejecutando"
-#: plinth/modules/openvpn/views.py:128
+#: plinth/modules/openvpn/views.py:126
msgid "Setup completed."
msgstr "Configuración completada."
-#: plinth/modules/openvpn/views.py:130
+#: plinth/modules/openvpn/views.py:128
msgid "Setup failed."
msgstr "Ha fallado la configuración."
@@ -3677,7 +3670,7 @@ msgstr ""
"Seleccione su servidor pagekite. Elija \"pagekite.net\" para usar el "
"servidor pagekite por defecto."
-#: plinth/modules/pagekite/forms.py:78 plinth/modules/shadowsocks/forms.py:64
+#: plinth/modules/pagekite/forms.py:78 plinth/modules/shadowsocks/forms.py:57
msgid "Server port"
msgstr "Puerto del servidor"
@@ -3890,29 +3883,29 @@ msgstr "Los servicios publicados son accesibles y vulnerables desde Internet."
msgid "Save Services"
msgstr "Guardar servicios"
-#: plinth/modules/pagekite/utils.py:53
+#: plinth/modules/pagekite/utils.py:57
msgid "Web Server (HTTP)"
msgstr "Servidor Web (HTTP)"
-#: plinth/modules/pagekite/utils.py:54
+#: plinth/modules/pagekite/utils.py:59
#, python-brace-format
msgid "Site will be available at http://{0}"
msgstr "El sitio estará disponible en http://{0}"
-#: plinth/modules/pagekite/utils.py:63
+#: plinth/modules/pagekite/utils.py:71
msgid "Web Server (HTTPS)"
msgstr "Servidor web seguro (HTTPS)"
-#: plinth/modules/pagekite/utils.py:64
+#: plinth/modules/pagekite/utils.py:73
#, python-brace-format
msgid "Site will be available at https://{0}"
msgstr "El sitio estará disponible en https://{0}"
-#: plinth/modules/pagekite/utils.py:73
+#: plinth/modules/pagekite/utils.py:85
msgid "Secure Shell (SSH)"
msgstr "Intérprete de órdenes seguro (SSH)"
-#: plinth/modules/pagekite/utils.py:74
+#: plinth/modules/pagekite/utils.py:87
msgid ""
"See SSH client setup instructions"
@@ -3920,19 +3913,19 @@ msgstr ""
"Vea las instrucciones para la configuración del cliente SSH"
-#: plinth/modules/pagekite/utils.py:276
+#: plinth/modules/pagekite/utils.py:288
msgid "Pagekite"
msgstr "PageKite"
-#: plinth/modules/pagekite/views.py:39
+#: plinth/modules/pagekite/views.py:40
msgid "Standard Services"
msgstr "Servicios estándar"
-#: plinth/modules/pagekite/views.py:42
+#: plinth/modules/pagekite/views.py:44
msgid "Custom Services"
msgstr "Servicios personalizados"
-#: plinth/modules/pagekite/views.py:156
+#: plinth/modules/pagekite/views.py:158
msgid "Pagekite setup finished. The HTTP and HTTPS services are activated now."
msgstr ""
"La configuración de PageKite ha terminado. Los servicios HTTP y HTTPS están "
@@ -4005,15 +3998,15 @@ msgstr ""
msgid "Shut Down Now"
msgstr "Apagar ahora"
-#: plinth/modules/privoxy/__init__.py:41
+#: plinth/modules/privoxy/__init__.py:42
msgid "Privoxy"
msgstr "Privoxy"
-#: plinth/modules/privoxy/__init__.py:43
+#: plinth/modules/privoxy/__init__.py:44
msgid "Web Proxy"
msgstr "Proxy Web"
-#: plinth/modules/privoxy/__init__.py:46
+#: plinth/modules/privoxy/__init__.py:47
msgid ""
"Privoxy is a non-caching web proxy with advanced filtering capabilities for "
"enhancing privacy, modifying web page data and HTTP headers, controlling "
@@ -4024,7 +4017,7 @@ msgstr ""
"cabeceras HTTP, controlar el acceso y eliminar publicidad y otra basura de "
"Internet. "
-#: plinth/modules/privoxy/__init__.py:51
+#: plinth/modules/privoxy/__init__.py:52
#, python-brace-format
msgid ""
"You can use Privoxy by modifying your browser proxy settings to your "
@@ -4039,20 +4032,20 @@ msgstr ""
"documentación en http://config."
"privoxy.org/ o http://p.p."
-#: plinth/modules/privoxy/__init__.py:157
+#: plinth/modules/privoxy/__init__.py:142
#, python-brace-format
msgid "Access {url} with proxy {proxy} on tcp{kind}"
msgstr "Acceso a {url} con proxy {proxy} en tcp {kind}"
-#: plinth/modules/quassel/__init__.py:41 plinth/modules/quassel/manifest.py:25
+#: plinth/modules/quassel/__init__.py:40 plinth/modules/quassel/manifest.py:25
msgid "Quassel"
msgstr "Quassel"
-#: plinth/modules/quassel/__init__.py:43
+#: plinth/modules/quassel/__init__.py:42
msgid "IRC Client"
msgstr "Cliente IRC"
-#: plinth/modules/quassel/__init__.py:47
+#: plinth/modules/quassel/__init__.py:46
#, python-brace-format
msgid ""
"Quassel is an IRC application that is split into two parts, a \"core\" and a "
@@ -4069,7 +4062,7 @@ msgstr ""
"conectado de forma que distintos clientes Quassel pueden conectarse y "
"desconectarse de este servidor desde un ordenador de escritorio o un móvil."
-#: plinth/modules/quassel/__init__.py:54
+#: plinth/modules/quassel/__init__.py:53
msgid ""
"You can connect to your Quassel core on the default Quassel port 4242. "
"Clients to connect to Quassel from your ) y su nombre de usuario. Pulsando en el botón de búsqueda le "
"mostrará un listado de los calendarios y agendas existentes."
-#: plinth/modules/radicale/views.py:55
+#: plinth/modules/radicale/views.py:56
msgid "Access rights configuration updated"
msgstr "Configuración de derechos de acceso actualizada"
-#: plinth/modules/repro/__init__.py:38
+#: plinth/modules/repro/__init__.py:40
msgid "repro"
msgstr "repro"
-#: plinth/modules/repro/__init__.py:40
+#: plinth/modules/repro/__init__.py:42
msgid "SIP Server"
msgstr "Servidor SIP"
-#: plinth/modules/repro/__init__.py:43
+#: plinth/modules/repro/__init__.py:45
msgid ""
"repro provides various SIP services that a SIP softphone can utilize to "
"provide audio and video calls as well as presence and instant messaging. "
@@ -4214,7 +4207,7 @@ msgstr ""
"un proxy para federar comunicaciones SIP con otros servidores de Internet de "
"forma parecida al email."
-#: plinth/modules/repro/__init__.py:49
+#: plinth/modules/repro/__init__.py:51
msgid ""
"To make SIP calls, a client application is needed. Available clients include "
"Jitsi (for computers) and CsipSimple (para teléfonos Android)."
-#: plinth/modules/repro/__init__.py:53
+#: plinth/modules/repro/__init__.py:55
msgid ""
"Note: Before using repro, domains and users will need to "
"be configured using the web-based "
@@ -4262,15 +4255,15 @@ msgstr ""
msgid "CSipSimple"
msgstr "CSipSimple"
-#: plinth/modules/restore/__init__.py:36 plinth/modules/restore/manifest.py:23
+#: plinth/modules/restore/__init__.py:37 plinth/modules/restore/manifest.py:23
msgid "reStore"
msgstr "reStore"
-#: plinth/modules/restore/__init__.py:38
+#: plinth/modules/restore/__init__.py:39
msgid "Unhosted Storage"
msgstr "Almacenamiento sin servidor"
-#: plinth/modules/restore/__init__.py:42
+#: plinth/modules/restore/__init__.py:43
#, python-brace-format
msgid ""
"reStore is a server for unhosted web "
@@ -4286,7 +4279,7 @@ msgstr ""
"el o la usuaria. Con reStore su {box_name} se convierte en un servidor de "
"almacenamiento sin servidor."
-#: plinth/modules/restore/__init__.py:48
+#: plinth/modules/restore/__init__.py:49
msgid ""
"You can create and edit accounts in the reStore web-"
"interface."
@@ -4294,16 +4287,16 @@ msgstr ""
"Puede crear y editar cuentas en la interfaz web de "
"reStore."
-#: plinth/modules/roundcube/__init__.py:34
+#: plinth/modules/roundcube/__init__.py:35
#: plinth/modules/roundcube/manifest.py:24
msgid "Roundcube"
msgstr "Roundcube"
-#: plinth/modules/roundcube/__init__.py:36
+#: plinth/modules/roundcube/__init__.py:37
msgid "Email Client"
msgstr "Cliente de correo"
-#: plinth/modules/roundcube/__init__.py:39
+#: plinth/modules/roundcube/__init__.py:40
msgid ""
"Roundcube webmail is a browser-based multilingual IMAP client with an "
"application-like user interface. It provides full functionality you expect "
@@ -4315,7 +4308,7 @@ msgstr ""
"un cliente de correo, incluyendo soporte MIME, agenda de contactos, "
"organización de carpetas, búsqueda de mensajes y corrección ortográfica."
-#: plinth/modules/roundcube/__init__.py:44
+#: plinth/modules/roundcube/__init__.py:45
msgid ""
"You can access Roundcube from /roundcube. Provide "
"the username and password of the email account you wish to access followed "
@@ -4330,7 +4323,7 @@ msgstr ""
"(recomendado) rellene el campo del servidor como imaps://imap.ejemplo."
"com."
-#: plinth/modules/roundcube/__init__.py:50
+#: plinth/modules/roundcube/__init__.py:51
msgid ""
"For Gmail, username will be your Gmail address, password will be your Google "
"account password and server will be imaps://imap.gmail.com. "
@@ -4404,12 +4397,12 @@ msgstr ""
msgid "Allow this application to be used by anyone who can reach it."
msgstr ""
-#: plinth/modules/searx/views.py:60 plinth/modules/searx/views.py:71
-#: plinth/modules/tor/views.py:139 plinth/modules/tor/views.py:168
+#: plinth/modules/searx/views.py:59 plinth/modules/searx/views.py:70
+#: plinth/modules/tor/views.py:141 plinth/modules/tor/views.py:168
msgid "Configuration updated."
msgstr "Configuración actualizada."
-#: plinth/modules/searx/views.py:63 plinth/modules/searx/views.py:74
+#: plinth/modules/searx/views.py:62 plinth/modules/searx/views.py:73
#: plinth/modules/tor/views.py:170
msgid "An error occurred during configuration."
msgstr "Ha habido un error en la configuración."
@@ -4473,15 +4466,15 @@ msgstr ""
"\">/shaarli de su servidor. Note que Shaarli solo soporta una cuenta de "
"usuaria/o, que debe configurar en el primer acceso."
-#: plinth/modules/shadowsocks/__init__.py:34
+#: plinth/modules/shadowsocks/__init__.py:35
msgid "Shadowsocks"
msgstr "Shadowsocks"
-#: plinth/modules/shadowsocks/__init__.py:36
+#: plinth/modules/shadowsocks/__init__.py:37
msgid "Socks5 Proxy"
msgstr "Proxy Socks5"
-#: plinth/modules/shadowsocks/__init__.py:45
+#: plinth/modules/shadowsocks/__init__.py:44
msgid ""
"Shadowsocks is a lightweight and secure SOCKS5 proxy, designed to protect "
"your Internet traffic. It can be used to bypass Internet filtering and "
@@ -4491,7 +4484,7 @@ msgstr ""
"tráfico en Internet. Se puede usar para eludir el filtrado o la censura de "
"Internet."
-#: plinth/modules/shadowsocks/__init__.py:49
+#: plinth/modules/shadowsocks/__init__.py:48
#, python-brace-format
msgid ""
"Your {box_name} can run a Shadowsocks client, that can connect to a "
@@ -4504,7 +4497,7 @@ msgstr ""
"Los dispositivos locales pueden conectarse a este proxy y la información se "
"enviará cifrada a través del servidor Shadowsocks."
-#: plinth/modules/shadowsocks/__init__.py:54
+#: plinth/modules/shadowsocks/__init__.py:53
msgid ""
"To use Shadowsocks after setup, set the SOCKS5 proxy URL in your device, "
"browser or application to http://freedombox_address:1080/"
@@ -4512,28 +4505,28 @@ msgstr ""
"Para usar Shadowsocks una vez configurado debe indicar la URL del proxy en "
"su dispositivo, navegador o aplicación como http://freedombox_address:1080/"
+#: plinth/modules/shadowsocks/forms.py:28
#: plinth/modules/shadowsocks/forms.py:29
-#: plinth/modules/shadowsocks/forms.py:30
msgid "Recommended"
msgstr "Recomendado"
-#: plinth/modules/shadowsocks/forms.py:60
+#: plinth/modules/shadowsocks/forms.py:54
msgid "Server"
msgstr "Servidor"
-#: plinth/modules/shadowsocks/forms.py:61
+#: plinth/modules/shadowsocks/forms.py:54
msgid "Server hostname or IP address"
msgstr "Nombre del servidor o dirección IP"
-#: plinth/modules/shadowsocks/forms.py:67
+#: plinth/modules/shadowsocks/forms.py:58
msgid "Server port number"
msgstr "Número de puerto del servidor"
-#: plinth/modules/shadowsocks/forms.py:71
+#: plinth/modules/shadowsocks/forms.py:61
msgid "Password used to encrypt data. Must match server password."
msgstr "Clave para cifrar los datos. Debe coincidir con la clave del servidor."
-#: plinth/modules/shadowsocks/forms.py:77
+#: plinth/modules/shadowsocks/forms.py:66
msgid "Encryption method. Must match setting on server."
msgstr "Método de cifrado. Debe coincidir con la configuración del servidor."
@@ -4824,7 +4817,7 @@ msgstr "Instantánea creada."
msgid "Storage snapshots configuration updated"
msgstr "Configuración de almacenamiento de instantáneas actualizada"
-#: plinth/modules/snapshot/views.py:153 plinth/modules/tor/views.py:72
+#: plinth/modules/snapshot/views.py:153 plinth/modules/tor/views.py:73
#, python-brace-format
msgid "Action error: {0} [{1}] [{2}]"
msgstr "Acción de error: {0} [{1}] [{2}]"
@@ -4855,11 +4848,11 @@ msgstr "Debe reiniciar el sistema para completar la restauración."
msgid "Rollback to Snapshot"
msgstr "Restaurar a instantánea"
-#: plinth/modules/ssh/__init__.py:39
+#: plinth/modules/ssh/__init__.py:40
msgid "Secure Shell (SSH) Server"
msgstr "Servidor de intérprete de órdenes seguro (SSH)"
-#: plinth/modules/ssh/__init__.py:42
+#: plinth/modules/ssh/__init__.py:43
msgid ""
"A Secure Shell server uses the secure shell protocol to accept connections "
"from remote computers. An authorized remote computer can perform "
@@ -4879,11 +4872,11 @@ msgstr "Inicio de sesión único"
msgid "Login"
msgstr "Inicio de sesión"
-#: plinth/modules/storage/__init__.py:36 plinth/modules/storage/views.py:53
+#: plinth/modules/storage/__init__.py:35 plinth/modules/storage/views.py:53
msgid "Storage"
msgstr "Almacén"
-#: plinth/modules/storage/__init__.py:44
+#: plinth/modules/storage/__init__.py:43
#, python-brace-format
msgid ""
"This module allows you to manage storage media attached to your {box_name}. "
@@ -4894,80 +4887,80 @@ msgstr ""
"{box_name}. Puede ver el medio de almacenamiento que está usando, montar y "
"desmontar medios extraíbles, ampliar la partición raíz, etc."
-#: plinth/modules/storage/__init__.py:211
+#: plinth/modules/storage/__init__.py:213
#, python-brace-format
msgid "{disk_size:.1f} bytes"
msgstr "{disk_size:.1f} bytes"
-#: plinth/modules/storage/__init__.py:215
+#: plinth/modules/storage/__init__.py:217
#, python-brace-format
msgid "{disk_size:.1f} KiB"
msgstr "{disk_size:.1f} KiB"
-#: plinth/modules/storage/__init__.py:219
+#: plinth/modules/storage/__init__.py:221
#, python-brace-format
msgid "{disk_size:.1f} MiB"
msgstr "{disk_size:.1f} MiB"
-#: plinth/modules/storage/__init__.py:223
+#: plinth/modules/storage/__init__.py:225
#, python-brace-format
msgid "{disk_size:.1f} GiB"
msgstr "{disk_size:.1f} GiB"
-#: plinth/modules/storage/__init__.py:226
+#: plinth/modules/storage/__init__.py:228
#, python-brace-format
msgid "{disk_size:.1f} TiB"
msgstr "{disk_size:.1f} TiB"
-#: plinth/modules/storage/__init__.py:233
+#: plinth/modules/storage/__init__.py:235
msgid "The operation failed."
msgstr "Falló la operación."
-#: plinth/modules/storage/__init__.py:235
+#: plinth/modules/storage/__init__.py:237
msgid "The operation was cancelled."
msgstr "Se ha cancelado la operación."
-#: plinth/modules/storage/__init__.py:237
+#: plinth/modules/storage/__init__.py:239
msgid "The device is already unmounting."
msgstr "El dispositivo ya se está desmontando."
-#: plinth/modules/storage/__init__.py:239
+#: plinth/modules/storage/__init__.py:241
msgid "The operation is not supported due to missing driver/tool support."
msgstr "No se soporta esta operación por falta de un driver o herramienta."
-#: plinth/modules/storage/__init__.py:242
+#: plinth/modules/storage/__init__.py:244
msgid "The operation timed out."
msgstr "La operación agotó el tiempo."
-#: plinth/modules/storage/__init__.py:244
+#: plinth/modules/storage/__init__.py:246
msgid "The operation would wake up a disk that is in a deep-sleep state."
msgstr "La operación podría activar un disco que está en estado de reposo."
-#: plinth/modules/storage/__init__.py:247
+#: plinth/modules/storage/__init__.py:249
msgid "Attempting to unmount a device that is busy."
msgstr "Tratando de desmontar un dispositivo ocupado."
-#: plinth/modules/storage/__init__.py:249
+#: plinth/modules/storage/__init__.py:251
msgid "The operation has already been cancelled."
msgstr "Ya se ha cancelado la operación."
-#: plinth/modules/storage/__init__.py:255
+#: plinth/modules/storage/__init__.py:257
msgid "Not authorized to perform the requested operation."
msgstr "No tiene autorización para la operación solicitada."
-#: plinth/modules/storage/__init__.py:257
+#: plinth/modules/storage/__init__.py:259
msgid "The device is already mounted."
msgstr "El dispositivo ya está montado."
-#: plinth/modules/storage/__init__.py:259
+#: plinth/modules/storage/__init__.py:261
msgid "The device is not mounted."
msgstr "El dispositivo no está montado."
-#: plinth/modules/storage/__init__.py:262
+#: plinth/modules/storage/__init__.py:264
msgid "Not permitted to use the requested option."
msgstr "La operación solicitada no está permitida."
-#: plinth/modules/storage/__init__.py:265
+#: plinth/modules/storage/__init__.py:267
msgid "The device is mounted by another user."
msgstr "El dispositivo está ya montado por otro usuario."
@@ -5051,16 +5044,16 @@ msgstr "El dispositivo ya se puede desconectar con seguridad."
msgid "Error ejecting device: {error_message}"
msgstr "Error al expulsar el dispositivo: {error_message}"
-#: plinth/modules/syncthing/__init__.py:38
+#: plinth/modules/syncthing/__init__.py:40
#: plinth/modules/syncthing/manifest.py:28
msgid "Syncthing"
msgstr "Syncthing"
-#: plinth/modules/syncthing/__init__.py:40
+#: plinth/modules/syncthing/__init__.py:42
msgid "File Synchronization"
msgstr "Sincronización de archivos"
-#: plinth/modules/syncthing/__init__.py:43
+#: plinth/modules/syncthing/__init__.py:45
msgid ""
"Syncthing is an application to synchronize files across multiple devices, e."
"g. your desktop computer and mobile phone. Creation, modification, or "
@@ -5072,7 +5065,7 @@ msgstr ""
"modificación o borrado de archivos en uno de los dispositivos se replica "
"automáticamente en todos los demás que también estén ejecutando Syncthing."
-#: plinth/modules/syncthing/__init__.py:48
+#: plinth/modules/syncthing/__init__.py:50
#, python-brace-format
msgid ""
"Running Syncthing on {box_name} provides an extra synchronization point for "
@@ -5089,7 +5082,7 @@ msgstr ""
"sincronizarse con un conjunto distinto de carpetas. La interfaz web en "
"{box_name} solo está disponible para quienes pertenezcan al grupo \"admin\"."
-#: plinth/modules/syncthing/__init__.py:55
+#: plinth/modules/syncthing/__init__.py:57
msgid ""
"When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile clients are also /syncthing. También hay disponibles clientes de móvil y escritorio."
-#: plinth/modules/syncthing/__init__.py:62
+#: plinth/modules/syncthing/__init__.py:64
msgid "Administer Syncthing application"
msgstr "Administrar Syncthing"
-#: plinth/modules/tahoe/__init__.py:41
+#: plinth/modules/tahoe/__init__.py:43
msgid "Tahoe-LAFS"
msgstr "Tahoe-LAFS"
-#: plinth/modules/tahoe/__init__.py:43
+#: plinth/modules/tahoe/__init__.py:45
msgid "Distributed File Storage"
msgstr "Almacén de archivos distribuido"
-#: plinth/modules/tahoe/__init__.py:107
+#: plinth/modules/tahoe/__init__.py:119
msgid ""
"Tahoe-LAFS is a decentralized secure file storage system. It uses provider "
"independent security to store files over a distributed network of storage "
@@ -5124,7 +5117,7 @@ msgstr ""
"de los nodos fallara, sus archivos seguirían estando disponibles a través "
"del resto de nodos."
-#: plinth/modules/tahoe/__init__.py:112
+#: plinth/modules/tahoe/__init__.py:124
#, python-brace-format
msgid ""
"This {box_name} hosts a storage node and an introducer by default. "
@@ -5174,11 +5167,11 @@ msgstr "Presentadores conectados"
msgid "Remove"
msgstr "Eliminar"
-#: plinth/modules/tor/__init__.py:43
+#: plinth/modules/tor/__init__.py:46
msgid "Tor"
msgstr "Tor"
-#: plinth/modules/tor/__init__.py:48
+#: plinth/modules/tor/__init__.py:51
msgid ""
"Tor is an anonymous communication system. You can learn more about it from "
"the Tor Project website. For "
@@ -5192,40 +5185,36 @@ msgstr ""
"download/download-easy.html.en\">Navegador Tor para tener la mejor "
"protección cuando navega por la red."
-#: plinth/modules/tor/__init__.py:93
+#: plinth/modules/tor/__init__.py:80
msgid "Tor Socks Proxy"
msgstr "Proxy Socks para Tor"
-#: plinth/modules/tor/__init__.py:99 plinth/modules/tor/__init__.py:146
+#: plinth/modules/tor/__init__.py:84
msgid "Tor Bridge Relay"
msgstr "Puente de retransmisión Tor"
-#: plinth/modules/tor/__init__.py:120 plinth/modules/tor/__init__.py:188
+#: plinth/modules/tor/__init__.py:122 plinth/modules/tor/__init__.py:150
msgid "Tor Hidden Service"
msgstr "Servicio de ocultación Tor"
-#: plinth/modules/tor/__init__.py:136
-msgid "Tor Anonymity Network"
-msgstr "Red anónima Tor"
-
-#: plinth/modules/tor/__init__.py:208
+#: plinth/modules/tor/__init__.py:170
msgid "Tor relay port available"
msgstr "Puerto de servidor Tor disponible"
-#: plinth/modules/tor/__init__.py:218
+#: plinth/modules/tor/__init__.py:180
msgid "Obfs3 transport registered"
msgstr "Transporte Obfs3 registrado"
-#: plinth/modules/tor/__init__.py:226
+#: plinth/modules/tor/__init__.py:188
msgid "Obfs4 transport registered"
msgstr "Transporte Obfs4 registrado"
-#: plinth/modules/tor/__init__.py:265
+#: plinth/modules/tor/__init__.py:227
#, python-brace-format
msgid "Access URL {url} on tcp{kind} via Tor"
msgstr "Acceso a URL {url} sobre tcp {kind} vía Tor"
-#: plinth/modules/tor/__init__.py:276
+#: plinth/modules/tor/__init__.py:238
#, python-brace-format
msgid "Confirm Tor usage at {url} on tcp{kind}"
msgstr "Confirmar uso de Tor en {url} sobre tcp {kind}"
@@ -5387,12 +5376,12 @@ msgstr ""
"Un puerto SOCKS de Tor está disponible en su %(box_name)s en el puerto TCP "
"9050."
-#: plinth/modules/transmission/__init__.py:39
+#: plinth/modules/transmission/__init__.py:41
#: plinth/modules/transmission/manifest.py:24
msgid "Transmission"
msgstr "Transmission"
-#: plinth/modules/transmission/__init__.py:44
+#: plinth/modules/transmission/__init__.py:46
msgid ""
"BitTorrent is a peer-to-peer file sharing protocol. Transmission daemon "
"handles Bitorrent file sharing. Note that BitTorrent is not anonymous."
@@ -5401,7 +5390,7 @@ msgstr ""
"Transmission controla la compartición de archivos. Recuerde que BitTorrent "
"no es anónimo."
-#: plinth/modules/transmission/__init__.py:47
+#: plinth/modules/transmission/__init__.py:49
msgid ""
"Access the web interface at /transmission."
msgstr ""
@@ -5421,15 +5410,15 @@ msgstr ""
"defecto asegúrese de que el nuevo directorio existe y tiene permiso de "
"escritura para el usuario \"debian-transmission\"."
-#: plinth/modules/ttrss/__init__.py:41 plinth/modules/ttrss/manifest.py:34
+#: plinth/modules/ttrss/__init__.py:43 plinth/modules/ttrss/manifest.py:34
msgid "Tiny Tiny RSS"
msgstr "Tiny Tiny RSS"
-#: plinth/modules/ttrss/__init__.py:43
+#: plinth/modules/ttrss/__init__.py:45
msgid "News Feed Reader"
msgstr "Lector de noticias"
-#: plinth/modules/ttrss/__init__.py:46
+#: plinth/modules/ttrss/__init__.py:48
msgid ""
"Tiny Tiny RSS is a news feed (RSS/Atom) reader and aggregator, designed to "
"allow reading news from any location, while feeling as close to a real "
@@ -5439,7 +5428,7 @@ msgstr ""
"permitir noticias desde cualquier lugar, mientras mantiene un aspecto de "
"aplicación de escritorio en la medida de lo posible."
-#: plinth/modules/ttrss/__init__.py:50
+#: plinth/modules/ttrss/__init__.py:52
#, python-brace-format
msgid ""
"When enabled, Tiny Tiny RSS will be available from /tt-"
@@ -5451,7 +5440,7 @@ msgstr ""
"\"{users_url}\">persona con una cuenta de acceso en {box_name} puede "
"acceder."
-#: plinth/modules/ttrss/__init__.py:55
+#: plinth/modules/ttrss/__init__.py:57
msgid ""
"When using a mobile or desktop application for Tiny Tiny RSS, use the URL /tt-rss-app for connecting."
@@ -5459,7 +5448,7 @@ msgstr ""
"Cuando emplee una aplicación de móvil o de escritorio para Tiny Tiny RSS, "
"use la URL /tt-rss-app para conectar."
-#: plinth/modules/ttrss/__init__.py:61
+#: plinth/modules/ttrss/__init__.py:63
msgid "Read and subscribe to news feeds"
msgstr "Leer y suscribirse a nuevos agregadores"
@@ -5467,11 +5456,11 @@ msgstr "Leer y suscribirse a nuevos agregadores"
msgid "Tiny Tiny RSS (Fork)"
msgstr "Tiny Tiny RSS (Bifurcación)"
-#: plinth/modules/upgrades/__init__.py:36 plinth/templates/setup.html:101
+#: plinth/modules/upgrades/__init__.py:35 plinth/templates/setup.html:101
msgid "Update"
msgstr "Actualización"
-#: plinth/modules/upgrades/__init__.py:39
+#: plinth/modules/upgrades/__init__.py:38
msgid "Check for and apply the latest software and security updates."
msgstr ""
"Buscar y aplicar las últimas actualizaciones del software y de seguridad."
@@ -5512,32 +5501,32 @@ msgstr "Alternar los registros de las actualizaciones recientes"
msgid "Auto-update"
msgstr "Actualización automática"
-#: plinth/modules/upgrades/views.py:39
+#: plinth/modules/upgrades/views.py:40
msgid "Manual update"
msgstr "Actualización manual"
-#: plinth/modules/upgrades/views.py:78
+#: plinth/modules/upgrades/views.py:79
#, python-brace-format
msgid "Error when configuring unattended-upgrades: {error}"
msgstr "Error al configurar las actualizaciones desatendidas: {error}"
-#: plinth/modules/upgrades/views.py:82
+#: plinth/modules/upgrades/views.py:83
msgid "Automatic upgrades enabled"
msgstr "Actualizaciones automáticas activadas"
-#: plinth/modules/upgrades/views.py:85
+#: plinth/modules/upgrades/views.py:86
msgid "Automatic upgrades disabled"
msgstr "Actualizaciones automáticas desactivadas"
-#: plinth/modules/upgrades/views.py:87
+#: plinth/modules/upgrades/views.py:88
msgid "Settings unchanged"
msgstr "Configuración sin cambio"
-#: plinth/modules/upgrades/views.py:113
+#: plinth/modules/upgrades/views.py:114
msgid "Upgrade process started."
msgstr "Proceso de actualización iniciado."
-#: plinth/modules/upgrades/views.py:116
+#: plinth/modules/upgrades/views.py:117
msgid "Starting upgrade failed."
msgstr "No se ha podido iniciar la actualización."
@@ -5545,7 +5534,7 @@ msgstr "No se ha podido iniciar la actualización."
msgid "Users and Groups"
msgstr "Usuarias/os y grupos"
-#: plinth/modules/users/__init__.py:106
+#: plinth/modules/users/__init__.py:108
#, python-brace-format
msgid "Check LDAP entry \"{search_item}\""
msgstr "Comprobar la entrada LDAP \"{search_item}\""
@@ -5771,15 +5760,6 @@ msgstr "cambio de medio"
msgid "configuration file: {file}"
msgstr "archivo de configuración: {file}"
-#: plinth/service.py:140
-msgid "Web Server over Secure Socket Layer"
-msgstr "Servidor Web sobre SSL"
-
-#: plinth/service.py:145
-#, python-brace-format
-msgid "{box_name} Web Interface (Plinth)"
-msgstr "Interfaz web (Plinth) de {box_name}"
-
#: plinth/templates/403.html:25
msgid "403 Forbidden"
msgstr "403 Prohibido"
@@ -5998,16 +5978,16 @@ msgstr "Sala de chat IRC"
msgid "Mailing list"
msgstr "Lista de correo"
-#: plinth/templates/internal-zone.html:25
+#: plinth/templates/internal-zone.html:26
#, python-format
msgid "%(service_name)s is available only on internal networks."
msgstr "%(service_name)s solo está disponible en redes internas."
-#: plinth/templates/internal-zone.html:31
+#: plinth/templates/internal-zone.html:32
msgid "Currently there are no network interfaces configured as internal."
msgstr "No hay ninguna interfaz de red configurada como interna actualmente."
-#: plinth/templates/internal-zone.html:33
+#: plinth/templates/internal-zone.html:34
#, python-format
msgid ""
"Currently the following network interfaces are configured as internal: "
@@ -6077,10 +6057,24 @@ msgstr "Instalando %(package_names)s: %(status)s"
msgid "%(percentage)s%% complete"
msgstr "%(percentage)s%% completado"
+#: plinth/views.py:178
+msgid "Application enabled"
+msgstr "Aplicación activada"
+
+#: plinth/views.py:181
+msgid "Application disabled"
+msgstr "Aplicación desactivada"
+
#: plinth/web_framework.py:186
msgid "Gujarati"
msgstr "Gujarati"
+#~ msgid "Tor Anonymity Network"
+#~ msgstr "Red anónima Tor"
+
+#~ msgid "Web Server over Secure Socket Layer"
+#~ msgstr "Servidor Web sobre SSL"
+
#~ msgid "Current status:"
#~ msgstr "Estado actual:"
diff --git a/plinth/locale/fa/LC_MESSAGES/django.po b/plinth/locale/fa/LC_MESSAGES/django.po
index c3e7eb478..b26263db9 100644
--- a/plinth/locale/fa/LC_MESSAGES/django.po
+++ b/plinth/locale/fa/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-06-10 19:02-0400\n"
+"POT-Creation-Date: 2019-06-24 19:48-0400\n"
"PO-Revision-Date: 2016-08-12 15:51+0000\n"
"Last-Translator: Masoud Abkenar \n"
"Language-Team: Persian /"
@@ -510,7 +521,7 @@ msgid ""
"\"{users_url}\">any user on {box_name} belonging to the admin group."
msgstr ""
-#: plinth/modules/config/__init__.py:59 plinth/modules/dynamicdns/views.py:44
+#: plinth/modules/config/__init__.py:61 plinth/modules/dynamicdns/views.py:45
#: plinth/modules/i2p/views.py:31 plinth/modules/ikiwiki/views.py:35
#: plinth/modules/pagekite/views.py:36 plinth/modules/snapshot/views.py:40
#: plinth/modules/tahoe/templates/tahoe-pre-setup.html:39
@@ -518,7 +529,7 @@ msgstr ""
msgid "Configure"
msgstr "پیکربندی"
-#: plinth/modules/config/__init__.py:164 plinth/modules/config/forms.py:76
+#: plinth/modules/config/__init__.py:166 plinth/modules/config/forms.py:76
#: plinth/modules/config/views.py:171 plinth/modules/dynamicdns/forms.py:111
msgid "Domain Name"
msgstr "نام دامنه"
@@ -602,8 +613,8 @@ msgstr ""
#: plinth/modules/power/templates/power_restart.html:42
#: plinth/modules/power/templates/power_shutdown.html:41
#: plinth/modules/storage/templates/storage.html:48
-#: plinth/templates/service-subsubmenu.html:47 plinth/templates/service.html:42
-#: plinth/templates/setup.html:48 plinth/templates/simple_service.html:38
+#: plinth/templates/app-subsubmenu.html:47 plinth/templates/app.html:42
+#: plinth/templates/setup.html:48 plinth/templates/simple_app.html:38
#, fuzzy
msgid "Learn more..."
msgstr "بیشتر بدانید »"
@@ -654,22 +665,22 @@ msgstr ""
msgid "Hiding advanced apps and features"
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:38
+#: plinth/modules/coquelicot/__init__.py:40
msgid "Coquelicot"
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:40
+#: plinth/modules/coquelicot/__init__.py:42
msgid "File Sharing"
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:43
+#: plinth/modules/coquelicot/__init__.py:45
msgid ""
"Coquelicot is a “one-click” file sharing web application with a focus on "
"protecting users’ privacy. It is best used for quickly sharing a single "
"file. "
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:46
+#: plinth/modules/coquelicot/__init__.py:48
msgid ""
"This Coquelicot instance is exposed to the public but requires an upload "
"password to prevent unauthorized access. You can set a new upload password "
@@ -701,23 +712,23 @@ msgstr ""
msgid "coquelicot"
msgstr ""
-#: plinth/modules/coquelicot/views.py:57
+#: plinth/modules/coquelicot/views.py:59
#, fuzzy
#| msgid "Password"
msgid "Upload password updated"
msgstr "رمز"
-#: plinth/modules/coquelicot/views.py:60
+#: plinth/modules/coquelicot/views.py:62
msgid "Failed to update upload password"
msgstr ""
-#: plinth/modules/coquelicot/views.py:68
+#: plinth/modules/coquelicot/views.py:70
#, fuzzy
#| msgid "Configuration updated"
msgid "Maximum file size updated"
msgstr "پیکربندی بهروز شد"
-#: plinth/modules/coquelicot/views.py:71
+#: plinth/modules/coquelicot/views.py:73
msgid "Failed to update maximum file size"
msgstr ""
@@ -737,15 +748,15 @@ msgstr ""
"کارگزار زمان شبکه (network time server) برنامهای است که زمان سیستم را منطبق "
"با زمان کارگزارهای اینترنتی میکند."
-#: plinth/modules/datetime/__init__.py:107
+#: plinth/modules/datetime/__init__.py:99
msgid "Time synchronized to NTP server"
msgstr ""
-#: plinth/modules/datetime/forms.py:36
+#: plinth/modules/datetime/forms.py:35
msgid "Time Zone"
msgstr "منطقهٔ زمانی"
-#: plinth/modules/datetime/forms.py:37
+#: plinth/modules/datetime/forms.py:36
#, fuzzy
#| msgid ""
#| "Set your time zone to get accurate timestamps. This will set the "
@@ -757,7 +768,7 @@ msgstr ""
"منطقهٔ زمانی خود را تنظیم کنید تا زمانها درست ثبت شوند. با این کار منطقهٔ "
"زمانی کل سیستم عوض میشود."
-#: plinth/modules/datetime/forms.py:49
+#: plinth/modules/datetime/forms.py:47
msgid "-- no time zone set --"
msgstr "-- منطقهٔ زمانی تعیین نشده --"
@@ -775,7 +786,7 @@ msgid "Deluge"
msgstr ""
#: plinth/modules/deluge/__init__.py:41
-#: plinth/modules/transmission/__init__.py:41
+#: plinth/modules/transmission/__init__.py:43
#, fuzzy
#| msgid "BitTorrent Web Client (Deluge)"
msgid "BitTorrent Web Client"
@@ -796,7 +807,7 @@ msgstr ""
"فعالسازی این سرویس بلافاصله وارد شوید و رمز را عوض کنید."
#: plinth/modules/deluge/__init__.py:51
-#: plinth/modules/transmission/__init__.py:54
+#: plinth/modules/transmission/__init__.py:56
msgid "Download files using BitTorrent applications"
msgstr ""
@@ -860,12 +871,12 @@ msgstr "آزمون"
msgid "Result"
msgstr "نتیجهها"
-#: plinth/modules/diaspora/__init__.py:52
+#: plinth/modules/diaspora/__init__.py:54
#: plinth/modules/diaspora/manifest.py:38
msgid "diaspora*"
msgstr ""
-#: plinth/modules/diaspora/__init__.py:54
+#: plinth/modules/diaspora/__init__.py:56
msgid "Federated Social Network"
msgstr ""
@@ -912,22 +923,22 @@ msgstr ""
#: plinth/modules/tahoe/templates/tahoe-pre-setup.html:58
#: plinth/modules/tor/templates/tor.html:96
#: plinth/modules/upgrades/templates/upgrades_configure.html:32
-#: plinth/templates/service.html:89
+#: plinth/templates/app.html:89
msgid "Update setup"
msgstr "بهروزرسانی وضعیت"
-#: plinth/modules/diaspora/views.py:97 plinth/modules/ejabberd/views.py:64
-#: plinth/modules/matrixsynapse/views.py:107
-#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:150
-#: plinth/modules/tor/views.py:146 plinth/views.py:160
+#: plinth/modules/diaspora/views.py:94 plinth/modules/ejabberd/views.py:65
+#: plinth/modules/matrixsynapse/views.py:108
+#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:148
+#: plinth/modules/tor/views.py:148 plinth/views.py:174
msgid "Setting unchanged"
msgstr ""
-#: plinth/modules/diaspora/views.py:101
+#: plinth/modules/diaspora/views.py:98
msgid "User registrations enabled"
msgstr ""
-#: plinth/modules/diaspora/views.py:105
+#: plinth/modules/diaspora/views.py:102
msgid "User registrations disabled"
msgstr ""
@@ -964,8 +975,8 @@ msgstr ""
"نام DNS شما را به نشانی IP شما مرتبط میکند، و اگر کسی در اینترنت نام DNS شما "
"را جستجو کرد، نشانی IP شما را در پاسخ خواهد گرفت."
-#: plinth/modules/dynamicdns/__init__.py:85
-#: plinth/modules/dynamicdns/views.py:167
+#: plinth/modules/dynamicdns/__init__.py:87
+#: plinth/modules/dynamicdns/views.py:169
#, fuzzy
msgid "Dynamic DNS Service"
msgstr "برنامهٔ DNS متغیر (Dynamic DNS Client)"
@@ -1072,7 +1083,7 @@ msgid "Username"
msgstr "نام کاربری"
#: plinth/modules/dynamicdns/forms.py:121 plinth/modules/networks/forms.py:235
-#: plinth/modules/shadowsocks/forms.py:70
+#: plinth/modules/shadowsocks/forms.py:61
msgid "Password"
msgstr "رمز"
@@ -1167,48 +1178,48 @@ msgstr ""
msgid "Last update"
msgstr "آخرین بهروزرسانی"
-#: plinth/modules/dynamicdns/views.py:41 plinth/modules/help/help.py:57
+#: plinth/modules/dynamicdns/views.py:41 plinth/modules/help/help.py:59
msgid "About"
msgstr "درباره"
-#: plinth/modules/dynamicdns/views.py:47
+#: plinth/modules/dynamicdns/views.py:49
#: plinth/modules/firewall/templates/firewall.html:25
#: plinth/modules/firewall/templates/firewall.html:45
#: plinth/modules/i2p/templates/i2p.html:27
#: plinth/modules/networks/templates/connection_show.html:261
#: plinth/modules/openvpn/templates/openvpn.html:71
#: plinth/modules/tor/templates/tor.html:40
-#: plinth/modules/tor/templates/tor.html:68 plinth/templates/service.html:51
+#: plinth/modules/tor/templates/tor.html:68 plinth/templates/app.html:51
#, fuzzy
msgid "Status"
msgstr "وضعیت"
-#: plinth/modules/dynamicdns/views.py:78
+#: plinth/modules/dynamicdns/views.py:80
msgid "Configure Dynamic DNS"
msgstr "پیکربندی DNS متغیر"
-#: plinth/modules/dynamicdns/views.py:103
+#: plinth/modules/dynamicdns/views.py:105
msgid "Dynamic DNS Status"
msgstr "وضعیت DNS متغیر"
-#: plinth/modules/ejabberd/__init__.py:43
+#: plinth/modules/ejabberd/__init__.py:45
msgid "ejabberd"
msgstr ""
-#: plinth/modules/ejabberd/__init__.py:45
-#: plinth/modules/matrixsynapse/__init__.py:43
+#: plinth/modules/ejabberd/__init__.py:47
+#: plinth/modules/matrixsynapse/__init__.py:45
#, fuzzy
#| msgid "Web Server"
msgid "Chat Server"
msgstr "سرور وب"
-#: plinth/modules/ejabberd/__init__.py:48
+#: plinth/modules/ejabberd/__init__.py:50
msgid ""
"XMPP is an open and standardized communication protocol. Here you can run "
"and configure your XMPP server, called ejabberd."
msgstr ""
-#: plinth/modules/ejabberd/__init__.py:51
+#: plinth/modules/ejabberd/__init__.py:53
#, python-brace-format
msgid ""
"To actually communicate, you can use the web client"
@@ -1217,11 +1228,11 @@ msgid ""
"any user with a {box_name} login."
msgstr ""
-#: plinth/modules/ejabberd/forms.py:33
+#: plinth/modules/ejabberd/forms.py:32
msgid "Enable Message Archive Management"
msgstr ""
-#: plinth/modules/ejabberd/forms.py:36
+#: plinth/modules/ejabberd/forms.py:34
#, python-brace-format
msgid ""
"If enabled, your {box_name} will store chat message histories. This allows "
@@ -1293,35 +1304,23 @@ msgstr ""
#: plinth/modules/openvpn/templates/openvpn.html:123
#: plinth/modules/snapshot/templates/snapshot.html:27
#: plinth/modules/tahoe/templates/tahoe-post-setup.html:43
-#: plinth/modules/tor/templates/tor.html:88 plinth/templates/service.html:81
+#: plinth/modules/tor/templates/tor.html:88 plinth/templates/app.html:81
msgid "Configuration"
msgstr ""
-#: plinth/modules/ejabberd/views.py:68
-#: plinth/modules/matrixsynapse/views.py:111
-#: plinth/modules/mediawiki/views.py:79 plinth/views.py:164
-msgid "Application enabled"
-msgstr ""
-
-#: plinth/modules/ejabberd/views.py:71
-#: plinth/modules/matrixsynapse/views.py:114
-#: plinth/modules/mediawiki/views.py:82 plinth/views.py:167
-msgid "Application disabled"
-msgstr ""
-
-#: plinth/modules/ejabberd/views.py:78
+#: plinth/modules/ejabberd/views.py:77
msgid "Message Archive Management enabled"
msgstr ""
-#: plinth/modules/ejabberd/views.py:82
+#: plinth/modules/ejabberd/views.py:81
msgid "Message Archive Management disabled"
msgstr ""
-#: plinth/modules/firewall/__init__.py:40
+#: plinth/modules/firewall/__init__.py:36
msgid "Firewall"
msgstr "فایروال"
-#: plinth/modules/firewall/__init__.py:44
+#: plinth/modules/firewall/__init__.py:40
#, python-brace-format
msgid ""
"Firewall is a security system that controls the incoming and outgoing "
@@ -1440,31 +1439,31 @@ msgstr "آغاز راهاندازی"
msgid "Setup Complete"
msgstr "راهاندازی کامل شد"
-#: plinth/modules/help/help.py:44
+#: plinth/modules/help/help.py:46
msgid "Documentation"
msgstr "راهنما"
-#: plinth/modules/help/help.py:48 plinth/modules/networks/forms.py:68
+#: plinth/modules/help/help.py:50 plinth/modules/networks/forms.py:68
#: plinth/modules/networks/forms.py:108 plinth/templates/index.html:135
msgid "Manual"
msgstr "کتاب راهنما"
-#: plinth/modules/help/help.py:53
+#: plinth/modules/help/help.py:55
#, fuzzy
#| msgid "{box_name} Manual"
msgid "Download Manual"
msgstr "کتاب راهنمای {box_name}"
-#: plinth/modules/help/help.py:73
+#: plinth/modules/help/help.py:75
msgid "Documentation and FAQ"
msgstr "راهنما و پرسشهای رایج"
-#: plinth/modules/help/help.py:81
+#: plinth/modules/help/help.py:83
#, python-brace-format
msgid "About {box_name}"
msgstr "دربارهٔ {box_name}"
-#: plinth/modules/help/help.py:102
+#: plinth/modules/help/help.py:104
#, python-brace-format
msgid "{box_name} Manual"
msgstr "کتاب راهنمای {box_name}"
@@ -1616,16 +1615,16 @@ msgid ""
"before submitting the bug report."
msgstr ""
-#: plinth/modules/i2p/__init__.py:40 plinth/modules/i2p/manifest.py:31
+#: plinth/modules/i2p/__init__.py:42 plinth/modules/i2p/manifest.py:31
msgid "I2P"
msgstr ""
-#: plinth/modules/i2p/__init__.py:42 plinth/modules/tor/__init__.py:45
+#: plinth/modules/i2p/__init__.py:44 plinth/modules/tor/__init__.py:48
#, fuzzy
msgid "Anonymity Network"
msgstr "رفتن به تنظیمات شبکه"
-#: plinth/modules/i2p/__init__.py:45
+#: plinth/modules/i2p/__init__.py:47
msgid ""
"The Invisible Internet Project is an anonymous network layer intended to "
"protect communication from censorship and surveillance. I2P provides "
@@ -1633,7 +1632,7 @@ msgid ""
"distributed around the world."
msgstr ""
-#: plinth/modules/i2p/__init__.py:49
+#: plinth/modules/i2p/__init__.py:51
#, fuzzy
#| msgid ""
#| "For more information about the %(box_name)s project, see the ویکی %(box_name)s را ببینید."
-#: plinth/modules/i2p/__init__.py:51
+#: plinth/modules/i2p/__init__.py:53
msgid ""
"The first visit to the provided web interface will initiate the "
"configuration process."
msgstr ""
-#: plinth/modules/i2p/__init__.py:57
+#: plinth/modules/i2p/__init__.py:59
#, fuzzy
msgid "Manage I2P application"
msgstr "فعالسازی برنامه"
-#: plinth/modules/i2p/templates/i2p.html:32 plinth/templates/service.html:56
+#: plinth/modules/i2p/templates/i2p.html:32 plinth/templates/app.html:56
#, python-format
msgid "Service %(service_name)s is running."
msgstr ""
-#: plinth/modules/i2p/templates/i2p.html:37 plinth/templates/service.html:61
+#: plinth/modules/i2p/templates/i2p.html:37 plinth/templates/app.html:61
#, python-format
msgid "Service %(service_name)s is not running."
msgstr ""
-#: plinth/modules/i2p/templates/i2p_service.html:13
+#: plinth/modules/i2p/templates/i2p_service.html:31
#: plinth/templates/clients.html:51
msgid "Launch"
msgstr ""
@@ -1679,45 +1678,45 @@ msgstr ""
msgid "Anonymous torrents"
msgstr ""
-#: plinth/modules/i2p/views.py:86
+#: plinth/modules/i2p/views.py:88
msgid "I2P Proxies and Tunnels"
msgstr ""
-#: plinth/modules/i2p/views.py:89
+#: plinth/modules/i2p/views.py:91
msgid ""
"I2P lets you browse the Internet and hidden services (eepsites) anonymously. "
"For this, your browser, preferably a Tor Browser, needs to be configured for "
"a proxy."
msgstr ""
-#: plinth/modules/i2p/views.py:92
+#: plinth/modules/i2p/views.py:94
msgid ""
"By default HTTP, HTTPS and IRC proxies are available. Additional proxies and "
"tunnels may be configured using the tunnel configuration interface."
msgstr ""
-#: plinth/modules/i2p/views.py:101
+#: plinth/modules/i2p/views.py:103
msgid "Anonymous Torrents"
msgstr ""
-#: plinth/modules/i2p/views.py:104
+#: plinth/modules/i2p/views.py:106
msgid ""
"I2P provides an application to download files anonymously in a peer-to-peer "
"network. Download files by adding torrents or create a new torrent to share "
"a file."
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:42 plinth/modules/ikiwiki/manifest.py:24
+#: plinth/modules/ikiwiki/__init__.py:41 plinth/modules/ikiwiki/manifest.py:24
msgid "ikiwiki"
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:44
+#: plinth/modules/ikiwiki/__init__.py:43
#, fuzzy
#| msgid "Manage Wikis and Blogs"
msgid "Wiki and Blog"
msgstr "مدیریت ویکیها و وبلاگها"
-#: plinth/modules/ikiwiki/__init__.py:47
+#: plinth/modules/ikiwiki/__init__.py:46
#, fuzzy
#| msgid ""
#| "ikiwiki is a simple wiki and blog application. It supports several "
@@ -1735,7 +1734,7 @@ msgstr ""
"پشتیبانی میکند. اگر این برنامه فعال باشد، وبلاگها و ویکیها از نشانی /ikiwiki قابل دسترس خواهند بود."
-#: plinth/modules/ikiwiki/__init__.py:53
+#: plinth/modules/ikiwiki/__init__.py:52
#, python-brace-format
msgid ""
"Only {box_name} users in the admin group can create and "
@@ -1744,7 +1743,7 @@ msgid ""
"Configuration you can change these permissions or add new users."
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:63
+#: plinth/modules/ikiwiki/__init__.py:62
#, fuzzy
msgid "View and edit wiki applications"
msgstr "سرویسها و برنامهها"
@@ -1815,51 +1814,51 @@ msgstr "به سایت %(site)s بروید"
msgid "Manage"
msgstr "مدیریت"
-#: plinth/modules/ikiwiki/views.py:121
+#: plinth/modules/ikiwiki/views.py:124
#, python-brace-format
msgid "Created wiki {name}."
msgstr "ویکی {name} ساخته شد."
-#: plinth/modules/ikiwiki/views.py:124
+#: plinth/modules/ikiwiki/views.py:127
#, python-brace-format
msgid "Could not create wiki: {error}"
msgstr "ساختن ویکی شکست خورد: {error}"
-#: plinth/modules/ikiwiki/views.py:134
+#: plinth/modules/ikiwiki/views.py:137
#, python-brace-format
msgid "Created blog {name}."
msgstr "وبلاگ {name} ساخته شد."
-#: plinth/modules/ikiwiki/views.py:137
+#: plinth/modules/ikiwiki/views.py:140
#, python-brace-format
msgid "Could not create blog: {error}"
msgstr "ساختن وبلاگ شکست خورد: {error}"
-#: plinth/modules/ikiwiki/views.py:150
+#: plinth/modules/ikiwiki/views.py:153
#, python-brace-format
msgid "{name} deleted."
msgstr "{name} پاک شد."
-#: plinth/modules/ikiwiki/views.py:154
+#: plinth/modules/ikiwiki/views.py:157
#, python-brace-format
msgid "Could not delete {name}: {error}"
msgstr "نشد که {name} پاک شود: {error}"
-#: plinth/modules/infinoted/__init__.py:41
+#: plinth/modules/infinoted/__init__.py:40
msgid "infinoted"
msgstr ""
-#: plinth/modules/infinoted/__init__.py:43
+#: plinth/modules/infinoted/__init__.py:42
#, fuzzy
#| msgid "Web Server"
msgid "Gobby Server"
msgstr "سرور وب"
-#: plinth/modules/infinoted/__init__.py:46
+#: plinth/modules/infinoted/__init__.py:45
msgid "infinoted is a server for Gobby, a collaborative text editor."
msgstr ""
-#: plinth/modules/infinoted/__init__.py:48
+#: plinth/modules/infinoted/__init__.py:47
#, python-brace-format
msgid ""
"To use it, download Gobby, desktop "
@@ -2225,11 +2224,11 @@ msgstr "گواهی دامنهٔ {domain} با موفقیت باطل شد"
msgid "Failed to delete certificate for domain {domain}: {error}"
msgstr "باطلکردن گواهی دامنهٔ {domain} شکست خورد: {error}"
-#: plinth/modules/matrixsynapse/__init__.py:41
+#: plinth/modules/matrixsynapse/__init__.py:43
msgid "Matrix Synapse"
msgstr ""
-#: plinth/modules/matrixsynapse/__init__.py:46
+#: plinth/modules/matrixsynapse/__init__.py:48
msgid ""
"Matrix is an new "
"ecosystem for open, federated instant messaging and VoIP. Synapse is a "
@@ -2239,7 +2238,7 @@ msgid ""
"converse with users on all other Matrix servers via federation."
msgstr ""
-#: plinth/modules/matrixsynapse/__init__.py:53
+#: plinth/modules/matrixsynapse/__init__.py:55
msgid ""
"To communicate, you can use the available clients for mobile, desktop and the web. Special:CreateAccount page."
msgstr ""
-#: plinth/modules/mediawiki/__init__.py:49
+#: plinth/modules/mediawiki/__init__.py:53
msgid ""
"Anyone with a link to this wiki can read it. Only users that are logged in "
"can make changes to the content."
@@ -2384,36 +2383,36 @@ msgstr ""
msgid "Password updated"
msgstr "رمز"
-#: plinth/modules/mediawiki/views.py:91
+#: plinth/modules/mediawiki/views.py:89
#, fuzzy
msgid "Public registrations enabled"
msgstr "برنامه نصب شد."
-#: plinth/modules/mediawiki/views.py:100
+#: plinth/modules/mediawiki/views.py:98
#, fuzzy
msgid "Public registrations disabled"
msgstr "برنامه نصب شد."
-#: plinth/modules/mediawiki/views.py:109
+#: plinth/modules/mediawiki/views.py:107
msgid "Private mode enabled"
msgstr ""
-#: plinth/modules/mediawiki/views.py:112
+#: plinth/modules/mediawiki/views.py:110
#, fuzzy
msgid "Private mode disabled"
msgstr "برنامه نصب شد."
-#: plinth/modules/minetest/__init__.py:53
+#: plinth/modules/minetest/__init__.py:52
#: plinth/modules/minetest/manifest.py:25
msgid "Minetest"
msgstr ""
-#: plinth/modules/minetest/__init__.py:55
+#: plinth/modules/minetest/__init__.py:54
#, fuzzy
msgid "Block Sandbox"
msgstr "بازی مکعبها (Minetest)"
-#: plinth/modules/minetest/__init__.py:59
+#: plinth/modules/minetest/__init__.py:58
#, fuzzy, python-brace-format
msgid ""
"Minetest is a multiplayer infinite-world block sandbox. This module enables "
@@ -2426,44 +2425,44 @@ msgstr ""
"برای اتصال به سرور به یک برنامهٔ ماینتست نیاز است."
-#: plinth/modules/minetest/forms.py:31
+#: plinth/modules/minetest/forms.py:30
msgid "Maximum number of players"
msgstr ""
-#: plinth/modules/minetest/forms.py:35
+#: plinth/modules/minetest/forms.py:32
msgid ""
"You can change the maximum number of players playing minetest at a single "
"instance of time."
msgstr ""
-#: plinth/modules/minetest/forms.py:39
+#: plinth/modules/minetest/forms.py:36
#, fuzzy
msgid "Enable creative mode"
msgstr "فعالسازی برنامه"
-#: plinth/modules/minetest/forms.py:41
+#: plinth/modules/minetest/forms.py:37
msgid ""
"Creative mode changes the rules of the game to make it more suitable for "
"creative gameplay, rather than challenging \"survival\" gameplay."
msgstr ""
-#: plinth/modules/minetest/forms.py:46
+#: plinth/modules/minetest/forms.py:42
#, fuzzy
#| msgid "Enabled"
msgid "Enable PVP"
msgstr "فعال"
-#: plinth/modules/minetest/forms.py:48
+#: plinth/modules/minetest/forms.py:43
msgid "Enabling Player Vs Player will allow players to damage other players."
msgstr ""
-#: plinth/modules/minetest/forms.py:52
+#: plinth/modules/minetest/forms.py:47
#, fuzzy
#| msgid "Enabled"
msgid "Enable damage"
msgstr "فعال"
-#: plinth/modules/minetest/forms.py:54
+#: plinth/modules/minetest/forms.py:48
msgid "When disabled, players cannot die or receive damage of any kind."
msgstr ""
@@ -2477,61 +2476,61 @@ msgstr "نشانی"
msgid "Port"
msgstr ""
-#: plinth/modules/minetest/views.py:71
+#: plinth/modules/minetest/views.py:72
#, fuzzy
#| msgid "Configuration updated"
msgid "Maximum players configuration updated"
msgstr "پیکربندی بهروز شد"
-#: plinth/modules/minetest/views.py:78
+#: plinth/modules/minetest/views.py:79
#, fuzzy
#| msgid "Configuration updated"
msgid "Creative mode configuration updated"
msgstr "پیکربندی بهروز شد"
-#: plinth/modules/minetest/views.py:84
+#: plinth/modules/minetest/views.py:85
#, fuzzy
#| msgid "Configuration updated"
msgid "PVP configuration updated"
msgstr "پیکربندی بهروز شد"
-#: plinth/modules/minetest/views.py:90
+#: plinth/modules/minetest/views.py:91
#, fuzzy
#| msgid "Configuration updated"
msgid "Damage configuration updated"
msgstr "پیکربندی بهروز شد"
-#: plinth/modules/mldonkey/__init__.py:38
+#: plinth/modules/mldonkey/__init__.py:40
#: plinth/modules/mldonkey/manifest.py:27
#, fuzzy
msgid "MLDonkey"
msgstr "مانکیاسفیر"
-#: plinth/modules/mldonkey/__init__.py:40
+#: plinth/modules/mldonkey/__init__.py:42
msgid "Peer-to-peer File Sharing"
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:43
+#: plinth/modules/mldonkey/__init__.py:45
msgid ""
"MLDonkey is a peer-to-peer file sharing application used to exchange large "
"files. It can participate in multiple peer-to-peer networks including "
"eDonkey, Kademlia, Overnet, BitTorrent and DirectConnect."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:46
+#: plinth/modules/mldonkey/__init__.py:48
msgid ""
"Users belonging to admin and ed2k group can control it through the web "
"interface. Users in the admin group can also control it through any of the "
"separate mobile or desktop front-ends or a telnet interface. See manual."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:51
+#: plinth/modules/mldonkey/__init__.py:53
#, python-brace-format
msgid ""
"On {box_name}, downloaded files can be found in /var/lib/mldonkey/ directory."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:59
+#: plinth/modules/mldonkey/__init__.py:61
msgid "Download files using eDonkey applications"
msgstr ""
@@ -2611,12 +2610,6 @@ msgstr "اثر انگشت OpenPGP"
msgid "Secure Shell"
msgstr "پوستهٔ ایمن"
-#: plinth/modules/monkeysphere/templates/monkeysphere.html:88
-#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:60
-#: plinth/service.py:138
-msgid "Web Server"
-msgstr "سرور وب"
-
#: plinth/modules/monkeysphere/templates/monkeysphere.html:90
#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:62
msgid "Other"
@@ -2712,23 +2705,23 @@ msgstr "کلید در پایگاه کلیدها منتشر شد."
msgid "Error occurred while publishing key."
msgstr "هنگام انتشار کلید خطایی رخ داد."
-#: plinth/modules/mumble/__init__.py:34 plinth/modules/mumble/manifest.py:27
+#: plinth/modules/mumble/__init__.py:35 plinth/modules/mumble/manifest.py:27
msgid "Mumble"
msgstr ""
-#: plinth/modules/mumble/__init__.py:36
+#: plinth/modules/mumble/__init__.py:37
#, fuzzy
#| msgid "Voice Chat (Mumble)"
msgid "Voice Chat"
msgstr "چت صوتی (Mumble)"
-#: plinth/modules/mumble/__init__.py:45
+#: plinth/modules/mumble/__init__.py:44
msgid ""
"Mumble is an open source, low-latency, encrypted, high quality voice chat "
"software."
msgstr "مامبل (Mumble) یک نرمافزار چت صوتی متنباز، کمتأخیر، و باکیفیت است."
-#: plinth/modules/mumble/__init__.py:47
+#: plinth/modules/mumble/__init__.py:46
msgid ""
"You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your "
@@ -2782,7 +2775,7 @@ msgstr "موجود نیست"
msgid "Networks"
msgstr "شبکهها"
-#: plinth/modules/networks/__init__.py:142
+#: plinth/modules/networks/__init__.py:144
#, python-brace-format
msgid "Using DNSSEC on IPv{kind}"
msgstr "در حال استفاده از DNSSEC روی IPv{kind}"
@@ -3250,7 +3243,7 @@ msgstr "آیپی ن۴"
#: plinth/modules/networks/templates/connection_show.html:186
#: plinth/modules/networks/templates/connection_show.html:227
-#: plinth/modules/shadowsocks/forms.py:75
+#: plinth/modules/shadowsocks/forms.py:65
msgid "Method"
msgstr "روش"
@@ -3382,17 +3375,17 @@ msgstr "غیرفعال"
msgid "Create..."
msgstr "ساختن..."
-#: plinth/modules/openvpn/__init__.py:40
+#: plinth/modules/openvpn/__init__.py:39
#, fuzzy
#| msgid "Open"
msgid "OpenVPN"
msgstr "باز"
-#: plinth/modules/openvpn/__init__.py:42
+#: plinth/modules/openvpn/__init__.py:41
msgid "Virtual Private Network"
msgstr ""
-#: plinth/modules/openvpn/__init__.py:46
+#: plinth/modules/openvpn/__init__.py:45
#, python-brace-format
msgid ""
"Virtual Private Network (VPN) is a technique for securely connecting two "
@@ -3403,7 +3396,7 @@ msgid ""
"security and anonymity."
msgstr ""
-#: plinth/modules/openvpn/__init__.py:74
+#: plinth/modules/openvpn/__init__.py:75
#, python-brace-format
msgid ""
"Download Profile"
@@ -3468,11 +3461,11 @@ msgstr ""
msgid "OpenVPN server is not running"
msgstr ""
-#: plinth/modules/openvpn/views.py:128
+#: plinth/modules/openvpn/views.py:126
msgid "Setup completed."
msgstr ""
-#: plinth/modules/openvpn/views.py:130
+#: plinth/modules/openvpn/views.py:128
msgid "Setup failed."
msgstr ""
@@ -3542,7 +3535,7 @@ msgid ""
"pagekite.net server."
msgstr ""
-#: plinth/modules/pagekite/forms.py:78 plinth/modules/shadowsocks/forms.py:64
+#: plinth/modules/pagekite/forms.py:78 plinth/modules/shadowsocks/forms.py:57
msgid "Server port"
msgstr ""
@@ -3747,47 +3740,47 @@ msgstr ""
msgid "Save Services"
msgstr ""
-#: plinth/modules/pagekite/utils.py:53
+#: plinth/modules/pagekite/utils.py:57
msgid "Web Server (HTTP)"
msgstr ""
-#: plinth/modules/pagekite/utils.py:54
+#: plinth/modules/pagekite/utils.py:59
#, python-brace-format
msgid "Site will be available at http://{0}"
msgstr ""
-#: plinth/modules/pagekite/utils.py:63
+#: plinth/modules/pagekite/utils.py:71
msgid "Web Server (HTTPS)"
msgstr ""
-#: plinth/modules/pagekite/utils.py:64
+#: plinth/modules/pagekite/utils.py:73
#, python-brace-format
msgid "Site will be available at https://{0}"
msgstr ""
-#: plinth/modules/pagekite/utils.py:73
+#: plinth/modules/pagekite/utils.py:85
msgid "Secure Shell (SSH)"
msgstr ""
-#: plinth/modules/pagekite/utils.py:74
+#: plinth/modules/pagekite/utils.py:87
msgid ""
"See SSH client setup instructions"
msgstr ""
-#: plinth/modules/pagekite/utils.py:276
+#: plinth/modules/pagekite/utils.py:288
msgid "Pagekite"
msgstr ""
-#: plinth/modules/pagekite/views.py:39
+#: plinth/modules/pagekite/views.py:40
msgid "Standard Services"
msgstr ""
-#: plinth/modules/pagekite/views.py:42
+#: plinth/modules/pagekite/views.py:44
msgid "Custom Services"
msgstr ""
-#: plinth/modules/pagekite/views.py:156
+#: plinth/modules/pagekite/views.py:158
msgid "Pagekite setup finished. The HTTP and HTTPS services are activated now."
msgstr "راهاندازی Pagekite پایان یافت. سرویسهای HTTP و HTTPS فعال هستند."
@@ -3848,22 +3841,22 @@ msgstr ""
msgid "Shut Down Now"
msgstr ""
-#: plinth/modules/privoxy/__init__.py:41
+#: plinth/modules/privoxy/__init__.py:42
msgid "Privoxy"
msgstr ""
-#: plinth/modules/privoxy/__init__.py:43
+#: plinth/modules/privoxy/__init__.py:44
msgid "Web Proxy"
msgstr ""
-#: plinth/modules/privoxy/__init__.py:46
+#: plinth/modules/privoxy/__init__.py:47
msgid ""
"Privoxy is a non-caching web proxy with advanced filtering capabilities for "
"enhancing privacy, modifying web page data and HTTP headers, controlling "
"access, and removing ads and other obnoxious Internet junk. "
msgstr ""
-#: plinth/modules/privoxy/__init__.py:51
+#: plinth/modules/privoxy/__init__.py:52
#, python-brace-format
msgid ""
"You can use Privoxy by modifying your browser proxy settings to your "
@@ -3873,20 +3866,20 @@ msgid ""
"\">http://p.p."
msgstr ""
-#: plinth/modules/privoxy/__init__.py:157
+#: plinth/modules/privoxy/__init__.py:142
#, python-brace-format
msgid "Access {url} with proxy {proxy} on tcp{kind}"
msgstr ""
-#: plinth/modules/quassel/__init__.py:41 plinth/modules/quassel/manifest.py:25
+#: plinth/modules/quassel/__init__.py:40 plinth/modules/quassel/manifest.py:25
msgid "Quassel"
msgstr ""
-#: plinth/modules/quassel/__init__.py:43
+#: plinth/modules/quassel/__init__.py:42
msgid "IRC Client"
msgstr ""
-#: plinth/modules/quassel/__init__.py:47
+#: plinth/modules/quassel/__init__.py:46
#, python-brace-format
msgid ""
"Quassel is an IRC application that is split into two parts, a \"core\" and a "
@@ -3897,7 +3890,7 @@ msgid ""
"connect and disconnect from it."
msgstr ""
-#: plinth/modules/quassel/__init__.py:54
+#: plinth/modules/quassel/__init__.py:53
msgid ""
"You can connect to your Quassel core on the default Quassel port 4242. "
"Clients to connect to Quassel from your Jitsi (for computers) and (for Android phones)."
msgstr ""
-#: plinth/modules/repro/__init__.py:53
+#: plinth/modules/repro/__init__.py:55
msgid ""
"Note: Before using repro, domains and users will need to "
"be configured using the web-based "
@@ -4048,15 +4041,15 @@ msgstr ""
msgid "CSipSimple"
msgstr ""
-#: plinth/modules/restore/__init__.py:36 plinth/modules/restore/manifest.py:23
+#: plinth/modules/restore/__init__.py:37 plinth/modules/restore/manifest.py:23
msgid "reStore"
msgstr ""
-#: plinth/modules/restore/__init__.py:38
+#: plinth/modules/restore/__init__.py:39
msgid "Unhosted Storage"
msgstr ""
-#: plinth/modules/restore/__init__.py:42
+#: plinth/modules/restore/__init__.py:43
#, python-brace-format
msgid ""
"reStore is a server for unhosted web "
@@ -4066,23 +4059,23 @@ msgid ""
"becomes your unhosted storage server."
msgstr ""
-#: plinth/modules/restore/__init__.py:48
+#: plinth/modules/restore/__init__.py:49
msgid ""
"You can create and edit accounts in the reStore web-"
"interface."
msgstr ""
-#: plinth/modules/roundcube/__init__.py:34
+#: plinth/modules/roundcube/__init__.py:35
#: plinth/modules/roundcube/manifest.py:24
msgid "Roundcube"
msgstr ""
-#: plinth/modules/roundcube/__init__.py:36
+#: plinth/modules/roundcube/__init__.py:37
#, fuzzy
msgid "Email Client"
msgstr "برنامهٔ DNS متغیر (Dynamic DNS Client)"
-#: plinth/modules/roundcube/__init__.py:39
+#: plinth/modules/roundcube/__init__.py:40
msgid ""
"Roundcube webmail is a browser-based multilingual IMAP client with an "
"application-like user interface. It provides full functionality you expect "
@@ -4090,7 +4083,7 @@ msgid ""
"manipulation, message searching and spell checking."
msgstr ""
-#: plinth/modules/roundcube/__init__.py:44
+#: plinth/modules/roundcube/__init__.py:45
msgid ""
"You can access Roundcube from /roundcube. Provide "
"the username and password of the email account you wish to access followed "
@@ -4099,7 +4092,7 @@ msgid ""
"server field like imaps://imap.example.com."
msgstr ""
-#: plinth/modules/roundcube/__init__.py:50
+#: plinth/modules/roundcube/__init__.py:51
msgid ""
"For Gmail, username will be your Gmail address, password will be your Google "
"account password and server will be imaps://imap.gmail.com. "
@@ -4165,12 +4158,12 @@ msgstr ""
msgid "Allow this application to be used by anyone who can reach it."
msgstr ""
-#: plinth/modules/searx/views.py:60 plinth/modules/searx/views.py:71
-#: plinth/modules/tor/views.py:139 plinth/modules/tor/views.py:168
+#: plinth/modules/searx/views.py:59 plinth/modules/searx/views.py:70
+#: plinth/modules/tor/views.py:141 plinth/modules/tor/views.py:168
msgid "Configuration updated."
msgstr ""
-#: plinth/modules/searx/views.py:63 plinth/modules/searx/views.py:74
+#: plinth/modules/searx/views.py:62 plinth/modules/searx/views.py:73
#: plinth/modules/tor/views.py:170
msgid "An error occurred during configuration."
msgstr ""
@@ -4228,22 +4221,22 @@ msgid ""
"account, which you will need to setup on the initial visit."
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:34
+#: plinth/modules/shadowsocks/__init__.py:35
msgid "Shadowsocks"
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:36
+#: plinth/modules/shadowsocks/__init__.py:37
msgid "Socks5 Proxy"
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:45
+#: plinth/modules/shadowsocks/__init__.py:44
msgid ""
"Shadowsocks is a lightweight and secure SOCKS5 proxy, designed to protect "
"your Internet traffic. It can be used to bypass Internet filtering and "
"censorship."
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:49
+#: plinth/modules/shadowsocks/__init__.py:48
#, python-brace-format
msgid ""
"Your {box_name} can run a Shadowsocks client, that can connect to a "
@@ -4252,36 +4245,36 @@ msgid ""
"the Shadowsocks server."
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:54
+#: plinth/modules/shadowsocks/__init__.py:53
msgid ""
"To use Shadowsocks after setup, set the SOCKS5 proxy URL in your device, "
"browser or application to http://freedombox_address:1080/"
msgstr ""
+#: plinth/modules/shadowsocks/forms.py:28
#: plinth/modules/shadowsocks/forms.py:29
-#: plinth/modules/shadowsocks/forms.py:30
msgid "Recommended"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:60
+#: plinth/modules/shadowsocks/forms.py:54
#, fuzzy
#| msgid "Service"
msgid "Server"
msgstr "سرویس"
-#: plinth/modules/shadowsocks/forms.py:61
+#: plinth/modules/shadowsocks/forms.py:54
msgid "Server hostname or IP address"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:67
+#: plinth/modules/shadowsocks/forms.py:58
msgid "Server port number"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:71
+#: plinth/modules/shadowsocks/forms.py:61
msgid "Password used to encrypt data. Must match server password."
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:77
+#: plinth/modules/shadowsocks/forms.py:66
msgid "Encryption method. Must match setting on server."
msgstr ""
@@ -4571,7 +4564,7 @@ msgstr ""
msgid "Storage snapshots configuration updated"
msgstr "پیکربندی بهروز شد"
-#: plinth/modules/snapshot/views.py:153 plinth/modules/tor/views.py:72
+#: plinth/modules/snapshot/views.py:153 plinth/modules/tor/views.py:73
#, python-brace-format
msgid "Action error: {0} [{1}] [{2}]"
msgstr ""
@@ -4605,11 +4598,11 @@ msgstr ""
msgid "Rollback to Snapshot"
msgstr ""
-#: plinth/modules/ssh/__init__.py:39
+#: plinth/modules/ssh/__init__.py:40
msgid "Secure Shell (SSH) Server"
msgstr ""
-#: plinth/modules/ssh/__init__.py:42
+#: plinth/modules/ssh/__init__.py:43
msgid ""
"A Secure Shell server uses the secure shell protocol to accept connections "
"from remote computers. An authorized remote computer can perform "
@@ -4625,11 +4618,11 @@ msgstr ""
msgid "Login"
msgstr ""
-#: plinth/modules/storage/__init__.py:36 plinth/modules/storage/views.py:53
+#: plinth/modules/storage/__init__.py:35 plinth/modules/storage/views.py:53
msgid "Storage"
msgstr ""
-#: plinth/modules/storage/__init__.py:44
+#: plinth/modules/storage/__init__.py:43
#, python-brace-format
msgid ""
"This module allows you to manage storage media attached to your {box_name}. "
@@ -4637,86 +4630,86 @@ msgid ""
"media, expand the root partition etc."
msgstr ""
-#: plinth/modules/storage/__init__.py:211
+#: plinth/modules/storage/__init__.py:213
#, fuzzy, python-brace-format
msgid "{disk_size:.1f} bytes"
msgstr "{disk_size} بایت"
-#: plinth/modules/storage/__init__.py:215
+#: plinth/modules/storage/__init__.py:217
#, fuzzy, python-brace-format
#| msgid "{disk_size} KiB"
msgid "{disk_size:.1f} KiB"
msgstr "{disk_size} KiB"
-#: plinth/modules/storage/__init__.py:219
+#: plinth/modules/storage/__init__.py:221
#, fuzzy, python-brace-format
#| msgid "{disk_size} MiB"
msgid "{disk_size:.1f} MiB"
msgstr "{disk_size} MiB"
-#: plinth/modules/storage/__init__.py:223
+#: plinth/modules/storage/__init__.py:225
#, fuzzy, python-brace-format
#| msgid "{disk_size} GiB"
msgid "{disk_size:.1f} GiB"
msgstr "{disk_size} GiB"
-#: plinth/modules/storage/__init__.py:226
+#: plinth/modules/storage/__init__.py:228
#, fuzzy, python-brace-format
#| msgid "{disk_size} TiB"
msgid "{disk_size:.1f} TiB"
msgstr "{disk_size} TiB"
-#: plinth/modules/storage/__init__.py:233
+#: plinth/modules/storage/__init__.py:235
msgid "The operation failed."
msgstr ""
-#: plinth/modules/storage/__init__.py:235
+#: plinth/modules/storage/__init__.py:237
msgid "The operation was cancelled."
msgstr ""
-#: plinth/modules/storage/__init__.py:237
+#: plinth/modules/storage/__init__.py:239
msgid "The device is already unmounting."
msgstr ""
-#: plinth/modules/storage/__init__.py:239
+#: plinth/modules/storage/__init__.py:241
msgid "The operation is not supported due to missing driver/tool support."
msgstr ""
-#: plinth/modules/storage/__init__.py:242
+#: plinth/modules/storage/__init__.py:244
msgid "The operation timed out."
msgstr ""
-#: plinth/modules/storage/__init__.py:244
+#: plinth/modules/storage/__init__.py:246
msgid "The operation would wake up a disk that is in a deep-sleep state."
msgstr ""
-#: plinth/modules/storage/__init__.py:247
+#: plinth/modules/storage/__init__.py:249
msgid "Attempting to unmount a device that is busy."
msgstr ""
-#: plinth/modules/storage/__init__.py:249
+#: plinth/modules/storage/__init__.py:251
msgid "The operation has already been cancelled."
msgstr ""
-#: plinth/modules/storage/__init__.py:255
+#: plinth/modules/storage/__init__.py:257
msgid "Not authorized to perform the requested operation."
msgstr ""
-#: plinth/modules/storage/__init__.py:257
+#: plinth/modules/storage/__init__.py:259
#, fuzzy
#| msgid "The requested domain is already registered."
msgid "The device is already mounted."
msgstr "دامنهٔ درخواستی از قبل ثبت شده است."
-#: plinth/modules/storage/__init__.py:259
+#: plinth/modules/storage/__init__.py:261
msgid "The device is not mounted."
msgstr ""
-#: plinth/modules/storage/__init__.py:262
+#: plinth/modules/storage/__init__.py:264
msgid "Not permitted to use the requested option."
msgstr ""
-#: plinth/modules/storage/__init__.py:265
+#: plinth/modules/storage/__init__.py:267
msgid "The device is mounted by another user."
msgstr ""
@@ -4801,16 +4794,16 @@ msgstr ""
msgid "Error ejecting device: {error_message}"
msgstr ""
-#: plinth/modules/syncthing/__init__.py:38
+#: plinth/modules/syncthing/__init__.py:40
#: plinth/modules/syncthing/manifest.py:28
msgid "Syncthing"
msgstr ""
-#: plinth/modules/syncthing/__init__.py:40
+#: plinth/modules/syncthing/__init__.py:42
msgid "File Synchronization"
msgstr ""
-#: plinth/modules/syncthing/__init__.py:43
+#: plinth/modules/syncthing/__init__.py:45
msgid ""
"Syncthing is an application to synchronize files across multiple devices, e."
"g. your desktop computer and mobile phone. Creation, modification, or "
@@ -4818,7 +4811,7 @@ msgid ""
"other devices that also run Syncthing."
msgstr ""
-#: plinth/modules/syncthing/__init__.py:48
+#: plinth/modules/syncthing/__init__.py:50
#, python-brace-format
msgid ""
"Running Syncthing on {box_name} provides an extra synchronization point for "
@@ -4829,26 +4822,26 @@ msgid ""
"{box_name} is only available for users belonging to the \"admin\" group."
msgstr ""
-#: plinth/modules/syncthing/__init__.py:55
+#: plinth/modules/syncthing/__init__.py:57
msgid ""
"When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile clients are also available."
msgstr ""
-#: plinth/modules/syncthing/__init__.py:62
+#: plinth/modules/syncthing/__init__.py:64
msgid "Administer Syncthing application"
msgstr ""
-#: plinth/modules/tahoe/__init__.py:41
+#: plinth/modules/tahoe/__init__.py:43
msgid "Tahoe-LAFS"
msgstr ""
-#: plinth/modules/tahoe/__init__.py:43
+#: plinth/modules/tahoe/__init__.py:45
msgid "Distributed File Storage"
msgstr ""
-#: plinth/modules/tahoe/__init__.py:107
+#: plinth/modules/tahoe/__init__.py:119
msgid ""
"Tahoe-LAFS is a decentralized secure file storage system. It uses provider "
"independent security to store files over a distributed network of storage "
@@ -4856,7 +4849,7 @@ msgid ""
"remaining nodes."
msgstr ""
-#: plinth/modules/tahoe/__init__.py:112
+#: plinth/modules/tahoe/__init__.py:124
#, python-brace-format
msgid ""
"This {box_name} hosts a storage node and an introducer by default. "
@@ -4903,11 +4896,11 @@ msgstr ""
msgid "Remove"
msgstr ""
-#: plinth/modules/tor/__init__.py:43
+#: plinth/modules/tor/__init__.py:46
msgid "Tor"
msgstr ""
-#: plinth/modules/tor/__init__.py:48
+#: plinth/modules/tor/__init__.py:51
msgid ""
"Tor is an anonymous communication system. You can learn more about it from "
"the Tor Project website. For "
@@ -4916,40 +4909,36 @@ msgid ""
"\">Tor Browser."
msgstr ""
-#: plinth/modules/tor/__init__.py:93
+#: plinth/modules/tor/__init__.py:80
msgid "Tor Socks Proxy"
msgstr ""
-#: plinth/modules/tor/__init__.py:99 plinth/modules/tor/__init__.py:146
+#: plinth/modules/tor/__init__.py:84
msgid "Tor Bridge Relay"
msgstr ""
-#: plinth/modules/tor/__init__.py:120 plinth/modules/tor/__init__.py:188
+#: plinth/modules/tor/__init__.py:122 plinth/modules/tor/__init__.py:150
msgid "Tor Hidden Service"
msgstr ""
-#: plinth/modules/tor/__init__.py:136
-msgid "Tor Anonymity Network"
-msgstr ""
-
-#: plinth/modules/tor/__init__.py:208
+#: plinth/modules/tor/__init__.py:170
msgid "Tor relay port available"
msgstr ""
-#: plinth/modules/tor/__init__.py:218
+#: plinth/modules/tor/__init__.py:180
msgid "Obfs3 transport registered"
msgstr ""
-#: plinth/modules/tor/__init__.py:226
+#: plinth/modules/tor/__init__.py:188
msgid "Obfs4 transport registered"
msgstr ""
-#: plinth/modules/tor/__init__.py:265
+#: plinth/modules/tor/__init__.py:227
#, python-brace-format
msgid "Access URL {url} on tcp{kind} via Tor"
msgstr ""
-#: plinth/modules/tor/__init__.py:276
+#: plinth/modules/tor/__init__.py:238
#, python-brace-format
msgid "Confirm Tor usage at {url} on tcp{kind}"
msgstr ""
@@ -5083,18 +5072,18 @@ msgstr ""
msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050."
msgstr ""
-#: plinth/modules/transmission/__init__.py:39
+#: plinth/modules/transmission/__init__.py:41
#: plinth/modules/transmission/manifest.py:24
msgid "Transmission"
msgstr ""
-#: plinth/modules/transmission/__init__.py:44
+#: plinth/modules/transmission/__init__.py:46
msgid ""
"BitTorrent is a peer-to-peer file sharing protocol. Transmission daemon "
"handles Bitorrent file sharing. Note that BitTorrent is not anonymous."
msgstr ""
-#: plinth/modules/transmission/__init__.py:47
+#: plinth/modules/transmission/__init__.py:49
msgid ""
"Access the web interface at /transmission."
msgstr ""
@@ -5110,22 +5099,22 @@ msgid ""
"\" user."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:41 plinth/modules/ttrss/manifest.py:34
+#: plinth/modules/ttrss/__init__.py:43 plinth/modules/ttrss/manifest.py:34
msgid "Tiny Tiny RSS"
msgstr ""
-#: plinth/modules/ttrss/__init__.py:43
+#: plinth/modules/ttrss/__init__.py:45
msgid "News Feed Reader"
msgstr ""
-#: plinth/modules/ttrss/__init__.py:46
+#: plinth/modules/ttrss/__init__.py:48
msgid ""
"Tiny Tiny RSS is a news feed (RSS/Atom) reader and aggregator, designed to "
"allow reading news from any location, while feeling as close to a real "
"desktop application as possible."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:50
+#: plinth/modules/ttrss/__init__.py:52
#, python-brace-format
msgid ""
"When enabled, Tiny Tiny RSS will be available from /tt-"
@@ -5133,13 +5122,13 @@ msgid ""
"\"{users_url}\">user with a {box_name} login."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:55
+#: plinth/modules/ttrss/__init__.py:57
msgid ""
"When using a mobile or desktop application for Tiny Tiny RSS, use the URL /tt-rss-app for connecting."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:61
+#: plinth/modules/ttrss/__init__.py:63
msgid "Read and subscribe to news feeds"
msgstr ""
@@ -5147,11 +5136,11 @@ msgstr ""
msgid "Tiny Tiny RSS (Fork)"
msgstr ""
-#: plinth/modules/upgrades/__init__.py:36 plinth/templates/setup.html:101
+#: plinth/modules/upgrades/__init__.py:35 plinth/templates/setup.html:101
msgid "Update"
msgstr ""
-#: plinth/modules/upgrades/__init__.py:39
+#: plinth/modules/upgrades/__init__.py:38
msgid "Check for and apply the latest software and security updates."
msgstr ""
@@ -5191,34 +5180,34 @@ msgstr ""
msgid "Auto-update"
msgstr "آخرین بهروزرسانی"
-#: plinth/modules/upgrades/views.py:39
+#: plinth/modules/upgrades/views.py:40
#, fuzzy
#| msgid "Last update"
msgid "Manual update"
msgstr "آخرین بهروزرسانی"
-#: plinth/modules/upgrades/views.py:78
+#: plinth/modules/upgrades/views.py:79
#, python-brace-format
msgid "Error when configuring unattended-upgrades: {error}"
msgstr ""
-#: plinth/modules/upgrades/views.py:82
+#: plinth/modules/upgrades/views.py:83
msgid "Automatic upgrades enabled"
msgstr ""
-#: plinth/modules/upgrades/views.py:85
+#: plinth/modules/upgrades/views.py:86
msgid "Automatic upgrades disabled"
msgstr ""
-#: plinth/modules/upgrades/views.py:87
+#: plinth/modules/upgrades/views.py:88
msgid "Settings unchanged"
msgstr ""
-#: plinth/modules/upgrades/views.py:113
+#: plinth/modules/upgrades/views.py:114
msgid "Upgrade process started."
msgstr ""
-#: plinth/modules/upgrades/views.py:116
+#: plinth/modules/upgrades/views.py:117
msgid "Starting upgrade failed."
msgstr ""
@@ -5226,7 +5215,7 @@ msgstr ""
msgid "Users and Groups"
msgstr ""
-#: plinth/modules/users/__init__.py:106
+#: plinth/modules/users/__init__.py:108
#, python-brace-format
msgid "Check LDAP entry \"{search_item}\""
msgstr ""
@@ -5443,15 +5432,6 @@ msgstr ""
msgid "configuration file: {file}"
msgstr ""
-#: plinth/service.py:140
-msgid "Web Server over Secure Socket Layer"
-msgstr ""
-
-#: plinth/service.py:145
-#, python-brace-format
-msgid "{box_name} Web Interface (Plinth)"
-msgstr ""
-
#: plinth/templates/403.html:25
msgid "403 Forbidden"
msgstr ""
@@ -5658,16 +5638,16 @@ msgstr ""
msgid "Mailing list"
msgstr ""
-#: plinth/templates/internal-zone.html:25
+#: plinth/templates/internal-zone.html:26
#, python-format
msgid "%(service_name)s is available only on internal networks."
msgstr ""
-#: plinth/templates/internal-zone.html:31
+#: plinth/templates/internal-zone.html:32
msgid "Currently there are no network interfaces configured as internal."
msgstr ""
-#: plinth/templates/internal-zone.html:33
+#: plinth/templates/internal-zone.html:34
#, python-format
msgid ""
"Currently the following network interfaces are configured as internal: "
@@ -5730,6 +5710,14 @@ msgstr ""
msgid "%(percentage)s%% complete"
msgstr ""
+#: plinth/views.py:178
+msgid "Application enabled"
+msgstr ""
+
+#: plinth/views.py:181
+msgid "Application disabled"
+msgstr ""
+
#: plinth/web_framework.py:186
msgid "Gujarati"
msgstr ""
diff --git a/plinth/locale/fake/LC_MESSAGES/django.po b/plinth/locale/fake/LC_MESSAGES/django.po
index 98724fc42..2710d816c 100644
--- a/plinth/locale/fake/LC_MESSAGES/django.po
+++ b/plinth/locale/fake/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Plinth 0.6\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-06-10 19:02-0400\n"
+"POT-Creation-Date: 2019-06-24 19:48-0400\n"
"PO-Revision-Date: 2016-01-31 22:24+0530\n"
"Last-Translator: Sunil Mohan Adapa \n"
"Language-Team: Plinth Developers /IKIWIKI."
-#: plinth/modules/config/__init__.py:59 plinth/modules/dynamicdns/views.py:44
+#: plinth/modules/config/__init__.py:61 plinth/modules/dynamicdns/views.py:45
#: plinth/modules/i2p/views.py:31 plinth/modules/ikiwiki/views.py:35
#: plinth/modules/pagekite/views.py:36 plinth/modules/snapshot/views.py:40
#: plinth/modules/tahoe/templates/tahoe-pre-setup.html:39
msgid "Configure"
msgstr "CONFIGURE"
-#: plinth/modules/config/__init__.py:164 plinth/modules/config/forms.py:76
+#: plinth/modules/config/__init__.py:166 plinth/modules/config/forms.py:76
#: plinth/modules/config/views.py:171 plinth/modules/dynamicdns/forms.py:111
msgid "Domain Name"
msgstr "DOMAIN NAME"
@@ -635,8 +646,8 @@ msgstr ""
#: plinth/modules/power/templates/power_restart.html:42
#: plinth/modules/power/templates/power_shutdown.html:41
#: plinth/modules/storage/templates/storage.html:48
-#: plinth/templates/service-subsubmenu.html:47 plinth/templates/service.html:42
-#: plinth/templates/setup.html:48 plinth/templates/simple_service.html:38
+#: plinth/templates/app-subsubmenu.html:47 plinth/templates/app.html:42
+#: plinth/templates/setup.html:48 plinth/templates/simple_app.html:38
#, fuzzy
#| msgid "Learn more »"
msgid "Learn more..."
@@ -688,24 +699,24 @@ msgstr ""
msgid "Hiding advanced apps and features"
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:38
+#: plinth/modules/coquelicot/__init__.py:40
msgid "Coquelicot"
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:40
+#: plinth/modules/coquelicot/__init__.py:42
#, fuzzy
#| msgid "Enable Shaarli"
msgid "File Sharing"
msgstr "ENABLE SHAARLI"
-#: plinth/modules/coquelicot/__init__.py:43
+#: plinth/modules/coquelicot/__init__.py:45
msgid ""
"Coquelicot is a “one-click” file sharing web application with a focus on "
"protecting users’ privacy. It is best used for quickly sharing a single "
"file. "
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:46
+#: plinth/modules/coquelicot/__init__.py:48
msgid ""
"This Coquelicot instance is exposed to the public but requires an upload "
"password to prevent unauthorized access. You can set a new upload password "
@@ -737,23 +748,23 @@ msgstr ""
msgid "coquelicot"
msgstr ""
-#: plinth/modules/coquelicot/views.py:57
+#: plinth/modules/coquelicot/views.py:59
#, fuzzy
#| msgid "Password"
msgid "Upload password updated"
msgstr "PASSWORD"
-#: plinth/modules/coquelicot/views.py:60
+#: plinth/modules/coquelicot/views.py:62
msgid "Failed to update upload password"
msgstr ""
-#: plinth/modules/coquelicot/views.py:68
+#: plinth/modules/coquelicot/views.py:70
#, fuzzy
#| msgid "Configuration updated"
msgid "Maximum file size updated"
msgstr "CONFIGURATION UPDATED"
-#: plinth/modules/coquelicot/views.py:71
+#: plinth/modules/coquelicot/views.py:73
msgid "Failed to update maximum file size"
msgstr ""
@@ -773,15 +784,15 @@ msgstr ""
"NETWORK TIME SERVER IS A PROGRAM THAT MAINTIANS THE SYSTEM TIME IN "
"SYNCHRONIZATION WITH SERVERS ON THE INTERNET."
-#: plinth/modules/datetime/__init__.py:107
+#: plinth/modules/datetime/__init__.py:99
msgid "Time synchronized to NTP server"
msgstr ""
-#: plinth/modules/datetime/forms.py:36
+#: plinth/modules/datetime/forms.py:35
msgid "Time Zone"
msgstr "TIME ZONE"
-#: plinth/modules/datetime/forms.py:37
+#: plinth/modules/datetime/forms.py:36
#, fuzzy
#| msgid ""
#| "Set your time zone to get accurate timestamps. This will set the "
@@ -793,7 +804,7 @@ msgstr ""
"SET YOUR TIME ZONE TO GET ACCURATE TIMESTAMPS. THIS WILL SET THE SYSTEMWIDE "
"TIME ZONE."
-#: plinth/modules/datetime/forms.py:49
+#: plinth/modules/datetime/forms.py:47
msgid "-- no time zone set --"
msgstr "-- NO TIME ZONE SET --"
@@ -813,7 +824,7 @@ msgid "Deluge"
msgstr "ENABLE DELUGE"
#: plinth/modules/deluge/__init__.py:41
-#: plinth/modules/transmission/__init__.py:41
+#: plinth/modules/transmission/__init__.py:43
#, fuzzy
#| msgid "BitTorrent Web Client (Deluge)"
msgid "BitTorrent Web Client"
@@ -834,7 +845,7 @@ msgstr ""
"YOU SHOULD LOG IN AND CHANGE IT IMMEDIATELY AFTER ENABLING THIS SERVICE."
#: plinth/modules/deluge/__init__.py:51
-#: plinth/modules/transmission/__init__.py:54
+#: plinth/modules/transmission/__init__.py:56
msgid "Download files using BitTorrent applications"
msgstr ""
@@ -898,12 +909,12 @@ msgstr "TEST"
msgid "Result"
msgstr "RESULT"
-#: plinth/modules/diaspora/__init__.py:52
+#: plinth/modules/diaspora/__init__.py:54
#: plinth/modules/diaspora/manifest.py:38
msgid "diaspora*"
msgstr ""
-#: plinth/modules/diaspora/__init__.py:54
+#: plinth/modules/diaspora/__init__.py:56
msgid "Federated Social Network"
msgstr ""
@@ -950,24 +961,24 @@ msgstr ""
#: plinth/modules/tahoe/templates/tahoe-pre-setup.html:58
#: plinth/modules/tor/templates/tor.html:96
#: plinth/modules/upgrades/templates/upgrades_configure.html:32
-#: plinth/templates/service.html:89
+#: plinth/templates/app.html:89
msgid "Update setup"
msgstr "UPDATE SETUP"
-#: plinth/modules/diaspora/views.py:97 plinth/modules/ejabberd/views.py:64
-#: plinth/modules/matrixsynapse/views.py:107
-#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:150
-#: plinth/modules/tor/views.py:146 plinth/views.py:160
+#: plinth/modules/diaspora/views.py:94 plinth/modules/ejabberd/views.py:65
+#: plinth/modules/matrixsynapse/views.py:108
+#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:148
+#: plinth/modules/tor/views.py:148 plinth/views.py:174
msgid "Setting unchanged"
msgstr "SETTING UNCHANGED"
-#: plinth/modules/diaspora/views.py:101
+#: plinth/modules/diaspora/views.py:98
#, fuzzy
#| msgid "Applications"
msgid "User registrations enabled"
msgstr "APPLICATIONS"
-#: plinth/modules/diaspora/views.py:105
+#: plinth/modules/diaspora/views.py:102
#, fuzzy
#| msgid "Applications"
msgid "User registrations disabled"
@@ -1019,8 +1030,8 @@ 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."
-#: plinth/modules/dynamicdns/__init__.py:85
-#: plinth/modules/dynamicdns/views.py:167
+#: plinth/modules/dynamicdns/__init__.py:87
+#: plinth/modules/dynamicdns/views.py:169
#, fuzzy
#| msgid "Dynamic DNS Client"
msgid "Dynamic DNS Service"
@@ -1145,7 +1156,7 @@ msgid "Username"
msgstr "USERNAME"
#: plinth/modules/dynamicdns/forms.py:121 plinth/modules/networks/forms.py:235
-#: plinth/modules/shadowsocks/forms.py:70
+#: plinth/modules/shadowsocks/forms.py:61
msgid "Password"
msgstr "PASSWORD"
@@ -1264,43 +1275,43 @@ msgstr ""
msgid "Last update"
msgstr "LAST UPDATE"
-#: plinth/modules/dynamicdns/views.py:41 plinth/modules/help/help.py:57
+#: plinth/modules/dynamicdns/views.py:41 plinth/modules/help/help.py:59
msgid "About"
msgstr "ABOUT"
-#: plinth/modules/dynamicdns/views.py:47
+#: plinth/modules/dynamicdns/views.py:49
#: plinth/modules/firewall/templates/firewall.html:25
#: plinth/modules/firewall/templates/firewall.html:45
#: plinth/modules/i2p/templates/i2p.html:27
#: plinth/modules/networks/templates/connection_show.html:261
#: plinth/modules/openvpn/templates/openvpn.html:71
#: plinth/modules/tor/templates/tor.html:40
-#: plinth/modules/tor/templates/tor.html:68 plinth/templates/service.html:51
+#: plinth/modules/tor/templates/tor.html:68 plinth/templates/app.html:51
msgid "Status"
msgstr "STATUS"
-#: plinth/modules/dynamicdns/views.py:78
+#: plinth/modules/dynamicdns/views.py:80
msgid "Configure Dynamic DNS"
msgstr "CONFIGURE DYNAMIC DNS"
-#: plinth/modules/dynamicdns/views.py:103
+#: plinth/modules/dynamicdns/views.py:105
#, fuzzy
#| msgid "Dynamic DNS"
msgid "Dynamic DNS Status"
msgstr "DYNAMIC DNS"
-#: plinth/modules/ejabberd/__init__.py:43
+#: plinth/modules/ejabberd/__init__.py:45
msgid "ejabberd"
msgstr ""
-#: plinth/modules/ejabberd/__init__.py:45
-#: plinth/modules/matrixsynapse/__init__.py:43
+#: plinth/modules/ejabberd/__init__.py:47
+#: plinth/modules/matrixsynapse/__init__.py:45
#, fuzzy
#| msgid "Web Server"
msgid "Chat Server"
msgstr "WEB SERVER"
-#: plinth/modules/ejabberd/__init__.py:48
+#: plinth/modules/ejabberd/__init__.py:50
msgid ""
"XMPP is an open and standardized communication protocol. Here you can run "
"and configure your XMPP server, called ejabberd."
@@ -1308,7 +1319,7 @@ msgstr ""
"XMPP IS AN OPEN AND STANDARDIZED COMMUNICATION PROTOCOL. HERE YOU CAN RUN "
"AND CONFIGURE YOUR XMPP SERVER, CALLED EJABBERD."
-#: plinth/modules/ejabberd/__init__.py:51
+#: plinth/modules/ejabberd/__init__.py:53
#, fuzzy, python-brace-format
#| msgid ""
#| "To actually communicate, you can use the web client "
@@ -1324,11 +1335,11 @@ msgstr ""
"ANY OTHER XMPP CLIENT."
-#: plinth/modules/ejabberd/forms.py:33
+#: plinth/modules/ejabberd/forms.py:32
msgid "Enable Message Archive Management"
msgstr ""
-#: plinth/modules/ejabberd/forms.py:36
+#: plinth/modules/ejabberd/forms.py:34
#, python-brace-format
msgid ""
"If enabled, your {box_name} will store chat message histories. This allows "
@@ -1403,39 +1414,23 @@ msgstr "LAUNCH WEB CLIENT"
#: plinth/modules/openvpn/templates/openvpn.html:123
#: plinth/modules/snapshot/templates/snapshot.html:27
#: plinth/modules/tahoe/templates/tahoe-post-setup.html:43
-#: plinth/modules/tor/templates/tor.html:88 plinth/templates/service.html:81
+#: plinth/modules/tor/templates/tor.html:88 plinth/templates/app.html:81
msgid "Configuration"
msgstr "CONFIGURATION"
-#: plinth/modules/ejabberd/views.py:68
-#: plinth/modules/matrixsynapse/views.py:111
-#: plinth/modules/mediawiki/views.py:79 plinth/views.py:164
-#, fuzzy
-#| msgid "Applications"
-msgid "Application enabled"
-msgstr "APPLICATIONS"
-
-#: plinth/modules/ejabberd/views.py:71
-#: plinth/modules/matrixsynapse/views.py:114
-#: plinth/modules/mediawiki/views.py:82 plinth/views.py:167
-#, fuzzy
-#| msgid "Applications"
-msgid "Application disabled"
-msgstr "APPLICATIONS"
-
-#: plinth/modules/ejabberd/views.py:78
+#: plinth/modules/ejabberd/views.py:77
msgid "Message Archive Management enabled"
msgstr ""
-#: plinth/modules/ejabberd/views.py:82
+#: plinth/modules/ejabberd/views.py:81
msgid "Message Archive Management disabled"
msgstr ""
-#: plinth/modules/firewall/__init__.py:40
+#: plinth/modules/firewall/__init__.py:36
msgid "Firewall"
msgstr "FIREWALL"
-#: plinth/modules/firewall/__init__.py:44
+#: plinth/modules/firewall/__init__.py:40
#, fuzzy, python-brace-format
#| msgid ""
#| "Firewall is a security system that controls the incoming and outgoing "
@@ -1559,31 +1554,31 @@ msgstr "START SETUP"
msgid "Setup Complete"
msgstr "SETUP COMPLETE"
-#: plinth/modules/help/help.py:44
+#: plinth/modules/help/help.py:46
msgid "Documentation"
msgstr "DOCUMENTATION"
-#: plinth/modules/help/help.py:48 plinth/modules/networks/forms.py:68
+#: plinth/modules/help/help.py:50 plinth/modules/networks/forms.py:68
#: plinth/modules/networks/forms.py:108 plinth/templates/index.html:135
msgid "Manual"
msgstr "MANUAL"
-#: plinth/modules/help/help.py:53
+#: plinth/modules/help/help.py:55
#, fuzzy
#| msgid "{box_name} Manual"
msgid "Download Manual"
msgstr "{box_name} MANUAL"
-#: plinth/modules/help/help.py:73
+#: plinth/modules/help/help.py:75
msgid "Documentation and FAQ"
msgstr "DOCUMENTATION AND FAQ"
-#: plinth/modules/help/help.py:81
+#: plinth/modules/help/help.py:83
#, python-brace-format
msgid "About {box_name}"
msgstr "ABOUT {box_name}"
-#: plinth/modules/help/help.py:102
+#: plinth/modules/help/help.py:104
#, python-brace-format
msgid "{box_name} Manual"
msgstr "{box_name} MANUAL"
@@ -1742,17 +1737,17 @@ msgid ""
"before submitting the bug report."
msgstr ""
-#: plinth/modules/i2p/__init__.py:40 plinth/modules/i2p/manifest.py:31
+#: plinth/modules/i2p/__init__.py:42 plinth/modules/i2p/manifest.py:31
msgid "I2P"
msgstr ""
-#: plinth/modules/i2p/__init__.py:42 plinth/modules/tor/__init__.py:45
+#: plinth/modules/i2p/__init__.py:44 plinth/modules/tor/__init__.py:48
#, fuzzy
#| msgid "Tor Anonymity Network"
msgid "Anonymity Network"
msgstr "TOR ANONYMITY NETWORK"
-#: plinth/modules/i2p/__init__.py:45
+#: plinth/modules/i2p/__init__.py:47
msgid ""
"The Invisible Internet Project is an anonymous network layer intended to "
"protect communication from censorship and surveillance. I2P provides "
@@ -1760,7 +1755,7 @@ msgid ""
"distributed around the world."
msgstr ""
-#: plinth/modules/i2p/__init__.py:49
+#: plinth/modules/i2p/__init__.py:51
#, fuzzy
#| msgid ""
#| "For more information about the %(box_name)s project, see the %(box_name)s WIKI."
-#: plinth/modules/i2p/__init__.py:51
+#: plinth/modules/i2p/__init__.py:53
msgid ""
"The first visit to the provided web interface will initiate the "
"configuration process."
msgstr ""
-#: plinth/modules/i2p/__init__.py:57
+#: plinth/modules/i2p/__init__.py:59
#, fuzzy
#| msgid "Applications"
msgid "Manage I2P application"
msgstr "APPLICATIONS"
-#: plinth/modules/i2p/templates/i2p.html:32 plinth/templates/service.html:56
+#: plinth/modules/i2p/templates/i2p.html:32 plinth/templates/app.html:56
#, fuzzy, python-format
#| msgid "Service discovery server is running"
msgid "Service %(service_name)s is running."
msgstr "SERVICE DISCOVERY SERVER IS RUNNING"
-#: plinth/modules/i2p/templates/i2p.html:37 plinth/templates/service.html:61
+#: plinth/modules/i2p/templates/i2p.html:37 plinth/templates/app.html:61
#, fuzzy, python-format
#| msgid "Service discovery server is not running"
msgid "Service %(service_name)s is not running."
msgstr "SERVICE DISCOVERY SERVER IS NOT RUNNING"
-#: plinth/modules/i2p/templates/i2p_service.html:13
+#: plinth/modules/i2p/templates/i2p_service.html:31
#: plinth/templates/clients.html:51
msgid "Launch"
msgstr ""
@@ -1809,45 +1804,45 @@ msgstr ""
msgid "Anonymous torrents"
msgstr ""
-#: plinth/modules/i2p/views.py:86
+#: plinth/modules/i2p/views.py:88
msgid "I2P Proxies and Tunnels"
msgstr ""
-#: plinth/modules/i2p/views.py:89
+#: plinth/modules/i2p/views.py:91
msgid ""
"I2P lets you browse the Internet and hidden services (eepsites) anonymously. "
"For this, your browser, preferably a Tor Browser, needs to be configured for "
"a proxy."
msgstr ""
-#: plinth/modules/i2p/views.py:92
+#: plinth/modules/i2p/views.py:94
msgid ""
"By default HTTP, HTTPS and IRC proxies are available. Additional proxies and "
"tunnels may be configured using the tunnel configuration interface."
msgstr ""
-#: plinth/modules/i2p/views.py:101
+#: plinth/modules/i2p/views.py:103
msgid "Anonymous Torrents"
msgstr ""
-#: plinth/modules/i2p/views.py:104
+#: plinth/modules/i2p/views.py:106
msgid ""
"I2P provides an application to download files anonymously in a peer-to-peer "
"network. Download files by adding torrents or create a new torrent to share "
"a file."
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:42 plinth/modules/ikiwiki/manifest.py:24
+#: plinth/modules/ikiwiki/__init__.py:41 plinth/modules/ikiwiki/manifest.py:24
#, fuzzy
#| msgid "wiki"
msgid "ikiwiki"
msgstr "WIKI"
-#: plinth/modules/ikiwiki/__init__.py:44
+#: plinth/modules/ikiwiki/__init__.py:43
msgid "Wiki and Blog"
msgstr "WIKI AND BLOG"
-#: plinth/modules/ikiwiki/__init__.py:47
+#: plinth/modules/ikiwiki/__init__.py:46
msgid ""
"ikiwiki is a simple wiki and blog application. It supports several "
"lightweight markup languages, including Markdown, and common blogging "
@@ -1855,7 +1850,7 @@ msgid ""
"wikis will be available at /ikiwiki (once created)."
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:53
+#: plinth/modules/ikiwiki/__init__.py:52
#, python-brace-format
msgid ""
"Only {box_name} users in the admin group can create and "
@@ -1864,7 +1859,7 @@ msgid ""
"Configuration you can change these permissions or add new users."
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:63
+#: plinth/modules/ikiwiki/__init__.py:62
#, fuzzy
#| msgid "Services and Applications"
msgid "View and edit wiki applications"
@@ -1936,51 +1931,51 @@ msgstr "GO TO SITE %(site)s"
msgid "Manage"
msgstr "MANAGE"
-#: plinth/modules/ikiwiki/views.py:121
+#: plinth/modules/ikiwiki/views.py:124
#, python-brace-format
msgid "Created wiki {name}."
msgstr "CREATED WIKI {name}."
-#: plinth/modules/ikiwiki/views.py:124
+#: plinth/modules/ikiwiki/views.py:127
#, python-brace-format
msgid "Could not create wiki: {error}"
msgstr "COULD NOT CREATE WIKI: {error}"
-#: plinth/modules/ikiwiki/views.py:134
+#: plinth/modules/ikiwiki/views.py:137
#, python-brace-format
msgid "Created blog {name}."
msgstr "CREATED BLOG {name}."
-#: plinth/modules/ikiwiki/views.py:137
+#: plinth/modules/ikiwiki/views.py:140
#, python-brace-format
msgid "Could not create blog: {error}"
msgstr "COULD NOT CREATE BLOG: {error}"
-#: plinth/modules/ikiwiki/views.py:150
+#: plinth/modules/ikiwiki/views.py:153
#, python-brace-format
msgid "{name} deleted."
msgstr "{name} DELETED."
-#: plinth/modules/ikiwiki/views.py:154
+#: plinth/modules/ikiwiki/views.py:157
#, python-brace-format
msgid "Could not delete {name}: {error}"
msgstr "COULD NOT DELETE {name}: {error}"
-#: plinth/modules/infinoted/__init__.py:41
+#: plinth/modules/infinoted/__init__.py:40
msgid "infinoted"
msgstr ""
-#: plinth/modules/infinoted/__init__.py:43
+#: plinth/modules/infinoted/__init__.py:42
#, fuzzy
#| msgid "Web Server"
msgid "Gobby Server"
msgstr "WEB SERVER"
-#: plinth/modules/infinoted/__init__.py:46
+#: plinth/modules/infinoted/__init__.py:45
msgid "infinoted is a server for Gobby, a collaborative text editor."
msgstr ""
-#: plinth/modules/infinoted/__init__.py:48
+#: plinth/modules/infinoted/__init__.py:47
#, python-brace-format
msgid ""
"To use it, download Gobby, desktop "
@@ -2349,13 +2344,13 @@ msgstr "CERTIFICATE SUCCESSFULLY REVOKED FOR DOMAIN {domain}"
msgid "Failed to delete certificate for domain {domain}: {error}"
msgstr "FAILED TO REVOKE CERTIFICATE FOR DOMAIN {domain}: {error}"
-#: plinth/modules/matrixsynapse/__init__.py:41
+#: plinth/modules/matrixsynapse/__init__.py:43
#, fuzzy
#| msgid "Chat Server (XMPP)"
msgid "Matrix Synapse"
msgstr "CHAT SERVER (XMPP)"
-#: plinth/modules/matrixsynapse/__init__.py:46
+#: plinth/modules/matrixsynapse/__init__.py:48
msgid ""
"Matrix is an new "
"ecosystem for open, federated instant messaging and VoIP. Synapse is a "
@@ -2365,7 +2360,7 @@ msgid ""
"converse with users on all other Matrix servers via federation."
msgstr ""
-#: plinth/modules/matrixsynapse/__init__.py:53
+#: plinth/modules/matrixsynapse/__init__.py:55
msgid ""
"To communicate, you can use the available clients for mobile, desktop and the web. Special:CreateAccount page."
msgstr ""
-#: plinth/modules/mediawiki/__init__.py:49
+#: plinth/modules/mediawiki/__init__.py:53
msgid ""
"Anyone with a link to this wiki can read it. Only users that are logged in "
"can make changes to the content."
@@ -2523,42 +2518,42 @@ msgstr ""
msgid "Password updated"
msgstr "PASSWORD"
-#: plinth/modules/mediawiki/views.py:91
+#: plinth/modules/mediawiki/views.py:89
#, fuzzy
#| msgid "Applications"
msgid "Public registrations enabled"
msgstr "APPLICATIONS"
-#: plinth/modules/mediawiki/views.py:100
+#: plinth/modules/mediawiki/views.py:98
#, fuzzy
#| msgid "Applications"
msgid "Public registrations disabled"
msgstr "APPLICATIONS"
-#: plinth/modules/mediawiki/views.py:109
+#: plinth/modules/mediawiki/views.py:107
#, fuzzy
#| msgid "PageKite enabled"
msgid "Private mode enabled"
msgstr "PAGEKITE ENABLED"
-#: plinth/modules/mediawiki/views.py:112
+#: plinth/modules/mediawiki/views.py:110
#, fuzzy
#| msgid "PageKite disabled"
msgid "Private mode disabled"
msgstr "PAGEKITE DISABLED"
-#: plinth/modules/minetest/__init__.py:53
+#: plinth/modules/minetest/__init__.py:52
#: plinth/modules/minetest/manifest.py:25
msgid "Minetest"
msgstr ""
-#: plinth/modules/minetest/__init__.py:55
+#: plinth/modules/minetest/__init__.py:54
#, fuzzy
#| msgid "Blocked"
msgid "Block Sandbox"
msgstr "BLOCKED"
-#: plinth/modules/minetest/__init__.py:59
+#: plinth/modules/minetest/__init__.py:58
#, python-brace-format
msgid ""
"Minetest is a multiplayer infinite-world block sandbox. This module enables "
@@ -2567,45 +2562,45 @@ msgid ""
"downloads/\">Minetest client is needed."
msgstr ""
-#: plinth/modules/minetest/forms.py:31
+#: plinth/modules/minetest/forms.py:30
msgid "Maximum number of players"
msgstr ""
-#: plinth/modules/minetest/forms.py:35
+#: plinth/modules/minetest/forms.py:32
msgid ""
"You can change the maximum number of players playing minetest at a single "
"instance of time."
msgstr ""
-#: plinth/modules/minetest/forms.py:39
+#: plinth/modules/minetest/forms.py:36
#, fuzzy
#| msgid "Enable reStore"
msgid "Enable creative mode"
msgstr "ENABLE RESTORE"
-#: plinth/modules/minetest/forms.py:41
+#: plinth/modules/minetest/forms.py:37
msgid ""
"Creative mode changes the rules of the game to make it more suitable for "
"creative gameplay, rather than challenging \"survival\" gameplay."
msgstr ""
-#: plinth/modules/minetest/forms.py:46
+#: plinth/modules/minetest/forms.py:42
#, fuzzy
#| msgid "Enable XMPP"
msgid "Enable PVP"
msgstr "ENABLE XMPP"
-#: plinth/modules/minetest/forms.py:48
+#: plinth/modules/minetest/forms.py:43
msgid "Enabling Player Vs Player will allow players to damage other players."
msgstr ""
-#: plinth/modules/minetest/forms.py:52
+#: plinth/modules/minetest/forms.py:47
#, fuzzy
#| msgid "Enable PageKite"
msgid "Enable damage"
msgstr "ENABLE PAGEKITE"
-#: plinth/modules/minetest/forms.py:54
+#: plinth/modules/minetest/forms.py:48
msgid "When disabled, players cannot die or receive damage of any kind."
msgstr ""
@@ -2619,64 +2614,64 @@ msgstr "ADDRESS"
msgid "Port"
msgstr "PORT"
-#: plinth/modules/minetest/views.py:71
+#: plinth/modules/minetest/views.py:72
#, fuzzy
#| msgid "Configuration updated"
msgid "Maximum players configuration updated"
msgstr "CONFIGURATION UPDATED"
-#: plinth/modules/minetest/views.py:78
+#: plinth/modules/minetest/views.py:79
#, fuzzy
#| msgid "Configuration updated"
msgid "Creative mode configuration updated"
msgstr "CONFIGURATION UPDATED"
-#: plinth/modules/minetest/views.py:84
+#: plinth/modules/minetest/views.py:85
#, fuzzy
#| msgid "Configuration updated"
msgid "PVP configuration updated"
msgstr "CONFIGURATION UPDATED"
-#: plinth/modules/minetest/views.py:90
+#: plinth/modules/minetest/views.py:91
#, fuzzy
#| msgid "Configuration updated"
msgid "Damage configuration updated"
msgstr "CONFIGURATION UPDATED"
-#: plinth/modules/mldonkey/__init__.py:38
+#: plinth/modules/mldonkey/__init__.py:40
#: plinth/modules/mldonkey/manifest.py:27
#, fuzzy
#| msgid "Monkeysphere"
msgid "MLDonkey"
msgstr "MONKEYSPHERE"
-#: plinth/modules/mldonkey/__init__.py:40
+#: plinth/modules/mldonkey/__init__.py:42
#, fuzzy
#| msgid "Enable Shaarli"
msgid "Peer-to-peer File Sharing"
msgstr "ENABLE SHAARLI"
-#: plinth/modules/mldonkey/__init__.py:43
+#: plinth/modules/mldonkey/__init__.py:45
msgid ""
"MLDonkey is a peer-to-peer file sharing application used to exchange large "
"files. It can participate in multiple peer-to-peer networks including "
"eDonkey, Kademlia, Overnet, BitTorrent and DirectConnect."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:46
+#: plinth/modules/mldonkey/__init__.py:48
msgid ""
"Users belonging to admin and ed2k group can control it through the web "
"interface. Users in the admin group can also control it through any of the "
"separate mobile or desktop front-ends or a telnet interface. See manual."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:51
+#: plinth/modules/mldonkey/__init__.py:53
#, python-brace-format
msgid ""
"On {box_name}, downloaded files can be found in /var/lib/mldonkey/ directory."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:59
+#: plinth/modules/mldonkey/__init__.py:61
msgid "Download files using eDonkey applications"
msgstr ""
@@ -2786,12 +2781,6 @@ msgstr "GPG FINGERPRINT"
msgid "Secure Shell"
msgstr "SECURE SHELL (SSH)"
-#: plinth/modules/monkeysphere/templates/monkeysphere.html:88
-#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:60
-#: plinth/service.py:138
-msgid "Web Server"
-msgstr "WEB SERVER"
-
#: plinth/modules/monkeysphere/templates/monkeysphere.html:90
#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:62
#, fuzzy
@@ -2902,17 +2891,17 @@ msgstr "PUBLISHED KEY TO KEYSERVER."
msgid "Error occurred while publishing key."
msgstr "ERROR OCCURRED WHILE PUBLISHING KEY."
-#: plinth/modules/mumble/__init__.py:34 plinth/modules/mumble/manifest.py:27
+#: plinth/modules/mumble/__init__.py:35 plinth/modules/mumble/manifest.py:27
msgid "Mumble"
msgstr ""
-#: plinth/modules/mumble/__init__.py:36
+#: plinth/modules/mumble/__init__.py:37
#, fuzzy
#| msgid "Voice Chat (Mumble)"
msgid "Voice Chat"
msgstr "VOICE CHAT (MUMBLE)"
-#: plinth/modules/mumble/__init__.py:45
+#: plinth/modules/mumble/__init__.py:44
msgid ""
"Mumble is an open source, low-latency, encrypted, high quality voice chat "
"software."
@@ -2920,7 +2909,7 @@ msgstr ""
"MUMBLE IS AN OPEN SOURCE, LOW-LATENCY, ENCRYPTED, HIGH QUALITY VOICE CHAT "
"SOFTWARE."
-#: plinth/modules/mumble/__init__.py:47
+#: plinth/modules/mumble/__init__.py:46
msgid ""
"You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your "
@@ -2971,7 +2960,7 @@ msgstr "NOT AVAILABLE"
msgid "Networks"
msgstr "NETWORKS"
-#: plinth/modules/networks/__init__.py:142
+#: plinth/modules/networks/__init__.py:144
#, python-brace-format
msgid "Using DNSSEC on IPv{kind}"
msgstr "USING DNSSEC ON IPV{kind}"
@@ -3434,7 +3423,7 @@ msgstr "IPV4"
#: plinth/modules/networks/templates/connection_show.html:186
#: plinth/modules/networks/templates/connection_show.html:227
-#: plinth/modules/shadowsocks/forms.py:75
+#: plinth/modules/shadowsocks/forms.py:65
msgid "Method"
msgstr "METHOD"
@@ -3566,19 +3555,19 @@ msgstr "INACTIVE"
msgid "Create..."
msgstr "CREATE..."
-#: plinth/modules/openvpn/__init__.py:40
+#: plinth/modules/openvpn/__init__.py:39
#, fuzzy
#| msgid "OpenVPN"
msgid "OpenVPN"
msgstr "OPENVPN"
-#: plinth/modules/openvpn/__init__.py:42
+#: plinth/modules/openvpn/__init__.py:41
#, fuzzy
#| msgid "Virtual Private Network (OpenVPN)"
msgid "Virtual Private Network"
msgstr "VIRTUAL PRIVATE NETWORK (OPENVPN)"
-#: plinth/modules/openvpn/__init__.py:46
+#: plinth/modules/openvpn/__init__.py:45
#, fuzzy, python-brace-format
#| msgid ""
#| "Virtual Private Network (VPN) is a technique for securely connecting two "
@@ -3602,7 +3591,7 @@ msgstr ""
"YOU CAN ALSO ACCESS THE REST OF THE INTERNET VIA %(box_name)s FOR ADDED "
"SECURITY AND ANONYMITY."
-#: plinth/modules/openvpn/__init__.py:74
+#: plinth/modules/openvpn/__init__.py:75
#, python-brace-format
msgid ""
"Download Profile"
@@ -3686,11 +3675,11 @@ msgstr "OPENVPN SERVER IS RUNNING"
msgid "OpenVPN server is not running"
msgstr "OPENVPN SERVER IS NOT RUNNING"
-#: plinth/modules/openvpn/views.py:128
+#: plinth/modules/openvpn/views.py:126
msgid "Setup completed."
msgstr "SETUP COMPLETED."
-#: plinth/modules/openvpn/views.py:130
+#: plinth/modules/openvpn/views.py:128
msgid "Setup failed."
msgstr "SETUP FAILED."
@@ -3797,7 +3786,7 @@ msgstr ""
"SELECT YOUR PAGEKITE SERVER. SET \"PAGEKITE.NET\" TO USE THE DEFAULT "
"PAGEKITE.NET SERVER."
-#: plinth/modules/pagekite/forms.py:78 plinth/modules/shadowsocks/forms.py:64
+#: plinth/modules/pagekite/forms.py:78 plinth/modules/shadowsocks/forms.py:57
msgid "Server port"
msgstr "SERVER PORT"
@@ -4012,29 +4001,29 @@ msgstr ""
msgid "Save Services"
msgstr "SAVE SERVICES"
-#: plinth/modules/pagekite/utils.py:53
+#: plinth/modules/pagekite/utils.py:57
msgid "Web Server (HTTP)"
msgstr "WEB SERVER (HTTP)"
-#: plinth/modules/pagekite/utils.py:54
+#: plinth/modules/pagekite/utils.py:59
#, python-brace-format
msgid "Site will be available at http://{0}"
msgstr "SITE WILL BE AVAILABLE AT HTTP://{0}"
-#: plinth/modules/pagekite/utils.py:63
+#: plinth/modules/pagekite/utils.py:71
msgid "Web Server (HTTPS)"
msgstr "WEB SERVER (HTTPS)"
-#: plinth/modules/pagekite/utils.py:64
+#: plinth/modules/pagekite/utils.py:73
#, python-brace-format
msgid "Site will be available at https://{0}"
msgstr "SITE WILL BE AVAILABLE AT HTTPS://{0}"
-#: plinth/modules/pagekite/utils.py:73
+#: plinth/modules/pagekite/utils.py:85
msgid "Secure Shell (SSH)"
msgstr "SECURE SHELL (SSH)"
-#: plinth/modules/pagekite/utils.py:74
+#: plinth/modules/pagekite/utils.py:87
msgid ""
"See SSH client setup instructions"
@@ -4042,19 +4031,19 @@ msgstr ""
"SEE SSH CLIENT SETUP INSTRUCTIONS"
-#: plinth/modules/pagekite/utils.py:276
+#: plinth/modules/pagekite/utils.py:288
msgid "Pagekite"
msgstr "PAGEKITE"
-#: plinth/modules/pagekite/views.py:39
+#: plinth/modules/pagekite/views.py:40
msgid "Standard Services"
msgstr "STANDARD SERVICES"
-#: plinth/modules/pagekite/views.py:42
+#: plinth/modules/pagekite/views.py:44
msgid "Custom Services"
msgstr "CUSTOM SERVICES"
-#: plinth/modules/pagekite/views.py:156
+#: plinth/modules/pagekite/views.py:158
msgid "Pagekite setup finished. The HTTP and HTTPS services are activated now."
msgstr ""
@@ -4119,19 +4108,19 @@ msgstr ""
msgid "Shut Down Now"
msgstr "SHUT DOWN NOW"
-#: plinth/modules/privoxy/__init__.py:41
+#: plinth/modules/privoxy/__init__.py:42
#, fuzzy
#| msgid "Enable Privoxy"
msgid "Privoxy"
msgstr "ENABLE PRIVOXY"
-#: plinth/modules/privoxy/__init__.py:43
+#: plinth/modules/privoxy/__init__.py:44
#, fuzzy
#| msgid "Privoxy Web Proxy"
msgid "Web Proxy"
msgstr "PRIVOXY WEB PROXY"
-#: plinth/modules/privoxy/__init__.py:46
+#: plinth/modules/privoxy/__init__.py:47
#, fuzzy
#| msgid ""
#| "Privoxy is a non-caching web proxy with advanced filtering capabilities "
@@ -4146,7 +4135,7 @@ msgstr ""
"ENHANCING PRIVACY, MODIFYING WEB PAGE DATA AND HTTP HEADERS, CONTROLLING "
"ACCESS, AND REMOVING ADS AND OTHER OBNOXIOUS INTERNET JUNK."
-#: plinth/modules/privoxy/__init__.py:51
+#: plinth/modules/privoxy/__init__.py:52
#, fuzzy, python-brace-format
#| msgid ""
#| "You can use Privoxy by modifying your browser proxy settings to your "
@@ -4167,22 +4156,22 @@ msgstr ""
"config.privoxy.org\">HTTP://CONFIG.PRIVOXY.ORG/ OR HTTP://P.P.\""
-#: plinth/modules/privoxy/__init__.py:157
+#: plinth/modules/privoxy/__init__.py:142
#, python-brace-format
msgid "Access {url} with proxy {proxy} on tcp{kind}"
msgstr "ACCESS {url} WITH PROXY {proxy} ON TCP{kind}"
-#: plinth/modules/quassel/__init__.py:41 plinth/modules/quassel/manifest.py:25
+#: plinth/modules/quassel/__init__.py:40 plinth/modules/quassel/manifest.py:25
msgid "Quassel"
msgstr ""
-#: plinth/modules/quassel/__init__.py:43
+#: plinth/modules/quassel/__init__.py:42
#, fuzzy
#| msgid "Quassel IRC Client"
msgid "IRC Client"
msgstr "QUASSEL IRC CLIENT"
-#: plinth/modules/quassel/__init__.py:47
+#: plinth/modules/quassel/__init__.py:46
#, fuzzy, python-brace-format
#| msgid ""
#| "Quassel is an IRC application that is split into two parts, a \"core\" "
@@ -4206,7 +4195,7 @@ msgstr ""
"ONE OR MORE QUASSEL CLIENTS FROM A DESKTOP OR A MOBILE CAN BE USED TO "
"CONNECT AND DISCONNECT FROM IT."
-#: plinth/modules/quassel/__init__.py:54
+#: plinth/modules/quassel/__init__.py:53
msgid ""
"You can connect to your Quassel core on the default Quassel port 4242. "
"Clients to connect to Quassel from your Jitsi (for computers) and CSIPSIMPLE"
"a> (FOR ANDROID PHONES)."
-#: plinth/modules/repro/__init__.py:53
+#: plinth/modules/repro/__init__.py:55
msgid ""
"Note: Before using repro, domains and users will need to "
"be configured using the web-based "
@@ -4375,17 +4364,17 @@ msgstr ""
msgid "CSipSimple"
msgstr ""
-#: plinth/modules/restore/__init__.py:36 plinth/modules/restore/manifest.py:23
+#: plinth/modules/restore/__init__.py:37 plinth/modules/restore/manifest.py:23
msgid "reStore"
msgstr "RESTORE"
-#: plinth/modules/restore/__init__.py:38
+#: plinth/modules/restore/__init__.py:39
#, fuzzy
#| msgid "Unhosted Storage (reStore)"
msgid "Unhosted Storage"
msgstr "UNHOSTED STORAGE (RESTORE)"
-#: plinth/modules/restore/__init__.py:42
+#: plinth/modules/restore/__init__.py:43
#, fuzzy, python-brace-format
#| msgid ""
#| "reStore is a server for unhosted web "
@@ -4406,7 +4395,7 @@ msgstr ""
"UNHOSTED STORAGE SERVER OF USER'S CHOICE. WITH RESTORE, YOUR %(box_name)s "
"BECOMES YOUR UNHOSTED STORAGE SERVER."
-#: plinth/modules/restore/__init__.py:48
+#: plinth/modules/restore/__init__.py:49
msgid ""
"You can create and edit accounts in the reStore web-"
"interface."
@@ -4414,20 +4403,20 @@ msgstr ""
"YOU CAN CREATE AND EDIT ACCOUNTS IN THE RESTORE WEB-"
"INTERFACE."
-#: plinth/modules/roundcube/__init__.py:34
+#: plinth/modules/roundcube/__init__.py:35
#: plinth/modules/roundcube/manifest.py:24
#, fuzzy
#| msgid "Enable Roundcube"
msgid "Roundcube"
msgstr "ENABLE ROUNDCUBE"
-#: plinth/modules/roundcube/__init__.py:36
+#: plinth/modules/roundcube/__init__.py:37
#, fuzzy
#| msgid "Email Client (Roundcube)"
msgid "Email Client"
msgstr "EMAIL CLIENT (ROUNDCUBE)"
-#: plinth/modules/roundcube/__init__.py:39
+#: plinth/modules/roundcube/__init__.py:40
msgid ""
"Roundcube webmail is a browser-based multilingual IMAP client with an "
"application-like user interface. It provides full functionality you expect "
@@ -4439,7 +4428,7 @@ msgstr ""
"FROM AN EMAIL CLIENT, INCLUDING MIME SUPPORT, ADDRESS BOOK, FOLDER "
"MANIPULATION, MESSAGE SEARCHING AND SPELL CHECKING."
-#: plinth/modules/roundcube/__init__.py:44
+#: plinth/modules/roundcube/__init__.py:45
msgid ""
"You can access Roundcube from /roundcube. Provide "
"the username and password of the email account you wish to access followed "
@@ -4453,7 +4442,7 @@ msgstr ""
"IMAP.EXAMPLE.COM. FOR IMAP OVER SSL (RECOMMENDED), FILL THE "
"SERVER FIELD LIKE IMAPS://IMAP.EXAMPLE.COM."
-#: plinth/modules/roundcube/__init__.py:50
+#: plinth/modules/roundcube/__init__.py:51
#, fuzzy
#| msgid ""
#| "For Gmail, username will be your Gmail address, password will be your "
@@ -4535,12 +4524,12 @@ msgstr ""
msgid "Allow this application to be used by anyone who can reach it."
msgstr ""
-#: plinth/modules/searx/views.py:60 plinth/modules/searx/views.py:71
-#: plinth/modules/tor/views.py:139 plinth/modules/tor/views.py:168
+#: plinth/modules/searx/views.py:59 plinth/modules/searx/views.py:70
+#: plinth/modules/tor/views.py:141 plinth/modules/tor/views.py:168
msgid "Configuration updated."
msgstr "CONFIGURATION UPDATED."
-#: plinth/modules/searx/views.py:63 plinth/modules/searx/views.py:74
+#: plinth/modules/searx/views.py:62 plinth/modules/searx/views.py:73
#: plinth/modules/tor/views.py:170
msgid "An error occurred during configuration."
msgstr "AN ERROR OCCURRED DURING CONFIGURATION."
@@ -4603,22 +4592,22 @@ msgstr ""
"a> PATH ON THE WEB SERVER. NOTE THAT SHAARLI ONLY SUPPORTS A SINGLE USER "
"ACCOUNT, WHICH YOU WILL NEED TO SETUP ON THE INITIAL VISIT."
-#: plinth/modules/shadowsocks/__init__.py:34
+#: plinth/modules/shadowsocks/__init__.py:35
msgid "Shadowsocks"
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:36
+#: plinth/modules/shadowsocks/__init__.py:37
msgid "Socks5 Proxy"
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:45
+#: plinth/modules/shadowsocks/__init__.py:44
msgid ""
"Shadowsocks is a lightweight and secure SOCKS5 proxy, designed to protect "
"your Internet traffic. It can be used to bypass Internet filtering and "
"censorship."
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:49
+#: plinth/modules/shadowsocks/__init__.py:48
#, python-brace-format
msgid ""
"Your {box_name} can run a Shadowsocks client, that can connect to a "
@@ -4627,38 +4616,38 @@ msgid ""
"the Shadowsocks server."
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:54
+#: plinth/modules/shadowsocks/__init__.py:53
msgid ""
"To use Shadowsocks after setup, set the SOCKS5 proxy URL in your device, "
"browser or application to http://freedombox_address:1080/"
msgstr ""
+#: plinth/modules/shadowsocks/forms.py:28
#: plinth/modules/shadowsocks/forms.py:29
-#: plinth/modules/shadowsocks/forms.py:30
msgid "Recommended"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:60
+#: plinth/modules/shadowsocks/forms.py:54
#, fuzzy
#| msgid "Service"
msgid "Server"
msgstr "SERVICE"
-#: plinth/modules/shadowsocks/forms.py:61
+#: plinth/modules/shadowsocks/forms.py:54
msgid "Server hostname or IP address"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:67
+#: plinth/modules/shadowsocks/forms.py:58
#, fuzzy
#| msgid "Server port"
msgid "Server port number"
msgstr "SERVER PORT"
-#: plinth/modules/shadowsocks/forms.py:71
+#: plinth/modules/shadowsocks/forms.py:61
msgid "Password used to encrypt data. Must match server password."
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:77
+#: plinth/modules/shadowsocks/forms.py:66
msgid "Encryption method. Must match setting on server."
msgstr ""
@@ -4954,7 +4943,7 @@ msgstr ""
msgid "Storage snapshots configuration updated"
msgstr "CONFIGURATION UPDATED"
-#: plinth/modules/snapshot/views.py:153 plinth/modules/tor/views.py:72
+#: plinth/modules/snapshot/views.py:153 plinth/modules/tor/views.py:73
#, python-brace-format
msgid "Action error: {0} [{1}] [{2}]"
msgstr "ACTION ERROR: {0} [{1}] [{2}]"
@@ -4988,11 +4977,11 @@ msgstr ""
msgid "Rollback to Snapshot"
msgstr ""
-#: plinth/modules/ssh/__init__.py:39
+#: plinth/modules/ssh/__init__.py:40
msgid "Secure Shell (SSH) Server"
msgstr "SECURE SHELL (SSH) SERVER"
-#: plinth/modules/ssh/__init__.py:42
+#: plinth/modules/ssh/__init__.py:43
msgid ""
"A Secure Shell server uses the secure shell protocol to accept connections "
"from remote computers. An authorized remote computer can perform "
@@ -5008,13 +4997,13 @@ msgstr ""
msgid "Login"
msgstr "LOGIN"
-#: plinth/modules/storage/__init__.py:36 plinth/modules/storage/views.py:53
+#: plinth/modules/storage/__init__.py:35 plinth/modules/storage/views.py:53
#, fuzzy
#| msgid "reStore"
msgid "Storage"
msgstr "RESTORE"
-#: plinth/modules/storage/__init__.py:44
+#: plinth/modules/storage/__init__.py:43
#, python-brace-format
msgid ""
"This module allows you to manage storage media attached to your {box_name}. "
@@ -5022,86 +5011,86 @@ msgid ""
"media, expand the root partition etc."
msgstr ""
-#: plinth/modules/storage/__init__.py:211
+#: plinth/modules/storage/__init__.py:213
#, python-brace-format
msgid "{disk_size:.1f} bytes"
msgstr ""
-#: plinth/modules/storage/__init__.py:215
+#: plinth/modules/storage/__init__.py:217
#, python-brace-format
msgid "{disk_size:.1f} KiB"
msgstr ""
-#: plinth/modules/storage/__init__.py:219
+#: plinth/modules/storage/__init__.py:221
#, python-brace-format
msgid "{disk_size:.1f} MiB"
msgstr ""
-#: plinth/modules/storage/__init__.py:223
+#: plinth/modules/storage/__init__.py:225
#, python-brace-format
msgid "{disk_size:.1f} GiB"
msgstr ""
-#: plinth/modules/storage/__init__.py:226
+#: plinth/modules/storage/__init__.py:228
#, python-brace-format
msgid "{disk_size:.1f} TiB"
msgstr ""
-#: plinth/modules/storage/__init__.py:233
+#: plinth/modules/storage/__init__.py:235
msgid "The operation failed."
msgstr ""
-#: plinth/modules/storage/__init__.py:235
+#: plinth/modules/storage/__init__.py:237
msgid "The operation was cancelled."
msgstr ""
-#: plinth/modules/storage/__init__.py:237
+#: plinth/modules/storage/__init__.py:239
#, fuzzy
#| msgid "repro service is running"
msgid "The device is already unmounting."
msgstr "REPRO SERVICE IS RUNNING"
-#: plinth/modules/storage/__init__.py:239
+#: plinth/modules/storage/__init__.py:241
msgid "The operation is not supported due to missing driver/tool support."
msgstr ""
-#: plinth/modules/storage/__init__.py:242
+#: plinth/modules/storage/__init__.py:244
msgid "The operation timed out."
msgstr ""
-#: plinth/modules/storage/__init__.py:244
+#: plinth/modules/storage/__init__.py:246
msgid "The operation would wake up a disk that is in a deep-sleep state."
msgstr ""
-#: plinth/modules/storage/__init__.py:247
+#: plinth/modules/storage/__init__.py:249
msgid "Attempting to unmount a device that is busy."
msgstr ""
-#: plinth/modules/storage/__init__.py:249
+#: plinth/modules/storage/__init__.py:251
msgid "The operation has already been cancelled."
msgstr ""
-#: plinth/modules/storage/__init__.py:255
+#: plinth/modules/storage/__init__.py:257
msgid "Not authorized to perform the requested operation."
msgstr ""
-#: plinth/modules/storage/__init__.py:257
+#: plinth/modules/storage/__init__.py:259
#, fuzzy
#| msgid "This service already exists"
msgid "The device is already mounted."
msgstr "THIS SERVICE ALREADY EXISTS"
-#: plinth/modules/storage/__init__.py:259
+#: plinth/modules/storage/__init__.py:261
#, fuzzy
#| msgid "repro service is not running"
msgid "The device is not mounted."
msgstr "REPRO SERVICE IS NOT RUNNING"
-#: plinth/modules/storage/__init__.py:262
+#: plinth/modules/storage/__init__.py:264
msgid "Not permitted to use the requested option."
msgstr ""
-#: plinth/modules/storage/__init__.py:265
+#: plinth/modules/storage/__init__.py:267
msgid "The device is mounted by another user."
msgstr ""
@@ -5182,16 +5171,16 @@ msgstr ""
msgid "Error ejecting device: {error_message}"
msgstr ""
-#: plinth/modules/syncthing/__init__.py:38
+#: plinth/modules/syncthing/__init__.py:40
#: plinth/modules/syncthing/manifest.py:28
msgid "Syncthing"
msgstr ""
-#: plinth/modules/syncthing/__init__.py:40
+#: plinth/modules/syncthing/__init__.py:42
msgid "File Synchronization"
msgstr ""
-#: plinth/modules/syncthing/__init__.py:43
+#: plinth/modules/syncthing/__init__.py:45
msgid ""
"Syncthing is an application to synchronize files across multiple devices, e."
"g. your desktop computer and mobile phone. Creation, modification, or "
@@ -5199,7 +5188,7 @@ msgid ""
"other devices that also run Syncthing."
msgstr ""
-#: plinth/modules/syncthing/__init__.py:48
+#: plinth/modules/syncthing/__init__.py:50
#, python-brace-format
msgid ""
"Running Syncthing on {box_name} provides an extra synchronization point for "
@@ -5210,28 +5199,28 @@ msgid ""
"{box_name} is only available for users belonging to the \"admin\" group."
msgstr ""
-#: plinth/modules/syncthing/__init__.py:55
+#: plinth/modules/syncthing/__init__.py:57
msgid ""
"When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile clients are also available."
msgstr ""
-#: plinth/modules/syncthing/__init__.py:62
+#: plinth/modules/syncthing/__init__.py:64
#, fuzzy
#| msgid "Installation"
msgid "Administer Syncthing application"
msgstr "INSTALLATION"
-#: plinth/modules/tahoe/__init__.py:41
+#: plinth/modules/tahoe/__init__.py:43
msgid "Tahoe-LAFS"
msgstr ""
-#: plinth/modules/tahoe/__init__.py:43
+#: plinth/modules/tahoe/__init__.py:45
msgid "Distributed File Storage"
msgstr ""
-#: plinth/modules/tahoe/__init__.py:107
+#: plinth/modules/tahoe/__init__.py:119
msgid ""
"Tahoe-LAFS is a decentralized secure file storage system. It uses provider "
"independent security to store files over a distributed network of storage "
@@ -5239,7 +5228,7 @@ msgid ""
"remaining nodes."
msgstr ""
-#: plinth/modules/tahoe/__init__.py:112
+#: plinth/modules/tahoe/__init__.py:124
#, python-brace-format
msgid ""
"This {box_name} hosts a storage node and an introducer by default. "
@@ -5286,11 +5275,11 @@ msgstr ""
msgid "Remove"
msgstr ""
-#: plinth/modules/tor/__init__.py:43
+#: plinth/modules/tor/__init__.py:46
msgid "Tor"
msgstr ""
-#: plinth/modules/tor/__init__.py:48
+#: plinth/modules/tor/__init__.py:51
#, fuzzy
#| msgid ""
#| "Tor is an anonymous communication system. You can learn more about it "
@@ -5311,40 +5300,36 @@ msgstr ""
"THE "
"TOR BROWSER."
-#: plinth/modules/tor/__init__.py:93
+#: plinth/modules/tor/__init__.py:80
msgid "Tor Socks Proxy"
msgstr ""
-#: plinth/modules/tor/__init__.py:99 plinth/modules/tor/__init__.py:146
+#: plinth/modules/tor/__init__.py:84
msgid "Tor Bridge Relay"
msgstr "TOR BRIDGE RELAY"
-#: plinth/modules/tor/__init__.py:120 plinth/modules/tor/__init__.py:188
+#: plinth/modules/tor/__init__.py:122 plinth/modules/tor/__init__.py:150
msgid "Tor Hidden Service"
msgstr "TOR HIDDEN SERVICE"
-#: plinth/modules/tor/__init__.py:136
-msgid "Tor Anonymity Network"
-msgstr "TOR ANONYMITY NETWORK"
-
-#: plinth/modules/tor/__init__.py:208
+#: plinth/modules/tor/__init__.py:170
msgid "Tor relay port available"
msgstr "TOR RELAY PORT AVAILABLE"
-#: plinth/modules/tor/__init__.py:218
+#: plinth/modules/tor/__init__.py:180
msgid "Obfs3 transport registered"
msgstr "OBFS3 TRANSPORT REGISTERED"
-#: plinth/modules/tor/__init__.py:226
+#: plinth/modules/tor/__init__.py:188
msgid "Obfs4 transport registered"
msgstr "OBFS4 TRANSPORT REGISTERED"
-#: plinth/modules/tor/__init__.py:265
+#: plinth/modules/tor/__init__.py:227
#, python-brace-format
msgid "Access URL {url} on tcp{kind} via Tor"
msgstr "ACCESS URL {url} ON TCP{kind} VIA TOR"
-#: plinth/modules/tor/__init__.py:276
+#: plinth/modules/tor/__init__.py:238
#, python-brace-format
msgid "Confirm Tor usage at {url} on tcp{kind}"
msgstr "CONFIRM TOR USAGE AT {url} ON TCP{kind}"
@@ -5501,14 +5486,14 @@ msgstr "SOCKS"
msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050."
msgstr "A TOR SOCKS PORT IS AVAILABLE ON YOUR %(box_name)s ON TCP PORT 9050."
-#: plinth/modules/transmission/__init__.py:39
+#: plinth/modules/transmission/__init__.py:41
#: plinth/modules/transmission/manifest.py:24
#, fuzzy
#| msgid "Transmission BitTorrent"
msgid "Transmission"
msgstr "TRANSMISSION BITTORRENT"
-#: plinth/modules/transmission/__init__.py:44
+#: plinth/modules/transmission/__init__.py:46
msgid ""
"BitTorrent is a peer-to-peer file sharing protocol. Transmission daemon "
"handles Bitorrent file sharing. Note that BitTorrent is not anonymous."
@@ -5516,7 +5501,7 @@ msgstr ""
"BITTORRENT IS A PEER-TO-PEER FILE SHARING PROTOCOL. TRANSMISSION DAEMON "
"HANDLES BITORRENT FILE SHARING. NOTE THAT BITTORRENT IS NOT ANONYMOUS."
-#: plinth/modules/transmission/__init__.py:47
+#: plinth/modules/transmission/__init__.py:49
msgid ""
"Access the web interface at /transmission."
msgstr ""
@@ -5536,22 +5521,22 @@ msgstr ""
"ENSURE THAT THE NEW DIRECTORY EXISTS AND IS WRITABLE BY \"DEBIAN-TRANSMISSION"
"\" USER."
-#: plinth/modules/ttrss/__init__.py:41 plinth/modules/ttrss/manifest.py:34
+#: plinth/modules/ttrss/__init__.py:43 plinth/modules/ttrss/manifest.py:34
msgid "Tiny Tiny RSS"
msgstr ""
-#: plinth/modules/ttrss/__init__.py:43
+#: plinth/modules/ttrss/__init__.py:45
msgid "News Feed Reader"
msgstr ""
-#: plinth/modules/ttrss/__init__.py:46
+#: plinth/modules/ttrss/__init__.py:48
msgid ""
"Tiny Tiny RSS is a news feed (RSS/Atom) reader and aggregator, designed to "
"allow reading news from any location, while feeling as close to a real "
"desktop application as possible."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:50
+#: plinth/modules/ttrss/__init__.py:52
#, fuzzy, python-brace-format
#| msgid ""
#| "When enabled, the blogs and wikis will be available from /IKIWIKI."
-#: plinth/modules/ttrss/__init__.py:55
+#: plinth/modules/ttrss/__init__.py:57
msgid ""
"When using a mobile or desktop application for Tiny Tiny RSS, use the URL /tt-rss-app for connecting."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:61
+#: plinth/modules/ttrss/__init__.py:63
msgid "Read and subscribe to news feeds"
msgstr ""
@@ -5578,13 +5563,13 @@ msgstr ""
msgid "Tiny Tiny RSS (Fork)"
msgstr ""
-#: plinth/modules/upgrades/__init__.py:36 plinth/templates/setup.html:101
+#: plinth/modules/upgrades/__init__.py:35 plinth/templates/setup.html:101
#, fuzzy
#| msgid "Update URL"
msgid "Update"
msgstr "UPDATE URL"
-#: plinth/modules/upgrades/__init__.py:39
+#: plinth/modules/upgrades/__init__.py:38
msgid "Check for and apply the latest software and security updates."
msgstr ""
@@ -5635,36 +5620,36 @@ msgstr ""
msgid "Auto-update"
msgstr "LAST UPDATE"
-#: plinth/modules/upgrades/views.py:39
+#: plinth/modules/upgrades/views.py:40
#, fuzzy
#| msgid "Last update"
msgid "Manual update"
msgstr "LAST UPDATE"
-#: plinth/modules/upgrades/views.py:78
+#: plinth/modules/upgrades/views.py:79
#, python-brace-format
msgid "Error when configuring unattended-upgrades: {error}"
msgstr "ERROR WHEN CONFIGURING UNATTENDED-UPGRADES: {error}"
-#: plinth/modules/upgrades/views.py:82
+#: plinth/modules/upgrades/views.py:83
msgid "Automatic upgrades enabled"
msgstr "AUTOMATIC UPGRADES ENABLED"
-#: plinth/modules/upgrades/views.py:85
+#: plinth/modules/upgrades/views.py:86
msgid "Automatic upgrades disabled"
msgstr "AUTOMATIC UPGRADES DISABLED"
-#: plinth/modules/upgrades/views.py:87
+#: plinth/modules/upgrades/views.py:88
#, fuzzy
#| msgid "Setting unchanged"
msgid "Settings unchanged"
msgstr "SETTING UNCHANGED"
-#: plinth/modules/upgrades/views.py:113
+#: plinth/modules/upgrades/views.py:114
msgid "Upgrade process started."
msgstr "UPGRADE PROCESS STARTED."
-#: plinth/modules/upgrades/views.py:116
+#: plinth/modules/upgrades/views.py:117
msgid "Starting upgrade failed."
msgstr "STARTING UPGRADE FAILED."
@@ -5672,7 +5657,7 @@ msgstr "STARTING UPGRADE FAILED."
msgid "Users and Groups"
msgstr "USERS AND GROUPS"
-#: plinth/modules/users/__init__.py:106
+#: plinth/modules/users/__init__.py:108
#, python-brace-format
msgid "Check LDAP entry \"{search_item}\""
msgstr "CHECK LDAP ENTRY \"{search_item}\""
@@ -5906,15 +5891,6 @@ msgstr "SETTING UNCHANGED"
msgid "configuration file: {file}"
msgstr "CONFIGURATION"
-#: plinth/service.py:140
-msgid "Web Server over Secure Socket Layer"
-msgstr "WEB SERVER OVER SECURE SOCKET LAYER"
-
-#: plinth/service.py:145
-#, python-brace-format
-msgid "{box_name} Web Interface (Plinth)"
-msgstr "{box_name} WEB INTERFACE (PLINTH)"
-
#: plinth/templates/403.html:25
msgid "403 Forbidden"
msgstr ""
@@ -6147,17 +6123,17 @@ msgstr ""
msgid "Mailing list"
msgstr ""
-#: plinth/templates/internal-zone.html:25
+#: plinth/templates/internal-zone.html:26
#, fuzzy, python-format
#| msgid "Service discovery server is not running"
msgid "%(service_name)s is available only on internal networks."
msgstr "SERVICE DISCOVERY SERVER IS NOT RUNNING"
-#: plinth/templates/internal-zone.html:31
+#: plinth/templates/internal-zone.html:32
msgid "Currently there are no network interfaces configured as internal."
msgstr ""
-#: plinth/templates/internal-zone.html:33
+#: plinth/templates/internal-zone.html:34
#, python-format
msgid ""
"Currently the following network interfaces are configured as internal: "
@@ -6224,10 +6200,28 @@ msgstr "INSTALLING %(package_names)s: %(status)s"
msgid "%(percentage)s%% complete"
msgstr "%(percentage)s%% COMPLETE"
+#: plinth/views.py:178
+#, fuzzy
+#| msgid "Applications"
+msgid "Application enabled"
+msgstr "APPLICATIONS"
+
+#: plinth/views.py:181
+#, fuzzy
+#| msgid "Applications"
+msgid "Application disabled"
+msgstr "APPLICATIONS"
+
#: plinth/web_framework.py:186
msgid "Gujarati"
msgstr ""
+#~ msgid "Tor Anonymity Network"
+#~ msgstr "TOR ANONYMITY NETWORK"
+
+#~ msgid "Web Server over Secure Socket Layer"
+#~ msgstr "WEB SERVER OVER SECURE SOCKET LAYER"
+
#~ msgid "Current status:"
#~ msgstr "CURRENT STATUS:"
diff --git a/plinth/locale/fr/LC_MESSAGES/django.po b/plinth/locale/fr/LC_MESSAGES/django.po
index a2cc2dedd..d65fb9f09 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: 2019-06-10 19:02-0400\n"
+"POT-Creation-Date: 2019-06-24 19:48-0400\n"
"PO-Revision-Date: 2019-03-13 15:03+0000\n"
"Last-Translator: Vincent Ladeuil \n"
"Language-Team: French /"
@@ -511,14 +522,14 @@ msgstr ""
"\">/_cockpit sur le serveur web. Il peut être consulté par tout utilisateur avec un compte admin sur {box_name}."
-#: plinth/modules/config/__init__.py:59 plinth/modules/dynamicdns/views.py:44
+#: plinth/modules/config/__init__.py:61 plinth/modules/dynamicdns/views.py:45
#: plinth/modules/i2p/views.py:31 plinth/modules/ikiwiki/views.py:35
#: plinth/modules/pagekite/views.py:36 plinth/modules/snapshot/views.py:40
#: plinth/modules/tahoe/templates/tahoe-pre-setup.html:39
msgid "Configure"
msgstr "Configurer"
-#: plinth/modules/config/__init__.py:164 plinth/modules/config/forms.py:76
+#: plinth/modules/config/__init__.py:166 plinth/modules/config/forms.py:76
#: plinth/modules/config/views.py:171 plinth/modules/dynamicdns/forms.py:111
msgid "Domain Name"
msgstr "Nom de Domaine"
@@ -603,8 +614,8 @@ msgstr ""
#: plinth/modules/power/templates/power_restart.html:42
#: plinth/modules/power/templates/power_shutdown.html:41
#: plinth/modules/storage/templates/storage.html:48
-#: plinth/templates/service-subsubmenu.html:47 plinth/templates/service.html:42
-#: plinth/templates/setup.html:48 plinth/templates/simple_service.html:38
+#: plinth/templates/app-subsubmenu.html:47 plinth/templates/app.html:42
+#: plinth/templates/setup.html:48 plinth/templates/simple_app.html:38
msgid "Learn more..."
msgstr "En savoir plus..."
@@ -655,22 +666,22 @@ msgstr ""
msgid "Hiding advanced apps and features"
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:38
+#: plinth/modules/coquelicot/__init__.py:40
msgid "Coquelicot"
msgstr "Coquelicot"
-#: plinth/modules/coquelicot/__init__.py:40
+#: plinth/modules/coquelicot/__init__.py:42
msgid "File Sharing"
msgstr "Partage de fichiers"
-#: plinth/modules/coquelicot/__init__.py:43
+#: plinth/modules/coquelicot/__init__.py:45
msgid ""
"Coquelicot is a “one-click” file sharing web application with a focus on "
"protecting users’ privacy. It is best used for quickly sharing a single "
"file. "
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:46
+#: plinth/modules/coquelicot/__init__.py:48
msgid ""
"This Coquelicot instance is exposed to the public but requires an upload "
"password to prevent unauthorized access. You can set a new upload password "
@@ -700,23 +711,23 @@ msgstr ""
msgid "coquelicot"
msgstr "coquelicot"
-#: plinth/modules/coquelicot/views.py:57
+#: plinth/modules/coquelicot/views.py:59
#, fuzzy
#| msgid "Password"
msgid "Upload password updated"
msgstr "Mise à jour du mot de passe de téléchargement"
-#: plinth/modules/coquelicot/views.py:60
+#: plinth/modules/coquelicot/views.py:62
msgid "Failed to update upload password"
msgstr ""
-#: plinth/modules/coquelicot/views.py:68
+#: plinth/modules/coquelicot/views.py:70
#, fuzzy
#| msgid "Maximum players configuration updated"
msgid "Maximum file size updated"
msgstr "Mise à jour de la taille maximale des fichiers"
-#: plinth/modules/coquelicot/views.py:71
+#: plinth/modules/coquelicot/views.py:73
msgid "Failed to update maximum file size"
msgstr ""
@@ -732,15 +743,15 @@ msgstr ""
"Le serveur de temps réseau est un programme permettant de maintenir l'heure "
"du système synchronisée avec les serveurs sur Internet."
-#: plinth/modules/datetime/__init__.py:107
+#: plinth/modules/datetime/__init__.py:99
msgid "Time synchronized to NTP server"
msgstr "Synchroniser l'heure avec un serveur NTP"
-#: plinth/modules/datetime/forms.py:36
+#: plinth/modules/datetime/forms.py:35
msgid "Time Zone"
msgstr "Fuseau horaire"
-#: plinth/modules/datetime/forms.py:37
+#: plinth/modules/datetime/forms.py:36
msgid ""
"Set your time zone to get accurate timestamps. This will set the system-wide "
"time zone."
@@ -748,7 +759,7 @@ msgstr ""
"Paramétrer votre fuseau horaire pour obtenir un horodatage précis. Cela "
"définira le fuseau horaire pour tout le système."
-#: plinth/modules/datetime/forms.py:49
+#: plinth/modules/datetime/forms.py:47
msgid "-- no time zone set --"
msgstr "-- pas de fuseau horaire établi --"
@@ -766,7 +777,7 @@ msgid "Deluge"
msgstr "Deluge"
#: plinth/modules/deluge/__init__.py:41
-#: plinth/modules/transmission/__init__.py:41
+#: plinth/modules/transmission/__init__.py:43
msgid "BitTorrent Web Client"
msgstr "Client web pour BitTorrent"
@@ -786,7 +797,7 @@ msgstr ""
"de suite après l'activation du service."
#: plinth/modules/deluge/__init__.py:51
-#: plinth/modules/transmission/__init__.py:54
+#: plinth/modules/transmission/__init__.py:56
msgid "Download files using BitTorrent applications"
msgstr ""
@@ -851,12 +862,12 @@ msgstr "Test"
msgid "Result"
msgstr "Résultat"
-#: plinth/modules/diaspora/__init__.py:52
+#: plinth/modules/diaspora/__init__.py:54
#: plinth/modules/diaspora/manifest.py:38
msgid "diaspora*"
msgstr "diaspora*"
-#: plinth/modules/diaspora/__init__.py:54
+#: plinth/modules/diaspora/__init__.py:56
msgid "Federated Social Network"
msgstr "Réseau social fédéré"
@@ -911,22 +922,22 @@ msgstr ""
#: plinth/modules/tahoe/templates/tahoe-pre-setup.html:58
#: plinth/modules/tor/templates/tor.html:96
#: plinth/modules/upgrades/templates/upgrades_configure.html:32
-#: plinth/templates/service.html:89
+#: plinth/templates/app.html:89
msgid "Update setup"
msgstr "Actualiser la configuration"
-#: plinth/modules/diaspora/views.py:97 plinth/modules/ejabberd/views.py:64
-#: plinth/modules/matrixsynapse/views.py:107
-#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:150
-#: plinth/modules/tor/views.py:146 plinth/views.py:160
+#: plinth/modules/diaspora/views.py:94 plinth/modules/ejabberd/views.py:65
+#: plinth/modules/matrixsynapse/views.py:108
+#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:148
+#: plinth/modules/tor/views.py:148 plinth/views.py:174
msgid "Setting unchanged"
msgstr "Paramètre inchangé"
-#: plinth/modules/diaspora/views.py:101
+#: plinth/modules/diaspora/views.py:98
msgid "User registrations enabled"
msgstr "L'enregistrement des utilisateurs est activé"
-#: plinth/modules/diaspora/views.py:105
+#: plinth/modules/diaspora/views.py:102
msgid "User registrations disabled"
msgstr "L'enregistrement des utilisateurs est désactivé"
@@ -964,8 +975,8 @@ msgstr ""
"la nouvelle IP. Si quelqu'un sur Internet demande votre nom DNS, il "
"obtiendra votre adresse IP actuelle."
-#: plinth/modules/dynamicdns/__init__.py:85
-#: plinth/modules/dynamicdns/views.py:167
+#: plinth/modules/dynamicdns/__init__.py:87
+#: plinth/modules/dynamicdns/views.py:169
msgid "Dynamic DNS Service"
msgstr "Service de DNS dynamique"
@@ -1075,7 +1086,7 @@ msgid "Username"
msgstr "Nom Utilisateur"
#: plinth/modules/dynamicdns/forms.py:121 plinth/modules/networks/forms.py:235
-#: plinth/modules/shadowsocks/forms.py:70
+#: plinth/modules/shadowsocks/forms.py:61
msgid "Password"
msgstr "Mot de passe"
@@ -1174,39 +1185,39 @@ msgstr ""
msgid "Last update"
msgstr "Dernière mise à jour"
-#: plinth/modules/dynamicdns/views.py:41 plinth/modules/help/help.py:57
+#: plinth/modules/dynamicdns/views.py:41 plinth/modules/help/help.py:59
msgid "About"
msgstr "À propos"
-#: plinth/modules/dynamicdns/views.py:47
+#: plinth/modules/dynamicdns/views.py:49
#: plinth/modules/firewall/templates/firewall.html:25
#: plinth/modules/firewall/templates/firewall.html:45
#: plinth/modules/i2p/templates/i2p.html:27
#: plinth/modules/networks/templates/connection_show.html:261
#: plinth/modules/openvpn/templates/openvpn.html:71
#: plinth/modules/tor/templates/tor.html:40
-#: plinth/modules/tor/templates/tor.html:68 plinth/templates/service.html:51
+#: plinth/modules/tor/templates/tor.html:68 plinth/templates/app.html:51
msgid "Status"
msgstr "État"
-#: plinth/modules/dynamicdns/views.py:78
+#: plinth/modules/dynamicdns/views.py:80
msgid "Configure Dynamic DNS"
msgstr "Configurer le DNS Dynamique"
-#: plinth/modules/dynamicdns/views.py:103
+#: plinth/modules/dynamicdns/views.py:105
msgid "Dynamic DNS Status"
msgstr "Etat du DNS Dynamique"
-#: plinth/modules/ejabberd/__init__.py:43
+#: plinth/modules/ejabberd/__init__.py:45
msgid "ejabberd"
msgstr "ejabberd"
-#: plinth/modules/ejabberd/__init__.py:45
-#: plinth/modules/matrixsynapse/__init__.py:43
+#: plinth/modules/ejabberd/__init__.py:47
+#: plinth/modules/matrixsynapse/__init__.py:45
msgid "Chat Server"
msgstr "Serveur de discussion"
-#: plinth/modules/ejabberd/__init__.py:48
+#: plinth/modules/ejabberd/__init__.py:50
msgid ""
"XMPP is an open and standardized communication protocol. Here you can run "
"and configure your XMPP server, called ejabberd."
@@ -1214,7 +1225,7 @@ msgstr ""
"XMPP est un protocole de communication ouvert et standardisé. Vous pouvez "
"lancer et configurer ici votre serveur XMPP, appelé ejabberd."
-#: plinth/modules/ejabberd/__init__.py:51
+#: plinth/modules/ejabberd/__init__.py:53
#, fuzzy, python-brace-format
#| msgid ""
#| "To actually communicate, you can use the client XMPP. Une fois activé, ejabberd peut être joint "
"par tout utilisateur avec un compte {box_name}."
-#: plinth/modules/ejabberd/forms.py:33
+#: plinth/modules/ejabberd/forms.py:32
msgid "Enable Message Archive Management"
msgstr "Activer la gestion des archives de messages"
-#: plinth/modules/ejabberd/forms.py:36
+#: plinth/modules/ejabberd/forms.py:34
#, python-brace-format
msgid ""
"If enabled, your {box_name} will store chat message histories. This allows "
@@ -1320,35 +1331,23 @@ msgstr "Lancer le client Web"
#: plinth/modules/openvpn/templates/openvpn.html:123
#: plinth/modules/snapshot/templates/snapshot.html:27
#: plinth/modules/tahoe/templates/tahoe-post-setup.html:43
-#: plinth/modules/tor/templates/tor.html:88 plinth/templates/service.html:81
+#: plinth/modules/tor/templates/tor.html:88 plinth/templates/app.html:81
msgid "Configuration"
msgstr "Configuration"
-#: plinth/modules/ejabberd/views.py:68
-#: plinth/modules/matrixsynapse/views.py:111
-#: plinth/modules/mediawiki/views.py:79 plinth/views.py:164
-msgid "Application enabled"
-msgstr "Application activée"
-
-#: plinth/modules/ejabberd/views.py:71
-#: plinth/modules/matrixsynapse/views.py:114
-#: plinth/modules/mediawiki/views.py:82 plinth/views.py:167
-msgid "Application disabled"
-msgstr "Application désactivée"
-
-#: plinth/modules/ejabberd/views.py:78
+#: plinth/modules/ejabberd/views.py:77
msgid "Message Archive Management enabled"
msgstr "Gestion des archives de messages activée"
-#: plinth/modules/ejabberd/views.py:82
+#: plinth/modules/ejabberd/views.py:81
msgid "Message Archive Management disabled"
msgstr "Gestion des archives de messages désactivée"
-#: plinth/modules/firewall/__init__.py:40
+#: plinth/modules/firewall/__init__.py:36
msgid "Firewall"
msgstr "Pare-feu"
-#: plinth/modules/firewall/__init__.py:44
+#: plinth/modules/firewall/__init__.py:40
#, python-brace-format
msgid ""
"Firewall is a security system that controls the incoming and outgoing "
@@ -1468,31 +1467,31 @@ msgstr "Démarrer la configuration"
msgid "Setup Complete"
msgstr "Installation Achevée"
-#: plinth/modules/help/help.py:44
+#: plinth/modules/help/help.py:46
msgid "Documentation"
msgstr "Documentation"
-#: plinth/modules/help/help.py:48 plinth/modules/networks/forms.py:68
+#: plinth/modules/help/help.py:50 plinth/modules/networks/forms.py:68
#: plinth/modules/networks/forms.py:108 plinth/templates/index.html:135
msgid "Manual"
msgstr "Manuel"
-#: plinth/modules/help/help.py:53
+#: plinth/modules/help/help.py:55
#, fuzzy
#| msgid "{box_name} Manual"
msgid "Download Manual"
msgstr "Télécharger le manuel"
-#: plinth/modules/help/help.py:73
+#: plinth/modules/help/help.py:75
msgid "Documentation and FAQ"
msgstr "Documentation et FAQ"
-#: plinth/modules/help/help.py:81
+#: plinth/modules/help/help.py:83
#, python-brace-format
msgid "About {box_name}"
msgstr "À Propos de {box_name}"
-#: plinth/modules/help/help.py:102
+#: plinth/modules/help/help.py:104
#, python-brace-format
msgid "{box_name} Manual"
msgstr "Manuel {box_name}"
@@ -1660,15 +1659,15 @@ msgstr ""
"Veuillez retirer les éventuels mots de passe et autres informations "
"personnelles du journal avant de soumettre le rapport d'erreur."
-#: plinth/modules/i2p/__init__.py:40 plinth/modules/i2p/manifest.py:31
+#: plinth/modules/i2p/__init__.py:42 plinth/modules/i2p/manifest.py:31
msgid "I2P"
msgstr ""
-#: plinth/modules/i2p/__init__.py:42 plinth/modules/tor/__init__.py:45
+#: plinth/modules/i2p/__init__.py:44 plinth/modules/tor/__init__.py:48
msgid "Anonymity Network"
msgstr "Réseau d'anonymat"
-#: plinth/modules/i2p/__init__.py:45
+#: plinth/modules/i2p/__init__.py:47
msgid ""
"The Invisible Internet Project is an anonymous network layer intended to "
"protect communication from censorship and surveillance. I2P provides "
@@ -1676,7 +1675,7 @@ msgid ""
"distributed around the world."
msgstr ""
-#: plinth/modules/i2p/__init__.py:49
+#: plinth/modules/i2p/__init__.py:51
#, fuzzy
#| msgid ""
#| "For more information about the %(box_name)s project, see the Wiki %(box_name)s."
-#: plinth/modules/i2p/__init__.py:51
+#: plinth/modules/i2p/__init__.py:53
msgid ""
"The first visit to the provided web interface will initiate the "
"configuration process."
msgstr ""
-#: plinth/modules/i2p/__init__.py:57
+#: plinth/modules/i2p/__init__.py:59
#, fuzzy
#| msgid "Enable application"
msgid "Manage I2P application"
msgstr "Activer l'application"
-#: plinth/modules/i2p/templates/i2p.html:32 plinth/templates/service.html:56
+#: plinth/modules/i2p/templates/i2p.html:32 plinth/templates/app.html:56
#, python-format
msgid "Service %(service_name)s is running."
msgstr "Le service %(service_name)s est en fonctionnement."
-#: plinth/modules/i2p/templates/i2p.html:37 plinth/templates/service.html:61
+#: plinth/modules/i2p/templates/i2p.html:37 plinth/templates/app.html:61
#, python-format
msgid "Service %(service_name)s is not running."
msgstr "Le service %(service_name)s n'est pas en fonctionnement."
-#: plinth/modules/i2p/templates/i2p_service.html:13
+#: plinth/modules/i2p/templates/i2p_service.html:31
#: plinth/templates/clients.html:51
msgid "Launch"
msgstr ""
@@ -1723,43 +1722,43 @@ msgstr ""
msgid "Anonymous torrents"
msgstr ""
-#: plinth/modules/i2p/views.py:86
+#: plinth/modules/i2p/views.py:88
msgid "I2P Proxies and Tunnels"
msgstr ""
-#: plinth/modules/i2p/views.py:89
+#: plinth/modules/i2p/views.py:91
msgid ""
"I2P lets you browse the Internet and hidden services (eepsites) anonymously. "
"For this, your browser, preferably a Tor Browser, needs to be configured for "
"a proxy."
msgstr ""
-#: plinth/modules/i2p/views.py:92
+#: plinth/modules/i2p/views.py:94
msgid ""
"By default HTTP, HTTPS and IRC proxies are available. Additional proxies and "
"tunnels may be configured using the tunnel configuration interface."
msgstr ""
-#: plinth/modules/i2p/views.py:101
+#: plinth/modules/i2p/views.py:103
msgid "Anonymous Torrents"
msgstr ""
-#: plinth/modules/i2p/views.py:104
+#: plinth/modules/i2p/views.py:106
msgid ""
"I2P provides an application to download files anonymously in a peer-to-peer "
"network. Download files by adding torrents or create a new torrent to share "
"a file."
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:42 plinth/modules/ikiwiki/manifest.py:24
+#: plinth/modules/ikiwiki/__init__.py:41 plinth/modules/ikiwiki/manifest.py:24
msgid "ikiwiki"
msgstr "ikiwiki"
-#: plinth/modules/ikiwiki/__init__.py:44
+#: plinth/modules/ikiwiki/__init__.py:43
msgid "Wiki and Blog"
msgstr "Wiki et Blogue"
-#: plinth/modules/ikiwiki/__init__.py:47
+#: plinth/modules/ikiwiki/__init__.py:46
msgid ""
"ikiwiki is a simple wiki and blog application. It supports several "
"lightweight markup languages, including Markdown, and common blogging "
@@ -1772,7 +1771,7 @@ msgstr ""
"Une fois activés, les blogs et les wikis seront disponibles sur /ikiwiki (s'il sont créés)."
-#: plinth/modules/ikiwiki/__init__.py:53
+#: plinth/modules/ikiwiki/__init__.py:52
#, fuzzy, python-brace-format
#| msgid ""
#| "Only {box_name} users in the admin group can create and "
@@ -1791,7 +1790,7 @@ msgstr ""
"modifier ces autorisations ou ajouter de nouveaux utilisateurs dans la configuration des utilisateurs."
-#: plinth/modules/ikiwiki/__init__.py:63
+#: plinth/modules/ikiwiki/__init__.py:62
#, fuzzy
#| msgid "Services and Applications"
msgid "View and edit wiki applications"
@@ -1864,49 +1863,49 @@ msgstr "Aller au site %(site)s"
msgid "Manage"
msgstr "Gérer"
-#: plinth/modules/ikiwiki/views.py:121
+#: plinth/modules/ikiwiki/views.py:124
#, python-brace-format
msgid "Created wiki {name}."
msgstr "Wiki {name} créé."
-#: plinth/modules/ikiwiki/views.py:124
+#: plinth/modules/ikiwiki/views.py:127
#, python-brace-format
msgid "Could not create wiki: {error}"
msgstr "Le wiki n'a pu être créé : {error}"
-#: plinth/modules/ikiwiki/views.py:134
+#: plinth/modules/ikiwiki/views.py:137
#, python-brace-format
msgid "Created blog {name}."
msgstr "Blogue {name} créé."
-#: plinth/modules/ikiwiki/views.py:137
+#: plinth/modules/ikiwiki/views.py:140
#, python-brace-format
msgid "Could not create blog: {error}"
msgstr "Le blogue n'a pu être créé : {error}"
-#: plinth/modules/ikiwiki/views.py:150
+#: plinth/modules/ikiwiki/views.py:153
#, python-brace-format
msgid "{name} deleted."
msgstr "{name} supprimé."
-#: plinth/modules/ikiwiki/views.py:154
+#: plinth/modules/ikiwiki/views.py:157
#, python-brace-format
msgid "Could not delete {name}: {error}"
msgstr "La suppression de {name} n'a pas abouti : {error}"
-#: plinth/modules/infinoted/__init__.py:41
+#: plinth/modules/infinoted/__init__.py:40
msgid "infinoted"
msgstr "infinoted"
-#: plinth/modules/infinoted/__init__.py:43
+#: plinth/modules/infinoted/__init__.py:42
msgid "Gobby Server"
msgstr "Serveur Gobby"
-#: plinth/modules/infinoted/__init__.py:46
+#: plinth/modules/infinoted/__init__.py:45
msgid "infinoted is a server for Gobby, a collaborative text editor."
msgstr "infinoted est un serveur pour Gobby, un éditeur de texte collaboratif."
-#: plinth/modules/infinoted/__init__.py:48
+#: plinth/modules/infinoted/__init__.py:47
#, python-brace-format
msgid ""
"To use it, download Gobby, desktop "
@@ -2319,11 +2318,11 @@ msgid "Failed to delete certificate for domain {domain}: {error}"
msgstr ""
"Échec de la suppression du certificat pour le domaine {domain} : {error}"
-#: plinth/modules/matrixsynapse/__init__.py:41
+#: plinth/modules/matrixsynapse/__init__.py:43
msgid "Matrix Synapse"
msgstr "Matrix Synapse"
-#: plinth/modules/matrixsynapse/__init__.py:46
+#: plinth/modules/matrixsynapse/__init__.py:48
msgid ""
"Matrix is an new "
"ecosystem for open, federated instant messaging and VoIP. Synapse is a "
@@ -2341,7 +2340,7 @@ msgstr ""
"peuvent converser avec des utilisateurs sur tous les autres serveurs Matrix "
"grâce la fédération."
-#: plinth/modules/matrixsynapse/__init__.py:53
+#: plinth/modules/matrixsynapse/__init__.py:55
msgid ""
"To communicate, you can use the available clients for mobile, desktop and the web. Special:CreateAccount page."
msgstr ""
-#: plinth/modules/mediawiki/__init__.py:49
+#: plinth/modules/mediawiki/__init__.py:53
msgid ""
"Anyone with a link to this wiki can read it. Only users that are logged in "
"can make changes to the content."
@@ -2508,40 +2507,40 @@ msgstr ""
msgid "Password updated"
msgstr "Mot de passe mis à jour"
-#: plinth/modules/mediawiki/views.py:91
+#: plinth/modules/mediawiki/views.py:89
#, fuzzy
#| msgid "Public registration enabled"
msgid "Public registrations enabled"
msgstr "Enregistrements public activés"
-#: plinth/modules/mediawiki/views.py:100
+#: plinth/modules/mediawiki/views.py:98
#, fuzzy
#| msgid "Public registration disabled"
msgid "Public registrations disabled"
msgstr "Enregistrements public désactivés"
-#: plinth/modules/mediawiki/views.py:109
+#: plinth/modules/mediawiki/views.py:107
#, fuzzy
#| msgid "PageKite enabled"
msgid "Private mode enabled"
msgstr "Mode privé activé"
-#: plinth/modules/mediawiki/views.py:112
+#: plinth/modules/mediawiki/views.py:110
#, fuzzy
#| msgid "PageKite disabled"
msgid "Private mode disabled"
msgstr "Mode privé désactivé"
-#: plinth/modules/minetest/__init__.py:53
+#: plinth/modules/minetest/__init__.py:52
#: plinth/modules/minetest/manifest.py:25
msgid "Minetest"
msgstr "Minetest"
-#: plinth/modules/minetest/__init__.py:55
+#: plinth/modules/minetest/__init__.py:54
msgid "Block Sandbox"
msgstr "Bac à sable cubique"
-#: plinth/modules/minetest/__init__.py:59
+#: plinth/modules/minetest/__init__.py:58
#, python-brace-format
msgid ""
"Minetest is a multiplayer infinite-world block sandbox. This module enables "
@@ -2554,11 +2553,11 @@ msgstr ""
"serveur, vous devez disposer d'un client Minetest."
-#: plinth/modules/minetest/forms.py:31
+#: plinth/modules/minetest/forms.py:30
msgid "Maximum number of players"
msgstr "Nombre maximum de joueurs"
-#: plinth/modules/minetest/forms.py:35
+#: plinth/modules/minetest/forms.py:32
msgid ""
"You can change the maximum number of players playing minetest at a single "
"instance of time."
@@ -2566,11 +2565,11 @@ msgstr ""
"Il est possible de modifier le nombre maximum de personnes jouant à minetest "
"à un moment donné."
-#: plinth/modules/minetest/forms.py:39
+#: plinth/modules/minetest/forms.py:36
msgid "Enable creative mode"
msgstr "Activer le mode créatif"
-#: plinth/modules/minetest/forms.py:41
+#: plinth/modules/minetest/forms.py:37
msgid ""
"Creative mode changes the rules of the game to make it more suitable for "
"creative gameplay, rather than challenging \"survival\" gameplay."
@@ -2578,21 +2577,21 @@ msgstr ""
"Le mode créatif modifie les règles du jeu. Il le rend plus propice à la "
"construction plutôt qu'à la lutte pour la survie."
-#: plinth/modules/minetest/forms.py:46
+#: plinth/modules/minetest/forms.py:42
msgid "Enable PVP"
msgstr "Activer PVP"
-#: plinth/modules/minetest/forms.py:48
+#: plinth/modules/minetest/forms.py:43
msgid "Enabling Player Vs Player will allow players to damage other players."
msgstr ""
"Activer le paramètre joueur contre joueur (player versus player, PVP), "
"permettra aux joueurs d'infliger des dommages aux autres joueurs."
-#: plinth/modules/minetest/forms.py:52
+#: plinth/modules/minetest/forms.py:47
msgid "Enable damage"
msgstr "Activer les blessures"
-#: plinth/modules/minetest/forms.py:54
+#: plinth/modules/minetest/forms.py:48
msgid "When disabled, players cannot die or receive damage of any kind."
msgstr ""
"Si désactivé, les joueurs ne peuvent pas mourir ou être blessés d'aucune "
@@ -2608,52 +2607,52 @@ msgstr "Adresse"
msgid "Port"
msgstr "Port"
-#: plinth/modules/minetest/views.py:71
+#: plinth/modules/minetest/views.py:72
msgid "Maximum players configuration updated"
msgstr "Configuration du nombre maximum de joueurs mise à jour"
-#: plinth/modules/minetest/views.py:78
+#: plinth/modules/minetest/views.py:79
msgid "Creative mode configuration updated"
msgstr "Configuration du mode créatif mise à jour"
-#: plinth/modules/minetest/views.py:84
+#: plinth/modules/minetest/views.py:85
msgid "PVP configuration updated"
msgstr "Configuration PVP mise à jour"
-#: plinth/modules/minetest/views.py:90
+#: plinth/modules/minetest/views.py:91
msgid "Damage configuration updated"
msgstr "Configuration des blessures mise à jour"
-#: plinth/modules/mldonkey/__init__.py:38
+#: plinth/modules/mldonkey/__init__.py:40
#: plinth/modules/mldonkey/manifest.py:27
msgid "MLDonkey"
msgstr "MLDonkey"
-#: plinth/modules/mldonkey/__init__.py:40
+#: plinth/modules/mldonkey/__init__.py:42
msgid "Peer-to-peer File Sharing"
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:43
+#: plinth/modules/mldonkey/__init__.py:45
msgid ""
"MLDonkey is a peer-to-peer file sharing application used to exchange large "
"files. It can participate in multiple peer-to-peer networks including "
"eDonkey, Kademlia, Overnet, BitTorrent and DirectConnect."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:46
+#: plinth/modules/mldonkey/__init__.py:48
msgid ""
"Users belonging to admin and ed2k group can control it through the web "
"interface. Users in the admin group can also control it through any of the "
"separate mobile or desktop front-ends or a telnet interface. See manual."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:51
+#: plinth/modules/mldonkey/__init__.py:53
#, python-brace-format
msgid ""
"On {box_name}, downloaded files can be found in /var/lib/mldonkey/ directory."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:59
+#: plinth/modules/mldonkey/__init__.py:61
msgid "Download files using eDonkey applications"
msgstr ""
@@ -2733,12 +2732,6 @@ msgstr "Empreinte OpenPGP"
msgid "Secure Shell"
msgstr "Secure Shell"
-#: plinth/modules/monkeysphere/templates/monkeysphere.html:88
-#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:60
-#: plinth/service.py:138
-msgid "Web Server"
-msgstr "Serveur Web"
-
#: plinth/modules/monkeysphere/templates/monkeysphere.html:90
#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:62
msgid "Other"
@@ -2834,15 +2827,15 @@ msgstr "Clef publiée sur le serveur de clefs."
msgid "Error occurred while publishing key."
msgstr "Une erreur est survenue lors de la publication de la clef."
-#: plinth/modules/mumble/__init__.py:34 plinth/modules/mumble/manifest.py:27
+#: plinth/modules/mumble/__init__.py:35 plinth/modules/mumble/manifest.py:27
msgid "Mumble"
msgstr "Mumble"
-#: plinth/modules/mumble/__init__.py:36
+#: plinth/modules/mumble/__init__.py:37
msgid "Voice Chat"
msgstr "Chat vocal"
-#: plinth/modules/mumble/__init__.py:45
+#: plinth/modules/mumble/__init__.py:44
msgid ""
"Mumble is an open source, low-latency, encrypted, high quality voice chat "
"software."
@@ -2850,7 +2843,7 @@ msgstr ""
"Mumble est un logiciel de chat vocal de haute qualité, open source, crypté "
"et à faible temps de latence."
-#: plinth/modules/mumble/__init__.py:47
+#: plinth/modules/mumble/__init__.py:46
msgid ""
"You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your "
@@ -2902,7 +2895,7 @@ msgstr "Indisponible"
msgid "Networks"
msgstr "Réseaux"
-#: plinth/modules/networks/__init__.py:142
+#: plinth/modules/networks/__init__.py:144
#, python-brace-format
msgid "Using DNSSEC on IPv{kind}"
msgstr "Utilise DNSSEC sur IPv{kind}"
@@ -3361,7 +3354,7 @@ msgstr "IPv4"
#: plinth/modules/networks/templates/connection_show.html:186
#: plinth/modules/networks/templates/connection_show.html:227
-#: plinth/modules/shadowsocks/forms.py:75
+#: plinth/modules/shadowsocks/forms.py:65
msgid "Method"
msgstr "Méthode"
@@ -3494,15 +3487,15 @@ msgstr "Inactif"
msgid "Create..."
msgstr "Créer..."
-#: plinth/modules/openvpn/__init__.py:40
+#: plinth/modules/openvpn/__init__.py:39
msgid "OpenVPN"
msgstr "OpenVPN"
-#: plinth/modules/openvpn/__init__.py:42
+#: plinth/modules/openvpn/__init__.py:41
msgid "Virtual Private Network"
msgstr "Réseau privé virtuel"
-#: plinth/modules/openvpn/__init__.py:46
+#: plinth/modules/openvpn/__init__.py:45
#, python-brace-format
msgid ""
"Virtual Private Network (VPN) is a technique for securely connecting two "
@@ -3519,7 +3512,7 @@ msgstr ""
"internes via {box_name}. Vous pouvez aussi accéder à l'Internet via "
"{box_name} depuis votre réseau pour une sécurité et un anonymat accrus."
-#: plinth/modules/openvpn/__init__.py:74
+#: plinth/modules/openvpn/__init__.py:75
#, python-brace-format
msgid ""
"Download Profile"
@@ -3606,11 +3599,11 @@ msgstr "Le serveur OpenVPN est actif"
msgid "OpenVPN server is not running"
msgstr "Le serveur OpenVPN est inactif"
-#: plinth/modules/openvpn/views.py:128
+#: plinth/modules/openvpn/views.py:126
msgid "Setup completed."
msgstr "Installation terminée."
-#: plinth/modules/openvpn/views.py:130
+#: plinth/modules/openvpn/views.py:128
msgid "Setup failed."
msgstr "Échec de l'installation."
@@ -3701,7 +3694,7 @@ msgstr ""
"Sélectionner votre serveur pagekite. Établir \"pagekite.net\" pour une "
"utilisation par défaut du serveur pagekite.net."
-#: plinth/modules/pagekite/forms.py:78 plinth/modules/shadowsocks/forms.py:64
+#: plinth/modules/pagekite/forms.py:78 plinth/modules/shadowsocks/forms.py:57
msgid "Server port"
msgstr "Port serveur"
@@ -3916,29 +3909,29 @@ msgstr ""
msgid "Save Services"
msgstr "Sauvegarder les Services"
-#: plinth/modules/pagekite/utils.py:53
+#: plinth/modules/pagekite/utils.py:57
msgid "Web Server (HTTP)"
msgstr "Serveur Web (HTTP)"
-#: plinth/modules/pagekite/utils.py:54
+#: plinth/modules/pagekite/utils.py:59
#, python-brace-format
msgid "Site will be available at http://{0}"
msgstr "Le site sera accessible sur http://{0}"
-#: plinth/modules/pagekite/utils.py:63
+#: plinth/modules/pagekite/utils.py:71
msgid "Web Server (HTTPS)"
msgstr "Serveur Web (HTTPS)"
-#: plinth/modules/pagekite/utils.py:64
+#: plinth/modules/pagekite/utils.py:73
#, python-brace-format
msgid "Site will be available at https://{0}"
msgstr "Le site sera accessible sur https://{0}"
-#: plinth/modules/pagekite/utils.py:73
+#: plinth/modules/pagekite/utils.py:85
msgid "Secure Shell (SSH)"
msgstr "Shell Sécurisé (SSH)"
-#: plinth/modules/pagekite/utils.py:74
+#: plinth/modules/pagekite/utils.py:87
msgid ""
"See SSH client setup instructions"
@@ -3946,19 +3939,19 @@ msgstr ""
"Voir comment configurer le client SSH sur le wiki pagekite (en anglais)"
-#: plinth/modules/pagekite/utils.py:276
+#: plinth/modules/pagekite/utils.py:288
msgid "Pagekite"
msgstr "Pagekite"
-#: plinth/modules/pagekite/views.py:39
+#: plinth/modules/pagekite/views.py:40
msgid "Standard Services"
msgstr "Services Standards"
-#: plinth/modules/pagekite/views.py:42
+#: plinth/modules/pagekite/views.py:44
msgid "Custom Services"
msgstr "Services Personnalisés"
-#: plinth/modules/pagekite/views.py:156
+#: plinth/modules/pagekite/views.py:158
msgid "Pagekite setup finished. The HTTP and HTTPS services are activated now."
msgstr ""
"Installation de Pagekite terminée. Les services HTTP et HTTPS sont activés."
@@ -4031,15 +4024,15 @@ msgstr ""
msgid "Shut Down Now"
msgstr "Éteindre Maintenant"
-#: plinth/modules/privoxy/__init__.py:41
+#: plinth/modules/privoxy/__init__.py:42
msgid "Privoxy"
msgstr "Privoxy"
-#: plinth/modules/privoxy/__init__.py:43
+#: plinth/modules/privoxy/__init__.py:44
msgid "Web Proxy"
msgstr "Serveur mandataire web"
-#: plinth/modules/privoxy/__init__.py:46
+#: plinth/modules/privoxy/__init__.py:47
msgid ""
"Privoxy is a non-caching web proxy with advanced filtering capabilities for "
"enhancing privacy, modifying web page data and HTTP headers, controlling "
@@ -4050,7 +4043,7 @@ msgstr ""
"pages Web ou des en-têtes HTTP ainsi que de contrôler l'accès et de retirer "
"les publicités ou autres éléments nuisibles de l'Internet. "
-#: plinth/modules/privoxy/__init__.py:51
+#: plinth/modules/privoxy/__init__.py:52
#, python-brace-format
msgid ""
"You can use Privoxy by modifying your browser proxy settings to your "
@@ -4066,20 +4059,20 @@ msgstr ""
"config.privoxy.org\">http://config.privoxy.org/ ou http://p.p."
-#: plinth/modules/privoxy/__init__.py:157
+#: plinth/modules/privoxy/__init__.py:142
#, python-brace-format
msgid "Access {url} with proxy {proxy} on tcp{kind}"
msgstr "Accéder à l'URL {url} avec le proxy {proxy} sur tcp{kind}"
-#: plinth/modules/quassel/__init__.py:41 plinth/modules/quassel/manifest.py:25
+#: plinth/modules/quassel/__init__.py:40 plinth/modules/quassel/manifest.py:25
msgid "Quassel"
msgstr "Quassel"
-#: plinth/modules/quassel/__init__.py:43
+#: plinth/modules/quassel/__init__.py:42
msgid "IRC Client"
msgstr "Client IRC"
-#: plinth/modules/quassel/__init__.py:47
+#: plinth/modules/quassel/__init__.py:46
#, python-brace-format
msgid ""
"Quassel is an IRC application that is split into two parts, a \"core\" and a "
@@ -4096,7 +4089,7 @@ msgstr ""
"vous soyez toujours en ligne. Un ou plusieurs clients Quassel basés sur un "
"ordinateur ou un mobile servent à se brancher sur le cœur ou s'en débrancher."
-#: plinth/modules/quassel/__init__.py:54
+#: plinth/modules/quassel/__init__.py:53
msgid ""
"You can connect to your Quassel core on the default Quassel port 4242. "
"Clients to connect to Quassel from your Jitsi (for computers) and CSipSimple (pour les téléphones Android)."
-#: plinth/modules/repro/__init__.py:53
+#: plinth/modules/repro/__init__.py:55
msgid ""
"Note: Before using repro, domains and users will need to "
"be configured using the web-based "
@@ -4283,15 +4276,15 @@ msgstr ""
msgid "CSipSimple"
msgstr "CSipSimple"
-#: plinth/modules/restore/__init__.py:36 plinth/modules/restore/manifest.py:23
+#: plinth/modules/restore/__init__.py:37 plinth/modules/restore/manifest.py:23
msgid "reStore"
msgstr "reStore"
-#: plinth/modules/restore/__init__.py:38
+#: plinth/modules/restore/__init__.py:39
msgid "Unhosted Storage"
msgstr "Stockage non hébergé"
-#: plinth/modules/restore/__init__.py:42
+#: plinth/modules/restore/__init__.py:43
#, python-brace-format
msgid ""
"reStore is a server for unhosted web "
@@ -4308,7 +4301,7 @@ msgstr ""
"utilisant reStore, votre machine {box_name} devient votre serveur de "
"stockage non hébergé."
-#: plinth/modules/restore/__init__.py:48
+#: plinth/modules/restore/__init__.py:49
msgid ""
"You can create and edit accounts in the reStore web-"
"interface."
@@ -4316,16 +4309,16 @@ msgstr ""
"Vous pouvez créer et modifier les comptes sur l'interface Web reStore."
-#: plinth/modules/roundcube/__init__.py:34
+#: plinth/modules/roundcube/__init__.py:35
#: plinth/modules/roundcube/manifest.py:24
msgid "Roundcube"
msgstr "Roundcube"
-#: plinth/modules/roundcube/__init__.py:36
+#: plinth/modules/roundcube/__init__.py:37
msgid "Email Client"
msgstr "Client courriel"
-#: plinth/modules/roundcube/__init__.py:39
+#: plinth/modules/roundcube/__init__.py:40
msgid ""
"Roundcube webmail is a browser-based multilingual IMAP client with an "
"application-like user interface. It provides full functionality you expect "
@@ -4339,7 +4332,7 @@ msgstr ""
"d'adresses, une gestion des dossiers, une recherche des messages et un "
"correcteur orthographique."
-#: plinth/modules/roundcube/__init__.py:44
+#: plinth/modules/roundcube/__init__.py:45
msgid ""
"You can access Roundcube from /roundcube. Provide "
"the username and password of the email account you wish to access followed "
@@ -4354,7 +4347,7 @@ msgstr ""
"example.com. Pour de l'IMAP sur du SSL (recommandé), remplissez les "
"champs du serveur avec par exemple imaps://imap.example.com."
-#: plinth/modules/roundcube/__init__.py:50
+#: plinth/modules/roundcube/__init__.py:51
msgid ""
"For Gmail, username will be your Gmail address, password will be your Google "
"account password and server will be imaps://imap.gmail.com. "
@@ -4424,12 +4417,12 @@ msgstr ""
msgid "Allow this application to be used by anyone who can reach it."
msgstr ""
-#: plinth/modules/searx/views.py:60 plinth/modules/searx/views.py:71
-#: plinth/modules/tor/views.py:139 plinth/modules/tor/views.py:168
+#: plinth/modules/searx/views.py:59 plinth/modules/searx/views.py:70
+#: plinth/modules/tor/views.py:141 plinth/modules/tor/views.py:168
msgid "Configuration updated."
msgstr "Configuration actualisée."
-#: plinth/modules/searx/views.py:63 plinth/modules/searx/views.py:74
+#: plinth/modules/searx/views.py:62 plinth/modules/searx/views.py:73
#: plinth/modules/tor/views.py:170
msgid "An error occurred during configuration."
msgstr "Une erreur est survenue pendant la configuration."
@@ -4500,22 +4493,22 @@ msgstr ""
"compte utilisateur unique que vous configurerez lors de votre première "
"visite."
-#: plinth/modules/shadowsocks/__init__.py:34
+#: plinth/modules/shadowsocks/__init__.py:35
msgid "Shadowsocks"
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:36
+#: plinth/modules/shadowsocks/__init__.py:37
msgid "Socks5 Proxy"
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:45
+#: plinth/modules/shadowsocks/__init__.py:44
msgid ""
"Shadowsocks is a lightweight and secure SOCKS5 proxy, designed to protect "
"your Internet traffic. It can be used to bypass Internet filtering and "
"censorship."
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:49
+#: plinth/modules/shadowsocks/__init__.py:48
#, python-brace-format
msgid ""
"Your {box_name} can run a Shadowsocks client, that can connect to a "
@@ -4524,38 +4517,38 @@ msgid ""
"the Shadowsocks server."
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:54
+#: plinth/modules/shadowsocks/__init__.py:53
msgid ""
"To use Shadowsocks after setup, set the SOCKS5 proxy URL in your device, "
"browser or application to http://freedombox_address:1080/"
msgstr ""
+#: plinth/modules/shadowsocks/forms.py:28
#: plinth/modules/shadowsocks/forms.py:29
-#: plinth/modules/shadowsocks/forms.py:30
#, fuzzy
#| msgid "Fail2ban (recommended)"
msgid "Recommended"
msgstr "Recommandé"
-#: plinth/modules/shadowsocks/forms.py:60
+#: plinth/modules/shadowsocks/forms.py:54
msgid "Server"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:61
+#: plinth/modules/shadowsocks/forms.py:54
msgid "Server hostname or IP address"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:67
+#: plinth/modules/shadowsocks/forms.py:58
#, fuzzy
#| msgid "Server port"
msgid "Server port number"
msgstr "Numéro de port du serveur"
-#: plinth/modules/shadowsocks/forms.py:71
+#: plinth/modules/shadowsocks/forms.py:61
msgid "Password used to encrypt data. Must match server password."
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:77
+#: plinth/modules/shadowsocks/forms.py:66
msgid "Encryption method. Must match setting on server."
msgstr ""
@@ -4852,7 +4845,7 @@ msgstr "Instantané créé."
msgid "Storage snapshots configuration updated"
msgstr "Configuration des droits d'accès mise à jour"
-#: plinth/modules/snapshot/views.py:153 plinth/modules/tor/views.py:72
+#: plinth/modules/snapshot/views.py:153 plinth/modules/tor/views.py:73
#, python-brace-format
msgid "Action error: {0} [{1}] [{2}]"
msgstr "Erreur sur action : {0} [{1}] [{2}]"
@@ -4886,11 +4879,11 @@ msgstr "Le système doit être redémarré pour terminer le retour en arrière."
msgid "Rollback to Snapshot"
msgstr "Revenir à l'instantané"
-#: plinth/modules/ssh/__init__.py:39
+#: plinth/modules/ssh/__init__.py:40
msgid "Secure Shell (SSH) Server"
msgstr "Serveur Secure Shell (SSH)"
-#: plinth/modules/ssh/__init__.py:42
+#: plinth/modules/ssh/__init__.py:43
msgid ""
"A Secure Shell server uses the secure shell protocol to accept connections "
"from remote computers. An authorized remote computer can perform "
@@ -4910,11 +4903,11 @@ msgstr "Authentification unique"
msgid "Login"
msgstr "S'identifier"
-#: plinth/modules/storage/__init__.py:36 plinth/modules/storage/views.py:53
+#: plinth/modules/storage/__init__.py:35 plinth/modules/storage/views.py:53
msgid "Storage"
msgstr "Stockage"
-#: plinth/modules/storage/__init__.py:44
+#: plinth/modules/storage/__init__.py:43
#, python-brace-format
msgid ""
"This module allows you to manage storage media attached to your {box_name}. "
@@ -4922,80 +4915,80 @@ msgid ""
"media, expand the root partition etc."
msgstr ""
-#: plinth/modules/storage/__init__.py:211
+#: plinth/modules/storage/__init__.py:213
#, python-brace-format
msgid "{disk_size:.1f} bytes"
msgstr "{disk_size:.1f} octets"
-#: plinth/modules/storage/__init__.py:215
+#: plinth/modules/storage/__init__.py:217
#, python-brace-format
msgid "{disk_size:.1f} KiB"
msgstr "{disk_size:.1f} Kio"
-#: plinth/modules/storage/__init__.py:219
+#: plinth/modules/storage/__init__.py:221
#, python-brace-format
msgid "{disk_size:.1f} MiB"
msgstr "{disk_size:.1f} Mio"
-#: plinth/modules/storage/__init__.py:223
+#: plinth/modules/storage/__init__.py:225
#, python-brace-format
msgid "{disk_size:.1f} GiB"
msgstr "{disk_size:.1f} Gio"
-#: plinth/modules/storage/__init__.py:226
+#: plinth/modules/storage/__init__.py:228
#, python-brace-format
msgid "{disk_size:.1f} TiB"
msgstr "{disk_size:.1f} Tio"
-#: plinth/modules/storage/__init__.py:233
+#: plinth/modules/storage/__init__.py:235
msgid "The operation failed."
msgstr ""
-#: plinth/modules/storage/__init__.py:235
+#: plinth/modules/storage/__init__.py:237
msgid "The operation was cancelled."
msgstr ""
-#: plinth/modules/storage/__init__.py:237
+#: plinth/modules/storage/__init__.py:239
msgid "The device is already unmounting."
msgstr ""
-#: plinth/modules/storage/__init__.py:239
+#: plinth/modules/storage/__init__.py:241
msgid "The operation is not supported due to missing driver/tool support."
msgstr ""
-#: plinth/modules/storage/__init__.py:242
+#: plinth/modules/storage/__init__.py:244
msgid "The operation timed out."
msgstr ""
-#: plinth/modules/storage/__init__.py:244
+#: plinth/modules/storage/__init__.py:246
msgid "The operation would wake up a disk that is in a deep-sleep state."
msgstr ""
-#: plinth/modules/storage/__init__.py:247
+#: plinth/modules/storage/__init__.py:249
msgid "Attempting to unmount a device that is busy."
msgstr ""
-#: plinth/modules/storage/__init__.py:249
+#: plinth/modules/storage/__init__.py:251
msgid "The operation has already been cancelled."
msgstr ""
-#: plinth/modules/storage/__init__.py:255
+#: plinth/modules/storage/__init__.py:257
msgid "Not authorized to perform the requested operation."
msgstr ""
-#: plinth/modules/storage/__init__.py:257
+#: plinth/modules/storage/__init__.py:259
msgid "The device is already mounted."
msgstr ""
-#: plinth/modules/storage/__init__.py:259
+#: plinth/modules/storage/__init__.py:261
msgid "The device is not mounted."
msgstr ""
-#: plinth/modules/storage/__init__.py:262
+#: plinth/modules/storage/__init__.py:264
msgid "Not permitted to use the requested option."
msgstr ""
-#: plinth/modules/storage/__init__.py:265
+#: plinth/modules/storage/__init__.py:267
msgid "The device is mounted by another user."
msgstr ""
@@ -5081,16 +5074,16 @@ msgstr ""
msgid "Error ejecting device: {error_message}"
msgstr ""
-#: plinth/modules/syncthing/__init__.py:38
+#: plinth/modules/syncthing/__init__.py:40
#: plinth/modules/syncthing/manifest.py:28
msgid "Syncthing"
msgstr "Syncthing"
-#: plinth/modules/syncthing/__init__.py:40
+#: plinth/modules/syncthing/__init__.py:42
msgid "File Synchronization"
msgstr "Synchronisation de fichiers"
-#: plinth/modules/syncthing/__init__.py:43
+#: plinth/modules/syncthing/__init__.py:45
msgid ""
"Syncthing is an application to synchronize files across multiple devices, e."
"g. your desktop computer and mobile phone. Creation, modification, or "
@@ -5103,7 +5096,7 @@ msgstr ""
"seront automatiquement répliquées aux autres appareils qui utilisent "
"Syncthing."
-#: plinth/modules/syncthing/__init__.py:48
+#: plinth/modules/syncthing/__init__.py:50
#, python-brace-format
msgid ""
"Running Syncthing on {box_name} provides an extra synchronization point for "
@@ -5121,7 +5114,7 @@ msgstr ""
"groupe distinct de dossiers. L'interface Web sur {box_name} est seulement "
"disponible pour les utilisateurs appartenant au groupe \"admin\"."
-#: plinth/modules/syncthing/__init__.py:55
+#: plinth/modules/syncthing/__init__.py:57
msgid ""
"When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile clients are also /syncthing. Des clients bureau et mobile sont aussi disponibles.."
-#: plinth/modules/syncthing/__init__.py:62
+#: plinth/modules/syncthing/__init__.py:64
msgid "Administer Syncthing application"
msgstr ""
-#: plinth/modules/tahoe/__init__.py:41
+#: plinth/modules/tahoe/__init__.py:43
msgid "Tahoe-LAFS"
msgstr "Tahoe-LAFS"
-#: plinth/modules/tahoe/__init__.py:43
+#: plinth/modules/tahoe/__init__.py:45
msgid "Distributed File Storage"
msgstr "Stockage distribué de fichiers"
-#: plinth/modules/tahoe/__init__.py:107
+#: plinth/modules/tahoe/__init__.py:119
msgid ""
"Tahoe-LAFS is a decentralized secure file storage system. It uses provider "
"independent security to store files over a distributed network of storage "
@@ -5155,7 +5148,7 @@ msgstr ""
"sur un réseau distribué de nœuds de stockage. Même si certains des nœuds "
"échouent, vos fichiers peuvent être retrouvés depuis les nœuds restants."
-#: plinth/modules/tahoe/__init__.py:112
+#: plinth/modules/tahoe/__init__.py:124
#, python-brace-format
msgid ""
"This {box_name} hosts a storage node and an introducer by default. "
@@ -5205,11 +5198,11 @@ msgstr "Introducteurs connectés"
msgid "Remove"
msgstr "Supprimer"
-#: plinth/modules/tor/__init__.py:43
+#: plinth/modules/tor/__init__.py:46
msgid "Tor"
msgstr "Tor"
-#: plinth/modules/tor/__init__.py:48
+#: plinth/modules/tor/__init__.py:51
msgid ""
"Tor is an anonymous communication system. You can learn more about it from "
"the Tor Project website. For "
@@ -5223,40 +5216,36 @@ msgstr ""
"recommande l'utilisation du navigateur Tor."
-#: plinth/modules/tor/__init__.py:93
+#: plinth/modules/tor/__init__.py:80
msgid "Tor Socks Proxy"
msgstr ""
-#: plinth/modules/tor/__init__.py:99 plinth/modules/tor/__init__.py:146
+#: plinth/modules/tor/__init__.py:84
msgid "Tor Bridge Relay"
msgstr "Relais pont Tor"
-#: plinth/modules/tor/__init__.py:120 plinth/modules/tor/__init__.py:188
+#: plinth/modules/tor/__init__.py:122 plinth/modules/tor/__init__.py:150
msgid "Tor Hidden Service"
msgstr "Service Caché Tor"
-#: plinth/modules/tor/__init__.py:136
-msgid "Tor Anonymity Network"
-msgstr "Réseau d'anonymat Tor"
-
-#: plinth/modules/tor/__init__.py:208
+#: plinth/modules/tor/__init__.py:170
msgid "Tor relay port available"
msgstr "Port du relais Tor disponible"
-#: plinth/modules/tor/__init__.py:218
+#: plinth/modules/tor/__init__.py:180
msgid "Obfs3 transport registered"
msgstr "Transport Obfs3 enregistré"
-#: plinth/modules/tor/__init__.py:226
+#: plinth/modules/tor/__init__.py:188
msgid "Obfs4 transport registered"
msgstr "Transport Obfs4 enregistré"
-#: plinth/modules/tor/__init__.py:265
+#: plinth/modules/tor/__init__.py:227
#, python-brace-format
msgid "Access URL {url} on tcp{kind} via Tor"
msgstr "Accédez à l'URL {url} sur tcp{kind} via Tor"
-#: plinth/modules/tor/__init__.py:276
+#: plinth/modules/tor/__init__.py:238
#, python-brace-format
msgid "Confirm Tor usage at {url} on tcp{kind}"
msgstr "Confirmez l'utilisation de Tor pour {url} sur tcp{kind}"
@@ -5415,12 +5404,12 @@ msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050."
msgstr ""
"Un port SOCKS pour Tor est accessible pour %(box_name)s sur le port TCP 9050."
-#: plinth/modules/transmission/__init__.py:39
+#: plinth/modules/transmission/__init__.py:41
#: plinth/modules/transmission/manifest.py:24
msgid "Transmission"
msgstr "Transmission"
-#: plinth/modules/transmission/__init__.py:44
+#: plinth/modules/transmission/__init__.py:46
msgid ""
"BitTorrent is a peer-to-peer file sharing protocol. Transmission daemon "
"handles Bitorrent file sharing. Note that BitTorrent is not anonymous."
@@ -5429,7 +5418,7 @@ msgstr ""
"Transmission permet le partage de fichiers Bitorrent. Noter que "
"l'utilisation de Bitorrent n'est pas anonyme."
-#: plinth/modules/transmission/__init__.py:47
+#: plinth/modules/transmission/__init__.py:49
msgid ""
"Access the web interface at /transmission."
msgstr ""
@@ -5449,15 +5438,15 @@ msgstr ""
"répertoire par défaut, assurez-vous que ce nouveau répertoire existe bien et "
"qu'il est ouvert en écriture pour l'utilisateur \"debian-transmission\"."
-#: plinth/modules/ttrss/__init__.py:41 plinth/modules/ttrss/manifest.py:34
+#: plinth/modules/ttrss/__init__.py:43 plinth/modules/ttrss/manifest.py:34
msgid "Tiny Tiny RSS"
msgstr "Tiny Tiny RSS"
-#: plinth/modules/ttrss/__init__.py:43
+#: plinth/modules/ttrss/__init__.py:45
msgid "News Feed Reader"
msgstr "Lecteur de flux d'informations"
-#: plinth/modules/ttrss/__init__.py:46
+#: plinth/modules/ttrss/__init__.py:48
msgid ""
"Tiny Tiny RSS is a news feed (RSS/Atom) reader and aggregator, designed to "
"allow reading news from any location, while feeling as close to a real "
@@ -5468,7 +5457,7 @@ msgstr ""
"restant au plus près du design d'une application utilisée sur le bureau d'un "
"ordinateur."
-#: plinth/modules/ttrss/__init__.py:50
+#: plinth/modules/ttrss/__init__.py:52
#, fuzzy, python-brace-format
#| msgid ""
#| "When enabled, Tiny Tiny RSS will be available from /"
@@ -5483,13 +5472,13 @@ msgstr ""
"rss\">/tt-rss sur le serveur web. Il peut être consulté par tout utilisateur avec un compte {box_name}."
-#: plinth/modules/ttrss/__init__.py:55
+#: plinth/modules/ttrss/__init__.py:57
msgid ""
"When using a mobile or desktop application for Tiny Tiny RSS, use the URL /tt-rss-app for connecting."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:61
+#: plinth/modules/ttrss/__init__.py:63
msgid "Read and subscribe to news feeds"
msgstr ""
@@ -5497,11 +5486,11 @@ msgstr ""
msgid "Tiny Tiny RSS (Fork)"
msgstr "Tiny Tiny RSS (Fork)"
-#: plinth/modules/upgrades/__init__.py:36 plinth/templates/setup.html:101
+#: plinth/modules/upgrades/__init__.py:35 plinth/templates/setup.html:101
msgid "Update"
msgstr "Actualiser"
-#: plinth/modules/upgrades/__init__.py:39
+#: plinth/modules/upgrades/__init__.py:38
msgid "Check for and apply the latest software and security updates."
msgstr ""
@@ -5551,32 +5540,32 @@ msgstr ""
msgid "Auto-update"
msgstr ""
-#: plinth/modules/upgrades/views.py:39
+#: plinth/modules/upgrades/views.py:40
msgid "Manual update"
msgstr ""
-#: plinth/modules/upgrades/views.py:78
+#: plinth/modules/upgrades/views.py:79
#, python-brace-format
msgid "Error when configuring unattended-upgrades: {error}"
msgstr "Erreur lors de la configuration de unattended-upgrades : {error}"
-#: plinth/modules/upgrades/views.py:82
+#: plinth/modules/upgrades/views.py:83
msgid "Automatic upgrades enabled"
msgstr "Mises à niveau automatiques activées"
-#: plinth/modules/upgrades/views.py:85
+#: plinth/modules/upgrades/views.py:86
msgid "Automatic upgrades disabled"
msgstr "Mises à niveau automatiques désactivées"
-#: plinth/modules/upgrades/views.py:87
+#: plinth/modules/upgrades/views.py:88
msgid "Settings unchanged"
msgstr "Paramètres inchangés"
-#: plinth/modules/upgrades/views.py:113
+#: plinth/modules/upgrades/views.py:114
msgid "Upgrade process started."
msgstr "Mise à niveau démarrée."
-#: plinth/modules/upgrades/views.py:116
+#: plinth/modules/upgrades/views.py:117
msgid "Starting upgrade failed."
msgstr "Échec du démarrage de la mise à niveau."
@@ -5584,7 +5573,7 @@ msgstr "Échec du démarrage de la mise à niveau."
msgid "Users and Groups"
msgstr "Utilisateurs et Groupes"
-#: plinth/modules/users/__init__.py:106
+#: plinth/modules/users/__init__.py:108
#, python-brace-format
msgid "Check LDAP entry \"{search_item}\""
msgstr "Vérification de l'entrée LDAP \"{search_item}\""
@@ -5812,15 +5801,6 @@ msgstr "Changement de support"
msgid "configuration file: {file}"
msgstr "fichier de configuration : {file}"
-#: plinth/service.py:140
-msgid "Web Server over Secure Socket Layer"
-msgstr "Serveur web via SSL (Secure Socket Layer)"
-
-#: plinth/service.py:145
-#, python-brace-format
-msgid "{box_name} Web Interface (Plinth)"
-msgstr "Interface web de {box_name} (Plinth)"
-
#: plinth/templates/403.html:25
msgid "403 Forbidden"
msgstr "403 Non autorisé"
@@ -6054,16 +6034,16 @@ msgstr "Chat IRC"
msgid "Mailing list"
msgstr "Liste de diffusion mail"
-#: plinth/templates/internal-zone.html:25
+#: plinth/templates/internal-zone.html:26
#, python-format
msgid "%(service_name)s is available only on internal networks."
msgstr ""
-#: plinth/templates/internal-zone.html:31
+#: plinth/templates/internal-zone.html:32
msgid "Currently there are no network interfaces configured as internal."
msgstr ""
-#: plinth/templates/internal-zone.html:33
+#: plinth/templates/internal-zone.html:34
#, python-format
msgid ""
"Currently the following network interfaces are configured as internal: "
@@ -6131,10 +6111,24 @@ msgstr "Installation de %(package_names)s: %(status)s"
msgid "%(percentage)s%% complete"
msgstr "%(percentage)s%% effectué"
+#: plinth/views.py:178
+msgid "Application enabled"
+msgstr "Application activée"
+
+#: plinth/views.py:181
+msgid "Application disabled"
+msgstr "Application désactivée"
+
#: plinth/web_framework.py:186
msgid "Gujarati"
msgstr ""
+#~ msgid "Tor Anonymity Network"
+#~ msgstr "Réseau d'anonymat Tor"
+
+#~ msgid "Web Server over Secure Socket Layer"
+#~ msgstr "Serveur web via SSL (Secure Socket Layer)"
+
#~ msgid "Current status:"
#~ msgstr "État actuel :"
diff --git a/plinth/locale/gu/LC_MESSAGES/django.po b/plinth/locale/gu/LC_MESSAGES/django.po
index b20492ecd..7e28ad440 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: 2019-06-10 19:02-0400\n"
+"POT-Creation-Date: 2019-06-24 19:48-0400\n"
"PO-Revision-Date: 2018-02-05 18:37+0000\n"
"Last-Translator: drashti kaushik \n"
"Language-Team: Gujarati /"
@@ -493,14 +504,14 @@ msgstr ""
"સાથે{box_name} લૉગિન દ્વારા ઍક્સેસ કરી શકાય છે. સંવેદનશીલ માહિતી અને વ્યવસ્થાપનની "
"ક્ષમતાઓ એડમિન ગ્રૂપના વપરાશકર્તાઓ માટે મર્યાદિત છે."
-#: plinth/modules/config/__init__.py:59 plinth/modules/dynamicdns/views.py:44
+#: plinth/modules/config/__init__.py:61 plinth/modules/dynamicdns/views.py:45
#: plinth/modules/i2p/views.py:31 plinth/modules/ikiwiki/views.py:35
#: plinth/modules/pagekite/views.py:36 plinth/modules/snapshot/views.py:40
#: plinth/modules/tahoe/templates/tahoe-pre-setup.html:39
msgid "Configure"
msgstr "ગોઠવો"
-#: plinth/modules/config/__init__.py:164 plinth/modules/config/forms.py:76
+#: plinth/modules/config/__init__.py:166 plinth/modules/config/forms.py:76
#: plinth/modules/config/views.py:171 plinth/modules/dynamicdns/forms.py:111
msgid "Domain Name"
msgstr "ક્ષેત્રનું નામ"
@@ -581,8 +592,8 @@ msgstr ""
#: plinth/modules/power/templates/power_restart.html:42
#: plinth/modules/power/templates/power_shutdown.html:41
#: plinth/modules/storage/templates/storage.html:48
-#: plinth/templates/service-subsubmenu.html:47 plinth/templates/service.html:42
-#: plinth/templates/setup.html:48 plinth/templates/simple_service.html:38
+#: plinth/templates/app-subsubmenu.html:47 plinth/templates/app.html:42
+#: plinth/templates/setup.html:48 plinth/templates/simple_app.html:38
msgid "Learn more..."
msgstr ""
@@ -632,22 +643,22 @@ msgstr ""
msgid "Hiding advanced apps and features"
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:38
+#: plinth/modules/coquelicot/__init__.py:40
msgid "Coquelicot"
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:40
+#: plinth/modules/coquelicot/__init__.py:42
msgid "File Sharing"
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:43
+#: plinth/modules/coquelicot/__init__.py:45
msgid ""
"Coquelicot is a “one-click” file sharing web application with a focus on "
"protecting users’ privacy. It is best used for quickly sharing a single "
"file. "
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:46
+#: plinth/modules/coquelicot/__init__.py:48
msgid ""
"This Coquelicot instance is exposed to the public but requires an upload "
"password to prevent unauthorized access. You can set a new upload password "
@@ -679,19 +690,19 @@ msgstr ""
msgid "coquelicot"
msgstr ""
-#: plinth/modules/coquelicot/views.py:57
+#: plinth/modules/coquelicot/views.py:59
msgid "Upload password updated"
msgstr ""
-#: plinth/modules/coquelicot/views.py:60
+#: plinth/modules/coquelicot/views.py:62
msgid "Failed to update upload password"
msgstr ""
-#: plinth/modules/coquelicot/views.py:68
+#: plinth/modules/coquelicot/views.py:70
msgid "Maximum file size updated"
msgstr ""
-#: plinth/modules/coquelicot/views.py:71
+#: plinth/modules/coquelicot/views.py:73
msgid "Failed to update maximum file size"
msgstr ""
@@ -707,15 +718,15 @@ msgstr ""
"નેટવર્ક ટાઇમ સર્વર એ પ્રોગ્રામ છે જે સીસ્ટમનો સમય ઇન્ટરનેટ પરનાં સર્વર સાથે તાલમેલ રાખીને "
"જાળવી રાખે છે."
-#: plinth/modules/datetime/__init__.py:107
+#: plinth/modules/datetime/__init__.py:99
msgid "Time synchronized to NTP server"
msgstr ""
-#: plinth/modules/datetime/forms.py:36
+#: plinth/modules/datetime/forms.py:35
msgid "Time Zone"
msgstr "સમય વિસ્તાર"
-#: plinth/modules/datetime/forms.py:37
+#: plinth/modules/datetime/forms.py:36
msgid ""
"Set your time zone to get accurate timestamps. This will set the system-wide "
"time zone."
@@ -723,7 +734,7 @@ msgstr ""
"ચોક્કસ સમય-મહોર મેળવવા માટે આપનો સમય વિસ્તાર ગોઠવો. આ સમગ્ર સીસ્ટમનો સમય વિસ્તાર "
"નક્કી કરશે."
-#: plinth/modules/datetime/forms.py:49
+#: plinth/modules/datetime/forms.py:47
msgid "-- no time zone set --"
msgstr "-- કોઈ સમય વિસ્તાર ગોઠવેલ નથી --"
@@ -741,7 +752,7 @@ msgid "Deluge"
msgstr "અનરાધાર"
#: plinth/modules/deluge/__init__.py:41
-#: plinth/modules/transmission/__init__.py:41
+#: plinth/modules/transmission/__init__.py:43
msgid "BitTorrent Web Client"
msgstr "બીટ ટોરેન્ટ વેબ ક્લાયન્ટ"
@@ -760,7 +771,7 @@ msgstr ""
"કાર્ય બાદ તુરંત જ આપે લોગ ઇન કરી ને તેને બદલી નાખવો જોઈએ."
#: plinth/modules/deluge/__init__.py:51
-#: plinth/modules/transmission/__init__.py:54
+#: plinth/modules/transmission/__init__.py:56
msgid "Download files using BitTorrent applications"
msgstr "BitTorrent કાર્યક્રમોનો ઉપયોગ કરીને ફાઇલો ડાઉનલોડ કરો"
@@ -824,12 +835,12 @@ msgstr "પરીક્ષણ"
msgid "Result"
msgstr "પરિણામ"
-#: plinth/modules/diaspora/__init__.py:52
+#: plinth/modules/diaspora/__init__.py:54
#: plinth/modules/diaspora/manifest.py:38
msgid "diaspora*"
msgstr "પ્રવાસી*"
-#: plinth/modules/diaspora/__init__.py:54
+#: plinth/modules/diaspora/__init__.py:56
msgid "Federated Social Network"
msgstr "સંઘબદ્ધિત સામાજીક નેટવર્ક"
@@ -884,22 +895,22 @@ msgstr ""
#: plinth/modules/tahoe/templates/tahoe-pre-setup.html:58
#: plinth/modules/tor/templates/tor.html:96
#: plinth/modules/upgrades/templates/upgrades_configure.html:32
-#: plinth/templates/service.html:89
+#: plinth/templates/app.html:89
msgid "Update setup"
msgstr "સેટઅપ અપડેટ કરો"
-#: plinth/modules/diaspora/views.py:97 plinth/modules/ejabberd/views.py:64
-#: plinth/modules/matrixsynapse/views.py:107
-#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:150
-#: plinth/modules/tor/views.py:146 plinth/views.py:160
+#: plinth/modules/diaspora/views.py:94 plinth/modules/ejabberd/views.py:65
+#: plinth/modules/matrixsynapse/views.py:108
+#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:148
+#: plinth/modules/tor/views.py:148 plinth/views.py:174
msgid "Setting unchanged"
msgstr "સેટિંગ યથાવત"
-#: plinth/modules/diaspora/views.py:101
+#: plinth/modules/diaspora/views.py:98
msgid "User registrations enabled"
msgstr "વપરાશકર્તા રજીસ્ટ્રેશન સક્ષમ"
-#: plinth/modules/diaspora/views.py:105
+#: plinth/modules/diaspora/views.py:102
msgid "User registrations disabled"
msgstr "વપરાશકર્તા રજીસ્ટ્રેશન અક્ષમ છે"
@@ -935,8 +946,8 @@ msgstr ""
"પર સોંપી દેશે, અને જો ઇન્ટરનેટમાંથી કોઈ વ્યક્તિ તમારા DNS નામ માટે પૂછે, તેઓને તમારા "
"વર્તમાન IP સરનામા સાથે પ્રતિસાદ મળશે."
-#: plinth/modules/dynamicdns/__init__.py:85
-#: plinth/modules/dynamicdns/views.py:167
+#: plinth/modules/dynamicdns/__init__.py:87
+#: plinth/modules/dynamicdns/views.py:169
msgid "Dynamic DNS Service"
msgstr "ડાયનેમિક DNS સેવા"
@@ -1037,7 +1048,7 @@ msgid "Username"
msgstr "વપરાશકર્તા નામ"
#: plinth/modules/dynamicdns/forms.py:121 plinth/modules/networks/forms.py:235
-#: plinth/modules/shadowsocks/forms.py:70
+#: plinth/modules/shadowsocks/forms.py:61
msgid "Password"
msgstr "પાસવર્ડ"
@@ -1130,39 +1141,39 @@ msgstr ""
msgid "Last update"
msgstr "છેલ્લો સુધારો"
-#: plinth/modules/dynamicdns/views.py:41 plinth/modules/help/help.py:57
+#: plinth/modules/dynamicdns/views.py:41 plinth/modules/help/help.py:59
msgid "About"
msgstr "વિશે"
-#: plinth/modules/dynamicdns/views.py:47
+#: plinth/modules/dynamicdns/views.py:49
#: plinth/modules/firewall/templates/firewall.html:25
#: plinth/modules/firewall/templates/firewall.html:45
#: plinth/modules/i2p/templates/i2p.html:27
#: plinth/modules/networks/templates/connection_show.html:261
#: plinth/modules/openvpn/templates/openvpn.html:71
#: plinth/modules/tor/templates/tor.html:40
-#: plinth/modules/tor/templates/tor.html:68 plinth/templates/service.html:51
+#: plinth/modules/tor/templates/tor.html:68 plinth/templates/app.html:51
msgid "Status"
msgstr "સ્થિતિ"
-#: plinth/modules/dynamicdns/views.py:78
+#: plinth/modules/dynamicdns/views.py:80
msgid "Configure Dynamic DNS"
msgstr "ડાયનેમિક DNS રૂપરેખાંકિત કરો"
-#: plinth/modules/dynamicdns/views.py:103
+#: plinth/modules/dynamicdns/views.py:105
msgid "Dynamic DNS Status"
msgstr "ડાયનેમિક DNS સ્થિતિ"
-#: plinth/modules/ejabberd/__init__.py:43
+#: plinth/modules/ejabberd/__init__.py:45
msgid "ejabberd"
msgstr "ઈઝબેબર્ડ"
-#: plinth/modules/ejabberd/__init__.py:45
-#: plinth/modules/matrixsynapse/__init__.py:43
+#: plinth/modules/ejabberd/__init__.py:47
+#: plinth/modules/matrixsynapse/__init__.py:45
msgid "Chat Server"
msgstr "ચેટ સર્વર"
-#: plinth/modules/ejabberd/__init__.py:48
+#: plinth/modules/ejabberd/__init__.py:50
msgid ""
"XMPP is an open and standardized communication protocol. Here you can run "
"and configure your XMPP server, called ejabberd."
@@ -1170,7 +1181,7 @@ msgstr ""
"XMPP એક ખુલ્લું અને પ્રમાણિત સંચાર પ્રોટોકોલ છે. અહીં તમે તમારા XMPP સર્વરને ચલાવો અને "
"ગોઠવી શકો છો, જેને ઈઝબેબર્ડે કહેવાય છે."
-#: plinth/modules/ejabberd/__init__.py:51
+#: plinth/modules/ejabberd/__init__.py:53
#, fuzzy, python-brace-format
#| msgid ""
#| "To actually communicate, you can use the XMPP ક્લાયન્ટ. જ્યારે સક્ષમ કરેલ હોય, ઈઝબેબર્ડ ઍક્સેસ કરી શકાય છે "
"કોઇપણ દ્વારા વપરાશકર્તાઓ સાથે{box_name}પ્રવેશ."
-#: plinth/modules/ejabberd/forms.py:33
+#: plinth/modules/ejabberd/forms.py:32
msgid "Enable Message Archive Management"
msgstr "સંદેશ આર્કાઇવ સંચાલન સક્ષમ કરો"
-#: plinth/modules/ejabberd/forms.py:36
+#: plinth/modules/ejabberd/forms.py:34
#, python-brace-format
msgid ""
"If enabled, your {box_name} will store chat message histories. This allows "
@@ -1276,35 +1287,23 @@ msgstr "વેબ ક્લાયન્ટ શરૂ કરો"
#: plinth/modules/openvpn/templates/openvpn.html:123
#: plinth/modules/snapshot/templates/snapshot.html:27
#: plinth/modules/tahoe/templates/tahoe-post-setup.html:43
-#: plinth/modules/tor/templates/tor.html:88 plinth/templates/service.html:81
+#: plinth/modules/tor/templates/tor.html:88 plinth/templates/app.html:81
msgid "Configuration"
msgstr "રૂપરેખાંકન"
-#: plinth/modules/ejabberd/views.py:68
-#: plinth/modules/matrixsynapse/views.py:111
-#: plinth/modules/mediawiki/views.py:79 plinth/views.py:164
-msgid "Application enabled"
-msgstr "એપ્લિકેશન સક્ષમ કરો"
-
-#: plinth/modules/ejabberd/views.py:71
-#: plinth/modules/matrixsynapse/views.py:114
-#: plinth/modules/mediawiki/views.py:82 plinth/views.py:167
-msgid "Application disabled"
-msgstr "એપ્લિકેશન અક્ષમ છે"
-
-#: plinth/modules/ejabberd/views.py:78
+#: plinth/modules/ejabberd/views.py:77
msgid "Message Archive Management enabled"
msgstr "સંદેશ આર્કાઇવ મેનેજમેંટ સક્ષમ કરો"
-#: plinth/modules/ejabberd/views.py:82
+#: plinth/modules/ejabberd/views.py:81
msgid "Message Archive Management disabled"
msgstr "સંદેશ આર્કાઇવ સંચાલન અક્ષમ કરો"
-#: plinth/modules/firewall/__init__.py:40
+#: plinth/modules/firewall/__init__.py:36
msgid "Firewall"
msgstr "ફાયરવોલ"
-#: plinth/modules/firewall/__init__.py:44
+#: plinth/modules/firewall/__init__.py:40
#, python-brace-format
msgid ""
"Firewall is a security system that controls the incoming and outgoing "
@@ -1421,29 +1420,29 @@ msgstr "સેટઅપ પ્રારંભ કરો"
msgid "Setup Complete"
msgstr "સેટઅપ પૂર્ણ"
-#: plinth/modules/help/help.py:44
+#: plinth/modules/help/help.py:46
msgid "Documentation"
msgstr "દસ્તાવેજીકરણ"
-#: plinth/modules/help/help.py:48 plinth/modules/networks/forms.py:68
+#: plinth/modules/help/help.py:50 plinth/modules/networks/forms.py:68
#: plinth/modules/networks/forms.py:108 plinth/templates/index.html:135
msgid "Manual"
msgstr "માર્ગદર્શિકા"
-#: plinth/modules/help/help.py:53
+#: plinth/modules/help/help.py:55
msgid "Download Manual"
msgstr "માર્ગદર્શિકા ડાઉનલોડ"
-#: plinth/modules/help/help.py:73
+#: plinth/modules/help/help.py:75
msgid "Documentation and FAQ"
msgstr ""
-#: plinth/modules/help/help.py:81
+#: plinth/modules/help/help.py:83
#, python-brace-format
msgid "About {box_name}"
msgstr ""
-#: plinth/modules/help/help.py:102
+#: plinth/modules/help/help.py:104
#, python-brace-format
msgid "{box_name} Manual"
msgstr ""
@@ -1561,15 +1560,15 @@ msgid ""
"before submitting the bug report."
msgstr ""
-#: plinth/modules/i2p/__init__.py:40 plinth/modules/i2p/manifest.py:31
+#: plinth/modules/i2p/__init__.py:42 plinth/modules/i2p/manifest.py:31
msgid "I2P"
msgstr ""
-#: plinth/modules/i2p/__init__.py:42 plinth/modules/tor/__init__.py:45
+#: plinth/modules/i2p/__init__.py:44 plinth/modules/tor/__init__.py:48
msgid "Anonymity Network"
msgstr ""
-#: plinth/modules/i2p/__init__.py:45
+#: plinth/modules/i2p/__init__.py:47
msgid ""
"The Invisible Internet Project is an anonymous network layer intended to "
"protect communication from censorship and surveillance. I2P provides "
@@ -1577,35 +1576,35 @@ msgid ""
"distributed around the world."
msgstr ""
-#: plinth/modules/i2p/__init__.py:49
+#: plinth/modules/i2p/__init__.py:51
msgid ""
"Find more information about I2P on their project homepage."
msgstr ""
-#: plinth/modules/i2p/__init__.py:51
+#: plinth/modules/i2p/__init__.py:53
msgid ""
"The first visit to the provided web interface will initiate the "
"configuration process."
msgstr ""
-#: plinth/modules/i2p/__init__.py:57
+#: plinth/modules/i2p/__init__.py:59
#, fuzzy
#| msgid "Enable application"
msgid "Manage I2P application"
msgstr "એપ્લીકેશનને પ્રસ્થાપિત કરો"
-#: plinth/modules/i2p/templates/i2p.html:32 plinth/templates/service.html:56
+#: plinth/modules/i2p/templates/i2p.html:32 plinth/templates/app.html:56
#, python-format
msgid "Service %(service_name)s is running."
msgstr ""
-#: plinth/modules/i2p/templates/i2p.html:37 plinth/templates/service.html:61
+#: plinth/modules/i2p/templates/i2p.html:37 plinth/templates/app.html:61
#, python-format
msgid "Service %(service_name)s is not running."
msgstr ""
-#: plinth/modules/i2p/templates/i2p_service.html:13
+#: plinth/modules/i2p/templates/i2p_service.html:31
#: plinth/templates/clients.html:51
msgid "Launch"
msgstr ""
@@ -1618,43 +1617,43 @@ msgstr ""
msgid "Anonymous torrents"
msgstr ""
-#: plinth/modules/i2p/views.py:86
+#: plinth/modules/i2p/views.py:88
msgid "I2P Proxies and Tunnels"
msgstr ""
-#: plinth/modules/i2p/views.py:89
+#: plinth/modules/i2p/views.py:91
msgid ""
"I2P lets you browse the Internet and hidden services (eepsites) anonymously. "
"For this, your browser, preferably a Tor Browser, needs to be configured for "
"a proxy."
msgstr ""
-#: plinth/modules/i2p/views.py:92
+#: plinth/modules/i2p/views.py:94
msgid ""
"By default HTTP, HTTPS and IRC proxies are available. Additional proxies and "
"tunnels may be configured using the tunnel configuration interface."
msgstr ""
-#: plinth/modules/i2p/views.py:101
+#: plinth/modules/i2p/views.py:103
msgid "Anonymous Torrents"
msgstr ""
-#: plinth/modules/i2p/views.py:104
+#: plinth/modules/i2p/views.py:106
msgid ""
"I2P provides an application to download files anonymously in a peer-to-peer "
"network. Download files by adding torrents or create a new torrent to share "
"a file."
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:42 plinth/modules/ikiwiki/manifest.py:24
+#: plinth/modules/ikiwiki/__init__.py:41 plinth/modules/ikiwiki/manifest.py:24
msgid "ikiwiki"
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:44
+#: plinth/modules/ikiwiki/__init__.py:43
msgid "Wiki and Blog"
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:47
+#: plinth/modules/ikiwiki/__init__.py:46
msgid ""
"ikiwiki is a simple wiki and blog application. It supports several "
"lightweight markup languages, including Markdown, and common blogging "
@@ -1662,7 +1661,7 @@ msgid ""
"wikis will be available at /ikiwiki (once created)."
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:53
+#: plinth/modules/ikiwiki/__init__.py:52
#, python-brace-format
msgid ""
"Only {box_name} users in the admin group can create and "
@@ -1671,7 +1670,7 @@ msgid ""
"Configuration you can change these permissions or add new users."
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:63
+#: plinth/modules/ikiwiki/__init__.py:62
msgid "View and edit wiki applications"
msgstr ""
@@ -1739,49 +1738,49 @@ msgstr ""
msgid "Manage"
msgstr ""
-#: plinth/modules/ikiwiki/views.py:121
+#: plinth/modules/ikiwiki/views.py:124
#, python-brace-format
msgid "Created wiki {name}."
msgstr ""
-#: plinth/modules/ikiwiki/views.py:124
+#: plinth/modules/ikiwiki/views.py:127
#, python-brace-format
msgid "Could not create wiki: {error}"
msgstr ""
-#: plinth/modules/ikiwiki/views.py:134
+#: plinth/modules/ikiwiki/views.py:137
#, python-brace-format
msgid "Created blog {name}."
msgstr ""
-#: plinth/modules/ikiwiki/views.py:137
+#: plinth/modules/ikiwiki/views.py:140
#, python-brace-format
msgid "Could not create blog: {error}"
msgstr ""
-#: plinth/modules/ikiwiki/views.py:150
+#: plinth/modules/ikiwiki/views.py:153
#, python-brace-format
msgid "{name} deleted."
msgstr ""
-#: plinth/modules/ikiwiki/views.py:154
+#: plinth/modules/ikiwiki/views.py:157
#, python-brace-format
msgid "Could not delete {name}: {error}"
msgstr ""
-#: plinth/modules/infinoted/__init__.py:41
+#: plinth/modules/infinoted/__init__.py:40
msgid "infinoted"
msgstr ""
-#: plinth/modules/infinoted/__init__.py:43
+#: plinth/modules/infinoted/__init__.py:42
msgid "Gobby Server"
msgstr ""
-#: plinth/modules/infinoted/__init__.py:46
+#: plinth/modules/infinoted/__init__.py:45
msgid "infinoted is a server for Gobby, a collaborative text editor."
msgstr ""
-#: plinth/modules/infinoted/__init__.py:48
+#: plinth/modules/infinoted/__init__.py:47
#, python-brace-format
msgid ""
"To use it, download Gobby, desktop "
@@ -2101,11 +2100,11 @@ msgstr ""
msgid "Failed to delete certificate for domain {domain}: {error}"
msgstr ""
-#: plinth/modules/matrixsynapse/__init__.py:41
+#: plinth/modules/matrixsynapse/__init__.py:43
msgid "Matrix Synapse"
msgstr ""
-#: plinth/modules/matrixsynapse/__init__.py:46
+#: plinth/modules/matrixsynapse/__init__.py:48
msgid ""
"Matrix is an new "
"ecosystem for open, federated instant messaging and VoIP. Synapse is a "
@@ -2115,7 +2114,7 @@ msgid ""
"converse with users on all other Matrix servers via federation."
msgstr ""
-#: plinth/modules/matrixsynapse/__init__.py:53
+#: plinth/modules/matrixsynapse/__init__.py:55
msgid ""
"To communicate, you can use the available clients for mobile, desktop and the web. Special:CreateAccount page."
msgstr ""
-#: plinth/modules/mediawiki/__init__.py:49
+#: plinth/modules/mediawiki/__init__.py:53
msgid ""
"Anyone with a link to this wiki can read it. Only users that are logged in "
"can make changes to the content."
@@ -2260,40 +2259,40 @@ msgstr ""
msgid "Password updated"
msgstr ""
-#: plinth/modules/mediawiki/views.py:91
+#: plinth/modules/mediawiki/views.py:89
#, fuzzy
#| msgid "Application installed."
msgid "Public registrations enabled"
msgstr "એપ્લીકેશન પ્રસ્થાપિત થઇ ગઈ છે."
-#: plinth/modules/mediawiki/views.py:100
+#: plinth/modules/mediawiki/views.py:98
#, fuzzy
#| msgid "Application installed."
msgid "Public registrations disabled"
msgstr "એપ્લીકેશન પ્રસ્થાપિત થઇ ગઈ છે."
-#: plinth/modules/mediawiki/views.py:109
+#: plinth/modules/mediawiki/views.py:107
#, fuzzy
#| msgid "Application enabled"
msgid "Private mode enabled"
msgstr "એપ્લિકેશન સક્ષમ કરો"
-#: plinth/modules/mediawiki/views.py:112
+#: plinth/modules/mediawiki/views.py:110
#, fuzzy
#| msgid "Application disabled"
msgid "Private mode disabled"
msgstr "એપ્લિકેશન અક્ષમ છે"
-#: plinth/modules/minetest/__init__.py:53
+#: plinth/modules/minetest/__init__.py:52
#: plinth/modules/minetest/manifest.py:25
msgid "Minetest"
msgstr ""
-#: plinth/modules/minetest/__init__.py:55
+#: plinth/modules/minetest/__init__.py:54
msgid "Block Sandbox"
msgstr ""
-#: plinth/modules/minetest/__init__.py:59
+#: plinth/modules/minetest/__init__.py:58
#, python-brace-format
msgid ""
"Minetest is a multiplayer infinite-world block sandbox. This module enables "
@@ -2302,39 +2301,39 @@ msgid ""
"downloads/\">Minetest client is needed."
msgstr ""
-#: plinth/modules/minetest/forms.py:31
+#: plinth/modules/minetest/forms.py:30
msgid "Maximum number of players"
msgstr ""
-#: plinth/modules/minetest/forms.py:35
+#: plinth/modules/minetest/forms.py:32
msgid ""
"You can change the maximum number of players playing minetest at a single "
"instance of time."
msgstr ""
-#: plinth/modules/minetest/forms.py:39
+#: plinth/modules/minetest/forms.py:36
msgid "Enable creative mode"
msgstr ""
-#: plinth/modules/minetest/forms.py:41
+#: plinth/modules/minetest/forms.py:37
msgid ""
"Creative mode changes the rules of the game to make it more suitable for "
"creative gameplay, rather than challenging \"survival\" gameplay."
msgstr ""
-#: plinth/modules/minetest/forms.py:46
+#: plinth/modules/minetest/forms.py:42
msgid "Enable PVP"
msgstr ""
-#: plinth/modules/minetest/forms.py:48
+#: plinth/modules/minetest/forms.py:43
msgid "Enabling Player Vs Player will allow players to damage other players."
msgstr ""
-#: plinth/modules/minetest/forms.py:52
+#: plinth/modules/minetest/forms.py:47
msgid "Enable damage"
msgstr ""
-#: plinth/modules/minetest/forms.py:54
+#: plinth/modules/minetest/forms.py:48
msgid "When disabled, players cannot die or receive damage of any kind."
msgstr ""
@@ -2348,52 +2347,52 @@ msgstr ""
msgid "Port"
msgstr ""
-#: plinth/modules/minetest/views.py:71
+#: plinth/modules/minetest/views.py:72
msgid "Maximum players configuration updated"
msgstr ""
-#: plinth/modules/minetest/views.py:78
+#: plinth/modules/minetest/views.py:79
msgid "Creative mode configuration updated"
msgstr ""
-#: plinth/modules/minetest/views.py:84
+#: plinth/modules/minetest/views.py:85
msgid "PVP configuration updated"
msgstr ""
-#: plinth/modules/minetest/views.py:90
+#: plinth/modules/minetest/views.py:91
msgid "Damage configuration updated"
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:38
+#: plinth/modules/mldonkey/__init__.py:40
#: plinth/modules/mldonkey/manifest.py:27
msgid "MLDonkey"
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:40
+#: plinth/modules/mldonkey/__init__.py:42
msgid "Peer-to-peer File Sharing"
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:43
+#: plinth/modules/mldonkey/__init__.py:45
msgid ""
"MLDonkey is a peer-to-peer file sharing application used to exchange large "
"files. It can participate in multiple peer-to-peer networks including "
"eDonkey, Kademlia, Overnet, BitTorrent and DirectConnect."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:46
+#: plinth/modules/mldonkey/__init__.py:48
msgid ""
"Users belonging to admin and ed2k group can control it through the web "
"interface. Users in the admin group can also control it through any of the "
"separate mobile or desktop front-ends or a telnet interface. See manual."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:51
+#: plinth/modules/mldonkey/__init__.py:53
#, python-brace-format
msgid ""
"On {box_name}, downloaded files can be found in /var/lib/mldonkey/ directory."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:59
+#: plinth/modules/mldonkey/__init__.py:61
#, fuzzy
#| msgid "Download files using BitTorrent applications"
msgid "Download files using eDonkey applications"
@@ -2459,12 +2458,6 @@ msgstr ""
msgid "Secure Shell"
msgstr ""
-#: plinth/modules/monkeysphere/templates/monkeysphere.html:88
-#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:60
-#: plinth/service.py:138
-msgid "Web Server"
-msgstr ""
-
#: plinth/modules/monkeysphere/templates/monkeysphere.html:90
#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:62
msgid "Other"
@@ -2557,21 +2550,21 @@ msgstr ""
msgid "Error occurred while publishing key."
msgstr ""
-#: plinth/modules/mumble/__init__.py:34 plinth/modules/mumble/manifest.py:27
+#: plinth/modules/mumble/__init__.py:35 plinth/modules/mumble/manifest.py:27
msgid "Mumble"
msgstr ""
-#: plinth/modules/mumble/__init__.py:36
+#: plinth/modules/mumble/__init__.py:37
msgid "Voice Chat"
msgstr ""
-#: plinth/modules/mumble/__init__.py:45
+#: plinth/modules/mumble/__init__.py:44
msgid ""
"Mumble is an open source, low-latency, encrypted, high quality voice chat "
"software."
msgstr ""
-#: plinth/modules/mumble/__init__.py:47
+#: plinth/modules/mumble/__init__.py:46
msgid ""
"You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your "
@@ -2619,7 +2612,7 @@ msgstr ""
msgid "Networks"
msgstr ""
-#: plinth/modules/networks/__init__.py:142
+#: plinth/modules/networks/__init__.py:144
#, python-brace-format
msgid "Using DNSSEC on IPv{kind}"
msgstr ""
@@ -3046,7 +3039,7 @@ msgstr ""
#: plinth/modules/networks/templates/connection_show.html:186
#: plinth/modules/networks/templates/connection_show.html:227
-#: plinth/modules/shadowsocks/forms.py:75
+#: plinth/modules/shadowsocks/forms.py:65
msgid "Method"
msgstr ""
@@ -3168,15 +3161,15 @@ msgstr ""
msgid "Create..."
msgstr ""
-#: plinth/modules/openvpn/__init__.py:40
+#: plinth/modules/openvpn/__init__.py:39
msgid "OpenVPN"
msgstr ""
-#: plinth/modules/openvpn/__init__.py:42
+#: plinth/modules/openvpn/__init__.py:41
msgid "Virtual Private Network"
msgstr ""
-#: plinth/modules/openvpn/__init__.py:46
+#: plinth/modules/openvpn/__init__.py:45
#, python-brace-format
msgid ""
"Virtual Private Network (VPN) is a technique for securely connecting two "
@@ -3187,7 +3180,7 @@ msgid ""
"security and anonymity."
msgstr ""
-#: plinth/modules/openvpn/__init__.py:74
+#: plinth/modules/openvpn/__init__.py:75
#, python-brace-format
msgid ""
"Download Profile"
@@ -3252,11 +3245,11 @@ msgstr ""
msgid "OpenVPN server is not running"
msgstr ""
-#: plinth/modules/openvpn/views.py:128
+#: plinth/modules/openvpn/views.py:126
msgid "Setup completed."
msgstr ""
-#: plinth/modules/openvpn/views.py:130
+#: plinth/modules/openvpn/views.py:128
msgid "Setup failed."
msgstr ""
@@ -3326,7 +3319,7 @@ msgid ""
"pagekite.net server."
msgstr ""
-#: plinth/modules/pagekite/forms.py:78 plinth/modules/shadowsocks/forms.py:64
+#: plinth/modules/pagekite/forms.py:78 plinth/modules/shadowsocks/forms.py:57
msgid "Server port"
msgstr ""
@@ -3526,47 +3519,47 @@ msgstr ""
msgid "Save Services"
msgstr ""
-#: plinth/modules/pagekite/utils.py:53
+#: plinth/modules/pagekite/utils.py:57
msgid "Web Server (HTTP)"
msgstr ""
-#: plinth/modules/pagekite/utils.py:54
+#: plinth/modules/pagekite/utils.py:59
#, python-brace-format
msgid "Site will be available at http://{0}"
msgstr ""
-#: plinth/modules/pagekite/utils.py:63
+#: plinth/modules/pagekite/utils.py:71
msgid "Web Server (HTTPS)"
msgstr ""
-#: plinth/modules/pagekite/utils.py:64
+#: plinth/modules/pagekite/utils.py:73
#, python-brace-format
msgid "Site will be available at https://{0}"
msgstr ""
-#: plinth/modules/pagekite/utils.py:73
+#: plinth/modules/pagekite/utils.py:85
msgid "Secure Shell (SSH)"
msgstr ""
-#: plinth/modules/pagekite/utils.py:74
+#: plinth/modules/pagekite/utils.py:87
msgid ""
"See SSH client setup instructions"
msgstr ""
-#: plinth/modules/pagekite/utils.py:276
+#: plinth/modules/pagekite/utils.py:288
msgid "Pagekite"
msgstr ""
-#: plinth/modules/pagekite/views.py:39
+#: plinth/modules/pagekite/views.py:40
msgid "Standard Services"
msgstr ""
-#: plinth/modules/pagekite/views.py:42
+#: plinth/modules/pagekite/views.py:44
msgid "Custom Services"
msgstr ""
-#: plinth/modules/pagekite/views.py:156
+#: plinth/modules/pagekite/views.py:158
msgid "Pagekite setup finished. The HTTP and HTTPS services are activated now."
msgstr ""
@@ -3627,22 +3620,22 @@ msgstr ""
msgid "Shut Down Now"
msgstr ""
-#: plinth/modules/privoxy/__init__.py:41
+#: plinth/modules/privoxy/__init__.py:42
msgid "Privoxy"
msgstr ""
-#: plinth/modules/privoxy/__init__.py:43
+#: plinth/modules/privoxy/__init__.py:44
msgid "Web Proxy"
msgstr ""
-#: plinth/modules/privoxy/__init__.py:46
+#: plinth/modules/privoxy/__init__.py:47
msgid ""
"Privoxy is a non-caching web proxy with advanced filtering capabilities for "
"enhancing privacy, modifying web page data and HTTP headers, controlling "
"access, and removing ads and other obnoxious Internet junk. "
msgstr ""
-#: plinth/modules/privoxy/__init__.py:51
+#: plinth/modules/privoxy/__init__.py:52
#, python-brace-format
msgid ""
"You can use Privoxy by modifying your browser proxy settings to your "
@@ -3652,20 +3645,20 @@ msgid ""
"\">http://p.p."
msgstr ""
-#: plinth/modules/privoxy/__init__.py:157
+#: plinth/modules/privoxy/__init__.py:142
#, python-brace-format
msgid "Access {url} with proxy {proxy} on tcp{kind}"
msgstr ""
-#: plinth/modules/quassel/__init__.py:41 plinth/modules/quassel/manifest.py:25
+#: plinth/modules/quassel/__init__.py:40 plinth/modules/quassel/manifest.py:25
msgid "Quassel"
msgstr ""
-#: plinth/modules/quassel/__init__.py:43
+#: plinth/modules/quassel/__init__.py:42
msgid "IRC Client"
msgstr ""
-#: plinth/modules/quassel/__init__.py:47
+#: plinth/modules/quassel/__init__.py:46
#, python-brace-format
msgid ""
"Quassel is an IRC application that is split into two parts, a \"core\" and a "
@@ -3676,7 +3669,7 @@ msgid ""
"connect and disconnect from it."
msgstr ""
-#: plinth/modules/quassel/__init__.py:54
+#: plinth/modules/quassel/__init__.py:53
msgid ""
"You can connect to your Quassel core on the default Quassel port 4242. "
"Clients to connect to Quassel from your Jitsi (for computers) and (for Android phones)."
msgstr ""
-#: plinth/modules/repro/__init__.py:53
+#: plinth/modules/repro/__init__.py:55
msgid ""
"Note: Before using repro, domains and users will need to "
"be configured using the web-based "
@@ -3823,15 +3816,15 @@ msgstr ""
msgid "CSipSimple"
msgstr ""
-#: plinth/modules/restore/__init__.py:36 plinth/modules/restore/manifest.py:23
+#: plinth/modules/restore/__init__.py:37 plinth/modules/restore/manifest.py:23
msgid "reStore"
msgstr ""
-#: plinth/modules/restore/__init__.py:38
+#: plinth/modules/restore/__init__.py:39
msgid "Unhosted Storage"
msgstr ""
-#: plinth/modules/restore/__init__.py:42
+#: plinth/modules/restore/__init__.py:43
#, python-brace-format
msgid ""
"reStore is a server for unhosted web "
@@ -3841,22 +3834,22 @@ msgid ""
"becomes your unhosted storage server."
msgstr ""
-#: plinth/modules/restore/__init__.py:48
+#: plinth/modules/restore/__init__.py:49
msgid ""
"You can create and edit accounts in the reStore web-"
"interface."
msgstr ""
-#: plinth/modules/roundcube/__init__.py:34
+#: plinth/modules/roundcube/__init__.py:35
#: plinth/modules/roundcube/manifest.py:24
msgid "Roundcube"
msgstr ""
-#: plinth/modules/roundcube/__init__.py:36
+#: plinth/modules/roundcube/__init__.py:37
msgid "Email Client"
msgstr ""
-#: plinth/modules/roundcube/__init__.py:39
+#: plinth/modules/roundcube/__init__.py:40
msgid ""
"Roundcube webmail is a browser-based multilingual IMAP client with an "
"application-like user interface. It provides full functionality you expect "
@@ -3864,7 +3857,7 @@ msgid ""
"manipulation, message searching and spell checking."
msgstr ""
-#: plinth/modules/roundcube/__init__.py:44
+#: plinth/modules/roundcube/__init__.py:45
msgid ""
"You can access Roundcube from /roundcube. Provide "
"the username and password of the email account you wish to access followed "
@@ -3873,7 +3866,7 @@ msgid ""
"server field like imaps://imap.example.com."
msgstr ""
-#: plinth/modules/roundcube/__init__.py:50
+#: plinth/modules/roundcube/__init__.py:51
msgid ""
"For Gmail, username will be your Gmail address, password will be your Google "
"account password and server will be imaps://imap.gmail.com. "
@@ -3935,12 +3928,12 @@ msgstr ""
msgid "Allow this application to be used by anyone who can reach it."
msgstr ""
-#: plinth/modules/searx/views.py:60 plinth/modules/searx/views.py:71
-#: plinth/modules/tor/views.py:139 plinth/modules/tor/views.py:168
+#: plinth/modules/searx/views.py:59 plinth/modules/searx/views.py:70
+#: plinth/modules/tor/views.py:141 plinth/modules/tor/views.py:168
msgid "Configuration updated."
msgstr ""
-#: plinth/modules/searx/views.py:63 plinth/modules/searx/views.py:74
+#: plinth/modules/searx/views.py:62 plinth/modules/searx/views.py:73
#: plinth/modules/tor/views.py:170
msgid "An error occurred during configuration."
msgstr ""
@@ -3995,22 +3988,22 @@ msgid ""
"account, which you will need to setup on the initial visit."
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:34
+#: plinth/modules/shadowsocks/__init__.py:35
msgid "Shadowsocks"
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:36
+#: plinth/modules/shadowsocks/__init__.py:37
msgid "Socks5 Proxy"
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:45
+#: plinth/modules/shadowsocks/__init__.py:44
msgid ""
"Shadowsocks is a lightweight and secure SOCKS5 proxy, designed to protect "
"your Internet traffic. It can be used to bypass Internet filtering and "
"censorship."
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:49
+#: plinth/modules/shadowsocks/__init__.py:48
#, python-brace-format
msgid ""
"Your {box_name} can run a Shadowsocks client, that can connect to a "
@@ -4019,34 +4012,34 @@ msgid ""
"the Shadowsocks server."
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:54
+#: plinth/modules/shadowsocks/__init__.py:53
msgid ""
"To use Shadowsocks after setup, set the SOCKS5 proxy URL in your device, "
"browser or application to http://freedombox_address:1080/"
msgstr ""
+#: plinth/modules/shadowsocks/forms.py:28
#: plinth/modules/shadowsocks/forms.py:29
-#: plinth/modules/shadowsocks/forms.py:30
msgid "Recommended"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:60
+#: plinth/modules/shadowsocks/forms.py:54
msgid "Server"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:61
+#: plinth/modules/shadowsocks/forms.py:54
msgid "Server hostname or IP address"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:67
+#: plinth/modules/shadowsocks/forms.py:58
msgid "Server port number"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:71
+#: plinth/modules/shadowsocks/forms.py:61
msgid "Password used to encrypt data. Must match server password."
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:77
+#: plinth/modules/shadowsocks/forms.py:66
msgid "Encryption method. Must match setting on server."
msgstr ""
@@ -4305,7 +4298,7 @@ msgstr ""
msgid "Storage snapshots configuration updated"
msgstr "DNSSEC ગોઠવણીને સુધારેલી શરુ કરો"
-#: plinth/modules/snapshot/views.py:153 plinth/modules/tor/views.py:72
+#: plinth/modules/snapshot/views.py:153 plinth/modules/tor/views.py:73
#, python-brace-format
msgid "Action error: {0} [{1}] [{2}]"
msgstr ""
@@ -4335,11 +4328,11 @@ msgstr ""
msgid "Rollback to Snapshot"
msgstr ""
-#: plinth/modules/ssh/__init__.py:39
+#: plinth/modules/ssh/__init__.py:40
msgid "Secure Shell (SSH) Server"
msgstr ""
-#: plinth/modules/ssh/__init__.py:42
+#: plinth/modules/ssh/__init__.py:43
msgid ""
"A Secure Shell server uses the secure shell protocol to accept connections "
"from remote computers. An authorized remote computer can perform "
@@ -4355,11 +4348,11 @@ msgstr ""
msgid "Login"
msgstr ""
-#: plinth/modules/storage/__init__.py:36 plinth/modules/storage/views.py:53
+#: plinth/modules/storage/__init__.py:35 plinth/modules/storage/views.py:53
msgid "Storage"
msgstr ""
-#: plinth/modules/storage/__init__.py:44
+#: plinth/modules/storage/__init__.py:43
#, python-brace-format
msgid ""
"This module allows you to manage storage media attached to your {box_name}. "
@@ -4367,80 +4360,80 @@ msgid ""
"media, expand the root partition etc."
msgstr ""
-#: plinth/modules/storage/__init__.py:211
+#: plinth/modules/storage/__init__.py:213
#, python-brace-format
msgid "{disk_size:.1f} bytes"
msgstr ""
-#: plinth/modules/storage/__init__.py:215
+#: plinth/modules/storage/__init__.py:217
#, python-brace-format
msgid "{disk_size:.1f} KiB"
msgstr ""
-#: plinth/modules/storage/__init__.py:219
+#: plinth/modules/storage/__init__.py:221
#, python-brace-format
msgid "{disk_size:.1f} MiB"
msgstr ""
-#: plinth/modules/storage/__init__.py:223
+#: plinth/modules/storage/__init__.py:225
#, python-brace-format
msgid "{disk_size:.1f} GiB"
msgstr ""
-#: plinth/modules/storage/__init__.py:226
+#: plinth/modules/storage/__init__.py:228
#, python-brace-format
msgid "{disk_size:.1f} TiB"
msgstr ""
-#: plinth/modules/storage/__init__.py:233
+#: plinth/modules/storage/__init__.py:235
msgid "The operation failed."
msgstr ""
-#: plinth/modules/storage/__init__.py:235
+#: plinth/modules/storage/__init__.py:237
msgid "The operation was cancelled."
msgstr ""
-#: plinth/modules/storage/__init__.py:237
+#: plinth/modules/storage/__init__.py:239
msgid "The device is already unmounting."
msgstr ""
-#: plinth/modules/storage/__init__.py:239
+#: plinth/modules/storage/__init__.py:241
msgid "The operation is not supported due to missing driver/tool support."
msgstr ""
-#: plinth/modules/storage/__init__.py:242
+#: plinth/modules/storage/__init__.py:244
msgid "The operation timed out."
msgstr ""
-#: plinth/modules/storage/__init__.py:244
+#: plinth/modules/storage/__init__.py:246
msgid "The operation would wake up a disk that is in a deep-sleep state."
msgstr ""
-#: plinth/modules/storage/__init__.py:247
+#: plinth/modules/storage/__init__.py:249
msgid "Attempting to unmount a device that is busy."
msgstr ""
-#: plinth/modules/storage/__init__.py:249
+#: plinth/modules/storage/__init__.py:251
msgid "The operation has already been cancelled."
msgstr ""
-#: plinth/modules/storage/__init__.py:255
+#: plinth/modules/storage/__init__.py:257
msgid "Not authorized to perform the requested operation."
msgstr ""
-#: plinth/modules/storage/__init__.py:257
+#: plinth/modules/storage/__init__.py:259
msgid "The device is already mounted."
msgstr ""
-#: plinth/modules/storage/__init__.py:259
+#: plinth/modules/storage/__init__.py:261
msgid "The device is not mounted."
msgstr ""
-#: plinth/modules/storage/__init__.py:262
+#: plinth/modules/storage/__init__.py:264
msgid "Not permitted to use the requested option."
msgstr ""
-#: plinth/modules/storage/__init__.py:265
+#: plinth/modules/storage/__init__.py:267
msgid "The device is mounted by another user."
msgstr ""
@@ -4516,16 +4509,16 @@ msgstr ""
msgid "Error ejecting device: {error_message}"
msgstr ""
-#: plinth/modules/syncthing/__init__.py:38
+#: plinth/modules/syncthing/__init__.py:40
#: plinth/modules/syncthing/manifest.py:28
msgid "Syncthing"
msgstr ""
-#: plinth/modules/syncthing/__init__.py:40
+#: plinth/modules/syncthing/__init__.py:42
msgid "File Synchronization"
msgstr ""
-#: plinth/modules/syncthing/__init__.py:43
+#: plinth/modules/syncthing/__init__.py:45
msgid ""
"Syncthing is an application to synchronize files across multiple devices, e."
"g. your desktop computer and mobile phone. Creation, modification, or "
@@ -4533,7 +4526,7 @@ msgid ""
"other devices that also run Syncthing."
msgstr ""
-#: plinth/modules/syncthing/__init__.py:48
+#: plinth/modules/syncthing/__init__.py:50
#, python-brace-format
msgid ""
"Running Syncthing on {box_name} provides an extra synchronization point for "
@@ -4544,26 +4537,26 @@ msgid ""
"{box_name} is only available for users belonging to the \"admin\" group."
msgstr ""
-#: plinth/modules/syncthing/__init__.py:55
+#: plinth/modules/syncthing/__init__.py:57
msgid ""
"When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile clients are also available."
msgstr ""
-#: plinth/modules/syncthing/__init__.py:62
+#: plinth/modules/syncthing/__init__.py:64
msgid "Administer Syncthing application"
msgstr ""
-#: plinth/modules/tahoe/__init__.py:41
+#: plinth/modules/tahoe/__init__.py:43
msgid "Tahoe-LAFS"
msgstr ""
-#: plinth/modules/tahoe/__init__.py:43
+#: plinth/modules/tahoe/__init__.py:45
msgid "Distributed File Storage"
msgstr ""
-#: plinth/modules/tahoe/__init__.py:107
+#: plinth/modules/tahoe/__init__.py:119
msgid ""
"Tahoe-LAFS is a decentralized secure file storage system. It uses provider "
"independent security to store files over a distributed network of storage "
@@ -4571,7 +4564,7 @@ msgid ""
"remaining nodes."
msgstr ""
-#: plinth/modules/tahoe/__init__.py:112
+#: plinth/modules/tahoe/__init__.py:124
#, python-brace-format
msgid ""
"This {box_name} hosts a storage node and an introducer by default. "
@@ -4614,11 +4607,11 @@ msgstr ""
msgid "Remove"
msgstr ""
-#: plinth/modules/tor/__init__.py:43
+#: plinth/modules/tor/__init__.py:46
msgid "Tor"
msgstr ""
-#: plinth/modules/tor/__init__.py:48
+#: plinth/modules/tor/__init__.py:51
msgid ""
"Tor is an anonymous communication system. You can learn more about it from "
"the Tor Project website. For "
@@ -4627,40 +4620,36 @@ msgid ""
"\">Tor Browser."
msgstr ""
-#: plinth/modules/tor/__init__.py:93
+#: plinth/modules/tor/__init__.py:80
msgid "Tor Socks Proxy"
msgstr ""
-#: plinth/modules/tor/__init__.py:99 plinth/modules/tor/__init__.py:146
+#: plinth/modules/tor/__init__.py:84
msgid "Tor Bridge Relay"
msgstr ""
-#: plinth/modules/tor/__init__.py:120 plinth/modules/tor/__init__.py:188
+#: plinth/modules/tor/__init__.py:122 plinth/modules/tor/__init__.py:150
msgid "Tor Hidden Service"
msgstr ""
-#: plinth/modules/tor/__init__.py:136
-msgid "Tor Anonymity Network"
-msgstr ""
-
-#: plinth/modules/tor/__init__.py:208
+#: plinth/modules/tor/__init__.py:170
msgid "Tor relay port available"
msgstr ""
-#: plinth/modules/tor/__init__.py:218
+#: plinth/modules/tor/__init__.py:180
msgid "Obfs3 transport registered"
msgstr ""
-#: plinth/modules/tor/__init__.py:226
+#: plinth/modules/tor/__init__.py:188
msgid "Obfs4 transport registered"
msgstr ""
-#: plinth/modules/tor/__init__.py:265
+#: plinth/modules/tor/__init__.py:227
#, python-brace-format
msgid "Access URL {url} on tcp{kind} via Tor"
msgstr ""
-#: plinth/modules/tor/__init__.py:276
+#: plinth/modules/tor/__init__.py:238
#, python-brace-format
msgid "Confirm Tor usage at {url} on tcp{kind}"
msgstr ""
@@ -4794,18 +4783,18 @@ msgstr ""
msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050."
msgstr ""
-#: plinth/modules/transmission/__init__.py:39
+#: plinth/modules/transmission/__init__.py:41
#: plinth/modules/transmission/manifest.py:24
msgid "Transmission"
msgstr ""
-#: plinth/modules/transmission/__init__.py:44
+#: plinth/modules/transmission/__init__.py:46
msgid ""
"BitTorrent is a peer-to-peer file sharing protocol. Transmission daemon "
"handles Bitorrent file sharing. Note that BitTorrent is not anonymous."
msgstr ""
-#: plinth/modules/transmission/__init__.py:47
+#: plinth/modules/transmission/__init__.py:49
msgid ""
"Access the web interface at /transmission."
msgstr ""
@@ -4821,22 +4810,22 @@ msgid ""
"\" user."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:41 plinth/modules/ttrss/manifest.py:34
+#: plinth/modules/ttrss/__init__.py:43 plinth/modules/ttrss/manifest.py:34
msgid "Tiny Tiny RSS"
msgstr ""
-#: plinth/modules/ttrss/__init__.py:43
+#: plinth/modules/ttrss/__init__.py:45
msgid "News Feed Reader"
msgstr ""
-#: plinth/modules/ttrss/__init__.py:46
+#: plinth/modules/ttrss/__init__.py:48
msgid ""
"Tiny Tiny RSS is a news feed (RSS/Atom) reader and aggregator, designed to "
"allow reading news from any location, while feeling as close to a real "
"desktop application as possible."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:50
+#: plinth/modules/ttrss/__init__.py:52
#, fuzzy, python-brace-format
msgid ""
"When enabled, Tiny Tiny RSS will be available from /tt-"
@@ -4848,13 +4837,13 @@ msgstr ""
"સાથે{box_name} લૉગિન દ્વારા ઍક્સેસ કરી શકાય છે. સંવેદનશીલ માહિતી અને વ્યવસ્થાપનની "
"ક્ષમતાઓ એડમિન ગ્રૂપના વપરાશકર્તાઓ માટે મર્યાદિત છે."
-#: plinth/modules/ttrss/__init__.py:55
+#: plinth/modules/ttrss/__init__.py:57
msgid ""
"When using a mobile or desktop application for Tiny Tiny RSS, use the URL /tt-rss-app for connecting."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:61
+#: plinth/modules/ttrss/__init__.py:63
msgid "Read and subscribe to news feeds"
msgstr ""
@@ -4862,11 +4851,11 @@ msgstr ""
msgid "Tiny Tiny RSS (Fork)"
msgstr ""
-#: plinth/modules/upgrades/__init__.py:36 plinth/templates/setup.html:101
+#: plinth/modules/upgrades/__init__.py:35 plinth/templates/setup.html:101
msgid "Update"
msgstr ""
-#: plinth/modules/upgrades/__init__.py:39
+#: plinth/modules/upgrades/__init__.py:38
msgid "Check for and apply the latest software and security updates."
msgstr ""
@@ -4907,34 +4896,34 @@ msgstr ""
msgid "Auto-update"
msgstr "છેલ્લો સુધારો"
-#: plinth/modules/upgrades/views.py:39
+#: plinth/modules/upgrades/views.py:40
#, fuzzy
#| msgid "Last update"
msgid "Manual update"
msgstr "છેલ્લો સુધારો"
-#: plinth/modules/upgrades/views.py:78
+#: plinth/modules/upgrades/views.py:79
#, python-brace-format
msgid "Error when configuring unattended-upgrades: {error}"
msgstr ""
-#: plinth/modules/upgrades/views.py:82
+#: plinth/modules/upgrades/views.py:83
msgid "Automatic upgrades enabled"
msgstr ""
-#: plinth/modules/upgrades/views.py:85
+#: plinth/modules/upgrades/views.py:86
msgid "Automatic upgrades disabled"
msgstr ""
-#: plinth/modules/upgrades/views.py:87
+#: plinth/modules/upgrades/views.py:88
msgid "Settings unchanged"
msgstr ""
-#: plinth/modules/upgrades/views.py:113
+#: plinth/modules/upgrades/views.py:114
msgid "Upgrade process started."
msgstr ""
-#: plinth/modules/upgrades/views.py:116
+#: plinth/modules/upgrades/views.py:117
msgid "Starting upgrade failed."
msgstr ""
@@ -4942,7 +4931,7 @@ msgstr ""
msgid "Users and Groups"
msgstr ""
-#: plinth/modules/users/__init__.py:106
+#: plinth/modules/users/__init__.py:108
#, python-brace-format
msgid "Check LDAP entry \"{search_item}\""
msgstr ""
@@ -5154,15 +5143,6 @@ msgstr ""
msgid "configuration file: {file}"
msgstr ""
-#: plinth/service.py:140
-msgid "Web Server over Secure Socket Layer"
-msgstr ""
-
-#: plinth/service.py:145
-#, python-brace-format
-msgid "{box_name} Web Interface (Plinth)"
-msgstr ""
-
#: plinth/templates/403.html:25
msgid "403 Forbidden"
msgstr ""
@@ -5365,16 +5345,16 @@ msgstr ""
msgid "Mailing list"
msgstr ""
-#: plinth/templates/internal-zone.html:25
+#: plinth/templates/internal-zone.html:26
#, python-format
msgid "%(service_name)s is available only on internal networks."
msgstr ""
-#: plinth/templates/internal-zone.html:31
+#: plinth/templates/internal-zone.html:32
msgid "Currently there are no network interfaces configured as internal."
msgstr ""
-#: plinth/templates/internal-zone.html:33
+#: plinth/templates/internal-zone.html:34
#, python-format
msgid ""
"Currently the following network interfaces are configured as internal: "
@@ -5439,6 +5419,14 @@ msgstr ""
msgid "%(percentage)s%% complete"
msgstr ""
+#: plinth/views.py:178
+msgid "Application enabled"
+msgstr "એપ્લિકેશન સક્ષમ કરો"
+
+#: plinth/views.py:181
+msgid "Application disabled"
+msgstr "એપ્લિકેશન અક્ષમ છે"
+
#: plinth/web_framework.py:186
msgid "Gujarati"
msgstr ""
diff --git a/plinth/locale/hi/LC_MESSAGES/django.po b/plinth/locale/hi/LC_MESSAGES/django.po
index 560e18c74..6685626f8 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: 2019-06-10 19:02-0400\n"
+"POT-Creation-Date: 2019-06-24 19:48-0400\n"
"PO-Revision-Date: 2018-08-09 20:39+0000\n"
"Last-Translator: Gayathri Das \n"
"Language-Team: Hindi /"
@@ -528,14 +539,14 @@ msgstr ""
"माैजूद होते है. यह कोई से एक {box_name} के सात पहुंच "
"सकते हैं. निजी जानकारी आैर सिस्टम बदलने का योग्यता सिर्फ व्यवस्थापक लोग के पास है."
-#: plinth/modules/config/__init__.py:59 plinth/modules/dynamicdns/views.py:44
+#: plinth/modules/config/__init__.py:61 plinth/modules/dynamicdns/views.py:45
#: plinth/modules/i2p/views.py:31 plinth/modules/ikiwiki/views.py:35
#: plinth/modules/pagekite/views.py:36 plinth/modules/snapshot/views.py:40
#: plinth/modules/tahoe/templates/tahoe-pre-setup.html:39
msgid "Configure"
msgstr "कॉन्फ़िगर करें"
-#: plinth/modules/config/__init__.py:164 plinth/modules/config/forms.py:76
+#: plinth/modules/config/__init__.py:166 plinth/modules/config/forms.py:76
#: plinth/modules/config/views.py:171 plinth/modules/dynamicdns/forms.py:111
msgid "Domain Name"
msgstr "डोमेन नाम"
@@ -630,8 +641,8 @@ msgstr ""
#: plinth/modules/power/templates/power_restart.html:42
#: plinth/modules/power/templates/power_shutdown.html:41
#: plinth/modules/storage/templates/storage.html:48
-#: plinth/templates/service-subsubmenu.html:47 plinth/templates/service.html:42
-#: plinth/templates/setup.html:48 plinth/templates/simple_service.html:38
+#: plinth/templates/app-subsubmenu.html:47 plinth/templates/app.html:42
+#: plinth/templates/setup.html:48 plinth/templates/simple_app.html:38
msgid "Learn more..."
msgstr "और सीखिये..."
@@ -681,15 +692,15 @@ msgstr ""
msgid "Hiding advanced apps and features"
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:38
+#: plinth/modules/coquelicot/__init__.py:40
msgid "Coquelicot"
msgstr "कोकेलिकॉट"
-#: plinth/modules/coquelicot/__init__.py:40
+#: plinth/modules/coquelicot/__init__.py:42
msgid "File Sharing"
msgstr "फ़ाइल शेयरइंग"
-#: plinth/modules/coquelicot/__init__.py:43
+#: plinth/modules/coquelicot/__init__.py:45
msgid ""
"Coquelicot is a “one-click” file sharing web application with a focus on "
"protecting users’ privacy. It is best used for quickly sharing a single "
@@ -698,7 +709,7 @@ msgstr ""
"कोकेलिकॉट एक \"एक-क्लिक\" फ़ाइल शेयरइंग वेब एप्लिकेशन है जिसमे एकांत पर फोकस है. यह जल्दी "
"से एक फ़ाइल साझा करने में सबसे अच्छा है. "
-#: plinth/modules/coquelicot/__init__.py:46
+#: plinth/modules/coquelicot/__init__.py:48
msgid ""
"This Coquelicot instance is exposed to the public but requires an upload "
"password to prevent unauthorized access. You can set a new upload password "
@@ -733,19 +744,19 @@ msgstr "आधिकतम फ़ाइल आकार सेट करें,
msgid "coquelicot"
msgstr "कोकेलिकॉट"
-#: plinth/modules/coquelicot/views.py:57
+#: plinth/modules/coquelicot/views.py:59
msgid "Upload password updated"
msgstr "अपलोड पासवर्ड अद्यतन किया गया"
-#: plinth/modules/coquelicot/views.py:60
+#: plinth/modules/coquelicot/views.py:62
msgid "Failed to update upload password"
msgstr "पासवर्ड अपलोड अद्यतन नहीं किया गया था"
-#: plinth/modules/coquelicot/views.py:68
+#: plinth/modules/coquelicot/views.py:70
msgid "Maximum file size updated"
msgstr "अधिकतम फ़ाइल आकार अद्यतन किया गया"
-#: plinth/modules/coquelicot/views.py:71
+#: plinth/modules/coquelicot/views.py:73
msgid "Failed to update maximum file size"
msgstr "अधिकतम फ़ाइल आकार नहीं अद्यतन किया गया"
@@ -760,22 +771,22 @@ msgid ""
msgstr ""
"नेटवर्क समय सर्वर एक प्रोग्रम है कि सिस्टम समय इंटरनेट सर्वरसॅ के सात में बनाए रखता है."
-#: plinth/modules/datetime/__init__.py:107
+#: plinth/modules/datetime/__init__.py:99
msgid "Time synchronized to NTP server"
msgstr ""
-#: plinth/modules/datetime/forms.py:36
+#: plinth/modules/datetime/forms.py:35
msgid "Time Zone"
msgstr "समय क्षेत्र"
-#: plinth/modules/datetime/forms.py:37
+#: plinth/modules/datetime/forms.py:36
msgid ""
"Set your time zone to get accurate timestamps. This will set the system-wide "
"time zone."
msgstr ""
"सही टाइमस्टैम्प मिलने के लिये समय क्षेत्र सेट करें. यह पूरा सिस्टम में समय क्षेत्र सेट करेगा."
-#: plinth/modules/datetime/forms.py:49
+#: plinth/modules/datetime/forms.py:47
msgid "-- no time zone set --"
msgstr "-- समय क्षेत्र सेट नहीं है --"
@@ -793,7 +804,7 @@ msgid "Deluge"
msgstr "डेलूज"
#: plinth/modules/deluge/__init__.py:41
-#: plinth/modules/transmission/__init__.py:41
+#: plinth/modules/transmission/__init__.py:43
msgid "BitTorrent Web Client"
msgstr "बिटटोरेंट वेब ग्राहक"
@@ -812,7 +823,7 @@ msgstr ""
"बदलना चाहिये."
#: plinth/modules/deluge/__init__.py:51
-#: plinth/modules/transmission/__init__.py:54
+#: plinth/modules/transmission/__init__.py:56
msgid "Download files using BitTorrent applications"
msgstr "बिटटोरेंट एप्लिकेशन उपयोग कर फ़ाइल डाउनलोड करें"
@@ -876,12 +887,12 @@ msgstr "परीक्षा"
msgid "Result"
msgstr "परिणाम"
-#: plinth/modules/diaspora/__init__.py:52
+#: plinth/modules/diaspora/__init__.py:54
#: plinth/modules/diaspora/manifest.py:38
msgid "diaspora*"
msgstr "डायसपोरा*"
-#: plinth/modules/diaspora/__init__.py:54
+#: plinth/modules/diaspora/__init__.py:56
msgid "Federated Social Network"
msgstr "फ़ेडरेटेड सामाजिक नेटवर्क"
@@ -935,22 +946,22 @@ msgstr ""
#: plinth/modules/tahoe/templates/tahoe-pre-setup.html:58
#: plinth/modules/tor/templates/tor.html:96
#: plinth/modules/upgrades/templates/upgrades_configure.html:32
-#: plinth/templates/service.html:89
+#: plinth/templates/app.html:89
msgid "Update setup"
msgstr "सेटअप अपडेट"
-#: plinth/modules/diaspora/views.py:97 plinth/modules/ejabberd/views.py:64
-#: plinth/modules/matrixsynapse/views.py:107
-#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:150
-#: plinth/modules/tor/views.py:146 plinth/views.py:160
+#: plinth/modules/diaspora/views.py:94 plinth/modules/ejabberd/views.py:65
+#: plinth/modules/matrixsynapse/views.py:108
+#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:148
+#: plinth/modules/tor/views.py:148 plinth/views.py:174
msgid "Setting unchanged"
msgstr "सेटिंग स्थिर है"
-#: plinth/modules/diaspora/views.py:101
+#: plinth/modules/diaspora/views.py:98
msgid "User registrations enabled"
msgstr "यूसर पंजीकरण सक्षम किया"
-#: plinth/modules/diaspora/views.py:105
+#: plinth/modules/diaspora/views.py:102
msgid "User registrations disabled"
msgstr "यूसर पंजीकरण अक्षम किया"
@@ -985,8 +996,8 @@ msgstr ""
"डिएनएस नाम नया आईपी पर आवंटित करेगा और अगर इंटरनेट से कोई अपना डिएनएस नाम पूछता "
"है, अपना वर्तमान एड्रसॅ से जवाब मिलेगा."
-#: plinth/modules/dynamicdns/__init__.py:85
-#: plinth/modules/dynamicdns/views.py:167
+#: plinth/modules/dynamicdns/__init__.py:87
+#: plinth/modules/dynamicdns/views.py:169
msgid "Dynamic DNS Service"
msgstr "डायनेमिक डिएनएस ग्राहक"
@@ -1088,7 +1099,7 @@ msgid "Username"
msgstr "युसरनाम"
#: plinth/modules/dynamicdns/forms.py:121 plinth/modules/networks/forms.py:235
-#: plinth/modules/shadowsocks/forms.py:70
+#: plinth/modules/shadowsocks/forms.py:61
msgid "Password"
msgstr "पासवर्ड"
@@ -1181,39 +1192,39 @@ msgstr ""
msgid "Last update"
msgstr "अंतिम अपडेट"
-#: plinth/modules/dynamicdns/views.py:41 plinth/modules/help/help.py:57
+#: plinth/modules/dynamicdns/views.py:41 plinth/modules/help/help.py:59
msgid "About"
msgstr "के बारे में"
-#: plinth/modules/dynamicdns/views.py:47
+#: plinth/modules/dynamicdns/views.py:49
#: plinth/modules/firewall/templates/firewall.html:25
#: plinth/modules/firewall/templates/firewall.html:45
#: plinth/modules/i2p/templates/i2p.html:27
#: plinth/modules/networks/templates/connection_show.html:261
#: plinth/modules/openvpn/templates/openvpn.html:71
#: plinth/modules/tor/templates/tor.html:40
-#: plinth/modules/tor/templates/tor.html:68 plinth/templates/service.html:51
+#: plinth/modules/tor/templates/tor.html:68 plinth/templates/app.html:51
msgid "Status"
msgstr "स्थिति"
-#: plinth/modules/dynamicdns/views.py:78
+#: plinth/modules/dynamicdns/views.py:80
msgid "Configure Dynamic DNS"
msgstr "डायनामिक DNS कॉन्फ़िगर करें"
-#: plinth/modules/dynamicdns/views.py:103
+#: plinth/modules/dynamicdns/views.py:105
msgid "Dynamic DNS Status"
msgstr "डायनामिक DNS स्थिति"
-#: plinth/modules/ejabberd/__init__.py:43
+#: plinth/modules/ejabberd/__init__.py:45
msgid "ejabberd"
msgstr "एजाबेरड"
-#: plinth/modules/ejabberd/__init__.py:45
-#: plinth/modules/matrixsynapse/__init__.py:43
+#: plinth/modules/ejabberd/__init__.py:47
+#: plinth/modules/matrixsynapse/__init__.py:45
msgid "Chat Server"
msgstr "चाट सर्वर"
-#: plinth/modules/ejabberd/__init__.py:48
+#: plinth/modules/ejabberd/__init__.py:50
msgid ""
"XMPP is an open and standardized communication protocol. Here you can run "
"and configure your XMPP server, called ejabberd."
@@ -1221,7 +1232,7 @@ msgstr ""
"एक्सएमरपिपि एक खुला और मानकीकृत संचार प्रोटोकॉल है. यहां आप आपना एक्सएमरपिपि सर्वर "
"कॉंफ़िगर आैर चल सकते हैं, सर्वर का नाम एजाबेरड है."
-#: plinth/modules/ejabberd/__init__.py:51
+#: plinth/modules/ejabberd/__init__.py:53
#, fuzzy, python-brace-format
#| msgid ""
#| "To actually communicate, you can use the web "
@@ -1239,11 +1250,11 @@ msgstr ""
"ग्राहक. सक्षम होने पर एजाबेरड कोई यूसर एक {box_name} "
"लोगिन से उपयोग कर सकते हैं."
-#: plinth/modules/ejabberd/forms.py:33
+#: plinth/modules/ejabberd/forms.py:32
msgid "Enable Message Archive Management"
msgstr "संदेश संग्रह प्रबंध सक्षम करें"
-#: plinth/modules/ejabberd/forms.py:36
+#: plinth/modules/ejabberd/forms.py:34
#, python-brace-format
msgid ""
"If enabled, your {box_name} will store chat message histories. This allows "
@@ -1322,35 +1333,23 @@ msgstr "वेब क्लाइंट लॉंच"
#: plinth/modules/openvpn/templates/openvpn.html:123
#: plinth/modules/snapshot/templates/snapshot.html:27
#: plinth/modules/tahoe/templates/tahoe-post-setup.html:43
-#: plinth/modules/tor/templates/tor.html:88 plinth/templates/service.html:81
+#: plinth/modules/tor/templates/tor.html:88 plinth/templates/app.html:81
msgid "Configuration"
msgstr "कॉन्फ़िगरेशन"
-#: plinth/modules/ejabberd/views.py:68
-#: plinth/modules/matrixsynapse/views.py:111
-#: plinth/modules/mediawiki/views.py:79 plinth/views.py:164
-msgid "Application enabled"
-msgstr "एप्लीकेशन सक्षम किया गया है"
-
-#: plinth/modules/ejabberd/views.py:71
-#: plinth/modules/matrixsynapse/views.py:114
-#: plinth/modules/mediawiki/views.py:82 plinth/views.py:167
-msgid "Application disabled"
-msgstr "एप्लीकेशन अक्षम किया गया है"
-
-#: plinth/modules/ejabberd/views.py:78
+#: plinth/modules/ejabberd/views.py:77
msgid "Message Archive Management enabled"
msgstr "संदेश संग्रह प्रबंधन सक्षम किया गया है"
-#: plinth/modules/ejabberd/views.py:82
+#: plinth/modules/ejabberd/views.py:81
msgid "Message Archive Management disabled"
msgstr "संदेश संग्रह प्रबंधन अक्षम किया गया है"
-#: plinth/modules/firewall/__init__.py:40
+#: plinth/modules/firewall/__init__.py:36
msgid "Firewall"
msgstr "फ़ायरवॉल"
-#: plinth/modules/firewall/__init__.py:44
+#: plinth/modules/firewall/__init__.py:40
#, python-brace-format
msgid ""
"Firewall is a security system that controls the incoming and outgoing "
@@ -1469,29 +1468,29 @@ msgstr "सटअप शुरु करें"
msgid "Setup Complete"
msgstr "सेटअप पूरा हो गया"
-#: plinth/modules/help/help.py:44
+#: plinth/modules/help/help.py:46
msgid "Documentation"
msgstr "प्रलेखन"
-#: plinth/modules/help/help.py:48 plinth/modules/networks/forms.py:68
+#: plinth/modules/help/help.py:50 plinth/modules/networks/forms.py:68
#: plinth/modules/networks/forms.py:108 plinth/templates/index.html:135
msgid "Manual"
msgstr "मैन्युअल"
-#: plinth/modules/help/help.py:53
+#: plinth/modules/help/help.py:55
msgid "Download Manual"
msgstr "मैन्युअल डाउनलोड करें"
-#: plinth/modules/help/help.py:73
+#: plinth/modules/help/help.py:75
msgid "Documentation and FAQ"
msgstr "प्रलेखन और एफ़एक्यू"
-#: plinth/modules/help/help.py:81
+#: plinth/modules/help/help.py:83
#, python-brace-format
msgid "About {box_name}"
msgstr "{box_name} के बारे में"
-#: plinth/modules/help/help.py:102
+#: plinth/modules/help/help.py:104
#, python-brace-format
msgid "{box_name} Manual"
msgstr "{box_name} मैनुअल"
@@ -1638,15 +1637,15 @@ msgid ""
"before submitting the bug report."
msgstr "बग रिपोर्ट सबमिट करने से पहले कोई पासवर्ड या दूसरे व्यक्तिगत जानकारी निकालें."
-#: plinth/modules/i2p/__init__.py:40 plinth/modules/i2p/manifest.py:31
+#: plinth/modules/i2p/__init__.py:42 plinth/modules/i2p/manifest.py:31
msgid "I2P"
msgstr ""
-#: plinth/modules/i2p/__init__.py:42 plinth/modules/tor/__init__.py:45
+#: plinth/modules/i2p/__init__.py:44 plinth/modules/tor/__init__.py:48
msgid "Anonymity Network"
msgstr "गुमनामी नेटवर्क"
-#: plinth/modules/i2p/__init__.py:45
+#: plinth/modules/i2p/__init__.py:47
msgid ""
"The Invisible Internet Project is an anonymous network layer intended to "
"protect communication from censorship and surveillance. I2P provides "
@@ -1654,7 +1653,7 @@ msgid ""
"distributed around the world."
msgstr ""
-#: plinth/modules/i2p/__init__.py:49
+#: plinth/modules/i2p/__init__.py:51
#, fuzzy
#| msgid ""
#| "For more information about the %(box_name)s project, see the %(box_name)s Wiki."
-#: plinth/modules/i2p/__init__.py:51
+#: plinth/modules/i2p/__init__.py:53
msgid ""
"The first visit to the provided web interface will initiate the "
"configuration process."
msgstr ""
-#: plinth/modules/i2p/__init__.py:57
+#: plinth/modules/i2p/__init__.py:59
#, fuzzy
#| msgid "Enable application"
msgid "Manage I2P application"
msgstr "एप्लिकेशन सक्षम करें"
-#: plinth/modules/i2p/templates/i2p.html:32 plinth/templates/service.html:56
+#: plinth/modules/i2p/templates/i2p.html:32 plinth/templates/app.html:56
#, python-format
msgid "Service %(service_name)s is running."
msgstr "सर्विस %(service_name)s चल रहा है."
-#: plinth/modules/i2p/templates/i2p.html:37 plinth/templates/service.html:61
+#: plinth/modules/i2p/templates/i2p.html:37 plinth/templates/app.html:61
#, python-format
msgid "Service %(service_name)s is not running."
msgstr "सर्विस %(service_name)s नहीं चल रहा है."
-#: plinth/modules/i2p/templates/i2p_service.html:13
+#: plinth/modules/i2p/templates/i2p_service.html:31
#: plinth/templates/clients.html:51
msgid "Launch"
msgstr "लॉन्च"
@@ -1701,43 +1700,43 @@ msgstr ""
msgid "Anonymous torrents"
msgstr ""
-#: plinth/modules/i2p/views.py:86
+#: plinth/modules/i2p/views.py:88
msgid "I2P Proxies and Tunnels"
msgstr ""
-#: plinth/modules/i2p/views.py:89
+#: plinth/modules/i2p/views.py:91
msgid ""
"I2P lets you browse the Internet and hidden services (eepsites) anonymously. "
"For this, your browser, preferably a Tor Browser, needs to be configured for "
"a proxy."
msgstr ""
-#: plinth/modules/i2p/views.py:92
+#: plinth/modules/i2p/views.py:94
msgid ""
"By default HTTP, HTTPS and IRC proxies are available. Additional proxies and "
"tunnels may be configured using the tunnel configuration interface."
msgstr ""
-#: plinth/modules/i2p/views.py:101
+#: plinth/modules/i2p/views.py:103
msgid "Anonymous Torrents"
msgstr ""
-#: plinth/modules/i2p/views.py:104
+#: plinth/modules/i2p/views.py:106
msgid ""
"I2P provides an application to download files anonymously in a peer-to-peer "
"network. Download files by adding torrents or create a new torrent to share "
"a file."
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:42 plinth/modules/ikiwiki/manifest.py:24
+#: plinth/modules/ikiwiki/__init__.py:41 plinth/modules/ikiwiki/manifest.py:24
msgid "ikiwiki"
msgstr "इकिविकि"
-#: plinth/modules/ikiwiki/__init__.py:44
+#: plinth/modules/ikiwiki/__init__.py:43
msgid "Wiki and Blog"
msgstr "विकि और ब्लॉग"
-#: plinth/modules/ikiwiki/__init__.py:47
+#: plinth/modules/ikiwiki/__init__.py:46
msgid ""
"ikiwiki is a simple wiki and blog application. It supports several "
"lightweight markup languages, including Markdown, and common blogging "
@@ -1749,7 +1748,7 @@ msgstr ""
"होने पर, ब्लॉग्स और विकि /इकिविकि/ (एक बार बनाए गए) पर "
"उपलब्ध होंगे."
-#: plinth/modules/ikiwiki/__init__.py:53
+#: plinth/modules/ikiwiki/__init__.py:52
#, python-brace-format
msgid ""
"Only {box_name} users in the admin group can create and "
@@ -1762,7 +1761,7 @@ msgstr ""
"विकी संपादितकर सकते है. वह युज़र कॉन्फ़िगरेशन पर "
"आपको यह अनुमति बदल सकता और नया युज़रसॅ को जोडं सकता है."
-#: plinth/modules/ikiwiki/__init__.py:63
+#: plinth/modules/ikiwiki/__init__.py:62
msgid "View and edit wiki applications"
msgstr "विकी एप्लिकेशन को देखें और संपादित करें"
@@ -1832,49 +1831,49 @@ msgstr "साइट पर जाएं %(site)s"
msgid "Manage"
msgstr "प्रबंध"
-#: plinth/modules/ikiwiki/views.py:121
+#: plinth/modules/ikiwiki/views.py:124
#, python-brace-format
msgid "Created wiki {name}."
msgstr "विकी बनाया है {name}."
-#: plinth/modules/ikiwiki/views.py:124
+#: plinth/modules/ikiwiki/views.py:127
#, python-brace-format
msgid "Could not create wiki: {error}"
msgstr "विकी नहीं बना सकता है:{error}"
-#: plinth/modules/ikiwiki/views.py:134
+#: plinth/modules/ikiwiki/views.py:137
#, python-brace-format
msgid "Created blog {name}."
msgstr "ब्लॉग बनाया है {name}."
-#: plinth/modules/ikiwiki/views.py:137
+#: plinth/modules/ikiwiki/views.py:140
#, python-brace-format
msgid "Could not create blog: {error}"
msgstr "ब्लॉग नहीं बना सकता है: {error}"
-#: plinth/modules/ikiwiki/views.py:150
+#: plinth/modules/ikiwiki/views.py:153
#, python-brace-format
msgid "{name} deleted."
msgstr "{name} हटा गया है."
-#: plinth/modules/ikiwiki/views.py:154
+#: plinth/modules/ikiwiki/views.py:157
#, python-brace-format
msgid "Could not delete {name}: {error}"
msgstr "{name} नहीं हटा गया है: {error}"
-#: plinth/modules/infinoted/__init__.py:41
+#: plinth/modules/infinoted/__init__.py:40
msgid "infinoted"
msgstr "इन्फिनोटेड़"
-#: plinth/modules/infinoted/__init__.py:43
+#: plinth/modules/infinoted/__init__.py:42
msgid "Gobby Server"
msgstr "गोबी सर्वर"
-#: plinth/modules/infinoted/__init__.py:46
+#: plinth/modules/infinoted/__init__.py:45
msgid "infinoted is a server for Gobby, a collaborative text editor."
msgstr "इन्फिनोटेड़ गोबी के एक सर्वर है, एक सहयोगी टेक्स्ट संपादक."
-#: plinth/modules/infinoted/__init__.py:48
+#: plinth/modules/infinoted/__init__.py:47
#, python-brace-format
msgid ""
"To use it, download Gobby, desktop "
@@ -2299,11 +2298,11 @@ msgstr "डोमेन के लिए प्रमाणपत्र का
msgid "Failed to delete certificate for domain {domain}: {error}"
msgstr "डोमेन के लिए प्रमाणपत्र नहीं हटाया गया {domain}:{error}"
-#: plinth/modules/matrixsynapse/__init__.py:41
+#: plinth/modules/matrixsynapse/__init__.py:43
msgid "Matrix Synapse"
msgstr "मैट्रिक्स सिनापसॅ"
-#: plinth/modules/matrixsynapse/__init__.py:46
+#: plinth/modules/matrixsynapse/__init__.py:48
msgid ""
"Matrix is an new "
"ecosystem for open, federated instant messaging and VoIP. Synapse is a "
@@ -2318,7 +2317,7 @@ msgstr ""
"मल्टीपल डिवाइस सिंक्रनाइज़इज़ाशिन और काम करने के लिए फोन नंबर की ज़रुरत नहीं है. मैट्रिक्स "
"सर्वर पर यूसरसॅ सारे मैट्रिक्स सर्वर के लेग से बात कर सकते है फ़ेडरेशिन उपयोग कर."
-#: plinth/modules/matrixsynapse/__init__.py:53
+#: plinth/modules/matrixsynapse/__init__.py:55
msgid ""
"To communicate, you can use the available clients for mobile, desktop and the web. Special:CreateAccountपेज."
-#: plinth/modules/mediawiki/__init__.py:49
+#: plinth/modules/mediawiki/__init__.py:53
msgid ""
"Anyone with a link to this wiki can read it. Only users that are logged in "
"can make changes to the content."
@@ -2487,32 +2486,32 @@ msgstr ""
msgid "Password updated"
msgstr "पासवर्ड अपडेट"
-#: plinth/modules/mediawiki/views.py:91
+#: plinth/modules/mediawiki/views.py:89
msgid "Public registrations enabled"
msgstr "सार्वजनिक रेगीसट्रेशिन सक्षम किया"
-#: plinth/modules/mediawiki/views.py:100
+#: plinth/modules/mediawiki/views.py:98
msgid "Public registrations disabled"
msgstr "सार्वजनिक रेगीसट्रेशिन अक्षम किया"
-#: plinth/modules/mediawiki/views.py:109
+#: plinth/modules/mediawiki/views.py:107
msgid "Private mode enabled"
msgstr "निजी मोड सक्षम किया"
-#: plinth/modules/mediawiki/views.py:112
+#: plinth/modules/mediawiki/views.py:110
msgid "Private mode disabled"
msgstr "निजी मोड सक्षम किया"
-#: plinth/modules/minetest/__init__.py:53
+#: plinth/modules/minetest/__init__.py:52
#: plinth/modules/minetest/manifest.py:25
msgid "Minetest"
msgstr "मैइनटेस्ट"
-#: plinth/modules/minetest/__init__.py:55
+#: plinth/modules/minetest/__init__.py:54
msgid "Block Sandbox"
msgstr "ब्लॉक सेंडबोक्स"
-#: plinth/modules/minetest/__init__.py:59
+#: plinth/modules/minetest/__init__.py:58
#, python-brace-format
msgid ""
"Minetest is a multiplayer infinite-world block sandbox. This module enables "
@@ -2524,21 +2523,21 @@ msgstr ""
"{box_name} पर चल सकवाते है, डिफ़ॉल्ट पोर्ट (३००००) पर. सर्वर से कनेक्ट करने के लिए, एक "
"मैइनटेस्ट क्लायंटकी आवश्यकता है."
-#: plinth/modules/minetest/forms.py:31
+#: plinth/modules/minetest/forms.py:30
msgid "Maximum number of players"
msgstr "खिलाड़ियों की अधिकतम संख्या"
-#: plinth/modules/minetest/forms.py:35
+#: plinth/modules/minetest/forms.py:32
msgid ""
"You can change the maximum number of players playing minetest at a single "
"instance of time."
msgstr "आप एक पल पर मैइनटेस्ट का खिलाड़ियों की अधिकतम संख्या को बदल सकते हैं."
-#: plinth/modules/minetest/forms.py:39
+#: plinth/modules/minetest/forms.py:36
msgid "Enable creative mode"
msgstr "क्रिएटिव मोड सक्षम करें"
-#: plinth/modules/minetest/forms.py:41
+#: plinth/modules/minetest/forms.py:37
msgid ""
"Creative mode changes the rules of the game to make it more suitable for "
"creative gameplay, rather than challenging \"survival\" gameplay."
@@ -2546,19 +2545,19 @@ msgstr ""
"क्रिएटिव मोड खेल के नियम बदलता है तो क्रिएटिव गेमप्ले और आसान हो जाएगा, और मुश्किल "
"\"अस्तित्व\" गेमप्ले की बजाय."
-#: plinth/modules/minetest/forms.py:46
+#: plinth/modules/minetest/forms.py:42
msgid "Enable PVP"
msgstr "पिवीपि सक्षम करें"
-#: plinth/modules/minetest/forms.py:48
+#: plinth/modules/minetest/forms.py:43
msgid "Enabling Player Vs Player will allow players to damage other players."
msgstr "खिलाड़ी v. खिलाड़ी को सक्षम करने से खिलाड़ियों एक दूसरे को चोट लग सकेगा."
-#: plinth/modules/minetest/forms.py:52
+#: plinth/modules/minetest/forms.py:47
msgid "Enable damage"
msgstr "क्षति को सक्षम करें"
-#: plinth/modules/minetest/forms.py:54
+#: plinth/modules/minetest/forms.py:48
msgid "When disabled, players cannot die or receive damage of any kind."
msgstr "अक्षम होने पर खिलाड़ियों नहीं मर सकते या किसी चोट लग सकते."
@@ -2572,56 +2571,56 @@ msgstr "ऍड्रेस"
msgid "Port"
msgstr "पोर्ट"
-#: plinth/modules/minetest/views.py:71
+#: plinth/modules/minetest/views.py:72
msgid "Maximum players configuration updated"
msgstr "अधिकतम खिलाड़ी कॉन्फ़िगरेशन अपडेट किया गया"
-#: plinth/modules/minetest/views.py:78
+#: plinth/modules/minetest/views.py:79
msgid "Creative mode configuration updated"
msgstr "क्रिएटिव मोड कॉन्फ़िगरेशन अपडेट किया गया"
-#: plinth/modules/minetest/views.py:84
+#: plinth/modules/minetest/views.py:85
msgid "PVP configuration updated"
msgstr "पिवीपि कॉन्फ़िगरेशन अपडेट किया गया"
-#: plinth/modules/minetest/views.py:90
+#: plinth/modules/minetest/views.py:91
msgid "Damage configuration updated"
msgstr "क्षति कॉन्फ़िगरेशन अपडेट किया गया"
-#: plinth/modules/mldonkey/__init__.py:38
+#: plinth/modules/mldonkey/__init__.py:40
#: plinth/modules/mldonkey/manifest.py:27
#, fuzzy
#| msgid "Monkeysphere"
msgid "MLDonkey"
msgstr "मंकीसफीर"
-#: plinth/modules/mldonkey/__init__.py:40
+#: plinth/modules/mldonkey/__init__.py:42
#, fuzzy
#| msgid "File Sharing"
msgid "Peer-to-peer File Sharing"
msgstr "फ़ाइल शेयरइंग"
-#: plinth/modules/mldonkey/__init__.py:43
+#: plinth/modules/mldonkey/__init__.py:45
msgid ""
"MLDonkey is a peer-to-peer file sharing application used to exchange large "
"files. It can participate in multiple peer-to-peer networks including "
"eDonkey, Kademlia, Overnet, BitTorrent and DirectConnect."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:46
+#: plinth/modules/mldonkey/__init__.py:48
msgid ""
"Users belonging to admin and ed2k group can control it through the web "
"interface. Users in the admin group can also control it through any of the "
"separate mobile or desktop front-ends or a telnet interface. See manual."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:51
+#: plinth/modules/mldonkey/__init__.py:53
#, python-brace-format
msgid ""
"On {box_name}, downloaded files can be found in /var/lib/mldonkey/ directory."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:59
+#: plinth/modules/mldonkey/__init__.py:61
#, fuzzy
#| msgid "Download files using BitTorrent applications"
msgid "Download files using eDonkey applications"
@@ -2704,12 +2703,6 @@ msgstr "अोपनपिजीपि फिंगरप्रिंट"
msgid "Secure Shell"
msgstr "सुरक्षित शेल"
-#: plinth/modules/monkeysphere/templates/monkeysphere.html:88
-#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:60
-#: plinth/service.py:138
-msgid "Web Server"
-msgstr "वेब सर्वर"
-
#: plinth/modules/monkeysphere/templates/monkeysphere.html:90
#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:62
msgid "Other"
@@ -2804,21 +2797,21 @@ msgstr "चाबी किसर्वर पर प्रकाशित क
msgid "Error occurred while publishing key."
msgstr "चाबी प्रकाशित करते समय एरर हो गया."
-#: plinth/modules/mumble/__init__.py:34 plinth/modules/mumble/manifest.py:27
+#: plinth/modules/mumble/__init__.py:35 plinth/modules/mumble/manifest.py:27
msgid "Mumble"
msgstr "ममबल"
-#: plinth/modules/mumble/__init__.py:36
+#: plinth/modules/mumble/__init__.py:37
msgid "Voice Chat"
msgstr "वॉयस चैट"
-#: plinth/modules/mumble/__init__.py:45
+#: plinth/modules/mumble/__init__.py:44
msgid ""
"Mumble is an open source, low-latency, encrypted, high quality voice chat "
"software."
msgstr "ममबल एक खुला सोरस, कम विलंबता, एन्क्रिप्टेड अच्छा गुणवत्ता आवाज चैट सॉफ्टवेयर है."
-#: plinth/modules/mumble/__init__.py:47
+#: plinth/modules/mumble/__init__.py:46
msgid ""
"You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your "
@@ -2869,7 +2862,7 @@ msgstr "उपलब्ध नहीं है"
msgid "Networks"
msgstr "नेटवर्क्स"
-#: plinth/modules/networks/__init__.py:142
+#: plinth/modules/networks/__init__.py:144
#, python-brace-format
msgid "Using DNSSEC on IPv{kind}"
msgstr "DNSSEC आईपीवी पर उपयोग कर रहा है{kind}"
@@ -3319,7 +3312,7 @@ msgstr "आईपीवी4"
#: plinth/modules/networks/templates/connection_show.html:186
#: plinth/modules/networks/templates/connection_show.html:227
-#: plinth/modules/shadowsocks/forms.py:75
+#: plinth/modules/shadowsocks/forms.py:65
msgid "Method"
msgstr "तरीका"
@@ -3450,15 +3443,15 @@ msgstr "इनएक्टिव"
msgid "Create..."
msgstr "बनाएँ…"
-#: plinth/modules/openvpn/__init__.py:40
+#: plinth/modules/openvpn/__init__.py:39
msgid "OpenVPN"
msgstr "ओपन वीपीएन"
-#: plinth/modules/openvpn/__init__.py:42
+#: plinth/modules/openvpn/__init__.py:41
msgid "Virtual Private Network"
msgstr "वर्चुअल प्राइवेट नेटवर्क"
-#: plinth/modules/openvpn/__init__.py:46
+#: plinth/modules/openvpn/__init__.py:45
#, python-brace-format
msgid ""
"Virtual Private Network (VPN) is a technique for securely connecting two "
@@ -3474,7 +3467,7 @@ msgstr ""
"आंतरिक सर्विसस उपयोग करने के लिये. आप बाकी सब इंटरनेट {box_name} के जरिए उपयोग कर "
"सकते हैं अगर अापको और सुरक्षा और गुमनामी चाहिये."
-#: plinth/modules/openvpn/__init__.py:74
+#: plinth/modules/openvpn/__init__.py:75
#, python-brace-format
msgid ""
"Download Profile"
@@ -3558,11 +3551,11 @@ msgstr "ओपनवीपीएन सर्वर चल रहा है"
msgid "OpenVPN server is not running"
msgstr "ओपनवीपीएन सर्वर नहीं चल रहा है"
-#: plinth/modules/openvpn/views.py:128
+#: plinth/modules/openvpn/views.py:126
msgid "Setup completed."
msgstr "सेटअप पूरा हो गया."
-#: plinth/modules/openvpn/views.py:130
+#: plinth/modules/openvpn/views.py:128
msgid "Setup failed."
msgstr "सेटअप विफल."
@@ -3645,7 +3638,7 @@ msgstr ""
"अपने पेजकईटसर्वर चूनें. \"pagekite.net\" सेट करें डिफ़ॉल्ट pagekite.net सर्वर उपयोग करने "
"के लिए."
-#: plinth/modules/pagekite/forms.py:78 plinth/modules/shadowsocks/forms.py:64
+#: plinth/modules/pagekite/forms.py:78 plinth/modules/shadowsocks/forms.py:57
msgid "Server port"
msgstr "सर्वर पोर्ट"
@@ -3855,29 +3848,29 @@ msgstr "प्रकाशित सर्विसस बुरे इंटर
msgid "Save Services"
msgstr "सर्विसस सहेजें"
-#: plinth/modules/pagekite/utils.py:53
+#: plinth/modules/pagekite/utils.py:57
msgid "Web Server (HTTP)"
msgstr "वेब सर्वर (HTTP)"
-#: plinth/modules/pagekite/utils.py:54
+#: plinth/modules/pagekite/utils.py:59
#, python-brace-format
msgid "Site will be available at http://{0}"
msgstr "साइट http://{0} पर उपलब्ध होगा"
-#: plinth/modules/pagekite/utils.py:63
+#: plinth/modules/pagekite/utils.py:71
msgid "Web Server (HTTPS)"
msgstr "वेब सर्वर (HTTPS)"
-#: plinth/modules/pagekite/utils.py:64
+#: plinth/modules/pagekite/utils.py:73
#, python-brace-format
msgid "Site will be available at https://{0}"
msgstr "साइटhttps://{0}पर उपलब्ध होगा"
-#: plinth/modules/pagekite/utils.py:73
+#: plinth/modules/pagekite/utils.py:85
msgid "Secure Shell (SSH)"
msgstr "सुरक्षित शैल (SSH)"
-#: plinth/modules/pagekite/utils.py:74
+#: plinth/modules/pagekite/utils.py:87
msgid ""
"See SSH client setup instructions"
@@ -3885,19 +3878,19 @@ msgstr ""
"SSH ग्राहक सेटअप देखें instructions"
-#: plinth/modules/pagekite/utils.py:276
+#: plinth/modules/pagekite/utils.py:288
msgid "Pagekite"
msgstr "पेजकइट"
-#: plinth/modules/pagekite/views.py:39
+#: plinth/modules/pagekite/views.py:40
msgid "Standard Services"
msgstr "स्टैण्डर्ड सर्विसस"
-#: plinth/modules/pagekite/views.py:42
+#: plinth/modules/pagekite/views.py:44
msgid "Custom Services"
msgstr "कस्टम सर्विसस"
-#: plinth/modules/pagekite/views.py:156
+#: plinth/modules/pagekite/views.py:158
msgid "Pagekite setup finished. The HTTP and HTTPS services are activated now."
msgstr "पेजकइट सेटअप समाप्त हो गया. HTTP और HTTPS सर्विसस अभी सक्रिय हैं ."
@@ -3967,15 +3960,15 @@ msgstr ""
msgid "Shut Down Now"
msgstr "अब शट डाउन करें"
-#: plinth/modules/privoxy/__init__.py:41
+#: plinth/modules/privoxy/__init__.py:42
msgid "Privoxy"
msgstr "प्रिवोक्सी"
-#: plinth/modules/privoxy/__init__.py:43
+#: plinth/modules/privoxy/__init__.py:44
msgid "Web Proxy"
msgstr "वेब प्रॉक्सी"
-#: plinth/modules/privoxy/__init__.py:46
+#: plinth/modules/privoxy/__init__.py:47
msgid ""
"Privoxy is a non-caching web proxy with advanced filtering capabilities for "
"enhancing privacy, modifying web page data and HTTP headers, controlling "
@@ -3985,7 +3978,7 @@ msgstr ""
"लिए, वेब पेज डेटा और HTTP हेडर को मोडिफाई करने के लिए, ऐकसेस को नियंत्रित करने के लिए "
"और एड या दुसरा इंटरनेट का जंक हटाने के लिए. "
-#: plinth/modules/privoxy/__init__.py:51
+#: plinth/modules/privoxy/__init__.py:52
#, python-brace-format
msgid ""
"You can use Privoxy by modifying your browser proxy settings to your "
@@ -3999,20 +3992,20 @@ msgstr ""
"कॉन्फ़िगरेशन विवरण और प्रलेखन यहां देख सकते हैं http://config.privoxy.org/ या http://p.p."
-#: plinth/modules/privoxy/__init__.py:157
+#: plinth/modules/privoxy/__init__.py:142
#, python-brace-format
msgid "Access {url} with proxy {proxy} on tcp{kind}"
msgstr "{url} ऐकसेस करें प्रॉक्सी लेकर {proxy} टीसीपी पर{kind}"
-#: plinth/modules/quassel/__init__.py:41 plinth/modules/quassel/manifest.py:25
+#: plinth/modules/quassel/__init__.py:40 plinth/modules/quassel/manifest.py:25
msgid "Quassel"
msgstr "क्वासेल"
-#: plinth/modules/quassel/__init__.py:43
+#: plinth/modules/quassel/__init__.py:42
msgid "IRC Client"
msgstr "आईआरसी क्लाइंट"
-#: plinth/modules/quassel/__init__.py:47
+#: plinth/modules/quassel/__init__.py:46
#, python-brace-format
msgid ""
"Quassel is an IRC application that is split into two parts, a \"core\" and a "
@@ -4028,7 +4021,7 @@ msgstr ""
"ताकि आप हमेशा ऑनलाइन रखते हुए और एक या अधिक क्वासेल क्लाइंट डेस्कटॉप या मोबाइल से इसेसे "
"कनेक्ट और डिस्कनेक्ट करने के लिए उपयोग किया जा सकता है."
-#: plinth/modules/quassel/__init__.py:54
+#: plinth/modules/quassel/__init__.py:53
msgid ""
"You can connect to your Quassel core on the default Quassel port 4242. "
"Clients to connect to Quassel from your Jitsi (for computers) and CSipSimple(Android "
"फ़ोन के लिए)."
-#: plinth/modules/repro/__init__.py:53
+#: plinth/modules/repro/__init__.py:55
msgid ""
"Note: Before using repro, domains and users will need to "
"be configured using the web-based "
@@ -4221,15 +4214,15 @@ msgstr ""
msgid "CSipSimple"
msgstr "सीसिपसिमपल"
-#: plinth/modules/restore/__init__.py:36 plinth/modules/restore/manifest.py:23
+#: plinth/modules/restore/__init__.py:37 plinth/modules/restore/manifest.py:23
msgid "reStore"
msgstr "रीस्टोर"
-#: plinth/modules/restore/__init__.py:38
+#: plinth/modules/restore/__init__.py:39
msgid "Unhosted Storage"
msgstr "अनहोस्ट्ड स्टोरेज"
-#: plinth/modules/restore/__init__.py:42
+#: plinth/modules/restore/__init__.py:43
#, python-brace-format
msgid ""
"reStore is a server for unhosted web "
@@ -4243,23 +4236,23 @@ msgstr ""
"एप्लिकेशन से सर्वर कि है, डेटा यूसर को पसंद का एक अनहोस्ट स्टोरेज सर्वर पर स्टोर किया जा "
"सकता है. रीस्टोर के साथ आपना {box_name} आपका अनहोस्टेड स्टोरेज सर्वर बन जाता है."
-#: plinth/modules/restore/__init__.py:48
+#: plinth/modules/restore/__init__.py:49
msgid ""
"You can create and edit accounts in the reStore web-"
"interface."
msgstr ""
"आप स्टोर वेब-इंटरफ़ेस में अकाउंट बना और संपादित कर सकते हैं."
-#: plinth/modules/roundcube/__init__.py:34
+#: plinth/modules/roundcube/__init__.py:35
#: plinth/modules/roundcube/manifest.py:24
msgid "Roundcube"
msgstr "राउंडक्यूब"
-#: plinth/modules/roundcube/__init__.py:36
+#: plinth/modules/roundcube/__init__.py:37
msgid "Email Client"
msgstr "ईमेल क्लाइंट"
-#: plinth/modules/roundcube/__init__.py:39
+#: plinth/modules/roundcube/__init__.py:40
msgid ""
"Roundcube webmail is a browser-based multilingual IMAP client with an "
"application-like user interface. It provides full functionality you expect "
@@ -4270,7 +4263,7 @@ msgstr ""
"साथ. यह पूरा कार्यक्षमता देता है, सहित MIME समर्थन, पता पुस्तिका, फ़ोल्डर हेरफेर, संदेश "
"खोज और स्पेल जाँच."
-#: plinth/modules/roundcube/__init__.py:44
+#: plinth/modules/roundcube/__init__.py:45
msgid ""
"You can access Roundcube from /roundcube. Provide "
"the username and password of the email account you wish to access followed "
@@ -4284,7 +4277,7 @@ msgstr ""
"SSL पर IMAP के लिए (अनुशंसित), imaps://imap.example.com जैसे सर्वर "
"फ़ील्ड भरें."
-#: plinth/modules/roundcube/__init__.py:50
+#: plinth/modules/roundcube/__init__.py:51
msgid ""
"For Gmail, username will be your Gmail address, password will be your Google "
"account password and server will be imaps://imap.gmail.com. "
@@ -4355,12 +4348,12 @@ msgstr ""
msgid "Allow this application to be used by anyone who can reach it."
msgstr ""
-#: plinth/modules/searx/views.py:60 plinth/modules/searx/views.py:71
-#: plinth/modules/tor/views.py:139 plinth/modules/tor/views.py:168
+#: plinth/modules/searx/views.py:59 plinth/modules/searx/views.py:70
+#: plinth/modules/tor/views.py:141 plinth/modules/tor/views.py:168
msgid "Configuration updated."
msgstr "कॉन्फ़िगरेशन अपडेट किया."
-#: plinth/modules/searx/views.py:63 plinth/modules/searx/views.py:74
+#: plinth/modules/searx/views.py:62 plinth/modules/searx/views.py:73
#: plinth/modules/tor/views.py:170
msgid "An error occurred during configuration."
msgstr "कॉंफ़िगरेशन के दौरान कूछ त्रुटि हुई."
@@ -4422,15 +4415,15 @@ msgstr ""
"होगा. नोट करिये शारली सिर्फ एकल यूसर अकाउंट का समर्थन करता है जो आपको प्रारंभिक "
"यात्रा पर सेटअप करने की जरुरत होगा."
-#: plinth/modules/shadowsocks/__init__.py:34
+#: plinth/modules/shadowsocks/__init__.py:35
msgid "Shadowsocks"
msgstr "शाडोसोक्स"
-#: plinth/modules/shadowsocks/__init__.py:36
+#: plinth/modules/shadowsocks/__init__.py:37
msgid "Socks5 Proxy"
msgstr "सोक्स5 प्रॉक्सी"
-#: plinth/modules/shadowsocks/__init__.py:45
+#: plinth/modules/shadowsocks/__init__.py:44
msgid ""
"Shadowsocks is a lightweight and secure SOCKS5 proxy, designed to protect "
"your Internet traffic. It can be used to bypass Internet filtering and "
@@ -4439,7 +4432,7 @@ msgstr ""
"शैडोवॉक्स एक हल्के और सुरक्षित सॉक्स 5 प्रॉक्सी है, आपके इंटरनेट यातायात रक्षा करने के लिये. "
"यह इंटरनेट फ़िल्टरिंग और सेंसरशिप बाईपास करने के लिए इस्तेमाल किया जा सकता है."
-#: plinth/modules/shadowsocks/__init__.py:49
+#: plinth/modules/shadowsocks/__init__.py:48
#, python-brace-format
msgid ""
"Your {box_name} can run a Shadowsocks client, that can connect to a "
@@ -4451,7 +4444,7 @@ msgstr ""
"है. यह एक सॉक्स 5 प्रॉक्सी भी चला जाएगा. स्थानीय डिवाइसस इस प्रॉक्सी से कनेक्ट कर सकते "
"हैं, और उनके डेटा एंक्रिप्टेड और शैडोवॉक्स सर्वर के माध्यम से प्रॉक्सी हो जाएगा."
-#: plinth/modules/shadowsocks/__init__.py:54
+#: plinth/modules/shadowsocks/__init__.py:53
msgid ""
"To use Shadowsocks after setup, set the SOCKS5 proxy URL in your device, "
"browser or application to http://freedombox_address:1080/"
@@ -4459,29 +4452,29 @@ msgstr ""
"सेटअप के बाद शैडोवॉक्स का उपयोग करने के लिए,अपने डिवाइस, ब्राउज़र या एप्लिकेशन में सॉक्स5 "
"प्रॉक्सी यूआरएल पर सेट करें http://freedombox_address:1080/"
+#: plinth/modules/shadowsocks/forms.py:28
#: plinth/modules/shadowsocks/forms.py:29
-#: plinth/modules/shadowsocks/forms.py:30
msgid "Recommended"
msgstr "अनुशंसित"
-#: plinth/modules/shadowsocks/forms.py:60
+#: plinth/modules/shadowsocks/forms.py:54
msgid "Server"
msgstr "सर्वर"
-#: plinth/modules/shadowsocks/forms.py:61
+#: plinth/modules/shadowsocks/forms.py:54
msgid "Server hostname or IP address"
msgstr "सर्वर होस्ट नाम या IP एड्रेस"
-#: plinth/modules/shadowsocks/forms.py:67
+#: plinth/modules/shadowsocks/forms.py:58
msgid "Server port number"
msgstr "सर्वर पोर्ट नंबर"
-#: plinth/modules/shadowsocks/forms.py:71
+#: plinth/modules/shadowsocks/forms.py:61
msgid "Password used to encrypt data. Must match server password."
msgstr ""
"डेटा एंक्रिप्ट करने के लिए पासवर्ड उपयोग किया गया . सर्वर पासवर्ड से मेल खाना चाहिए."
-#: plinth/modules/shadowsocks/forms.py:77
+#: plinth/modules/shadowsocks/forms.py:66
msgid "Encryption method. Must match setting on server."
msgstr "एंक्रिप्शन मेथोड. सर्वर सेटिंग पर मेल खाना चाहिए."
@@ -4758,7 +4751,7 @@ msgstr "स्नैपशॉट बनाया गया है."
msgid "Storage snapshots configuration updated"
msgstr "स्टोरेज स्नैपशॉट कॉंफ़िगरेशन अपडेट किया गया"
-#: plinth/modules/snapshot/views.py:153 plinth/modules/tor/views.py:72
+#: plinth/modules/snapshot/views.py:153 plinth/modules/tor/views.py:73
#, python-brace-format
msgid "Action error: {0} [{1}] [{2}]"
msgstr "क्रिया त्रुटि: {0} [{1}] [{2}]"
@@ -4792,11 +4785,11 @@ msgstr "रोलबैक शुरु करने के लिए सिस
msgid "Rollback to Snapshot"
msgstr "स्नैपशॉट को रोलबैक करें"
-#: plinth/modules/ssh/__init__.py:39
+#: plinth/modules/ssh/__init__.py:40
msgid "Secure Shell (SSH) Server"
msgstr "सुरक्षित शैल (SSH) सर्वर"
-#: plinth/modules/ssh/__init__.py:42
+#: plinth/modules/ssh/__init__.py:43
msgid ""
"A Secure Shell server uses the secure shell protocol to accept connections "
"from remote computers. An authorized remote computer can perform "
@@ -4815,11 +4808,11 @@ msgstr "एकल साइन-ऑन"
msgid "Login"
msgstr "लॉगिन"
-#: plinth/modules/storage/__init__.py:36 plinth/modules/storage/views.py:53
+#: plinth/modules/storage/__init__.py:35 plinth/modules/storage/views.py:53
msgid "Storage"
msgstr "स्टोरेज"
-#: plinth/modules/storage/__init__.py:44
+#: plinth/modules/storage/__init__.py:43
#, python-brace-format
msgid ""
"This module allows you to manage storage media attached to your {box_name}. "
@@ -4827,80 +4820,80 @@ msgid ""
"media, expand the root partition etc."
msgstr ""
-#: plinth/modules/storage/__init__.py:211
+#: plinth/modules/storage/__init__.py:213
#, python-brace-format
msgid "{disk_size:.1f} bytes"
msgstr "{disk_size:.1f} बाइट्स"
-#: plinth/modules/storage/__init__.py:215
+#: plinth/modules/storage/__init__.py:217
#, python-brace-format
msgid "{disk_size:.1f} KiB"
msgstr "{disk_size:.1f} किब"
-#: plinth/modules/storage/__init__.py:219
+#: plinth/modules/storage/__init__.py:221
#, python-brace-format
msgid "{disk_size:.1f} MiB"
msgstr "{disk_size:.1f} मेब"
-#: plinth/modules/storage/__init__.py:223
+#: plinth/modules/storage/__init__.py:225
#, python-brace-format
msgid "{disk_size:.1f} GiB"
msgstr "{disk_size:.1f} जिब"
-#: plinth/modules/storage/__init__.py:226
+#: plinth/modules/storage/__init__.py:228
#, python-brace-format
msgid "{disk_size:.1f} TiB"
msgstr "{disk_size:.1f} टीब"
-#: plinth/modules/storage/__init__.py:233
+#: plinth/modules/storage/__init__.py:235
msgid "The operation failed."
msgstr "ऑपरेशन अनुत्तीर्ण हो गया."
-#: plinth/modules/storage/__init__.py:235
+#: plinth/modules/storage/__init__.py:237
msgid "The operation was cancelled."
msgstr "ऑपरेशन रद्द किया गया."
-#: plinth/modules/storage/__init__.py:237
+#: plinth/modules/storage/__init__.py:239
msgid "The device is already unmounting."
msgstr "यह डिवाइस पहले से अनमाउट किया जा रहा है."
-#: plinth/modules/storage/__init__.py:239
+#: plinth/modules/storage/__init__.py:241
msgid "The operation is not supported due to missing driver/tool support."
msgstr "यह ऑपरेशन अनुपलब्ध है क्यैकि ड्राइवर/उपकरण टूल समर्थित नहीं है."
-#: plinth/modules/storage/__init__.py:242
+#: plinth/modules/storage/__init__.py:244
msgid "The operation timed out."
msgstr "ऑपरेशन टाइम आउट हो गया."
-#: plinth/modules/storage/__init__.py:244
+#: plinth/modules/storage/__init__.py:246
msgid "The operation would wake up a disk that is in a deep-sleep state."
msgstr "यह ऑपरेशन गहरी नींद की स्थिति का डिस्क को जाग जाएगा."
-#: plinth/modules/storage/__init__.py:247
+#: plinth/modules/storage/__init__.py:249
msgid "Attempting to unmount a device that is busy."
msgstr "व्यस्त डिवाइस को अनमाउंट करने का प्रयास कर रहा है."
-#: plinth/modules/storage/__init__.py:249
+#: plinth/modules/storage/__init__.py:251
msgid "The operation has already been cancelled."
msgstr "ऑपरेशन पहले से रद्द किया गया."
-#: plinth/modules/storage/__init__.py:255
+#: plinth/modules/storage/__init__.py:257
msgid "Not authorized to perform the requested operation."
msgstr "अनुरोधित ऑपरेशन करने के लिए अधिकृत नहीं है."
-#: plinth/modules/storage/__init__.py:257
+#: plinth/modules/storage/__init__.py:259
msgid "The device is already mounted."
msgstr "यह डिवाइस पहले से माउंट किया गया."
-#: plinth/modules/storage/__init__.py:259
+#: plinth/modules/storage/__init__.py:261
msgid "The device is not mounted."
msgstr "यह डिवाइस नहीं माउंट किया गया."
-#: plinth/modules/storage/__init__.py:262
+#: plinth/modules/storage/__init__.py:264
msgid "Not permitted to use the requested option."
msgstr "अनुरोधित विकल्प का उपयोग करने की अनुमति नहीं है."
-#: plinth/modules/storage/__init__.py:265
+#: plinth/modules/storage/__init__.py:267
msgid "The device is mounted by another user."
msgstr "किसी और यूसर ने डिवाइस माउंट किया गया है."
@@ -4985,16 +4978,16 @@ msgstr "डिवाइस सुरक्षित रूप से अनप
msgid "Error ejecting device: {error_message}"
msgstr "एेरर इजेक्टिग्न डिवाइस: {error_message}"
-#: plinth/modules/syncthing/__init__.py:38
+#: plinth/modules/syncthing/__init__.py:40
#: plinth/modules/syncthing/manifest.py:28
msgid "Syncthing"
msgstr "सिंकतिन्ग"
-#: plinth/modules/syncthing/__init__.py:40
+#: plinth/modules/syncthing/__init__.py:42
msgid "File Synchronization"
msgstr "फ़ाइल सिंक्रनाइज़ेशन"
-#: plinth/modules/syncthing/__init__.py:43
+#: plinth/modules/syncthing/__init__.py:45
msgid ""
"Syncthing is an application to synchronize files across multiple devices, e."
"g. your desktop computer and mobile phone. Creation, modification, or "
@@ -5005,7 +4998,7 @@ msgstr ""
"सिंक्रनाइज़ करने के लिए एक एप्लिकेशन है. सिंकतिन्ग चलते हए डिवाइसस पर किसी एक डिवाइस में "
"फ़ाइलों का निर्माण, संशोधन, या हटाना ऑटोमेटिक दोहरा किया गया."
-#: plinth/modules/syncthing/__init__.py:48
+#: plinth/modules/syncthing/__init__.py:50
#, python-brace-format
msgid ""
"Running Syncthing on {box_name} provides an extra synchronization point for "
@@ -5021,7 +5014,7 @@ msgstr ""
"सेट एक फ़ोल्डर्स का एक अलग सेट का उपयोग करके सिंक्रनाइज़ किया जा सकता है. {box_name} "
"पर वेब इंटरफेस सिर्फ \"एडमिन\" समूह के यूसकस के लिए उपलब्ध है."
-#: plinth/modules/syncthing/__init__.py:55
+#: plinth/modules/syncthing/__init__.py:57
msgid ""
"When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile clients are also . डेस्कटॉप और मोबाइल क्लाइंट्स भी उपलब्ध होगा available."
-#: plinth/modules/syncthing/__init__.py:62
+#: plinth/modules/syncthing/__init__.py:64
msgid "Administer Syncthing application"
msgstr "सिंकतिन्ग एप्लिकेशन का प्रशासन करें"
-#: plinth/modules/tahoe/__init__.py:41
+#: plinth/modules/tahoe/__init__.py:43
msgid "Tahoe-LAFS"
msgstr "टाहो-एलएएफएस"
-#: plinth/modules/tahoe/__init__.py:43
+#: plinth/modules/tahoe/__init__.py:45
msgid "Distributed File Storage"
msgstr "फ़ाइल स्टोरेज वितरित"
-#: plinth/modules/tahoe/__init__.py:107
+#: plinth/modules/tahoe/__init__.py:119
msgid ""
"Tahoe-LAFS is a decentralized secure file storage system. It uses provider "
"independent security to store files over a distributed network of storage "
@@ -5054,7 +5047,7 @@ msgstr ""
"नेटवर्क पर फ़ाइलें स्टोर करने के लिये स्वतंत्र सुरक्षा का उपयोग करता है. अगर कुछ नोड्स विफल "
"होगा, आपकी फ़ाइलें शेष नोड्स से पुनर्प्राप्त किया जा सकता है."
-#: plinth/modules/tahoe/__init__.py:112
+#: plinth/modules/tahoe/__init__.py:124
#, python-brace-format
msgid ""
"This {box_name} hosts a storage node and an introducer by default. "
@@ -5103,11 +5096,11 @@ msgstr "कनेक्टेड इंट्रोड्यूसरस"
msgid "Remove"
msgstr "निकालें"
-#: plinth/modules/tor/__init__.py:43
+#: plinth/modules/tor/__init__.py:46
msgid "Tor"
msgstr "टोर"
-#: plinth/modules/tor/__init__.py:48
+#: plinth/modules/tor/__init__.py:51
msgid ""
"Tor is an anonymous communication system. You can learn more about it from "
"the Tor Project website. For "
@@ -5120,40 +5113,36 @@ msgstr ""
"टो प्रोजेक्ट सिफारिश की है कि आप टो ब्राउज़र उपयोग करें."
-#: plinth/modules/tor/__init__.py:93
+#: plinth/modules/tor/__init__.py:80
msgid "Tor Socks Proxy"
msgstr "टोर सोक्स प्रॉक्सी"
-#: plinth/modules/tor/__init__.py:99 plinth/modules/tor/__init__.py:146
+#: plinth/modules/tor/__init__.py:84
msgid "Tor Bridge Relay"
msgstr "टो ब्रिज रीले"
-#: plinth/modules/tor/__init__.py:120 plinth/modules/tor/__init__.py:188
+#: plinth/modules/tor/__init__.py:122 plinth/modules/tor/__init__.py:150
msgid "Tor Hidden Service"
msgstr "टोर हिडन सर्विस"
-#: plinth/modules/tor/__init__.py:136
-msgid "Tor Anonymity Network"
-msgstr "टोर गुमनामी नेटवर्क"
-
-#: plinth/modules/tor/__init__.py:208
+#: plinth/modules/tor/__init__.py:170
msgid "Tor relay port available"
msgstr "टोर रीले पोर्ट उपलब्ध है"
-#: plinth/modules/tor/__init__.py:218
+#: plinth/modules/tor/__init__.py:180
msgid "Obfs3 transport registered"
msgstr "Obfs3 ट्रांसपोर्ट पंजीकृत"
-#: plinth/modules/tor/__init__.py:226
+#: plinth/modules/tor/__init__.py:188
msgid "Obfs4 transport registered"
msgstr "Obfs4 ट्रांसपोर्ट पंजीकृत"
-#: plinth/modules/tor/__init__.py:265
+#: plinth/modules/tor/__init__.py:227
#, python-brace-format
msgid "Access URL {url} on tcp{kind} via Tor"
msgstr "यूआरएल एक्सेस करें {url} टीसीपी पर {kind} टोर के माध्यम से"
-#: plinth/modules/tor/__init__.py:276
+#: plinth/modules/tor/__init__.py:238
#, python-brace-format
msgid "Confirm Tor usage at {url} on tcp{kind}"
msgstr "टोर उपयोग की पुष्टि करें {url} पर टीसीपी पर {kind}"
@@ -5306,12 +5295,12 @@ msgstr "सॉक्स"
msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050."
msgstr "एक टोर सॉक्स पोर्ट आपका %(box_name)s र उपलब्ध है, TCP पोर्ट ९०५० पर."
-#: plinth/modules/transmission/__init__.py:39
+#: plinth/modules/transmission/__init__.py:41
#: plinth/modules/transmission/manifest.py:24
msgid "Transmission"
msgstr "हस्तांतरण"
-#: plinth/modules/transmission/__init__.py:44
+#: plinth/modules/transmission/__init__.py:46
msgid ""
"BitTorrent is a peer-to-peer file sharing protocol. Transmission daemon "
"handles Bitorrent file sharing. Note that BitTorrent is not anonymous."
@@ -5319,7 +5308,7 @@ msgstr ""
"बिटटोरेंट एक पीअर-टू-पीअर फ़ाइल साझा प्रोटोकॉल है. ट्रांसमिशन डेमॉन बिटटोरेंट फ़ाइल साझा "
"संभालती है. नोट-बिटटोरेंट अनाम नहीं है."
-#: plinth/modules/transmission/__init__.py:47
+#: plinth/modules/transmission/__init__.py:49
msgid ""
"Access the web interface at /transmission."
msgstr "वेब अंतरफलक यहाॅं पर प्रवेश करें /transmission."
@@ -5337,15 +5326,15 @@ msgstr ""
"जहां डाउनलोडस सहेजे जाते हैं, यह डायरेक्टरी है. अगर आप डिफ़ॉल्ट डायरेक्टरी बदलते हैं, "
"सुनिश्चित करें कि नया डायरेक्टरी मौजूद है और \"डेबियन-हस्तांतरण\" यूसर से लिखा गया था."
-#: plinth/modules/ttrss/__init__.py:41 plinth/modules/ttrss/manifest.py:34
+#: plinth/modules/ttrss/__init__.py:43 plinth/modules/ttrss/manifest.py:34
msgid "Tiny Tiny RSS"
msgstr "टिनी टिनी आरएसएस"
-#: plinth/modules/ttrss/__init__.py:43
+#: plinth/modules/ttrss/__init__.py:45
msgid "News Feed Reader"
msgstr "समाचार फ़ीड रीडर"
-#: plinth/modules/ttrss/__init__.py:46
+#: plinth/modules/ttrss/__init__.py:48
msgid ""
"Tiny Tiny RSS is a news feed (RSS/Atom) reader and aggregator, designed to "
"allow reading news from any location, while feeling as close to a real "
@@ -5355,7 +5344,7 @@ msgstr ""
"से समाचार पढ़ने की अनुमति देने के लिए डिज़ाइन किया गया है, एक असली डेस्कटॉप एप्लिकेशन के "
"जैसे."
-#: plinth/modules/ttrss/__init__.py:50
+#: plinth/modules/ttrss/__init__.py:52
#, python-brace-format
msgid ""
"When enabled, Tiny Tiny RSS will be available from /tt-"
@@ -5366,7 +5355,7 @@ msgstr ""
"माैजूद होते है. यह किसी एक {box_name} के सात लॉग इन "
"कर सकता है."
-#: plinth/modules/ttrss/__init__.py:55
+#: plinth/modules/ttrss/__init__.py:57
msgid ""
"When using a mobile or desktop application for Tiny Tiny RSS, use the URL /tt-rss-app for connecting."
@@ -5374,7 +5363,7 @@ msgstr ""
"टैनी टैनी आरएसएस का मोबाइल या डेस्कटॉप एप्लिकेशन उपयोग करते समय, यह यूआरएल/tt-rss-app कनेक्ट करने के लिए उपयोग करें."
-#: plinth/modules/ttrss/__init__.py:61
+#: plinth/modules/ttrss/__init__.py:63
msgid "Read and subscribe to news feeds"
msgstr "समाचार फ़ीड्स पढ़ें और सब्सक्राइब करें"
@@ -5382,11 +5371,11 @@ msgstr "समाचार फ़ीड्स पढ़ें और सब्
msgid "Tiny Tiny RSS (Fork)"
msgstr "टैनी टैनी आरएसएस (फोर्क)"
-#: plinth/modules/upgrades/__init__.py:36 plinth/templates/setup.html:101
+#: plinth/modules/upgrades/__init__.py:35 plinth/templates/setup.html:101
msgid "Update"
msgstr "अपडेट"
-#: plinth/modules/upgrades/__init__.py:39
+#: plinth/modules/upgrades/__init__.py:38
msgid "Check for and apply the latest software and security updates."
msgstr ""
@@ -5436,34 +5425,34 @@ msgstr ""
msgid "Auto-update"
msgstr "अंतिम अपडेट"
-#: plinth/modules/upgrades/views.py:39
+#: plinth/modules/upgrades/views.py:40
#, fuzzy
#| msgid "Last update"
msgid "Manual update"
msgstr "अंतिम अपडेट"
-#: plinth/modules/upgrades/views.py:78
+#: plinth/modules/upgrades/views.py:79
#, python-brace-format
msgid "Error when configuring unattended-upgrades: {error}"
msgstr "अनअटेंडेड-अपग्रेडस कॉन्फ़िगर करते समय त्रुटि: {error}"
-#: plinth/modules/upgrades/views.py:82
+#: plinth/modules/upgrades/views.py:83
msgid "Automatic upgrades enabled"
msgstr "ऑटोमेटिक अपग्रेडस सक्षम किया गया"
-#: plinth/modules/upgrades/views.py:85
+#: plinth/modules/upgrades/views.py:86
msgid "Automatic upgrades disabled"
msgstr "ऑटोमेटिक अपग्रेडस अक्षम किया गया"
-#: plinth/modules/upgrades/views.py:87
+#: plinth/modules/upgrades/views.py:88
msgid "Settings unchanged"
msgstr "सेटिंगस अपरिवर्तित"
-#: plinth/modules/upgrades/views.py:113
+#: plinth/modules/upgrades/views.py:114
msgid "Upgrade process started."
msgstr "अपग्रेड प्रक्रिया शुरू हुई."
-#: plinth/modules/upgrades/views.py:116
+#: plinth/modules/upgrades/views.py:117
msgid "Starting upgrade failed."
msgstr "अपग्रेड प्रारंभ करना विफल रहा."
@@ -5471,7 +5460,7 @@ msgstr "अपग्रेड प्रारंभ करना विफल
msgid "Users and Groups"
msgstr "यूसरस और समूह"
-#: plinth/modules/users/__init__.py:106
+#: plinth/modules/users/__init__.py:108
#, python-brace-format
msgid "Check LDAP entry \"{search_item}\""
msgstr "एलडीएपी प्रविष्टि चेक करें \"{search_item}\""
@@ -5695,15 +5684,6 @@ msgstr "मीडिया बदलाव"
msgid "configuration file: {file}"
msgstr "कॉंफ़िगरेशन फ़ाइल: {file}"
-#: plinth/service.py:140
-msgid "Web Server over Secure Socket Layer"
-msgstr "सुरक्षित सॉकेट लेयर पर वेब सर्वर"
-
-#: plinth/service.py:145
-#, python-brace-format
-msgid "{box_name} Web Interface (Plinth)"
-msgstr "{box_name} वेब इंटरफेस (प्लिंथ)"
-
#: plinth/templates/403.html:25
msgid "403 Forbidden"
msgstr "४०३ निषिद्ध"
@@ -5919,16 +5899,16 @@ msgstr "आईआरसी चैटरूम"
msgid "Mailing list"
msgstr "मेलिंग सूची"
-#: plinth/templates/internal-zone.html:25
+#: plinth/templates/internal-zone.html:26
#, python-format
msgid "%(service_name)s is available only on internal networks."
msgstr "%(service_name)s सिर्फ आंतरिक नेटवर्क्स पर उपलब्ध है."
-#: plinth/templates/internal-zone.html:31
+#: plinth/templates/internal-zone.html:32
msgid "Currently there are no network interfaces configured as internal."
msgstr "अभी कोई नेटवर्क इंटरफ़ेस आंतरिक के रूप में कॉंफ़िगर किया गया है."
-#: plinth/templates/internal-zone.html:33
+#: plinth/templates/internal-zone.html:34
#, python-format
msgid ""
"Currently the following network interfaces are configured as internal: "
@@ -5992,10 +5972,24 @@ msgstr "%(package_names)s:%(status)s इंस्टॉलेशन किया
msgid "%(percentage)s%% complete"
msgstr "%(percentage)s%% पूर्ण"
+#: plinth/views.py:178
+msgid "Application enabled"
+msgstr "एप्लीकेशन सक्षम किया गया है"
+
+#: plinth/views.py:181
+msgid "Application disabled"
+msgstr "एप्लीकेशन अक्षम किया गया है"
+
#: plinth/web_framework.py:186
msgid "Gujarati"
msgstr ""
+#~ msgid "Tor Anonymity Network"
+#~ msgstr "टोर गुमनामी नेटवर्क"
+
+#~ msgid "Web Server over Secure Socket Layer"
+#~ msgstr "सुरक्षित सॉकेट लेयर पर वेब सर्वर"
+
#~ msgid "Current status:"
#~ msgstr "वर्तमान स्थिति:"
diff --git a/plinth/locale/hu/LC_MESSAGES/django.po b/plinth/locale/hu/LC_MESSAGES/django.po
index 1aa6f885f..7655c3034 100644
--- a/plinth/locale/hu/LC_MESSAGES/django.po
+++ b/plinth/locale/hu/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-06-10 19:02-0400\n"
+"POT-Creation-Date: 2019-06-24 19:48-0400\n"
"PO-Revision-Date: 2019-05-16 14:48+0000\n"
"Last-Translator: Doma Gergő \n"
"Language-Team: Hungarian /"
@@ -523,14 +534,14 @@ msgstr ""
"bármely adminisztrátori csoportba tartozó felhasználója."
-#: plinth/modules/config/__init__.py:59 plinth/modules/dynamicdns/views.py:44
+#: plinth/modules/config/__init__.py:61 plinth/modules/dynamicdns/views.py:45
#: plinth/modules/i2p/views.py:31 plinth/modules/ikiwiki/views.py:35
#: plinth/modules/pagekite/views.py:36 plinth/modules/snapshot/views.py:40
#: plinth/modules/tahoe/templates/tahoe-pre-setup.html:39
msgid "Configure"
msgstr "Beállítások"
-#: plinth/modules/config/__init__.py:164 plinth/modules/config/forms.py:76
+#: plinth/modules/config/__init__.py:166 plinth/modules/config/forms.py:76
#: plinth/modules/config/views.py:171 plinth/modules/dynamicdns/forms.py:111
msgid "Domain Name"
msgstr "Domain név"
@@ -619,8 +630,8 @@ msgstr ""
#: plinth/modules/power/templates/power_restart.html:42
#: plinth/modules/power/templates/power_shutdown.html:41
#: plinth/modules/storage/templates/storage.html:48
-#: plinth/templates/service-subsubmenu.html:47 plinth/templates/service.html:42
-#: plinth/templates/setup.html:48 plinth/templates/simple_service.html:38
+#: plinth/templates/app-subsubmenu.html:47 plinth/templates/app.html:42
+#: plinth/templates/setup.html:48 plinth/templates/simple_app.html:38
msgid "Learn more..."
msgstr "Bővebben..."
@@ -669,15 +680,15 @@ msgstr ""
msgid "Hiding advanced apps and features"
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:38
+#: plinth/modules/coquelicot/__init__.py:40
msgid "Coquelicot"
msgstr "Coquelicot"
-#: plinth/modules/coquelicot/__init__.py:40
+#: plinth/modules/coquelicot/__init__.py:42
msgid "File Sharing"
msgstr "Fájlmegosztás"
-#: plinth/modules/coquelicot/__init__.py:43
+#: plinth/modules/coquelicot/__init__.py:45
msgid ""
"Coquelicot is a “one-click” file sharing web application with a focus on "
"protecting users’ privacy. It is best used for quickly sharing a single "
@@ -687,7 +698,7 @@ msgstr ""
"felhasználó magánszférájának védelmére koncentrál. Egy fájl gyors "
"megosztására használható a legjobban. "
-#: plinth/modules/coquelicot/__init__.py:46
+#: plinth/modules/coquelicot/__init__.py:48
msgid ""
"This Coquelicot instance is exposed to the public but requires an upload "
"password to prevent unauthorized access. You can set a new upload password "
@@ -726,19 +737,19 @@ msgstr ""
msgid "coquelicot"
msgstr "coquelicot"
-#: plinth/modules/coquelicot/views.py:57
+#: plinth/modules/coquelicot/views.py:59
msgid "Upload password updated"
msgstr "Feltöltési jelszó frissítve"
-#: plinth/modules/coquelicot/views.py:60
+#: plinth/modules/coquelicot/views.py:62
msgid "Failed to update upload password"
msgstr "Feltöltési jelszó frissítése sikertelen"
-#: plinth/modules/coquelicot/views.py:68
+#: plinth/modules/coquelicot/views.py:70
msgid "Maximum file size updated"
msgstr "Maximális fájlméret frissítve"
-#: plinth/modules/coquelicot/views.py:71
+#: plinth/modules/coquelicot/views.py:73
msgid "Failed to update maximum file size"
msgstr "Maximális fájlméret frissítése sikertelen"
@@ -754,15 +765,15 @@ msgstr ""
"A hálózati időkiszolgáló egy olyan program, amely karbantartja a rendszeridő "
"szinkronizációját az Interneten lévő kiszolgálókéval."
-#: plinth/modules/datetime/__init__.py:107
+#: plinth/modules/datetime/__init__.py:99
msgid "Time synchronized to NTP server"
msgstr "Az idő szinkronizálva van az NTP kiszolgálóhoz"
-#: plinth/modules/datetime/forms.py:36
+#: plinth/modules/datetime/forms.py:35
msgid "Time Zone"
msgstr "Időzóna"
-#: plinth/modules/datetime/forms.py:37
+#: plinth/modules/datetime/forms.py:36
msgid ""
"Set your time zone to get accurate timestamps. This will set the system-wide "
"time zone."
@@ -770,7 +781,7 @@ msgstr ""
"Állítsd be az időzónát, hogy pontos időbélyegzőket kapj. Ez beállítja a "
"teljes rendszer időzónáját."
-#: plinth/modules/datetime/forms.py:49
+#: plinth/modules/datetime/forms.py:47
msgid "-- no time zone set --"
msgstr "-- nincs időzóna beállítva --"
@@ -788,7 +799,7 @@ msgid "Deluge"
msgstr "Deluge"
#: plinth/modules/deluge/__init__.py:41
-#: plinth/modules/transmission/__init__.py:41
+#: plinth/modules/transmission/__init__.py:43
msgid "BitTorrent Web Client"
msgstr "Webes BitTorrent kliens"
@@ -807,7 +818,7 @@ msgstr ""
"szolgáltatás engedélyezése után jelentkezz be és azonnal változtasd meg."
#: plinth/modules/deluge/__init__.py:51
-#: plinth/modules/transmission/__init__.py:54
+#: plinth/modules/transmission/__init__.py:56
msgid "Download files using BitTorrent applications"
msgstr "Fájlok letöltése BitTorrent alkalmazások használatával"
@@ -872,12 +883,12 @@ msgstr "Teszt"
msgid "Result"
msgstr "Eredmény"
-#: plinth/modules/diaspora/__init__.py:52
+#: plinth/modules/diaspora/__init__.py:54
#: plinth/modules/diaspora/manifest.py:38
msgid "diaspora*"
msgstr "diaspora*"
-#: plinth/modules/diaspora/__init__.py:54
+#: plinth/modules/diaspora/__init__.py:56
msgid "Federated Social Network"
msgstr "Egyesített közösségi háló"
@@ -934,22 +945,22 @@ msgstr ""
#: plinth/modules/tahoe/templates/tahoe-pre-setup.html:58
#: plinth/modules/tor/templates/tor.html:96
#: plinth/modules/upgrades/templates/upgrades_configure.html:32
-#: plinth/templates/service.html:89
+#: plinth/templates/app.html:89
msgid "Update setup"
msgstr "Beállítások frissítése"
-#: plinth/modules/diaspora/views.py:97 plinth/modules/ejabberd/views.py:64
-#: plinth/modules/matrixsynapse/views.py:107
-#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:150
-#: plinth/modules/tor/views.py:146 plinth/views.py:160
+#: plinth/modules/diaspora/views.py:94 plinth/modules/ejabberd/views.py:65
+#: plinth/modules/matrixsynapse/views.py:108
+#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:148
+#: plinth/modules/tor/views.py:148 plinth/views.py:174
msgid "Setting unchanged"
msgstr "A beállítás változatlan"
-#: plinth/modules/diaspora/views.py:101
+#: plinth/modules/diaspora/views.py:98
msgid "User registrations enabled"
msgstr "Felhasználók regisztrációja engedélyezve"
-#: plinth/modules/diaspora/views.py:105
+#: plinth/modules/diaspora/views.py:102
msgid "User registrations disabled"
msgstr "Felhasználók regisztrációja letiltva"
@@ -988,8 +999,8 @@ msgstr ""
"az Interneten lekérdezi a DNS neved, válaszként az aktuális IP címedet fogja "
"megkapni."
-#: plinth/modules/dynamicdns/__init__.py:85
-#: plinth/modules/dynamicdns/views.py:167
+#: plinth/modules/dynamicdns/__init__.py:87
+#: plinth/modules/dynamicdns/views.py:169
msgid "Dynamic DNS Service"
msgstr "Dynamic DNS szolgáltatás"
@@ -1098,7 +1109,7 @@ msgid "Username"
msgstr "Felhasználónév"
#: plinth/modules/dynamicdns/forms.py:121 plinth/modules/networks/forms.py:235
-#: plinth/modules/shadowsocks/forms.py:70
+#: plinth/modules/shadowsocks/forms.py:61
msgid "Password"
msgstr "Jelszó"
@@ -1195,39 +1206,39 @@ msgstr ""
msgid "Last update"
msgstr "Legutolsó frissítés"
-#: plinth/modules/dynamicdns/views.py:41 plinth/modules/help/help.py:57
+#: plinth/modules/dynamicdns/views.py:41 plinth/modules/help/help.py:59
msgid "About"
msgstr "Leírás"
-#: plinth/modules/dynamicdns/views.py:47
+#: plinth/modules/dynamicdns/views.py:49
#: plinth/modules/firewall/templates/firewall.html:25
#: plinth/modules/firewall/templates/firewall.html:45
#: plinth/modules/i2p/templates/i2p.html:27
#: plinth/modules/networks/templates/connection_show.html:261
#: plinth/modules/openvpn/templates/openvpn.html:71
#: plinth/modules/tor/templates/tor.html:40
-#: plinth/modules/tor/templates/tor.html:68 plinth/templates/service.html:51
+#: plinth/modules/tor/templates/tor.html:68 plinth/templates/app.html:51
msgid "Status"
msgstr "Állapot"
-#: plinth/modules/dynamicdns/views.py:78
+#: plinth/modules/dynamicdns/views.py:80
msgid "Configure Dynamic DNS"
msgstr "Dynamic DNS beállítása"
-#: plinth/modules/dynamicdns/views.py:103
+#: plinth/modules/dynamicdns/views.py:105
msgid "Dynamic DNS Status"
msgstr "Dynamic DNS állapot"
-#: plinth/modules/ejabberd/__init__.py:43
+#: plinth/modules/ejabberd/__init__.py:45
msgid "ejabberd"
msgstr "ejabberd"
-#: plinth/modules/ejabberd/__init__.py:45
-#: plinth/modules/matrixsynapse/__init__.py:43
+#: plinth/modules/ejabberd/__init__.py:47
+#: plinth/modules/matrixsynapse/__init__.py:45
msgid "Chat Server"
msgstr "Chat szerver"
-#: plinth/modules/ejabberd/__init__.py:48
+#: plinth/modules/ejabberd/__init__.py:50
msgid ""
"XMPP is an open and standardized communication protocol. Here you can run "
"and configure your XMPP server, called ejabberd."
@@ -1235,7 +1246,7 @@ msgstr ""
"Az XMPP egy nyílt és szabványos kommunikációs protokoll. Itt tudod futtatni "
"és konfigurálni az XMPP kiszolgálódat, amit ejabberd-nek neveznek."
-#: plinth/modules/ejabberd/__init__.py:51
+#: plinth/modules/ejabberd/__init__.py:53
#, python-brace-format
msgid ""
"To actually communicate, you can use the web client"
@@ -1249,11 +1260,11 @@ msgstr ""
"bármely felhasználó számára {box_name} "
"felhasználónéven."
-#: plinth/modules/ejabberd/forms.py:33
+#: plinth/modules/ejabberd/forms.py:32
msgid "Enable Message Archive Management"
msgstr "Üzenetarchívum kezelésének engedélyezése"
-#: plinth/modules/ejabberd/forms.py:36
+#: plinth/modules/ejabberd/forms.py:34
#, python-brace-format
msgid ""
"If enabled, your {box_name} will store chat message histories. This allows "
@@ -1336,35 +1347,23 @@ msgstr "Webes kliens indítása"
#: plinth/modules/openvpn/templates/openvpn.html:123
#: plinth/modules/snapshot/templates/snapshot.html:27
#: plinth/modules/tahoe/templates/tahoe-post-setup.html:43
-#: plinth/modules/tor/templates/tor.html:88 plinth/templates/service.html:81
+#: plinth/modules/tor/templates/tor.html:88 plinth/templates/app.html:81
msgid "Configuration"
msgstr "Beállítások"
-#: plinth/modules/ejabberd/views.py:68
-#: plinth/modules/matrixsynapse/views.py:111
-#: plinth/modules/mediawiki/views.py:79 plinth/views.py:164
-msgid "Application enabled"
-msgstr "Alkalmazás engedélyezve"
-
-#: plinth/modules/ejabberd/views.py:71
-#: plinth/modules/matrixsynapse/views.py:114
-#: plinth/modules/mediawiki/views.py:82 plinth/views.py:167
-msgid "Application disabled"
-msgstr "Alkalmazás letiltva"
-
-#: plinth/modules/ejabberd/views.py:78
+#: plinth/modules/ejabberd/views.py:77
msgid "Message Archive Management enabled"
msgstr "Üzenetarchívum kezelése engedélyezve"
-#: plinth/modules/ejabberd/views.py:82
+#: plinth/modules/ejabberd/views.py:81
msgid "Message Archive Management disabled"
msgstr "Üzenetarchívum kezelése letiltva"
-#: plinth/modules/firewall/__init__.py:40
+#: plinth/modules/firewall/__init__.py:36
msgid "Firewall"
msgstr "Tűzfal"
-#: plinth/modules/firewall/__init__.py:44
+#: plinth/modules/firewall/__init__.py:40
#, python-brace-format
msgid ""
"Firewall is a security system that controls the incoming and outgoing "
@@ -1486,29 +1485,29 @@ msgstr "Beállítás elkezdése"
msgid "Setup Complete"
msgstr "Beállítás kész"
-#: plinth/modules/help/help.py:44
+#: plinth/modules/help/help.py:46
msgid "Documentation"
msgstr "Dokumentáció"
-#: plinth/modules/help/help.py:48 plinth/modules/networks/forms.py:68
+#: plinth/modules/help/help.py:50 plinth/modules/networks/forms.py:68
#: plinth/modules/networks/forms.py:108 plinth/templates/index.html:135
msgid "Manual"
msgstr "Kézikönyv"
-#: plinth/modules/help/help.py:53
+#: plinth/modules/help/help.py:55
msgid "Download Manual"
msgstr "Kézikönyv letöltése"
-#: plinth/modules/help/help.py:73
+#: plinth/modules/help/help.py:75
msgid "Documentation and FAQ"
msgstr "Dokumentáció és GYIK"
-#: plinth/modules/help/help.py:81
+#: plinth/modules/help/help.py:83
#, python-brace-format
msgid "About {box_name}"
msgstr "A {box_name} projektről"
-#: plinth/modules/help/help.py:102
+#: plinth/modules/help/help.py:104
#, python-brace-format
msgid "{box_name} Manual"
msgstr "{box_name} kézikönyv"
@@ -1667,15 +1666,15 @@ msgstr ""
"Kérlek távolíts el minden jelszót és személyes információt a naplóból "
"mielőtt elküldenéd a bejelentést."
-#: plinth/modules/i2p/__init__.py:40 plinth/modules/i2p/manifest.py:31
+#: plinth/modules/i2p/__init__.py:42 plinth/modules/i2p/manifest.py:31
msgid "I2P"
msgstr "I2P"
-#: plinth/modules/i2p/__init__.py:42 plinth/modules/tor/__init__.py:45
+#: plinth/modules/i2p/__init__.py:44 plinth/modules/tor/__init__.py:48
msgid "Anonymity Network"
msgstr "Anonim hálózat"
-#: plinth/modules/i2p/__init__.py:45
+#: plinth/modules/i2p/__init__.py:47
msgid ""
"The Invisible Internet Project is an anonymous network layer intended to "
"protect communication from censorship and surveillance. I2P provides "
@@ -1687,7 +1686,7 @@ msgstr ""
"biztosít anonimitást, hogy a titkosított adatforgalmat világszerte "
"önkéntesek által üzemeltetett hálózatán küldi keresztül."
-#: plinth/modules/i2p/__init__.py:49
+#: plinth/modules/i2p/__init__.py:51
msgid ""
"Find more information about I2P on their project homepage."
@@ -1695,7 +1694,7 @@ msgstr ""
"További információt találhat az I2P-ről a projekt weboldalán."
-#: plinth/modules/i2p/__init__.py:51
+#: plinth/modules/i2p/__init__.py:53
msgid ""
"The first visit to the provided web interface will initiate the "
"configuration process."
@@ -1703,21 +1702,21 @@ msgstr ""
"Az első látogatás a megadott webes felületen elindítja a konfigurálási "
"folyamatot."
-#: plinth/modules/i2p/__init__.py:57
+#: plinth/modules/i2p/__init__.py:59
msgid "Manage I2P application"
msgstr "I2P alkalmazás kezelése"
-#: plinth/modules/i2p/templates/i2p.html:32 plinth/templates/service.html:56
+#: plinth/modules/i2p/templates/i2p.html:32 plinth/templates/app.html:56
#, python-format
msgid "Service %(service_name)s is running."
msgstr "A szolgáltatás fut (%(service_name)s)."
-#: plinth/modules/i2p/templates/i2p.html:37 plinth/templates/service.html:61
+#: plinth/modules/i2p/templates/i2p.html:37 plinth/templates/app.html:61
#, python-format
msgid "Service %(service_name)s is not running."
msgstr "A szolgáltatás nem fut (%(service_name)s)."
-#: plinth/modules/i2p/templates/i2p_service.html:13
+#: plinth/modules/i2p/templates/i2p_service.html:31
#: plinth/templates/clients.html:51
msgid "Launch"
msgstr "Indítás"
@@ -1730,11 +1729,11 @@ msgstr "Proxyk"
msgid "Anonymous torrents"
msgstr "Anonim torrentek"
-#: plinth/modules/i2p/views.py:86
+#: plinth/modules/i2p/views.py:88
msgid "I2P Proxies and Tunnels"
msgstr "I2P Proxyk és átjárók"
-#: plinth/modules/i2p/views.py:89
+#: plinth/modules/i2p/views.py:91
msgid ""
"I2P lets you browse the Internet and hidden services (eepsites) anonymously. "
"For this, your browser, preferably a Tor Browser, needs to be configured for "
@@ -1744,7 +1743,7 @@ msgstr ""
"szolgáltatásokat (eepsites). Ehhez a böngészőben, lehetőleg a Tor-"
"böngészőben, be kell állítani a proxy-t."
-#: plinth/modules/i2p/views.py:92
+#: plinth/modules/i2p/views.py:94
msgid ""
"By default HTTP, HTTPS and IRC proxies are available. Additional proxies and "
"tunnels may be configured using the tunnel configuration interface."
@@ -1752,11 +1751,11 @@ msgstr ""
"Alapértelmezés szerint a HTTP-, HTTPS- és IRC proxyk érhetőek el. További "
"proxyk és átjárók is beállíthatók az átjáró beállítási felületén."
-#: plinth/modules/i2p/views.py:101
+#: plinth/modules/i2p/views.py:103
msgid "Anonymous Torrents"
msgstr "Anonim Torrentek"
-#: plinth/modules/i2p/views.py:104
+#: plinth/modules/i2p/views.py:106
msgid ""
"I2P provides an application to download files anonymously in a peer-to-peer "
"network. Download files by adding torrents or create a new torrent to share "
@@ -1766,15 +1765,15 @@ msgstr ""
"Tölts le fájlokat torrentek hozzáadásával vagy készíts új torrentet fájl "
"megosztásához."
-#: plinth/modules/ikiwiki/__init__.py:42 plinth/modules/ikiwiki/manifest.py:24
+#: plinth/modules/ikiwiki/__init__.py:41 plinth/modules/ikiwiki/manifest.py:24
msgid "ikiwiki"
msgstr "ikiwiki"
-#: plinth/modules/ikiwiki/__init__.py:44
+#: plinth/modules/ikiwiki/__init__.py:43
msgid "Wiki and Blog"
msgstr "Wiki és blog"
-#: plinth/modules/ikiwiki/__init__.py:47
+#: plinth/modules/ikiwiki/__init__.py:46
msgid ""
"ikiwiki is a simple wiki and blog application. It supports several "
"lightweight markup languages, including Markdown, and common blogging "
@@ -1787,7 +1786,7 @@ msgstr ""
"engedélyezett, a blogok és wikik itt lesznek elérhetők: /ikiwiki (ha már létre lett hozva)."
-#: plinth/modules/ikiwiki/__init__.py:53
+#: plinth/modules/ikiwiki/__init__.py:52
#, python-brace-format
msgid ""
"Only {box_name} users in the admin group can create and "
@@ -1801,7 +1800,7 @@ msgstr ""
"A Felhasználók beállítása oldalon tudod "
"módosítani ezeket a jogosultságokat vagy hozzáadhatsz új felhasználókat."
-#: plinth/modules/ikiwiki/__init__.py:63
+#: plinth/modules/ikiwiki/__init__.py:62
msgid "View and edit wiki applications"
msgstr "Wiki alkalmazások megtekintése és szerkesztése"
@@ -1871,50 +1870,50 @@ msgstr "Ugrás a %(site)s webhelyre"
msgid "Manage"
msgstr "Kezel"
-#: plinth/modules/ikiwiki/views.py:121
+#: plinth/modules/ikiwiki/views.py:124
#, python-brace-format
msgid "Created wiki {name}."
msgstr "{name} wiki létrehozva."
-#: plinth/modules/ikiwiki/views.py:124
+#: plinth/modules/ikiwiki/views.py:127
#, python-brace-format
msgid "Could not create wiki: {error}"
msgstr "Nem tudtam létrehozni a wiki-t: {error}"
-#: plinth/modules/ikiwiki/views.py:134
+#: plinth/modules/ikiwiki/views.py:137
#, python-brace-format
msgid "Created blog {name}."
msgstr "{name} blog létrehozva."
-#: plinth/modules/ikiwiki/views.py:137
+#: plinth/modules/ikiwiki/views.py:140
#, python-brace-format
msgid "Could not create blog: {error}"
msgstr "Nem tudtam létrehozni a blog-ot: {error}"
-#: plinth/modules/ikiwiki/views.py:150
+#: plinth/modules/ikiwiki/views.py:153
#, python-brace-format
msgid "{name} deleted."
msgstr "{name} törölve."
-#: plinth/modules/ikiwiki/views.py:154
+#: plinth/modules/ikiwiki/views.py:157
#, python-brace-format
msgid "Could not delete {name}: {error}"
msgstr "{name} nem törölhető: {error}"
-#: plinth/modules/infinoted/__init__.py:41
+#: plinth/modules/infinoted/__init__.py:40
msgid "infinoted"
msgstr "infinoted"
-#: plinth/modules/infinoted/__init__.py:43
+#: plinth/modules/infinoted/__init__.py:42
msgid "Gobby Server"
msgstr "Gobby kiszolgáló"
-#: plinth/modules/infinoted/__init__.py:46
+#: plinth/modules/infinoted/__init__.py:45
msgid "infinoted is a server for Gobby, a collaborative text editor."
msgstr ""
"infinoted egy kiszolgáló a Gobby-hoz, a kollaboratív szövegszerkesztőhöz."
-#: plinth/modules/infinoted/__init__.py:48
+#: plinth/modules/infinoted/__init__.py:47
#, python-brace-format
msgid ""
"To use it, download Gobby, desktop "
@@ -2303,11 +2302,11 @@ msgstr "{domain} domain-on a tanúsítvány sikeresen törölve"
msgid "Failed to delete certificate for domain {domain}: {error}"
msgstr "{domain} domain-on nem sikerült kitörölni a tanúsítványt: {error}"
-#: plinth/modules/matrixsynapse/__init__.py:41
+#: plinth/modules/matrixsynapse/__init__.py:43
msgid "Matrix Synapse"
msgstr "Matrix Synapse"
-#: plinth/modules/matrixsynapse/__init__.py:46
+#: plinth/modules/matrixsynapse/__init__.py:48
msgid ""
"Matrix is an new "
"ecosystem for open, federated instant messaging and VoIP. Synapse is a "
@@ -2325,7 +2324,7 @@ msgstr ""
"beszélgetni az összes többi Matrix kiszolgáló felhasználóival a szövetségen "
"keresztül."
-#: plinth/modules/matrixsynapse/__init__.py:53
+#: plinth/modules/matrixsynapse/__init__.py:55
msgid ""
"To communicate, you can use the available clients for mobile, desktop and the web. weboldalát ahhoz, hogy beszerezz egyet.\n"
" "
-#: plinth/modules/matrixsynapse/views.py:122
+#: plinth/modules/matrixsynapse/views.py:121
msgid "Public registration enabled"
msgstr "Szabad regisztráció engedélyezve"
-#: plinth/modules/matrixsynapse/views.py:127
+#: plinth/modules/matrixsynapse/views.py:126
msgid "Public registration disabled"
msgstr "Szabad regisztráció letiltva"
-#: plinth/modules/mediawiki/__init__.py:34
+#: plinth/modules/mediawiki/__init__.py:38
#: plinth/modules/mediawiki/manifest.py:24
msgid "MediaWiki"
msgstr "MediaWiki"
-#: plinth/modules/mediawiki/__init__.py:36 plinth/templates/index.html:139
+#: plinth/modules/mediawiki/__init__.py:40 plinth/templates/index.html:139
msgid "Wiki"
msgstr "Wiki"
-#: plinth/modules/mediawiki/__init__.py:39
+#: plinth/modules/mediawiki/__init__.py:43
msgid ""
"MediaWiki is the wiki engine that powers Wikipedia and other WikiMedia "
"projects. A wiki engine is a program for creating a collaboratively edited "
@@ -2447,7 +2446,7 @@ msgstr ""
"helyet adj egy wiki-szerű weboldalnak, feljegyzéseket írj vagy hogy "
"projekteken együttműködj barátaiddal."
-#: plinth/modules/mediawiki/__init__.py:43
+#: plinth/modules/mediawiki/__init__.py:47
msgid ""
"This MediaWiki instance comes with a randomly generated administrator "
"password. You can set a new password in the \"Configuration\" section and "
@@ -2461,7 +2460,7 @@ msgstr ""
"további felhasználói fiókokat a MediaWiki Special:CreateAccount oldalán."
-#: plinth/modules/mediawiki/__init__.py:49
+#: plinth/modules/mediawiki/__init__.py:53
msgid ""
"Anyone with a link to this wiki can read it. Only users that are logged in "
"can make changes to the content."
@@ -2510,32 +2509,32 @@ msgstr ""
msgid "Password updated"
msgstr "Jelszó frissítve"
-#: plinth/modules/mediawiki/views.py:91
+#: plinth/modules/mediawiki/views.py:89
msgid "Public registrations enabled"
msgstr "Szabad regisztráció engedélyezve"
-#: plinth/modules/mediawiki/views.py:100
+#: plinth/modules/mediawiki/views.py:98
msgid "Public registrations disabled"
msgstr "Szabad regisztráció letiltva"
-#: plinth/modules/mediawiki/views.py:109
+#: plinth/modules/mediawiki/views.py:107
msgid "Private mode enabled"
msgstr "Privát mód engedélyezve"
-#: plinth/modules/mediawiki/views.py:112
+#: plinth/modules/mediawiki/views.py:110
msgid "Private mode disabled"
msgstr "Privát mód letiltva"
-#: plinth/modules/minetest/__init__.py:53
+#: plinth/modules/minetest/__init__.py:52
#: plinth/modules/minetest/manifest.py:25
msgid "Minetest"
msgstr "Minetest"
-#: plinth/modules/minetest/__init__.py:55
+#: plinth/modules/minetest/__init__.py:54
msgid "Block Sandbox"
msgstr "Blokk sandbox"
-#: plinth/modules/minetest/__init__.py:59
+#: plinth/modules/minetest/__init__.py:58
#, python-brace-format
msgid ""
"Minetest is a multiplayer infinite-world block sandbox. This module enables "
@@ -2549,21 +2548,21 @@ msgstr ""
"kiszolgálóra egy Minetest "
"kliensre is szükséged lesz."
-#: plinth/modules/minetest/forms.py:31
+#: plinth/modules/minetest/forms.py:30
msgid "Maximum number of players"
msgstr "Játékosok maximális száma"
-#: plinth/modules/minetest/forms.py:35
+#: plinth/modules/minetest/forms.py:32
msgid ""
"You can change the maximum number of players playing minetest at a single "
"instance of time."
msgstr "Módosíthatod az egyszerre játszó játékosok maximális számát."
-#: plinth/modules/minetest/forms.py:39
+#: plinth/modules/minetest/forms.py:36
msgid "Enable creative mode"
msgstr "Kreatív mód engedélyezése"
-#: plinth/modules/minetest/forms.py:41
+#: plinth/modules/minetest/forms.py:37
msgid ""
"Creative mode changes the rules of the game to make it more suitable for "
"creative gameplay, rather than challenging \"survival\" gameplay."
@@ -2572,21 +2571,21 @@ msgstr ""
"legyen a kreatív játékhoz, sokkal inkább mint a kihívást jelentő \"túlélés\" "
"játékmód."
-#: plinth/modules/minetest/forms.py:46
+#: plinth/modules/minetest/forms.py:42
msgid "Enable PVP"
msgstr "PVP engedélyezése"
-#: plinth/modules/minetest/forms.py:48
+#: plinth/modules/minetest/forms.py:43
msgid "Enabling Player Vs Player will allow players to damage other players."
msgstr ""
"A PVP (játékos a játékos ellen) engedélyezése lehetővé teszi a játékosok "
"számára, hogy más játékosoknak sérülést okozzanak."
-#: plinth/modules/minetest/forms.py:52
+#: plinth/modules/minetest/forms.py:47
msgid "Enable damage"
msgstr "Sérülés engedélyezése"
-#: plinth/modules/minetest/forms.py:54
+#: plinth/modules/minetest/forms.py:48
msgid "When disabled, players cannot die or receive damage of any kind."
msgstr "Ha le van tiltva, a játékosok nem fognak meghalni ill. megsérülni."
@@ -2600,32 +2599,32 @@ msgstr "Cím"
msgid "Port"
msgstr "Port"
-#: plinth/modules/minetest/views.py:71
+#: plinth/modules/minetest/views.py:72
msgid "Maximum players configuration updated"
msgstr "Maximális játékosszám beállítás frissítve"
-#: plinth/modules/minetest/views.py:78
+#: plinth/modules/minetest/views.py:79
msgid "Creative mode configuration updated"
msgstr "Kreatív mód beállítás frissítve"
-#: plinth/modules/minetest/views.py:84
+#: plinth/modules/minetest/views.py:85
msgid "PVP configuration updated"
msgstr "PVP beállítás frissítve"
-#: plinth/modules/minetest/views.py:90
+#: plinth/modules/minetest/views.py:91
msgid "Damage configuration updated"
msgstr "Sérülés beállítás frissítve"
-#: plinth/modules/mldonkey/__init__.py:38
+#: plinth/modules/mldonkey/__init__.py:40
#: plinth/modules/mldonkey/manifest.py:27
msgid "MLDonkey"
msgstr "MLDonkey"
-#: plinth/modules/mldonkey/__init__.py:40
+#: plinth/modules/mldonkey/__init__.py:42
msgid "Peer-to-peer File Sharing"
msgstr "P2P Fájlmegosztás"
-#: plinth/modules/mldonkey/__init__.py:43
+#: plinth/modules/mldonkey/__init__.py:45
msgid ""
"MLDonkey is a peer-to-peer file sharing application used to exchange large "
"files. It can participate in multiple peer-to-peer networks including "
@@ -2635,7 +2634,7 @@ msgstr ""
"cseréjéhez használnak. Részt tud venni többféle P2P hálózatban is, beleértve "
"az eDonkey-t, Kademlia-t, Overnet-et, BitTorrent-et és a DirectConnect-et."
-#: plinth/modules/mldonkey/__init__.py:46
+#: plinth/modules/mldonkey/__init__.py:48
msgid ""
"Users belonging to admin and ed2k group can control it through the web "
"interface. Users in the admin group can also control it through any of the "
@@ -2646,7 +2645,7 @@ msgstr ""
"bármely, külön mobil vagy asztali kezelőfelületen vagy telnet interfészen "
"keresztül. További részletek a kézikönyvben."
-#: plinth/modules/mldonkey/__init__.py:51
+#: plinth/modules/mldonkey/__init__.py:53
#, python-brace-format
msgid ""
"On {box_name}, downloaded files can be found in /var/lib/mldonkey/ directory."
@@ -2654,7 +2653,7 @@ msgstr ""
"{box_name} eszközön a letöltött fájlok a /var/lib/mldonkey/ könyvtárban "
"találhatóak meg."
-#: plinth/modules/mldonkey/__init__.py:59
+#: plinth/modules/mldonkey/__init__.py:61
msgid "Download files using eDonkey applications"
msgstr "Fájlok letöltése eDonkey alkalmazások használatával"
@@ -2735,12 +2734,6 @@ msgstr "OpenPGP ujjlenyomat"
msgid "Secure Shell"
msgstr "Secure Shell (Biztonságos parancsértelmező)"
-#: plinth/modules/monkeysphere/templates/monkeysphere.html:88
-#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:60
-#: plinth/service.py:138
-msgid "Web Server"
-msgstr "Webszerver"
-
#: plinth/modules/monkeysphere/templates/monkeysphere.html:90
#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:62
msgid "Other"
@@ -2836,15 +2829,15 @@ msgstr "Kulcs közzétéve a kulcskiszolgálónak."
msgid "Error occurred while publishing key."
msgstr "Hiba történt a kulcs közzététele során."
-#: plinth/modules/mumble/__init__.py:34 plinth/modules/mumble/manifest.py:27
+#: plinth/modules/mumble/__init__.py:35 plinth/modules/mumble/manifest.py:27
msgid "Mumble"
msgstr "Mumble"
-#: plinth/modules/mumble/__init__.py:36
+#: plinth/modules/mumble/__init__.py:37
msgid "Voice Chat"
msgstr "Audiókonferencia"
-#: plinth/modules/mumble/__init__.py:45
+#: plinth/modules/mumble/__init__.py:44
msgid ""
"Mumble is an open source, low-latency, encrypted, high quality voice chat "
"software."
@@ -2852,7 +2845,7 @@ msgstr ""
"A Mumble egy nyílt forráskódú, alacsony késéssel működő, titkosított, magas "
"hangminőségű audiokonferencia szoftver."
-#: plinth/modules/mumble/__init__.py:47
+#: plinth/modules/mumble/__init__.py:46
msgid ""
"You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your "
@@ -2908,7 +2901,7 @@ msgstr "Nem hozzáférhető"
msgid "Networks"
msgstr "Hálózatok"
-#: plinth/modules/networks/__init__.py:142
+#: plinth/modules/networks/__init__.py:144
#, python-brace-format
msgid "Using DNSSEC on IPv{kind}"
msgstr "DNSSEC használata IPv{kind} felett"
@@ -3367,7 +3360,7 @@ msgstr "IPv4"
#: plinth/modules/networks/templates/connection_show.html:186
#: plinth/modules/networks/templates/connection_show.html:227
-#: plinth/modules/shadowsocks/forms.py:75
+#: plinth/modules/shadowsocks/forms.py:65
msgid "Method"
msgstr "Módszer"
@@ -3500,15 +3493,15 @@ msgstr "Inaktív"
msgid "Create..."
msgstr "Létrehoz..."
-#: plinth/modules/openvpn/__init__.py:40
+#: plinth/modules/openvpn/__init__.py:39
msgid "OpenVPN"
msgstr "OpenVPN"
-#: plinth/modules/openvpn/__init__.py:42
+#: plinth/modules/openvpn/__init__.py:41
msgid "Virtual Private Network"
msgstr "Virtuális magánhálózat"
-#: plinth/modules/openvpn/__init__.py:46
+#: plinth/modules/openvpn/__init__.py:45
#, python-brace-format
msgid ""
"Virtual Private Network (VPN) is a technique for securely connecting two "
@@ -3526,7 +3519,7 @@ msgstr ""
"eszközödön keresztül az Internetet is további biztonság és anonimitás "
"érdekében."
-#: plinth/modules/openvpn/__init__.py:74
+#: plinth/modules/openvpn/__init__.py:75
#, python-brace-format
msgid ""
"Download Profile"
@@ -3607,11 +3600,11 @@ msgstr "OpenVPN kiszolgáló fut"
msgid "OpenVPN server is not running"
msgstr "OpenVPN kiszolgáló nem fut"
-#: plinth/modules/openvpn/views.py:128
+#: plinth/modules/openvpn/views.py:126
msgid "Setup completed."
msgstr "Beállítás sikerült."
-#: plinth/modules/openvpn/views.py:130
+#: plinth/modules/openvpn/views.py:128
msgid "Setup failed."
msgstr "Beállítás sikertelen."
@@ -3699,7 +3692,7 @@ msgstr ""
"Válaszd ki a pagekite kiszolgálódat. Állítsd „pagekite.net” -re, ha az "
"alapértelmezett pagekite.net kiszolgálót szeretnéd használni."
-#: plinth/modules/pagekite/forms.py:78 plinth/modules/shadowsocks/forms.py:64
+#: plinth/modules/pagekite/forms.py:78 plinth/modules/shadowsocks/forms.py:57
msgid "Server port"
msgstr "Kiszolgáló port"
@@ -3913,29 +3906,29 @@ msgstr ""
msgid "Save Services"
msgstr "Szolgáltatások mentése"
-#: plinth/modules/pagekite/utils.py:53
+#: plinth/modules/pagekite/utils.py:57
msgid "Web Server (HTTP)"
msgstr "Webkiszolgáló (HTTP)"
-#: plinth/modules/pagekite/utils.py:54
+#: plinth/modules/pagekite/utils.py:59
#, python-brace-format
msgid "Site will be available at http://{0}"
msgstr "Az oldal itt lesz elérhető: http://{0}"
-#: plinth/modules/pagekite/utils.py:63
+#: plinth/modules/pagekite/utils.py:71
msgid "Web Server (HTTPS)"
msgstr "Webkiszolgáló (HTTPS)"
-#: plinth/modules/pagekite/utils.py:64
+#: plinth/modules/pagekite/utils.py:73
#, python-brace-format
msgid "Site will be available at https://{0}"
msgstr "Az oldal itt lesz elérhető: https://{0}"
-#: plinth/modules/pagekite/utils.py:73
+#: plinth/modules/pagekite/utils.py:85
msgid "Secure Shell (SSH)"
msgstr "Biztonságos parancsértelmező (SSH)"
-#: plinth/modules/pagekite/utils.py:74
+#: plinth/modules/pagekite/utils.py:87
msgid ""
"See SSH client setup instructions"
@@ -3943,19 +3936,19 @@ msgstr ""
"Tekintsd meg az SSH kliens beállítási instrukciókat"
-#: plinth/modules/pagekite/utils.py:276
+#: plinth/modules/pagekite/utils.py:288
msgid "Pagekite"
msgstr "Pagekite"
-#: plinth/modules/pagekite/views.py:39
+#: plinth/modules/pagekite/views.py:40
msgid "Standard Services"
msgstr "Szabványos szolgáltatások"
-#: plinth/modules/pagekite/views.py:42
+#: plinth/modules/pagekite/views.py:44
msgid "Custom Services"
msgstr "Egyedi szolgáltatások"
-#: plinth/modules/pagekite/views.py:156
+#: plinth/modules/pagekite/views.py:158
msgid "Pagekite setup finished. The HTTP and HTTPS services are activated now."
msgstr ""
"A Pagekite beállítása befejeződött. A HTTP és a HTTPS szolgáltatások "
@@ -4028,15 +4021,15 @@ msgstr ""
msgid "Shut Down Now"
msgstr "Leállítás most"
-#: plinth/modules/privoxy/__init__.py:41
+#: plinth/modules/privoxy/__init__.py:42
msgid "Privoxy"
msgstr "Privoxy"
-#: plinth/modules/privoxy/__init__.py:43
+#: plinth/modules/privoxy/__init__.py:44
msgid "Web Proxy"
msgstr "Web proxy"
-#: plinth/modules/privoxy/__init__.py:46
+#: plinth/modules/privoxy/__init__.py:47
msgid ""
"Privoxy is a non-caching web proxy with advanced filtering capabilities for "
"enhancing privacy, modifying web page data and HTTP headers, controlling "
@@ -4047,7 +4040,7 @@ msgstr ""
"Módosítja a weboldal adatait és HTTP fejléceket, szabályozza a hozzáférést, "
"eltávolítja a hirdetéseket és az egyéb nem kívánt internetes szemetet. "
-#: plinth/modules/privoxy/__init__.py:51
+#: plinth/modules/privoxy/__init__.py:52
#, python-brace-format
msgid ""
"You can use Privoxy by modifying your browser proxy settings to your "
@@ -4062,21 +4055,21 @@ msgstr ""
"a címeken: http://config.privoxy.org/"
"a> és http://p.p."
-#: plinth/modules/privoxy/__init__.py:157
+#: plinth/modules/privoxy/__init__.py:142
#, python-brace-format
msgid "Access {url} with proxy {proxy} on tcp{kind}"
msgstr ""
"Hozzáférés a {url} URL-hez {proxy} proxy használatával tcp{kind}-on keresztül"
-#: plinth/modules/quassel/__init__.py:41 plinth/modules/quassel/manifest.py:25
+#: plinth/modules/quassel/__init__.py:40 plinth/modules/quassel/manifest.py:25
msgid "Quassel"
msgstr "Quassel"
-#: plinth/modules/quassel/__init__.py:43
+#: plinth/modules/quassel/__init__.py:42
msgid "IRC Client"
msgstr "IRC kliens"
-#: plinth/modules/quassel/__init__.py:47
+#: plinth/modules/quassel/__init__.py:46
#, python-brace-format
msgid ""
"Quassel is an IRC application that is split into two parts, a \"core\" and a "
@@ -4093,7 +4086,7 @@ msgstr ""
"szolgáltatását, aminek segítségével mindig online lehetsz és egy, vagy több "
"Quassel klienssel kapcsolódhatsz hozzá a mobilodról vagy az asztali gépedről."
-#: plinth/modules/quassel/__init__.py:54
+#: plinth/modules/quassel/__init__.py:53
msgid ""
"You can connect to your Quassel core on the default Quassel port 4242. "
"Clients to connect to Quassel from your Jitsi (for computers) and CSipSimple (Android telefonokra)."
-#: plinth/modules/repro/__init__.py:53
+#: plinth/modules/repro/__init__.py:55
msgid ""
"Note: Before using repro, domains and users will need to "
"be configured using the web-based "
@@ -4290,15 +4283,15 @@ msgstr ""
msgid "CSipSimple"
msgstr "CSipSimple"
-#: plinth/modules/restore/__init__.py:36 plinth/modules/restore/manifest.py:23
+#: plinth/modules/restore/__init__.py:37 plinth/modules/restore/manifest.py:23
msgid "reStore"
msgstr "reStore"
-#: plinth/modules/restore/__init__.py:38
+#: plinth/modules/restore/__init__.py:39
msgid "Unhosted Storage"
msgstr "Nem hosztolt adattároló"
-#: plinth/modules/restore/__init__.py:42
+#: plinth/modules/restore/__init__.py:43
#, python-brace-format
msgid ""
"reStore is a server for unhosted web "
@@ -4314,7 +4307,7 @@ msgstr ""
"hosztolt adattároló szerveren. A reStore-al, a Te {box_name} eszközöd lesz "
"az a nem hosztolt adattároló szerver."
-#: plinth/modules/restore/__init__.py:48
+#: plinth/modules/restore/__init__.py:49
msgid ""
"You can create and edit accounts in the reStore web-"
"interface."
@@ -4322,16 +4315,16 @@ msgstr ""
"Létrehozhatsz ill. módosíthatsz felhasználói fiókokat a reStore webes felületén."
-#: plinth/modules/roundcube/__init__.py:34
+#: plinth/modules/roundcube/__init__.py:35
#: plinth/modules/roundcube/manifest.py:24
msgid "Roundcube"
msgstr "Roundcube"
-#: plinth/modules/roundcube/__init__.py:36
+#: plinth/modules/roundcube/__init__.py:37
msgid "Email Client"
msgstr "E-mail kliens"
-#: plinth/modules/roundcube/__init__.py:39
+#: plinth/modules/roundcube/__init__.py:40
msgid ""
"Roundcube webmail is a browser-based multilingual IMAP client with an "
"application-like user interface. It provides full functionality you expect "
@@ -4343,7 +4336,7 @@ msgstr ""
"teljes funkcionalitást biztosítja, beleértve a MIME támogatást, "
"címjegyzéket, mappa kezelést, üzenet keresést és helyesírás-ellenőrzést."
-#: plinth/modules/roundcube/__init__.py:44
+#: plinth/modules/roundcube/__init__.py:45
msgid ""
"You can access Roundcube from /roundcube. Provide "
"the username and password of the email account you wish to access followed "
@@ -4357,7 +4350,7 @@ msgstr ""
"example.com. Az SSL-en kersztüli IMAP-hoz (ez az ajánlott), töltsd ki "
"a kiszolgáló mezőt ezen minta alapján: imaps://imap.example.com."
-#: plinth/modules/roundcube/__init__.py:50
+#: plinth/modules/roundcube/__init__.py:51
msgid ""
"For Gmail, username will be your Gmail address, password will be your Google "
"account password and server will be imaps://imap.gmail.com. "
@@ -4431,12 +4424,12 @@ msgstr ""
msgid "Allow this application to be used by anyone who can reach it."
msgstr ""
-#: plinth/modules/searx/views.py:60 plinth/modules/searx/views.py:71
-#: plinth/modules/tor/views.py:139 plinth/modules/tor/views.py:168
+#: plinth/modules/searx/views.py:59 plinth/modules/searx/views.py:70
+#: plinth/modules/tor/views.py:141 plinth/modules/tor/views.py:168
msgid "Configuration updated."
msgstr "Beállítások frissítve."
-#: plinth/modules/searx/views.py:63 plinth/modules/searx/views.py:74
+#: plinth/modules/searx/views.py:62 plinth/modules/searx/views.py:73
#: plinth/modules/tor/views.py:170
msgid "An error occurred during configuration."
msgstr "Hiba történt a beállítás közben."
@@ -4500,15 +4493,15 @@ msgstr ""
"\">/shaarli elérési útvonalán. Vedd figyelembe, hogy a Shaarli csak egy "
"felhasználói fiókot támogat, melyet az első látogatás során be kell állítani."
-#: plinth/modules/shadowsocks/__init__.py:34
+#: plinth/modules/shadowsocks/__init__.py:35
msgid "Shadowsocks"
msgstr "Shadowsocks"
-#: plinth/modules/shadowsocks/__init__.py:36
+#: plinth/modules/shadowsocks/__init__.py:37
msgid "Socks5 Proxy"
msgstr "Socks5 Proxy"
-#: plinth/modules/shadowsocks/__init__.py:45
+#: plinth/modules/shadowsocks/__init__.py:44
msgid ""
"Shadowsocks is a lightweight and secure SOCKS5 proxy, designed to protect "
"your Internet traffic. It can be used to bypass Internet filtering and "
@@ -4518,7 +4511,7 @@ msgstr ""
"internetes forgalmad védelmére terveztek. Felhasználható az internetes "
"szűrők és cenzúra megkerülésére."
-#: plinth/modules/shadowsocks/__init__.py:49
+#: plinth/modules/shadowsocks/__init__.py:48
#, python-brace-format
msgid ""
"Your {box_name} can run a Shadowsocks client, that can connect to a "
@@ -4531,7 +4524,7 @@ msgstr ""
"eszközeiddel csatlakozhatsz erre a proxyra, és az adataik titkosítva és "
"proxizva lesznek a Shadowsocks kiszolgálón keresztül."
-#: plinth/modules/shadowsocks/__init__.py:54
+#: plinth/modules/shadowsocks/__init__.py:53
msgid ""
"To use Shadowsocks after setup, set the SOCKS5 proxy URL in your device, "
"browser or application to http://freedombox_address:1080/"
@@ -4540,30 +4533,30 @@ msgstr ""
"SOCKS5 proxy URL-jét az eszközeiden, böngésződben vagy alkalmazásaidban így: "
"http://freedombox_eszkozod_cime:1080/"
+#: plinth/modules/shadowsocks/forms.py:28
#: plinth/modules/shadowsocks/forms.py:29
-#: plinth/modules/shadowsocks/forms.py:30
msgid "Recommended"
msgstr "Ajánlott"
-#: plinth/modules/shadowsocks/forms.py:60
+#: plinth/modules/shadowsocks/forms.py:54
msgid "Server"
msgstr "Kiszolgáló"
-#: plinth/modules/shadowsocks/forms.py:61
+#: plinth/modules/shadowsocks/forms.py:54
msgid "Server hostname or IP address"
msgstr "Kiszolgáló állomásneve vagy IP-címe"
-#: plinth/modules/shadowsocks/forms.py:67
+#: plinth/modules/shadowsocks/forms.py:58
msgid "Server port number"
msgstr "Kiszolgáló portja"
-#: plinth/modules/shadowsocks/forms.py:71
+#: plinth/modules/shadowsocks/forms.py:61
msgid "Password used to encrypt data. Must match server password."
msgstr ""
"Az adattitkosításra használt jelszó. A kiszolgáló jelszavával meg kell hogy "
"egyezzen."
-#: plinth/modules/shadowsocks/forms.py:77
+#: plinth/modules/shadowsocks/forms.py:66
msgid "Encryption method. Must match setting on server."
msgstr ""
"Titkosítási módszer. A kiszolgáló beállításával meg kell hogy egyezzen."
@@ -4856,7 +4849,7 @@ msgstr "Pillanatkép létrehozva."
msgid "Storage snapshots configuration updated"
msgstr "Tárolási pillanatképek konfigurációja frissítve"
-#: plinth/modules/snapshot/views.py:153 plinth/modules/tor/views.py:72
+#: plinth/modules/snapshot/views.py:153 plinth/modules/tor/views.py:73
#, python-brace-format
msgid "Action error: {0} [{1}] [{2}]"
msgstr "Hiba a művelet közben: {0} [{1}] [{2}]"
@@ -4887,11 +4880,11 @@ msgstr "A visszaállítás befejezéséhez a rendszert újra kell indítani."
msgid "Rollback to Snapshot"
msgstr "Visszaállítás pillanatképre"
-#: plinth/modules/ssh/__init__.py:39
+#: plinth/modules/ssh/__init__.py:40
msgid "Secure Shell (SSH) Server"
msgstr "Biztonságos parancsértelmező (SSH) kiszolgáló"
-#: plinth/modules/ssh/__init__.py:42
+#: plinth/modules/ssh/__init__.py:43
msgid ""
"A Secure Shell server uses the secure shell protocol to accept connections "
"from remote computers. An authorized remote computer can perform "
@@ -4911,11 +4904,11 @@ msgstr "Egyszeri bejelentkezés"
msgid "Login"
msgstr "Bejelentkezés"
-#: plinth/modules/storage/__init__.py:36 plinth/modules/storage/views.py:53
+#: plinth/modules/storage/__init__.py:35 plinth/modules/storage/views.py:53
msgid "Storage"
msgstr "Háttértár"
-#: plinth/modules/storage/__init__.py:44
+#: plinth/modules/storage/__init__.py:43
#, python-brace-format
msgid ""
"This module allows you to manage storage media attached to your {box_name}. "
@@ -4927,83 +4920,83 @@ msgstr ""
"fel- és lecsatolhatsz cserélhető adathordozókat, kibővítheted a root "
"partíciót, stb."
-#: plinth/modules/storage/__init__.py:211
+#: plinth/modules/storage/__init__.py:213
#, python-brace-format
msgid "{disk_size:.1f} bytes"
msgstr "{disk_size:.1f} byte"
-#: plinth/modules/storage/__init__.py:215
+#: plinth/modules/storage/__init__.py:217
#, python-brace-format
msgid "{disk_size:.1f} KiB"
msgstr "{disk_size:.1f} KiB"
-#: plinth/modules/storage/__init__.py:219
+#: plinth/modules/storage/__init__.py:221
#, python-brace-format
msgid "{disk_size:.1f} MiB"
msgstr "{disk_size:.1f} MiB"
-#: plinth/modules/storage/__init__.py:223
+#: plinth/modules/storage/__init__.py:225
#, python-brace-format
msgid "{disk_size:.1f} GiB"
msgstr "{disk_size:.1f} GiB"
-#: plinth/modules/storage/__init__.py:226
+#: plinth/modules/storage/__init__.py:228
#, python-brace-format
msgid "{disk_size:.1f} TiB"
msgstr "{disk_size:.1f} TiB"
-#: plinth/modules/storage/__init__.py:233
+#: plinth/modules/storage/__init__.py:235
msgid "The operation failed."
msgstr "A művelet sikertelen."
-#: plinth/modules/storage/__init__.py:235
+#: plinth/modules/storage/__init__.py:237
msgid "The operation was cancelled."
msgstr "A művelet meg lett szakítva."
-#: plinth/modules/storage/__init__.py:237
+#: plinth/modules/storage/__init__.py:239
msgid "The device is already unmounting."
msgstr "Az eszköz leválasztása már folyamatban van."
-#: plinth/modules/storage/__init__.py:239
+#: plinth/modules/storage/__init__.py:241
msgid "The operation is not supported due to missing driver/tool support."
msgstr ""
"A művelet nem támogatott hiányzó eszközvezérlő/segédeszköz támogatás miatt."
-#: plinth/modules/storage/__init__.py:242
+#: plinth/modules/storage/__init__.py:244
msgid "The operation timed out."
msgstr "A művelet túllépte az időkorlátot."
-#: plinth/modules/storage/__init__.py:244
+#: plinth/modules/storage/__init__.py:246
msgid "The operation would wake up a disk that is in a deep-sleep state."
msgstr ""
"A művelet fel fogja ébreszteni a lemezt, amely mély-alvó állapotban van."
-#: plinth/modules/storage/__init__.py:247
+#: plinth/modules/storage/__init__.py:249
msgid "Attempting to unmount a device that is busy."
msgstr ""
"Megpróbáltál leválasztani egy eszközt, amely jelenleg is használatban van."
-#: plinth/modules/storage/__init__.py:249
+#: plinth/modules/storage/__init__.py:251
msgid "The operation has already been cancelled."
msgstr "A művelet már meg lett szakítva."
-#: plinth/modules/storage/__init__.py:255
+#: plinth/modules/storage/__init__.py:257
msgid "Not authorized to perform the requested operation."
msgstr "Nem jogosult végrehajtani a kért műveletet."
-#: plinth/modules/storage/__init__.py:257
+#: plinth/modules/storage/__init__.py:259
msgid "The device is already mounted."
msgstr "Az eszköz már fel lett csatolva."
-#: plinth/modules/storage/__init__.py:259
+#: plinth/modules/storage/__init__.py:261
msgid "The device is not mounted."
msgstr "Az eszköz nincs felcsatolva."
-#: plinth/modules/storage/__init__.py:262
+#: plinth/modules/storage/__init__.py:264
msgid "Not permitted to use the requested option."
msgstr "Nem használhatja a kért lehetőséget."
-#: plinth/modules/storage/__init__.py:265
+#: plinth/modules/storage/__init__.py:267
msgid "The device is mounted by another user."
msgstr "Az eszközt egy másik felhasználó felcsatolva."
@@ -5087,16 +5080,16 @@ msgstr "Az eszköz biztonságosan kivehető."
msgid "Error ejecting device: {error_message}"
msgstr "Hiba történt az eszköz kiadása során: {error_message}"
-#: plinth/modules/syncthing/__init__.py:38
+#: plinth/modules/syncthing/__init__.py:40
#: plinth/modules/syncthing/manifest.py:28
msgid "Syncthing"
msgstr "Syncthing"
-#: plinth/modules/syncthing/__init__.py:40
+#: plinth/modules/syncthing/__init__.py:42
msgid "File Synchronization"
msgstr "Fájlszinkronizáció"
-#: plinth/modules/syncthing/__init__.py:43
+#: plinth/modules/syncthing/__init__.py:45
msgid ""
"Syncthing is an application to synchronize files across multiple devices, e."
"g. your desktop computer and mobile phone. Creation, modification, or "
@@ -5108,7 +5101,7 @@ msgstr ""
"eszköz fájljain végzett módosítások a többi eszközön is automatikusan "
"jelentkeznek, amennyiben azokra telepítve van a szolgáltatás."
-#: plinth/modules/syncthing/__init__.py:48
+#: plinth/modules/syncthing/__init__.py:50
#, python-brace-format
msgid ""
"Running Syncthing on {box_name} provides an extra synchronization point for "
@@ -5127,7 +5120,7 @@ msgstr ""
"felület csak az \"admin\" csoporthoz tartozó felhasználók számára "
"hozzáférhető."
-#: plinth/modules/syncthing/__init__.py:55
+#: plinth/modules/syncthing/__init__.py:57
msgid ""
"When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile clients are also címről érhető el. Asztali és mobil kliensek szintén hozzáférhetőek."
-#: plinth/modules/syncthing/__init__.py:62
+#: plinth/modules/syncthing/__init__.py:64
msgid "Administer Syncthing application"
msgstr "A Syncthing alkalmazás beállítása"
-#: plinth/modules/tahoe/__init__.py:41
+#: plinth/modules/tahoe/__init__.py:43
msgid "Tahoe-LAFS"
msgstr "Tahoe-LAFS"
-#: plinth/modules/tahoe/__init__.py:43
+#: plinth/modules/tahoe/__init__.py:45
msgid "Distributed File Storage"
msgstr "Elosztott fájltároló"
-#: plinth/modules/tahoe/__init__.py:107
+#: plinth/modules/tahoe/__init__.py:119
msgid ""
"Tahoe-LAFS is a decentralized secure file storage system. It uses provider "
"independent security to store files over a distributed network of storage "
@@ -5161,7 +5154,7 @@ msgstr ""
"elosztott hálózatán keresztül. Még ha néhány csomópont meg is hibásodik, a "
"fájljaidat le tudod tölteni a fennmaradó csomópontokról."
-#: plinth/modules/tahoe/__init__.py:112
+#: plinth/modules/tahoe/__init__.py:124
#, python-brace-format
msgid ""
"This {box_name} hosts a storage node and an introducer by default. "
@@ -5212,11 +5205,11 @@ msgstr "Csatlakozott bevezetők"
msgid "Remove"
msgstr "Eltávolít"
-#: plinth/modules/tor/__init__.py:43
+#: plinth/modules/tor/__init__.py:46
msgid "Tor"
msgstr "Tor"
-#: plinth/modules/tor/__init__.py:48
+#: plinth/modules/tor/__init__.py:51
msgid ""
"Tor is an anonymous communication system. You can learn more about it from "
"the Tor Project website. For "
@@ -5230,40 +5223,36 @@ msgstr ""
"torproject.org/download/download-easy.html.en\">Tor böngésző használatát "
"javasolja."
-#: plinth/modules/tor/__init__.py:93
+#: plinth/modules/tor/__init__.py:80
msgid "Tor Socks Proxy"
msgstr "Tor Socks proxy"
-#: plinth/modules/tor/__init__.py:99 plinth/modules/tor/__init__.py:146
+#: plinth/modules/tor/__init__.py:84
msgid "Tor Bridge Relay"
msgstr "Tor híd relay"
-#: plinth/modules/tor/__init__.py:120 plinth/modules/tor/__init__.py:188
+#: plinth/modules/tor/__init__.py:122 plinth/modules/tor/__init__.py:150
msgid "Tor Hidden Service"
msgstr "Tor rejtett szolgáltatás"
-#: plinth/modules/tor/__init__.py:136
-msgid "Tor Anonymity Network"
-msgstr "Tor anonim hálózat"
-
-#: plinth/modules/tor/__init__.py:208
+#: plinth/modules/tor/__init__.py:170
msgid "Tor relay port available"
msgstr "Tor relay port elérhető"
-#: plinth/modules/tor/__init__.py:218
+#: plinth/modules/tor/__init__.py:180
msgid "Obfs3 transport registered"
msgstr "Obfs3 átvitel regisztrálva"
-#: plinth/modules/tor/__init__.py:226
+#: plinth/modules/tor/__init__.py:188
msgid "Obfs4 transport registered"
msgstr "Obfs4 átvitel regisztrálva"
-#: plinth/modules/tor/__init__.py:265
+#: plinth/modules/tor/__init__.py:227
#, python-brace-format
msgid "Access URL {url} on tcp{kind} via Tor"
msgstr "Hozzáférés a {url} URL-hez tcp{kind}-on Tor használatával"
-#: plinth/modules/tor/__init__.py:276
+#: plinth/modules/tor/__init__.py:238
#, python-brace-format
msgid "Confirm Tor usage at {url} on tcp{kind}"
msgstr "Hagyd jóvá a Tor használatát {url} célcímhez tcp{kind} protokollon"
@@ -5423,12 +5412,12 @@ msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050."
msgstr ""
"Egy Tor SOCKS port elérhető a te %(box_name)s eszközöd 9050-es TCP portján."
-#: plinth/modules/transmission/__init__.py:39
+#: plinth/modules/transmission/__init__.py:41
#: plinth/modules/transmission/manifest.py:24
msgid "Transmission"
msgstr "Transmission"
-#: plinth/modules/transmission/__init__.py:44
+#: plinth/modules/transmission/__init__.py:46
msgid ""
"BitTorrent is a peer-to-peer file sharing protocol. Transmission daemon "
"handles Bitorrent file sharing. Note that BitTorrent is not anonymous."
@@ -5437,7 +5426,7 @@ msgstr ""
"kezeli a Bitorrent fájlmegosztást. Vedd figyelembe, hogy a BitTorrent nem "
"biztosít névtelenséget."
-#: plinth/modules/transmission/__init__.py:47
+#: plinth/modules/transmission/__init__.py:49
msgid ""
"Access the web interface at /transmission."
msgstr ""
@@ -5457,15 +5446,15 @@ msgstr ""
"könyvtárat, akkor biztosítsd, hogy az új könyvtár létezik és írható a "
"„debian-transmission” felhasználó által."
-#: plinth/modules/ttrss/__init__.py:41 plinth/modules/ttrss/manifest.py:34
+#: plinth/modules/ttrss/__init__.py:43 plinth/modules/ttrss/manifest.py:34
msgid "Tiny Tiny RSS"
msgstr "Tiny Tiny RSS"
-#: plinth/modules/ttrss/__init__.py:43
+#: plinth/modules/ttrss/__init__.py:45
msgid "News Feed Reader"
msgstr "Hírcsatorna-olvasó"
-#: plinth/modules/ttrss/__init__.py:46
+#: plinth/modules/ttrss/__init__.py:48
msgid ""
"Tiny Tiny RSS is a news feed (RSS/Atom) reader and aggregator, designed to "
"allow reading news from any location, while feeling as close to a real "
@@ -5475,7 +5464,7 @@ msgstr ""
"tervezve, hogy elérhetővé tegye a hírolvasást bárhonnan, miközben igyekszik "
"egy valódi asztali alkalmazás érzetét kelteni."
-#: plinth/modules/ttrss/__init__.py:50
+#: plinth/modules/ttrss/__init__.py:52
#, python-brace-format
msgid ""
"When enabled, Tiny Tiny RSS will be available from /tt-"
@@ -5487,7 +5476,7 @@ msgstr ""
"\"{users_url}\">bármely felhasználó számára {box_name} "
"felhasználónévvel."
-#: plinth/modules/ttrss/__init__.py:55
+#: plinth/modules/ttrss/__init__.py:57
msgid ""
"When using a mobile or desktop application for Tiny Tiny RSS, use the URL /tt-rss-app for connecting."
@@ -5496,7 +5485,7 @@ msgstr ""
"hez, használd a /tt-rss-app URL-t a "
"csatlakozáshoz."
-#: plinth/modules/ttrss/__init__.py:61
+#: plinth/modules/ttrss/__init__.py:63
msgid "Read and subscribe to news feeds"
msgstr "Hírcsatornákra való feliratkozás / olvasás"
@@ -5504,11 +5493,11 @@ msgstr "Hírcsatornákra való feliratkozás / olvasás"
msgid "Tiny Tiny RSS (Fork)"
msgstr "Tiny Tiny RSS (Fork)"
-#: plinth/modules/upgrades/__init__.py:36 plinth/templates/setup.html:101
+#: plinth/modules/upgrades/__init__.py:35 plinth/templates/setup.html:101
msgid "Update"
msgstr "Frissítés"
-#: plinth/modules/upgrades/__init__.py:39
+#: plinth/modules/upgrades/__init__.py:38
msgid "Check for and apply the latest software and security updates."
msgstr ""
"A legfrissebb szoftver- és biztonsági frissítések ellenőrzése és alkalmazása."
@@ -5549,32 +5538,32 @@ msgstr "Frissítésnapló megjelenítése"
msgid "Auto-update"
msgstr "Automatikus frissítés"
-#: plinth/modules/upgrades/views.py:39
+#: plinth/modules/upgrades/views.py:40
msgid "Manual update"
msgstr "Kézi frissítés"
-#: plinth/modules/upgrades/views.py:78
+#: plinth/modules/upgrades/views.py:79
#, python-brace-format
msgid "Error when configuring unattended-upgrades: {error}"
msgstr "Hiba az unattended-upgrades konfigurálása közben: {error}"
-#: plinth/modules/upgrades/views.py:82
+#: plinth/modules/upgrades/views.py:83
msgid "Automatic upgrades enabled"
msgstr "Automatikus frissítések engedélyezve"
-#: plinth/modules/upgrades/views.py:85
+#: plinth/modules/upgrades/views.py:86
msgid "Automatic upgrades disabled"
msgstr "Automatikus frissítések kikapcsolva"
-#: plinth/modules/upgrades/views.py:87
+#: plinth/modules/upgrades/views.py:88
msgid "Settings unchanged"
msgstr "A beállítások nem változtak"
-#: plinth/modules/upgrades/views.py:113
+#: plinth/modules/upgrades/views.py:114
msgid "Upgrade process started."
msgstr "A frissítési folyamat elkezdődött."
-#: plinth/modules/upgrades/views.py:116
+#: plinth/modules/upgrades/views.py:117
msgid "Starting upgrade failed."
msgstr "A frissítést nem sikerült elindítani."
@@ -5582,7 +5571,7 @@ msgstr "A frissítést nem sikerült elindítani."
msgid "Users and Groups"
msgstr "Felhasználók és csoportok"
-#: plinth/modules/users/__init__.py:106
+#: plinth/modules/users/__init__.py:108
#, python-brace-format
msgid "Check LDAP entry \"{search_item}\""
msgstr "LDAP bejegyzés ellenőrzése: \"{search_item}\""
@@ -5810,15 +5799,6 @@ msgstr "adathordozó csere"
msgid "configuration file: {file}"
msgstr "konfigurációs fájl: {file}"
-#: plinth/service.py:140
-msgid "Web Server over Secure Socket Layer"
-msgstr "Webszerver Secure Socket Layer-en keresztül"
-
-#: plinth/service.py:145
-#, python-brace-format
-msgid "{box_name} Web Interface (Plinth)"
-msgstr "{box_name} Webes felület (Plinth)"
-
#: plinth/templates/403.html:25
msgid "403 Forbidden"
msgstr "403 Tiltott"
@@ -6037,18 +6017,18 @@ msgstr "IRC csevegőszoba"
msgid "Mailing list"
msgstr "Levelezőlista"
-#: plinth/templates/internal-zone.html:25
+#: plinth/templates/internal-zone.html:26
#, python-format
msgid "%(service_name)s is available only on internal networks."
msgstr ""
"%(service_name)s néven futó szolgáltatás csak belső hálózaton "
"elérhető."
-#: plinth/templates/internal-zone.html:31
+#: plinth/templates/internal-zone.html:32
msgid "Currently there are no network interfaces configured as internal."
msgstr "Jelenleg nincs belsőként konfigurált hálózati interfész."
-#: plinth/templates/internal-zone.html:33
+#: plinth/templates/internal-zone.html:34
#, python-format
msgid ""
"Currently the following network interfaces are configured as internal: "
@@ -6118,10 +6098,24 @@ msgstr "%(package_names)s telepítése: %(status)s"
msgid "%(percentage)s%% complete"
msgstr "befejezettségi szint: %(percentage)s%%"
+#: plinth/views.py:178
+msgid "Application enabled"
+msgstr "Alkalmazás engedélyezve"
+
+#: plinth/views.py:181
+msgid "Application disabled"
+msgstr "Alkalmazás letiltva"
+
#: plinth/web_framework.py:186
msgid "Gujarati"
msgstr "Gudzsaráti"
+#~ msgid "Tor Anonymity Network"
+#~ msgstr "Tor anonim hálózat"
+
+#~ msgid "Web Server over Secure Socket Layer"
+#~ msgstr "Webszerver Secure Socket Layer-en keresztül"
+
#~ msgid "Current status:"
#~ msgstr "Jelenlegi állapot:"
diff --git a/plinth/locale/id/LC_MESSAGES/django.po b/plinth/locale/id/LC_MESSAGES/django.po
index 35998d202..34360b06f 100644
--- a/plinth/locale/id/LC_MESSAGES/django.po
+++ b/plinth/locale/id/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Indonesian (FreedomBox)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-06-10 19:02-0400\n"
+"POT-Creation-Date: 2019-06-24 19:48-0400\n"
"PO-Revision-Date: 2018-11-02 00:44+0000\n"
"Last-Translator: ButterflyOfFire \n"
"Language-Team: Indonesian /"
@@ -499,14 +510,14 @@ msgid ""
"\"{users_url}\">any user on {box_name} belonging to the admin group."
msgstr ""
-#: plinth/modules/config/__init__.py:59 plinth/modules/dynamicdns/views.py:44
+#: plinth/modules/config/__init__.py:61 plinth/modules/dynamicdns/views.py:45
#: plinth/modules/i2p/views.py:31 plinth/modules/ikiwiki/views.py:35
#: plinth/modules/pagekite/views.py:36 plinth/modules/snapshot/views.py:40
#: plinth/modules/tahoe/templates/tahoe-pre-setup.html:39
msgid "Configure"
msgstr "Konfigurasi"
-#: plinth/modules/config/__init__.py:164 plinth/modules/config/forms.py:76
+#: plinth/modules/config/__init__.py:166 plinth/modules/config/forms.py:76
#: plinth/modules/config/views.py:171 plinth/modules/dynamicdns/forms.py:111
msgid "Domain Name"
msgstr ""
@@ -580,8 +591,8 @@ msgstr ""
#: plinth/modules/power/templates/power_restart.html:42
#: plinth/modules/power/templates/power_shutdown.html:41
#: plinth/modules/storage/templates/storage.html:48
-#: plinth/templates/service-subsubmenu.html:47 plinth/templates/service.html:42
-#: plinth/templates/setup.html:48 plinth/templates/simple_service.html:38
+#: plinth/templates/app-subsubmenu.html:47 plinth/templates/app.html:42
+#: plinth/templates/setup.html:48 plinth/templates/simple_app.html:38
#, fuzzy
#| msgid "Learn more »"
msgid "Learn more..."
@@ -633,22 +644,22 @@ msgstr ""
msgid "Hiding advanced apps and features"
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:38
+#: plinth/modules/coquelicot/__init__.py:40
msgid "Coquelicot"
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:40
+#: plinth/modules/coquelicot/__init__.py:42
msgid "File Sharing"
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:43
+#: plinth/modules/coquelicot/__init__.py:45
msgid ""
"Coquelicot is a “one-click” file sharing web application with a focus on "
"protecting users’ privacy. It is best used for quickly sharing a single "
"file. "
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:46
+#: plinth/modules/coquelicot/__init__.py:48
msgid ""
"This Coquelicot instance is exposed to the public but requires an upload "
"password to prevent unauthorized access. You can set a new upload password "
@@ -680,21 +691,21 @@ msgstr ""
msgid "coquelicot"
msgstr ""
-#: plinth/modules/coquelicot/views.py:57
+#: plinth/modules/coquelicot/views.py:59
#, fuzzy
#| msgid "Password"
msgid "Upload password updated"
msgstr "Kata Sandi"
-#: plinth/modules/coquelicot/views.py:60
+#: plinth/modules/coquelicot/views.py:62
msgid "Failed to update upload password"
msgstr ""
-#: plinth/modules/coquelicot/views.py:68
+#: plinth/modules/coquelicot/views.py:70
msgid "Maximum file size updated"
msgstr ""
-#: plinth/modules/coquelicot/views.py:71
+#: plinth/modules/coquelicot/views.py:73
msgid "Failed to update maximum file size"
msgstr ""
@@ -708,21 +719,21 @@ msgid ""
"synchronization with servers on the Internet."
msgstr ""
-#: plinth/modules/datetime/__init__.py:107
+#: plinth/modules/datetime/__init__.py:99
msgid "Time synchronized to NTP server"
msgstr ""
-#: plinth/modules/datetime/forms.py:36
+#: plinth/modules/datetime/forms.py:35
msgid "Time Zone"
msgstr "Zona Waktu"
-#: plinth/modules/datetime/forms.py:37
+#: plinth/modules/datetime/forms.py:36
msgid ""
"Set your time zone to get accurate timestamps. This will set the system-wide "
"time zone."
msgstr ""
-#: plinth/modules/datetime/forms.py:49
+#: plinth/modules/datetime/forms.py:47
msgid "-- no time zone set --"
msgstr ""
@@ -740,7 +751,7 @@ msgid "Deluge"
msgstr ""
#: plinth/modules/deluge/__init__.py:41
-#: plinth/modules/transmission/__init__.py:41
+#: plinth/modules/transmission/__init__.py:43
msgid "BitTorrent Web Client"
msgstr ""
@@ -756,7 +767,7 @@ msgid ""
msgstr ""
#: plinth/modules/deluge/__init__.py:51
-#: plinth/modules/transmission/__init__.py:54
+#: plinth/modules/transmission/__init__.py:56
msgid "Download files using BitTorrent applications"
msgstr ""
@@ -818,12 +829,12 @@ msgstr "Pengujian"
msgid "Result"
msgstr "Hasil"
-#: plinth/modules/diaspora/__init__.py:52
+#: plinth/modules/diaspora/__init__.py:54
#: plinth/modules/diaspora/manifest.py:38
msgid "diaspora*"
msgstr ""
-#: plinth/modules/diaspora/__init__.py:54
+#: plinth/modules/diaspora/__init__.py:56
msgid "Federated Social Network"
msgstr ""
@@ -870,22 +881,22 @@ msgstr ""
#: plinth/modules/tahoe/templates/tahoe-pre-setup.html:58
#: plinth/modules/tor/templates/tor.html:96
#: plinth/modules/upgrades/templates/upgrades_configure.html:32
-#: plinth/templates/service.html:89
+#: plinth/templates/app.html:89
msgid "Update setup"
msgstr ""
-#: plinth/modules/diaspora/views.py:97 plinth/modules/ejabberd/views.py:64
-#: plinth/modules/matrixsynapse/views.py:107
-#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:150
-#: plinth/modules/tor/views.py:146 plinth/views.py:160
+#: plinth/modules/diaspora/views.py:94 plinth/modules/ejabberd/views.py:65
+#: plinth/modules/matrixsynapse/views.py:108
+#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:148
+#: plinth/modules/tor/views.py:148 plinth/views.py:174
msgid "Setting unchanged"
msgstr ""
-#: plinth/modules/diaspora/views.py:101
+#: plinth/modules/diaspora/views.py:98
msgid "User registrations enabled"
msgstr ""
-#: plinth/modules/diaspora/views.py:105
+#: plinth/modules/diaspora/views.py:102
msgid "User registrations disabled"
msgstr ""
@@ -912,8 +923,8 @@ msgid ""
"IP address."
msgstr ""
-#: plinth/modules/dynamicdns/__init__.py:85
-#: plinth/modules/dynamicdns/views.py:167
+#: plinth/modules/dynamicdns/__init__.py:87
+#: plinth/modules/dynamicdns/views.py:169
#, fuzzy
#| msgid "Dynamic DNS Status"
msgid "Dynamic DNS Service"
@@ -1004,7 +1015,7 @@ msgid "Username"
msgstr "Nama Pengguna"
#: plinth/modules/dynamicdns/forms.py:121 plinth/modules/networks/forms.py:235
-#: plinth/modules/shadowsocks/forms.py:70
+#: plinth/modules/shadowsocks/forms.py:61
msgid "Password"
msgstr "Kata Sandi"
@@ -1082,47 +1093,47 @@ msgstr ""
msgid "Last update"
msgstr ""
-#: plinth/modules/dynamicdns/views.py:41 plinth/modules/help/help.py:57
+#: plinth/modules/dynamicdns/views.py:41 plinth/modules/help/help.py:59
msgid "About"
msgstr "Tentang"
-#: plinth/modules/dynamicdns/views.py:47
+#: plinth/modules/dynamicdns/views.py:49
#: plinth/modules/firewall/templates/firewall.html:25
#: plinth/modules/firewall/templates/firewall.html:45
#: plinth/modules/i2p/templates/i2p.html:27
#: plinth/modules/networks/templates/connection_show.html:261
#: plinth/modules/openvpn/templates/openvpn.html:71
#: plinth/modules/tor/templates/tor.html:40
-#: plinth/modules/tor/templates/tor.html:68 plinth/templates/service.html:51
+#: plinth/modules/tor/templates/tor.html:68 plinth/templates/app.html:51
msgid "Status"
msgstr "Status"
-#: plinth/modules/dynamicdns/views.py:78
+#: plinth/modules/dynamicdns/views.py:80
msgid "Configure Dynamic DNS"
msgstr ""
-#: plinth/modules/dynamicdns/views.py:103
+#: plinth/modules/dynamicdns/views.py:105
msgid "Dynamic DNS Status"
msgstr "Status Dynamic DNS"
-#: plinth/modules/ejabberd/__init__.py:43
+#: plinth/modules/ejabberd/__init__.py:45
msgid "ejabberd"
msgstr ""
-#: plinth/modules/ejabberd/__init__.py:45
-#: plinth/modules/matrixsynapse/__init__.py:43
+#: plinth/modules/ejabberd/__init__.py:47
+#: plinth/modules/matrixsynapse/__init__.py:45
#, fuzzy
#| msgid "Web Server"
msgid "Chat Server"
msgstr "Server Web"
-#: plinth/modules/ejabberd/__init__.py:48
+#: plinth/modules/ejabberd/__init__.py:50
msgid ""
"XMPP is an open and standardized communication protocol. Here you can run "
"and configure your XMPP server, called ejabberd."
msgstr ""
-#: plinth/modules/ejabberd/__init__.py:51
+#: plinth/modules/ejabberd/__init__.py:53
#, python-brace-format
msgid ""
"To actually communicate, you can use the web client"
@@ -1131,11 +1142,11 @@ msgid ""
"any user with a {box_name} login."
msgstr ""
-#: plinth/modules/ejabberd/forms.py:33
+#: plinth/modules/ejabberd/forms.py:32
msgid "Enable Message Archive Management"
msgstr ""
-#: plinth/modules/ejabberd/forms.py:36
+#: plinth/modules/ejabberd/forms.py:34
#, python-brace-format
msgid ""
"If enabled, your {box_name} will store chat message histories. This allows "
@@ -1207,35 +1218,23 @@ msgstr ""
#: plinth/modules/openvpn/templates/openvpn.html:123
#: plinth/modules/snapshot/templates/snapshot.html:27
#: plinth/modules/tahoe/templates/tahoe-post-setup.html:43
-#: plinth/modules/tor/templates/tor.html:88 plinth/templates/service.html:81
+#: plinth/modules/tor/templates/tor.html:88 plinth/templates/app.html:81
msgid "Configuration"
msgstr ""
-#: plinth/modules/ejabberd/views.py:68
-#: plinth/modules/matrixsynapse/views.py:111
-#: plinth/modules/mediawiki/views.py:79 plinth/views.py:164
-msgid "Application enabled"
-msgstr ""
-
-#: plinth/modules/ejabberd/views.py:71
-#: plinth/modules/matrixsynapse/views.py:114
-#: plinth/modules/mediawiki/views.py:82 plinth/views.py:167
-msgid "Application disabled"
-msgstr ""
-
-#: plinth/modules/ejabberd/views.py:78
+#: plinth/modules/ejabberd/views.py:77
msgid "Message Archive Management enabled"
msgstr ""
-#: plinth/modules/ejabberd/views.py:82
+#: plinth/modules/ejabberd/views.py:81
msgid "Message Archive Management disabled"
msgstr ""
-#: plinth/modules/firewall/__init__.py:40
+#: plinth/modules/firewall/__init__.py:36
msgid "Firewall"
msgstr "Firewall"
-#: plinth/modules/firewall/__init__.py:44
+#: plinth/modules/firewall/__init__.py:40
#, python-brace-format
msgid ""
"Firewall is a security system that controls the incoming and outgoing "
@@ -1343,31 +1342,31 @@ msgstr "Jalankan Pengaturan"
msgid "Setup Complete"
msgstr "Pengaturan Selesai"
-#: plinth/modules/help/help.py:44
+#: plinth/modules/help/help.py:46
msgid "Documentation"
msgstr ""
-#: plinth/modules/help/help.py:48 plinth/modules/networks/forms.py:68
+#: plinth/modules/help/help.py:50 plinth/modules/networks/forms.py:68
#: plinth/modules/networks/forms.py:108 plinth/templates/index.html:135
msgid "Manual"
msgstr "Panduan"
-#: plinth/modules/help/help.py:53
+#: plinth/modules/help/help.py:55
#, fuzzy
#| msgid "{box_name} Manual"
msgid "Download Manual"
msgstr "Panduan {box_name}"
-#: plinth/modules/help/help.py:73
+#: plinth/modules/help/help.py:75
msgid "Documentation and FAQ"
msgstr "Dokumentasi dan Tanya Jawab"
-#: plinth/modules/help/help.py:81
+#: plinth/modules/help/help.py:83
#, python-brace-format
msgid "About {box_name}"
msgstr "Tentang {box_name}"
-#: plinth/modules/help/help.py:102
+#: plinth/modules/help/help.py:104
#, python-brace-format
msgid "{box_name} Manual"
msgstr "Panduan {box_name}"
@@ -1489,17 +1488,17 @@ msgid ""
"before submitting the bug report."
msgstr ""
-#: plinth/modules/i2p/__init__.py:40 plinth/modules/i2p/manifest.py:31
+#: plinth/modules/i2p/__init__.py:42 plinth/modules/i2p/manifest.py:31
msgid "I2P"
msgstr ""
-#: plinth/modules/i2p/__init__.py:42 plinth/modules/tor/__init__.py:45
+#: plinth/modules/i2p/__init__.py:44 plinth/modules/tor/__init__.py:48
#, fuzzy
#| msgid "Go to Networks"
msgid "Anonymity Network"
msgstr "Pergi ke Pengaturan Jaringan"
-#: plinth/modules/i2p/__init__.py:45
+#: plinth/modules/i2p/__init__.py:47
msgid ""
"The Invisible Internet Project is an anonymous network layer intended to "
"protect communication from censorship and surveillance. I2P provides "
@@ -1507,35 +1506,35 @@ msgid ""
"distributed around the world."
msgstr ""
-#: plinth/modules/i2p/__init__.py:49
+#: plinth/modules/i2p/__init__.py:51
msgid ""
"Find more information about I2P on their project homepage."
msgstr ""
-#: plinth/modules/i2p/__init__.py:51
+#: plinth/modules/i2p/__init__.py:53
msgid ""
"The first visit to the provided web interface will initiate the "
"configuration process."
msgstr ""
-#: plinth/modules/i2p/__init__.py:57
+#: plinth/modules/i2p/__init__.py:59
#, fuzzy
#| msgid "Enable application"
msgid "Manage I2P application"
msgstr "Aktifkan aplikasi"
-#: plinth/modules/i2p/templates/i2p.html:32 plinth/templates/service.html:56
+#: plinth/modules/i2p/templates/i2p.html:32 plinth/templates/app.html:56
#, python-format
msgid "Service %(service_name)s is running."
msgstr ""
-#: plinth/modules/i2p/templates/i2p.html:37 plinth/templates/service.html:61
+#: plinth/modules/i2p/templates/i2p.html:37 plinth/templates/app.html:61
#, python-format
msgid "Service %(service_name)s is not running."
msgstr ""
-#: plinth/modules/i2p/templates/i2p_service.html:13
+#: plinth/modules/i2p/templates/i2p_service.html:31
#: plinth/templates/clients.html:51
msgid "Launch"
msgstr ""
@@ -1548,47 +1547,47 @@ msgstr ""
msgid "Anonymous torrents"
msgstr ""
-#: plinth/modules/i2p/views.py:86
+#: plinth/modules/i2p/views.py:88
msgid "I2P Proxies and Tunnels"
msgstr ""
-#: plinth/modules/i2p/views.py:89
+#: plinth/modules/i2p/views.py:91
msgid ""
"I2P lets you browse the Internet and hidden services (eepsites) anonymously. "
"For this, your browser, preferably a Tor Browser, needs to be configured for "
"a proxy."
msgstr ""
-#: plinth/modules/i2p/views.py:92
+#: plinth/modules/i2p/views.py:94
msgid ""
"By default HTTP, HTTPS and IRC proxies are available. Additional proxies and "
"tunnels may be configured using the tunnel configuration interface."
msgstr ""
-#: plinth/modules/i2p/views.py:101
+#: plinth/modules/i2p/views.py:103
msgid "Anonymous Torrents"
msgstr ""
-#: plinth/modules/i2p/views.py:104
+#: plinth/modules/i2p/views.py:106
msgid ""
"I2P provides an application to download files anonymously in a peer-to-peer "
"network. Download files by adding torrents or create a new torrent to share "
"a file."
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:42 plinth/modules/ikiwiki/manifest.py:24
+#: plinth/modules/ikiwiki/__init__.py:41 plinth/modules/ikiwiki/manifest.py:24
#, fuzzy
#| msgid "wiki"
msgid "ikiwiki"
msgstr "wiki"
-#: plinth/modules/ikiwiki/__init__.py:44
+#: plinth/modules/ikiwiki/__init__.py:43
#, fuzzy
#| msgid "Manage Wikis and Blogs"
msgid "Wiki and Blog"
msgstr "Kelola Wiki dan Blog"
-#: plinth/modules/ikiwiki/__init__.py:47
+#: plinth/modules/ikiwiki/__init__.py:46
msgid ""
"ikiwiki is a simple wiki and blog application. It supports several "
"lightweight markup languages, including Markdown, and common blogging "
@@ -1596,7 +1595,7 @@ msgid ""
"wikis will be available at /ikiwiki (once created)."
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:53
+#: plinth/modules/ikiwiki/__init__.py:52
#, python-brace-format
msgid ""
"Only {box_name} users in the admin group can create and "
@@ -1605,7 +1604,7 @@ msgid ""
"Configuration you can change these permissions or add new users."
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:63
+#: plinth/modules/ikiwiki/__init__.py:62
#, fuzzy
#| msgid "Services and Applications"
msgid "View and edit wiki applications"
@@ -1675,51 +1674,51 @@ msgstr "Pergi ke situs %(site)s"
msgid "Manage"
msgstr "Kelola"
-#: plinth/modules/ikiwiki/views.py:121
+#: plinth/modules/ikiwiki/views.py:124
#, python-brace-format
msgid "Created wiki {name}."
msgstr "Membuat wiki {name}."
-#: plinth/modules/ikiwiki/views.py:124
+#: plinth/modules/ikiwiki/views.py:127
#, python-brace-format
msgid "Could not create wiki: {error}"
msgstr "Tidak dapat membuat wiki: {error}"
-#: plinth/modules/ikiwiki/views.py:134
+#: plinth/modules/ikiwiki/views.py:137
#, python-brace-format
msgid "Created blog {name}."
msgstr "membuat blog {name}."
-#: plinth/modules/ikiwiki/views.py:137
+#: plinth/modules/ikiwiki/views.py:140
#, python-brace-format
msgid "Could not create blog: {error}"
msgstr "Tidak dapat membuat blog: {error}"
-#: plinth/modules/ikiwiki/views.py:150
+#: plinth/modules/ikiwiki/views.py:153
#, python-brace-format
msgid "{name} deleted."
msgstr "{name} dihapus."
-#: plinth/modules/ikiwiki/views.py:154
+#: plinth/modules/ikiwiki/views.py:157
#, python-brace-format
msgid "Could not delete {name}: {error}"
msgstr "Tidak dapat menghapus {name}: {error}"
-#: plinth/modules/infinoted/__init__.py:41
+#: plinth/modules/infinoted/__init__.py:40
msgid "infinoted"
msgstr ""
-#: plinth/modules/infinoted/__init__.py:43
+#: plinth/modules/infinoted/__init__.py:42
#, fuzzy
#| msgid "Web Server"
msgid "Gobby Server"
msgstr "Server Web"
-#: plinth/modules/infinoted/__init__.py:46
+#: plinth/modules/infinoted/__init__.py:45
msgid "infinoted is a server for Gobby, a collaborative text editor."
msgstr ""
-#: plinth/modules/infinoted/__init__.py:48
+#: plinth/modules/infinoted/__init__.py:47
#, python-brace-format
msgid ""
"To use it, download Gobby, desktop "
@@ -2047,11 +2046,11 @@ msgstr ""
msgid "Failed to delete certificate for domain {domain}: {error}"
msgstr ""
-#: plinth/modules/matrixsynapse/__init__.py:41
+#: plinth/modules/matrixsynapse/__init__.py:43
msgid "Matrix Synapse"
msgstr ""
-#: plinth/modules/matrixsynapse/__init__.py:46
+#: plinth/modules/matrixsynapse/__init__.py:48
msgid ""
"Matrix is an new "
"ecosystem for open, federated instant messaging and VoIP. Synapse is a "
@@ -2061,7 +2060,7 @@ msgid ""
"converse with users on all other Matrix servers via federation."
msgstr ""
-#: plinth/modules/matrixsynapse/__init__.py:53
+#: plinth/modules/matrixsynapse/__init__.py:55
msgid ""
"To communicate, you can use the available clients for mobile, desktop and the web. Special:CreateAccount page."
msgstr ""
-#: plinth/modules/mediawiki/__init__.py:49
+#: plinth/modules/mediawiki/__init__.py:53
msgid ""
"Anyone with a link to this wiki can read it. Only users that are logged in "
"can make changes to the content."
@@ -2210,38 +2209,38 @@ msgstr ""
msgid "Password updated"
msgstr "Kata Sandi"
-#: plinth/modules/mediawiki/views.py:91
+#: plinth/modules/mediawiki/views.py:89
#, fuzzy
#| msgid "Application installed."
msgid "Public registrations enabled"
msgstr "Aplikasi telah terpasang."
-#: plinth/modules/mediawiki/views.py:100
+#: plinth/modules/mediawiki/views.py:98
#, fuzzy
#| msgid "Application installed."
msgid "Public registrations disabled"
msgstr "Aplikasi telah terpasang."
-#: plinth/modules/mediawiki/views.py:109
+#: plinth/modules/mediawiki/views.py:107
msgid "Private mode enabled"
msgstr ""
-#: plinth/modules/mediawiki/views.py:112
+#: plinth/modules/mediawiki/views.py:110
#, fuzzy
#| msgid "Application installed."
msgid "Private mode disabled"
msgstr "Aplikasi telah terpasang."
-#: plinth/modules/minetest/__init__.py:53
+#: plinth/modules/minetest/__init__.py:52
#: plinth/modules/minetest/manifest.py:25
msgid "Minetest"
msgstr ""
-#: plinth/modules/minetest/__init__.py:55
+#: plinth/modules/minetest/__init__.py:54
msgid "Block Sandbox"
msgstr ""
-#: plinth/modules/minetest/__init__.py:59
+#: plinth/modules/minetest/__init__.py:58
#, python-brace-format
msgid ""
"Minetest is a multiplayer infinite-world block sandbox. This module enables "
@@ -2250,45 +2249,45 @@ msgid ""
"downloads/\">Minetest client is needed."
msgstr ""
-#: plinth/modules/minetest/forms.py:31
+#: plinth/modules/minetest/forms.py:30
msgid "Maximum number of players"
msgstr ""
-#: plinth/modules/minetest/forms.py:35
+#: plinth/modules/minetest/forms.py:32
msgid ""
"You can change the maximum number of players playing minetest at a single "
"instance of time."
msgstr ""
-#: plinth/modules/minetest/forms.py:39
+#: plinth/modules/minetest/forms.py:36
#, fuzzy
#| msgid "Enable application"
msgid "Enable creative mode"
msgstr "Aktifkan aplikasi"
-#: plinth/modules/minetest/forms.py:41
+#: plinth/modules/minetest/forms.py:37
msgid ""
"Creative mode changes the rules of the game to make it more suitable for "
"creative gameplay, rather than challenging \"survival\" gameplay."
msgstr ""
-#: plinth/modules/minetest/forms.py:46
+#: plinth/modules/minetest/forms.py:42
#, fuzzy
#| msgid "Enabled"
msgid "Enable PVP"
msgstr "Aktifkan"
-#: plinth/modules/minetest/forms.py:48
+#: plinth/modules/minetest/forms.py:43
msgid "Enabling Player Vs Player will allow players to damage other players."
msgstr ""
-#: plinth/modules/minetest/forms.py:52
+#: plinth/modules/minetest/forms.py:47
#, fuzzy
#| msgid "Enable PageKite"
msgid "Enable damage"
msgstr "Aktifkan PageKite"
-#: plinth/modules/minetest/forms.py:54
+#: plinth/modules/minetest/forms.py:48
msgid "When disabled, players cannot die or receive damage of any kind."
msgstr ""
@@ -2302,54 +2301,54 @@ msgstr "Address"
msgid "Port"
msgstr "Port"
-#: plinth/modules/minetest/views.py:71
+#: plinth/modules/minetest/views.py:72
msgid "Maximum players configuration updated"
msgstr ""
-#: plinth/modules/minetest/views.py:78
+#: plinth/modules/minetest/views.py:79
msgid "Creative mode configuration updated"
msgstr ""
-#: plinth/modules/minetest/views.py:84
+#: plinth/modules/minetest/views.py:85
msgid "PVP configuration updated"
msgstr ""
-#: plinth/modules/minetest/views.py:90
+#: plinth/modules/minetest/views.py:91
msgid "Damage configuration updated"
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:38
+#: plinth/modules/mldonkey/__init__.py:40
#: plinth/modules/mldonkey/manifest.py:27
#, fuzzy
#| msgid "Monkeysphere"
msgid "MLDonkey"
msgstr "Monkeysphere"
-#: plinth/modules/mldonkey/__init__.py:40
+#: plinth/modules/mldonkey/__init__.py:42
msgid "Peer-to-peer File Sharing"
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:43
+#: plinth/modules/mldonkey/__init__.py:45
msgid ""
"MLDonkey is a peer-to-peer file sharing application used to exchange large "
"files. It can participate in multiple peer-to-peer networks including "
"eDonkey, Kademlia, Overnet, BitTorrent and DirectConnect."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:46
+#: plinth/modules/mldonkey/__init__.py:48
msgid ""
"Users belonging to admin and ed2k group can control it through the web "
"interface. Users in the admin group can also control it through any of the "
"separate mobile or desktop front-ends or a telnet interface. See manual."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:51
+#: plinth/modules/mldonkey/__init__.py:53
#, python-brace-format
msgid ""
"On {box_name}, downloaded files can be found in /var/lib/mldonkey/ directory."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:59
+#: plinth/modules/mldonkey/__init__.py:61
msgid "Download files using eDonkey applications"
msgstr ""
@@ -2417,12 +2416,6 @@ msgstr "Sidik Jari OpenPGP"
msgid "Secure Shell"
msgstr "Secure Shell"
-#: plinth/modules/monkeysphere/templates/monkeysphere.html:88
-#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:60
-#: plinth/service.py:138
-msgid "Web Server"
-msgstr "Server Web"
-
#: plinth/modules/monkeysphere/templates/monkeysphere.html:90
#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:62
msgid "Other"
@@ -2515,23 +2508,23 @@ msgstr "Publikasikan kunci ke keyserver."
msgid "Error occurred while publishing key."
msgstr ""
-#: plinth/modules/mumble/__init__.py:34 plinth/modules/mumble/manifest.py:27
+#: plinth/modules/mumble/__init__.py:35 plinth/modules/mumble/manifest.py:27
msgid "Mumble"
msgstr ""
-#: plinth/modules/mumble/__init__.py:36
+#: plinth/modules/mumble/__init__.py:37
#, fuzzy
#| msgid "Voice Chat (Mumble)"
msgid "Voice Chat"
msgstr "Pesan Suara (Mumble)"
-#: plinth/modules/mumble/__init__.py:45
+#: plinth/modules/mumble/__init__.py:44
msgid ""
"Mumble is an open source, low-latency, encrypted, high quality voice chat "
"software."
msgstr ""
-#: plinth/modules/mumble/__init__.py:47
+#: plinth/modules/mumble/__init__.py:46
msgid ""
"You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your "
@@ -2579,7 +2572,7 @@ msgstr "Tidak tersedia"
msgid "Networks"
msgstr "Jaringan"
-#: plinth/modules/networks/__init__.py:142
+#: plinth/modules/networks/__init__.py:144
#, python-brace-format
msgid "Using DNSSEC on IPv{kind}"
msgstr "Gunakan DNSSEC pada IPv{kind}"
@@ -3013,7 +3006,7 @@ msgstr "IPv4"
#: plinth/modules/networks/templates/connection_show.html:186
#: plinth/modules/networks/templates/connection_show.html:227
-#: plinth/modules/shadowsocks/forms.py:75
+#: plinth/modules/shadowsocks/forms.py:65
msgid "Method"
msgstr ""
@@ -3135,17 +3128,17 @@ msgstr ""
msgid "Create..."
msgstr ""
-#: plinth/modules/openvpn/__init__.py:40
+#: plinth/modules/openvpn/__init__.py:39
#, fuzzy
#| msgid "Open"
msgid "OpenVPN"
msgstr "Open"
-#: plinth/modules/openvpn/__init__.py:42
+#: plinth/modules/openvpn/__init__.py:41
msgid "Virtual Private Network"
msgstr ""
-#: plinth/modules/openvpn/__init__.py:46
+#: plinth/modules/openvpn/__init__.py:45
#, python-brace-format
msgid ""
"Virtual Private Network (VPN) is a technique for securely connecting two "
@@ -3156,7 +3149,7 @@ msgid ""
"security and anonymity."
msgstr ""
-#: plinth/modules/openvpn/__init__.py:74
+#: plinth/modules/openvpn/__init__.py:75
#, python-brace-format
msgid ""
"Download Profile"
@@ -3221,11 +3214,11 @@ msgstr ""
msgid "OpenVPN server is not running"
msgstr ""
-#: plinth/modules/openvpn/views.py:128
+#: plinth/modules/openvpn/views.py:126
msgid "Setup completed."
msgstr "Pengaturan selesai."
-#: plinth/modules/openvpn/views.py:130
+#: plinth/modules/openvpn/views.py:128
msgid "Setup failed."
msgstr "Pengaturan gagal."
@@ -3297,7 +3290,7 @@ msgid ""
"pagekite.net server."
msgstr ""
-#: plinth/modules/pagekite/forms.py:78 plinth/modules/shadowsocks/forms.py:64
+#: plinth/modules/pagekite/forms.py:78 plinth/modules/shadowsocks/forms.py:57
msgid "Server port"
msgstr ""
@@ -3497,47 +3490,47 @@ msgstr ""
msgid "Save Services"
msgstr "Simpan Layanan"
-#: plinth/modules/pagekite/utils.py:53
+#: plinth/modules/pagekite/utils.py:57
msgid "Web Server (HTTP)"
msgstr "Server Web (HTTP)"
-#: plinth/modules/pagekite/utils.py:54
+#: plinth/modules/pagekite/utils.py:59
#, python-brace-format
msgid "Site will be available at http://{0}"
msgstr ""
-#: plinth/modules/pagekite/utils.py:63
+#: plinth/modules/pagekite/utils.py:71
msgid "Web Server (HTTPS)"
msgstr "Web Server (HTTPS)"
-#: plinth/modules/pagekite/utils.py:64
+#: plinth/modules/pagekite/utils.py:73
#, python-brace-format
msgid "Site will be available at https://{0}"
msgstr ""
-#: plinth/modules/pagekite/utils.py:73
+#: plinth/modules/pagekite/utils.py:85
msgid "Secure Shell (SSH)"
msgstr "Secure Shell (SSH)"
-#: plinth/modules/pagekite/utils.py:74
+#: plinth/modules/pagekite/utils.py:87
msgid ""
"See SSH client setup instructions"
msgstr ""
-#: plinth/modules/pagekite/utils.py:276
+#: plinth/modules/pagekite/utils.py:288
msgid "Pagekite"
msgstr "Pagekite"
-#: plinth/modules/pagekite/views.py:39
+#: plinth/modules/pagekite/views.py:40
msgid "Standard Services"
msgstr "Layanan Standar"
-#: plinth/modules/pagekite/views.py:42
+#: plinth/modules/pagekite/views.py:44
msgid "Custom Services"
msgstr "Kostumisasi Layanan"
-#: plinth/modules/pagekite/views.py:156
+#: plinth/modules/pagekite/views.py:158
msgid "Pagekite setup finished. The HTTP and HTTPS services are activated now."
msgstr ""
@@ -3598,24 +3591,24 @@ msgstr ""
msgid "Shut Down Now"
msgstr "Matikan Sekarang"
-#: plinth/modules/privoxy/__init__.py:41
+#: plinth/modules/privoxy/__init__.py:42
msgid "Privoxy"
msgstr ""
-#: plinth/modules/privoxy/__init__.py:43
+#: plinth/modules/privoxy/__init__.py:44
#, fuzzy
#| msgid "Web Proxy (Privoxy)"
msgid "Web Proxy"
msgstr "Web Proxy (Privoxy)"
-#: plinth/modules/privoxy/__init__.py:46
+#: plinth/modules/privoxy/__init__.py:47
msgid ""
"Privoxy is a non-caching web proxy with advanced filtering capabilities for "
"enhancing privacy, modifying web page data and HTTP headers, controlling "
"access, and removing ads and other obnoxious Internet junk. "
msgstr ""
-#: plinth/modules/privoxy/__init__.py:51
+#: plinth/modules/privoxy/__init__.py:52
#, python-brace-format
msgid ""
"You can use Privoxy by modifying your browser proxy settings to your "
@@ -3625,20 +3618,20 @@ msgid ""
"\">http://p.p."
msgstr ""
-#: plinth/modules/privoxy/__init__.py:157
+#: plinth/modules/privoxy/__init__.py:142
#, python-brace-format
msgid "Access {url} with proxy {proxy} on tcp{kind}"
msgstr ""
-#: plinth/modules/quassel/__init__.py:41 plinth/modules/quassel/manifest.py:25
+#: plinth/modules/quassel/__init__.py:40 plinth/modules/quassel/manifest.py:25
msgid "Quassel"
msgstr ""
-#: plinth/modules/quassel/__init__.py:43
+#: plinth/modules/quassel/__init__.py:42
msgid "IRC Client"
msgstr ""
-#: plinth/modules/quassel/__init__.py:47
+#: plinth/modules/quassel/__init__.py:46
#, python-brace-format
msgid ""
"Quassel is an IRC application that is split into two parts, a \"core\" and a "
@@ -3649,7 +3642,7 @@ msgid ""
"connect and disconnect from it."
msgstr ""
-#: plinth/modules/quassel/__init__.py:54
+#: plinth/modules/quassel/__init__.py:53
msgid ""
"You can connect to your Quassel core on the default Quassel port 4242. "
"Clients to connect to Quassel from your Jitsi (for computers) and (for Android phones)."
msgstr ""
-#: plinth/modules/repro/__init__.py:53
+#: plinth/modules/repro/__init__.py:55
msgid ""
"Note: Before using repro, domains and users will need to "
"be configured using the web-based "
@@ -3798,15 +3791,15 @@ msgstr ""
msgid "CSipSimple"
msgstr ""
-#: plinth/modules/restore/__init__.py:36 plinth/modules/restore/manifest.py:23
+#: plinth/modules/restore/__init__.py:37 plinth/modules/restore/manifest.py:23
msgid "reStore"
msgstr ""
-#: plinth/modules/restore/__init__.py:38
+#: plinth/modules/restore/__init__.py:39
msgid "Unhosted Storage"
msgstr ""
-#: plinth/modules/restore/__init__.py:42
+#: plinth/modules/restore/__init__.py:43
#, python-brace-format
msgid ""
"reStore is a server for unhosted web "
@@ -3816,22 +3809,22 @@ msgid ""
"becomes your unhosted storage server."
msgstr ""
-#: plinth/modules/restore/__init__.py:48
+#: plinth/modules/restore/__init__.py:49
msgid ""
"You can create and edit accounts in the reStore web-"
"interface."
msgstr ""
-#: plinth/modules/roundcube/__init__.py:34
+#: plinth/modules/roundcube/__init__.py:35
#: plinth/modules/roundcube/manifest.py:24
msgid "Roundcube"
msgstr ""
-#: plinth/modules/roundcube/__init__.py:36
+#: plinth/modules/roundcube/__init__.py:37
msgid "Email Client"
msgstr ""
-#: plinth/modules/roundcube/__init__.py:39
+#: plinth/modules/roundcube/__init__.py:40
msgid ""
"Roundcube webmail is a browser-based multilingual IMAP client with an "
"application-like user interface. It provides full functionality you expect "
@@ -3839,7 +3832,7 @@ msgid ""
"manipulation, message searching and spell checking."
msgstr ""
-#: plinth/modules/roundcube/__init__.py:44
+#: plinth/modules/roundcube/__init__.py:45
msgid ""
"You can access Roundcube from /roundcube. Provide "
"the username and password of the email account you wish to access followed "
@@ -3848,7 +3841,7 @@ msgid ""
"server field like imaps://imap.example.com."
msgstr ""
-#: plinth/modules/roundcube/__init__.py:50
+#: plinth/modules/roundcube/__init__.py:51
msgid ""
"For Gmail, username will be your Gmail address, password will be your Google "
"account password and server will be imaps://imap.gmail.com. "
@@ -3916,12 +3909,12 @@ msgstr ""
msgid "Allow this application to be used by anyone who can reach it."
msgstr ""
-#: plinth/modules/searx/views.py:60 plinth/modules/searx/views.py:71
-#: plinth/modules/tor/views.py:139 plinth/modules/tor/views.py:168
+#: plinth/modules/searx/views.py:59 plinth/modules/searx/views.py:70
+#: plinth/modules/tor/views.py:141 plinth/modules/tor/views.py:168
msgid "Configuration updated."
msgstr ""
-#: plinth/modules/searx/views.py:63 plinth/modules/searx/views.py:74
+#: plinth/modules/searx/views.py:62 plinth/modules/searx/views.py:73
#: plinth/modules/tor/views.py:170
msgid "An error occurred during configuration."
msgstr ""
@@ -3976,22 +3969,22 @@ msgid ""
"account, which you will need to setup on the initial visit."
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:34
+#: plinth/modules/shadowsocks/__init__.py:35
msgid "Shadowsocks"
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:36
+#: plinth/modules/shadowsocks/__init__.py:37
msgid "Socks5 Proxy"
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:45
+#: plinth/modules/shadowsocks/__init__.py:44
msgid ""
"Shadowsocks is a lightweight and secure SOCKS5 proxy, designed to protect "
"your Internet traffic. It can be used to bypass Internet filtering and "
"censorship."
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:49
+#: plinth/modules/shadowsocks/__init__.py:48
#, python-brace-format
msgid ""
"Your {box_name} can run a Shadowsocks client, that can connect to a "
@@ -4000,36 +3993,36 @@ msgid ""
"the Shadowsocks server."
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:54
+#: plinth/modules/shadowsocks/__init__.py:53
msgid ""
"To use Shadowsocks after setup, set the SOCKS5 proxy URL in your device, "
"browser or application to http://freedombox_address:1080/"
msgstr ""
+#: plinth/modules/shadowsocks/forms.py:28
#: plinth/modules/shadowsocks/forms.py:29
-#: plinth/modules/shadowsocks/forms.py:30
msgid "Recommended"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:60
+#: plinth/modules/shadowsocks/forms.py:54
#, fuzzy
#| msgid "Service"
msgid "Server"
msgstr "Layanan"
-#: plinth/modules/shadowsocks/forms.py:61
+#: plinth/modules/shadowsocks/forms.py:54
msgid "Server hostname or IP address"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:67
+#: plinth/modules/shadowsocks/forms.py:58
msgid "Server port number"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:71
+#: plinth/modules/shadowsocks/forms.py:61
msgid "Password used to encrypt data. Must match server password."
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:77
+#: plinth/modules/shadowsocks/forms.py:66
msgid "Encryption method. Must match setting on server."
msgstr ""
@@ -4317,7 +4310,7 @@ msgstr ""
msgid "Storage snapshots configuration updated"
msgstr "Konfigurasi Umum"
-#: plinth/modules/snapshot/views.py:153 plinth/modules/tor/views.py:72
+#: plinth/modules/snapshot/views.py:153 plinth/modules/tor/views.py:73
#, python-brace-format
msgid "Action error: {0} [{1}] [{2}]"
msgstr ""
@@ -4351,11 +4344,11 @@ msgstr ""
msgid "Rollback to Snapshot"
msgstr ""
-#: plinth/modules/ssh/__init__.py:39
+#: plinth/modules/ssh/__init__.py:40
msgid "Secure Shell (SSH) Server"
msgstr ""
-#: plinth/modules/ssh/__init__.py:42
+#: plinth/modules/ssh/__init__.py:43
msgid ""
"A Secure Shell server uses the secure shell protocol to accept connections "
"from remote computers. An authorized remote computer can perform "
@@ -4371,11 +4364,11 @@ msgstr ""
msgid "Login"
msgstr ""
-#: plinth/modules/storage/__init__.py:36 plinth/modules/storage/views.py:53
+#: plinth/modules/storage/__init__.py:35 plinth/modules/storage/views.py:53
msgid "Storage"
msgstr ""
-#: plinth/modules/storage/__init__.py:44
+#: plinth/modules/storage/__init__.py:43
#, python-brace-format
msgid ""
"This module allows you to manage storage media attached to your {box_name}. "
@@ -4383,85 +4376,85 @@ msgid ""
"media, expand the root partition etc."
msgstr ""
-#: plinth/modules/storage/__init__.py:211
+#: plinth/modules/storage/__init__.py:213
#, fuzzy, python-brace-format
#| msgid "{disk_size} bytes"
msgid "{disk_size:.1f} bytes"
msgstr "{disk_size} bytes"
-#: plinth/modules/storage/__init__.py:215
+#: plinth/modules/storage/__init__.py:217
#, fuzzy, python-brace-format
#| msgid "{disk_size} KiB"
msgid "{disk_size:.1f} KiB"
msgstr "{disk_size} KiB"
-#: plinth/modules/storage/__init__.py:219
+#: plinth/modules/storage/__init__.py:221
#, fuzzy, python-brace-format
#| msgid "{disk_size} MiB"
msgid "{disk_size:.1f} MiB"
msgstr "{disk_size} MiB"
-#: plinth/modules/storage/__init__.py:223
+#: plinth/modules/storage/__init__.py:225
#, fuzzy, python-brace-format
#| msgid "{disk_size} GiB"
msgid "{disk_size:.1f} GiB"
msgstr "{disk_size} GiB"
-#: plinth/modules/storage/__init__.py:226
+#: plinth/modules/storage/__init__.py:228
#, fuzzy, python-brace-format
#| msgid "{disk_size} TiB"
msgid "{disk_size:.1f} TiB"
msgstr "{disk_size} TiB"
-#: plinth/modules/storage/__init__.py:233
+#: plinth/modules/storage/__init__.py:235
msgid "The operation failed."
msgstr ""
-#: plinth/modules/storage/__init__.py:235
+#: plinth/modules/storage/__init__.py:237
msgid "The operation was cancelled."
msgstr ""
-#: plinth/modules/storage/__init__.py:237
+#: plinth/modules/storage/__init__.py:239
msgid "The device is already unmounting."
msgstr ""
-#: plinth/modules/storage/__init__.py:239
+#: plinth/modules/storage/__init__.py:241
msgid "The operation is not supported due to missing driver/tool support."
msgstr ""
-#: plinth/modules/storage/__init__.py:242
+#: plinth/modules/storage/__init__.py:244
msgid "The operation timed out."
msgstr ""
-#: plinth/modules/storage/__init__.py:244
+#: plinth/modules/storage/__init__.py:246
msgid "The operation would wake up a disk that is in a deep-sleep state."
msgstr ""
-#: plinth/modules/storage/__init__.py:247
+#: plinth/modules/storage/__init__.py:249
msgid "Attempting to unmount a device that is busy."
msgstr ""
-#: plinth/modules/storage/__init__.py:249
+#: plinth/modules/storage/__init__.py:251
msgid "The operation has already been cancelled."
msgstr ""
-#: plinth/modules/storage/__init__.py:255
+#: plinth/modules/storage/__init__.py:257
msgid "Not authorized to perform the requested operation."
msgstr ""
-#: plinth/modules/storage/__init__.py:257
+#: plinth/modules/storage/__init__.py:259
msgid "The device is already mounted."
msgstr ""
-#: plinth/modules/storage/__init__.py:259
+#: plinth/modules/storage/__init__.py:261
msgid "The device is not mounted."
msgstr ""
-#: plinth/modules/storage/__init__.py:262
+#: plinth/modules/storage/__init__.py:264
msgid "Not permitted to use the requested option."
msgstr ""
-#: plinth/modules/storage/__init__.py:265
+#: plinth/modules/storage/__init__.py:267
msgid "The device is mounted by another user."
msgstr ""
@@ -4537,16 +4530,16 @@ msgstr ""
msgid "Error ejecting device: {error_message}"
msgstr ""
-#: plinth/modules/syncthing/__init__.py:38
+#: plinth/modules/syncthing/__init__.py:40
#: plinth/modules/syncthing/manifest.py:28
msgid "Syncthing"
msgstr ""
-#: plinth/modules/syncthing/__init__.py:40
+#: plinth/modules/syncthing/__init__.py:42
msgid "File Synchronization"
msgstr ""
-#: plinth/modules/syncthing/__init__.py:43
+#: plinth/modules/syncthing/__init__.py:45
msgid ""
"Syncthing is an application to synchronize files across multiple devices, e."
"g. your desktop computer and mobile phone. Creation, modification, or "
@@ -4554,7 +4547,7 @@ msgid ""
"other devices that also run Syncthing."
msgstr ""
-#: plinth/modules/syncthing/__init__.py:48
+#: plinth/modules/syncthing/__init__.py:50
#, python-brace-format
msgid ""
"Running Syncthing on {box_name} provides an extra synchronization point for "
@@ -4565,26 +4558,26 @@ msgid ""
"{box_name} is only available for users belonging to the \"admin\" group."
msgstr ""
-#: plinth/modules/syncthing/__init__.py:55
+#: plinth/modules/syncthing/__init__.py:57
msgid ""
"When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile clients are also available."
msgstr ""
-#: plinth/modules/syncthing/__init__.py:62
+#: plinth/modules/syncthing/__init__.py:64
msgid "Administer Syncthing application"
msgstr ""
-#: plinth/modules/tahoe/__init__.py:41
+#: plinth/modules/tahoe/__init__.py:43
msgid "Tahoe-LAFS"
msgstr ""
-#: plinth/modules/tahoe/__init__.py:43
+#: plinth/modules/tahoe/__init__.py:45
msgid "Distributed File Storage"
msgstr ""
-#: plinth/modules/tahoe/__init__.py:107
+#: plinth/modules/tahoe/__init__.py:119
msgid ""
"Tahoe-LAFS is a decentralized secure file storage system. It uses provider "
"independent security to store files over a distributed network of storage "
@@ -4592,7 +4585,7 @@ msgid ""
"remaining nodes."
msgstr ""
-#: plinth/modules/tahoe/__init__.py:112
+#: plinth/modules/tahoe/__init__.py:124
#, python-brace-format
msgid ""
"This {box_name} hosts a storage node and an introducer by default. "
@@ -4639,11 +4632,11 @@ msgstr ""
msgid "Remove"
msgstr ""
-#: plinth/modules/tor/__init__.py:43
+#: plinth/modules/tor/__init__.py:46
msgid "Tor"
msgstr ""
-#: plinth/modules/tor/__init__.py:48
+#: plinth/modules/tor/__init__.py:51
msgid ""
"Tor is an anonymous communication system. You can learn more about it from "
"the Tor Project website. For "
@@ -4652,40 +4645,36 @@ msgid ""
"\">Tor Browser."
msgstr ""
-#: plinth/modules/tor/__init__.py:93
+#: plinth/modules/tor/__init__.py:80
msgid "Tor Socks Proxy"
msgstr ""
-#: plinth/modules/tor/__init__.py:99 plinth/modules/tor/__init__.py:146
+#: plinth/modules/tor/__init__.py:84
msgid "Tor Bridge Relay"
msgstr ""
-#: plinth/modules/tor/__init__.py:120 plinth/modules/tor/__init__.py:188
+#: plinth/modules/tor/__init__.py:122 plinth/modules/tor/__init__.py:150
msgid "Tor Hidden Service"
msgstr ""
-#: plinth/modules/tor/__init__.py:136
-msgid "Tor Anonymity Network"
-msgstr ""
-
-#: plinth/modules/tor/__init__.py:208
+#: plinth/modules/tor/__init__.py:170
msgid "Tor relay port available"
msgstr ""
-#: plinth/modules/tor/__init__.py:218
+#: plinth/modules/tor/__init__.py:180
msgid "Obfs3 transport registered"
msgstr ""
-#: plinth/modules/tor/__init__.py:226
+#: plinth/modules/tor/__init__.py:188
msgid "Obfs4 transport registered"
msgstr ""
-#: plinth/modules/tor/__init__.py:265
+#: plinth/modules/tor/__init__.py:227
#, python-brace-format
msgid "Access URL {url} on tcp{kind} via Tor"
msgstr ""
-#: plinth/modules/tor/__init__.py:276
+#: plinth/modules/tor/__init__.py:238
#, python-brace-format
msgid "Confirm Tor usage at {url} on tcp{kind}"
msgstr ""
@@ -4821,18 +4810,18 @@ msgstr "SOCKS"
msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050."
msgstr ""
-#: plinth/modules/transmission/__init__.py:39
+#: plinth/modules/transmission/__init__.py:41
#: plinth/modules/transmission/manifest.py:24
msgid "Transmission"
msgstr ""
-#: plinth/modules/transmission/__init__.py:44
+#: plinth/modules/transmission/__init__.py:46
msgid ""
"BitTorrent is a peer-to-peer file sharing protocol. Transmission daemon "
"handles Bitorrent file sharing. Note that BitTorrent is not anonymous."
msgstr ""
-#: plinth/modules/transmission/__init__.py:47
+#: plinth/modules/transmission/__init__.py:49
msgid ""
"Access the web interface at /transmission."
msgstr ""
@@ -4848,22 +4837,22 @@ msgid ""
"\" user."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:41 plinth/modules/ttrss/manifest.py:34
+#: plinth/modules/ttrss/__init__.py:43 plinth/modules/ttrss/manifest.py:34
msgid "Tiny Tiny RSS"
msgstr ""
-#: plinth/modules/ttrss/__init__.py:43
+#: plinth/modules/ttrss/__init__.py:45
msgid "News Feed Reader"
msgstr ""
-#: plinth/modules/ttrss/__init__.py:46
+#: plinth/modules/ttrss/__init__.py:48
msgid ""
"Tiny Tiny RSS is a news feed (RSS/Atom) reader and aggregator, designed to "
"allow reading news from any location, while feeling as close to a real "
"desktop application as possible."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:50
+#: plinth/modules/ttrss/__init__.py:52
#, python-brace-format
msgid ""
"When enabled, Tiny Tiny RSS will be available from /tt-"
@@ -4871,13 +4860,13 @@ msgid ""
"\"{users_url}\">user with a {box_name} login."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:55
+#: plinth/modules/ttrss/__init__.py:57
msgid ""
"When using a mobile or desktop application for Tiny Tiny RSS, use the URL /tt-rss-app for connecting."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:61
+#: plinth/modules/ttrss/__init__.py:63
msgid "Read and subscribe to news feeds"
msgstr ""
@@ -4885,11 +4874,11 @@ msgstr ""
msgid "Tiny Tiny RSS (Fork)"
msgstr ""
-#: plinth/modules/upgrades/__init__.py:36 plinth/templates/setup.html:101
+#: plinth/modules/upgrades/__init__.py:35 plinth/templates/setup.html:101
msgid "Update"
msgstr ""
-#: plinth/modules/upgrades/__init__.py:39
+#: plinth/modules/upgrades/__init__.py:38
msgid "Check for and apply the latest software and security updates."
msgstr ""
@@ -4930,34 +4919,34 @@ msgstr ""
msgid "Auto-update"
msgstr "Automatic"
-#: plinth/modules/upgrades/views.py:39
+#: plinth/modules/upgrades/views.py:40
#, fuzzy
#| msgid "Manual"
msgid "Manual update"
msgstr "Panduan"
-#: plinth/modules/upgrades/views.py:78
+#: plinth/modules/upgrades/views.py:79
#, python-brace-format
msgid "Error when configuring unattended-upgrades: {error}"
msgstr ""
-#: plinth/modules/upgrades/views.py:82
+#: plinth/modules/upgrades/views.py:83
msgid "Automatic upgrades enabled"
msgstr ""
-#: plinth/modules/upgrades/views.py:85
+#: plinth/modules/upgrades/views.py:86
msgid "Automatic upgrades disabled"
msgstr ""
-#: plinth/modules/upgrades/views.py:87
+#: plinth/modules/upgrades/views.py:88
msgid "Settings unchanged"
msgstr ""
-#: plinth/modules/upgrades/views.py:113
+#: plinth/modules/upgrades/views.py:114
msgid "Upgrade process started."
msgstr ""
-#: plinth/modules/upgrades/views.py:116
+#: plinth/modules/upgrades/views.py:117
msgid "Starting upgrade failed."
msgstr ""
@@ -4965,7 +4954,7 @@ msgstr ""
msgid "Users and Groups"
msgstr ""
-#: plinth/modules/users/__init__.py:106
+#: plinth/modules/users/__init__.py:108
#, python-brace-format
msgid "Check LDAP entry \"{search_item}\""
msgstr ""
@@ -5179,15 +5168,6 @@ msgstr ""
msgid "configuration file: {file}"
msgstr ""
-#: plinth/service.py:140
-msgid "Web Server over Secure Socket Layer"
-msgstr ""
-
-#: plinth/service.py:145
-#, python-brace-format
-msgid "{box_name} Web Interface (Plinth)"
-msgstr ""
-
#: plinth/templates/403.html:25
msgid "403 Forbidden"
msgstr ""
@@ -5396,16 +5376,16 @@ msgstr ""
msgid "Mailing list"
msgstr ""
-#: plinth/templates/internal-zone.html:25
+#: plinth/templates/internal-zone.html:26
#, python-format
msgid "%(service_name)s is available only on internal networks."
msgstr ""
-#: plinth/templates/internal-zone.html:31
+#: plinth/templates/internal-zone.html:32
msgid "Currently there are no network interfaces configured as internal."
msgstr ""
-#: plinth/templates/internal-zone.html:33
+#: plinth/templates/internal-zone.html:34
#, python-format
msgid ""
"Currently the following network interfaces are configured as internal: "
@@ -5470,6 +5450,14 @@ msgstr ""
msgid "%(percentage)s%% complete"
msgstr ""
+#: plinth/views.py:178
+msgid "Application enabled"
+msgstr ""
+
+#: plinth/views.py:181
+msgid "Application disabled"
+msgstr ""
+
#: plinth/web_framework.py:186
msgid "Gujarati"
msgstr ""
diff --git a/plinth/locale/it/LC_MESSAGES/django.po b/plinth/locale/it/LC_MESSAGES/django.po
index 8c16a100e..f44744c03 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: 2019-06-10 19:02-0400\n"
+"POT-Creation-Date: 2019-06-24 19:48-0400\n"
"PO-Revision-Date: 2019-03-13 15:03+0000\n"
"Last-Translator: Dietmar \n"
"Language-Team: Italian /"
@@ -503,14 +514,14 @@ msgstr ""
"informazioni sensibili e le possibilità di alterare il sistema sono limitate "
"agli utenti appartenenti al gruppo admin."
-#: plinth/modules/config/__init__.py:59 plinth/modules/dynamicdns/views.py:44
+#: plinth/modules/config/__init__.py:61 plinth/modules/dynamicdns/views.py:45
#: plinth/modules/i2p/views.py:31 plinth/modules/ikiwiki/views.py:35
#: plinth/modules/pagekite/views.py:36 plinth/modules/snapshot/views.py:40
#: plinth/modules/tahoe/templates/tahoe-pre-setup.html:39
msgid "Configure"
msgstr "Configura"
-#: plinth/modules/config/__init__.py:164 plinth/modules/config/forms.py:76
+#: plinth/modules/config/__init__.py:166 plinth/modules/config/forms.py:76
#: plinth/modules/config/views.py:171 plinth/modules/dynamicdns/forms.py:111
msgid "Domain Name"
msgstr "Nome Dominio"
@@ -595,8 +606,8 @@ msgstr ""
#: plinth/modules/power/templates/power_restart.html:42
#: plinth/modules/power/templates/power_shutdown.html:41
#: plinth/modules/storage/templates/storage.html:48
-#: plinth/templates/service-subsubmenu.html:47 plinth/templates/service.html:42
-#: plinth/templates/setup.html:48 plinth/templates/simple_service.html:38
+#: plinth/templates/app-subsubmenu.html:47 plinth/templates/app.html:42
+#: plinth/templates/setup.html:48 plinth/templates/simple_app.html:38
msgid "Learn more..."
msgstr "Impara di più..."
@@ -647,16 +658,16 @@ msgstr ""
msgid "Hiding advanced apps and features"
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:38
+#: plinth/modules/coquelicot/__init__.py:40
msgid "Coquelicot"
msgstr "Coquelicot"
-#: plinth/modules/coquelicot/__init__.py:40
+#: plinth/modules/coquelicot/__init__.py:42
#, fuzzy
msgid "File Sharing"
msgstr "Condivisione File"
-#: plinth/modules/coquelicot/__init__.py:43
+#: plinth/modules/coquelicot/__init__.py:45
msgid ""
"Coquelicot is a “one-click” file sharing web application with a focus on "
"protecting users’ privacy. It is best used for quickly sharing a single "
@@ -666,7 +677,7 @@ msgstr ""
"focus sulla riservatezza dell'utente. È l'ideale per la condivisione rapida "
"di singoli file. "
-#: plinth/modules/coquelicot/__init__.py:46
+#: plinth/modules/coquelicot/__init__.py:48
msgid ""
"This Coquelicot instance is exposed to the public but requires an upload "
"password to prevent unauthorized access. You can set a new upload password "
@@ -703,20 +714,20 @@ msgstr ""
msgid "coquelicot"
msgstr "coquelicot"
-#: plinth/modules/coquelicot/views.py:57
+#: plinth/modules/coquelicot/views.py:59
msgid "Upload password updated"
msgstr "Password upload aggiornata"
-#: plinth/modules/coquelicot/views.py:60
+#: plinth/modules/coquelicot/views.py:62
msgid "Failed to update upload password"
msgstr "Aggiornamento password upload fallito"
-#: plinth/modules/coquelicot/views.py:68
+#: plinth/modules/coquelicot/views.py:70
#, fuzzy
msgid "Maximum file size updated"
msgstr "Grandezza massima file caricati"
-#: plinth/modules/coquelicot/views.py:71
+#: plinth/modules/coquelicot/views.py:73
#, fuzzy
msgid "Failed to update maximum file size"
msgstr "Aggiornamento dimensione massima file fallito"
@@ -733,15 +744,15 @@ msgstr ""
"Network time server è un programma che mantiene l'ora del sistema in "
"sincronizzazione con i server in Internet."
-#: plinth/modules/datetime/__init__.py:107
+#: plinth/modules/datetime/__init__.py:99
msgid "Time synchronized to NTP server"
msgstr ""
-#: plinth/modules/datetime/forms.py:36
+#: plinth/modules/datetime/forms.py:35
msgid "Time Zone"
msgstr "Fuso Orario"
-#: plinth/modules/datetime/forms.py:37
+#: plinth/modules/datetime/forms.py:36
#, fuzzy
msgid ""
"Set your time zone to get accurate timestamps. This will set the system-wide "
@@ -750,7 +761,7 @@ msgstr ""
"Imposta il fuso orario appropriato per avere una orario preciso. Questo "
"imposterà l'ora di sistema."
-#: plinth/modules/datetime/forms.py:49
+#: plinth/modules/datetime/forms.py:47
msgid "-- no time zone set --"
msgstr "-- fuso orario non impostato --"
@@ -769,7 +780,7 @@ msgid "Deluge"
msgstr "Delege"
#: plinth/modules/deluge/__init__.py:41
-#: plinth/modules/transmission/__init__.py:41
+#: plinth/modules/transmission/__init__.py:43
msgid "BitTorrent Web Client"
msgstr "Web Client BitTorrent"
@@ -789,7 +800,7 @@ msgstr ""
"servizio."
#: plinth/modules/deluge/__init__.py:51
-#: plinth/modules/transmission/__init__.py:54
+#: plinth/modules/transmission/__init__.py:56
msgid "Download files using BitTorrent applications"
msgstr "Scarica file usando applicazioni BitTorrent"
@@ -854,12 +865,12 @@ msgstr "Test"
msgid "Result"
msgstr "Risultato"
-#: plinth/modules/diaspora/__init__.py:52
+#: plinth/modules/diaspora/__init__.py:54
#: plinth/modules/diaspora/manifest.py:38
msgid "diaspora*"
msgstr "diaspora*"
-#: plinth/modules/diaspora/__init__.py:54
+#: plinth/modules/diaspora/__init__.py:56
msgid "Federated Social Network"
msgstr "Sociale Network Distribuito"
@@ -917,22 +928,22 @@ msgstr ""
#: plinth/modules/tahoe/templates/tahoe-pre-setup.html:58
#: plinth/modules/tor/templates/tor.html:96
#: plinth/modules/upgrades/templates/upgrades_configure.html:32
-#: plinth/templates/service.html:89
+#: plinth/templates/app.html:89
msgid "Update setup"
msgstr "Aggiorna impostazioni"
-#: plinth/modules/diaspora/views.py:97 plinth/modules/ejabberd/views.py:64
-#: plinth/modules/matrixsynapse/views.py:107
-#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:150
-#: plinth/modules/tor/views.py:146 plinth/views.py:160
+#: plinth/modules/diaspora/views.py:94 plinth/modules/ejabberd/views.py:65
+#: plinth/modules/matrixsynapse/views.py:108
+#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:148
+#: plinth/modules/tor/views.py:148 plinth/views.py:174
msgid "Setting unchanged"
msgstr "Impostazioni invariate"
-#: plinth/modules/diaspora/views.py:101
+#: plinth/modules/diaspora/views.py:98
msgid "User registrations enabled"
msgstr "Registrazione utenti abilitata"
-#: plinth/modules/diaspora/views.py:105
+#: plinth/modules/diaspora/views.py:102
msgid "User registrations disabled"
msgstr "Registrazione utenti disabilitqta"
@@ -968,8 +979,8 @@ msgstr ""
"tuo nome DNS al nuovo IP, e se qualcuno cercherà il tuo nome DNS in "
"Internet, riceverà come risposta l'indirizzo IP corrente."
-#: plinth/modules/dynamicdns/__init__.py:85
-#: plinth/modules/dynamicdns/views.py:167
+#: plinth/modules/dynamicdns/__init__.py:87
+#: plinth/modules/dynamicdns/views.py:169
msgid "Dynamic DNS Service"
msgstr "Servizio DNS Dinamico"
@@ -1075,7 +1086,7 @@ msgid "Username"
msgstr "Nome utente"
#: plinth/modules/dynamicdns/forms.py:121 plinth/modules/networks/forms.py:235
-#: plinth/modules/shadowsocks/forms.py:70
+#: plinth/modules/shadowsocks/forms.py:61
msgid "Password"
msgstr "Password"
@@ -1179,39 +1190,39 @@ msgstr ""
msgid "Last update"
msgstr "Ultimo aggiornamento"
-#: plinth/modules/dynamicdns/views.py:41 plinth/modules/help/help.py:57
+#: plinth/modules/dynamicdns/views.py:41 plinth/modules/help/help.py:59
msgid "About"
msgstr "About"
-#: plinth/modules/dynamicdns/views.py:47
+#: plinth/modules/dynamicdns/views.py:49
#: plinth/modules/firewall/templates/firewall.html:25
#: plinth/modules/firewall/templates/firewall.html:45
#: plinth/modules/i2p/templates/i2p.html:27
#: plinth/modules/networks/templates/connection_show.html:261
#: plinth/modules/openvpn/templates/openvpn.html:71
#: plinth/modules/tor/templates/tor.html:40
-#: plinth/modules/tor/templates/tor.html:68 plinth/templates/service.html:51
+#: plinth/modules/tor/templates/tor.html:68 plinth/templates/app.html:51
msgid "Status"
msgstr "Stato"
-#: plinth/modules/dynamicdns/views.py:78
+#: plinth/modules/dynamicdns/views.py:80
msgid "Configure Dynamic DNS"
msgstr "Configura Server DNS"
-#: plinth/modules/dynamicdns/views.py:103
+#: plinth/modules/dynamicdns/views.py:105
msgid "Dynamic DNS Status"
msgstr "Stato DNS Dinamico"
-#: plinth/modules/ejabberd/__init__.py:43
+#: plinth/modules/ejabberd/__init__.py:45
msgid "ejabberd"
msgstr "ejabberd"
-#: plinth/modules/ejabberd/__init__.py:45
-#: plinth/modules/matrixsynapse/__init__.py:43
+#: plinth/modules/ejabberd/__init__.py:47
+#: plinth/modules/matrixsynapse/__init__.py:45
msgid "Chat Server"
msgstr "Server Chat"
-#: plinth/modules/ejabberd/__init__.py:48
+#: plinth/modules/ejabberd/__init__.py:50
msgid ""
"XMPP is an open and standardized communication protocol. Here you can run "
"and configure your XMPP server, called ejabberd."
@@ -1219,7 +1230,7 @@ msgstr ""
"XMPP è un protocollo di comunicazione aperto e standardizzato. Qui puoi "
"eseguire e configurare il tuo server XMPP, chiamato ejabberd."
-#: plinth/modules/ejabberd/__init__.py:51
+#: plinth/modules/ejabberd/__init__.py:53
#, fuzzy, python-brace-format
msgid ""
"To actually communicate, you can use the web client"
@@ -1233,11 +1244,11 @@ msgstr ""
"accedere a ejabberd da ogni utente con un "
"login {box_name}."
-#: plinth/modules/ejabberd/forms.py:33
+#: plinth/modules/ejabberd/forms.py:32
msgid "Enable Message Archive Management"
msgstr "Abilita Gestione Archivio Messaggi"
-#: plinth/modules/ejabberd/forms.py:36
+#: plinth/modules/ejabberd/forms.py:34
#, fuzzy, python-brace-format
msgid ""
"If enabled, your {box_name} will store chat message histories. This allows "
@@ -1322,35 +1333,23 @@ msgstr "Avvia client web"
#: plinth/modules/openvpn/templates/openvpn.html:123
#: plinth/modules/snapshot/templates/snapshot.html:27
#: plinth/modules/tahoe/templates/tahoe-post-setup.html:43
-#: plinth/modules/tor/templates/tor.html:88 plinth/templates/service.html:81
+#: plinth/modules/tor/templates/tor.html:88 plinth/templates/app.html:81
msgid "Configuration"
msgstr "Configurazione"
-#: plinth/modules/ejabberd/views.py:68
-#: plinth/modules/matrixsynapse/views.py:111
-#: plinth/modules/mediawiki/views.py:79 plinth/views.py:164
-msgid "Application enabled"
-msgstr "Applicazione abilitata"
-
-#: plinth/modules/ejabberd/views.py:71
-#: plinth/modules/matrixsynapse/views.py:114
-#: plinth/modules/mediawiki/views.py:82 plinth/views.py:167
-msgid "Application disabled"
-msgstr "Applicazione disabilitata"
-
-#: plinth/modules/ejabberd/views.py:78
+#: plinth/modules/ejabberd/views.py:77
msgid "Message Archive Management enabled"
msgstr "Gestione Archivio Messaggi abilitata"
-#: plinth/modules/ejabberd/views.py:82
+#: plinth/modules/ejabberd/views.py:81
msgid "Message Archive Management disabled"
msgstr "Gestione Archivio Messaggi disabilitata"
-#: plinth/modules/firewall/__init__.py:40
+#: plinth/modules/firewall/__init__.py:36
msgid "Firewall"
msgstr "Firewall"
-#: plinth/modules/firewall/__init__.py:44
+#: plinth/modules/firewall/__init__.py:40
#, python-brace-format
msgid ""
"Firewall is a security system that controls the incoming and outgoing "
@@ -1473,29 +1472,29 @@ msgstr "Avvia Configurazione"
msgid "Setup Complete"
msgstr "Configurazione Completata"
-#: plinth/modules/help/help.py:44
+#: plinth/modules/help/help.py:46
msgid "Documentation"
msgstr "Documentazione"
-#: plinth/modules/help/help.py:48 plinth/modules/networks/forms.py:68
+#: plinth/modules/help/help.py:50 plinth/modules/networks/forms.py:68
#: plinth/modules/networks/forms.py:108 plinth/templates/index.html:135
msgid "Manual"
msgstr "Manuale"
-#: plinth/modules/help/help.py:53
+#: plinth/modules/help/help.py:55
msgid "Download Manual"
msgstr "Scarica Manuale"
-#: plinth/modules/help/help.py:73
+#: plinth/modules/help/help.py:75
msgid "Documentation and FAQ"
msgstr "FAQ e documentazione"
-#: plinth/modules/help/help.py:81
+#: plinth/modules/help/help.py:83
#, fuzzy, python-brace-format
msgid "About {box_name}"
msgstr "Sul {box_name}"
-#: plinth/modules/help/help.py:102
+#: plinth/modules/help/help.py:104
#, python-brace-format
msgid "{box_name} Manual"
msgstr "Manuale {box_name}"
@@ -1651,15 +1650,15 @@ msgstr ""
"Per favore rimuovi qualsiasi password o altre informazioni personali dal "
"log prima di allegarlo a questo report ug."
-#: plinth/modules/i2p/__init__.py:40 plinth/modules/i2p/manifest.py:31
+#: plinth/modules/i2p/__init__.py:42 plinth/modules/i2p/manifest.py:31
msgid "I2P"
msgstr ""
-#: plinth/modules/i2p/__init__.py:42 plinth/modules/tor/__init__.py:45
+#: plinth/modules/i2p/__init__.py:44 plinth/modules/tor/__init__.py:48
msgid "Anonymity Network"
msgstr ""
-#: plinth/modules/i2p/__init__.py:45
+#: plinth/modules/i2p/__init__.py:47
msgid ""
"The Invisible Internet Project is an anonymous network layer intended to "
"protect communication from censorship and surveillance. I2P provides "
@@ -1667,7 +1666,7 @@ msgid ""
"distributed around the world."
msgstr ""
-#: plinth/modules/i2p/__init__.py:49
+#: plinth/modules/i2p/__init__.py:51
#, fuzzy
msgid ""
"Find more information about I2P on their project "
-#: plinth/modules/i2p/__init__.py:51
+#: plinth/modules/i2p/__init__.py:53
msgid ""
"The first visit to the provided web interface will initiate the "
"configuration process."
msgstr ""
-#: plinth/modules/i2p/__init__.py:57
+#: plinth/modules/i2p/__init__.py:59
#, fuzzy
#| msgid "Enable application"
msgid "Manage I2P application"
msgstr "Abilita applicazione"
-#: plinth/modules/i2p/templates/i2p.html:32 plinth/templates/service.html:56
+#: plinth/modules/i2p/templates/i2p.html:32 plinth/templates/app.html:56
#, python-format
msgid "Service %(service_name)s is running."
msgstr ""
-#: plinth/modules/i2p/templates/i2p.html:37 plinth/templates/service.html:61
+#: plinth/modules/i2p/templates/i2p.html:37 plinth/templates/app.html:61
#, python-format
msgid "Service %(service_name)s is not running."
msgstr ""
-#: plinth/modules/i2p/templates/i2p_service.html:13
+#: plinth/modules/i2p/templates/i2p_service.html:31
#: plinth/templates/clients.html:51
msgid "Launch"
msgstr ""
@@ -1711,43 +1710,43 @@ msgstr ""
msgid "Anonymous torrents"
msgstr ""
-#: plinth/modules/i2p/views.py:86
+#: plinth/modules/i2p/views.py:88
msgid "I2P Proxies and Tunnels"
msgstr ""
-#: plinth/modules/i2p/views.py:89
+#: plinth/modules/i2p/views.py:91
msgid ""
"I2P lets you browse the Internet and hidden services (eepsites) anonymously. "
"For this, your browser, preferably a Tor Browser, needs to be configured for "
"a proxy."
msgstr ""
-#: plinth/modules/i2p/views.py:92
+#: plinth/modules/i2p/views.py:94
msgid ""
"By default HTTP, HTTPS and IRC proxies are available. Additional proxies and "
"tunnels may be configured using the tunnel configuration interface."
msgstr ""
-#: plinth/modules/i2p/views.py:101
+#: plinth/modules/i2p/views.py:103
msgid "Anonymous Torrents"
msgstr ""
-#: plinth/modules/i2p/views.py:104
+#: plinth/modules/i2p/views.py:106
msgid ""
"I2P provides an application to download files anonymously in a peer-to-peer "
"network. Download files by adding torrents or create a new torrent to share "
"a file."
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:42 plinth/modules/ikiwiki/manifest.py:24
+#: plinth/modules/ikiwiki/__init__.py:41 plinth/modules/ikiwiki/manifest.py:24
msgid "ikiwiki"
msgstr "ikiwiki"
-#: plinth/modules/ikiwiki/__init__.py:44
+#: plinth/modules/ikiwiki/__init__.py:43
msgid "Wiki and Blog"
msgstr "Wiki e Blog"
-#: plinth/modules/ikiwiki/__init__.py:47
+#: plinth/modules/ikiwiki/__init__.py:46
#, fuzzy
msgid ""
"ikiwiki is a simple wiki and blog application. It supports several "
@@ -1760,7 +1759,7 @@ msgstr ""
"blogging come commenti e feed RSS. Quando abilitato, i blog e wiki saranno "
"disponibili su /ikiwiki/, una volta creati."
-#: plinth/modules/ikiwiki/__init__.py:53
+#: plinth/modules/ikiwiki/__init__.py:52
#, fuzzy, python-brace-format
msgid ""
"Only {box_name} users in the admin group can create and "
@@ -1774,7 +1773,7 @@ msgstr ""
"Configurazione Utente è possibile cambiare questi permessi o aggiungere "
"nuovi utenti."
-#: plinth/modules/ikiwiki/__init__.py:63
+#: plinth/modules/ikiwiki/__init__.py:62
msgid "View and edit wiki applications"
msgstr "Vedi e modifica le applicazioni wiki"
@@ -1845,50 +1844,50 @@ msgstr "Vai nel sito %(site)s"
msgid "Manage"
msgstr "Gestisci"
-#: plinth/modules/ikiwiki/views.py:121
+#: plinth/modules/ikiwiki/views.py:124
#, python-brace-format
msgid "Created wiki {name}."
msgstr "Creato wiki {name}."
-#: plinth/modules/ikiwiki/views.py:124
+#: plinth/modules/ikiwiki/views.py:127
#, fuzzy, python-brace-format
msgid "Could not create wiki: {error}"
msgstr "Non è stato possibile creare l'wiki:{error}"
-#: plinth/modules/ikiwiki/views.py:134
+#: plinth/modules/ikiwiki/views.py:137
#, python-brace-format
msgid "Created blog {name}."
msgstr "Creato blog {name}."
-#: plinth/modules/ikiwiki/views.py:137
+#: plinth/modules/ikiwiki/views.py:140
#, python-brace-format
msgid "Could not create blog: {error}"
msgstr "Non è stato possibile creare il blog: {error}"
-#: plinth/modules/ikiwiki/views.py:150
+#: plinth/modules/ikiwiki/views.py:153
#, python-brace-format
msgid "{name} deleted."
msgstr "{name} cancellato."
-#: plinth/modules/ikiwiki/views.py:154
+#: plinth/modules/ikiwiki/views.py:157
#, python-brace-format
msgid "Could not delete {name}: {error}"
msgstr "Non è stato possibile cancellare {name}: {error}"
-#: plinth/modules/infinoted/__init__.py:41
+#: plinth/modules/infinoted/__init__.py:40
msgid "infinoted"
msgstr "infinoted"
-#: plinth/modules/infinoted/__init__.py:43
+#: plinth/modules/infinoted/__init__.py:42
msgid "Gobby Server"
msgstr "Gobby Server"
-#: plinth/modules/infinoted/__init__.py:46
+#: plinth/modules/infinoted/__init__.py:45
#, fuzzy
msgid "infinoted is a server for Gobby, a collaborative text editor."
msgstr "infinoted è un server per Gobby, un editore testuale comunitario."
-#: plinth/modules/infinoted/__init__.py:48
+#: plinth/modules/infinoted/__init__.py:47
#, fuzzy, python-brace-format
msgid ""
"To use it, download Gobby, desktop "
@@ -2267,11 +2266,11 @@ msgstr "Certificato cancellato correttamente per il dominio {domain}"
msgid "Failed to delete certificate for domain {domain}: {error}"
msgstr "Cancellazione certificato fallita per il dominio {domain}:{error}"
-#: plinth/modules/matrixsynapse/__init__.py:41
+#: plinth/modules/matrixsynapse/__init__.py:43
msgid "Matrix Synapse"
msgstr "Matrix Synapse"
-#: plinth/modules/matrixsynapse/__init__.py:46
+#: plinth/modules/matrixsynapse/__init__.py:48
msgid ""
"Matrix is an new "
"ecosystem for open, federated instant messaging and VoIP. Synapse is a "
@@ -2288,7 +2287,7 @@ msgstr ""
"Gli utenti di un certo server Matrix possono comunicare con gli altri utenti "
"attestati su tutti gli altri server Matrix tramite federazione."
-#: plinth/modules/matrixsynapse/__init__.py:53
+#: plinth/modules/matrixsynapse/__init__.py:55
msgid ""
"To communicate, you can use the available clients for mobile, desktop and the web. Speciale:CreateAccount."
-#: plinth/modules/mediawiki/__init__.py:49
+#: plinth/modules/mediawiki/__init__.py:53
msgid ""
"Anyone with a link to this wiki can read it. Only users that are logged in "
"can make changes to the content."
@@ -2468,32 +2467,32 @@ msgstr ""
msgid "Password updated"
msgstr "Password aggiornata"
-#: plinth/modules/mediawiki/views.py:91
+#: plinth/modules/mediawiki/views.py:89
msgid "Public registrations enabled"
msgstr ""
-#: plinth/modules/mediawiki/views.py:100
+#: plinth/modules/mediawiki/views.py:98
msgid "Public registrations disabled"
msgstr ""
-#: plinth/modules/mediawiki/views.py:109
+#: plinth/modules/mediawiki/views.py:107
msgid "Private mode enabled"
msgstr ""
-#: plinth/modules/mediawiki/views.py:112
+#: plinth/modules/mediawiki/views.py:110
msgid "Private mode disabled"
msgstr ""
-#: plinth/modules/minetest/__init__.py:53
+#: plinth/modules/minetest/__init__.py:52
#: plinth/modules/minetest/manifest.py:25
msgid "Minetest"
msgstr "Minetest"
-#: plinth/modules/minetest/__init__.py:55
+#: plinth/modules/minetest/__init__.py:54
msgid "Block Sandbox"
msgstr "Block Sandbox"
-#: plinth/modules/minetest/__init__.py:59
+#: plinth/modules/minetest/__init__.py:58
#, python-brace-format
msgid ""
"Minetest is a multiplayer infinite-world block sandbox. This module enables "
@@ -2506,11 +2505,11 @@ msgstr ""
"porta predefinita (30000). Per connettersi al server, è necessario un client Minetest."
-#: plinth/modules/minetest/forms.py:31
+#: plinth/modules/minetest/forms.py:30
msgid "Maximum number of players"
msgstr "Numero massimo di giocatori"
-#: plinth/modules/minetest/forms.py:35
+#: plinth/modules/minetest/forms.py:32
msgid ""
"You can change the maximum number of players playing minetest at a single "
"instance of time."
@@ -2518,11 +2517,11 @@ msgstr ""
"È possibile cambiare il numero massimo di giocatori che usa Minetest nello "
"stesso momento."
-#: plinth/modules/minetest/forms.py:39
+#: plinth/modules/minetest/forms.py:36
msgid "Enable creative mode"
msgstr "Abilita modalità creativa"
-#: plinth/modules/minetest/forms.py:41
+#: plinth/modules/minetest/forms.py:37
msgid ""
"Creative mode changes the rules of the game to make it more suitable for "
"creative gameplay, rather than challenging \"survival\" gameplay."
@@ -2531,21 +2530,21 @@ msgstr ""
"gameplay creativo, piuttosto che uno stimolante stile di gioco di "
"\"sopravvivenza\"."
-#: plinth/modules/minetest/forms.py:46
+#: plinth/modules/minetest/forms.py:42
msgid "Enable PVP"
msgstr "Abilita PVP"
-#: plinth/modules/minetest/forms.py:48
+#: plinth/modules/minetest/forms.py:43
msgid "Enabling Player Vs Player will allow players to damage other players."
msgstr ""
"L'abilitazione di Player VS Player, consentirà ai giocatori di danneggiare "
"altri giocatori."
-#: plinth/modules/minetest/forms.py:52
+#: plinth/modules/minetest/forms.py:47
msgid "Enable damage"
msgstr "Abilita danni"
-#: plinth/modules/minetest/forms.py:54
+#: plinth/modules/minetest/forms.py:48
msgid "When disabled, players cannot die or receive damage of any kind."
msgstr ""
"Quando disabilitato i giocatori non potranno morire o subire nessun tipo di "
@@ -2561,54 +2560,54 @@ msgstr "Indirizzo"
msgid "Port"
msgstr "Porta"
-#: plinth/modules/minetest/views.py:71
+#: plinth/modules/minetest/views.py:72
msgid "Maximum players configuration updated"
msgstr "Configurazione \"numero massimo giocatori\" aggiornata"
-#: plinth/modules/minetest/views.py:78
+#: plinth/modules/minetest/views.py:79
msgid "Creative mode configuration updated"
msgstr "Configurazione \"Modalità creativa\" aggiornata"
-#: plinth/modules/minetest/views.py:84
+#: plinth/modules/minetest/views.py:85
msgid "PVP configuration updated"
msgstr "Configurazione PVP aggiornata"
-#: plinth/modules/minetest/views.py:90
+#: plinth/modules/minetest/views.py:91
#, fuzzy
msgid "Damage configuration updated"
msgstr "Configurazione \"danni\" abilitata"
-#: plinth/modules/mldonkey/__init__.py:38
+#: plinth/modules/mldonkey/__init__.py:40
#: plinth/modules/mldonkey/manifest.py:27
msgid "MLDonkey"
msgstr "MLDonkey"
-#: plinth/modules/mldonkey/__init__.py:40
+#: plinth/modules/mldonkey/__init__.py:42
#, fuzzy
msgid "Peer-to-peer File Sharing"
msgstr "Condivisione File"
-#: plinth/modules/mldonkey/__init__.py:43
+#: plinth/modules/mldonkey/__init__.py:45
msgid ""
"MLDonkey is a peer-to-peer file sharing application used to exchange large "
"files. It can participate in multiple peer-to-peer networks including "
"eDonkey, Kademlia, Overnet, BitTorrent and DirectConnect."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:46
+#: plinth/modules/mldonkey/__init__.py:48
msgid ""
"Users belonging to admin and ed2k group can control it through the web "
"interface. Users in the admin group can also control it through any of the "
"separate mobile or desktop front-ends or a telnet interface. See manual."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:51
+#: plinth/modules/mldonkey/__init__.py:53
#, python-brace-format
msgid ""
"On {box_name}, downloaded files can be found in /var/lib/mldonkey/ directory."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:59
+#: plinth/modules/mldonkey/__init__.py:61
msgid "Download files using eDonkey applications"
msgstr "Scarica file usando applicazioni eDonkey"
@@ -2684,12 +2683,6 @@ msgstr "OpenPGP Fingerprint"
msgid "Secure Shell"
msgstr "Secure Shell"
-#: plinth/modules/monkeysphere/templates/monkeysphere.html:88
-#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:60
-#: plinth/service.py:138
-msgid "Web Server"
-msgstr "Web Server"
-
#: plinth/modules/monkeysphere/templates/monkeysphere.html:90
#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:62
msgid "Other"
@@ -2785,15 +2778,15 @@ msgstr "Chiave pubblicata nel keyserver."
msgid "Error occurred while publishing key."
msgstr "Errore sorto durante la pubblicazione della chiave."
-#: plinth/modules/mumble/__init__.py:34 plinth/modules/mumble/manifest.py:27
+#: plinth/modules/mumble/__init__.py:35 plinth/modules/mumble/manifest.py:27
msgid "Mumble"
msgstr "Mumble"
-#: plinth/modules/mumble/__init__.py:36
+#: plinth/modules/mumble/__init__.py:37
msgid "Voice Chat"
msgstr "Voice Chat"
-#: plinth/modules/mumble/__init__.py:45
+#: plinth/modules/mumble/__init__.py:44
msgid ""
"Mumble is an open source, low-latency, encrypted, high quality voice chat "
"software."
@@ -2801,7 +2794,7 @@ msgstr ""
"Mumble è un software di chat vocale ad alta qualità, a bassa latenza, "
"cifrato e open source."
-#: plinth/modules/mumble/__init__.py:47
+#: plinth/modules/mumble/__init__.py:46
msgid ""
"You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your "
@@ -2852,7 +2845,7 @@ msgstr "Non Disponibile"
msgid "Networks"
msgstr "Reti"
-#: plinth/modules/networks/__init__.py:142
+#: plinth/modules/networks/__init__.py:144
#, python-brace-format
msgid "Using DNSSEC on IPv{kind}"
msgstr "Utilizzo DNSSEC su IPv{kind}"
@@ -3311,7 +3304,7 @@ msgstr "IPv4"
#: plinth/modules/networks/templates/connection_show.html:186
#: plinth/modules/networks/templates/connection_show.html:227
-#: plinth/modules/shadowsocks/forms.py:75
+#: plinth/modules/shadowsocks/forms.py:65
msgid "Method"
msgstr "Metodo"
@@ -3444,15 +3437,15 @@ msgstr "Inattiva"
msgid "Create..."
msgstr "Crea..."
-#: plinth/modules/openvpn/__init__.py:40
+#: plinth/modules/openvpn/__init__.py:39
msgid "OpenVPN"
msgstr "OpenVPN"
-#: plinth/modules/openvpn/__init__.py:42
+#: plinth/modules/openvpn/__init__.py:41
msgid "Virtual Private Network"
msgstr "Virtual Private Network"
-#: plinth/modules/openvpn/__init__.py:46
+#: plinth/modules/openvpn/__init__.py:45
#, python-brace-format
msgid ""
"Virtual Private Network (VPN) is a technique for securely connecting two "
@@ -3469,7 +3462,7 @@ msgstr ""
"accedere al resto della rete Internet via {box_name} per una maggiore "
"sicurezza e anonimità."
-#: plinth/modules/openvpn/__init__.py:74
+#: plinth/modules/openvpn/__init__.py:75
#, python-brace-format
msgid ""
"Download Profile"
@@ -3549,11 +3542,11 @@ msgstr "Il server OpenVPN è in esecuzione"
msgid "OpenVPN server is not running"
msgstr "Il server OpenVPN non è in esecuzione"
-#: plinth/modules/openvpn/views.py:128
+#: plinth/modules/openvpn/views.py:126
msgid "Setup completed."
msgstr "Setup completato."
-#: plinth/modules/openvpn/views.py:130
+#: plinth/modules/openvpn/views.py:128
msgid "Setup failed."
msgstr "Setup fallito."
@@ -3638,7 +3631,7 @@ msgstr ""
"Selezione il tuo server pagekite. Imposta \"pagekite.net\" per usare il "
"server predefinito di pagekite.net."
-#: plinth/modules/pagekite/forms.py:78 plinth/modules/shadowsocks/forms.py:64
+#: plinth/modules/pagekite/forms.py:78 plinth/modules/shadowsocks/forms.py:57
msgid "Server port"
msgstr "Porta server"
@@ -3853,29 +3846,29 @@ msgstr ""
msgid "Save Services"
msgstr "Salva Servizi"
-#: plinth/modules/pagekite/utils.py:53
+#: plinth/modules/pagekite/utils.py:57
msgid "Web Server (HTTP)"
msgstr "Server Web (HTTP)"
-#: plinth/modules/pagekite/utils.py:54
+#: plinth/modules/pagekite/utils.py:59
#, python-brace-format
msgid "Site will be available at http://{0}"
msgstr "Il sito sarà disponibile su http{0}"
-#: plinth/modules/pagekite/utils.py:63
+#: plinth/modules/pagekite/utils.py:71
msgid "Web Server (HTTPS)"
msgstr "Server Web (HTTPS)"
-#: plinth/modules/pagekite/utils.py:64
+#: plinth/modules/pagekite/utils.py:73
#, python-brace-format
msgid "Site will be available at https://{0}"
msgstr "Il sito sarà disponibile au HTTPS://{0}{0}"
-#: plinth/modules/pagekite/utils.py:73
+#: plinth/modules/pagekite/utils.py:85
msgid "Secure Shell (SSH)"
msgstr "Secure Shell (SSH)"
-#: plinth/modules/pagekite/utils.py:74
+#: plinth/modules/pagekite/utils.py:87
msgid ""
"See SSH client setup instructions"
@@ -3883,19 +3876,19 @@ msgstr ""
"Vedi le istruzioni della configurazione del client SSH"
-#: plinth/modules/pagekite/utils.py:276
+#: plinth/modules/pagekite/utils.py:288
msgid "Pagekite"
msgstr "Pagekite"
-#: plinth/modules/pagekite/views.py:39
+#: plinth/modules/pagekite/views.py:40
msgid "Standard Services"
msgstr "Servizi Standard"
-#: plinth/modules/pagekite/views.py:42
+#: plinth/modules/pagekite/views.py:44
msgid "Custom Services"
msgstr "Servizi personalizzati"
-#: plinth/modules/pagekite/views.py:156
+#: plinth/modules/pagekite/views.py:158
msgid "Pagekite setup finished. The HTTP and HTTPS services are activated now."
msgstr ""
"Impostazione PageKit terminata. I servizi HTTP e HTTPS ora sono attivi."
@@ -3969,15 +3962,15 @@ msgstr ""
msgid "Shut Down Now"
msgstr "Spegni Ora"
-#: plinth/modules/privoxy/__init__.py:41
+#: plinth/modules/privoxy/__init__.py:42
msgid "Privoxy"
msgstr "Privoxy"
-#: plinth/modules/privoxy/__init__.py:43
+#: plinth/modules/privoxy/__init__.py:44
msgid "Web Proxy"
msgstr "Web Proxy"
-#: plinth/modules/privoxy/__init__.py:46
+#: plinth/modules/privoxy/__init__.py:47
msgid ""
"Privoxy is a non-caching web proxy with advanced filtering capabilities for "
"enhancing privacy, modifying web page data and HTTP headers, controlling "
@@ -3988,7 +3981,7 @@ msgstr ""
"header HTTP, controllando gli accessi, rimuovendo pubblicità e altra odiosa "
"spazzatura dell'Internet. "
-#: plinth/modules/privoxy/__init__.py:51
+#: plinth/modules/privoxy/__init__.py:52
#, python-brace-format
msgid ""
"You can use Privoxy by modifying your browser proxy settings to your "
@@ -4003,20 +3996,20 @@ msgstr ""
"documentazione su http://config."
"Privoxy.org/ o http://p.p."
-#: plinth/modules/privoxy/__init__.py:157
+#: plinth/modules/privoxy/__init__.py:142
#, python-brace-format
msgid "Access {url} with proxy {proxy} on tcp{kind}"
msgstr "Accesso {url} con proxy {proxy} su tcp{kind}"
-#: plinth/modules/quassel/__init__.py:41 plinth/modules/quassel/manifest.py:25
+#: plinth/modules/quassel/__init__.py:40 plinth/modules/quassel/manifest.py:25
msgid "Quassel"
msgstr "Quassel"
-#: plinth/modules/quassel/__init__.py:43
+#: plinth/modules/quassel/__init__.py:42
msgid "IRC Client"
msgstr "Client IRC"
-#: plinth/modules/quassel/__init__.py:47
+#: plinth/modules/quassel/__init__.py:46
#, python-brace-format
msgid ""
"Quassel is an IRC application that is split into two parts, a \"core\" and a "
@@ -4033,7 +4026,7 @@ msgstr ""
"possibile usare uno o più client Quassel desktop o mobile, per connettersi "
"e disconnettersi su di esso."
-#: plinth/modules/quassel/__init__.py:54
+#: plinth/modules/quassel/__init__.py:53
msgid ""
"You can connect to your Quassel core on the default Quassel port 4242. "
"Clients to connect to Quassel from your Jitsi (for computers) and (for Android phones)."
msgstr ""
-#: plinth/modules/repro/__init__.py:53
+#: plinth/modules/repro/__init__.py:55
msgid ""
"Note: Before using repro, domains and users will need to "
"be configured using the web-based "
@@ -4197,15 +4190,15 @@ msgstr ""
msgid "CSipSimple"
msgstr "CSipSimple"
-#: plinth/modules/restore/__init__.py:36 plinth/modules/restore/manifest.py:23
+#: plinth/modules/restore/__init__.py:37 plinth/modules/restore/manifest.py:23
msgid "reStore"
msgstr "reStore"
-#: plinth/modules/restore/__init__.py:38
+#: plinth/modules/restore/__init__.py:39
msgid "Unhosted Storage"
msgstr ""
-#: plinth/modules/restore/__init__.py:42
+#: plinth/modules/restore/__init__.py:43
#, python-brace-format
msgid ""
"reStore is a server for unhosted web "
@@ -4215,22 +4208,22 @@ msgid ""
"becomes your unhosted storage server."
msgstr ""
-#: plinth/modules/restore/__init__.py:48
+#: plinth/modules/restore/__init__.py:49
msgid ""
"You can create and edit accounts in the reStore web-"
"interface."
msgstr ""
-#: plinth/modules/roundcube/__init__.py:34
+#: plinth/modules/roundcube/__init__.py:35
#: plinth/modules/roundcube/manifest.py:24
msgid "Roundcube"
msgstr "Roundcube"
-#: plinth/modules/roundcube/__init__.py:36
+#: plinth/modules/roundcube/__init__.py:37
msgid "Email Client"
msgstr ""
-#: plinth/modules/roundcube/__init__.py:39
+#: plinth/modules/roundcube/__init__.py:40
msgid ""
"Roundcube webmail is a browser-based multilingual IMAP client with an "
"application-like user interface. It provides full functionality you expect "
@@ -4238,7 +4231,7 @@ msgid ""
"manipulation, message searching and spell checking."
msgstr ""
-#: plinth/modules/roundcube/__init__.py:44
+#: plinth/modules/roundcube/__init__.py:45
msgid ""
"You can access Roundcube from /roundcube. Provide "
"the username and password of the email account you wish to access followed "
@@ -4247,7 +4240,7 @@ msgid ""
"server field like imaps://imap.example.com."
msgstr ""
-#: plinth/modules/roundcube/__init__.py:50
+#: plinth/modules/roundcube/__init__.py:51
msgid ""
"For Gmail, username will be your Gmail address, password will be your Google "
"account password and server will be imaps://imap.gmail.com. "
@@ -4309,12 +4302,12 @@ msgstr ""
msgid "Allow this application to be used by anyone who can reach it."
msgstr ""
-#: plinth/modules/searx/views.py:60 plinth/modules/searx/views.py:71
-#: plinth/modules/tor/views.py:139 plinth/modules/tor/views.py:168
+#: plinth/modules/searx/views.py:59 plinth/modules/searx/views.py:70
+#: plinth/modules/tor/views.py:141 plinth/modules/tor/views.py:168
msgid "Configuration updated."
msgstr ""
-#: plinth/modules/searx/views.py:63 plinth/modules/searx/views.py:74
+#: plinth/modules/searx/views.py:62 plinth/modules/searx/views.py:73
#: plinth/modules/tor/views.py:170
msgid "An error occurred during configuration."
msgstr ""
@@ -4369,22 +4362,22 @@ msgid ""
"account, which you will need to setup on the initial visit."
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:34
+#: plinth/modules/shadowsocks/__init__.py:35
msgid "Shadowsocks"
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:36
+#: plinth/modules/shadowsocks/__init__.py:37
msgid "Socks5 Proxy"
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:45
+#: plinth/modules/shadowsocks/__init__.py:44
msgid ""
"Shadowsocks is a lightweight and secure SOCKS5 proxy, designed to protect "
"your Internet traffic. It can be used to bypass Internet filtering and "
"censorship."
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:49
+#: plinth/modules/shadowsocks/__init__.py:48
#, python-brace-format
msgid ""
"Your {box_name} can run a Shadowsocks client, that can connect to a "
@@ -4393,34 +4386,34 @@ msgid ""
"the Shadowsocks server."
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:54
+#: plinth/modules/shadowsocks/__init__.py:53
msgid ""
"To use Shadowsocks after setup, set the SOCKS5 proxy URL in your device, "
"browser or application to http://freedombox_address:1080/"
msgstr ""
+#: plinth/modules/shadowsocks/forms.py:28
#: plinth/modules/shadowsocks/forms.py:29
-#: plinth/modules/shadowsocks/forms.py:30
msgid "Recommended"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:60
+#: plinth/modules/shadowsocks/forms.py:54
msgid "Server"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:61
+#: plinth/modules/shadowsocks/forms.py:54
msgid "Server hostname or IP address"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:67
+#: plinth/modules/shadowsocks/forms.py:58
msgid "Server port number"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:71
+#: plinth/modules/shadowsocks/forms.py:61
msgid "Password used to encrypt data. Must match server password."
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:77
+#: plinth/modules/shadowsocks/forms.py:66
msgid "Encryption method. Must match setting on server."
msgstr ""
@@ -4678,7 +4671,7 @@ msgstr ""
msgid "Storage snapshots configuration updated"
msgstr ""
-#: plinth/modules/snapshot/views.py:153 plinth/modules/tor/views.py:72
+#: plinth/modules/snapshot/views.py:153 plinth/modules/tor/views.py:73
#, python-brace-format
msgid "Action error: {0} [{1}] [{2}]"
msgstr ""
@@ -4708,11 +4701,11 @@ msgstr ""
msgid "Rollback to Snapshot"
msgstr ""
-#: plinth/modules/ssh/__init__.py:39
+#: plinth/modules/ssh/__init__.py:40
msgid "Secure Shell (SSH) Server"
msgstr ""
-#: plinth/modules/ssh/__init__.py:42
+#: plinth/modules/ssh/__init__.py:43
msgid ""
"A Secure Shell server uses the secure shell protocol to accept connections "
"from remote computers. An authorized remote computer can perform "
@@ -4728,11 +4721,11 @@ msgstr ""
msgid "Login"
msgstr ""
-#: plinth/modules/storage/__init__.py:36 plinth/modules/storage/views.py:53
+#: plinth/modules/storage/__init__.py:35 plinth/modules/storage/views.py:53
msgid "Storage"
msgstr ""
-#: plinth/modules/storage/__init__.py:44
+#: plinth/modules/storage/__init__.py:43
#, python-brace-format
msgid ""
"This module allows you to manage storage media attached to your {box_name}. "
@@ -4740,80 +4733,80 @@ msgid ""
"media, expand the root partition etc."
msgstr ""
-#: plinth/modules/storage/__init__.py:211
+#: plinth/modules/storage/__init__.py:213
#, python-brace-format
msgid "{disk_size:.1f} bytes"
msgstr ""
-#: plinth/modules/storage/__init__.py:215
+#: plinth/modules/storage/__init__.py:217
#, python-brace-format
msgid "{disk_size:.1f} KiB"
msgstr ""
-#: plinth/modules/storage/__init__.py:219
+#: plinth/modules/storage/__init__.py:221
#, python-brace-format
msgid "{disk_size:.1f} MiB"
msgstr ""
-#: plinth/modules/storage/__init__.py:223
+#: plinth/modules/storage/__init__.py:225
#, python-brace-format
msgid "{disk_size:.1f} GiB"
msgstr ""
-#: plinth/modules/storage/__init__.py:226
+#: plinth/modules/storage/__init__.py:228
#, python-brace-format
msgid "{disk_size:.1f} TiB"
msgstr ""
-#: plinth/modules/storage/__init__.py:233
+#: plinth/modules/storage/__init__.py:235
msgid "The operation failed."
msgstr ""
-#: plinth/modules/storage/__init__.py:235
+#: plinth/modules/storage/__init__.py:237
msgid "The operation was cancelled."
msgstr ""
-#: plinth/modules/storage/__init__.py:237
+#: plinth/modules/storage/__init__.py:239
msgid "The device is already unmounting."
msgstr ""
-#: plinth/modules/storage/__init__.py:239
+#: plinth/modules/storage/__init__.py:241
msgid "The operation is not supported due to missing driver/tool support."
msgstr ""
-#: plinth/modules/storage/__init__.py:242
+#: plinth/modules/storage/__init__.py:244
msgid "The operation timed out."
msgstr ""
-#: plinth/modules/storage/__init__.py:244
+#: plinth/modules/storage/__init__.py:246
msgid "The operation would wake up a disk that is in a deep-sleep state."
msgstr ""
-#: plinth/modules/storage/__init__.py:247
+#: plinth/modules/storage/__init__.py:249
msgid "Attempting to unmount a device that is busy."
msgstr ""
-#: plinth/modules/storage/__init__.py:249
+#: plinth/modules/storage/__init__.py:251
msgid "The operation has already been cancelled."
msgstr ""
-#: plinth/modules/storage/__init__.py:255
+#: plinth/modules/storage/__init__.py:257
msgid "Not authorized to perform the requested operation."
msgstr ""
-#: plinth/modules/storage/__init__.py:257
+#: plinth/modules/storage/__init__.py:259
msgid "The device is already mounted."
msgstr ""
-#: plinth/modules/storage/__init__.py:259
+#: plinth/modules/storage/__init__.py:261
msgid "The device is not mounted."
msgstr ""
-#: plinth/modules/storage/__init__.py:262
+#: plinth/modules/storage/__init__.py:264
msgid "Not permitted to use the requested option."
msgstr ""
-#: plinth/modules/storage/__init__.py:265
+#: plinth/modules/storage/__init__.py:267
msgid "The device is mounted by another user."
msgstr ""
@@ -4889,16 +4882,16 @@ msgstr ""
msgid "Error ejecting device: {error_message}"
msgstr ""
-#: plinth/modules/syncthing/__init__.py:38
+#: plinth/modules/syncthing/__init__.py:40
#: plinth/modules/syncthing/manifest.py:28
msgid "Syncthing"
msgstr "Syncthing"
-#: plinth/modules/syncthing/__init__.py:40
+#: plinth/modules/syncthing/__init__.py:42
msgid "File Synchronization"
msgstr ""
-#: plinth/modules/syncthing/__init__.py:43
+#: plinth/modules/syncthing/__init__.py:45
msgid ""
"Syncthing is an application to synchronize files across multiple devices, e."
"g. your desktop computer and mobile phone. Creation, modification, or "
@@ -4906,7 +4899,7 @@ msgid ""
"other devices that also run Syncthing."
msgstr ""
-#: plinth/modules/syncthing/__init__.py:48
+#: plinth/modules/syncthing/__init__.py:50
#, python-brace-format
msgid ""
"Running Syncthing on {box_name} provides an extra synchronization point for "
@@ -4917,26 +4910,26 @@ msgid ""
"{box_name} is only available for users belonging to the \"admin\" group."
msgstr ""
-#: plinth/modules/syncthing/__init__.py:55
+#: plinth/modules/syncthing/__init__.py:57
msgid ""
"When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile clients are also available."
msgstr ""
-#: plinth/modules/syncthing/__init__.py:62
+#: plinth/modules/syncthing/__init__.py:64
msgid "Administer Syncthing application"
msgstr ""
-#: plinth/modules/tahoe/__init__.py:41
+#: plinth/modules/tahoe/__init__.py:43
msgid "Tahoe-LAFS"
msgstr "Tahoe-LAFS"
-#: plinth/modules/tahoe/__init__.py:43
+#: plinth/modules/tahoe/__init__.py:45
msgid "Distributed File Storage"
msgstr ""
-#: plinth/modules/tahoe/__init__.py:107
+#: plinth/modules/tahoe/__init__.py:119
msgid ""
"Tahoe-LAFS is a decentralized secure file storage system. It uses provider "
"independent security to store files over a distributed network of storage "
@@ -4944,7 +4937,7 @@ msgid ""
"remaining nodes."
msgstr ""
-#: plinth/modules/tahoe/__init__.py:112
+#: plinth/modules/tahoe/__init__.py:124
#, python-brace-format
msgid ""
"This {box_name} hosts a storage node and an introducer by default. "
@@ -4987,11 +4980,11 @@ msgstr ""
msgid "Remove"
msgstr ""
-#: plinth/modules/tor/__init__.py:43
+#: plinth/modules/tor/__init__.py:46
msgid "Tor"
msgstr "Tor"
-#: plinth/modules/tor/__init__.py:48
+#: plinth/modules/tor/__init__.py:51
msgid ""
"Tor is an anonymous communication system. You can learn more about it from "
"the Tor Project website. For "
@@ -5000,40 +4993,36 @@ msgid ""
"\">Tor Browser."
msgstr ""
-#: plinth/modules/tor/__init__.py:93
+#: plinth/modules/tor/__init__.py:80
msgid "Tor Socks Proxy"
msgstr ""
-#: plinth/modules/tor/__init__.py:99 plinth/modules/tor/__init__.py:146
+#: plinth/modules/tor/__init__.py:84
msgid "Tor Bridge Relay"
msgstr ""
-#: plinth/modules/tor/__init__.py:120 plinth/modules/tor/__init__.py:188
+#: plinth/modules/tor/__init__.py:122 plinth/modules/tor/__init__.py:150
msgid "Tor Hidden Service"
msgstr ""
-#: plinth/modules/tor/__init__.py:136
-msgid "Tor Anonymity Network"
-msgstr ""
-
-#: plinth/modules/tor/__init__.py:208
+#: plinth/modules/tor/__init__.py:170
msgid "Tor relay port available"
msgstr ""
-#: plinth/modules/tor/__init__.py:218
+#: plinth/modules/tor/__init__.py:180
msgid "Obfs3 transport registered"
msgstr ""
-#: plinth/modules/tor/__init__.py:226
+#: plinth/modules/tor/__init__.py:188
msgid "Obfs4 transport registered"
msgstr ""
-#: plinth/modules/tor/__init__.py:265
+#: plinth/modules/tor/__init__.py:227
#, python-brace-format
msgid "Access URL {url} on tcp{kind} via Tor"
msgstr ""
-#: plinth/modules/tor/__init__.py:276
+#: plinth/modules/tor/__init__.py:238
#, python-brace-format
msgid "Confirm Tor usage at {url} on tcp{kind}"
msgstr ""
@@ -5167,18 +5156,18 @@ msgstr ""
msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050."
msgstr ""
-#: plinth/modules/transmission/__init__.py:39
+#: plinth/modules/transmission/__init__.py:41
#: plinth/modules/transmission/manifest.py:24
msgid "Transmission"
msgstr ""
-#: plinth/modules/transmission/__init__.py:44
+#: plinth/modules/transmission/__init__.py:46
msgid ""
"BitTorrent is a peer-to-peer file sharing protocol. Transmission daemon "
"handles Bitorrent file sharing. Note that BitTorrent is not anonymous."
msgstr ""
-#: plinth/modules/transmission/__init__.py:47
+#: plinth/modules/transmission/__init__.py:49
msgid ""
"Access the web interface at /transmission."
msgstr ""
@@ -5194,22 +5183,22 @@ msgid ""
"\" user."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:41 plinth/modules/ttrss/manifest.py:34
+#: plinth/modules/ttrss/__init__.py:43 plinth/modules/ttrss/manifest.py:34
msgid "Tiny Tiny RSS"
msgstr "Tiny Tiny RSS"
-#: plinth/modules/ttrss/__init__.py:43
+#: plinth/modules/ttrss/__init__.py:45
msgid "News Feed Reader"
msgstr ""
-#: plinth/modules/ttrss/__init__.py:46
+#: plinth/modules/ttrss/__init__.py:48
msgid ""
"Tiny Tiny RSS is a news feed (RSS/Atom) reader and aggregator, designed to "
"allow reading news from any location, while feeling as close to a real "
"desktop application as possible."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:50
+#: plinth/modules/ttrss/__init__.py:52
#, fuzzy, python-brace-format
msgid ""
"When enabled, Tiny Tiny RSS will be available from /tt-"
@@ -5222,13 +5211,13 @@ msgstr ""
"informazioni sensibili e le possibilità di alterare il sistema sono limitate "
"agli utenti appartenenti al gruppo admin."
-#: plinth/modules/ttrss/__init__.py:55
+#: plinth/modules/ttrss/__init__.py:57
msgid ""
"When using a mobile or desktop application for Tiny Tiny RSS, use the URL /tt-rss-app for connecting."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:61
+#: plinth/modules/ttrss/__init__.py:63
msgid "Read and subscribe to news feeds"
msgstr ""
@@ -5236,11 +5225,11 @@ msgstr ""
msgid "Tiny Tiny RSS (Fork)"
msgstr ""
-#: plinth/modules/upgrades/__init__.py:36 plinth/templates/setup.html:101
+#: plinth/modules/upgrades/__init__.py:35 plinth/templates/setup.html:101
msgid "Update"
msgstr ""
-#: plinth/modules/upgrades/__init__.py:39
+#: plinth/modules/upgrades/__init__.py:38
msgid "Check for and apply the latest software and security updates."
msgstr ""
@@ -5275,32 +5264,32 @@ msgstr ""
msgid "Auto-update"
msgstr ""
-#: plinth/modules/upgrades/views.py:39
+#: plinth/modules/upgrades/views.py:40
msgid "Manual update"
msgstr "Aggiornamento manuale"
-#: plinth/modules/upgrades/views.py:78
+#: plinth/modules/upgrades/views.py:79
#, python-brace-format
msgid "Error when configuring unattended-upgrades: {error}"
msgstr ""
-#: plinth/modules/upgrades/views.py:82
+#: plinth/modules/upgrades/views.py:83
msgid "Automatic upgrades enabled"
msgstr ""
-#: plinth/modules/upgrades/views.py:85
+#: plinth/modules/upgrades/views.py:86
msgid "Automatic upgrades disabled"
msgstr ""
-#: plinth/modules/upgrades/views.py:87
+#: plinth/modules/upgrades/views.py:88
msgid "Settings unchanged"
msgstr ""
-#: plinth/modules/upgrades/views.py:113
+#: plinth/modules/upgrades/views.py:114
msgid "Upgrade process started."
msgstr ""
-#: plinth/modules/upgrades/views.py:116
+#: plinth/modules/upgrades/views.py:117
msgid "Starting upgrade failed."
msgstr ""
@@ -5308,7 +5297,7 @@ msgstr ""
msgid "Users and Groups"
msgstr ""
-#: plinth/modules/users/__init__.py:106
+#: plinth/modules/users/__init__.py:108
#, python-brace-format
msgid "Check LDAP entry \"{search_item}\""
msgstr ""
@@ -5520,15 +5509,6 @@ msgstr ""
msgid "configuration file: {file}"
msgstr ""
-#: plinth/service.py:140
-msgid "Web Server over Secure Socket Layer"
-msgstr ""
-
-#: plinth/service.py:145
-#, python-brace-format
-msgid "{box_name} Web Interface (Plinth)"
-msgstr ""
-
#: plinth/templates/403.html:25
msgid "403 Forbidden"
msgstr ""
@@ -5727,16 +5707,16 @@ msgstr ""
msgid "Mailing list"
msgstr ""
-#: plinth/templates/internal-zone.html:25
+#: plinth/templates/internal-zone.html:26
#, python-format
msgid "%(service_name)s is available only on internal networks."
msgstr ""
-#: plinth/templates/internal-zone.html:31
+#: plinth/templates/internal-zone.html:32
msgid "Currently there are no network interfaces configured as internal."
msgstr ""
-#: plinth/templates/internal-zone.html:33
+#: plinth/templates/internal-zone.html:34
#, python-format
msgid ""
"Currently the following network interfaces are configured as internal: "
@@ -5799,6 +5779,14 @@ msgstr ""
msgid "%(percentage)s%% complete"
msgstr "%(percentage)s%% completata"
+#: plinth/views.py:178
+msgid "Application enabled"
+msgstr "Applicazione abilitata"
+
+#: plinth/views.py:181
+msgid "Application disabled"
+msgstr "Applicazione disabilitata"
+
#: plinth/web_framework.py:186
msgid "Gujarati"
msgstr ""
diff --git a/plinth/locale/ja/LC_MESSAGES/django.po b/plinth/locale/ja/LC_MESSAGES/django.po
index fbd7fe603..f613bdad0 100644
--- a/plinth/locale/ja/LC_MESSAGES/django.po
+++ b/plinth/locale/ja/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-06-10 19:02-0400\n"
+"POT-Creation-Date: 2019-06-24 19:48-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -48,7 +48,7 @@ msgstr ""
msgid "Cannot connect to {host}:{port}"
msgstr ""
-#: plinth/context_processors.py:37 plinth/views.py:60
+#: plinth/context_processors.py:37 plinth/views.py:61
msgid "FreedomBox"
msgstr ""
@@ -92,11 +92,22 @@ msgstr ""
msgid "Error installing application: {error}"
msgstr ""
-#: plinth/modules/avahi/__init__.py:42
+#: plinth/modules/apache/__init__.py:47
+#: plinth/modules/monkeysphere/templates/monkeysphere.html:88
+#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:60
+msgid "Web Server"
+msgstr ""
+
+#: plinth/modules/apache/__init__.py:54
+#, python-brace-format
+msgid "{box_name} Web Interface (Plinth)"
+msgstr ""
+
+#: plinth/modules/avahi/__init__.py:43
msgid "Service Discovery"
msgstr ""
-#: plinth/modules/avahi/__init__.py:46
+#: plinth/modules/avahi/__init__.py:47
#, python-brace-format
msgid ""
"Service discovery allows other devices on the network to discover your "
@@ -115,7 +126,7 @@ msgstr ""
msgid "Backups allows creating and managing backup archives."
msgstr ""
-#: plinth/modules/backups/__init__.py:51
+#: plinth/modules/backups/__init__.py:49
#, python-brace-format
msgid "{box_name} storage"
msgstr ""
@@ -399,21 +410,21 @@ msgstr ""
msgid "Mounting failed"
msgstr ""
-#: plinth/modules/bind/__init__.py:35
+#: plinth/modules/bind/__init__.py:36
msgid "BIND"
msgstr ""
-#: plinth/modules/bind/__init__.py:37
+#: plinth/modules/bind/__init__.py:38
msgid "Domain Name Server"
msgstr ""
-#: plinth/modules/bind/__init__.py:46
+#: plinth/modules/bind/__init__.py:45
msgid ""
"BIND enables you to publish your Domain Name System (DNS) information on the "
"Internet, and to resolve DNS queries for your user devices on your network."
msgstr ""
-#: plinth/modules/bind/__init__.py:50
+#: plinth/modules/bind/__init__.py:49
#, python-brace-format
msgid ""
"Currently, on {box_name}, BIND is only used to resolve DNS queries for other "
@@ -438,21 +449,21 @@ msgstr ""
msgid "Enable Domain Name System Security Extensions"
msgstr ""
-#: plinth/modules/bind/views.py:58 plinth/modules/dynamicdns/views.py:170
-#: plinth/modules/openvpn/views.py:148 plinth/modules/shadowsocks/views.py:80
+#: plinth/modules/bind/views.py:59 plinth/modules/dynamicdns/views.py:172
+#: plinth/modules/openvpn/views.py:146 plinth/modules/shadowsocks/views.py:79
#: plinth/modules/transmission/views.py:74
msgid "Configuration updated"
msgstr ""
-#: plinth/modules/cockpit/__init__.py:40 plinth/modules/cockpit/manifest.py:27
+#: plinth/modules/cockpit/__init__.py:42 plinth/modules/cockpit/manifest.py:27
msgid "Cockpit"
msgstr ""
-#: plinth/modules/cockpit/__init__.py:42
+#: plinth/modules/cockpit/__init__.py:44
msgid "Server Administration"
msgstr ""
-#: plinth/modules/cockpit/__init__.py:46
+#: plinth/modules/cockpit/__init__.py:48
#, python-brace-format
msgid ""
"Cockpit is a server manager that makes it easy to administer GNU/Linux "
@@ -461,7 +472,7 @@ msgid ""
"console operations is also available."
msgstr ""
-#: plinth/modules/cockpit/__init__.py:52
+#: plinth/modules/cockpit/__init__.py:54
#, python-brace-format
msgid ""
"When enabled, Cockpit will be available from /"
@@ -469,14 +480,14 @@ msgid ""
"\"{users_url}\">any user on {box_name} belonging to the admin group."
msgstr ""
-#: plinth/modules/config/__init__.py:59 plinth/modules/dynamicdns/views.py:44
+#: plinth/modules/config/__init__.py:61 plinth/modules/dynamicdns/views.py:45
#: plinth/modules/i2p/views.py:31 plinth/modules/ikiwiki/views.py:35
#: plinth/modules/pagekite/views.py:36 plinth/modules/snapshot/views.py:40
#: plinth/modules/tahoe/templates/tahoe-pre-setup.html:39
msgid "Configure"
msgstr ""
-#: plinth/modules/config/__init__.py:164 plinth/modules/config/forms.py:76
+#: plinth/modules/config/__init__.py:166 plinth/modules/config/forms.py:76
#: plinth/modules/config/views.py:171 plinth/modules/dynamicdns/forms.py:111
msgid "Domain Name"
msgstr ""
@@ -548,8 +559,8 @@ msgstr ""
#: plinth/modules/power/templates/power_restart.html:42
#: plinth/modules/power/templates/power_shutdown.html:41
#: plinth/modules/storage/templates/storage.html:48
-#: plinth/templates/service-subsubmenu.html:47 plinth/templates/service.html:42
-#: plinth/templates/setup.html:48 plinth/templates/simple_service.html:38
+#: plinth/templates/app-subsubmenu.html:47 plinth/templates/app.html:42
+#: plinth/templates/setup.html:48 plinth/templates/simple_app.html:38
msgid "Learn more..."
msgstr ""
@@ -597,22 +608,22 @@ msgstr ""
msgid "Hiding advanced apps and features"
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:38
+#: plinth/modules/coquelicot/__init__.py:40
msgid "Coquelicot"
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:40
+#: plinth/modules/coquelicot/__init__.py:42
msgid "File Sharing"
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:43
+#: plinth/modules/coquelicot/__init__.py:45
msgid ""
"Coquelicot is a “one-click” file sharing web application with a focus on "
"protecting users’ privacy. It is best used for quickly sharing a single "
"file. "
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:46
+#: plinth/modules/coquelicot/__init__.py:48
msgid ""
"This Coquelicot instance is exposed to the public but requires an upload "
"password to prevent unauthorized access. You can set a new upload password "
@@ -642,19 +653,19 @@ msgstr ""
msgid "coquelicot"
msgstr ""
-#: plinth/modules/coquelicot/views.py:57
+#: plinth/modules/coquelicot/views.py:59
msgid "Upload password updated"
msgstr ""
-#: plinth/modules/coquelicot/views.py:60
+#: plinth/modules/coquelicot/views.py:62
msgid "Failed to update upload password"
msgstr ""
-#: plinth/modules/coquelicot/views.py:68
+#: plinth/modules/coquelicot/views.py:70
msgid "Maximum file size updated"
msgstr ""
-#: plinth/modules/coquelicot/views.py:71
+#: plinth/modules/coquelicot/views.py:73
msgid "Failed to update maximum file size"
msgstr ""
@@ -668,21 +679,21 @@ msgid ""
"synchronization with servers on the Internet."
msgstr ""
-#: plinth/modules/datetime/__init__.py:107
+#: plinth/modules/datetime/__init__.py:99
msgid "Time synchronized to NTP server"
msgstr ""
-#: plinth/modules/datetime/forms.py:36
+#: plinth/modules/datetime/forms.py:35
msgid "Time Zone"
msgstr ""
-#: plinth/modules/datetime/forms.py:37
+#: plinth/modules/datetime/forms.py:36
msgid ""
"Set your time zone to get accurate timestamps. This will set the system-wide "
"time zone."
msgstr ""
-#: plinth/modules/datetime/forms.py:49
+#: plinth/modules/datetime/forms.py:47
msgid "-- no time zone set --"
msgstr ""
@@ -700,7 +711,7 @@ msgid "Deluge"
msgstr ""
#: plinth/modules/deluge/__init__.py:41
-#: plinth/modules/transmission/__init__.py:41
+#: plinth/modules/transmission/__init__.py:43
msgid "BitTorrent Web Client"
msgstr ""
@@ -716,7 +727,7 @@ msgid ""
msgstr ""
#: plinth/modules/deluge/__init__.py:51
-#: plinth/modules/transmission/__init__.py:54
+#: plinth/modules/transmission/__init__.py:56
msgid "Download files using BitTorrent applications"
msgstr ""
@@ -778,12 +789,12 @@ msgstr ""
msgid "Result"
msgstr ""
-#: plinth/modules/diaspora/__init__.py:52
+#: plinth/modules/diaspora/__init__.py:54
#: plinth/modules/diaspora/manifest.py:38
msgid "diaspora*"
msgstr ""
-#: plinth/modules/diaspora/__init__.py:54
+#: plinth/modules/diaspora/__init__.py:56
msgid "Federated Social Network"
msgstr ""
@@ -830,22 +841,22 @@ msgstr ""
#: plinth/modules/tahoe/templates/tahoe-pre-setup.html:58
#: plinth/modules/tor/templates/tor.html:96
#: plinth/modules/upgrades/templates/upgrades_configure.html:32
-#: plinth/templates/service.html:89
+#: plinth/templates/app.html:89
msgid "Update setup"
msgstr ""
-#: plinth/modules/diaspora/views.py:97 plinth/modules/ejabberd/views.py:64
-#: plinth/modules/matrixsynapse/views.py:107
-#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:150
-#: plinth/modules/tor/views.py:146 plinth/views.py:160
+#: plinth/modules/diaspora/views.py:94 plinth/modules/ejabberd/views.py:65
+#: plinth/modules/matrixsynapse/views.py:108
+#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:148
+#: plinth/modules/tor/views.py:148 plinth/views.py:174
msgid "Setting unchanged"
msgstr ""
-#: plinth/modules/diaspora/views.py:101
+#: plinth/modules/diaspora/views.py:98
msgid "User registrations enabled"
msgstr ""
-#: plinth/modules/diaspora/views.py:105
+#: plinth/modules/diaspora/views.py:102
msgid "User registrations disabled"
msgstr ""
@@ -872,8 +883,8 @@ msgid ""
"IP address."
msgstr ""
-#: plinth/modules/dynamicdns/__init__.py:85
-#: plinth/modules/dynamicdns/views.py:167
+#: plinth/modules/dynamicdns/__init__.py:87
+#: plinth/modules/dynamicdns/views.py:169
msgid "Dynamic DNS Service"
msgstr ""
@@ -962,7 +973,7 @@ msgid "Username"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:121 plinth/modules/networks/forms.py:235
-#: plinth/modules/shadowsocks/forms.py:70
+#: plinth/modules/shadowsocks/forms.py:61
msgid "Password"
msgstr ""
@@ -1040,45 +1051,45 @@ msgstr ""
msgid "Last update"
msgstr ""
-#: plinth/modules/dynamicdns/views.py:41 plinth/modules/help/help.py:57
+#: plinth/modules/dynamicdns/views.py:41 plinth/modules/help/help.py:59
msgid "About"
msgstr ""
-#: plinth/modules/dynamicdns/views.py:47
+#: plinth/modules/dynamicdns/views.py:49
#: plinth/modules/firewall/templates/firewall.html:25
#: plinth/modules/firewall/templates/firewall.html:45
#: plinth/modules/i2p/templates/i2p.html:27
#: plinth/modules/networks/templates/connection_show.html:261
#: plinth/modules/openvpn/templates/openvpn.html:71
#: plinth/modules/tor/templates/tor.html:40
-#: plinth/modules/tor/templates/tor.html:68 plinth/templates/service.html:51
+#: plinth/modules/tor/templates/tor.html:68 plinth/templates/app.html:51
msgid "Status"
msgstr ""
-#: plinth/modules/dynamicdns/views.py:78
+#: plinth/modules/dynamicdns/views.py:80
msgid "Configure Dynamic DNS"
msgstr ""
-#: plinth/modules/dynamicdns/views.py:103
+#: plinth/modules/dynamicdns/views.py:105
msgid "Dynamic DNS Status"
msgstr ""
-#: plinth/modules/ejabberd/__init__.py:43
+#: plinth/modules/ejabberd/__init__.py:45
msgid "ejabberd"
msgstr ""
-#: plinth/modules/ejabberd/__init__.py:45
-#: plinth/modules/matrixsynapse/__init__.py:43
+#: plinth/modules/ejabberd/__init__.py:47
+#: plinth/modules/matrixsynapse/__init__.py:45
msgid "Chat Server"
msgstr ""
-#: plinth/modules/ejabberd/__init__.py:48
+#: plinth/modules/ejabberd/__init__.py:50
msgid ""
"XMPP is an open and standardized communication protocol. Here you can run "
"and configure your XMPP server, called ejabberd."
msgstr ""
-#: plinth/modules/ejabberd/__init__.py:51
+#: plinth/modules/ejabberd/__init__.py:53
#, python-brace-format
msgid ""
"To actually communicate, you can use the web client"
@@ -1087,11 +1098,11 @@ msgid ""
"any user with a {box_name} login."
msgstr ""
-#: plinth/modules/ejabberd/forms.py:33
+#: plinth/modules/ejabberd/forms.py:32
msgid "Enable Message Archive Management"
msgstr ""
-#: plinth/modules/ejabberd/forms.py:36
+#: plinth/modules/ejabberd/forms.py:34
#, python-brace-format
msgid ""
"If enabled, your {box_name} will store chat message histories. This allows "
@@ -1159,35 +1170,23 @@ msgstr ""
#: plinth/modules/openvpn/templates/openvpn.html:123
#: plinth/modules/snapshot/templates/snapshot.html:27
#: plinth/modules/tahoe/templates/tahoe-post-setup.html:43
-#: plinth/modules/tor/templates/tor.html:88 plinth/templates/service.html:81
+#: plinth/modules/tor/templates/tor.html:88 plinth/templates/app.html:81
msgid "Configuration"
msgstr ""
-#: plinth/modules/ejabberd/views.py:68
-#: plinth/modules/matrixsynapse/views.py:111
-#: plinth/modules/mediawiki/views.py:79 plinth/views.py:164
-msgid "Application enabled"
-msgstr ""
-
-#: plinth/modules/ejabberd/views.py:71
-#: plinth/modules/matrixsynapse/views.py:114
-#: plinth/modules/mediawiki/views.py:82 plinth/views.py:167
-msgid "Application disabled"
-msgstr ""
-
-#: plinth/modules/ejabberd/views.py:78
+#: plinth/modules/ejabberd/views.py:77
msgid "Message Archive Management enabled"
msgstr ""
-#: plinth/modules/ejabberd/views.py:82
+#: plinth/modules/ejabberd/views.py:81
msgid "Message Archive Management disabled"
msgstr ""
-#: plinth/modules/firewall/__init__.py:40
+#: plinth/modules/firewall/__init__.py:36
msgid "Firewall"
msgstr ""
-#: plinth/modules/firewall/__init__.py:44
+#: plinth/modules/firewall/__init__.py:40
#, python-brace-format
msgid ""
"Firewall is a security system that controls the incoming and outgoing "
@@ -1293,29 +1292,29 @@ msgstr ""
msgid "Setup Complete"
msgstr ""
-#: plinth/modules/help/help.py:44
+#: plinth/modules/help/help.py:46
msgid "Documentation"
msgstr ""
-#: plinth/modules/help/help.py:48 plinth/modules/networks/forms.py:68
+#: plinth/modules/help/help.py:50 plinth/modules/networks/forms.py:68
#: plinth/modules/networks/forms.py:108 plinth/templates/index.html:135
msgid "Manual"
msgstr ""
-#: plinth/modules/help/help.py:53
+#: plinth/modules/help/help.py:55
msgid "Download Manual"
msgstr ""
-#: plinth/modules/help/help.py:73
+#: plinth/modules/help/help.py:75
msgid "Documentation and FAQ"
msgstr ""
-#: plinth/modules/help/help.py:81
+#: plinth/modules/help/help.py:83
#, python-brace-format
msgid "About {box_name}"
msgstr ""
-#: plinth/modules/help/help.py:102
+#: plinth/modules/help/help.py:104
#, python-brace-format
msgid "{box_name} Manual"
msgstr ""
@@ -1433,15 +1432,15 @@ msgid ""
"before submitting the bug report."
msgstr ""
-#: plinth/modules/i2p/__init__.py:40 plinth/modules/i2p/manifest.py:31
+#: plinth/modules/i2p/__init__.py:42 plinth/modules/i2p/manifest.py:31
msgid "I2P"
msgstr ""
-#: plinth/modules/i2p/__init__.py:42 plinth/modules/tor/__init__.py:45
+#: plinth/modules/i2p/__init__.py:44 plinth/modules/tor/__init__.py:48
msgid "Anonymity Network"
msgstr ""
-#: plinth/modules/i2p/__init__.py:45
+#: plinth/modules/i2p/__init__.py:47
msgid ""
"The Invisible Internet Project is an anonymous network layer intended to "
"protect communication from censorship and surveillance. I2P provides "
@@ -1449,33 +1448,33 @@ msgid ""
"distributed around the world."
msgstr ""
-#: plinth/modules/i2p/__init__.py:49
+#: plinth/modules/i2p/__init__.py:51
msgid ""
"Find more information about I2P on their project homepage."
msgstr ""
-#: plinth/modules/i2p/__init__.py:51
+#: plinth/modules/i2p/__init__.py:53
msgid ""
"The first visit to the provided web interface will initiate the "
"configuration process."
msgstr ""
-#: plinth/modules/i2p/__init__.py:57
+#: plinth/modules/i2p/__init__.py:59
msgid "Manage I2P application"
msgstr ""
-#: plinth/modules/i2p/templates/i2p.html:32 plinth/templates/service.html:56
+#: plinth/modules/i2p/templates/i2p.html:32 plinth/templates/app.html:56
#, python-format
msgid "Service %(service_name)s is running."
msgstr ""
-#: plinth/modules/i2p/templates/i2p.html:37 plinth/templates/service.html:61
+#: plinth/modules/i2p/templates/i2p.html:37 plinth/templates/app.html:61
#, python-format
msgid "Service %(service_name)s is not running."
msgstr ""
-#: plinth/modules/i2p/templates/i2p_service.html:13
+#: plinth/modules/i2p/templates/i2p_service.html:31
#: plinth/templates/clients.html:51
msgid "Launch"
msgstr ""
@@ -1488,43 +1487,43 @@ msgstr ""
msgid "Anonymous torrents"
msgstr ""
-#: plinth/modules/i2p/views.py:86
+#: plinth/modules/i2p/views.py:88
msgid "I2P Proxies and Tunnels"
msgstr ""
-#: plinth/modules/i2p/views.py:89
+#: plinth/modules/i2p/views.py:91
msgid ""
"I2P lets you browse the Internet and hidden services (eepsites) anonymously. "
"For this, your browser, preferably a Tor Browser, needs to be configured for "
"a proxy."
msgstr ""
-#: plinth/modules/i2p/views.py:92
+#: plinth/modules/i2p/views.py:94
msgid ""
"By default HTTP, HTTPS and IRC proxies are available. Additional proxies and "
"tunnels may be configured using the tunnel configuration interface."
msgstr ""
-#: plinth/modules/i2p/views.py:101
+#: plinth/modules/i2p/views.py:103
msgid "Anonymous Torrents"
msgstr ""
-#: plinth/modules/i2p/views.py:104
+#: plinth/modules/i2p/views.py:106
msgid ""
"I2P provides an application to download files anonymously in a peer-to-peer "
"network. Download files by adding torrents or create a new torrent to share "
"a file."
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:42 plinth/modules/ikiwiki/manifest.py:24
+#: plinth/modules/ikiwiki/__init__.py:41 plinth/modules/ikiwiki/manifest.py:24
msgid "ikiwiki"
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:44
+#: plinth/modules/ikiwiki/__init__.py:43
msgid "Wiki and Blog"
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:47
+#: plinth/modules/ikiwiki/__init__.py:46
msgid ""
"ikiwiki is a simple wiki and blog application. It supports several "
"lightweight markup languages, including Markdown, and common blogging "
@@ -1532,7 +1531,7 @@ msgid ""
"wikis will be available at /ikiwiki (once created)."
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:53
+#: plinth/modules/ikiwiki/__init__.py:52
#, python-brace-format
msgid ""
"Only {box_name} users in the admin group can create and "
@@ -1541,7 +1540,7 @@ msgid ""
"Configuration you can change these permissions or add new users."
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:63
+#: plinth/modules/ikiwiki/__init__.py:62
msgid "View and edit wiki applications"
msgstr ""
@@ -1609,49 +1608,49 @@ msgstr ""
msgid "Manage"
msgstr ""
-#: plinth/modules/ikiwiki/views.py:121
+#: plinth/modules/ikiwiki/views.py:124
#, python-brace-format
msgid "Created wiki {name}."
msgstr ""
-#: plinth/modules/ikiwiki/views.py:124
+#: plinth/modules/ikiwiki/views.py:127
#, python-brace-format
msgid "Could not create wiki: {error}"
msgstr ""
-#: plinth/modules/ikiwiki/views.py:134
+#: plinth/modules/ikiwiki/views.py:137
#, python-brace-format
msgid "Created blog {name}."
msgstr ""
-#: plinth/modules/ikiwiki/views.py:137
+#: plinth/modules/ikiwiki/views.py:140
#, python-brace-format
msgid "Could not create blog: {error}"
msgstr ""
-#: plinth/modules/ikiwiki/views.py:150
+#: plinth/modules/ikiwiki/views.py:153
#, python-brace-format
msgid "{name} deleted."
msgstr ""
-#: plinth/modules/ikiwiki/views.py:154
+#: plinth/modules/ikiwiki/views.py:157
#, python-brace-format
msgid "Could not delete {name}: {error}"
msgstr ""
-#: plinth/modules/infinoted/__init__.py:41
+#: plinth/modules/infinoted/__init__.py:40
msgid "infinoted"
msgstr ""
-#: plinth/modules/infinoted/__init__.py:43
+#: plinth/modules/infinoted/__init__.py:42
msgid "Gobby Server"
msgstr ""
-#: plinth/modules/infinoted/__init__.py:46
+#: plinth/modules/infinoted/__init__.py:45
msgid "infinoted is a server for Gobby, a collaborative text editor."
msgstr ""
-#: plinth/modules/infinoted/__init__.py:48
+#: plinth/modules/infinoted/__init__.py:47
#, python-brace-format
msgid ""
"To use it, download Gobby, desktop "
@@ -1971,11 +1970,11 @@ msgstr ""
msgid "Failed to delete certificate for domain {domain}: {error}"
msgstr ""
-#: plinth/modules/matrixsynapse/__init__.py:41
+#: plinth/modules/matrixsynapse/__init__.py:43
msgid "Matrix Synapse"
msgstr ""
-#: plinth/modules/matrixsynapse/__init__.py:46
+#: plinth/modules/matrixsynapse/__init__.py:48
msgid ""
"Matrix is an new "
"ecosystem for open, federated instant messaging and VoIP. Synapse is a "
@@ -1985,7 +1984,7 @@ msgid ""
"converse with users on all other Matrix servers via federation."
msgstr ""
-#: plinth/modules/matrixsynapse/__init__.py:53
+#: plinth/modules/matrixsynapse/__init__.py:55
msgid ""
"To communicate, you can use the available clients for mobile, desktop and the web. Special:CreateAccount page."
msgstr ""
-#: plinth/modules/mediawiki/__init__.py:49
+#: plinth/modules/mediawiki/__init__.py:53
msgid ""
"Anyone with a link to this wiki can read it. Only users that are logged in "
"can make changes to the content."
@@ -2122,32 +2121,32 @@ msgstr ""
msgid "Password updated"
msgstr ""
-#: plinth/modules/mediawiki/views.py:91
+#: plinth/modules/mediawiki/views.py:89
msgid "Public registrations enabled"
msgstr ""
-#: plinth/modules/mediawiki/views.py:100
+#: plinth/modules/mediawiki/views.py:98
msgid "Public registrations disabled"
msgstr ""
-#: plinth/modules/mediawiki/views.py:109
+#: plinth/modules/mediawiki/views.py:107
msgid "Private mode enabled"
msgstr ""
-#: plinth/modules/mediawiki/views.py:112
+#: plinth/modules/mediawiki/views.py:110
msgid "Private mode disabled"
msgstr ""
-#: plinth/modules/minetest/__init__.py:53
+#: plinth/modules/minetest/__init__.py:52
#: plinth/modules/minetest/manifest.py:25
msgid "Minetest"
msgstr ""
-#: plinth/modules/minetest/__init__.py:55
+#: plinth/modules/minetest/__init__.py:54
msgid "Block Sandbox"
msgstr ""
-#: plinth/modules/minetest/__init__.py:59
+#: plinth/modules/minetest/__init__.py:58
#, python-brace-format
msgid ""
"Minetest is a multiplayer infinite-world block sandbox. This module enables "
@@ -2156,39 +2155,39 @@ msgid ""
"downloads/\">Minetest client is needed."
msgstr ""
-#: plinth/modules/minetest/forms.py:31
+#: plinth/modules/minetest/forms.py:30
msgid "Maximum number of players"
msgstr ""
-#: plinth/modules/minetest/forms.py:35
+#: plinth/modules/minetest/forms.py:32
msgid ""
"You can change the maximum number of players playing minetest at a single "
"instance of time."
msgstr ""
-#: plinth/modules/minetest/forms.py:39
+#: plinth/modules/minetest/forms.py:36
msgid "Enable creative mode"
msgstr ""
-#: plinth/modules/minetest/forms.py:41
+#: plinth/modules/minetest/forms.py:37
msgid ""
"Creative mode changes the rules of the game to make it more suitable for "
"creative gameplay, rather than challenging \"survival\" gameplay."
msgstr ""
-#: plinth/modules/minetest/forms.py:46
+#: plinth/modules/minetest/forms.py:42
msgid "Enable PVP"
msgstr ""
-#: plinth/modules/minetest/forms.py:48
+#: plinth/modules/minetest/forms.py:43
msgid "Enabling Player Vs Player will allow players to damage other players."
msgstr ""
-#: plinth/modules/minetest/forms.py:52
+#: plinth/modules/minetest/forms.py:47
msgid "Enable damage"
msgstr ""
-#: plinth/modules/minetest/forms.py:54
+#: plinth/modules/minetest/forms.py:48
msgid "When disabled, players cannot die or receive damage of any kind."
msgstr ""
@@ -2202,52 +2201,52 @@ msgstr ""
msgid "Port"
msgstr ""
-#: plinth/modules/minetest/views.py:71
+#: plinth/modules/minetest/views.py:72
msgid "Maximum players configuration updated"
msgstr ""
-#: plinth/modules/minetest/views.py:78
+#: plinth/modules/minetest/views.py:79
msgid "Creative mode configuration updated"
msgstr ""
-#: plinth/modules/minetest/views.py:84
+#: plinth/modules/minetest/views.py:85
msgid "PVP configuration updated"
msgstr ""
-#: plinth/modules/minetest/views.py:90
+#: plinth/modules/minetest/views.py:91
msgid "Damage configuration updated"
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:38
+#: plinth/modules/mldonkey/__init__.py:40
#: plinth/modules/mldonkey/manifest.py:27
msgid "MLDonkey"
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:40
+#: plinth/modules/mldonkey/__init__.py:42
msgid "Peer-to-peer File Sharing"
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:43
+#: plinth/modules/mldonkey/__init__.py:45
msgid ""
"MLDonkey is a peer-to-peer file sharing application used to exchange large "
"files. It can participate in multiple peer-to-peer networks including "
"eDonkey, Kademlia, Overnet, BitTorrent and DirectConnect."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:46
+#: plinth/modules/mldonkey/__init__.py:48
msgid ""
"Users belonging to admin and ed2k group can control it through the web "
"interface. Users in the admin group can also control it through any of the "
"separate mobile or desktop front-ends or a telnet interface. See manual."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:51
+#: plinth/modules/mldonkey/__init__.py:53
#, python-brace-format
msgid ""
"On {box_name}, downloaded files can be found in /var/lib/mldonkey/ directory."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:59
+#: plinth/modules/mldonkey/__init__.py:61
msgid "Download files using eDonkey applications"
msgstr ""
@@ -2311,12 +2310,6 @@ msgstr ""
msgid "Secure Shell"
msgstr ""
-#: plinth/modules/monkeysphere/templates/monkeysphere.html:88
-#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:60
-#: plinth/service.py:138
-msgid "Web Server"
-msgstr ""
-
#: plinth/modules/monkeysphere/templates/monkeysphere.html:90
#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:62
msgid "Other"
@@ -2409,21 +2402,21 @@ msgstr ""
msgid "Error occurred while publishing key."
msgstr ""
-#: plinth/modules/mumble/__init__.py:34 plinth/modules/mumble/manifest.py:27
+#: plinth/modules/mumble/__init__.py:35 plinth/modules/mumble/manifest.py:27
msgid "Mumble"
msgstr ""
-#: plinth/modules/mumble/__init__.py:36
+#: plinth/modules/mumble/__init__.py:37
msgid "Voice Chat"
msgstr ""
-#: plinth/modules/mumble/__init__.py:45
+#: plinth/modules/mumble/__init__.py:44
msgid ""
"Mumble is an open source, low-latency, encrypted, high quality voice chat "
"software."
msgstr ""
-#: plinth/modules/mumble/__init__.py:47
+#: plinth/modules/mumble/__init__.py:46
msgid ""
"You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your "
@@ -2471,7 +2464,7 @@ msgstr ""
msgid "Networks"
msgstr ""
-#: plinth/modules/networks/__init__.py:142
+#: plinth/modules/networks/__init__.py:144
#, python-brace-format
msgid "Using DNSSEC on IPv{kind}"
msgstr ""
@@ -2898,7 +2891,7 @@ msgstr ""
#: plinth/modules/networks/templates/connection_show.html:186
#: plinth/modules/networks/templates/connection_show.html:227
-#: plinth/modules/shadowsocks/forms.py:75
+#: plinth/modules/shadowsocks/forms.py:65
msgid "Method"
msgstr ""
@@ -3020,15 +3013,15 @@ msgstr ""
msgid "Create..."
msgstr ""
-#: plinth/modules/openvpn/__init__.py:40
+#: plinth/modules/openvpn/__init__.py:39
msgid "OpenVPN"
msgstr ""
-#: plinth/modules/openvpn/__init__.py:42
+#: plinth/modules/openvpn/__init__.py:41
msgid "Virtual Private Network"
msgstr ""
-#: plinth/modules/openvpn/__init__.py:46
+#: plinth/modules/openvpn/__init__.py:45
#, python-brace-format
msgid ""
"Virtual Private Network (VPN) is a technique for securely connecting two "
@@ -3039,7 +3032,7 @@ msgid ""
"security and anonymity."
msgstr ""
-#: plinth/modules/openvpn/__init__.py:74
+#: plinth/modules/openvpn/__init__.py:75
#, python-brace-format
msgid ""
"Download Profile"
@@ -3104,11 +3097,11 @@ msgstr ""
msgid "OpenVPN server is not running"
msgstr ""
-#: plinth/modules/openvpn/views.py:128
+#: plinth/modules/openvpn/views.py:126
msgid "Setup completed."
msgstr ""
-#: plinth/modules/openvpn/views.py:130
+#: plinth/modules/openvpn/views.py:128
msgid "Setup failed."
msgstr ""
@@ -3178,7 +3171,7 @@ msgid ""
"pagekite.net server."
msgstr ""
-#: plinth/modules/pagekite/forms.py:78 plinth/modules/shadowsocks/forms.py:64
+#: plinth/modules/pagekite/forms.py:78 plinth/modules/shadowsocks/forms.py:57
msgid "Server port"
msgstr ""
@@ -3378,47 +3371,47 @@ msgstr ""
msgid "Save Services"
msgstr ""
-#: plinth/modules/pagekite/utils.py:53
+#: plinth/modules/pagekite/utils.py:57
msgid "Web Server (HTTP)"
msgstr ""
-#: plinth/modules/pagekite/utils.py:54
+#: plinth/modules/pagekite/utils.py:59
#, python-brace-format
msgid "Site will be available at http://{0}"
msgstr ""
-#: plinth/modules/pagekite/utils.py:63
+#: plinth/modules/pagekite/utils.py:71
msgid "Web Server (HTTPS)"
msgstr ""
-#: plinth/modules/pagekite/utils.py:64
+#: plinth/modules/pagekite/utils.py:73
#, python-brace-format
msgid "Site will be available at https://{0}"
msgstr ""
-#: plinth/modules/pagekite/utils.py:73
+#: plinth/modules/pagekite/utils.py:85
msgid "Secure Shell (SSH)"
msgstr ""
-#: plinth/modules/pagekite/utils.py:74
+#: plinth/modules/pagekite/utils.py:87
msgid ""
"See SSH client setup instructions"
msgstr ""
-#: plinth/modules/pagekite/utils.py:276
+#: plinth/modules/pagekite/utils.py:288
msgid "Pagekite"
msgstr ""
-#: plinth/modules/pagekite/views.py:39
+#: plinth/modules/pagekite/views.py:40
msgid "Standard Services"
msgstr ""
-#: plinth/modules/pagekite/views.py:42
+#: plinth/modules/pagekite/views.py:44
msgid "Custom Services"
msgstr ""
-#: plinth/modules/pagekite/views.py:156
+#: plinth/modules/pagekite/views.py:158
msgid "Pagekite setup finished. The HTTP and HTTPS services are activated now."
msgstr ""
@@ -3479,22 +3472,22 @@ msgstr ""
msgid "Shut Down Now"
msgstr ""
-#: plinth/modules/privoxy/__init__.py:41
+#: plinth/modules/privoxy/__init__.py:42
msgid "Privoxy"
msgstr ""
-#: plinth/modules/privoxy/__init__.py:43
+#: plinth/modules/privoxy/__init__.py:44
msgid "Web Proxy"
msgstr ""
-#: plinth/modules/privoxy/__init__.py:46
+#: plinth/modules/privoxy/__init__.py:47
msgid ""
"Privoxy is a non-caching web proxy with advanced filtering capabilities for "
"enhancing privacy, modifying web page data and HTTP headers, controlling "
"access, and removing ads and other obnoxious Internet junk. "
msgstr ""
-#: plinth/modules/privoxy/__init__.py:51
+#: plinth/modules/privoxy/__init__.py:52
#, python-brace-format
msgid ""
"You can use Privoxy by modifying your browser proxy settings to your "
@@ -3504,20 +3497,20 @@ msgid ""
"\">http://p.p."
msgstr ""
-#: plinth/modules/privoxy/__init__.py:157
+#: plinth/modules/privoxy/__init__.py:142
#, python-brace-format
msgid "Access {url} with proxy {proxy} on tcp{kind}"
msgstr ""
-#: plinth/modules/quassel/__init__.py:41 plinth/modules/quassel/manifest.py:25
+#: plinth/modules/quassel/__init__.py:40 plinth/modules/quassel/manifest.py:25
msgid "Quassel"
msgstr ""
-#: plinth/modules/quassel/__init__.py:43
+#: plinth/modules/quassel/__init__.py:42
msgid "IRC Client"
msgstr ""
-#: plinth/modules/quassel/__init__.py:47
+#: plinth/modules/quassel/__init__.py:46
#, python-brace-format
msgid ""
"Quassel is an IRC application that is split into two parts, a \"core\" and a "
@@ -3528,7 +3521,7 @@ msgid ""
"connect and disconnect from it."
msgstr ""
-#: plinth/modules/quassel/__init__.py:54
+#: plinth/modules/quassel/__init__.py:53
msgid ""
"You can connect to your Quassel core on the default Quassel port 4242. "
"Clients to connect to Quassel from your Jitsi (for computers) and (for Android phones)."
msgstr ""
-#: plinth/modules/repro/__init__.py:53
+#: plinth/modules/repro/__init__.py:55
msgid ""
"Note: Before using repro, domains and users will need to "
"be configured using the web-based "
@@ -3675,15 +3668,15 @@ msgstr ""
msgid "CSipSimple"
msgstr ""
-#: plinth/modules/restore/__init__.py:36 plinth/modules/restore/manifest.py:23
+#: plinth/modules/restore/__init__.py:37 plinth/modules/restore/manifest.py:23
msgid "reStore"
msgstr ""
-#: plinth/modules/restore/__init__.py:38
+#: plinth/modules/restore/__init__.py:39
msgid "Unhosted Storage"
msgstr ""
-#: plinth/modules/restore/__init__.py:42
+#: plinth/modules/restore/__init__.py:43
#, python-brace-format
msgid ""
"reStore is a server for unhosted web "
@@ -3693,22 +3686,22 @@ msgid ""
"becomes your unhosted storage server."
msgstr ""
-#: plinth/modules/restore/__init__.py:48
+#: plinth/modules/restore/__init__.py:49
msgid ""
"You can create and edit accounts in the reStore web-"
"interface."
msgstr ""
-#: plinth/modules/roundcube/__init__.py:34
+#: plinth/modules/roundcube/__init__.py:35
#: plinth/modules/roundcube/manifest.py:24
msgid "Roundcube"
msgstr ""
-#: plinth/modules/roundcube/__init__.py:36
+#: plinth/modules/roundcube/__init__.py:37
msgid "Email Client"
msgstr ""
-#: plinth/modules/roundcube/__init__.py:39
+#: plinth/modules/roundcube/__init__.py:40
msgid ""
"Roundcube webmail is a browser-based multilingual IMAP client with an "
"application-like user interface. It provides full functionality you expect "
@@ -3716,7 +3709,7 @@ msgid ""
"manipulation, message searching and spell checking."
msgstr ""
-#: plinth/modules/roundcube/__init__.py:44
+#: plinth/modules/roundcube/__init__.py:45
msgid ""
"You can access Roundcube from /roundcube. Provide "
"the username and password of the email account you wish to access followed "
@@ -3725,7 +3718,7 @@ msgid ""
"server field like imaps://imap.example.com."
msgstr ""
-#: plinth/modules/roundcube/__init__.py:50
+#: plinth/modules/roundcube/__init__.py:51
msgid ""
"For Gmail, username will be your Gmail address, password will be your Google "
"account password and server will be imaps://imap.gmail.com. "
@@ -3787,12 +3780,12 @@ msgstr ""
msgid "Allow this application to be used by anyone who can reach it."
msgstr ""
-#: plinth/modules/searx/views.py:60 plinth/modules/searx/views.py:71
-#: plinth/modules/tor/views.py:139 plinth/modules/tor/views.py:168
+#: plinth/modules/searx/views.py:59 plinth/modules/searx/views.py:70
+#: plinth/modules/tor/views.py:141 plinth/modules/tor/views.py:168
msgid "Configuration updated."
msgstr ""
-#: plinth/modules/searx/views.py:63 plinth/modules/searx/views.py:74
+#: plinth/modules/searx/views.py:62 plinth/modules/searx/views.py:73
#: plinth/modules/tor/views.py:170
msgid "An error occurred during configuration."
msgstr ""
@@ -3847,22 +3840,22 @@ msgid ""
"account, which you will need to setup on the initial visit."
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:34
+#: plinth/modules/shadowsocks/__init__.py:35
msgid "Shadowsocks"
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:36
+#: plinth/modules/shadowsocks/__init__.py:37
msgid "Socks5 Proxy"
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:45
+#: plinth/modules/shadowsocks/__init__.py:44
msgid ""
"Shadowsocks is a lightweight and secure SOCKS5 proxy, designed to protect "
"your Internet traffic. It can be used to bypass Internet filtering and "
"censorship."
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:49
+#: plinth/modules/shadowsocks/__init__.py:48
#, python-brace-format
msgid ""
"Your {box_name} can run a Shadowsocks client, that can connect to a "
@@ -3871,34 +3864,34 @@ msgid ""
"the Shadowsocks server."
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:54
+#: plinth/modules/shadowsocks/__init__.py:53
msgid ""
"To use Shadowsocks after setup, set the SOCKS5 proxy URL in your device, "
"browser or application to http://freedombox_address:1080/"
msgstr ""
+#: plinth/modules/shadowsocks/forms.py:28
#: plinth/modules/shadowsocks/forms.py:29
-#: plinth/modules/shadowsocks/forms.py:30
msgid "Recommended"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:60
+#: plinth/modules/shadowsocks/forms.py:54
msgid "Server"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:61
+#: plinth/modules/shadowsocks/forms.py:54
msgid "Server hostname or IP address"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:67
+#: plinth/modules/shadowsocks/forms.py:58
msgid "Server port number"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:71
+#: plinth/modules/shadowsocks/forms.py:61
msgid "Password used to encrypt data. Must match server password."
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:77
+#: plinth/modules/shadowsocks/forms.py:66
msgid "Encryption method. Must match setting on server."
msgstr ""
@@ -4156,7 +4149,7 @@ msgstr ""
msgid "Storage snapshots configuration updated"
msgstr ""
-#: plinth/modules/snapshot/views.py:153 plinth/modules/tor/views.py:72
+#: plinth/modules/snapshot/views.py:153 plinth/modules/tor/views.py:73
#, python-brace-format
msgid "Action error: {0} [{1}] [{2}]"
msgstr ""
@@ -4186,11 +4179,11 @@ msgstr ""
msgid "Rollback to Snapshot"
msgstr ""
-#: plinth/modules/ssh/__init__.py:39
+#: plinth/modules/ssh/__init__.py:40
msgid "Secure Shell (SSH) Server"
msgstr ""
-#: plinth/modules/ssh/__init__.py:42
+#: plinth/modules/ssh/__init__.py:43
msgid ""
"A Secure Shell server uses the secure shell protocol to accept connections "
"from remote computers. An authorized remote computer can perform "
@@ -4206,11 +4199,11 @@ msgstr ""
msgid "Login"
msgstr ""
-#: plinth/modules/storage/__init__.py:36 plinth/modules/storage/views.py:53
+#: plinth/modules/storage/__init__.py:35 plinth/modules/storage/views.py:53
msgid "Storage"
msgstr ""
-#: plinth/modules/storage/__init__.py:44
+#: plinth/modules/storage/__init__.py:43
#, python-brace-format
msgid ""
"This module allows you to manage storage media attached to your {box_name}. "
@@ -4218,80 +4211,80 @@ msgid ""
"media, expand the root partition etc."
msgstr ""
-#: plinth/modules/storage/__init__.py:211
+#: plinth/modules/storage/__init__.py:213
#, python-brace-format
msgid "{disk_size:.1f} bytes"
msgstr ""
-#: plinth/modules/storage/__init__.py:215
+#: plinth/modules/storage/__init__.py:217
#, python-brace-format
msgid "{disk_size:.1f} KiB"
msgstr ""
-#: plinth/modules/storage/__init__.py:219
+#: plinth/modules/storage/__init__.py:221
#, python-brace-format
msgid "{disk_size:.1f} MiB"
msgstr ""
-#: plinth/modules/storage/__init__.py:223
+#: plinth/modules/storage/__init__.py:225
#, python-brace-format
msgid "{disk_size:.1f} GiB"
msgstr ""
-#: plinth/modules/storage/__init__.py:226
+#: plinth/modules/storage/__init__.py:228
#, python-brace-format
msgid "{disk_size:.1f} TiB"
msgstr ""
-#: plinth/modules/storage/__init__.py:233
+#: plinth/modules/storage/__init__.py:235
msgid "The operation failed."
msgstr ""
-#: plinth/modules/storage/__init__.py:235
+#: plinth/modules/storage/__init__.py:237
msgid "The operation was cancelled."
msgstr ""
-#: plinth/modules/storage/__init__.py:237
+#: plinth/modules/storage/__init__.py:239
msgid "The device is already unmounting."
msgstr ""
-#: plinth/modules/storage/__init__.py:239
+#: plinth/modules/storage/__init__.py:241
msgid "The operation is not supported due to missing driver/tool support."
msgstr ""
-#: plinth/modules/storage/__init__.py:242
+#: plinth/modules/storage/__init__.py:244
msgid "The operation timed out."
msgstr ""
-#: plinth/modules/storage/__init__.py:244
+#: plinth/modules/storage/__init__.py:246
msgid "The operation would wake up a disk that is in a deep-sleep state."
msgstr ""
-#: plinth/modules/storage/__init__.py:247
+#: plinth/modules/storage/__init__.py:249
msgid "Attempting to unmount a device that is busy."
msgstr ""
-#: plinth/modules/storage/__init__.py:249
+#: plinth/modules/storage/__init__.py:251
msgid "The operation has already been cancelled."
msgstr ""
-#: plinth/modules/storage/__init__.py:255
+#: plinth/modules/storage/__init__.py:257
msgid "Not authorized to perform the requested operation."
msgstr ""
-#: plinth/modules/storage/__init__.py:257
+#: plinth/modules/storage/__init__.py:259
msgid "The device is already mounted."
msgstr ""
-#: plinth/modules/storage/__init__.py:259
+#: plinth/modules/storage/__init__.py:261
msgid "The device is not mounted."
msgstr ""
-#: plinth/modules/storage/__init__.py:262
+#: plinth/modules/storage/__init__.py:264
msgid "Not permitted to use the requested option."
msgstr ""
-#: plinth/modules/storage/__init__.py:265
+#: plinth/modules/storage/__init__.py:267
msgid "The device is mounted by another user."
msgstr ""
@@ -4367,16 +4360,16 @@ msgstr ""
msgid "Error ejecting device: {error_message}"
msgstr ""
-#: plinth/modules/syncthing/__init__.py:38
+#: plinth/modules/syncthing/__init__.py:40
#: plinth/modules/syncthing/manifest.py:28
msgid "Syncthing"
msgstr ""
-#: plinth/modules/syncthing/__init__.py:40
+#: plinth/modules/syncthing/__init__.py:42
msgid "File Synchronization"
msgstr ""
-#: plinth/modules/syncthing/__init__.py:43
+#: plinth/modules/syncthing/__init__.py:45
msgid ""
"Syncthing is an application to synchronize files across multiple devices, e."
"g. your desktop computer and mobile phone. Creation, modification, or "
@@ -4384,7 +4377,7 @@ msgid ""
"other devices that also run Syncthing."
msgstr ""
-#: plinth/modules/syncthing/__init__.py:48
+#: plinth/modules/syncthing/__init__.py:50
#, python-brace-format
msgid ""
"Running Syncthing on {box_name} provides an extra synchronization point for "
@@ -4395,26 +4388,26 @@ msgid ""
"{box_name} is only available for users belonging to the \"admin\" group."
msgstr ""
-#: plinth/modules/syncthing/__init__.py:55
+#: plinth/modules/syncthing/__init__.py:57
msgid ""
"When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile clients are also available."
msgstr ""
-#: plinth/modules/syncthing/__init__.py:62
+#: plinth/modules/syncthing/__init__.py:64
msgid "Administer Syncthing application"
msgstr ""
-#: plinth/modules/tahoe/__init__.py:41
+#: plinth/modules/tahoe/__init__.py:43
msgid "Tahoe-LAFS"
msgstr ""
-#: plinth/modules/tahoe/__init__.py:43
+#: plinth/modules/tahoe/__init__.py:45
msgid "Distributed File Storage"
msgstr ""
-#: plinth/modules/tahoe/__init__.py:107
+#: plinth/modules/tahoe/__init__.py:119
msgid ""
"Tahoe-LAFS is a decentralized secure file storage system. It uses provider "
"independent security to store files over a distributed network of storage "
@@ -4422,7 +4415,7 @@ msgid ""
"remaining nodes."
msgstr ""
-#: plinth/modules/tahoe/__init__.py:112
+#: plinth/modules/tahoe/__init__.py:124
#, python-brace-format
msgid ""
"This {box_name} hosts a storage node and an introducer by default. "
@@ -4465,11 +4458,11 @@ msgstr ""
msgid "Remove"
msgstr ""
-#: plinth/modules/tor/__init__.py:43
+#: plinth/modules/tor/__init__.py:46
msgid "Tor"
msgstr ""
-#: plinth/modules/tor/__init__.py:48
+#: plinth/modules/tor/__init__.py:51
msgid ""
"Tor is an anonymous communication system. You can learn more about it from "
"the Tor Project website. For "
@@ -4478,40 +4471,36 @@ msgid ""
"\">Tor Browser."
msgstr ""
-#: plinth/modules/tor/__init__.py:93
+#: plinth/modules/tor/__init__.py:80
msgid "Tor Socks Proxy"
msgstr ""
-#: plinth/modules/tor/__init__.py:99 plinth/modules/tor/__init__.py:146
+#: plinth/modules/tor/__init__.py:84
msgid "Tor Bridge Relay"
msgstr ""
-#: plinth/modules/tor/__init__.py:120 plinth/modules/tor/__init__.py:188
+#: plinth/modules/tor/__init__.py:122 plinth/modules/tor/__init__.py:150
msgid "Tor Hidden Service"
msgstr ""
-#: plinth/modules/tor/__init__.py:136
-msgid "Tor Anonymity Network"
-msgstr ""
-
-#: plinth/modules/tor/__init__.py:208
+#: plinth/modules/tor/__init__.py:170
msgid "Tor relay port available"
msgstr ""
-#: plinth/modules/tor/__init__.py:218
+#: plinth/modules/tor/__init__.py:180
msgid "Obfs3 transport registered"
msgstr ""
-#: plinth/modules/tor/__init__.py:226
+#: plinth/modules/tor/__init__.py:188
msgid "Obfs4 transport registered"
msgstr ""
-#: plinth/modules/tor/__init__.py:265
+#: plinth/modules/tor/__init__.py:227
#, python-brace-format
msgid "Access URL {url} on tcp{kind} via Tor"
msgstr ""
-#: plinth/modules/tor/__init__.py:276
+#: plinth/modules/tor/__init__.py:238
#, python-brace-format
msgid "Confirm Tor usage at {url} on tcp{kind}"
msgstr ""
@@ -4645,18 +4634,18 @@ msgstr ""
msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050."
msgstr ""
-#: plinth/modules/transmission/__init__.py:39
+#: plinth/modules/transmission/__init__.py:41
#: plinth/modules/transmission/manifest.py:24
msgid "Transmission"
msgstr ""
-#: plinth/modules/transmission/__init__.py:44
+#: plinth/modules/transmission/__init__.py:46
msgid ""
"BitTorrent is a peer-to-peer file sharing protocol. Transmission daemon "
"handles Bitorrent file sharing. Note that BitTorrent is not anonymous."
msgstr ""
-#: plinth/modules/transmission/__init__.py:47
+#: plinth/modules/transmission/__init__.py:49
msgid ""
"Access the web interface at /transmission."
msgstr ""
@@ -4672,22 +4661,22 @@ msgid ""
"\" user."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:41 plinth/modules/ttrss/manifest.py:34
+#: plinth/modules/ttrss/__init__.py:43 plinth/modules/ttrss/manifest.py:34
msgid "Tiny Tiny RSS"
msgstr ""
-#: plinth/modules/ttrss/__init__.py:43
+#: plinth/modules/ttrss/__init__.py:45
msgid "News Feed Reader"
msgstr ""
-#: plinth/modules/ttrss/__init__.py:46
+#: plinth/modules/ttrss/__init__.py:48
msgid ""
"Tiny Tiny RSS is a news feed (RSS/Atom) reader and aggregator, designed to "
"allow reading news from any location, while feeling as close to a real "
"desktop application as possible."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:50
+#: plinth/modules/ttrss/__init__.py:52
#, python-brace-format
msgid ""
"When enabled, Tiny Tiny RSS will be available from /tt-"
@@ -4695,13 +4684,13 @@ msgid ""
"\"{users_url}\">user with a {box_name} login."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:55
+#: plinth/modules/ttrss/__init__.py:57
msgid ""
"When using a mobile or desktop application for Tiny Tiny RSS, use the URL /tt-rss-app for connecting."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:61
+#: plinth/modules/ttrss/__init__.py:63
msgid "Read and subscribe to news feeds"
msgstr ""
@@ -4709,11 +4698,11 @@ msgstr ""
msgid "Tiny Tiny RSS (Fork)"
msgstr ""
-#: plinth/modules/upgrades/__init__.py:36 plinth/templates/setup.html:101
+#: plinth/modules/upgrades/__init__.py:35 plinth/templates/setup.html:101
msgid "Update"
msgstr ""
-#: plinth/modules/upgrades/__init__.py:39
+#: plinth/modules/upgrades/__init__.py:38
msgid "Check for and apply the latest software and security updates."
msgstr ""
@@ -4748,32 +4737,32 @@ msgstr ""
msgid "Auto-update"
msgstr ""
-#: plinth/modules/upgrades/views.py:39
+#: plinth/modules/upgrades/views.py:40
msgid "Manual update"
msgstr ""
-#: plinth/modules/upgrades/views.py:78
+#: plinth/modules/upgrades/views.py:79
#, python-brace-format
msgid "Error when configuring unattended-upgrades: {error}"
msgstr ""
-#: plinth/modules/upgrades/views.py:82
+#: plinth/modules/upgrades/views.py:83
msgid "Automatic upgrades enabled"
msgstr ""
-#: plinth/modules/upgrades/views.py:85
+#: plinth/modules/upgrades/views.py:86
msgid "Automatic upgrades disabled"
msgstr ""
-#: plinth/modules/upgrades/views.py:87
+#: plinth/modules/upgrades/views.py:88
msgid "Settings unchanged"
msgstr ""
-#: plinth/modules/upgrades/views.py:113
+#: plinth/modules/upgrades/views.py:114
msgid "Upgrade process started."
msgstr ""
-#: plinth/modules/upgrades/views.py:116
+#: plinth/modules/upgrades/views.py:117
msgid "Starting upgrade failed."
msgstr ""
@@ -4781,7 +4770,7 @@ msgstr ""
msgid "Users and Groups"
msgstr ""
-#: plinth/modules/users/__init__.py:106
+#: plinth/modules/users/__init__.py:108
#, python-brace-format
msgid "Check LDAP entry \"{search_item}\""
msgstr ""
@@ -4993,15 +4982,6 @@ msgstr ""
msgid "configuration file: {file}"
msgstr ""
-#: plinth/service.py:140
-msgid "Web Server over Secure Socket Layer"
-msgstr ""
-
-#: plinth/service.py:145
-#, python-brace-format
-msgid "{box_name} Web Interface (Plinth)"
-msgstr ""
-
#: plinth/templates/403.html:25
msgid "403 Forbidden"
msgstr ""
@@ -5200,16 +5180,16 @@ msgstr ""
msgid "Mailing list"
msgstr ""
-#: plinth/templates/internal-zone.html:25
+#: plinth/templates/internal-zone.html:26
#, python-format
msgid "%(service_name)s is available only on internal networks."
msgstr ""
-#: plinth/templates/internal-zone.html:31
+#: plinth/templates/internal-zone.html:32
msgid "Currently there are no network interfaces configured as internal."
msgstr ""
-#: plinth/templates/internal-zone.html:33
+#: plinth/templates/internal-zone.html:34
#, python-format
msgid ""
"Currently the following network interfaces are configured as internal: "
@@ -5272,6 +5252,14 @@ msgstr ""
msgid "%(percentage)s%% complete"
msgstr ""
+#: plinth/views.py:178
+msgid "Application enabled"
+msgstr ""
+
+#: plinth/views.py:181
+msgid "Application disabled"
+msgstr ""
+
#: plinth/web_framework.py:186
msgid "Gujarati"
msgstr ""
diff --git a/plinth/locale/kn/LC_MESSAGES/django.po b/plinth/locale/kn/LC_MESSAGES/django.po
index fbd7fe603..f613bdad0 100644
--- a/plinth/locale/kn/LC_MESSAGES/django.po
+++ b/plinth/locale/kn/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-06-10 19:02-0400\n"
+"POT-Creation-Date: 2019-06-24 19:48-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -48,7 +48,7 @@ msgstr ""
msgid "Cannot connect to {host}:{port}"
msgstr ""
-#: plinth/context_processors.py:37 plinth/views.py:60
+#: plinth/context_processors.py:37 plinth/views.py:61
msgid "FreedomBox"
msgstr ""
@@ -92,11 +92,22 @@ msgstr ""
msgid "Error installing application: {error}"
msgstr ""
-#: plinth/modules/avahi/__init__.py:42
+#: plinth/modules/apache/__init__.py:47
+#: plinth/modules/monkeysphere/templates/monkeysphere.html:88
+#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:60
+msgid "Web Server"
+msgstr ""
+
+#: plinth/modules/apache/__init__.py:54
+#, python-brace-format
+msgid "{box_name} Web Interface (Plinth)"
+msgstr ""
+
+#: plinth/modules/avahi/__init__.py:43
msgid "Service Discovery"
msgstr ""
-#: plinth/modules/avahi/__init__.py:46
+#: plinth/modules/avahi/__init__.py:47
#, python-brace-format
msgid ""
"Service discovery allows other devices on the network to discover your "
@@ -115,7 +126,7 @@ msgstr ""
msgid "Backups allows creating and managing backup archives."
msgstr ""
-#: plinth/modules/backups/__init__.py:51
+#: plinth/modules/backups/__init__.py:49
#, python-brace-format
msgid "{box_name} storage"
msgstr ""
@@ -399,21 +410,21 @@ msgstr ""
msgid "Mounting failed"
msgstr ""
-#: plinth/modules/bind/__init__.py:35
+#: plinth/modules/bind/__init__.py:36
msgid "BIND"
msgstr ""
-#: plinth/modules/bind/__init__.py:37
+#: plinth/modules/bind/__init__.py:38
msgid "Domain Name Server"
msgstr ""
-#: plinth/modules/bind/__init__.py:46
+#: plinth/modules/bind/__init__.py:45
msgid ""
"BIND enables you to publish your Domain Name System (DNS) information on the "
"Internet, and to resolve DNS queries for your user devices on your network."
msgstr ""
-#: plinth/modules/bind/__init__.py:50
+#: plinth/modules/bind/__init__.py:49
#, python-brace-format
msgid ""
"Currently, on {box_name}, BIND is only used to resolve DNS queries for other "
@@ -438,21 +449,21 @@ msgstr ""
msgid "Enable Domain Name System Security Extensions"
msgstr ""
-#: plinth/modules/bind/views.py:58 plinth/modules/dynamicdns/views.py:170
-#: plinth/modules/openvpn/views.py:148 plinth/modules/shadowsocks/views.py:80
+#: plinth/modules/bind/views.py:59 plinth/modules/dynamicdns/views.py:172
+#: plinth/modules/openvpn/views.py:146 plinth/modules/shadowsocks/views.py:79
#: plinth/modules/transmission/views.py:74
msgid "Configuration updated"
msgstr ""
-#: plinth/modules/cockpit/__init__.py:40 plinth/modules/cockpit/manifest.py:27
+#: plinth/modules/cockpit/__init__.py:42 plinth/modules/cockpit/manifest.py:27
msgid "Cockpit"
msgstr ""
-#: plinth/modules/cockpit/__init__.py:42
+#: plinth/modules/cockpit/__init__.py:44
msgid "Server Administration"
msgstr ""
-#: plinth/modules/cockpit/__init__.py:46
+#: plinth/modules/cockpit/__init__.py:48
#, python-brace-format
msgid ""
"Cockpit is a server manager that makes it easy to administer GNU/Linux "
@@ -461,7 +472,7 @@ msgid ""
"console operations is also available."
msgstr ""
-#: plinth/modules/cockpit/__init__.py:52
+#: plinth/modules/cockpit/__init__.py:54
#, python-brace-format
msgid ""
"When enabled, Cockpit will be available from /"
@@ -469,14 +480,14 @@ msgid ""
"\"{users_url}\">any user on {box_name} belonging to the admin group."
msgstr ""
-#: plinth/modules/config/__init__.py:59 plinth/modules/dynamicdns/views.py:44
+#: plinth/modules/config/__init__.py:61 plinth/modules/dynamicdns/views.py:45
#: plinth/modules/i2p/views.py:31 plinth/modules/ikiwiki/views.py:35
#: plinth/modules/pagekite/views.py:36 plinth/modules/snapshot/views.py:40
#: plinth/modules/tahoe/templates/tahoe-pre-setup.html:39
msgid "Configure"
msgstr ""
-#: plinth/modules/config/__init__.py:164 plinth/modules/config/forms.py:76
+#: plinth/modules/config/__init__.py:166 plinth/modules/config/forms.py:76
#: plinth/modules/config/views.py:171 plinth/modules/dynamicdns/forms.py:111
msgid "Domain Name"
msgstr ""
@@ -548,8 +559,8 @@ msgstr ""
#: plinth/modules/power/templates/power_restart.html:42
#: plinth/modules/power/templates/power_shutdown.html:41
#: plinth/modules/storage/templates/storage.html:48
-#: plinth/templates/service-subsubmenu.html:47 plinth/templates/service.html:42
-#: plinth/templates/setup.html:48 plinth/templates/simple_service.html:38
+#: plinth/templates/app-subsubmenu.html:47 plinth/templates/app.html:42
+#: plinth/templates/setup.html:48 plinth/templates/simple_app.html:38
msgid "Learn more..."
msgstr ""
@@ -597,22 +608,22 @@ msgstr ""
msgid "Hiding advanced apps and features"
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:38
+#: plinth/modules/coquelicot/__init__.py:40
msgid "Coquelicot"
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:40
+#: plinth/modules/coquelicot/__init__.py:42
msgid "File Sharing"
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:43
+#: plinth/modules/coquelicot/__init__.py:45
msgid ""
"Coquelicot is a “one-click” file sharing web application with a focus on "
"protecting users’ privacy. It is best used for quickly sharing a single "
"file. "
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:46
+#: plinth/modules/coquelicot/__init__.py:48
msgid ""
"This Coquelicot instance is exposed to the public but requires an upload "
"password to prevent unauthorized access. You can set a new upload password "
@@ -642,19 +653,19 @@ msgstr ""
msgid "coquelicot"
msgstr ""
-#: plinth/modules/coquelicot/views.py:57
+#: plinth/modules/coquelicot/views.py:59
msgid "Upload password updated"
msgstr ""
-#: plinth/modules/coquelicot/views.py:60
+#: plinth/modules/coquelicot/views.py:62
msgid "Failed to update upload password"
msgstr ""
-#: plinth/modules/coquelicot/views.py:68
+#: plinth/modules/coquelicot/views.py:70
msgid "Maximum file size updated"
msgstr ""
-#: plinth/modules/coquelicot/views.py:71
+#: plinth/modules/coquelicot/views.py:73
msgid "Failed to update maximum file size"
msgstr ""
@@ -668,21 +679,21 @@ msgid ""
"synchronization with servers on the Internet."
msgstr ""
-#: plinth/modules/datetime/__init__.py:107
+#: plinth/modules/datetime/__init__.py:99
msgid "Time synchronized to NTP server"
msgstr ""
-#: plinth/modules/datetime/forms.py:36
+#: plinth/modules/datetime/forms.py:35
msgid "Time Zone"
msgstr ""
-#: plinth/modules/datetime/forms.py:37
+#: plinth/modules/datetime/forms.py:36
msgid ""
"Set your time zone to get accurate timestamps. This will set the system-wide "
"time zone."
msgstr ""
-#: plinth/modules/datetime/forms.py:49
+#: plinth/modules/datetime/forms.py:47
msgid "-- no time zone set --"
msgstr ""
@@ -700,7 +711,7 @@ msgid "Deluge"
msgstr ""
#: plinth/modules/deluge/__init__.py:41
-#: plinth/modules/transmission/__init__.py:41
+#: plinth/modules/transmission/__init__.py:43
msgid "BitTorrent Web Client"
msgstr ""
@@ -716,7 +727,7 @@ msgid ""
msgstr ""
#: plinth/modules/deluge/__init__.py:51
-#: plinth/modules/transmission/__init__.py:54
+#: plinth/modules/transmission/__init__.py:56
msgid "Download files using BitTorrent applications"
msgstr ""
@@ -778,12 +789,12 @@ msgstr ""
msgid "Result"
msgstr ""
-#: plinth/modules/diaspora/__init__.py:52
+#: plinth/modules/diaspora/__init__.py:54
#: plinth/modules/diaspora/manifest.py:38
msgid "diaspora*"
msgstr ""
-#: plinth/modules/diaspora/__init__.py:54
+#: plinth/modules/diaspora/__init__.py:56
msgid "Federated Social Network"
msgstr ""
@@ -830,22 +841,22 @@ msgstr ""
#: plinth/modules/tahoe/templates/tahoe-pre-setup.html:58
#: plinth/modules/tor/templates/tor.html:96
#: plinth/modules/upgrades/templates/upgrades_configure.html:32
-#: plinth/templates/service.html:89
+#: plinth/templates/app.html:89
msgid "Update setup"
msgstr ""
-#: plinth/modules/diaspora/views.py:97 plinth/modules/ejabberd/views.py:64
-#: plinth/modules/matrixsynapse/views.py:107
-#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:150
-#: plinth/modules/tor/views.py:146 plinth/views.py:160
+#: plinth/modules/diaspora/views.py:94 plinth/modules/ejabberd/views.py:65
+#: plinth/modules/matrixsynapse/views.py:108
+#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:148
+#: plinth/modules/tor/views.py:148 plinth/views.py:174
msgid "Setting unchanged"
msgstr ""
-#: plinth/modules/diaspora/views.py:101
+#: plinth/modules/diaspora/views.py:98
msgid "User registrations enabled"
msgstr ""
-#: plinth/modules/diaspora/views.py:105
+#: plinth/modules/diaspora/views.py:102
msgid "User registrations disabled"
msgstr ""
@@ -872,8 +883,8 @@ msgid ""
"IP address."
msgstr ""
-#: plinth/modules/dynamicdns/__init__.py:85
-#: plinth/modules/dynamicdns/views.py:167
+#: plinth/modules/dynamicdns/__init__.py:87
+#: plinth/modules/dynamicdns/views.py:169
msgid "Dynamic DNS Service"
msgstr ""
@@ -962,7 +973,7 @@ msgid "Username"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:121 plinth/modules/networks/forms.py:235
-#: plinth/modules/shadowsocks/forms.py:70
+#: plinth/modules/shadowsocks/forms.py:61
msgid "Password"
msgstr ""
@@ -1040,45 +1051,45 @@ msgstr ""
msgid "Last update"
msgstr ""
-#: plinth/modules/dynamicdns/views.py:41 plinth/modules/help/help.py:57
+#: plinth/modules/dynamicdns/views.py:41 plinth/modules/help/help.py:59
msgid "About"
msgstr ""
-#: plinth/modules/dynamicdns/views.py:47
+#: plinth/modules/dynamicdns/views.py:49
#: plinth/modules/firewall/templates/firewall.html:25
#: plinth/modules/firewall/templates/firewall.html:45
#: plinth/modules/i2p/templates/i2p.html:27
#: plinth/modules/networks/templates/connection_show.html:261
#: plinth/modules/openvpn/templates/openvpn.html:71
#: plinth/modules/tor/templates/tor.html:40
-#: plinth/modules/tor/templates/tor.html:68 plinth/templates/service.html:51
+#: plinth/modules/tor/templates/tor.html:68 plinth/templates/app.html:51
msgid "Status"
msgstr ""
-#: plinth/modules/dynamicdns/views.py:78
+#: plinth/modules/dynamicdns/views.py:80
msgid "Configure Dynamic DNS"
msgstr ""
-#: plinth/modules/dynamicdns/views.py:103
+#: plinth/modules/dynamicdns/views.py:105
msgid "Dynamic DNS Status"
msgstr ""
-#: plinth/modules/ejabberd/__init__.py:43
+#: plinth/modules/ejabberd/__init__.py:45
msgid "ejabberd"
msgstr ""
-#: plinth/modules/ejabberd/__init__.py:45
-#: plinth/modules/matrixsynapse/__init__.py:43
+#: plinth/modules/ejabberd/__init__.py:47
+#: plinth/modules/matrixsynapse/__init__.py:45
msgid "Chat Server"
msgstr ""
-#: plinth/modules/ejabberd/__init__.py:48
+#: plinth/modules/ejabberd/__init__.py:50
msgid ""
"XMPP is an open and standardized communication protocol. Here you can run "
"and configure your XMPP server, called ejabberd."
msgstr ""
-#: plinth/modules/ejabberd/__init__.py:51
+#: plinth/modules/ejabberd/__init__.py:53
#, python-brace-format
msgid ""
"To actually communicate, you can use the web client"
@@ -1087,11 +1098,11 @@ msgid ""
"any user with a {box_name} login."
msgstr ""
-#: plinth/modules/ejabberd/forms.py:33
+#: plinth/modules/ejabberd/forms.py:32
msgid "Enable Message Archive Management"
msgstr ""
-#: plinth/modules/ejabberd/forms.py:36
+#: plinth/modules/ejabberd/forms.py:34
#, python-brace-format
msgid ""
"If enabled, your {box_name} will store chat message histories. This allows "
@@ -1159,35 +1170,23 @@ msgstr ""
#: plinth/modules/openvpn/templates/openvpn.html:123
#: plinth/modules/snapshot/templates/snapshot.html:27
#: plinth/modules/tahoe/templates/tahoe-post-setup.html:43
-#: plinth/modules/tor/templates/tor.html:88 plinth/templates/service.html:81
+#: plinth/modules/tor/templates/tor.html:88 plinth/templates/app.html:81
msgid "Configuration"
msgstr ""
-#: plinth/modules/ejabberd/views.py:68
-#: plinth/modules/matrixsynapse/views.py:111
-#: plinth/modules/mediawiki/views.py:79 plinth/views.py:164
-msgid "Application enabled"
-msgstr ""
-
-#: plinth/modules/ejabberd/views.py:71
-#: plinth/modules/matrixsynapse/views.py:114
-#: plinth/modules/mediawiki/views.py:82 plinth/views.py:167
-msgid "Application disabled"
-msgstr ""
-
-#: plinth/modules/ejabberd/views.py:78
+#: plinth/modules/ejabberd/views.py:77
msgid "Message Archive Management enabled"
msgstr ""
-#: plinth/modules/ejabberd/views.py:82
+#: plinth/modules/ejabberd/views.py:81
msgid "Message Archive Management disabled"
msgstr ""
-#: plinth/modules/firewall/__init__.py:40
+#: plinth/modules/firewall/__init__.py:36
msgid "Firewall"
msgstr ""
-#: plinth/modules/firewall/__init__.py:44
+#: plinth/modules/firewall/__init__.py:40
#, python-brace-format
msgid ""
"Firewall is a security system that controls the incoming and outgoing "
@@ -1293,29 +1292,29 @@ msgstr ""
msgid "Setup Complete"
msgstr ""
-#: plinth/modules/help/help.py:44
+#: plinth/modules/help/help.py:46
msgid "Documentation"
msgstr ""
-#: plinth/modules/help/help.py:48 plinth/modules/networks/forms.py:68
+#: plinth/modules/help/help.py:50 plinth/modules/networks/forms.py:68
#: plinth/modules/networks/forms.py:108 plinth/templates/index.html:135
msgid "Manual"
msgstr ""
-#: plinth/modules/help/help.py:53
+#: plinth/modules/help/help.py:55
msgid "Download Manual"
msgstr ""
-#: plinth/modules/help/help.py:73
+#: plinth/modules/help/help.py:75
msgid "Documentation and FAQ"
msgstr ""
-#: plinth/modules/help/help.py:81
+#: plinth/modules/help/help.py:83
#, python-brace-format
msgid "About {box_name}"
msgstr ""
-#: plinth/modules/help/help.py:102
+#: plinth/modules/help/help.py:104
#, python-brace-format
msgid "{box_name} Manual"
msgstr ""
@@ -1433,15 +1432,15 @@ msgid ""
"before submitting the bug report."
msgstr ""
-#: plinth/modules/i2p/__init__.py:40 plinth/modules/i2p/manifest.py:31
+#: plinth/modules/i2p/__init__.py:42 plinth/modules/i2p/manifest.py:31
msgid "I2P"
msgstr ""
-#: plinth/modules/i2p/__init__.py:42 plinth/modules/tor/__init__.py:45
+#: plinth/modules/i2p/__init__.py:44 plinth/modules/tor/__init__.py:48
msgid "Anonymity Network"
msgstr ""
-#: plinth/modules/i2p/__init__.py:45
+#: plinth/modules/i2p/__init__.py:47
msgid ""
"The Invisible Internet Project is an anonymous network layer intended to "
"protect communication from censorship and surveillance. I2P provides "
@@ -1449,33 +1448,33 @@ msgid ""
"distributed around the world."
msgstr ""
-#: plinth/modules/i2p/__init__.py:49
+#: plinth/modules/i2p/__init__.py:51
msgid ""
"Find more information about I2P on their project homepage."
msgstr ""
-#: plinth/modules/i2p/__init__.py:51
+#: plinth/modules/i2p/__init__.py:53
msgid ""
"The first visit to the provided web interface will initiate the "
"configuration process."
msgstr ""
-#: plinth/modules/i2p/__init__.py:57
+#: plinth/modules/i2p/__init__.py:59
msgid "Manage I2P application"
msgstr ""
-#: plinth/modules/i2p/templates/i2p.html:32 plinth/templates/service.html:56
+#: plinth/modules/i2p/templates/i2p.html:32 plinth/templates/app.html:56
#, python-format
msgid "Service %(service_name)s is running."
msgstr ""
-#: plinth/modules/i2p/templates/i2p.html:37 plinth/templates/service.html:61
+#: plinth/modules/i2p/templates/i2p.html:37 plinth/templates/app.html:61
#, python-format
msgid "Service %(service_name)s is not running."
msgstr ""
-#: plinth/modules/i2p/templates/i2p_service.html:13
+#: plinth/modules/i2p/templates/i2p_service.html:31
#: plinth/templates/clients.html:51
msgid "Launch"
msgstr ""
@@ -1488,43 +1487,43 @@ msgstr ""
msgid "Anonymous torrents"
msgstr ""
-#: plinth/modules/i2p/views.py:86
+#: plinth/modules/i2p/views.py:88
msgid "I2P Proxies and Tunnels"
msgstr ""
-#: plinth/modules/i2p/views.py:89
+#: plinth/modules/i2p/views.py:91
msgid ""
"I2P lets you browse the Internet and hidden services (eepsites) anonymously. "
"For this, your browser, preferably a Tor Browser, needs to be configured for "
"a proxy."
msgstr ""
-#: plinth/modules/i2p/views.py:92
+#: plinth/modules/i2p/views.py:94
msgid ""
"By default HTTP, HTTPS and IRC proxies are available. Additional proxies and "
"tunnels may be configured using the tunnel configuration interface."
msgstr ""
-#: plinth/modules/i2p/views.py:101
+#: plinth/modules/i2p/views.py:103
msgid "Anonymous Torrents"
msgstr ""
-#: plinth/modules/i2p/views.py:104
+#: plinth/modules/i2p/views.py:106
msgid ""
"I2P provides an application to download files anonymously in a peer-to-peer "
"network. Download files by adding torrents or create a new torrent to share "
"a file."
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:42 plinth/modules/ikiwiki/manifest.py:24
+#: plinth/modules/ikiwiki/__init__.py:41 plinth/modules/ikiwiki/manifest.py:24
msgid "ikiwiki"
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:44
+#: plinth/modules/ikiwiki/__init__.py:43
msgid "Wiki and Blog"
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:47
+#: plinth/modules/ikiwiki/__init__.py:46
msgid ""
"ikiwiki is a simple wiki and blog application. It supports several "
"lightweight markup languages, including Markdown, and common blogging "
@@ -1532,7 +1531,7 @@ msgid ""
"wikis will be available at /ikiwiki (once created)."
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:53
+#: plinth/modules/ikiwiki/__init__.py:52
#, python-brace-format
msgid ""
"Only {box_name} users in the admin group can create and "
@@ -1541,7 +1540,7 @@ msgid ""
"Configuration you can change these permissions or add new users."
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:63
+#: plinth/modules/ikiwiki/__init__.py:62
msgid "View and edit wiki applications"
msgstr ""
@@ -1609,49 +1608,49 @@ msgstr ""
msgid "Manage"
msgstr ""
-#: plinth/modules/ikiwiki/views.py:121
+#: plinth/modules/ikiwiki/views.py:124
#, python-brace-format
msgid "Created wiki {name}."
msgstr ""
-#: plinth/modules/ikiwiki/views.py:124
+#: plinth/modules/ikiwiki/views.py:127
#, python-brace-format
msgid "Could not create wiki: {error}"
msgstr ""
-#: plinth/modules/ikiwiki/views.py:134
+#: plinth/modules/ikiwiki/views.py:137
#, python-brace-format
msgid "Created blog {name}."
msgstr ""
-#: plinth/modules/ikiwiki/views.py:137
+#: plinth/modules/ikiwiki/views.py:140
#, python-brace-format
msgid "Could not create blog: {error}"
msgstr ""
-#: plinth/modules/ikiwiki/views.py:150
+#: plinth/modules/ikiwiki/views.py:153
#, python-brace-format
msgid "{name} deleted."
msgstr ""
-#: plinth/modules/ikiwiki/views.py:154
+#: plinth/modules/ikiwiki/views.py:157
#, python-brace-format
msgid "Could not delete {name}: {error}"
msgstr ""
-#: plinth/modules/infinoted/__init__.py:41
+#: plinth/modules/infinoted/__init__.py:40
msgid "infinoted"
msgstr ""
-#: plinth/modules/infinoted/__init__.py:43
+#: plinth/modules/infinoted/__init__.py:42
msgid "Gobby Server"
msgstr ""
-#: plinth/modules/infinoted/__init__.py:46
+#: plinth/modules/infinoted/__init__.py:45
msgid "infinoted is a server for Gobby, a collaborative text editor."
msgstr ""
-#: plinth/modules/infinoted/__init__.py:48
+#: plinth/modules/infinoted/__init__.py:47
#, python-brace-format
msgid ""
"To use it, download Gobby, desktop "
@@ -1971,11 +1970,11 @@ msgstr ""
msgid "Failed to delete certificate for domain {domain}: {error}"
msgstr ""
-#: plinth/modules/matrixsynapse/__init__.py:41
+#: plinth/modules/matrixsynapse/__init__.py:43
msgid "Matrix Synapse"
msgstr ""
-#: plinth/modules/matrixsynapse/__init__.py:46
+#: plinth/modules/matrixsynapse/__init__.py:48
msgid ""
"Matrix is an new "
"ecosystem for open, federated instant messaging and VoIP. Synapse is a "
@@ -1985,7 +1984,7 @@ msgid ""
"converse with users on all other Matrix servers via federation."
msgstr ""
-#: plinth/modules/matrixsynapse/__init__.py:53
+#: plinth/modules/matrixsynapse/__init__.py:55
msgid ""
"To communicate, you can use the available clients for mobile, desktop and the web. Special:CreateAccount page."
msgstr ""
-#: plinth/modules/mediawiki/__init__.py:49
+#: plinth/modules/mediawiki/__init__.py:53
msgid ""
"Anyone with a link to this wiki can read it. Only users that are logged in "
"can make changes to the content."
@@ -2122,32 +2121,32 @@ msgstr ""
msgid "Password updated"
msgstr ""
-#: plinth/modules/mediawiki/views.py:91
+#: plinth/modules/mediawiki/views.py:89
msgid "Public registrations enabled"
msgstr ""
-#: plinth/modules/mediawiki/views.py:100
+#: plinth/modules/mediawiki/views.py:98
msgid "Public registrations disabled"
msgstr ""
-#: plinth/modules/mediawiki/views.py:109
+#: plinth/modules/mediawiki/views.py:107
msgid "Private mode enabled"
msgstr ""
-#: plinth/modules/mediawiki/views.py:112
+#: plinth/modules/mediawiki/views.py:110
msgid "Private mode disabled"
msgstr ""
-#: plinth/modules/minetest/__init__.py:53
+#: plinth/modules/minetest/__init__.py:52
#: plinth/modules/minetest/manifest.py:25
msgid "Minetest"
msgstr ""
-#: plinth/modules/minetest/__init__.py:55
+#: plinth/modules/minetest/__init__.py:54
msgid "Block Sandbox"
msgstr ""
-#: plinth/modules/minetest/__init__.py:59
+#: plinth/modules/minetest/__init__.py:58
#, python-brace-format
msgid ""
"Minetest is a multiplayer infinite-world block sandbox. This module enables "
@@ -2156,39 +2155,39 @@ msgid ""
"downloads/\">Minetest client is needed."
msgstr ""
-#: plinth/modules/minetest/forms.py:31
+#: plinth/modules/minetest/forms.py:30
msgid "Maximum number of players"
msgstr ""
-#: plinth/modules/minetest/forms.py:35
+#: plinth/modules/minetest/forms.py:32
msgid ""
"You can change the maximum number of players playing minetest at a single "
"instance of time."
msgstr ""
-#: plinth/modules/minetest/forms.py:39
+#: plinth/modules/minetest/forms.py:36
msgid "Enable creative mode"
msgstr ""
-#: plinth/modules/minetest/forms.py:41
+#: plinth/modules/minetest/forms.py:37
msgid ""
"Creative mode changes the rules of the game to make it more suitable for "
"creative gameplay, rather than challenging \"survival\" gameplay."
msgstr ""
-#: plinth/modules/minetest/forms.py:46
+#: plinth/modules/minetest/forms.py:42
msgid "Enable PVP"
msgstr ""
-#: plinth/modules/minetest/forms.py:48
+#: plinth/modules/minetest/forms.py:43
msgid "Enabling Player Vs Player will allow players to damage other players."
msgstr ""
-#: plinth/modules/minetest/forms.py:52
+#: plinth/modules/minetest/forms.py:47
msgid "Enable damage"
msgstr ""
-#: plinth/modules/minetest/forms.py:54
+#: plinth/modules/minetest/forms.py:48
msgid "When disabled, players cannot die or receive damage of any kind."
msgstr ""
@@ -2202,52 +2201,52 @@ msgstr ""
msgid "Port"
msgstr ""
-#: plinth/modules/minetest/views.py:71
+#: plinth/modules/minetest/views.py:72
msgid "Maximum players configuration updated"
msgstr ""
-#: plinth/modules/minetest/views.py:78
+#: plinth/modules/minetest/views.py:79
msgid "Creative mode configuration updated"
msgstr ""
-#: plinth/modules/minetest/views.py:84
+#: plinth/modules/minetest/views.py:85
msgid "PVP configuration updated"
msgstr ""
-#: plinth/modules/minetest/views.py:90
+#: plinth/modules/minetest/views.py:91
msgid "Damage configuration updated"
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:38
+#: plinth/modules/mldonkey/__init__.py:40
#: plinth/modules/mldonkey/manifest.py:27
msgid "MLDonkey"
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:40
+#: plinth/modules/mldonkey/__init__.py:42
msgid "Peer-to-peer File Sharing"
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:43
+#: plinth/modules/mldonkey/__init__.py:45
msgid ""
"MLDonkey is a peer-to-peer file sharing application used to exchange large "
"files. It can participate in multiple peer-to-peer networks including "
"eDonkey, Kademlia, Overnet, BitTorrent and DirectConnect."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:46
+#: plinth/modules/mldonkey/__init__.py:48
msgid ""
"Users belonging to admin and ed2k group can control it through the web "
"interface. Users in the admin group can also control it through any of the "
"separate mobile or desktop front-ends or a telnet interface. See manual."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:51
+#: plinth/modules/mldonkey/__init__.py:53
#, python-brace-format
msgid ""
"On {box_name}, downloaded files can be found in /var/lib/mldonkey/ directory."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:59
+#: plinth/modules/mldonkey/__init__.py:61
msgid "Download files using eDonkey applications"
msgstr ""
@@ -2311,12 +2310,6 @@ msgstr ""
msgid "Secure Shell"
msgstr ""
-#: plinth/modules/monkeysphere/templates/monkeysphere.html:88
-#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:60
-#: plinth/service.py:138
-msgid "Web Server"
-msgstr ""
-
#: plinth/modules/monkeysphere/templates/monkeysphere.html:90
#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:62
msgid "Other"
@@ -2409,21 +2402,21 @@ msgstr ""
msgid "Error occurred while publishing key."
msgstr ""
-#: plinth/modules/mumble/__init__.py:34 plinth/modules/mumble/manifest.py:27
+#: plinth/modules/mumble/__init__.py:35 plinth/modules/mumble/manifest.py:27
msgid "Mumble"
msgstr ""
-#: plinth/modules/mumble/__init__.py:36
+#: plinth/modules/mumble/__init__.py:37
msgid "Voice Chat"
msgstr ""
-#: plinth/modules/mumble/__init__.py:45
+#: plinth/modules/mumble/__init__.py:44
msgid ""
"Mumble is an open source, low-latency, encrypted, high quality voice chat "
"software."
msgstr ""
-#: plinth/modules/mumble/__init__.py:47
+#: plinth/modules/mumble/__init__.py:46
msgid ""
"You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your "
@@ -2471,7 +2464,7 @@ msgstr ""
msgid "Networks"
msgstr ""
-#: plinth/modules/networks/__init__.py:142
+#: plinth/modules/networks/__init__.py:144
#, python-brace-format
msgid "Using DNSSEC on IPv{kind}"
msgstr ""
@@ -2898,7 +2891,7 @@ msgstr ""
#: plinth/modules/networks/templates/connection_show.html:186
#: plinth/modules/networks/templates/connection_show.html:227
-#: plinth/modules/shadowsocks/forms.py:75
+#: plinth/modules/shadowsocks/forms.py:65
msgid "Method"
msgstr ""
@@ -3020,15 +3013,15 @@ msgstr ""
msgid "Create..."
msgstr ""
-#: plinth/modules/openvpn/__init__.py:40
+#: plinth/modules/openvpn/__init__.py:39
msgid "OpenVPN"
msgstr ""
-#: plinth/modules/openvpn/__init__.py:42
+#: plinth/modules/openvpn/__init__.py:41
msgid "Virtual Private Network"
msgstr ""
-#: plinth/modules/openvpn/__init__.py:46
+#: plinth/modules/openvpn/__init__.py:45
#, python-brace-format
msgid ""
"Virtual Private Network (VPN) is a technique for securely connecting two "
@@ -3039,7 +3032,7 @@ msgid ""
"security and anonymity."
msgstr ""
-#: plinth/modules/openvpn/__init__.py:74
+#: plinth/modules/openvpn/__init__.py:75
#, python-brace-format
msgid ""
"Download Profile"
@@ -3104,11 +3097,11 @@ msgstr ""
msgid "OpenVPN server is not running"
msgstr ""
-#: plinth/modules/openvpn/views.py:128
+#: plinth/modules/openvpn/views.py:126
msgid "Setup completed."
msgstr ""
-#: plinth/modules/openvpn/views.py:130
+#: plinth/modules/openvpn/views.py:128
msgid "Setup failed."
msgstr ""
@@ -3178,7 +3171,7 @@ msgid ""
"pagekite.net server."
msgstr ""
-#: plinth/modules/pagekite/forms.py:78 plinth/modules/shadowsocks/forms.py:64
+#: plinth/modules/pagekite/forms.py:78 plinth/modules/shadowsocks/forms.py:57
msgid "Server port"
msgstr ""
@@ -3378,47 +3371,47 @@ msgstr ""
msgid "Save Services"
msgstr ""
-#: plinth/modules/pagekite/utils.py:53
+#: plinth/modules/pagekite/utils.py:57
msgid "Web Server (HTTP)"
msgstr ""
-#: plinth/modules/pagekite/utils.py:54
+#: plinth/modules/pagekite/utils.py:59
#, python-brace-format
msgid "Site will be available at http://{0}"
msgstr ""
-#: plinth/modules/pagekite/utils.py:63
+#: plinth/modules/pagekite/utils.py:71
msgid "Web Server (HTTPS)"
msgstr ""
-#: plinth/modules/pagekite/utils.py:64
+#: plinth/modules/pagekite/utils.py:73
#, python-brace-format
msgid "Site will be available at https://{0}"
msgstr ""
-#: plinth/modules/pagekite/utils.py:73
+#: plinth/modules/pagekite/utils.py:85
msgid "Secure Shell (SSH)"
msgstr ""
-#: plinth/modules/pagekite/utils.py:74
+#: plinth/modules/pagekite/utils.py:87
msgid ""
"See SSH client setup instructions"
msgstr ""
-#: plinth/modules/pagekite/utils.py:276
+#: plinth/modules/pagekite/utils.py:288
msgid "Pagekite"
msgstr ""
-#: plinth/modules/pagekite/views.py:39
+#: plinth/modules/pagekite/views.py:40
msgid "Standard Services"
msgstr ""
-#: plinth/modules/pagekite/views.py:42
+#: plinth/modules/pagekite/views.py:44
msgid "Custom Services"
msgstr ""
-#: plinth/modules/pagekite/views.py:156
+#: plinth/modules/pagekite/views.py:158
msgid "Pagekite setup finished. The HTTP and HTTPS services are activated now."
msgstr ""
@@ -3479,22 +3472,22 @@ msgstr ""
msgid "Shut Down Now"
msgstr ""
-#: plinth/modules/privoxy/__init__.py:41
+#: plinth/modules/privoxy/__init__.py:42
msgid "Privoxy"
msgstr ""
-#: plinth/modules/privoxy/__init__.py:43
+#: plinth/modules/privoxy/__init__.py:44
msgid "Web Proxy"
msgstr ""
-#: plinth/modules/privoxy/__init__.py:46
+#: plinth/modules/privoxy/__init__.py:47
msgid ""
"Privoxy is a non-caching web proxy with advanced filtering capabilities for "
"enhancing privacy, modifying web page data and HTTP headers, controlling "
"access, and removing ads and other obnoxious Internet junk. "
msgstr ""
-#: plinth/modules/privoxy/__init__.py:51
+#: plinth/modules/privoxy/__init__.py:52
#, python-brace-format
msgid ""
"You can use Privoxy by modifying your browser proxy settings to your "
@@ -3504,20 +3497,20 @@ msgid ""
"\">http://p.p."
msgstr ""
-#: plinth/modules/privoxy/__init__.py:157
+#: plinth/modules/privoxy/__init__.py:142
#, python-brace-format
msgid "Access {url} with proxy {proxy} on tcp{kind}"
msgstr ""
-#: plinth/modules/quassel/__init__.py:41 plinth/modules/quassel/manifest.py:25
+#: plinth/modules/quassel/__init__.py:40 plinth/modules/quassel/manifest.py:25
msgid "Quassel"
msgstr ""
-#: plinth/modules/quassel/__init__.py:43
+#: plinth/modules/quassel/__init__.py:42
msgid "IRC Client"
msgstr ""
-#: plinth/modules/quassel/__init__.py:47
+#: plinth/modules/quassel/__init__.py:46
#, python-brace-format
msgid ""
"Quassel is an IRC application that is split into two parts, a \"core\" and a "
@@ -3528,7 +3521,7 @@ msgid ""
"connect and disconnect from it."
msgstr ""
-#: plinth/modules/quassel/__init__.py:54
+#: plinth/modules/quassel/__init__.py:53
msgid ""
"You can connect to your Quassel core on the default Quassel port 4242. "
"Clients to connect to Quassel from your Jitsi (for computers) and (for Android phones)."
msgstr ""
-#: plinth/modules/repro/__init__.py:53
+#: plinth/modules/repro/__init__.py:55
msgid ""
"Note: Before using repro, domains and users will need to "
"be configured using the web-based "
@@ -3675,15 +3668,15 @@ msgstr ""
msgid "CSipSimple"
msgstr ""
-#: plinth/modules/restore/__init__.py:36 plinth/modules/restore/manifest.py:23
+#: plinth/modules/restore/__init__.py:37 plinth/modules/restore/manifest.py:23
msgid "reStore"
msgstr ""
-#: plinth/modules/restore/__init__.py:38
+#: plinth/modules/restore/__init__.py:39
msgid "Unhosted Storage"
msgstr ""
-#: plinth/modules/restore/__init__.py:42
+#: plinth/modules/restore/__init__.py:43
#, python-brace-format
msgid ""
"reStore is a server for unhosted web "
@@ -3693,22 +3686,22 @@ msgid ""
"becomes your unhosted storage server."
msgstr ""
-#: plinth/modules/restore/__init__.py:48
+#: plinth/modules/restore/__init__.py:49
msgid ""
"You can create and edit accounts in the reStore web-"
"interface."
msgstr ""
-#: plinth/modules/roundcube/__init__.py:34
+#: plinth/modules/roundcube/__init__.py:35
#: plinth/modules/roundcube/manifest.py:24
msgid "Roundcube"
msgstr ""
-#: plinth/modules/roundcube/__init__.py:36
+#: plinth/modules/roundcube/__init__.py:37
msgid "Email Client"
msgstr ""
-#: plinth/modules/roundcube/__init__.py:39
+#: plinth/modules/roundcube/__init__.py:40
msgid ""
"Roundcube webmail is a browser-based multilingual IMAP client with an "
"application-like user interface. It provides full functionality you expect "
@@ -3716,7 +3709,7 @@ msgid ""
"manipulation, message searching and spell checking."
msgstr ""
-#: plinth/modules/roundcube/__init__.py:44
+#: plinth/modules/roundcube/__init__.py:45
msgid ""
"You can access Roundcube from /roundcube. Provide "
"the username and password of the email account you wish to access followed "
@@ -3725,7 +3718,7 @@ msgid ""
"server field like imaps://imap.example.com."
msgstr ""
-#: plinth/modules/roundcube/__init__.py:50
+#: plinth/modules/roundcube/__init__.py:51
msgid ""
"For Gmail, username will be your Gmail address, password will be your Google "
"account password and server will be imaps://imap.gmail.com. "
@@ -3787,12 +3780,12 @@ msgstr ""
msgid "Allow this application to be used by anyone who can reach it."
msgstr ""
-#: plinth/modules/searx/views.py:60 plinth/modules/searx/views.py:71
-#: plinth/modules/tor/views.py:139 plinth/modules/tor/views.py:168
+#: plinth/modules/searx/views.py:59 plinth/modules/searx/views.py:70
+#: plinth/modules/tor/views.py:141 plinth/modules/tor/views.py:168
msgid "Configuration updated."
msgstr ""
-#: plinth/modules/searx/views.py:63 plinth/modules/searx/views.py:74
+#: plinth/modules/searx/views.py:62 plinth/modules/searx/views.py:73
#: plinth/modules/tor/views.py:170
msgid "An error occurred during configuration."
msgstr ""
@@ -3847,22 +3840,22 @@ msgid ""
"account, which you will need to setup on the initial visit."
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:34
+#: plinth/modules/shadowsocks/__init__.py:35
msgid "Shadowsocks"
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:36
+#: plinth/modules/shadowsocks/__init__.py:37
msgid "Socks5 Proxy"
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:45
+#: plinth/modules/shadowsocks/__init__.py:44
msgid ""
"Shadowsocks is a lightweight and secure SOCKS5 proxy, designed to protect "
"your Internet traffic. It can be used to bypass Internet filtering and "
"censorship."
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:49
+#: plinth/modules/shadowsocks/__init__.py:48
#, python-brace-format
msgid ""
"Your {box_name} can run a Shadowsocks client, that can connect to a "
@@ -3871,34 +3864,34 @@ msgid ""
"the Shadowsocks server."
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:54
+#: plinth/modules/shadowsocks/__init__.py:53
msgid ""
"To use Shadowsocks after setup, set the SOCKS5 proxy URL in your device, "
"browser or application to http://freedombox_address:1080/"
msgstr ""
+#: plinth/modules/shadowsocks/forms.py:28
#: plinth/modules/shadowsocks/forms.py:29
-#: plinth/modules/shadowsocks/forms.py:30
msgid "Recommended"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:60
+#: plinth/modules/shadowsocks/forms.py:54
msgid "Server"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:61
+#: plinth/modules/shadowsocks/forms.py:54
msgid "Server hostname or IP address"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:67
+#: plinth/modules/shadowsocks/forms.py:58
msgid "Server port number"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:71
+#: plinth/modules/shadowsocks/forms.py:61
msgid "Password used to encrypt data. Must match server password."
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:77
+#: plinth/modules/shadowsocks/forms.py:66
msgid "Encryption method. Must match setting on server."
msgstr ""
@@ -4156,7 +4149,7 @@ msgstr ""
msgid "Storage snapshots configuration updated"
msgstr ""
-#: plinth/modules/snapshot/views.py:153 plinth/modules/tor/views.py:72
+#: plinth/modules/snapshot/views.py:153 plinth/modules/tor/views.py:73
#, python-brace-format
msgid "Action error: {0} [{1}] [{2}]"
msgstr ""
@@ -4186,11 +4179,11 @@ msgstr ""
msgid "Rollback to Snapshot"
msgstr ""
-#: plinth/modules/ssh/__init__.py:39
+#: plinth/modules/ssh/__init__.py:40
msgid "Secure Shell (SSH) Server"
msgstr ""
-#: plinth/modules/ssh/__init__.py:42
+#: plinth/modules/ssh/__init__.py:43
msgid ""
"A Secure Shell server uses the secure shell protocol to accept connections "
"from remote computers. An authorized remote computer can perform "
@@ -4206,11 +4199,11 @@ msgstr ""
msgid "Login"
msgstr ""
-#: plinth/modules/storage/__init__.py:36 plinth/modules/storage/views.py:53
+#: plinth/modules/storage/__init__.py:35 plinth/modules/storage/views.py:53
msgid "Storage"
msgstr ""
-#: plinth/modules/storage/__init__.py:44
+#: plinth/modules/storage/__init__.py:43
#, python-brace-format
msgid ""
"This module allows you to manage storage media attached to your {box_name}. "
@@ -4218,80 +4211,80 @@ msgid ""
"media, expand the root partition etc."
msgstr ""
-#: plinth/modules/storage/__init__.py:211
+#: plinth/modules/storage/__init__.py:213
#, python-brace-format
msgid "{disk_size:.1f} bytes"
msgstr ""
-#: plinth/modules/storage/__init__.py:215
+#: plinth/modules/storage/__init__.py:217
#, python-brace-format
msgid "{disk_size:.1f} KiB"
msgstr ""
-#: plinth/modules/storage/__init__.py:219
+#: plinth/modules/storage/__init__.py:221
#, python-brace-format
msgid "{disk_size:.1f} MiB"
msgstr ""
-#: plinth/modules/storage/__init__.py:223
+#: plinth/modules/storage/__init__.py:225
#, python-brace-format
msgid "{disk_size:.1f} GiB"
msgstr ""
-#: plinth/modules/storage/__init__.py:226
+#: plinth/modules/storage/__init__.py:228
#, python-brace-format
msgid "{disk_size:.1f} TiB"
msgstr ""
-#: plinth/modules/storage/__init__.py:233
+#: plinth/modules/storage/__init__.py:235
msgid "The operation failed."
msgstr ""
-#: plinth/modules/storage/__init__.py:235
+#: plinth/modules/storage/__init__.py:237
msgid "The operation was cancelled."
msgstr ""
-#: plinth/modules/storage/__init__.py:237
+#: plinth/modules/storage/__init__.py:239
msgid "The device is already unmounting."
msgstr ""
-#: plinth/modules/storage/__init__.py:239
+#: plinth/modules/storage/__init__.py:241
msgid "The operation is not supported due to missing driver/tool support."
msgstr ""
-#: plinth/modules/storage/__init__.py:242
+#: plinth/modules/storage/__init__.py:244
msgid "The operation timed out."
msgstr ""
-#: plinth/modules/storage/__init__.py:244
+#: plinth/modules/storage/__init__.py:246
msgid "The operation would wake up a disk that is in a deep-sleep state."
msgstr ""
-#: plinth/modules/storage/__init__.py:247
+#: plinth/modules/storage/__init__.py:249
msgid "Attempting to unmount a device that is busy."
msgstr ""
-#: plinth/modules/storage/__init__.py:249
+#: plinth/modules/storage/__init__.py:251
msgid "The operation has already been cancelled."
msgstr ""
-#: plinth/modules/storage/__init__.py:255
+#: plinth/modules/storage/__init__.py:257
msgid "Not authorized to perform the requested operation."
msgstr ""
-#: plinth/modules/storage/__init__.py:257
+#: plinth/modules/storage/__init__.py:259
msgid "The device is already mounted."
msgstr ""
-#: plinth/modules/storage/__init__.py:259
+#: plinth/modules/storage/__init__.py:261
msgid "The device is not mounted."
msgstr ""
-#: plinth/modules/storage/__init__.py:262
+#: plinth/modules/storage/__init__.py:264
msgid "Not permitted to use the requested option."
msgstr ""
-#: plinth/modules/storage/__init__.py:265
+#: plinth/modules/storage/__init__.py:267
msgid "The device is mounted by another user."
msgstr ""
@@ -4367,16 +4360,16 @@ msgstr ""
msgid "Error ejecting device: {error_message}"
msgstr ""
-#: plinth/modules/syncthing/__init__.py:38
+#: plinth/modules/syncthing/__init__.py:40
#: plinth/modules/syncthing/manifest.py:28
msgid "Syncthing"
msgstr ""
-#: plinth/modules/syncthing/__init__.py:40
+#: plinth/modules/syncthing/__init__.py:42
msgid "File Synchronization"
msgstr ""
-#: plinth/modules/syncthing/__init__.py:43
+#: plinth/modules/syncthing/__init__.py:45
msgid ""
"Syncthing is an application to synchronize files across multiple devices, e."
"g. your desktop computer and mobile phone. Creation, modification, or "
@@ -4384,7 +4377,7 @@ msgid ""
"other devices that also run Syncthing."
msgstr ""
-#: plinth/modules/syncthing/__init__.py:48
+#: plinth/modules/syncthing/__init__.py:50
#, python-brace-format
msgid ""
"Running Syncthing on {box_name} provides an extra synchronization point for "
@@ -4395,26 +4388,26 @@ msgid ""
"{box_name} is only available for users belonging to the \"admin\" group."
msgstr ""
-#: plinth/modules/syncthing/__init__.py:55
+#: plinth/modules/syncthing/__init__.py:57
msgid ""
"When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile clients are also available."
msgstr ""
-#: plinth/modules/syncthing/__init__.py:62
+#: plinth/modules/syncthing/__init__.py:64
msgid "Administer Syncthing application"
msgstr ""
-#: plinth/modules/tahoe/__init__.py:41
+#: plinth/modules/tahoe/__init__.py:43
msgid "Tahoe-LAFS"
msgstr ""
-#: plinth/modules/tahoe/__init__.py:43
+#: plinth/modules/tahoe/__init__.py:45
msgid "Distributed File Storage"
msgstr ""
-#: plinth/modules/tahoe/__init__.py:107
+#: plinth/modules/tahoe/__init__.py:119
msgid ""
"Tahoe-LAFS is a decentralized secure file storage system. It uses provider "
"independent security to store files over a distributed network of storage "
@@ -4422,7 +4415,7 @@ msgid ""
"remaining nodes."
msgstr ""
-#: plinth/modules/tahoe/__init__.py:112
+#: plinth/modules/tahoe/__init__.py:124
#, python-brace-format
msgid ""
"This {box_name} hosts a storage node and an introducer by default. "
@@ -4465,11 +4458,11 @@ msgstr ""
msgid "Remove"
msgstr ""
-#: plinth/modules/tor/__init__.py:43
+#: plinth/modules/tor/__init__.py:46
msgid "Tor"
msgstr ""
-#: plinth/modules/tor/__init__.py:48
+#: plinth/modules/tor/__init__.py:51
msgid ""
"Tor is an anonymous communication system. You can learn more about it from "
"the Tor Project website. For "
@@ -4478,40 +4471,36 @@ msgid ""
"\">Tor Browser."
msgstr ""
-#: plinth/modules/tor/__init__.py:93
+#: plinth/modules/tor/__init__.py:80
msgid "Tor Socks Proxy"
msgstr ""
-#: plinth/modules/tor/__init__.py:99 plinth/modules/tor/__init__.py:146
+#: plinth/modules/tor/__init__.py:84
msgid "Tor Bridge Relay"
msgstr ""
-#: plinth/modules/tor/__init__.py:120 plinth/modules/tor/__init__.py:188
+#: plinth/modules/tor/__init__.py:122 plinth/modules/tor/__init__.py:150
msgid "Tor Hidden Service"
msgstr ""
-#: plinth/modules/tor/__init__.py:136
-msgid "Tor Anonymity Network"
-msgstr ""
-
-#: plinth/modules/tor/__init__.py:208
+#: plinth/modules/tor/__init__.py:170
msgid "Tor relay port available"
msgstr ""
-#: plinth/modules/tor/__init__.py:218
+#: plinth/modules/tor/__init__.py:180
msgid "Obfs3 transport registered"
msgstr ""
-#: plinth/modules/tor/__init__.py:226
+#: plinth/modules/tor/__init__.py:188
msgid "Obfs4 transport registered"
msgstr ""
-#: plinth/modules/tor/__init__.py:265
+#: plinth/modules/tor/__init__.py:227
#, python-brace-format
msgid "Access URL {url} on tcp{kind} via Tor"
msgstr ""
-#: plinth/modules/tor/__init__.py:276
+#: plinth/modules/tor/__init__.py:238
#, python-brace-format
msgid "Confirm Tor usage at {url} on tcp{kind}"
msgstr ""
@@ -4645,18 +4634,18 @@ msgstr ""
msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050."
msgstr ""
-#: plinth/modules/transmission/__init__.py:39
+#: plinth/modules/transmission/__init__.py:41
#: plinth/modules/transmission/manifest.py:24
msgid "Transmission"
msgstr ""
-#: plinth/modules/transmission/__init__.py:44
+#: plinth/modules/transmission/__init__.py:46
msgid ""
"BitTorrent is a peer-to-peer file sharing protocol. Transmission daemon "
"handles Bitorrent file sharing. Note that BitTorrent is not anonymous."
msgstr ""
-#: plinth/modules/transmission/__init__.py:47
+#: plinth/modules/transmission/__init__.py:49
msgid ""
"Access the web interface at /transmission."
msgstr ""
@@ -4672,22 +4661,22 @@ msgid ""
"\" user."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:41 plinth/modules/ttrss/manifest.py:34
+#: plinth/modules/ttrss/__init__.py:43 plinth/modules/ttrss/manifest.py:34
msgid "Tiny Tiny RSS"
msgstr ""
-#: plinth/modules/ttrss/__init__.py:43
+#: plinth/modules/ttrss/__init__.py:45
msgid "News Feed Reader"
msgstr ""
-#: plinth/modules/ttrss/__init__.py:46
+#: plinth/modules/ttrss/__init__.py:48
msgid ""
"Tiny Tiny RSS is a news feed (RSS/Atom) reader and aggregator, designed to "
"allow reading news from any location, while feeling as close to a real "
"desktop application as possible."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:50
+#: plinth/modules/ttrss/__init__.py:52
#, python-brace-format
msgid ""
"When enabled, Tiny Tiny RSS will be available from /tt-"
@@ -4695,13 +4684,13 @@ msgid ""
"\"{users_url}\">user with a {box_name} login."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:55
+#: plinth/modules/ttrss/__init__.py:57
msgid ""
"When using a mobile or desktop application for Tiny Tiny RSS, use the URL /tt-rss-app for connecting."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:61
+#: plinth/modules/ttrss/__init__.py:63
msgid "Read and subscribe to news feeds"
msgstr ""
@@ -4709,11 +4698,11 @@ msgstr ""
msgid "Tiny Tiny RSS (Fork)"
msgstr ""
-#: plinth/modules/upgrades/__init__.py:36 plinth/templates/setup.html:101
+#: plinth/modules/upgrades/__init__.py:35 plinth/templates/setup.html:101
msgid "Update"
msgstr ""
-#: plinth/modules/upgrades/__init__.py:39
+#: plinth/modules/upgrades/__init__.py:38
msgid "Check for and apply the latest software and security updates."
msgstr ""
@@ -4748,32 +4737,32 @@ msgstr ""
msgid "Auto-update"
msgstr ""
-#: plinth/modules/upgrades/views.py:39
+#: plinth/modules/upgrades/views.py:40
msgid "Manual update"
msgstr ""
-#: plinth/modules/upgrades/views.py:78
+#: plinth/modules/upgrades/views.py:79
#, python-brace-format
msgid "Error when configuring unattended-upgrades: {error}"
msgstr ""
-#: plinth/modules/upgrades/views.py:82
+#: plinth/modules/upgrades/views.py:83
msgid "Automatic upgrades enabled"
msgstr ""
-#: plinth/modules/upgrades/views.py:85
+#: plinth/modules/upgrades/views.py:86
msgid "Automatic upgrades disabled"
msgstr ""
-#: plinth/modules/upgrades/views.py:87
+#: plinth/modules/upgrades/views.py:88
msgid "Settings unchanged"
msgstr ""
-#: plinth/modules/upgrades/views.py:113
+#: plinth/modules/upgrades/views.py:114
msgid "Upgrade process started."
msgstr ""
-#: plinth/modules/upgrades/views.py:116
+#: plinth/modules/upgrades/views.py:117
msgid "Starting upgrade failed."
msgstr ""
@@ -4781,7 +4770,7 @@ msgstr ""
msgid "Users and Groups"
msgstr ""
-#: plinth/modules/users/__init__.py:106
+#: plinth/modules/users/__init__.py:108
#, python-brace-format
msgid "Check LDAP entry \"{search_item}\""
msgstr ""
@@ -4993,15 +4982,6 @@ msgstr ""
msgid "configuration file: {file}"
msgstr ""
-#: plinth/service.py:140
-msgid "Web Server over Secure Socket Layer"
-msgstr ""
-
-#: plinth/service.py:145
-#, python-brace-format
-msgid "{box_name} Web Interface (Plinth)"
-msgstr ""
-
#: plinth/templates/403.html:25
msgid "403 Forbidden"
msgstr ""
@@ -5200,16 +5180,16 @@ msgstr ""
msgid "Mailing list"
msgstr ""
-#: plinth/templates/internal-zone.html:25
+#: plinth/templates/internal-zone.html:26
#, python-format
msgid "%(service_name)s is available only on internal networks."
msgstr ""
-#: plinth/templates/internal-zone.html:31
+#: plinth/templates/internal-zone.html:32
msgid "Currently there are no network interfaces configured as internal."
msgstr ""
-#: plinth/templates/internal-zone.html:33
+#: plinth/templates/internal-zone.html:34
#, python-format
msgid ""
"Currently the following network interfaces are configured as internal: "
@@ -5272,6 +5252,14 @@ msgstr ""
msgid "%(percentage)s%% complete"
msgstr ""
+#: plinth/views.py:178
+msgid "Application enabled"
+msgstr ""
+
+#: plinth/views.py:181
+msgid "Application disabled"
+msgstr ""
+
#: plinth/web_framework.py:186
msgid "Gujarati"
msgstr ""
diff --git a/plinth/locale/lt/LC_MESSAGES/django.po b/plinth/locale/lt/LC_MESSAGES/django.po
index 009efe9ec..1b464a995 100644
--- a/plinth/locale/lt/LC_MESSAGES/django.po
+++ b/plinth/locale/lt/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-06-10 19:02-0400\n"
+"POT-Creation-Date: 2019-06-24 19:48-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -49,7 +49,7 @@ msgstr ""
msgid "Cannot connect to {host}:{port}"
msgstr ""
-#: plinth/context_processors.py:37 plinth/views.py:60
+#: plinth/context_processors.py:37 plinth/views.py:61
msgid "FreedomBox"
msgstr ""
@@ -93,11 +93,22 @@ msgstr ""
msgid "Error installing application: {error}"
msgstr ""
-#: plinth/modules/avahi/__init__.py:42
+#: plinth/modules/apache/__init__.py:47
+#: plinth/modules/monkeysphere/templates/monkeysphere.html:88
+#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:60
+msgid "Web Server"
+msgstr ""
+
+#: plinth/modules/apache/__init__.py:54
+#, python-brace-format
+msgid "{box_name} Web Interface (Plinth)"
+msgstr ""
+
+#: plinth/modules/avahi/__init__.py:43
msgid "Service Discovery"
msgstr ""
-#: plinth/modules/avahi/__init__.py:46
+#: plinth/modules/avahi/__init__.py:47
#, python-brace-format
msgid ""
"Service discovery allows other devices on the network to discover your "
@@ -116,7 +127,7 @@ msgstr ""
msgid "Backups allows creating and managing backup archives."
msgstr ""
-#: plinth/modules/backups/__init__.py:51
+#: plinth/modules/backups/__init__.py:49
#, python-brace-format
msgid "{box_name} storage"
msgstr ""
@@ -400,21 +411,21 @@ msgstr ""
msgid "Mounting failed"
msgstr ""
-#: plinth/modules/bind/__init__.py:35
+#: plinth/modules/bind/__init__.py:36
msgid "BIND"
msgstr ""
-#: plinth/modules/bind/__init__.py:37
+#: plinth/modules/bind/__init__.py:38
msgid "Domain Name Server"
msgstr ""
-#: plinth/modules/bind/__init__.py:46
+#: plinth/modules/bind/__init__.py:45
msgid ""
"BIND enables you to publish your Domain Name System (DNS) information on the "
"Internet, and to resolve DNS queries for your user devices on your network."
msgstr ""
-#: plinth/modules/bind/__init__.py:50
+#: plinth/modules/bind/__init__.py:49
#, python-brace-format
msgid ""
"Currently, on {box_name}, BIND is only used to resolve DNS queries for other "
@@ -439,21 +450,21 @@ msgstr ""
msgid "Enable Domain Name System Security Extensions"
msgstr ""
-#: plinth/modules/bind/views.py:58 plinth/modules/dynamicdns/views.py:170
-#: plinth/modules/openvpn/views.py:148 plinth/modules/shadowsocks/views.py:80
+#: plinth/modules/bind/views.py:59 plinth/modules/dynamicdns/views.py:172
+#: plinth/modules/openvpn/views.py:146 plinth/modules/shadowsocks/views.py:79
#: plinth/modules/transmission/views.py:74
msgid "Configuration updated"
msgstr ""
-#: plinth/modules/cockpit/__init__.py:40 plinth/modules/cockpit/manifest.py:27
+#: plinth/modules/cockpit/__init__.py:42 plinth/modules/cockpit/manifest.py:27
msgid "Cockpit"
msgstr ""
-#: plinth/modules/cockpit/__init__.py:42
+#: plinth/modules/cockpit/__init__.py:44
msgid "Server Administration"
msgstr ""
-#: plinth/modules/cockpit/__init__.py:46
+#: plinth/modules/cockpit/__init__.py:48
#, python-brace-format
msgid ""
"Cockpit is a server manager that makes it easy to administer GNU/Linux "
@@ -462,7 +473,7 @@ msgid ""
"console operations is also available."
msgstr ""
-#: plinth/modules/cockpit/__init__.py:52
+#: plinth/modules/cockpit/__init__.py:54
#, python-brace-format
msgid ""
"When enabled, Cockpit will be available from /"
@@ -470,14 +481,14 @@ msgid ""
"\"{users_url}\">any user on {box_name} belonging to the admin group."
msgstr ""
-#: plinth/modules/config/__init__.py:59 plinth/modules/dynamicdns/views.py:44
+#: plinth/modules/config/__init__.py:61 plinth/modules/dynamicdns/views.py:45
#: plinth/modules/i2p/views.py:31 plinth/modules/ikiwiki/views.py:35
#: plinth/modules/pagekite/views.py:36 plinth/modules/snapshot/views.py:40
#: plinth/modules/tahoe/templates/tahoe-pre-setup.html:39
msgid "Configure"
msgstr ""
-#: plinth/modules/config/__init__.py:164 plinth/modules/config/forms.py:76
+#: plinth/modules/config/__init__.py:166 plinth/modules/config/forms.py:76
#: plinth/modules/config/views.py:171 plinth/modules/dynamicdns/forms.py:111
msgid "Domain Name"
msgstr ""
@@ -549,8 +560,8 @@ msgstr ""
#: plinth/modules/power/templates/power_restart.html:42
#: plinth/modules/power/templates/power_shutdown.html:41
#: plinth/modules/storage/templates/storage.html:48
-#: plinth/templates/service-subsubmenu.html:47 plinth/templates/service.html:42
-#: plinth/templates/setup.html:48 plinth/templates/simple_service.html:38
+#: plinth/templates/app-subsubmenu.html:47 plinth/templates/app.html:42
+#: plinth/templates/setup.html:48 plinth/templates/simple_app.html:38
msgid "Learn more..."
msgstr ""
@@ -598,22 +609,22 @@ msgstr ""
msgid "Hiding advanced apps and features"
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:38
+#: plinth/modules/coquelicot/__init__.py:40
msgid "Coquelicot"
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:40
+#: plinth/modules/coquelicot/__init__.py:42
msgid "File Sharing"
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:43
+#: plinth/modules/coquelicot/__init__.py:45
msgid ""
"Coquelicot is a “one-click” file sharing web application with a focus on "
"protecting users’ privacy. It is best used for quickly sharing a single "
"file. "
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:46
+#: plinth/modules/coquelicot/__init__.py:48
msgid ""
"This Coquelicot instance is exposed to the public but requires an upload "
"password to prevent unauthorized access. You can set a new upload password "
@@ -643,19 +654,19 @@ msgstr ""
msgid "coquelicot"
msgstr ""
-#: plinth/modules/coquelicot/views.py:57
+#: plinth/modules/coquelicot/views.py:59
msgid "Upload password updated"
msgstr ""
-#: plinth/modules/coquelicot/views.py:60
+#: plinth/modules/coquelicot/views.py:62
msgid "Failed to update upload password"
msgstr ""
-#: plinth/modules/coquelicot/views.py:68
+#: plinth/modules/coquelicot/views.py:70
msgid "Maximum file size updated"
msgstr ""
-#: plinth/modules/coquelicot/views.py:71
+#: plinth/modules/coquelicot/views.py:73
msgid "Failed to update maximum file size"
msgstr ""
@@ -669,21 +680,21 @@ msgid ""
"synchronization with servers on the Internet."
msgstr ""
-#: plinth/modules/datetime/__init__.py:107
+#: plinth/modules/datetime/__init__.py:99
msgid "Time synchronized to NTP server"
msgstr ""
-#: plinth/modules/datetime/forms.py:36
+#: plinth/modules/datetime/forms.py:35
msgid "Time Zone"
msgstr ""
-#: plinth/modules/datetime/forms.py:37
+#: plinth/modules/datetime/forms.py:36
msgid ""
"Set your time zone to get accurate timestamps. This will set the system-wide "
"time zone."
msgstr ""
-#: plinth/modules/datetime/forms.py:49
+#: plinth/modules/datetime/forms.py:47
msgid "-- no time zone set --"
msgstr ""
@@ -701,7 +712,7 @@ msgid "Deluge"
msgstr ""
#: plinth/modules/deluge/__init__.py:41
-#: plinth/modules/transmission/__init__.py:41
+#: plinth/modules/transmission/__init__.py:43
msgid "BitTorrent Web Client"
msgstr ""
@@ -717,7 +728,7 @@ msgid ""
msgstr ""
#: plinth/modules/deluge/__init__.py:51
-#: plinth/modules/transmission/__init__.py:54
+#: plinth/modules/transmission/__init__.py:56
msgid "Download files using BitTorrent applications"
msgstr ""
@@ -779,12 +790,12 @@ msgstr ""
msgid "Result"
msgstr ""
-#: plinth/modules/diaspora/__init__.py:52
+#: plinth/modules/diaspora/__init__.py:54
#: plinth/modules/diaspora/manifest.py:38
msgid "diaspora*"
msgstr ""
-#: plinth/modules/diaspora/__init__.py:54
+#: plinth/modules/diaspora/__init__.py:56
msgid "Federated Social Network"
msgstr ""
@@ -831,22 +842,22 @@ msgstr ""
#: plinth/modules/tahoe/templates/tahoe-pre-setup.html:58
#: plinth/modules/tor/templates/tor.html:96
#: plinth/modules/upgrades/templates/upgrades_configure.html:32
-#: plinth/templates/service.html:89
+#: plinth/templates/app.html:89
msgid "Update setup"
msgstr ""
-#: plinth/modules/diaspora/views.py:97 plinth/modules/ejabberd/views.py:64
-#: plinth/modules/matrixsynapse/views.py:107
-#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:150
-#: plinth/modules/tor/views.py:146 plinth/views.py:160
+#: plinth/modules/diaspora/views.py:94 plinth/modules/ejabberd/views.py:65
+#: plinth/modules/matrixsynapse/views.py:108
+#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:148
+#: plinth/modules/tor/views.py:148 plinth/views.py:174
msgid "Setting unchanged"
msgstr ""
-#: plinth/modules/diaspora/views.py:101
+#: plinth/modules/diaspora/views.py:98
msgid "User registrations enabled"
msgstr ""
-#: plinth/modules/diaspora/views.py:105
+#: plinth/modules/diaspora/views.py:102
msgid "User registrations disabled"
msgstr ""
@@ -873,8 +884,8 @@ msgid ""
"IP address."
msgstr ""
-#: plinth/modules/dynamicdns/__init__.py:85
-#: plinth/modules/dynamicdns/views.py:167
+#: plinth/modules/dynamicdns/__init__.py:87
+#: plinth/modules/dynamicdns/views.py:169
msgid "Dynamic DNS Service"
msgstr ""
@@ -963,7 +974,7 @@ msgid "Username"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:121 plinth/modules/networks/forms.py:235
-#: plinth/modules/shadowsocks/forms.py:70
+#: plinth/modules/shadowsocks/forms.py:61
msgid "Password"
msgstr ""
@@ -1041,45 +1052,45 @@ msgstr ""
msgid "Last update"
msgstr ""
-#: plinth/modules/dynamicdns/views.py:41 plinth/modules/help/help.py:57
+#: plinth/modules/dynamicdns/views.py:41 plinth/modules/help/help.py:59
msgid "About"
msgstr ""
-#: plinth/modules/dynamicdns/views.py:47
+#: plinth/modules/dynamicdns/views.py:49
#: plinth/modules/firewall/templates/firewall.html:25
#: plinth/modules/firewall/templates/firewall.html:45
#: plinth/modules/i2p/templates/i2p.html:27
#: plinth/modules/networks/templates/connection_show.html:261
#: plinth/modules/openvpn/templates/openvpn.html:71
#: plinth/modules/tor/templates/tor.html:40
-#: plinth/modules/tor/templates/tor.html:68 plinth/templates/service.html:51
+#: plinth/modules/tor/templates/tor.html:68 plinth/templates/app.html:51
msgid "Status"
msgstr ""
-#: plinth/modules/dynamicdns/views.py:78
+#: plinth/modules/dynamicdns/views.py:80
msgid "Configure Dynamic DNS"
msgstr ""
-#: plinth/modules/dynamicdns/views.py:103
+#: plinth/modules/dynamicdns/views.py:105
msgid "Dynamic DNS Status"
msgstr ""
-#: plinth/modules/ejabberd/__init__.py:43
+#: plinth/modules/ejabberd/__init__.py:45
msgid "ejabberd"
msgstr ""
-#: plinth/modules/ejabberd/__init__.py:45
-#: plinth/modules/matrixsynapse/__init__.py:43
+#: plinth/modules/ejabberd/__init__.py:47
+#: plinth/modules/matrixsynapse/__init__.py:45
msgid "Chat Server"
msgstr ""
-#: plinth/modules/ejabberd/__init__.py:48
+#: plinth/modules/ejabberd/__init__.py:50
msgid ""
"XMPP is an open and standardized communication protocol. Here you can run "
"and configure your XMPP server, called ejabberd."
msgstr ""
-#: plinth/modules/ejabberd/__init__.py:51
+#: plinth/modules/ejabberd/__init__.py:53
#, python-brace-format
msgid ""
"To actually communicate, you can use the web client"
@@ -1088,11 +1099,11 @@ msgid ""
"any user with a {box_name} login."
msgstr ""
-#: plinth/modules/ejabberd/forms.py:33
+#: plinth/modules/ejabberd/forms.py:32
msgid "Enable Message Archive Management"
msgstr ""
-#: plinth/modules/ejabberd/forms.py:36
+#: plinth/modules/ejabberd/forms.py:34
#, python-brace-format
msgid ""
"If enabled, your {box_name} will store chat message histories. This allows "
@@ -1160,35 +1171,23 @@ msgstr ""
#: plinth/modules/openvpn/templates/openvpn.html:123
#: plinth/modules/snapshot/templates/snapshot.html:27
#: plinth/modules/tahoe/templates/tahoe-post-setup.html:43
-#: plinth/modules/tor/templates/tor.html:88 plinth/templates/service.html:81
+#: plinth/modules/tor/templates/tor.html:88 plinth/templates/app.html:81
msgid "Configuration"
msgstr ""
-#: plinth/modules/ejabberd/views.py:68
-#: plinth/modules/matrixsynapse/views.py:111
-#: plinth/modules/mediawiki/views.py:79 plinth/views.py:164
-msgid "Application enabled"
-msgstr ""
-
-#: plinth/modules/ejabberd/views.py:71
-#: plinth/modules/matrixsynapse/views.py:114
-#: plinth/modules/mediawiki/views.py:82 plinth/views.py:167
-msgid "Application disabled"
-msgstr ""
-
-#: plinth/modules/ejabberd/views.py:78
+#: plinth/modules/ejabberd/views.py:77
msgid "Message Archive Management enabled"
msgstr ""
-#: plinth/modules/ejabberd/views.py:82
+#: plinth/modules/ejabberd/views.py:81
msgid "Message Archive Management disabled"
msgstr ""
-#: plinth/modules/firewall/__init__.py:40
+#: plinth/modules/firewall/__init__.py:36
msgid "Firewall"
msgstr ""
-#: plinth/modules/firewall/__init__.py:44
+#: plinth/modules/firewall/__init__.py:40
#, python-brace-format
msgid ""
"Firewall is a security system that controls the incoming and outgoing "
@@ -1294,29 +1293,29 @@ msgstr ""
msgid "Setup Complete"
msgstr ""
-#: plinth/modules/help/help.py:44
+#: plinth/modules/help/help.py:46
msgid "Documentation"
msgstr ""
-#: plinth/modules/help/help.py:48 plinth/modules/networks/forms.py:68
+#: plinth/modules/help/help.py:50 plinth/modules/networks/forms.py:68
#: plinth/modules/networks/forms.py:108 plinth/templates/index.html:135
msgid "Manual"
msgstr ""
-#: plinth/modules/help/help.py:53
+#: plinth/modules/help/help.py:55
msgid "Download Manual"
msgstr ""
-#: plinth/modules/help/help.py:73
+#: plinth/modules/help/help.py:75
msgid "Documentation and FAQ"
msgstr ""
-#: plinth/modules/help/help.py:81
+#: plinth/modules/help/help.py:83
#, python-brace-format
msgid "About {box_name}"
msgstr ""
-#: plinth/modules/help/help.py:102
+#: plinth/modules/help/help.py:104
#, python-brace-format
msgid "{box_name} Manual"
msgstr ""
@@ -1434,15 +1433,15 @@ msgid ""
"before submitting the bug report."
msgstr ""
-#: plinth/modules/i2p/__init__.py:40 plinth/modules/i2p/manifest.py:31
+#: plinth/modules/i2p/__init__.py:42 plinth/modules/i2p/manifest.py:31
msgid "I2P"
msgstr ""
-#: plinth/modules/i2p/__init__.py:42 plinth/modules/tor/__init__.py:45
+#: plinth/modules/i2p/__init__.py:44 plinth/modules/tor/__init__.py:48
msgid "Anonymity Network"
msgstr ""
-#: plinth/modules/i2p/__init__.py:45
+#: plinth/modules/i2p/__init__.py:47
msgid ""
"The Invisible Internet Project is an anonymous network layer intended to "
"protect communication from censorship and surveillance. I2P provides "
@@ -1450,33 +1449,33 @@ msgid ""
"distributed around the world."
msgstr ""
-#: plinth/modules/i2p/__init__.py:49
+#: plinth/modules/i2p/__init__.py:51
msgid ""
"Find more information about I2P on their project homepage."
msgstr ""
-#: plinth/modules/i2p/__init__.py:51
+#: plinth/modules/i2p/__init__.py:53
msgid ""
"The first visit to the provided web interface will initiate the "
"configuration process."
msgstr ""
-#: plinth/modules/i2p/__init__.py:57
+#: plinth/modules/i2p/__init__.py:59
msgid "Manage I2P application"
msgstr ""
-#: plinth/modules/i2p/templates/i2p.html:32 plinth/templates/service.html:56
+#: plinth/modules/i2p/templates/i2p.html:32 plinth/templates/app.html:56
#, python-format
msgid "Service %(service_name)s is running."
msgstr ""
-#: plinth/modules/i2p/templates/i2p.html:37 plinth/templates/service.html:61
+#: plinth/modules/i2p/templates/i2p.html:37 plinth/templates/app.html:61
#, python-format
msgid "Service %(service_name)s is not running."
msgstr ""
-#: plinth/modules/i2p/templates/i2p_service.html:13
+#: plinth/modules/i2p/templates/i2p_service.html:31
#: plinth/templates/clients.html:51
msgid "Launch"
msgstr ""
@@ -1489,43 +1488,43 @@ msgstr ""
msgid "Anonymous torrents"
msgstr ""
-#: plinth/modules/i2p/views.py:86
+#: plinth/modules/i2p/views.py:88
msgid "I2P Proxies and Tunnels"
msgstr ""
-#: plinth/modules/i2p/views.py:89
+#: plinth/modules/i2p/views.py:91
msgid ""
"I2P lets you browse the Internet and hidden services (eepsites) anonymously. "
"For this, your browser, preferably a Tor Browser, needs to be configured for "
"a proxy."
msgstr ""
-#: plinth/modules/i2p/views.py:92
+#: plinth/modules/i2p/views.py:94
msgid ""
"By default HTTP, HTTPS and IRC proxies are available. Additional proxies and "
"tunnels may be configured using the tunnel configuration interface."
msgstr ""
-#: plinth/modules/i2p/views.py:101
+#: plinth/modules/i2p/views.py:103
msgid "Anonymous Torrents"
msgstr ""
-#: plinth/modules/i2p/views.py:104
+#: plinth/modules/i2p/views.py:106
msgid ""
"I2P provides an application to download files anonymously in a peer-to-peer "
"network. Download files by adding torrents or create a new torrent to share "
"a file."
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:42 plinth/modules/ikiwiki/manifest.py:24
+#: plinth/modules/ikiwiki/__init__.py:41 plinth/modules/ikiwiki/manifest.py:24
msgid "ikiwiki"
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:44
+#: plinth/modules/ikiwiki/__init__.py:43
msgid "Wiki and Blog"
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:47
+#: plinth/modules/ikiwiki/__init__.py:46
msgid ""
"ikiwiki is a simple wiki and blog application. It supports several "
"lightweight markup languages, including Markdown, and common blogging "
@@ -1533,7 +1532,7 @@ msgid ""
"wikis will be available at /ikiwiki (once created)."
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:53
+#: plinth/modules/ikiwiki/__init__.py:52
#, python-brace-format
msgid ""
"Only {box_name} users in the admin group can create and "
@@ -1542,7 +1541,7 @@ msgid ""
"Configuration you can change these permissions or add new users."
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:63
+#: plinth/modules/ikiwiki/__init__.py:62
msgid "View and edit wiki applications"
msgstr ""
@@ -1610,49 +1609,49 @@ msgstr ""
msgid "Manage"
msgstr ""
-#: plinth/modules/ikiwiki/views.py:121
+#: plinth/modules/ikiwiki/views.py:124
#, python-brace-format
msgid "Created wiki {name}."
msgstr ""
-#: plinth/modules/ikiwiki/views.py:124
+#: plinth/modules/ikiwiki/views.py:127
#, python-brace-format
msgid "Could not create wiki: {error}"
msgstr ""
-#: plinth/modules/ikiwiki/views.py:134
+#: plinth/modules/ikiwiki/views.py:137
#, python-brace-format
msgid "Created blog {name}."
msgstr ""
-#: plinth/modules/ikiwiki/views.py:137
+#: plinth/modules/ikiwiki/views.py:140
#, python-brace-format
msgid "Could not create blog: {error}"
msgstr ""
-#: plinth/modules/ikiwiki/views.py:150
+#: plinth/modules/ikiwiki/views.py:153
#, python-brace-format
msgid "{name} deleted."
msgstr ""
-#: plinth/modules/ikiwiki/views.py:154
+#: plinth/modules/ikiwiki/views.py:157
#, python-brace-format
msgid "Could not delete {name}: {error}"
msgstr ""
-#: plinth/modules/infinoted/__init__.py:41
+#: plinth/modules/infinoted/__init__.py:40
msgid "infinoted"
msgstr ""
-#: plinth/modules/infinoted/__init__.py:43
+#: plinth/modules/infinoted/__init__.py:42
msgid "Gobby Server"
msgstr ""
-#: plinth/modules/infinoted/__init__.py:46
+#: plinth/modules/infinoted/__init__.py:45
msgid "infinoted is a server for Gobby, a collaborative text editor."
msgstr ""
-#: plinth/modules/infinoted/__init__.py:48
+#: plinth/modules/infinoted/__init__.py:47
#, python-brace-format
msgid ""
"To use it, download Gobby, desktop "
@@ -1972,11 +1971,11 @@ msgstr ""
msgid "Failed to delete certificate for domain {domain}: {error}"
msgstr ""
-#: plinth/modules/matrixsynapse/__init__.py:41
+#: plinth/modules/matrixsynapse/__init__.py:43
msgid "Matrix Synapse"
msgstr ""
-#: plinth/modules/matrixsynapse/__init__.py:46
+#: plinth/modules/matrixsynapse/__init__.py:48
msgid ""
"Matrix is an new "
"ecosystem for open, federated instant messaging and VoIP. Synapse is a "
@@ -1986,7 +1985,7 @@ msgid ""
"converse with users on all other Matrix servers via federation."
msgstr ""
-#: plinth/modules/matrixsynapse/__init__.py:53
+#: plinth/modules/matrixsynapse/__init__.py:55
msgid ""
"To communicate, you can use the available clients for mobile, desktop and the web. Special:CreateAccount page."
msgstr ""
-#: plinth/modules/mediawiki/__init__.py:49
+#: plinth/modules/mediawiki/__init__.py:53
msgid ""
"Anyone with a link to this wiki can read it. Only users that are logged in "
"can make changes to the content."
@@ -2123,32 +2122,32 @@ msgstr ""
msgid "Password updated"
msgstr ""
-#: plinth/modules/mediawiki/views.py:91
+#: plinth/modules/mediawiki/views.py:89
msgid "Public registrations enabled"
msgstr ""
-#: plinth/modules/mediawiki/views.py:100
+#: plinth/modules/mediawiki/views.py:98
msgid "Public registrations disabled"
msgstr ""
-#: plinth/modules/mediawiki/views.py:109
+#: plinth/modules/mediawiki/views.py:107
msgid "Private mode enabled"
msgstr ""
-#: plinth/modules/mediawiki/views.py:112
+#: plinth/modules/mediawiki/views.py:110
msgid "Private mode disabled"
msgstr ""
-#: plinth/modules/minetest/__init__.py:53
+#: plinth/modules/minetest/__init__.py:52
#: plinth/modules/minetest/manifest.py:25
msgid "Minetest"
msgstr ""
-#: plinth/modules/minetest/__init__.py:55
+#: plinth/modules/minetest/__init__.py:54
msgid "Block Sandbox"
msgstr ""
-#: plinth/modules/minetest/__init__.py:59
+#: plinth/modules/minetest/__init__.py:58
#, python-brace-format
msgid ""
"Minetest is a multiplayer infinite-world block sandbox. This module enables "
@@ -2157,39 +2156,39 @@ msgid ""
"downloads/\">Minetest client is needed."
msgstr ""
-#: plinth/modules/minetest/forms.py:31
+#: plinth/modules/minetest/forms.py:30
msgid "Maximum number of players"
msgstr ""
-#: plinth/modules/minetest/forms.py:35
+#: plinth/modules/minetest/forms.py:32
msgid ""
"You can change the maximum number of players playing minetest at a single "
"instance of time."
msgstr ""
-#: plinth/modules/minetest/forms.py:39
+#: plinth/modules/minetest/forms.py:36
msgid "Enable creative mode"
msgstr ""
-#: plinth/modules/minetest/forms.py:41
+#: plinth/modules/minetest/forms.py:37
msgid ""
"Creative mode changes the rules of the game to make it more suitable for "
"creative gameplay, rather than challenging \"survival\" gameplay."
msgstr ""
-#: plinth/modules/minetest/forms.py:46
+#: plinth/modules/minetest/forms.py:42
msgid "Enable PVP"
msgstr ""
-#: plinth/modules/minetest/forms.py:48
+#: plinth/modules/minetest/forms.py:43
msgid "Enabling Player Vs Player will allow players to damage other players."
msgstr ""
-#: plinth/modules/minetest/forms.py:52
+#: plinth/modules/minetest/forms.py:47
msgid "Enable damage"
msgstr ""
-#: plinth/modules/minetest/forms.py:54
+#: plinth/modules/minetest/forms.py:48
msgid "When disabled, players cannot die or receive damage of any kind."
msgstr ""
@@ -2203,52 +2202,52 @@ msgstr ""
msgid "Port"
msgstr ""
-#: plinth/modules/minetest/views.py:71
+#: plinth/modules/minetest/views.py:72
msgid "Maximum players configuration updated"
msgstr ""
-#: plinth/modules/minetest/views.py:78
+#: plinth/modules/minetest/views.py:79
msgid "Creative mode configuration updated"
msgstr ""
-#: plinth/modules/minetest/views.py:84
+#: plinth/modules/minetest/views.py:85
msgid "PVP configuration updated"
msgstr ""
-#: plinth/modules/minetest/views.py:90
+#: plinth/modules/minetest/views.py:91
msgid "Damage configuration updated"
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:38
+#: plinth/modules/mldonkey/__init__.py:40
#: plinth/modules/mldonkey/manifest.py:27
msgid "MLDonkey"
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:40
+#: plinth/modules/mldonkey/__init__.py:42
msgid "Peer-to-peer File Sharing"
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:43
+#: plinth/modules/mldonkey/__init__.py:45
msgid ""
"MLDonkey is a peer-to-peer file sharing application used to exchange large "
"files. It can participate in multiple peer-to-peer networks including "
"eDonkey, Kademlia, Overnet, BitTorrent and DirectConnect."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:46
+#: plinth/modules/mldonkey/__init__.py:48
msgid ""
"Users belonging to admin and ed2k group can control it through the web "
"interface. Users in the admin group can also control it through any of the "
"separate mobile or desktop front-ends or a telnet interface. See manual."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:51
+#: plinth/modules/mldonkey/__init__.py:53
#, python-brace-format
msgid ""
"On {box_name}, downloaded files can be found in /var/lib/mldonkey/ directory."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:59
+#: plinth/modules/mldonkey/__init__.py:61
msgid "Download files using eDonkey applications"
msgstr ""
@@ -2312,12 +2311,6 @@ msgstr ""
msgid "Secure Shell"
msgstr ""
-#: plinth/modules/monkeysphere/templates/monkeysphere.html:88
-#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:60
-#: plinth/service.py:138
-msgid "Web Server"
-msgstr ""
-
#: plinth/modules/monkeysphere/templates/monkeysphere.html:90
#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:62
msgid "Other"
@@ -2410,21 +2403,21 @@ msgstr ""
msgid "Error occurred while publishing key."
msgstr ""
-#: plinth/modules/mumble/__init__.py:34 plinth/modules/mumble/manifest.py:27
+#: plinth/modules/mumble/__init__.py:35 plinth/modules/mumble/manifest.py:27
msgid "Mumble"
msgstr ""
-#: plinth/modules/mumble/__init__.py:36
+#: plinth/modules/mumble/__init__.py:37
msgid "Voice Chat"
msgstr ""
-#: plinth/modules/mumble/__init__.py:45
+#: plinth/modules/mumble/__init__.py:44
msgid ""
"Mumble is an open source, low-latency, encrypted, high quality voice chat "
"software."
msgstr ""
-#: plinth/modules/mumble/__init__.py:47
+#: plinth/modules/mumble/__init__.py:46
msgid ""
"You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your "
@@ -2472,7 +2465,7 @@ msgstr ""
msgid "Networks"
msgstr ""
-#: plinth/modules/networks/__init__.py:142
+#: plinth/modules/networks/__init__.py:144
#, python-brace-format
msgid "Using DNSSEC on IPv{kind}"
msgstr ""
@@ -2899,7 +2892,7 @@ msgstr ""
#: plinth/modules/networks/templates/connection_show.html:186
#: plinth/modules/networks/templates/connection_show.html:227
-#: plinth/modules/shadowsocks/forms.py:75
+#: plinth/modules/shadowsocks/forms.py:65
msgid "Method"
msgstr ""
@@ -3021,15 +3014,15 @@ msgstr ""
msgid "Create..."
msgstr ""
-#: plinth/modules/openvpn/__init__.py:40
+#: plinth/modules/openvpn/__init__.py:39
msgid "OpenVPN"
msgstr ""
-#: plinth/modules/openvpn/__init__.py:42
+#: plinth/modules/openvpn/__init__.py:41
msgid "Virtual Private Network"
msgstr ""
-#: plinth/modules/openvpn/__init__.py:46
+#: plinth/modules/openvpn/__init__.py:45
#, python-brace-format
msgid ""
"Virtual Private Network (VPN) is a technique for securely connecting two "
@@ -3040,7 +3033,7 @@ msgid ""
"security and anonymity."
msgstr ""
-#: plinth/modules/openvpn/__init__.py:74
+#: plinth/modules/openvpn/__init__.py:75
#, python-brace-format
msgid ""
"Download Profile"
@@ -3105,11 +3098,11 @@ msgstr ""
msgid "OpenVPN server is not running"
msgstr ""
-#: plinth/modules/openvpn/views.py:128
+#: plinth/modules/openvpn/views.py:126
msgid "Setup completed."
msgstr ""
-#: plinth/modules/openvpn/views.py:130
+#: plinth/modules/openvpn/views.py:128
msgid "Setup failed."
msgstr ""
@@ -3179,7 +3172,7 @@ msgid ""
"pagekite.net server."
msgstr ""
-#: plinth/modules/pagekite/forms.py:78 plinth/modules/shadowsocks/forms.py:64
+#: plinth/modules/pagekite/forms.py:78 plinth/modules/shadowsocks/forms.py:57
msgid "Server port"
msgstr ""
@@ -3379,47 +3372,47 @@ msgstr ""
msgid "Save Services"
msgstr ""
-#: plinth/modules/pagekite/utils.py:53
+#: plinth/modules/pagekite/utils.py:57
msgid "Web Server (HTTP)"
msgstr ""
-#: plinth/modules/pagekite/utils.py:54
+#: plinth/modules/pagekite/utils.py:59
#, python-brace-format
msgid "Site will be available at http://{0}"
msgstr ""
-#: plinth/modules/pagekite/utils.py:63
+#: plinth/modules/pagekite/utils.py:71
msgid "Web Server (HTTPS)"
msgstr ""
-#: plinth/modules/pagekite/utils.py:64
+#: plinth/modules/pagekite/utils.py:73
#, python-brace-format
msgid "Site will be available at https://{0}"
msgstr ""
-#: plinth/modules/pagekite/utils.py:73
+#: plinth/modules/pagekite/utils.py:85
msgid "Secure Shell (SSH)"
msgstr ""
-#: plinth/modules/pagekite/utils.py:74
+#: plinth/modules/pagekite/utils.py:87
msgid ""
"See SSH client setup instructions"
msgstr ""
-#: plinth/modules/pagekite/utils.py:276
+#: plinth/modules/pagekite/utils.py:288
msgid "Pagekite"
msgstr ""
-#: plinth/modules/pagekite/views.py:39
+#: plinth/modules/pagekite/views.py:40
msgid "Standard Services"
msgstr ""
-#: plinth/modules/pagekite/views.py:42
+#: plinth/modules/pagekite/views.py:44
msgid "Custom Services"
msgstr ""
-#: plinth/modules/pagekite/views.py:156
+#: plinth/modules/pagekite/views.py:158
msgid "Pagekite setup finished. The HTTP and HTTPS services are activated now."
msgstr ""
@@ -3480,22 +3473,22 @@ msgstr ""
msgid "Shut Down Now"
msgstr ""
-#: plinth/modules/privoxy/__init__.py:41
+#: plinth/modules/privoxy/__init__.py:42
msgid "Privoxy"
msgstr ""
-#: plinth/modules/privoxy/__init__.py:43
+#: plinth/modules/privoxy/__init__.py:44
msgid "Web Proxy"
msgstr ""
-#: plinth/modules/privoxy/__init__.py:46
+#: plinth/modules/privoxy/__init__.py:47
msgid ""
"Privoxy is a non-caching web proxy with advanced filtering capabilities for "
"enhancing privacy, modifying web page data and HTTP headers, controlling "
"access, and removing ads and other obnoxious Internet junk. "
msgstr ""
-#: plinth/modules/privoxy/__init__.py:51
+#: plinth/modules/privoxy/__init__.py:52
#, python-brace-format
msgid ""
"You can use Privoxy by modifying your browser proxy settings to your "
@@ -3505,20 +3498,20 @@ msgid ""
"\">http://p.p."
msgstr ""
-#: plinth/modules/privoxy/__init__.py:157
+#: plinth/modules/privoxy/__init__.py:142
#, python-brace-format
msgid "Access {url} with proxy {proxy} on tcp{kind}"
msgstr ""
-#: plinth/modules/quassel/__init__.py:41 plinth/modules/quassel/manifest.py:25
+#: plinth/modules/quassel/__init__.py:40 plinth/modules/quassel/manifest.py:25
msgid "Quassel"
msgstr ""
-#: plinth/modules/quassel/__init__.py:43
+#: plinth/modules/quassel/__init__.py:42
msgid "IRC Client"
msgstr ""
-#: plinth/modules/quassel/__init__.py:47
+#: plinth/modules/quassel/__init__.py:46
#, python-brace-format
msgid ""
"Quassel is an IRC application that is split into two parts, a \"core\" and a "
@@ -3529,7 +3522,7 @@ msgid ""
"connect and disconnect from it."
msgstr ""
-#: plinth/modules/quassel/__init__.py:54
+#: plinth/modules/quassel/__init__.py:53
msgid ""
"You can connect to your Quassel core on the default Quassel port 4242. "
"Clients to connect to Quassel from your Jitsi (for computers) and (for Android phones)."
msgstr ""
-#: plinth/modules/repro/__init__.py:53
+#: plinth/modules/repro/__init__.py:55
msgid ""
"Note: Before using repro, domains and users will need to "
"be configured using the web-based "
@@ -3676,15 +3669,15 @@ msgstr ""
msgid "CSipSimple"
msgstr ""
-#: plinth/modules/restore/__init__.py:36 plinth/modules/restore/manifest.py:23
+#: plinth/modules/restore/__init__.py:37 plinth/modules/restore/manifest.py:23
msgid "reStore"
msgstr ""
-#: plinth/modules/restore/__init__.py:38
+#: plinth/modules/restore/__init__.py:39
msgid "Unhosted Storage"
msgstr ""
-#: plinth/modules/restore/__init__.py:42
+#: plinth/modules/restore/__init__.py:43
#, python-brace-format
msgid ""
"reStore is a server for unhosted web "
@@ -3694,22 +3687,22 @@ msgid ""
"becomes your unhosted storage server."
msgstr ""
-#: plinth/modules/restore/__init__.py:48
+#: plinth/modules/restore/__init__.py:49
msgid ""
"You can create and edit accounts in the reStore web-"
"interface."
msgstr ""
-#: plinth/modules/roundcube/__init__.py:34
+#: plinth/modules/roundcube/__init__.py:35
#: plinth/modules/roundcube/manifest.py:24
msgid "Roundcube"
msgstr ""
-#: plinth/modules/roundcube/__init__.py:36
+#: plinth/modules/roundcube/__init__.py:37
msgid "Email Client"
msgstr ""
-#: plinth/modules/roundcube/__init__.py:39
+#: plinth/modules/roundcube/__init__.py:40
msgid ""
"Roundcube webmail is a browser-based multilingual IMAP client with an "
"application-like user interface. It provides full functionality you expect "
@@ -3717,7 +3710,7 @@ msgid ""
"manipulation, message searching and spell checking."
msgstr ""
-#: plinth/modules/roundcube/__init__.py:44
+#: plinth/modules/roundcube/__init__.py:45
msgid ""
"You can access Roundcube from /roundcube. Provide "
"the username and password of the email account you wish to access followed "
@@ -3726,7 +3719,7 @@ msgid ""
"server field like imaps://imap.example.com."
msgstr ""
-#: plinth/modules/roundcube/__init__.py:50
+#: plinth/modules/roundcube/__init__.py:51
msgid ""
"For Gmail, username will be your Gmail address, password will be your Google "
"account password and server will be imaps://imap.gmail.com. "
@@ -3788,12 +3781,12 @@ msgstr ""
msgid "Allow this application to be used by anyone who can reach it."
msgstr ""
-#: plinth/modules/searx/views.py:60 plinth/modules/searx/views.py:71
-#: plinth/modules/tor/views.py:139 plinth/modules/tor/views.py:168
+#: plinth/modules/searx/views.py:59 plinth/modules/searx/views.py:70
+#: plinth/modules/tor/views.py:141 plinth/modules/tor/views.py:168
msgid "Configuration updated."
msgstr ""
-#: plinth/modules/searx/views.py:63 plinth/modules/searx/views.py:74
+#: plinth/modules/searx/views.py:62 plinth/modules/searx/views.py:73
#: plinth/modules/tor/views.py:170
msgid "An error occurred during configuration."
msgstr ""
@@ -3848,22 +3841,22 @@ msgid ""
"account, which you will need to setup on the initial visit."
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:34
+#: plinth/modules/shadowsocks/__init__.py:35
msgid "Shadowsocks"
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:36
+#: plinth/modules/shadowsocks/__init__.py:37
msgid "Socks5 Proxy"
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:45
+#: plinth/modules/shadowsocks/__init__.py:44
msgid ""
"Shadowsocks is a lightweight and secure SOCKS5 proxy, designed to protect "
"your Internet traffic. It can be used to bypass Internet filtering and "
"censorship."
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:49
+#: plinth/modules/shadowsocks/__init__.py:48
#, python-brace-format
msgid ""
"Your {box_name} can run a Shadowsocks client, that can connect to a "
@@ -3872,34 +3865,34 @@ msgid ""
"the Shadowsocks server."
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:54
+#: plinth/modules/shadowsocks/__init__.py:53
msgid ""
"To use Shadowsocks after setup, set the SOCKS5 proxy URL in your device, "
"browser or application to http://freedombox_address:1080/"
msgstr ""
+#: plinth/modules/shadowsocks/forms.py:28
#: plinth/modules/shadowsocks/forms.py:29
-#: plinth/modules/shadowsocks/forms.py:30
msgid "Recommended"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:60
+#: plinth/modules/shadowsocks/forms.py:54
msgid "Server"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:61
+#: plinth/modules/shadowsocks/forms.py:54
msgid "Server hostname or IP address"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:67
+#: plinth/modules/shadowsocks/forms.py:58
msgid "Server port number"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:71
+#: plinth/modules/shadowsocks/forms.py:61
msgid "Password used to encrypt data. Must match server password."
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:77
+#: plinth/modules/shadowsocks/forms.py:66
msgid "Encryption method. Must match setting on server."
msgstr ""
@@ -4157,7 +4150,7 @@ msgstr ""
msgid "Storage snapshots configuration updated"
msgstr ""
-#: plinth/modules/snapshot/views.py:153 plinth/modules/tor/views.py:72
+#: plinth/modules/snapshot/views.py:153 plinth/modules/tor/views.py:73
#, python-brace-format
msgid "Action error: {0} [{1}] [{2}]"
msgstr ""
@@ -4187,11 +4180,11 @@ msgstr ""
msgid "Rollback to Snapshot"
msgstr ""
-#: plinth/modules/ssh/__init__.py:39
+#: plinth/modules/ssh/__init__.py:40
msgid "Secure Shell (SSH) Server"
msgstr ""
-#: plinth/modules/ssh/__init__.py:42
+#: plinth/modules/ssh/__init__.py:43
msgid ""
"A Secure Shell server uses the secure shell protocol to accept connections "
"from remote computers. An authorized remote computer can perform "
@@ -4207,11 +4200,11 @@ msgstr ""
msgid "Login"
msgstr ""
-#: plinth/modules/storage/__init__.py:36 plinth/modules/storage/views.py:53
+#: plinth/modules/storage/__init__.py:35 plinth/modules/storage/views.py:53
msgid "Storage"
msgstr ""
-#: plinth/modules/storage/__init__.py:44
+#: plinth/modules/storage/__init__.py:43
#, python-brace-format
msgid ""
"This module allows you to manage storage media attached to your {box_name}. "
@@ -4219,80 +4212,80 @@ msgid ""
"media, expand the root partition etc."
msgstr ""
-#: plinth/modules/storage/__init__.py:211
+#: plinth/modules/storage/__init__.py:213
#, python-brace-format
msgid "{disk_size:.1f} bytes"
msgstr ""
-#: plinth/modules/storage/__init__.py:215
+#: plinth/modules/storage/__init__.py:217
#, python-brace-format
msgid "{disk_size:.1f} KiB"
msgstr ""
-#: plinth/modules/storage/__init__.py:219
+#: plinth/modules/storage/__init__.py:221
#, python-brace-format
msgid "{disk_size:.1f} MiB"
msgstr ""
-#: plinth/modules/storage/__init__.py:223
+#: plinth/modules/storage/__init__.py:225
#, python-brace-format
msgid "{disk_size:.1f} GiB"
msgstr ""
-#: plinth/modules/storage/__init__.py:226
+#: plinth/modules/storage/__init__.py:228
#, python-brace-format
msgid "{disk_size:.1f} TiB"
msgstr ""
-#: plinth/modules/storage/__init__.py:233
+#: plinth/modules/storage/__init__.py:235
msgid "The operation failed."
msgstr ""
-#: plinth/modules/storage/__init__.py:235
+#: plinth/modules/storage/__init__.py:237
msgid "The operation was cancelled."
msgstr ""
-#: plinth/modules/storage/__init__.py:237
+#: plinth/modules/storage/__init__.py:239
msgid "The device is already unmounting."
msgstr ""
-#: plinth/modules/storage/__init__.py:239
+#: plinth/modules/storage/__init__.py:241
msgid "The operation is not supported due to missing driver/tool support."
msgstr ""
-#: plinth/modules/storage/__init__.py:242
+#: plinth/modules/storage/__init__.py:244
msgid "The operation timed out."
msgstr ""
-#: plinth/modules/storage/__init__.py:244
+#: plinth/modules/storage/__init__.py:246
msgid "The operation would wake up a disk that is in a deep-sleep state."
msgstr ""
-#: plinth/modules/storage/__init__.py:247
+#: plinth/modules/storage/__init__.py:249
msgid "Attempting to unmount a device that is busy."
msgstr ""
-#: plinth/modules/storage/__init__.py:249
+#: plinth/modules/storage/__init__.py:251
msgid "The operation has already been cancelled."
msgstr ""
-#: plinth/modules/storage/__init__.py:255
+#: plinth/modules/storage/__init__.py:257
msgid "Not authorized to perform the requested operation."
msgstr ""
-#: plinth/modules/storage/__init__.py:257
+#: plinth/modules/storage/__init__.py:259
msgid "The device is already mounted."
msgstr ""
-#: plinth/modules/storage/__init__.py:259
+#: plinth/modules/storage/__init__.py:261
msgid "The device is not mounted."
msgstr ""
-#: plinth/modules/storage/__init__.py:262
+#: plinth/modules/storage/__init__.py:264
msgid "Not permitted to use the requested option."
msgstr ""
-#: plinth/modules/storage/__init__.py:265
+#: plinth/modules/storage/__init__.py:267
msgid "The device is mounted by another user."
msgstr ""
@@ -4368,16 +4361,16 @@ msgstr ""
msgid "Error ejecting device: {error_message}"
msgstr ""
-#: plinth/modules/syncthing/__init__.py:38
+#: plinth/modules/syncthing/__init__.py:40
#: plinth/modules/syncthing/manifest.py:28
msgid "Syncthing"
msgstr ""
-#: plinth/modules/syncthing/__init__.py:40
+#: plinth/modules/syncthing/__init__.py:42
msgid "File Synchronization"
msgstr ""
-#: plinth/modules/syncthing/__init__.py:43
+#: plinth/modules/syncthing/__init__.py:45
msgid ""
"Syncthing is an application to synchronize files across multiple devices, e."
"g. your desktop computer and mobile phone. Creation, modification, or "
@@ -4385,7 +4378,7 @@ msgid ""
"other devices that also run Syncthing."
msgstr ""
-#: plinth/modules/syncthing/__init__.py:48
+#: plinth/modules/syncthing/__init__.py:50
#, python-brace-format
msgid ""
"Running Syncthing on {box_name} provides an extra synchronization point for "
@@ -4396,26 +4389,26 @@ msgid ""
"{box_name} is only available for users belonging to the \"admin\" group."
msgstr ""
-#: plinth/modules/syncthing/__init__.py:55
+#: plinth/modules/syncthing/__init__.py:57
msgid ""
"When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile clients are also available."
msgstr ""
-#: plinth/modules/syncthing/__init__.py:62
+#: plinth/modules/syncthing/__init__.py:64
msgid "Administer Syncthing application"
msgstr ""
-#: plinth/modules/tahoe/__init__.py:41
+#: plinth/modules/tahoe/__init__.py:43
msgid "Tahoe-LAFS"
msgstr ""
-#: plinth/modules/tahoe/__init__.py:43
+#: plinth/modules/tahoe/__init__.py:45
msgid "Distributed File Storage"
msgstr ""
-#: plinth/modules/tahoe/__init__.py:107
+#: plinth/modules/tahoe/__init__.py:119
msgid ""
"Tahoe-LAFS is a decentralized secure file storage system. It uses provider "
"independent security to store files over a distributed network of storage "
@@ -4423,7 +4416,7 @@ msgid ""
"remaining nodes."
msgstr ""
-#: plinth/modules/tahoe/__init__.py:112
+#: plinth/modules/tahoe/__init__.py:124
#, python-brace-format
msgid ""
"This {box_name} hosts a storage node and an introducer by default. "
@@ -4466,11 +4459,11 @@ msgstr ""
msgid "Remove"
msgstr ""
-#: plinth/modules/tor/__init__.py:43
+#: plinth/modules/tor/__init__.py:46
msgid "Tor"
msgstr ""
-#: plinth/modules/tor/__init__.py:48
+#: plinth/modules/tor/__init__.py:51
msgid ""
"Tor is an anonymous communication system. You can learn more about it from "
"the Tor Project website. For "
@@ -4479,40 +4472,36 @@ msgid ""
"\">Tor Browser."
msgstr ""
-#: plinth/modules/tor/__init__.py:93
+#: plinth/modules/tor/__init__.py:80
msgid "Tor Socks Proxy"
msgstr ""
-#: plinth/modules/tor/__init__.py:99 plinth/modules/tor/__init__.py:146
+#: plinth/modules/tor/__init__.py:84
msgid "Tor Bridge Relay"
msgstr ""
-#: plinth/modules/tor/__init__.py:120 plinth/modules/tor/__init__.py:188
+#: plinth/modules/tor/__init__.py:122 plinth/modules/tor/__init__.py:150
msgid "Tor Hidden Service"
msgstr ""
-#: plinth/modules/tor/__init__.py:136
-msgid "Tor Anonymity Network"
-msgstr ""
-
-#: plinth/modules/tor/__init__.py:208
+#: plinth/modules/tor/__init__.py:170
msgid "Tor relay port available"
msgstr ""
-#: plinth/modules/tor/__init__.py:218
+#: plinth/modules/tor/__init__.py:180
msgid "Obfs3 transport registered"
msgstr ""
-#: plinth/modules/tor/__init__.py:226
+#: plinth/modules/tor/__init__.py:188
msgid "Obfs4 transport registered"
msgstr ""
-#: plinth/modules/tor/__init__.py:265
+#: plinth/modules/tor/__init__.py:227
#, python-brace-format
msgid "Access URL {url} on tcp{kind} via Tor"
msgstr ""
-#: plinth/modules/tor/__init__.py:276
+#: plinth/modules/tor/__init__.py:238
#, python-brace-format
msgid "Confirm Tor usage at {url} on tcp{kind}"
msgstr ""
@@ -4646,18 +4635,18 @@ msgstr ""
msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050."
msgstr ""
-#: plinth/modules/transmission/__init__.py:39
+#: plinth/modules/transmission/__init__.py:41
#: plinth/modules/transmission/manifest.py:24
msgid "Transmission"
msgstr ""
-#: plinth/modules/transmission/__init__.py:44
+#: plinth/modules/transmission/__init__.py:46
msgid ""
"BitTorrent is a peer-to-peer file sharing protocol. Transmission daemon "
"handles Bitorrent file sharing. Note that BitTorrent is not anonymous."
msgstr ""
-#: plinth/modules/transmission/__init__.py:47
+#: plinth/modules/transmission/__init__.py:49
msgid ""
"Access the web interface at /transmission."
msgstr ""
@@ -4673,22 +4662,22 @@ msgid ""
"\" user."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:41 plinth/modules/ttrss/manifest.py:34
+#: plinth/modules/ttrss/__init__.py:43 plinth/modules/ttrss/manifest.py:34
msgid "Tiny Tiny RSS"
msgstr ""
-#: plinth/modules/ttrss/__init__.py:43
+#: plinth/modules/ttrss/__init__.py:45
msgid "News Feed Reader"
msgstr ""
-#: plinth/modules/ttrss/__init__.py:46
+#: plinth/modules/ttrss/__init__.py:48
msgid ""
"Tiny Tiny RSS is a news feed (RSS/Atom) reader and aggregator, designed to "
"allow reading news from any location, while feeling as close to a real "
"desktop application as possible."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:50
+#: plinth/modules/ttrss/__init__.py:52
#, python-brace-format
msgid ""
"When enabled, Tiny Tiny RSS will be available from /tt-"
@@ -4696,13 +4685,13 @@ msgid ""
"\"{users_url}\">user with a {box_name} login."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:55
+#: plinth/modules/ttrss/__init__.py:57
msgid ""
"When using a mobile or desktop application for Tiny Tiny RSS, use the URL /tt-rss-app for connecting."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:61
+#: plinth/modules/ttrss/__init__.py:63
msgid "Read and subscribe to news feeds"
msgstr ""
@@ -4710,11 +4699,11 @@ msgstr ""
msgid "Tiny Tiny RSS (Fork)"
msgstr ""
-#: plinth/modules/upgrades/__init__.py:36 plinth/templates/setup.html:101
+#: plinth/modules/upgrades/__init__.py:35 plinth/templates/setup.html:101
msgid "Update"
msgstr ""
-#: plinth/modules/upgrades/__init__.py:39
+#: plinth/modules/upgrades/__init__.py:38
msgid "Check for and apply the latest software and security updates."
msgstr ""
@@ -4749,32 +4738,32 @@ msgstr ""
msgid "Auto-update"
msgstr ""
-#: plinth/modules/upgrades/views.py:39
+#: plinth/modules/upgrades/views.py:40
msgid "Manual update"
msgstr ""
-#: plinth/modules/upgrades/views.py:78
+#: plinth/modules/upgrades/views.py:79
#, python-brace-format
msgid "Error when configuring unattended-upgrades: {error}"
msgstr ""
-#: plinth/modules/upgrades/views.py:82
+#: plinth/modules/upgrades/views.py:83
msgid "Automatic upgrades enabled"
msgstr ""
-#: plinth/modules/upgrades/views.py:85
+#: plinth/modules/upgrades/views.py:86
msgid "Automatic upgrades disabled"
msgstr ""
-#: plinth/modules/upgrades/views.py:87
+#: plinth/modules/upgrades/views.py:88
msgid "Settings unchanged"
msgstr ""
-#: plinth/modules/upgrades/views.py:113
+#: plinth/modules/upgrades/views.py:114
msgid "Upgrade process started."
msgstr ""
-#: plinth/modules/upgrades/views.py:116
+#: plinth/modules/upgrades/views.py:117
msgid "Starting upgrade failed."
msgstr ""
@@ -4782,7 +4771,7 @@ msgstr ""
msgid "Users and Groups"
msgstr ""
-#: plinth/modules/users/__init__.py:106
+#: plinth/modules/users/__init__.py:108
#, python-brace-format
msgid "Check LDAP entry \"{search_item}\""
msgstr ""
@@ -4994,15 +4983,6 @@ msgstr ""
msgid "configuration file: {file}"
msgstr ""
-#: plinth/service.py:140
-msgid "Web Server over Secure Socket Layer"
-msgstr ""
-
-#: plinth/service.py:145
-#, python-brace-format
-msgid "{box_name} Web Interface (Plinth)"
-msgstr ""
-
#: plinth/templates/403.html:25
msgid "403 Forbidden"
msgstr ""
@@ -5201,16 +5181,16 @@ msgstr ""
msgid "Mailing list"
msgstr ""
-#: plinth/templates/internal-zone.html:25
+#: plinth/templates/internal-zone.html:26
#, python-format
msgid "%(service_name)s is available only on internal networks."
msgstr ""
-#: plinth/templates/internal-zone.html:31
+#: plinth/templates/internal-zone.html:32
msgid "Currently there are no network interfaces configured as internal."
msgstr ""
-#: plinth/templates/internal-zone.html:33
+#: plinth/templates/internal-zone.html:34
#, python-format
msgid ""
"Currently the following network interfaces are configured as internal: "
@@ -5273,6 +5253,14 @@ msgstr ""
msgid "%(percentage)s%% complete"
msgstr ""
+#: plinth/views.py:178
+msgid "Application enabled"
+msgstr ""
+
+#: plinth/views.py:181
+msgid "Application disabled"
+msgstr ""
+
#: plinth/web_framework.py:186
msgid "Gujarati"
msgstr ""
diff --git a/plinth/locale/nb/LC_MESSAGES/django.po b/plinth/locale/nb/LC_MESSAGES/django.po
index 2343b26ba..5e4034e5d 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: 2019-06-10 19:02-0400\n"
+"POT-Creation-Date: 2019-06-24 19:48-0400\n"
"PO-Revision-Date: 2019-06-22 06:01+0000\n"
"Last-Translator: Petter Reinholdtsen \n"
"Language-Team: Norwegian Bokmål /"
@@ -526,14 +537,14 @@ msgstr ""
"a>-banen på nettjeneren. Den kan brukes av enhver "
"bruker på {box_name} som er medlem i admin-gruppen."
-#: plinth/modules/config/__init__.py:59 plinth/modules/dynamicdns/views.py:44
+#: plinth/modules/config/__init__.py:61 plinth/modules/dynamicdns/views.py:45
#: plinth/modules/i2p/views.py:31 plinth/modules/ikiwiki/views.py:35
#: plinth/modules/pagekite/views.py:36 plinth/modules/snapshot/views.py:40
#: plinth/modules/tahoe/templates/tahoe-pre-setup.html:39
msgid "Configure"
msgstr "Sette opp"
-#: plinth/modules/config/__init__.py:164 plinth/modules/config/forms.py:76
+#: plinth/modules/config/__init__.py:166 plinth/modules/config/forms.py:76
#: plinth/modules/config/views.py:171 plinth/modules/dynamicdns/forms.py:111
msgid "Domain Name"
msgstr "Domenenavn"
@@ -620,8 +631,8 @@ msgstr "Vis programmer og funksjoner som krever dypere teknisk innsikt."
#: plinth/modules/power/templates/power_restart.html:42
#: plinth/modules/power/templates/power_shutdown.html:41
#: plinth/modules/storage/templates/storage.html:48
-#: plinth/templates/service-subsubmenu.html:47 plinth/templates/service.html:42
-#: plinth/templates/setup.html:48 plinth/templates/simple_service.html:38
+#: plinth/templates/app-subsubmenu.html:47 plinth/templates/app.html:42
+#: plinth/templates/setup.html:48 plinth/templates/simple_app.html:38
msgid "Learn more..."
msgstr "Lær mer…"
@@ -669,15 +680,15 @@ msgstr "Viser avanserte programmer og funksjoner"
msgid "Hiding advanced apps and features"
msgstr "Viser ikke avanserte programmer og funksjoner"
-#: plinth/modules/coquelicot/__init__.py:38
+#: plinth/modules/coquelicot/__init__.py:40
msgid "Coquelicot"
msgstr "Coquelicot"
-#: plinth/modules/coquelicot/__init__.py:40
+#: plinth/modules/coquelicot/__init__.py:42
msgid "File Sharing"
msgstr "Fildeling"
-#: plinth/modules/coquelicot/__init__.py:43
+#: plinth/modules/coquelicot/__init__.py:45
msgid ""
"Coquelicot is a “one-click” file sharing web application with a focus on "
"protecting users’ privacy. It is best used for quickly sharing a single "
@@ -687,7 +698,7 @@ msgstr ""
"beskyttelse av brukeres personvern. Det er best for rask deling av ei enkelt "
"fil. "
-#: plinth/modules/coquelicot/__init__.py:46
+#: plinth/modules/coquelicot/__init__.py:48
msgid ""
"This Coquelicot instance is exposed to the public but requires an upload "
"password to prevent unauthorized access. You can set a new upload password "
@@ -724,19 +735,19 @@ msgstr ""
msgid "coquelicot"
msgstr "coquelicot"
-#: plinth/modules/coquelicot/views.py:57
+#: plinth/modules/coquelicot/views.py:59
msgid "Upload password updated"
msgstr "Oppdaterte opplastingspassord"
-#: plinth/modules/coquelicot/views.py:60
+#: plinth/modules/coquelicot/views.py:62
msgid "Failed to update upload password"
msgstr "Klarte ikke å oppdatere opplastingspassord"
-#: plinth/modules/coquelicot/views.py:68
+#: plinth/modules/coquelicot/views.py:70
msgid "Maximum file size updated"
msgstr "Oppdaterte maksimal filstørrelse"
-#: plinth/modules/coquelicot/views.py:71
+#: plinth/modules/coquelicot/views.py:73
msgid "Failed to update maximum file size"
msgstr "Klarte ikke å oppdatere maksimal filstørrelse"
@@ -752,15 +763,15 @@ msgstr ""
"Nettverkstidstjeneren er et program som synkroniserer systemets klokke med "
"tjenere på Internettet."
-#: plinth/modules/datetime/__init__.py:107
+#: plinth/modules/datetime/__init__.py:99
msgid "Time synchronized to NTP server"
msgstr "Tid synkronisert til NTP-tjener"
-#: plinth/modules/datetime/forms.py:36
+#: plinth/modules/datetime/forms.py:35
msgid "Time Zone"
msgstr "Tidssone"
-#: plinth/modules/datetime/forms.py:37
+#: plinth/modules/datetime/forms.py:36
msgid ""
"Set your time zone to get accurate timestamps. This will set the system-wide "
"time zone."
@@ -768,7 +779,7 @@ msgstr ""
"Still inn tidssonen for å få korrekte klokkeslett. Dette vil sette hele "
"systemets tidssone."
-#: plinth/modules/datetime/forms.py:49
+#: plinth/modules/datetime/forms.py:47
msgid "-- no time zone set --"
msgstr "– ingen tidssone satt –"
@@ -786,7 +797,7 @@ msgid "Deluge"
msgstr "Deluge"
#: plinth/modules/deluge/__init__.py:41
-#: plinth/modules/transmission/__init__.py:41
+#: plinth/modules/transmission/__init__.py:43
msgid "BitTorrent Web Client"
msgstr "BitTorrent nett-klient"
@@ -806,7 +817,7 @@ msgstr ""
"aktivert."
#: plinth/modules/deluge/__init__.py:51
-#: plinth/modules/transmission/__init__.py:54
+#: plinth/modules/transmission/__init__.py:56
msgid "Download files using BitTorrent applications"
msgstr "Last ned filer ved bruk av BitTorrent-programmer"
@@ -870,12 +881,12 @@ msgstr "Test"
msgid "Result"
msgstr "Resultat"
-#: plinth/modules/diaspora/__init__.py:52
+#: plinth/modules/diaspora/__init__.py:54
#: plinth/modules/diaspora/manifest.py:38
msgid "diaspora*"
msgstr "diaspora*"
-#: plinth/modules/diaspora/__init__.py:54
+#: plinth/modules/diaspora/__init__.py:56
msgid "Federated Social Network"
msgstr "Sammenknyttet sosialt nettverk"
@@ -931,22 +942,22 @@ msgstr ""
#: plinth/modules/tahoe/templates/tahoe-pre-setup.html:58
#: plinth/modules/tor/templates/tor.html:96
#: plinth/modules/upgrades/templates/upgrades_configure.html:32
-#: plinth/templates/service.html:89
+#: plinth/templates/app.html:89
msgid "Update setup"
msgstr "Oppdater oppsett"
-#: plinth/modules/diaspora/views.py:97 plinth/modules/ejabberd/views.py:64
-#: plinth/modules/matrixsynapse/views.py:107
-#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:150
-#: plinth/modules/tor/views.py:146 plinth/views.py:160
+#: plinth/modules/diaspora/views.py:94 plinth/modules/ejabberd/views.py:65
+#: plinth/modules/matrixsynapse/views.py:108
+#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:148
+#: plinth/modules/tor/views.py:148 plinth/views.py:174
msgid "Setting unchanged"
msgstr "Oppsett uendret"
-#: plinth/modules/diaspora/views.py:101
+#: plinth/modules/diaspora/views.py:98
msgid "User registrations enabled"
msgstr "Brukerregistreringer aktivert"
-#: plinth/modules/diaspora/views.py:105
+#: plinth/modules/diaspora/views.py:102
msgid "User registrations disabled"
msgstr "Brukerregistreringer deaktivert"
@@ -982,8 +993,8 @@ 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."
-#: plinth/modules/dynamicdns/__init__.py:85
-#: plinth/modules/dynamicdns/views.py:167
+#: plinth/modules/dynamicdns/__init__.py:87
+#: plinth/modules/dynamicdns/views.py:169
msgid "Dynamic DNS Service"
msgstr "Dynamisk DNS-tjeneste"
@@ -1089,7 +1100,7 @@ msgid "Username"
msgstr "Brukernavn"
#: plinth/modules/dynamicdns/forms.py:121 plinth/modules/networks/forms.py:235
-#: plinth/modules/shadowsocks/forms.py:70
+#: plinth/modules/shadowsocks/forms.py:61
msgid "Password"
msgstr "Passord"
@@ -1184,39 +1195,39 @@ msgstr ""
msgid "Last update"
msgstr "Siste oppdatering"
-#: plinth/modules/dynamicdns/views.py:41 plinth/modules/help/help.py:57
+#: plinth/modules/dynamicdns/views.py:41 plinth/modules/help/help.py:59
msgid "About"
msgstr "Om"
-#: plinth/modules/dynamicdns/views.py:47
+#: plinth/modules/dynamicdns/views.py:49
#: plinth/modules/firewall/templates/firewall.html:25
#: plinth/modules/firewall/templates/firewall.html:45
#: plinth/modules/i2p/templates/i2p.html:27
#: plinth/modules/networks/templates/connection_show.html:261
#: plinth/modules/openvpn/templates/openvpn.html:71
#: plinth/modules/tor/templates/tor.html:40
-#: plinth/modules/tor/templates/tor.html:68 plinth/templates/service.html:51
+#: plinth/modules/tor/templates/tor.html:68 plinth/templates/app.html:51
msgid "Status"
msgstr "Status"
-#: plinth/modules/dynamicdns/views.py:78
+#: plinth/modules/dynamicdns/views.py:80
msgid "Configure Dynamic DNS"
msgstr "Konfigurer dynamisk DNS"
-#: plinth/modules/dynamicdns/views.py:103
+#: plinth/modules/dynamicdns/views.py:105
msgid "Dynamic DNS Status"
msgstr "Dynamisk DNS-status"
-#: plinth/modules/ejabberd/__init__.py:43
+#: plinth/modules/ejabberd/__init__.py:45
msgid "ejabberd"
msgstr "ejabberd"
-#: plinth/modules/ejabberd/__init__.py:45
-#: plinth/modules/matrixsynapse/__init__.py:43
+#: plinth/modules/ejabberd/__init__.py:47
+#: plinth/modules/matrixsynapse/__init__.py:45
msgid "Chat Server"
msgstr "Nettprat-tjener"
-#: plinth/modules/ejabberd/__init__.py:48
+#: plinth/modules/ejabberd/__init__.py:50
msgid ""
"XMPP is an open and standardized communication protocol. Here you can run "
"and configure your XMPP server, called ejabberd."
@@ -1224,7 +1235,7 @@ msgstr ""
"XMPP er en åpen og standardisert kommunikasjonsprotokoll. Her kan du kjøre "
"og konfigurere din XMPP-tjener, kalt ejabberd."
-#: plinth/modules/ejabberd/__init__.py:51
+#: plinth/modules/ejabberd/__init__.py:53
#, python-brace-format
msgid ""
"To actually communicate, you can use the web client"
@@ -1238,11 +1249,11 @@ msgstr ""
"tilgjengelig for enhver bruker med innlogging på "
"{box_name}."
-#: plinth/modules/ejabberd/forms.py:33
+#: plinth/modules/ejabberd/forms.py:32
msgid "Enable Message Archive Management"
msgstr "Aktiver håndtering av meldingsarkiv"
-#: plinth/modules/ejabberd/forms.py:36
+#: plinth/modules/ejabberd/forms.py:34
#, python-brace-format
msgid ""
"If enabled, your {box_name} will store chat message histories. This allows "
@@ -1323,35 +1334,23 @@ msgstr "Sette i gang en web-klient"
#: plinth/modules/openvpn/templates/openvpn.html:123
#: plinth/modules/snapshot/templates/snapshot.html:27
#: plinth/modules/tahoe/templates/tahoe-post-setup.html:43
-#: plinth/modules/tor/templates/tor.html:88 plinth/templates/service.html:81
+#: plinth/modules/tor/templates/tor.html:88 plinth/templates/app.html:81
msgid "Configuration"
msgstr "Oppsett"
-#: plinth/modules/ejabberd/views.py:68
-#: plinth/modules/matrixsynapse/views.py:111
-#: plinth/modules/mediawiki/views.py:79 plinth/views.py:164
-msgid "Application enabled"
-msgstr "Programmet er aktivert"
-
-#: plinth/modules/ejabberd/views.py:71
-#: plinth/modules/matrixsynapse/views.py:114
-#: plinth/modules/mediawiki/views.py:82 plinth/views.py:167
-msgid "Application disabled"
-msgstr "Programmet er deaktivert"
-
-#: plinth/modules/ejabberd/views.py:78
+#: plinth/modules/ejabberd/views.py:77
msgid "Message Archive Management enabled"
msgstr "Meldingsarkivhåndtering aktivert"
-#: plinth/modules/ejabberd/views.py:82
+#: plinth/modules/ejabberd/views.py:81
msgid "Message Archive Management disabled"
msgstr "Meldingsarkivhåndtering deaktivert"
-#: plinth/modules/firewall/__init__.py:40
+#: plinth/modules/firewall/__init__.py:36
msgid "Firewall"
msgstr "Brannmur"
-#: plinth/modules/firewall/__init__.py:44
+#: plinth/modules/firewall/__init__.py:40
#, python-brace-format
msgid ""
"Firewall is a security system that controls the incoming and outgoing "
@@ -1472,29 +1471,29 @@ msgstr "Gå i gang med oppsett"
msgid "Setup Complete"
msgstr "Oppsett ferdig"
-#: plinth/modules/help/help.py:44
+#: plinth/modules/help/help.py:46
msgid "Documentation"
msgstr "Dokumentasjon"
-#: plinth/modules/help/help.py:48 plinth/modules/networks/forms.py:68
+#: plinth/modules/help/help.py:50 plinth/modules/networks/forms.py:68
#: plinth/modules/networks/forms.py:108 plinth/templates/index.html:135
msgid "Manual"
msgstr "Manual"
-#: plinth/modules/help/help.py:53
+#: plinth/modules/help/help.py:55
msgid "Download Manual"
msgstr "Nedlastingshåndbok"
-#: plinth/modules/help/help.py:73
+#: plinth/modules/help/help.py:75
msgid "Documentation and FAQ"
msgstr "Dokumentasjon og ofte stilte spørsmål"
-#: plinth/modules/help/help.py:81
+#: plinth/modules/help/help.py:83
#, python-brace-format
msgid "About {box_name}"
msgstr "Om {box_name}"
-#: plinth/modules/help/help.py:102
+#: plinth/modules/help/help.py:104
#, python-brace-format
msgid "{box_name} Manual"
msgstr "{box_name} Manual"
@@ -1650,15 +1649,15 @@ msgstr ""
"Alle passord og annen personlig informasjon bør fjernes fra loggen før du "
"sender inn feilrapporten."
-#: plinth/modules/i2p/__init__.py:40 plinth/modules/i2p/manifest.py:31
+#: plinth/modules/i2p/__init__.py:42 plinth/modules/i2p/manifest.py:31
msgid "I2P"
msgstr "I2P"
-#: plinth/modules/i2p/__init__.py:42 plinth/modules/tor/__init__.py:45
+#: plinth/modules/i2p/__init__.py:44 plinth/modules/tor/__init__.py:48
msgid "Anonymity Network"
msgstr "Anonymitetsnettverk"
-#: plinth/modules/i2p/__init__.py:45
+#: plinth/modules/i2p/__init__.py:47
msgid ""
"The Invisible Internet Project is an anonymous network layer intended to "
"protect communication from censorship and surveillance. I2P provides "
@@ -1670,7 +1669,7 @@ msgstr ""
"anonymitet ved å sende kryptert trafikk gjennom et frivilligdrevet nettverk "
"distribuert verden om."
-#: plinth/modules/i2p/__init__.py:49
+#: plinth/modules/i2p/__init__.py:51
msgid ""
"Find more information about I2P on their project homepage."
@@ -1678,7 +1677,7 @@ msgstr ""
"For mer informasjon om I2P, sjekk deres nettside."
-#: plinth/modules/i2p/__init__.py:51
+#: plinth/modules/i2p/__init__.py:53
msgid ""
"The first visit to the provided web interface will initiate the "
"configuration process."
@@ -1686,21 +1685,21 @@ msgstr ""
"Den første til å besøke det oppsatte nettgrensesnittet vil igangsette "
"oppsettsprosessen."
-#: plinth/modules/i2p/__init__.py:57
+#: plinth/modules/i2p/__init__.py:59
msgid "Manage I2P application"
msgstr "Håndter I2P-program"
-#: plinth/modules/i2p/templates/i2p.html:32 plinth/templates/service.html:56
+#: plinth/modules/i2p/templates/i2p.html:32 plinth/templates/app.html:56
#, python-format
msgid "Service %(service_name)s is running."
msgstr "Tjenesten %(service_name)s kjører."
-#: plinth/modules/i2p/templates/i2p.html:37 plinth/templates/service.html:61
+#: plinth/modules/i2p/templates/i2p.html:37 plinth/templates/app.html:61
#, python-format
msgid "Service %(service_name)s is not running."
msgstr "Tjenesten %(service_name)s kjører ikke."
-#: plinth/modules/i2p/templates/i2p_service.html:13
+#: plinth/modules/i2p/templates/i2p_service.html:31
#: plinth/templates/clients.html:51
msgid "Launch"
msgstr "Start"
@@ -1713,11 +1712,11 @@ msgstr "Mellomtjenere"
msgid "Anonymous torrents"
msgstr "Anonyme torrenter"
-#: plinth/modules/i2p/views.py:86
+#: plinth/modules/i2p/views.py:88
msgid "I2P Proxies and Tunnels"
msgstr "I2P-mellomtjenere og tunneler"
-#: plinth/modules/i2p/views.py:89
+#: plinth/modules/i2p/views.py:91
msgid ""
"I2P lets you browse the Internet and hidden services (eepsites) anonymously. "
"For this, your browser, preferably a Tor Browser, needs to be configured for "
@@ -1727,7 +1726,7 @@ msgstr ""
"å gjøre dette må din nettleser, helst Tor-nettleseren, settes opp med en "
"mellomtjener."
-#: plinth/modules/i2p/views.py:92
+#: plinth/modules/i2p/views.py:94
msgid ""
"By default HTTP, HTTPS and IRC proxies are available. Additional proxies and "
"tunnels may be configured using the tunnel configuration interface."
@@ -1736,11 +1735,11 @@ msgstr ""
"mellomtjenere og tunneler må settes opp ved bruk av "
"tunneloppsettsgrensesnittet."
-#: plinth/modules/i2p/views.py:101
+#: plinth/modules/i2p/views.py:103
msgid "Anonymous Torrents"
msgstr "Anonyme torrenter"
-#: plinth/modules/i2p/views.py:104
+#: plinth/modules/i2p/views.py:106
msgid ""
"I2P provides an application to download files anonymously in a peer-to-peer "
"network. Download files by adding torrents or create a new torrent to share "
@@ -1750,15 +1749,15 @@ msgstr ""
"likemannsnettverk. Last ned filer ved å legge til torrenter, eller opprett "
"en ny torrent for å dele ei fil."
-#: plinth/modules/ikiwiki/__init__.py:42 plinth/modules/ikiwiki/manifest.py:24
+#: plinth/modules/ikiwiki/__init__.py:41 plinth/modules/ikiwiki/manifest.py:24
msgid "ikiwiki"
msgstr "ikiwiki"
-#: plinth/modules/ikiwiki/__init__.py:44
+#: plinth/modules/ikiwiki/__init__.py:43
msgid "Wiki and Blog"
msgstr "Wiki og Blogg"
-#: plinth/modules/ikiwiki/__init__.py:47
+#: plinth/modules/ikiwiki/__init__.py:46
msgid ""
"ikiwiki is a simple wiki and blog application. It supports several "
"lightweight markup languages, including Markdown, and common blogging "
@@ -1770,7 +1769,7 @@ msgstr ""
"som kommentarer og RSS-kilder. Når den er aktiv, vil bloggene og wikiene "
"bli tilgjengelig på /ikiwiki (etter opprettelsen)."
-#: plinth/modules/ikiwiki/__init__.py:53
+#: plinth/modules/ikiwiki/__init__.py:52
#, python-brace-format
msgid ""
"Only {box_name} users in the admin group can create and "
@@ -1784,7 +1783,7 @@ msgstr ""
"\"{users_url}\">brukeroppsettet kan du endre disse tilgangene eller "
"legge til nye brukere."
-#: plinth/modules/ikiwiki/__init__.py:63
+#: plinth/modules/ikiwiki/__init__.py:62
msgid "View and edit wiki applications"
msgstr "Vis og rediger wiki-programmer"
@@ -1854,49 +1853,49 @@ msgstr "Gå til siden %(site)s"
msgid "Manage"
msgstr "Håndtere"
-#: plinth/modules/ikiwiki/views.py:121
+#: plinth/modules/ikiwiki/views.py:124
#, python-brace-format
msgid "Created wiki {name}."
msgstr "Opprettet wiki {name}."
-#: plinth/modules/ikiwiki/views.py:124
+#: plinth/modules/ikiwiki/views.py:127
#, python-brace-format
msgid "Could not create wiki: {error}"
msgstr "Kunne ikke opprette wiki: {error}"
-#: plinth/modules/ikiwiki/views.py:134
+#: plinth/modules/ikiwiki/views.py:137
#, python-brace-format
msgid "Created blog {name}."
msgstr "Opprettet blogg {name}."
-#: plinth/modules/ikiwiki/views.py:137
+#: plinth/modules/ikiwiki/views.py:140
#, python-brace-format
msgid "Could not create blog: {error}"
msgstr "Kunne ikke lage blogg: {error}"
-#: plinth/modules/ikiwiki/views.py:150
+#: plinth/modules/ikiwiki/views.py:153
#, python-brace-format
msgid "{name} deleted."
msgstr "Slettet {name}."
-#: plinth/modules/ikiwiki/views.py:154
+#: plinth/modules/ikiwiki/views.py:157
#, python-brace-format
msgid "Could not delete {name}: {error}"
msgstr "Kunne ikke slette {name}: {error}"
-#: plinth/modules/infinoted/__init__.py:41
+#: plinth/modules/infinoted/__init__.py:40
msgid "infinoted"
msgstr "infinoted"
-#: plinth/modules/infinoted/__init__.py:43
+#: plinth/modules/infinoted/__init__.py:42
msgid "Gobby Server"
msgstr "Gobby-tjener"
-#: plinth/modules/infinoted/__init__.py:46
+#: plinth/modules/infinoted/__init__.py:45
msgid "infinoted is a server for Gobby, a collaborative text editor."
msgstr "infinoted er en tjener for Gobby, en samskrivende teksteditor."
-#: plinth/modules/infinoted/__init__.py:48
+#: plinth/modules/infinoted/__init__.py:47
#, python-brace-format
msgid ""
"To use it, download Gobby, desktop "
@@ -2272,11 +2271,11 @@ msgstr "Vellykket sletting av sertifikatet for domenet {domain}"
msgid "Failed to delete certificate for domain {domain}: {error}"
msgstr "Klarte ikke å slette sertifikatet for domenet {domain}: {error}"
-#: plinth/modules/matrixsynapse/__init__.py:41
+#: plinth/modules/matrixsynapse/__init__.py:43
msgid "Matrix Synapse"
msgstr "Matrix Synapse"
-#: plinth/modules/matrixsynapse/__init__.py:46
+#: plinth/modules/matrixsynapse/__init__.py:48
msgid ""
"Matrix is an new "
"ecosystem for open, federated instant messaging and VoIP. Synapse is a "
@@ -2292,7 +2291,7 @@ msgstr ""
"enheter, og krever ikke telefonnumre for å virke. Brukere på en gitt Matrix-"
"tjener kan snakke med brukere på alle andre samvirkende Matrix-tjenere."
-#: plinth/modules/matrixsynapse/__init__.py:53
+#: plinth/modules/matrixsynapse/__init__.py:55
msgid ""
"To communicate, you can use the available clients for mobile, desktop and the web. for å skaffe deg det.\n"
" "
-#: plinth/modules/matrixsynapse/views.py:122
+#: plinth/modules/matrixsynapse/views.py:121
msgid "Public registration enabled"
msgstr "Offentlig registrering påskrudd"
-#: plinth/modules/matrixsynapse/views.py:127
+#: plinth/modules/matrixsynapse/views.py:126
msgid "Public registration disabled"
msgstr "Offentlig registrering avskrudd"
-#: plinth/modules/mediawiki/__init__.py:34
+#: plinth/modules/mediawiki/__init__.py:38
#: plinth/modules/mediawiki/manifest.py:24
msgid "MediaWiki"
msgstr "MediaWiki"
-#: plinth/modules/mediawiki/__init__.py:36 plinth/templates/index.html:139
+#: plinth/modules/mediawiki/__init__.py:40 plinth/templates/index.html:139
msgid "Wiki"
msgstr "Wiki"
-#: plinth/modules/mediawiki/__init__.py:39
+#: plinth/modules/mediawiki/__init__.py:43
msgid ""
"MediaWiki is the wiki engine that powers Wikipedia and other WikiMedia "
"projects. A wiki engine is a program for creating a collaboratively edited "
@@ -2411,7 +2410,7 @@ msgstr ""
"lignende nettside, ta noteter, eller samarbeide med andre venner på "
"prosjekter."
-#: plinth/modules/mediawiki/__init__.py:43
+#: plinth/modules/mediawiki/__init__.py:47
msgid ""
"This MediaWiki instance comes with a randomly generated administrator "
"password. You can set a new password in the \"Configuration\" section and "
@@ -2425,7 +2424,7 @@ msgstr ""
"brukerkontoer fra MediaWiki, ved å gå til Special:CreateAccount-siden."
-#: plinth/modules/mediawiki/__init__.py:49
+#: plinth/modules/mediawiki/__init__.py:53
msgid ""
"Anyone with a link to this wiki can read it. Only users that are logged in "
"can make changes to the content."
@@ -2473,32 +2472,32 @@ msgstr ""
msgid "Password updated"
msgstr "Passord oppdatert"
-#: plinth/modules/mediawiki/views.py:91
+#: plinth/modules/mediawiki/views.py:89
msgid "Public registrations enabled"
msgstr "Offentlig registrering aktivert"
-#: plinth/modules/mediawiki/views.py:100
+#: plinth/modules/mediawiki/views.py:98
msgid "Public registrations disabled"
msgstr "Offentlig registrering avskrudd"
-#: plinth/modules/mediawiki/views.py:109
+#: plinth/modules/mediawiki/views.py:107
msgid "Private mode enabled"
msgstr "Privat modus påskrudd"
-#: plinth/modules/mediawiki/views.py:112
+#: plinth/modules/mediawiki/views.py:110
msgid "Private mode disabled"
msgstr "Privat modus avskrudd"
-#: plinth/modules/minetest/__init__.py:53
+#: plinth/modules/minetest/__init__.py:52
#: plinth/modules/minetest/manifest.py:25
msgid "Minetest"
msgstr "Minetest"
-#: plinth/modules/minetest/__init__.py:55
+#: plinth/modules/minetest/__init__.py:54
msgid "Block Sandbox"
msgstr "Block-sandkassen"
-#: plinth/modules/minetest/__init__.py:59
+#: plinth/modules/minetest/__init__.py:58
#, python-brace-format
msgid ""
"Minetest is a multiplayer infinite-world block sandbox. This module enables "
@@ -2511,11 +2510,11 @@ msgstr ""
"forvalgte porten (30000). For å koble til tjeneren trengs en Minetest klient."
-#: plinth/modules/minetest/forms.py:31
+#: plinth/modules/minetest/forms.py:30
msgid "Maximum number of players"
msgstr "Maksimalt antall spillere"
-#: plinth/modules/minetest/forms.py:35
+#: plinth/modules/minetest/forms.py:32
msgid ""
"You can change the maximum number of players playing minetest at a single "
"instance of time."
@@ -2523,11 +2522,11 @@ msgstr ""
"Du kan til enhver tid endre hvor mange som kan spille minetest på en enkelt "
"instans."
-#: plinth/modules/minetest/forms.py:39
+#: plinth/modules/minetest/forms.py:36
msgid "Enable creative mode"
msgstr "Aktiver kreativ modus"
-#: plinth/modules/minetest/forms.py:41
+#: plinth/modules/minetest/forms.py:37
msgid ""
"Creative mode changes the rules of the game to make it more suitable for "
"creative gameplay, rather than challenging \"survival\" gameplay."
@@ -2535,19 +2534,19 @@ msgstr ""
"Creativ modus endrer reglene i spillet for å gjøre det bedre egnet for "
"kreativ spilling, i stedet for mer utfordrende «overlevelses»-spilling."
-#: plinth/modules/minetest/forms.py:46
+#: plinth/modules/minetest/forms.py:42
msgid "Enable PVP"
msgstr "Aktiver PVP"
-#: plinth/modules/minetest/forms.py:48
+#: plinth/modules/minetest/forms.py:43
msgid "Enabling Player Vs Player will allow players to damage other players."
msgstr "Aktiver spiller mot spiller for å la spillere skade andre spillere."
-#: plinth/modules/minetest/forms.py:52
+#: plinth/modules/minetest/forms.py:47
msgid "Enable damage"
msgstr "Aktiver skade"
-#: plinth/modules/minetest/forms.py:54
+#: plinth/modules/minetest/forms.py:48
msgid "When disabled, players cannot die or receive damage of any kind."
msgstr ""
"Når den ikke er aktiv, kan ikke spillere dø eller ta skade av noe slag."
@@ -2562,32 +2561,32 @@ msgstr "Adresse"
msgid "Port"
msgstr "Port"
-#: plinth/modules/minetest/views.py:71
+#: plinth/modules/minetest/views.py:72
msgid "Maximum players configuration updated"
msgstr "Oppsett av maks spillere oppdatert"
-#: plinth/modules/minetest/views.py:78
+#: plinth/modules/minetest/views.py:79
msgid "Creative mode configuration updated"
msgstr "Oppsett av kreativ modus oppdatert"
-#: plinth/modules/minetest/views.py:84
+#: plinth/modules/minetest/views.py:85
msgid "PVP configuration updated"
msgstr "PVP-oppsett oppdatert"
-#: plinth/modules/minetest/views.py:90
+#: plinth/modules/minetest/views.py:91
msgid "Damage configuration updated"
msgstr "Skadeoppsett oppdatert"
-#: plinth/modules/mldonkey/__init__.py:38
+#: plinth/modules/mldonkey/__init__.py:40
#: plinth/modules/mldonkey/manifest.py:27
msgid "MLDonkey"
msgstr "MLDonkey"
-#: plinth/modules/mldonkey/__init__.py:40
+#: plinth/modules/mldonkey/__init__.py:42
msgid "Peer-to-peer File Sharing"
msgstr "Maskin til maskin-fildeling"
-#: plinth/modules/mldonkey/__init__.py:43
+#: plinth/modules/mldonkey/__init__.py:45
msgid ""
"MLDonkey is a peer-to-peer file sharing application used to exchange large "
"files. It can participate in multiple peer-to-peer networks including "
@@ -2597,7 +2596,7 @@ msgstr ""
"store filer. Det kan delta i flere maskin-til-maskin -nettverk, inkludert "
"eDonkey, Kademlia, Overnet, BitTorrent og DirectConnect."
-#: plinth/modules/mldonkey/__init__.py:46
+#: plinth/modules/mldonkey/__init__.py:48
msgid ""
"Users belonging to admin and ed2k group can control it through the web "
"interface. Users in the admin group can also control it through any of the "
@@ -2608,13 +2607,13 @@ msgstr ""
"gjennom en av de egne mobil- eller skrivebords-grenseflatene, eller et "
"telnet-grensesnitt. Se manualen."
-#: plinth/modules/mldonkey/__init__.py:51
+#: plinth/modules/mldonkey/__init__.py:53
#, python-brace-format
msgid ""
"On {box_name}, downloaded files can be found in /var/lib/mldonkey/ directory."
msgstr "På {box_name}, finner du nedlastede filer i mappen /var/lib/mldonkey/."
-#: plinth/modules/mldonkey/__init__.py:59
+#: plinth/modules/mldonkey/__init__.py:61
msgid "Download files using eDonkey applications"
msgstr "Last ned filer ved bruk av eDonkey-programmer"
@@ -2693,12 +2692,6 @@ msgstr "OpenPGP Fingerprint (fingeravtrykk)"
msgid "Secure Shell"
msgstr "Secure Shell (SSH)"
-#: plinth/modules/monkeysphere/templates/monkeysphere.html:88
-#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:60
-#: plinth/service.py:138
-msgid "Web Server"
-msgstr "Nett-tjener"
-
#: plinth/modules/monkeysphere/templates/monkeysphere.html:90
#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:62
msgid "Other"
@@ -2794,15 +2787,15 @@ msgstr "Publisert nøkkel til nøkkeltjener."
msgid "Error occurred while publishing key."
msgstr "Feil oppstått under utlegging av nøkkel."
-#: plinth/modules/mumble/__init__.py:34 plinth/modules/mumble/manifest.py:27
+#: plinth/modules/mumble/__init__.py:35 plinth/modules/mumble/manifest.py:27
msgid "Mumble"
msgstr "Mumble"
-#: plinth/modules/mumble/__init__.py:36
+#: plinth/modules/mumble/__init__.py:37
msgid "Voice Chat"
msgstr "Talenettprat"
-#: plinth/modules/mumble/__init__.py:45
+#: plinth/modules/mumble/__init__.py:44
msgid ""
"Mumble is an open source, low-latency, encrypted, high quality voice chat "
"software."
@@ -2810,7 +2803,7 @@ msgstr ""
"Mumble er en åpen kildekode, rask, kryptert, høy kvalitets programvare for "
"nettprat."
-#: plinth/modules/mumble/__init__.py:47
+#: plinth/modules/mumble/__init__.py:46
msgid ""
"You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your "
@@ -2865,7 +2858,7 @@ msgstr "Ikke tilgjengelig"
msgid "Networks"
msgstr "Nettverk"
-#: plinth/modules/networks/__init__.py:142
+#: plinth/modules/networks/__init__.py:144
#, python-brace-format
msgid "Using DNSSEC on IPv{kind}"
msgstr "Bruker DNSSEC på IPv{kind}"
@@ -3319,7 +3312,7 @@ msgstr "IPv4"
#: plinth/modules/networks/templates/connection_show.html:186
#: plinth/modules/networks/templates/connection_show.html:227
-#: plinth/modules/shadowsocks/forms.py:75
+#: plinth/modules/shadowsocks/forms.py:65
msgid "Method"
msgstr "Metode"
@@ -3453,15 +3446,15 @@ msgstr "Slått av (inaktiv)"
msgid "Create..."
msgstr "Lage ..."
-#: plinth/modules/openvpn/__init__.py:40
+#: plinth/modules/openvpn/__init__.py:39
msgid "OpenVPN"
msgstr "OpenVPN"
-#: plinth/modules/openvpn/__init__.py:42
+#: plinth/modules/openvpn/__init__.py:41
msgid "Virtual Private Network"
msgstr "Virtuelt privat nettverk"
-#: plinth/modules/openvpn/__init__.py:46
+#: plinth/modules/openvpn/__init__.py:45
#, python-brace-format
msgid ""
"Virtual Private Network (VPN) is a technique for securely connecting two "
@@ -3478,7 +3471,7 @@ msgstr ""
"Du kan også få tilgang til resten av Internettet via {box_name} med utvidet "
"sikkerhet og anonymitet."
-#: plinth/modules/openvpn/__init__.py:74
+#: plinth/modules/openvpn/__init__.py:75
#, python-brace-format
msgid ""
"Download Profile"
@@ -3557,11 +3550,11 @@ msgstr "OpenVPN-tjeneren kjører"
msgid "OpenVPN server is not running"
msgstr "OpenVPN-tjeneren kjører ikke"
-#: plinth/modules/openvpn/views.py:128
+#: plinth/modules/openvpn/views.py:126
msgid "Setup completed."
msgstr "Oppsettet fullført."
-#: plinth/modules/openvpn/views.py:130
+#: plinth/modules/openvpn/views.py:128
msgid "Setup failed."
msgstr "Oppsettet mislyktes."
@@ -3646,7 +3639,7 @@ msgstr ""
"Velg din PageKite-tjener. Sett «pagekite.net» for å bruke den forvalgte "
"pagekite.net-tjeneren."
-#: plinth/modules/pagekite/forms.py:78 plinth/modules/shadowsocks/forms.py:64
+#: plinth/modules/pagekite/forms.py:78 plinth/modules/shadowsocks/forms.py:57
msgid "Server port"
msgstr "Tjenerport"
@@ -3860,31 +3853,31 @@ msgstr ""
msgid "Save Services"
msgstr "Lagre tjenester"
-#: plinth/modules/pagekite/utils.py:53
+#: plinth/modules/pagekite/utils.py:57
msgid "Web Server (HTTP)"
msgstr "Web-tjener (HTTP)"
-#: plinth/modules/pagekite/utils.py:54
+#: plinth/modules/pagekite/utils.py:59
#, python-brace-format
msgid "Site will be available at http://{0}"
msgstr ""
"Nettstedet vil være tilgjengelig på http://{0}"
-#: plinth/modules/pagekite/utils.py:63
+#: plinth/modules/pagekite/utils.py:71
msgid "Web Server (HTTPS)"
msgstr "Web-tjener (HTTPS)"
-#: plinth/modules/pagekite/utils.py:64
+#: plinth/modules/pagekite/utils.py:73
#, python-brace-format
msgid "Site will be available at https://{0}"
msgstr ""
"Nettstedet vil bli tilgjengelig på https://{0}"
-#: plinth/modules/pagekite/utils.py:73
+#: plinth/modules/pagekite/utils.py:85
msgid "Secure Shell (SSH)"
msgstr "Secure Shell (SSH)"
-#: plinth/modules/pagekite/utils.py:74
+#: plinth/modules/pagekite/utils.py:87
msgid ""
"See SSH client setup instructions"
@@ -3892,19 +3885,19 @@ msgstr ""
"Se oppsettet for SSH-klienten instructions (instruksjoner)"
-#: plinth/modules/pagekite/utils.py:276
+#: plinth/modules/pagekite/utils.py:288
msgid "Pagekite"
msgstr "PageKite"
-#: plinth/modules/pagekite/views.py:39
+#: plinth/modules/pagekite/views.py:40
msgid "Standard Services"
msgstr "Standardtjenester"
-#: plinth/modules/pagekite/views.py:42
+#: plinth/modules/pagekite/views.py:44
msgid "Custom Services"
msgstr "Tilpassede tjenester"
-#: plinth/modules/pagekite/views.py:156
+#: plinth/modules/pagekite/views.py:158
msgid "Pagekite setup finished. The HTTP and HTTPS services are activated now."
msgstr "PageKite oppsett ferdig. HTTP- og HTTPS-tjenester er nå aktivert."
@@ -3975,15 +3968,15 @@ msgstr ""
msgid "Shut Down Now"
msgstr "Slå av nå"
-#: plinth/modules/privoxy/__init__.py:41
+#: plinth/modules/privoxy/__init__.py:42
msgid "Privoxy"
msgstr "Privoxy"
-#: plinth/modules/privoxy/__init__.py:43
+#: plinth/modules/privoxy/__init__.py:44
msgid "Web Proxy"
msgstr "Mellomtjener for nettet"
-#: plinth/modules/privoxy/__init__.py:46
+#: plinth/modules/privoxy/__init__.py:47
msgid ""
"Privoxy is a non-caching web proxy with advanced filtering capabilities for "
"enhancing privacy, modifying web page data and HTTP headers, controlling "
@@ -3994,7 +3987,7 @@ msgstr ""
"overskrifter, kontrollere tilgang, og fjerne annonser og annet ubehagelig "
"Internett-søppel. "
-#: plinth/modules/privoxy/__init__.py:51
+#: plinth/modules/privoxy/__init__.py:52
#, python-brace-format
msgid ""
"You can use Privoxy by modifying your browser proxy settings to your "
@@ -4010,20 +4003,20 @@ msgstr ""
"privoxy.org\">http://config.privoxy.org/ eller http://p.p."
-#: plinth/modules/privoxy/__init__.py:157
+#: plinth/modules/privoxy/__init__.py:142
#, python-brace-format
msgid "Access {url} with proxy {proxy} on tcp{kind}"
msgstr "Tilgang {url} med mellomtjener {proxy} på tcp{kind}"
-#: plinth/modules/quassel/__init__.py:41 plinth/modules/quassel/manifest.py:25
+#: plinth/modules/quassel/__init__.py:40 plinth/modules/quassel/manifest.py:25
msgid "Quassel"
msgstr "Quassel"
-#: plinth/modules/quassel/__init__.py:43
+#: plinth/modules/quassel/__init__.py:42
msgid "IRC Client"
msgstr "IRC-klient"
-#: plinth/modules/quassel/__init__.py:47
+#: plinth/modules/quassel/__init__.py:46
#, python-brace-format
msgid ""
"Quassel is an IRC application that is split into two parts, a \"core\" and a "
@@ -4040,7 +4033,7 @@ msgstr ""
"skrivebordet kan en eller flere Quassel-klienter brukes til å koble til og "
"fra."
-#: plinth/modules/quassel/__init__.py:54
+#: plinth/modules/quassel/__init__.py:53
msgid ""
"You can connect to your Quassel core on the default Quassel port 4242. "
"Clients to connect to Quassel from your ) og ditt brukernavn. Å klikke på søkeknappen vil liste "
"opp eksisterende kalendre og adressebøker."
-#: plinth/modules/radicale/views.py:55
+#: plinth/modules/radicale/views.py:56
msgid "Access rights configuration updated"
msgstr "Tilgangskontrolloppsett oppdatert"
-#: plinth/modules/repro/__init__.py:38
+#: plinth/modules/repro/__init__.py:40
msgid "repro"
msgstr "repro"
-#: plinth/modules/repro/__init__.py:40
+#: plinth/modules/repro/__init__.py:42
msgid "SIP Server"
msgstr "SIP-tjener"
-#: plinth/modules/repro/__init__.py:43
+#: plinth/modules/repro/__init__.py:45
msgid ""
"repro provides various SIP services that a SIP softphone can utilize to "
"provide audio and video calls as well as presence and instant messaging. "
@@ -4184,7 +4177,7 @@ msgstr ""
"Den fungerer også som en mellomtjener for å forene SIP-kommunikasjon til "
"andre servere på Internett på samme måte som e-post."
-#: plinth/modules/repro/__init__.py:49
+#: plinth/modules/repro/__init__.py:51
msgid ""
"To make SIP calls, a client application is needed. Available clients include "
"Jitsi (for computers) and CSipSimple"
"a> (for Android telefoner)."
-#: plinth/modules/repro/__init__.py:53
+#: plinth/modules/repro/__init__.py:55
msgid ""
"Note: Before using repro, domains and users will need to "
"be configured using the web-based "
@@ -4232,15 +4225,15 @@ msgstr ""
msgid "CSipSimple"
msgstr "CSipSimple"
-#: plinth/modules/restore/__init__.py:36 plinth/modules/restore/manifest.py:23
+#: plinth/modules/restore/__init__.py:37 plinth/modules/restore/manifest.py:23
msgid "reStore"
msgstr "reStore"
-#: plinth/modules/restore/__init__.py:38
+#: plinth/modules/restore/__init__.py:39
msgid "Unhosted Storage"
msgstr "Vertsløs lagring"
-#: plinth/modules/restore/__init__.py:42
+#: plinth/modules/restore/__init__.py:43
#, python-brace-format
msgid ""
"reStore is a server for unhosted web "
@@ -4255,7 +4248,7 @@ msgstr ""
"som brukeren selv velger. Med reStore blir {box_name} din vertsfrie "
"lagringstjener."
-#: plinth/modules/restore/__init__.py:48
+#: plinth/modules/restore/__init__.py:49
msgid ""
"You can create and edit accounts in the reStore web-"
"interface."
@@ -4263,16 +4256,16 @@ msgstr ""
"Du kan lage og redigere kontoer i reStore vev-"
"grensesnitt."
-#: plinth/modules/roundcube/__init__.py:34
+#: plinth/modules/roundcube/__init__.py:35
#: plinth/modules/roundcube/manifest.py:24
msgid "Roundcube"
msgstr "Roundcube"
-#: plinth/modules/roundcube/__init__.py:36
+#: plinth/modules/roundcube/__init__.py:37
msgid "Email Client"
msgstr "E-postklient"
-#: plinth/modules/roundcube/__init__.py:39
+#: plinth/modules/roundcube/__init__.py:40
msgid ""
"Roundcube webmail is a browser-based multilingual IMAP client with an "
"application-like user interface. It provides full functionality you expect "
@@ -4284,7 +4277,7 @@ msgstr ""
"forventer fra en e-posttjener, medregnet MIME-støtte, adressebok, "
"mappebehandling, søk etter meldinger og stavekontroll."
-#: plinth/modules/roundcube/__init__.py:44
+#: plinth/modules/roundcube/__init__.py:45
msgid ""
"You can access Roundcube from /roundcube. Provide "
"the username and password of the email account you wish to access followed "
@@ -4298,7 +4291,7 @@ msgstr ""
"example.com. For IMAP over SSL (anbefalt), fyll feltet for tjeneren, "
"som imaps://imap.example.com."
-#: plinth/modules/roundcube/__init__.py:50
+#: plinth/modules/roundcube/__init__.py:51
msgid ""
"For Gmail, username will be your Gmail address, password will be your Google "
"account password and server will be imaps://imap.gmail.com. "
@@ -4372,12 +4365,12 @@ msgstr "Tillat offentlig tilgang"
msgid "Allow this application to be used by anyone who can reach it."
msgstr "Tillat dette programmet brukt av alle som kan nå det."
-#: plinth/modules/searx/views.py:60 plinth/modules/searx/views.py:71
-#: plinth/modules/tor/views.py:139 plinth/modules/tor/views.py:168
+#: plinth/modules/searx/views.py:59 plinth/modules/searx/views.py:70
+#: plinth/modules/tor/views.py:141 plinth/modules/tor/views.py:168
msgid "Configuration updated."
msgstr "Konfigurering oppdatert."
-#: plinth/modules/searx/views.py:63 plinth/modules/searx/views.py:74
+#: plinth/modules/searx/views.py:62 plinth/modules/searx/views.py:73
#: plinth/modules/tor/views.py:170
msgid "An error occurred during configuration."
msgstr "En feil oppsto under konfigureringen."
@@ -4440,15 +4433,15 @@ msgstr ""
"shaarli på nett-tjeneren. Merk at Shaarli kun støtter en enkelt "
"brukerkonto, som du må sette opp ved det første besøket."
-#: plinth/modules/shadowsocks/__init__.py:34
+#: plinth/modules/shadowsocks/__init__.py:35
msgid "Shadowsocks"
msgstr "Shadowsocks"
-#: plinth/modules/shadowsocks/__init__.py:36
+#: plinth/modules/shadowsocks/__init__.py:37
msgid "Socks5 Proxy"
msgstr "SOCKS5-mellomtjener"
-#: plinth/modules/shadowsocks/__init__.py:45
+#: plinth/modules/shadowsocks/__init__.py:44
msgid ""
"Shadowsocks is a lightweight and secure SOCKS5 proxy, designed to protect "
"your Internet traffic. It can be used to bypass Internet filtering and "
@@ -4458,7 +4451,7 @@ msgstr ""
"beskytte din internettrafikk. Den kan brukes til å omgå internettfiltrering "
"og -sensur."
-#: plinth/modules/shadowsocks/__init__.py:49
+#: plinth/modules/shadowsocks/__init__.py:48
#, python-brace-format
msgid ""
"Your {box_name} can run a Shadowsocks client, that can connect to a "
@@ -4471,7 +4464,7 @@ msgstr ""
"enheter kan koble til denne mellomtjeneren, og deres data vil krypteres og "
"mellomtjent gjennom Shadowsocks-tjeneren."
-#: plinth/modules/shadowsocks/__init__.py:54
+#: plinth/modules/shadowsocks/__init__.py:53
msgid ""
"To use Shadowsocks after setup, set the SOCKS5 proxy URL in your device, "
"browser or application to http://freedombox_address:1080/"
@@ -4479,28 +4472,28 @@ msgstr ""
"For å bruke Shadowsocks etter oppsett, legg SOCKS5-mellomtjenernettadresen "
"på din enhet, nettleser, eller program til http://freedombox_address:1080/"
+#: plinth/modules/shadowsocks/forms.py:28
#: plinth/modules/shadowsocks/forms.py:29
-#: plinth/modules/shadowsocks/forms.py:30
msgid "Recommended"
msgstr "Anbefalt"
-#: plinth/modules/shadowsocks/forms.py:60
+#: plinth/modules/shadowsocks/forms.py:54
msgid "Server"
msgstr "Tjener"
-#: plinth/modules/shadowsocks/forms.py:61
+#: plinth/modules/shadowsocks/forms.py:54
msgid "Server hostname or IP address"
msgstr "Tjernens vertsnavn eller IP-adresse"
-#: plinth/modules/shadowsocks/forms.py:67
+#: plinth/modules/shadowsocks/forms.py:58
msgid "Server port number"
msgstr "Tjener-portnummer"
-#: plinth/modules/shadowsocks/forms.py:71
+#: plinth/modules/shadowsocks/forms.py:61
msgid "Password used to encrypt data. Must match server password."
msgstr "Passord brukt for å kryptere data. Må samsvare med tjenerpassord."
-#: plinth/modules/shadowsocks/forms.py:77
+#: plinth/modules/shadowsocks/forms.py:66
msgid "Encryption method. Must match setting on server."
msgstr "Krypteringsmetode. Må samsvare med den brukt på tjeneren."
@@ -4787,7 +4780,7 @@ msgstr "Opprett øyeblikksbilde."
msgid "Storage snapshots configuration updated"
msgstr "Lagringsavbildings-oppsett oppdatert"
-#: plinth/modules/snapshot/views.py:153 plinth/modules/tor/views.py:72
+#: plinth/modules/snapshot/views.py:153 plinth/modules/tor/views.py:73
#, python-brace-format
msgid "Action error: {0} [{1}] [{2}]"
msgstr "Handlingsfeil: {0} [{1}] [{2}]"
@@ -4817,11 +4810,11 @@ msgstr "Systemet må startes på nytt for å fullføre tilbakerullingen."
msgid "Rollback to Snapshot"
msgstr "Rull tilbake til øyeblikksbilde"
-#: plinth/modules/ssh/__init__.py:39
+#: plinth/modules/ssh/__init__.py:40
msgid "Secure Shell (SSH) Server"
msgstr "Secure Shell (SSH) tjener"
-#: plinth/modules/ssh/__init__.py:42
+#: plinth/modules/ssh/__init__.py:43
msgid ""
"A Secure Shell server uses the secure shell protocol to accept connections "
"from remote computers. An authorized remote computer can perform "
@@ -4841,11 +4834,11 @@ msgstr "Engangspålogging"
msgid "Login"
msgstr "Login"
-#: plinth/modules/storage/__init__.py:36 plinth/modules/storage/views.py:53
+#: plinth/modules/storage/__init__.py:35 plinth/modules/storage/views.py:53
msgid "Storage"
msgstr "Lager"
-#: plinth/modules/storage/__init__.py:44
+#: plinth/modules/storage/__init__.py:43
#, python-brace-format
msgid ""
"This module allows you to manage storage media attached to your {box_name}. "
@@ -4856,81 +4849,81 @@ msgstr ""
"kan vise lagringsmedia som er i bruk, montere og avmontere flyttbare medium, "
"utvide rotpartisjonen, osv."
-#: plinth/modules/storage/__init__.py:211
+#: plinth/modules/storage/__init__.py:213
#, python-brace-format
msgid "{disk_size:.1f} bytes"
msgstr "{disk_size:.1f} byte"
-#: plinth/modules/storage/__init__.py:215
+#: plinth/modules/storage/__init__.py:217
#, python-brace-format
msgid "{disk_size:.1f} KiB"
msgstr "{disk_size:.1f} KiB"
-#: plinth/modules/storage/__init__.py:219
+#: plinth/modules/storage/__init__.py:221
#, python-brace-format
msgid "{disk_size:.1f} MiB"
msgstr "{disk_size:.1f} MiB"
-#: plinth/modules/storage/__init__.py:223
+#: plinth/modules/storage/__init__.py:225
#, python-brace-format
msgid "{disk_size:.1f} GiB"
msgstr "{disk_size:.1f} GiB"
-#: plinth/modules/storage/__init__.py:226
+#: plinth/modules/storage/__init__.py:228
#, python-brace-format
msgid "{disk_size:.1f} TiB"
msgstr "{disk_size:.1f} TiB"
-#: plinth/modules/storage/__init__.py:233
+#: plinth/modules/storage/__init__.py:235
msgid "The operation failed."
msgstr "Operasjonen mislyktes."
-#: plinth/modules/storage/__init__.py:235
+#: plinth/modules/storage/__init__.py:237
msgid "The operation was cancelled."
msgstr "Operasjonen ble avbrutt."
-#: plinth/modules/storage/__init__.py:237
+#: plinth/modules/storage/__init__.py:239
msgid "The device is already unmounting."
msgstr "Enheten avmonteres allerede."
-#: plinth/modules/storage/__init__.py:239
+#: plinth/modules/storage/__init__.py:241
msgid "The operation is not supported due to missing driver/tool support."
msgstr ""
"Denne aktiviteten støttes ikke på grunn av manglende driver-/verktøystøtte."
-#: plinth/modules/storage/__init__.py:242
+#: plinth/modules/storage/__init__.py:244
msgid "The operation timed out."
msgstr "Tidsavbrudd for operasjon."
-#: plinth/modules/storage/__init__.py:244
+#: plinth/modules/storage/__init__.py:246
msgid "The operation would wake up a disk that is in a deep-sleep state."
msgstr "Operasjonen vil vekke en disk fra en tilstand av dyp søvn."
-#: plinth/modules/storage/__init__.py:247
+#: plinth/modules/storage/__init__.py:249
msgid "Attempting to unmount a device that is busy."
msgstr "Prøver å avmontere en opptatt enhet."
-#: plinth/modules/storage/__init__.py:249
+#: plinth/modules/storage/__init__.py:251
msgid "The operation has already been cancelled."
msgstr "Operasjonen har allerede blitt avbrutt."
-#: plinth/modules/storage/__init__.py:255
+#: plinth/modules/storage/__init__.py:257
msgid "Not authorized to perform the requested operation."
msgstr "Mangler rettigheter til utførelse av forespurt operasjon."
-#: plinth/modules/storage/__init__.py:257
+#: plinth/modules/storage/__init__.py:259
msgid "The device is already mounted."
msgstr "Denne enheten er allerede montert."
-#: plinth/modules/storage/__init__.py:259
+#: plinth/modules/storage/__init__.py:261
msgid "The device is not mounted."
msgstr "Enheten er ikke montert."
-#: plinth/modules/storage/__init__.py:262
+#: plinth/modules/storage/__init__.py:264
msgid "Not permitted to use the requested option."
msgstr "Mangler rettigheter til bruk av forespurt valg."
-#: plinth/modules/storage/__init__.py:265
+#: plinth/modules/storage/__init__.py:267
msgid "The device is mounted by another user."
msgstr "Enheten er montert av en annen bruker."
@@ -5014,16 +5007,16 @@ msgstr "Enheten kan trygt kobles fra."
msgid "Error ejecting device: {error_message}"
msgstr "Feil ved utløsing av enhet: {error_message}"
-#: plinth/modules/syncthing/__init__.py:38
+#: plinth/modules/syncthing/__init__.py:40
#: plinth/modules/syncthing/manifest.py:28
msgid "Syncthing"
msgstr "Syncthing"
-#: plinth/modules/syncthing/__init__.py:40
+#: plinth/modules/syncthing/__init__.py:42
msgid "File Synchronization"
msgstr "Filsynkronisering"
-#: plinth/modules/syncthing/__init__.py:43
+#: plinth/modules/syncthing/__init__.py:45
msgid ""
"Syncthing is an application to synchronize files across multiple devices, e."
"g. your desktop computer and mobile phone. Creation, modification, or "
@@ -5034,7 +5027,7 @@ msgstr ""
"Oppretting, endring og sletting av filer på én enhet vil automatisk bli "
"replikert (gjenskapt) til andre enheter."
-#: plinth/modules/syncthing/__init__.py:48
+#: plinth/modules/syncthing/__init__.py:50
#, python-brace-format
msgid ""
"Running Syncthing on {box_name} provides an extra synchronization point for "
@@ -5051,7 +5044,7 @@ msgstr ""
"med sine egne sett med mapper. Webgrensesnittet er bare tilgjengelig for "
"brukere som hører til i «admin»-gruppen."
-#: plinth/modules/syncthing/__init__.py:55
+#: plinth/modules/syncthing/__init__.py:57
msgid ""
"When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile clients are also /syncthing. Stasjonære og mobile klienter er også -tilgjengelig (available)."
-#: plinth/modules/syncthing/__init__.py:62
+#: plinth/modules/syncthing/__init__.py:64
msgid "Administer Syncthing application"
msgstr "Administrer Syncthing-programmet"
-#: plinth/modules/tahoe/__init__.py:41
+#: plinth/modules/tahoe/__init__.py:43
msgid "Tahoe-LAFS"
msgstr "Tahoe-LAFS"
-#: plinth/modules/tahoe/__init__.py:43
+#: plinth/modules/tahoe/__init__.py:45
msgid "Distributed File Storage"
msgstr "Distribuert fillagring"
-#: plinth/modules/tahoe/__init__.py:107
+#: plinth/modules/tahoe/__init__.py:119
msgid ""
"Tahoe-LAFS is a decentralized secure file storage system. It uses provider "
"independent security to store files over a distributed network of storage "
@@ -5085,7 +5078,7 @@ msgstr ""
"nettverk av lagringsnoder. Selv om noen av nodene mislykkes, kan filene "
"hentes tilbake fra de gjenværende nodene."
-#: plinth/modules/tahoe/__init__.py:112
+#: plinth/modules/tahoe/__init__.py:124
#, python-brace-format
msgid ""
"This {box_name} hosts a storage node and an introducer by default. "
@@ -5135,11 +5128,11 @@ msgstr "Tilknyttede introduserere"
msgid "Remove"
msgstr "Fjern"
-#: plinth/modules/tor/__init__.py:43
+#: plinth/modules/tor/__init__.py:46
msgid "Tor"
msgstr "Tor"
-#: plinth/modules/tor/__init__.py:48
+#: plinth/modules/tor/__init__.py:51
msgid ""
"Tor is an anonymous communication system. You can learn more about it from "
"the Tor Project website. For "
@@ -5153,40 +5146,36 @@ msgstr ""
"\"https://www.torproject.org/download/download-easy.html.en\">Tor Browser"
"a>."
-#: plinth/modules/tor/__init__.py:93
+#: plinth/modules/tor/__init__.py:80
msgid "Tor Socks Proxy"
msgstr "Tor Socks-mellomtjener"
-#: plinth/modules/tor/__init__.py:99 plinth/modules/tor/__init__.py:146
+#: plinth/modules/tor/__init__.py:84
msgid "Tor Bridge Relay"
msgstr "Tor bro-stafettvideresendingsoppsett"
-#: plinth/modules/tor/__init__.py:120 plinth/modules/tor/__init__.py:188
+#: plinth/modules/tor/__init__.py:122 plinth/modules/tor/__init__.py:150
msgid "Tor Hidden Service"
msgstr "Skjult Tor-tjeneste"
-#: plinth/modules/tor/__init__.py:136
-msgid "Tor Anonymity Network"
-msgstr "Tor anonymitetsnettverk"
-
-#: plinth/modules/tor/__init__.py:208
+#: plinth/modules/tor/__init__.py:170
msgid "Tor relay port available"
msgstr "Tor relay-port tilgjengelig"
-#: plinth/modules/tor/__init__.py:218
+#: plinth/modules/tor/__init__.py:180
msgid "Obfs3 transport registered"
msgstr "Obfs3-transport registrert"
-#: plinth/modules/tor/__init__.py:226
+#: plinth/modules/tor/__init__.py:188
msgid "Obfs4 transport registered"
msgstr "Obfs4-transport registrert"
-#: plinth/modules/tor/__init__.py:265
+#: plinth/modules/tor/__init__.py:227
#, python-brace-format
msgid "Access URL {url} on tcp{kind} via Tor"
msgstr "Adgang til URL {url} på tcp{kind} via Tor"
-#: plinth/modules/tor/__init__.py:276
+#: plinth/modules/tor/__init__.py:238
#, python-brace-format
msgid "Confirm Tor usage at {url} on tcp{kind}"
msgstr "Bekreft Tor-bruk på {url} via tcp{kind}"
@@ -5344,12 +5333,12 @@ msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050."
msgstr ""
"En Tor SOCKS-port er tilgjengelig på din %(box_name)s på TCP port 9050."
-#: plinth/modules/transmission/__init__.py:39
+#: plinth/modules/transmission/__init__.py:41
#: plinth/modules/transmission/manifest.py:24
msgid "Transmission"
msgstr "Transmission"
-#: plinth/modules/transmission/__init__.py:44
+#: plinth/modules/transmission/__init__.py:46
msgid ""
"BitTorrent is a peer-to-peer file sharing protocol. Transmission daemon "
"handles Bitorrent file sharing. Note that BitTorrent is not anonymous."
@@ -5358,7 +5347,7 @@ msgstr ""
"(overføringsdemon) håndterer BitTorrent-fildeling i bakgrunnen. Merk at "
"BitTorrent ikke er anonym."
-#: plinth/modules/transmission/__init__.py:47
+#: plinth/modules/transmission/__init__.py:49
msgid ""
"Access the web interface at /transmission."
msgstr ""
@@ -5379,15 +5368,15 @@ msgstr ""
"sikre at den nye katalogen eksisterer og er skrivbar av «debian-"
"transmission»-brukeren."
-#: plinth/modules/ttrss/__init__.py:41 plinth/modules/ttrss/manifest.py:34
+#: plinth/modules/ttrss/__init__.py:43 plinth/modules/ttrss/manifest.py:34
msgid "Tiny Tiny RSS"
msgstr "Tiny Tiny RSS"
-#: plinth/modules/ttrss/__init__.py:43
+#: plinth/modules/ttrss/__init__.py:45
msgid "News Feed Reader"
msgstr "Nyhetstrøm-leser"
-#: plinth/modules/ttrss/__init__.py:46
+#: plinth/modules/ttrss/__init__.py:48
msgid ""
"Tiny Tiny RSS is a news feed (RSS/Atom) reader and aggregator, designed to "
"allow reading news from any location, while feeling as close to a real "
@@ -5397,7 +5386,7 @@ msgstr ""
"designet for å kunne lese nyheter fra hvor som helst, mens man er så nær en "
"virkelig skrivebordsenhet som mulig."
-#: plinth/modules/ttrss/__init__.py:50
+#: plinth/modules/ttrss/__init__.py:52
#, python-brace-format
msgid ""
"When enabled, Tiny Tiny RSS will be available from /tt-"
@@ -5408,7 +5397,7 @@ msgstr ""
"vevtjeneren når den er aktivert. Den er tilgjengelig for enhver bruker med et {box_name}-brukernavn."
-#: plinth/modules/ttrss/__init__.py:55
+#: plinth/modules/ttrss/__init__.py:57
msgid ""
"When using a mobile or desktop application for Tiny Tiny RSS, use the URL /tt-rss-app for connecting."
@@ -5416,7 +5405,7 @@ msgstr ""
"Når du bruker et mobilbasert- eller skrivebords-program for Tiny Tiny RSS, "
"bruk nettadressen /tt-rss-appfor å koble til."
-#: plinth/modules/ttrss/__init__.py:61
+#: plinth/modules/ttrss/__init__.py:63
msgid "Read and subscribe to news feeds"
msgstr "Les og abonner på nyhetsstrømmer"
@@ -5424,11 +5413,11 @@ msgstr "Les og abonner på nyhetsstrømmer"
msgid "Tiny Tiny RSS (Fork)"
msgstr "Tiny Tiny RSS (avgreining)"
-#: plinth/modules/upgrades/__init__.py:36 plinth/templates/setup.html:101
+#: plinth/modules/upgrades/__init__.py:35 plinth/templates/setup.html:101
msgid "Update"
msgstr "Oppdater"
-#: plinth/modules/upgrades/__init__.py:39
+#: plinth/modules/upgrades/__init__.py:38
msgid "Check for and apply the latest software and security updates."
msgstr "Sjekk og legg til siste programvare- og sikkerhetsoppdateringer."
@@ -5467,33 +5456,33 @@ msgstr "Veksle nylige oppdateringslogger"
msgid "Auto-update"
msgstr "Auto-oppdatering"
-#: plinth/modules/upgrades/views.py:39
+#: plinth/modules/upgrades/views.py:40
msgid "Manual update"
msgstr "Manuell oppdatering"
-#: plinth/modules/upgrades/views.py:78
+#: plinth/modules/upgrades/views.py:79
#, python-brace-format
msgid "Error when configuring unattended-upgrades: {error}"
msgstr ""
"Feil ved oppsett av uoppdaterte oppgraderinger (unattended-upgrades): {error}"
-#: plinth/modules/upgrades/views.py:82
+#: plinth/modules/upgrades/views.py:83
msgid "Automatic upgrades enabled"
msgstr "Automatiske oppgraderinger aktivert"
-#: plinth/modules/upgrades/views.py:85
+#: plinth/modules/upgrades/views.py:86
msgid "Automatic upgrades disabled"
msgstr "Automatiske oppgraderinger avslått (deaktivert)"
-#: plinth/modules/upgrades/views.py:87
+#: plinth/modules/upgrades/views.py:88
msgid "Settings unchanged"
msgstr "Oppsett uendret"
-#: plinth/modules/upgrades/views.py:113
+#: plinth/modules/upgrades/views.py:114
msgid "Upgrade process started."
msgstr "Oppgraderingsprosessen (upgrade process) har startet."
-#: plinth/modules/upgrades/views.py:116
+#: plinth/modules/upgrades/views.py:117
msgid "Starting upgrade failed."
msgstr "Å starte oppgradering (upgrade) mislyktes."
@@ -5501,7 +5490,7 @@ msgstr "Å starte oppgradering (upgrade) mislyktes."
msgid "Users and Groups"
msgstr "Brukere og grupper"
-#: plinth/modules/users/__init__.py:106
+#: plinth/modules/users/__init__.py:108
#, python-brace-format
msgid "Check LDAP entry \"{search_item}\""
msgstr "Sjekk LDAP-oppføring «{search_item}»"
@@ -5726,15 +5715,6 @@ msgstr "mediaendring"
msgid "configuration file: {file}"
msgstr "oppsettsfil: {file}"
-#: plinth/service.py:140
-msgid "Web Server over Secure Socket Layer"
-msgstr "Webtjener over SSL"
-
-#: plinth/service.py:145
-#, python-brace-format
-msgid "{box_name} Web Interface (Plinth)"
-msgstr "{box_name} Vev-grensesnitt (Plinth)"
-
#: plinth/templates/403.html:25
msgid "403 Forbidden"
msgstr "403 Forbudt"
@@ -5953,17 +5933,17 @@ msgstr "IRC-nettpratrom"
msgid "Mailing list"
msgstr "Adresseliste"
-#: plinth/templates/internal-zone.html:25
+#: plinth/templates/internal-zone.html:26
#, python-format
msgid "%(service_name)s is available only on internal networks."
msgstr ""
"Tjenesten %(service_name)s er kun tilgjengelig på interne nettverk."
-#: plinth/templates/internal-zone.html:31
+#: plinth/templates/internal-zone.html:32
msgid "Currently there are no network interfaces configured as internal."
msgstr "Ingen nettverksgrensesnitt er satt opp som interne."
-#: plinth/templates/internal-zone.html:33
+#: plinth/templates/internal-zone.html:34
#, python-format
msgid ""
"Currently the following network interfaces are configured as internal: "
@@ -6032,10 +6012,24 @@ msgstr "Installere %(package_names)s: %(status)s"
msgid "%(percentage)s%% complete"
msgstr "%(percentage)s%% fullført"
+#: plinth/views.py:178
+msgid "Application enabled"
+msgstr "Programmet er aktivert"
+
+#: plinth/views.py:181
+msgid "Application disabled"
+msgstr "Programmet er deaktivert"
+
#: plinth/web_framework.py:186
msgid "Gujarati"
msgstr "Gujarati"
+#~ msgid "Tor Anonymity Network"
+#~ msgstr "Tor anonymitetsnettverk"
+
+#~ msgid "Web Server over Secure Socket Layer"
+#~ msgstr "Webtjener over SSL"
+
#~ msgid "Current status:"
#~ msgstr "Nåværende status:"
diff --git a/plinth/locale/nl/LC_MESSAGES/django.po b/plinth/locale/nl/LC_MESSAGES/django.po
index f87cffa62..f60c48463 100644
--- a/plinth/locale/nl/LC_MESSAGES/django.po
+++ b/plinth/locale/nl/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-06-10 19:02-0400\n"
+"POT-Creation-Date: 2019-06-24 19:48-0400\n"
"PO-Revision-Date: 2019-05-07 20:48+0000\n"
"Last-Translator: Karel Trachet \n"
"Language-Team: Dutch /"
@@ -537,14 +548,14 @@ msgstr ""
"mogelijkheid om het systeem aan te passen is beperkt tot de gebruikers die "
"tot de systeembeheerdergroep (admin) horen."
-#: plinth/modules/config/__init__.py:59 plinth/modules/dynamicdns/views.py:44
+#: plinth/modules/config/__init__.py:61 plinth/modules/dynamicdns/views.py:45
#: plinth/modules/i2p/views.py:31 plinth/modules/ikiwiki/views.py:35
#: plinth/modules/pagekite/views.py:36 plinth/modules/snapshot/views.py:40
#: plinth/modules/tahoe/templates/tahoe-pre-setup.html:39
msgid "Configure"
msgstr "Configureer"
-#: plinth/modules/config/__init__.py:164 plinth/modules/config/forms.py:76
+#: plinth/modules/config/__init__.py:166 plinth/modules/config/forms.py:76
#: plinth/modules/config/views.py:171 plinth/modules/dynamicdns/forms.py:111
msgid "Domain Name"
msgstr "Domeinnaam"
@@ -630,8 +641,8 @@ msgstr ""
#: plinth/modules/power/templates/power_restart.html:42
#: plinth/modules/power/templates/power_shutdown.html:41
#: plinth/modules/storage/templates/storage.html:48
-#: plinth/templates/service-subsubmenu.html:47 plinth/templates/service.html:42
-#: plinth/templates/setup.html:48 plinth/templates/simple_service.html:38
+#: plinth/templates/app-subsubmenu.html:47 plinth/templates/app.html:42
+#: plinth/templates/setup.html:48 plinth/templates/simple_app.html:38
msgid "Learn more..."
msgstr "Lees meer..."
@@ -681,15 +692,15 @@ msgstr ""
msgid "Hiding advanced apps and features"
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:38
+#: plinth/modules/coquelicot/__init__.py:40
msgid "Coquelicot"
msgstr "Coquelicot"
-#: plinth/modules/coquelicot/__init__.py:40
+#: plinth/modules/coquelicot/__init__.py:42
msgid "File Sharing"
msgstr "Delen van bestanden"
-#: plinth/modules/coquelicot/__init__.py:43
+#: plinth/modules/coquelicot/__init__.py:45
msgid ""
"Coquelicot is a “one-click” file sharing web application with a focus on "
"protecting users’ privacy. It is best used for quickly sharing a single "
@@ -699,7 +710,7 @@ msgstr ""
"ontworpen zodat de privacy van gebruikers wordt beschermd. Coquelicot is "
"bij uitstek geschikt om gemakkelijk een enkel bestand te delen. "
-#: plinth/modules/coquelicot/__init__.py:46
+#: plinth/modules/coquelicot/__init__.py:48
msgid ""
"This Coquelicot instance is exposed to the public but requires an upload "
"password to prevent unauthorized access. You can set a new upload password "
@@ -736,19 +747,19 @@ msgstr ""
msgid "coquelicot"
msgstr "coquelicot"
-#: plinth/modules/coquelicot/views.py:57
+#: plinth/modules/coquelicot/views.py:59
msgid "Upload password updated"
msgstr "Uploadwachtwoord aangepast"
-#: plinth/modules/coquelicot/views.py:60
+#: plinth/modules/coquelicot/views.py:62
msgid "Failed to update upload password"
msgstr "Bijwerken van het upload wachtwoord is mislukt"
-#: plinth/modules/coquelicot/views.py:68
+#: plinth/modules/coquelicot/views.py:70
msgid "Maximum file size updated"
msgstr "Maximale bestandsgrootte bijgewerkt"
-#: plinth/modules/coquelicot/views.py:71
+#: plinth/modules/coquelicot/views.py:73
msgid "Failed to update maximum file size"
msgstr "Maximale bestandsgrootte bijwerken is mislukt"
@@ -764,15 +775,15 @@ msgstr ""
"Netwerk Tijd Server is een programma dat de systeemtijd synchroniseert met "
"servers op internet."
-#: plinth/modules/datetime/__init__.py:107
+#: plinth/modules/datetime/__init__.py:99
msgid "Time synchronized to NTP server"
msgstr ""
-#: plinth/modules/datetime/forms.py:36
+#: plinth/modules/datetime/forms.py:35
msgid "Time Zone"
msgstr "Tijdzone"
-#: plinth/modules/datetime/forms.py:37
+#: plinth/modules/datetime/forms.py:36
msgid ""
"Set your time zone to get accurate timestamps. This will set the system-wide "
"time zone."
@@ -780,7 +791,7 @@ msgstr ""
"Stel de tijdzone in voor de juiste vermelding van de tijd. Dit stelt de "
"tijdzone in voor het hele systeem."
-#: plinth/modules/datetime/forms.py:49
+#: plinth/modules/datetime/forms.py:47
msgid "-- no time zone set --"
msgstr "-- geen tijdzone ingesteld --"
@@ -798,7 +809,7 @@ msgid "Deluge"
msgstr "Deluge"
#: plinth/modules/deluge/__init__.py:41
-#: plinth/modules/transmission/__init__.py:41
+#: plinth/modules/transmission/__init__.py:43
msgid "BitTorrent Web Client"
msgstr "BitTorrent-webclient"
@@ -817,7 +828,7 @@ msgstr ""
"'deluge', maar dit moet zo snel mogelijk na activering gewijzigd worden."
#: plinth/modules/deluge/__init__.py:51
-#: plinth/modules/transmission/__init__.py:54
+#: plinth/modules/transmission/__init__.py:56
msgid "Download files using BitTorrent applications"
msgstr "Download bestanden met BitTorrent toepassingen"
@@ -881,12 +892,12 @@ msgstr "Test"
msgid "Result"
msgstr "Resultaat"
-#: plinth/modules/diaspora/__init__.py:52
+#: plinth/modules/diaspora/__init__.py:54
#: plinth/modules/diaspora/manifest.py:38
msgid "diaspora*"
msgstr "diaspora*"
-#: plinth/modules/diaspora/__init__.py:54
+#: plinth/modules/diaspora/__init__.py:56
msgid "Federated Social Network"
msgstr "Gedecentraliseerd Sociaal Netwerk"
@@ -943,22 +954,22 @@ msgstr ""
#: plinth/modules/tahoe/templates/tahoe-pre-setup.html:58
#: plinth/modules/tor/templates/tor.html:96
#: plinth/modules/upgrades/templates/upgrades_configure.html:32
-#: plinth/templates/service.html:89
+#: plinth/templates/app.html:89
msgid "Update setup"
msgstr "Instelling bijwerken"
-#: plinth/modules/diaspora/views.py:97 plinth/modules/ejabberd/views.py:64
-#: plinth/modules/matrixsynapse/views.py:107
-#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:150
-#: plinth/modules/tor/views.py:146 plinth/views.py:160
+#: plinth/modules/diaspora/views.py:94 plinth/modules/ejabberd/views.py:65
+#: plinth/modules/matrixsynapse/views.py:108
+#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:148
+#: plinth/modules/tor/views.py:148 plinth/views.py:174
msgid "Setting unchanged"
msgstr "Instelling onveranderd"
-#: plinth/modules/diaspora/views.py:101
+#: plinth/modules/diaspora/views.py:98
msgid "User registrations enabled"
msgstr "Gebruikersregistratie ingeschakeld"
-#: plinth/modules/diaspora/views.py:105
+#: plinth/modules/diaspora/views.py:102
msgid "User registrations disabled"
msgstr "Gebruikersregistratie uitgeschakeld"
@@ -996,8 +1007,8 @@ msgstr ""
"naamswijziging doorvoeren, en als iemand op het internet om deze DNS naam "
"vraagt wordt dit beantwoord met het juiste IP adres."
-#: plinth/modules/dynamicdns/__init__.py:85
-#: plinth/modules/dynamicdns/views.py:167
+#: plinth/modules/dynamicdns/__init__.py:87
+#: plinth/modules/dynamicdns/views.py:169
msgid "Dynamic DNS Service"
msgstr "Dynamic DNS Service"
@@ -1103,7 +1114,7 @@ msgid "Username"
msgstr "Gebruikersnaam"
#: plinth/modules/dynamicdns/forms.py:121 plinth/modules/networks/forms.py:235
-#: plinth/modules/shadowsocks/forms.py:70
+#: plinth/modules/shadowsocks/forms.py:61
msgid "Password"
msgstr "Wachtwoord"
@@ -1198,39 +1209,39 @@ msgstr ""
msgid "Last update"
msgstr "Laatste bijwerking"
-#: plinth/modules/dynamicdns/views.py:41 plinth/modules/help/help.py:57
+#: plinth/modules/dynamicdns/views.py:41 plinth/modules/help/help.py:59
msgid "About"
msgstr "Over"
-#: plinth/modules/dynamicdns/views.py:47
+#: plinth/modules/dynamicdns/views.py:49
#: plinth/modules/firewall/templates/firewall.html:25
#: plinth/modules/firewall/templates/firewall.html:45
#: plinth/modules/i2p/templates/i2p.html:27
#: plinth/modules/networks/templates/connection_show.html:261
#: plinth/modules/openvpn/templates/openvpn.html:71
#: plinth/modules/tor/templates/tor.html:40
-#: plinth/modules/tor/templates/tor.html:68 plinth/templates/service.html:51
+#: plinth/modules/tor/templates/tor.html:68 plinth/templates/app.html:51
msgid "Status"
msgstr "Status"
-#: plinth/modules/dynamicdns/views.py:78
+#: plinth/modules/dynamicdns/views.py:80
msgid "Configure Dynamic DNS"
msgstr "Instellen Dynamic DNS"
-#: plinth/modules/dynamicdns/views.py:103
+#: plinth/modules/dynamicdns/views.py:105
msgid "Dynamic DNS Status"
msgstr "Dynamische DNS-Status"
-#: plinth/modules/ejabberd/__init__.py:43
+#: plinth/modules/ejabberd/__init__.py:45
msgid "ejabberd"
msgstr "ejabberd"
-#: plinth/modules/ejabberd/__init__.py:45
-#: plinth/modules/matrixsynapse/__init__.py:43
+#: plinth/modules/ejabberd/__init__.py:47
+#: plinth/modules/matrixsynapse/__init__.py:45
msgid "Chat Server"
msgstr "Chatserver"
-#: plinth/modules/ejabberd/__init__.py:48
+#: plinth/modules/ejabberd/__init__.py:50
msgid ""
"XMPP is an open and standardized communication protocol. Here you can run "
"and configure your XMPP server, called ejabberd."
@@ -1238,7 +1249,7 @@ msgstr ""
"XMPP is een open en gestandaardiseerd communicatie protocol. Hiermee kan een "
"XMPP server met de naam ejabberd worden ingesteld."
-#: plinth/modules/ejabberd/__init__.py:51
+#: plinth/modules/ejabberd/__init__.py:53
#, fuzzy, python-brace-format
#| msgid ""
#| "To actually communicate, you can use the web "
@@ -1257,11 +1268,11 @@ msgstr ""
"kan elke gebruiker van {box_name} daartoe "
"toegang krijgen."
-#: plinth/modules/ejabberd/forms.py:33
+#: plinth/modules/ejabberd/forms.py:32
msgid "Enable Message Archive Management"
msgstr "Inschakelen Berichten Archief Management"
-#: plinth/modules/ejabberd/forms.py:36
+#: plinth/modules/ejabberd/forms.py:34
#, python-brace-format
msgid ""
"If enabled, your {box_name} will store chat message histories. This allows "
@@ -1343,35 +1354,23 @@ msgstr "Start web cliënt"
#: plinth/modules/openvpn/templates/openvpn.html:123
#: plinth/modules/snapshot/templates/snapshot.html:27
#: plinth/modules/tahoe/templates/tahoe-post-setup.html:43
-#: plinth/modules/tor/templates/tor.html:88 plinth/templates/service.html:81
+#: plinth/modules/tor/templates/tor.html:88 plinth/templates/app.html:81
msgid "Configuration"
msgstr "Configuratie"
-#: plinth/modules/ejabberd/views.py:68
-#: plinth/modules/matrixsynapse/views.py:111
-#: plinth/modules/mediawiki/views.py:79 plinth/views.py:164
-msgid "Application enabled"
-msgstr "Toepassing ingeschakeld"
-
-#: plinth/modules/ejabberd/views.py:71
-#: plinth/modules/matrixsynapse/views.py:114
-#: plinth/modules/mediawiki/views.py:82 plinth/views.py:167
-msgid "Application disabled"
-msgstr "Toepassing uitgeschakeld"
-
-#: plinth/modules/ejabberd/views.py:78
+#: plinth/modules/ejabberd/views.py:77
msgid "Message Archive Management enabled"
msgstr "Berichten Archief Management aangezet"
-#: plinth/modules/ejabberd/views.py:82
+#: plinth/modules/ejabberd/views.py:81
msgid "Message Archive Management disabled"
msgstr "Berichten Archief Management uitgezet"
-#: plinth/modules/firewall/__init__.py:40
+#: plinth/modules/firewall/__init__.py:36
msgid "Firewall"
msgstr "Firewall"
-#: plinth/modules/firewall/__init__.py:44
+#: plinth/modules/firewall/__init__.py:40
#, python-brace-format
msgid ""
"Firewall is a security system that controls the incoming and outgoing "
@@ -1492,29 +1491,29 @@ msgstr "Setup starten"
msgid "Setup Complete"
msgstr "Instelling voltooid"
-#: plinth/modules/help/help.py:44
+#: plinth/modules/help/help.py:46
msgid "Documentation"
msgstr "Documentatie"
-#: plinth/modules/help/help.py:48 plinth/modules/networks/forms.py:68
+#: plinth/modules/help/help.py:50 plinth/modules/networks/forms.py:68
#: plinth/modules/networks/forms.py:108 plinth/templates/index.html:135
msgid "Manual"
msgstr "Handmatig"
-#: plinth/modules/help/help.py:53
+#: plinth/modules/help/help.py:55
msgid "Download Manual"
msgstr "Download Handleiding"
-#: plinth/modules/help/help.py:73
+#: plinth/modules/help/help.py:75
msgid "Documentation and FAQ"
msgstr "Documentatie en veelgestelde vragen"
-#: plinth/modules/help/help.py:81
+#: plinth/modules/help/help.py:83
#, python-brace-format
msgid "About {box_name}"
msgstr "Over {box_name}"
-#: plinth/modules/help/help.py:102
+#: plinth/modules/help/help.py:104
#, python-brace-format
msgid "{box_name} Manual"
msgstr "{box_name} Handleiding"
@@ -1672,15 +1671,15 @@ msgstr ""
"Verwijder alle wachtwoorden of andere persoonlijke gegevens uit het logboek "
"voor het foutrapport verstuurd wordt."
-#: plinth/modules/i2p/__init__.py:40 plinth/modules/i2p/manifest.py:31
+#: plinth/modules/i2p/__init__.py:42 plinth/modules/i2p/manifest.py:31
msgid "I2P"
msgstr ""
-#: plinth/modules/i2p/__init__.py:42 plinth/modules/tor/__init__.py:45
+#: plinth/modules/i2p/__init__.py:44 plinth/modules/tor/__init__.py:48
msgid "Anonymity Network"
msgstr "Anonimiteitsnetwerk"
-#: plinth/modules/i2p/__init__.py:45
+#: plinth/modules/i2p/__init__.py:47
msgid ""
"The Invisible Internet Project is an anonymous network layer intended to "
"protect communication from censorship and surveillance. I2P provides "
@@ -1688,7 +1687,7 @@ msgid ""
"distributed around the world."
msgstr ""
-#: plinth/modules/i2p/__init__.py:49
+#: plinth/modules/i2p/__init__.py:51
#, fuzzy
#| msgid ""
#| "For more information about the %(box_name)s project, see the %(box_name)s Wiki."
-#: plinth/modules/i2p/__init__.py:51
+#: plinth/modules/i2p/__init__.py:53
msgid ""
"The first visit to the provided web interface will initiate the "
"configuration process."
msgstr ""
-#: plinth/modules/i2p/__init__.py:57
+#: plinth/modules/i2p/__init__.py:59
#, fuzzy
#| msgid "Enable application"
msgid "Manage I2P application"
msgstr "Toepassing inschakelen"
-#: plinth/modules/i2p/templates/i2p.html:32 plinth/templates/service.html:56
+#: plinth/modules/i2p/templates/i2p.html:32 plinth/templates/app.html:56
#, python-format
msgid "Service %(service_name)s is running."
msgstr "Service %(service_name)s wordt uitgevoerd."
-#: plinth/modules/i2p/templates/i2p.html:37 plinth/templates/service.html:61
+#: plinth/modules/i2p/templates/i2p.html:37 plinth/templates/app.html:61
#, python-format
msgid "Service %(service_name)s is not running."
msgstr "Service %(service_name)s is niet actief."
-#: plinth/modules/i2p/templates/i2p_service.html:13
+#: plinth/modules/i2p/templates/i2p_service.html:31
#: plinth/templates/clients.html:51
msgid "Launch"
msgstr "Starten"
@@ -1735,43 +1734,43 @@ msgstr ""
msgid "Anonymous torrents"
msgstr ""
-#: plinth/modules/i2p/views.py:86
+#: plinth/modules/i2p/views.py:88
msgid "I2P Proxies and Tunnels"
msgstr ""
-#: plinth/modules/i2p/views.py:89
+#: plinth/modules/i2p/views.py:91
msgid ""
"I2P lets you browse the Internet and hidden services (eepsites) anonymously. "
"For this, your browser, preferably a Tor Browser, needs to be configured for "
"a proxy."
msgstr ""
-#: plinth/modules/i2p/views.py:92
+#: plinth/modules/i2p/views.py:94
msgid ""
"By default HTTP, HTTPS and IRC proxies are available. Additional proxies and "
"tunnels may be configured using the tunnel configuration interface."
msgstr ""
-#: plinth/modules/i2p/views.py:101
+#: plinth/modules/i2p/views.py:103
msgid "Anonymous Torrents"
msgstr ""
-#: plinth/modules/i2p/views.py:104
+#: plinth/modules/i2p/views.py:106
msgid ""
"I2P provides an application to download files anonymously in a peer-to-peer "
"network. Download files by adding torrents or create a new torrent to share "
"a file."
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:42 plinth/modules/ikiwiki/manifest.py:24
+#: plinth/modules/ikiwiki/__init__.py:41 plinth/modules/ikiwiki/manifest.py:24
msgid "ikiwiki"
msgstr "ikiwiki"
-#: plinth/modules/ikiwiki/__init__.py:44
+#: plinth/modules/ikiwiki/__init__.py:43
msgid "Wiki and Blog"
msgstr "Wiki en Blog"
-#: plinth/modules/ikiwiki/__init__.py:47
+#: plinth/modules/ikiwiki/__init__.py:46
msgid ""
"ikiwiki is a simple wiki and blog application. It supports several "
"lightweight markup languages, including Markdown, and common blogging "
@@ -1784,7 +1783,7 @@ msgstr ""
"ingeschakeld, zijn de blogs en wiki's beschikbaar op /"
"ikiwiki (indien gemaakt)."
-#: plinth/modules/ikiwiki/__init__.py:53
+#: plinth/modules/ikiwiki/__init__.py:52
#, python-brace-format
msgid ""
"Only {box_name} users in the admin group can create and "
@@ -1798,7 +1797,7 @@ msgstr ""
"Configuratie kan je deze instellingen wijzigen en nieuwe gebruikers "
"registreren."
-#: plinth/modules/ikiwiki/__init__.py:63
+#: plinth/modules/ikiwiki/__init__.py:62
msgid "View and edit wiki applications"
msgstr "Bekijken en bewerken van wiki toepassingen"
@@ -1868,51 +1867,51 @@ msgstr "Ga naar site %(site)s"
msgid "Manage"
msgstr "Instellen"
-#: plinth/modules/ikiwiki/views.py:121
+#: plinth/modules/ikiwiki/views.py:124
#, python-brace-format
msgid "Created wiki {name}."
msgstr "Wiki {name} gemaakt."
-#: plinth/modules/ikiwiki/views.py:124
+#: plinth/modules/ikiwiki/views.py:127
#, python-brace-format
msgid "Could not create wiki: {error}"
msgstr "Kan wiki niet aanmaken: {error}"
-#: plinth/modules/ikiwiki/views.py:134
+#: plinth/modules/ikiwiki/views.py:137
#, python-brace-format
msgid "Created blog {name}."
msgstr "Blog {name} gemaakt."
-#: plinth/modules/ikiwiki/views.py:137
+#: plinth/modules/ikiwiki/views.py:140
#, python-brace-format
msgid "Could not create blog: {error}"
msgstr "Kan blog niet aanmaken: {error}"
-#: plinth/modules/ikiwiki/views.py:150
+#: plinth/modules/ikiwiki/views.py:153
#, python-brace-format
msgid "{name} deleted."
msgstr "{name} verwijderd."
-#: plinth/modules/ikiwiki/views.py:154
+#: plinth/modules/ikiwiki/views.py:157
#, python-brace-format
msgid "Could not delete {name}: {error}"
msgstr "Verwijderen van {name} mislukt: {error}"
-#: plinth/modules/infinoted/__init__.py:41
+#: plinth/modules/infinoted/__init__.py:40
msgid "infinoted"
msgstr "infinoted"
-#: plinth/modules/infinoted/__init__.py:43
+#: plinth/modules/infinoted/__init__.py:42
msgid "Gobby Server"
msgstr "Gobby Server"
-#: plinth/modules/infinoted/__init__.py:46
+#: plinth/modules/infinoted/__init__.py:45
msgid "infinoted is a server for Gobby, a collaborative text editor."
msgstr ""
"infinoted is een server voor Gobby, een tekst-editor voor gezamenlijk "
"gebruik."
-#: plinth/modules/infinoted/__init__.py:48
+#: plinth/modules/infinoted/__init__.py:47
#, python-brace-format
msgid ""
"To use it, download Gobby, desktop "
@@ -2359,11 +2358,11 @@ msgstr "Certificaat met succes verwijderd voor domein {domain}"
msgid "Failed to delete certificate for domain {domain}: {error}"
msgstr "Verwijderen certificaat voor domein {domain} mislukt: {error}"
-#: plinth/modules/matrixsynapse/__init__.py:41
+#: plinth/modules/matrixsynapse/__init__.py:43
msgid "Matrix Synapse"
msgstr "Matrix Synapse"
-#: plinth/modules/matrixsynapse/__init__.py:46
+#: plinth/modules/matrixsynapse/__init__.py:48
msgid ""
"Matrix is an new "
"ecosystem for open, federated instant messaging and VoIP. Synapse is a "
@@ -2380,7 +2379,7 @@ msgstr ""
"Matrix server kunnen gesprekken aangaan met gebruikers op alle andere Matrix "
"servers door federatie (gedecentraliseerd netwerk)."
-#: plinth/modules/matrixsynapse/__init__.py:53
+#: plinth/modules/matrixsynapse/__init__.py:55
msgid ""
"To communicate, you can use the available clients for mobile, desktop and the web. Speciaal:GebruikerRegistreren pagina."
-#: plinth/modules/mediawiki/__init__.py:49
+#: plinth/modules/mediawiki/__init__.py:53
msgid ""
"Anyone with a link to this wiki can read it. Only users that are logged in "
"can make changes to the content."
@@ -2558,32 +2557,32 @@ msgstr ""
msgid "Password updated"
msgstr "Wachtwoord bijgewerkt"
-#: plinth/modules/mediawiki/views.py:91
+#: plinth/modules/mediawiki/views.py:89
msgid "Public registrations enabled"
msgstr "Openbare registraties ingeschakeld"
-#: plinth/modules/mediawiki/views.py:100
+#: plinth/modules/mediawiki/views.py:98
msgid "Public registrations disabled"
msgstr "Openbare registraties uitgeschakeld"
-#: plinth/modules/mediawiki/views.py:109
+#: plinth/modules/mediawiki/views.py:107
msgid "Private mode enabled"
msgstr "Privé-modus ingeschakeld"
-#: plinth/modules/mediawiki/views.py:112
+#: plinth/modules/mediawiki/views.py:110
msgid "Private mode disabled"
msgstr "Privé-modus uitgeschakeld"
-#: plinth/modules/minetest/__init__.py:53
+#: plinth/modules/minetest/__init__.py:52
#: plinth/modules/minetest/manifest.py:25
msgid "Minetest"
msgstr "Minetest"
-#: plinth/modules/minetest/__init__.py:55
+#: plinth/modules/minetest/__init__.py:54
msgid "Block Sandbox"
msgstr "Block Sandbox"
-#: plinth/modules/minetest/__init__.py:59
+#: plinth/modules/minetest/__init__.py:58
#, python-brace-format
msgid ""
"Minetest is a multiplayer infinite-world block sandbox. This module enables "
@@ -2596,22 +2595,22 @@ msgstr ""
"standaardpoort (30000). Voor de verbinding met de server is een Minetest client nodig."
-#: plinth/modules/minetest/forms.py:31
+#: plinth/modules/minetest/forms.py:30
msgid "Maximum number of players"
msgstr "Maximum aantal spelers"
-#: plinth/modules/minetest/forms.py:35
+#: plinth/modules/minetest/forms.py:32
msgid ""
"You can change the maximum number of players playing minetest at a single "
"instance of time."
msgstr ""
"U kunt het maximum aantal spelers dat minetest tegelijk kan spelen instellen."
-#: plinth/modules/minetest/forms.py:39
+#: plinth/modules/minetest/forms.py:36
msgid "Enable creative mode"
msgstr "Creatieve modus inschakelen"
-#: plinth/modules/minetest/forms.py:41
+#: plinth/modules/minetest/forms.py:37
msgid ""
"Creative mode changes the rules of the game to make it more suitable for "
"creative gameplay, rather than challenging \"survival\" gameplay."
@@ -2620,21 +2619,21 @@ msgstr ""
"maken voor creatief gebruik, in plaats van de uitdagingen van de "
"\"overlevings\" modus."
-#: plinth/modules/minetest/forms.py:46
+#: plinth/modules/minetest/forms.py:42
msgid "Enable PVP"
msgstr "Schakel PVP in"
-#: plinth/modules/minetest/forms.py:48
+#: plinth/modules/minetest/forms.py:43
msgid "Enabling Player Vs Player will allow players to damage other players."
msgstr ""
"Door Player Vs Player in te schakelen kunnen spelers andere spelers schade "
"toebrengen."
-#: plinth/modules/minetest/forms.py:52
+#: plinth/modules/minetest/forms.py:47
msgid "Enable damage"
msgstr "Inschakelen Schade"
-#: plinth/modules/minetest/forms.py:54
+#: plinth/modules/minetest/forms.py:48
msgid "When disabled, players cannot die or receive damage of any kind."
msgstr "Indien uitgeschakeld, kunnen spelers niet sterven of schade oplopen."
@@ -2648,56 +2647,56 @@ msgstr "Adres"
msgid "Port"
msgstr "Poort"
-#: plinth/modules/minetest/views.py:71
+#: plinth/modules/minetest/views.py:72
msgid "Maximum players configuration updated"
msgstr "Instelling maximum aantal spelers bijgewerkt"
-#: plinth/modules/minetest/views.py:78
+#: plinth/modules/minetest/views.py:79
msgid "Creative mode configuration updated"
msgstr "Instelling Creatieve modus bijgewerkt"
-#: plinth/modules/minetest/views.py:84
+#: plinth/modules/minetest/views.py:85
msgid "PVP configuration updated"
msgstr "Instelling PVP bijgewerkt"
-#: plinth/modules/minetest/views.py:90
+#: plinth/modules/minetest/views.py:91
msgid "Damage configuration updated"
msgstr "Instelling schade bijgewerkt"
-#: plinth/modules/mldonkey/__init__.py:38
+#: plinth/modules/mldonkey/__init__.py:40
#: plinth/modules/mldonkey/manifest.py:27
#, fuzzy
#| msgid "Monkeysphere"
msgid "MLDonkey"
msgstr "Monkeysphere"
-#: plinth/modules/mldonkey/__init__.py:40
+#: plinth/modules/mldonkey/__init__.py:42
#, fuzzy
#| msgid "File Sharing"
msgid "Peer-to-peer File Sharing"
msgstr "Delen van bestanden"
-#: plinth/modules/mldonkey/__init__.py:43
+#: plinth/modules/mldonkey/__init__.py:45
msgid ""
"MLDonkey is a peer-to-peer file sharing application used to exchange large "
"files. It can participate in multiple peer-to-peer networks including "
"eDonkey, Kademlia, Overnet, BitTorrent and DirectConnect."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:46
+#: plinth/modules/mldonkey/__init__.py:48
msgid ""
"Users belonging to admin and ed2k group can control it through the web "
"interface. Users in the admin group can also control it through any of the "
"separate mobile or desktop front-ends or a telnet interface. See manual."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:51
+#: plinth/modules/mldonkey/__init__.py:53
#, python-brace-format
msgid ""
"On {box_name}, downloaded files can be found in /var/lib/mldonkey/ directory."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:59
+#: plinth/modules/mldonkey/__init__.py:61
#, fuzzy
#| msgid "Download files using BitTorrent applications"
msgid "Download files using eDonkey applications"
@@ -2785,12 +2784,6 @@ msgstr "OpenPGP Vingerafdruk"
msgid "Secure Shell"
msgstr "Secure Shell"
-#: plinth/modules/monkeysphere/templates/monkeysphere.html:88
-#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:60
-#: plinth/service.py:138
-msgid "Web Server"
-msgstr "Webserver"
-
#: plinth/modules/monkeysphere/templates/monkeysphere.html:90
#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:62
msgid "Other"
@@ -2886,15 +2879,15 @@ msgstr "Sleutel gepubliceerd op keyserver."
msgid "Error occurred while publishing key."
msgstr "Er is een fout opgetreden tijdens het publiceren van de sleutel."
-#: plinth/modules/mumble/__init__.py:34 plinth/modules/mumble/manifest.py:27
+#: plinth/modules/mumble/__init__.py:35 plinth/modules/mumble/manifest.py:27
msgid "Mumble"
msgstr "Mumble"
-#: plinth/modules/mumble/__init__.py:36
+#: plinth/modules/mumble/__init__.py:37
msgid "Voice Chat"
msgstr "Voice Chat"
-#: plinth/modules/mumble/__init__.py:45
+#: plinth/modules/mumble/__init__.py:44
msgid ""
"Mumble is an open source, low-latency, encrypted, high quality voice chat "
"software."
@@ -2902,7 +2895,7 @@ msgstr ""
"Mumble is een Open Source, snelle, versleutelde, hoge kwaliteit "
"groepsgespreksserver."
-#: plinth/modules/mumble/__init__.py:47
+#: plinth/modules/mumble/__init__.py:46
msgid ""
"You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your "
@@ -2954,7 +2947,7 @@ msgstr "Niet Beschikbaar"
msgid "Networks"
msgstr "Netwerken"
-#: plinth/modules/networks/__init__.py:142
+#: plinth/modules/networks/__init__.py:144
#, python-brace-format
msgid "Using DNSSEC on IPv{kind}"
msgstr "Gebruikt DNSSEC op IPv{kind}"
@@ -3411,7 +3404,7 @@ msgstr "IPv4"
#: plinth/modules/networks/templates/connection_show.html:186
#: plinth/modules/networks/templates/connection_show.html:227
-#: plinth/modules/shadowsocks/forms.py:75
+#: plinth/modules/shadowsocks/forms.py:65
msgid "Method"
msgstr "Methode"
@@ -3544,15 +3537,15 @@ msgstr "Inactief"
msgid "Create..."
msgstr "Maak..."
-#: plinth/modules/openvpn/__init__.py:40
+#: plinth/modules/openvpn/__init__.py:39
msgid "OpenVPN"
msgstr "OpenVPN"
-#: plinth/modules/openvpn/__init__.py:42
+#: plinth/modules/openvpn/__init__.py:41
msgid "Virtual Private Network"
msgstr "Virtual Private Network"
-#: plinth/modules/openvpn/__init__.py:46
+#: plinth/modules/openvpn/__init__.py:45
#, python-brace-format
msgid ""
"Virtual Private Network (VPN) is a technique for securely connecting two "
@@ -3570,7 +3563,7 @@ msgstr ""
"mogelijk om de rest van het internetgebruik via {box_name} te leiden, voor "
"meer veiligheid en anonimiteit."
-#: plinth/modules/openvpn/__init__.py:74
+#: plinth/modules/openvpn/__init__.py:75
#, python-brace-format
msgid ""
"Download Profile"
@@ -3655,11 +3648,11 @@ msgstr "OpenVPN server draait"
msgid "OpenVPN server is not running"
msgstr "OpenVPN server draait niet"
-#: plinth/modules/openvpn/views.py:128
+#: plinth/modules/openvpn/views.py:126
msgid "Setup completed."
msgstr "Instelling voltooid."
-#: plinth/modules/openvpn/views.py:130
+#: plinth/modules/openvpn/views.py:128
msgid "Setup failed."
msgstr "Instelling mislukt."
@@ -3746,7 +3739,7 @@ msgstr ""
"Selecteer een pagekite server. Gebruik \"pagekite.net\" om de standaard "
"pagekite.net server te gebruiken."
-#: plinth/modules/pagekite/forms.py:78 plinth/modules/shadowsocks/forms.py:64
+#: plinth/modules/pagekite/forms.py:78 plinth/modules/shadowsocks/forms.py:57
msgid "Server port"
msgstr "Serverpoort"
@@ -3961,31 +3954,31 @@ msgstr ""
msgid "Save Services"
msgstr "Diensten opslaan"
-#: plinth/modules/pagekite/utils.py:53
+#: plinth/modules/pagekite/utils.py:57
msgid "Web Server (HTTP)"
msgstr "Webserver (HTTP)"
-#: plinth/modules/pagekite/utils.py:54
+#: plinth/modules/pagekite/utils.py:59
#, python-brace-format
msgid "Site will be available at http://{0}"
msgstr ""
"De website zal beschikbaar zijn op http://{0}"
-#: plinth/modules/pagekite/utils.py:63
+#: plinth/modules/pagekite/utils.py:71
msgid "Web Server (HTTPS)"
msgstr "Webserver (HTTPS)"
-#: plinth/modules/pagekite/utils.py:64
+#: plinth/modules/pagekite/utils.py:73
#, python-brace-format
msgid "Site will be available at https://{0}"
msgstr ""
"De website zal beschikbaar zijn op https://{0}"
-#: plinth/modules/pagekite/utils.py:73
+#: plinth/modules/pagekite/utils.py:85
msgid "Secure Shell (SSH)"
msgstr "Secure Shell (SSH)"
-#: plinth/modules/pagekite/utils.py:74
+#: plinth/modules/pagekite/utils.py:87
msgid ""
"See SSH client setup instructions"
@@ -3993,19 +3986,19 @@ msgstr ""
"Zie de SSH cliënt setup instructies (Engelstalig)"
-#: plinth/modules/pagekite/utils.py:276
+#: plinth/modules/pagekite/utils.py:288
msgid "Pagekite"
msgstr "PageKite"
-#: plinth/modules/pagekite/views.py:39
+#: plinth/modules/pagekite/views.py:40
msgid "Standard Services"
msgstr "Standaard Diensten"
-#: plinth/modules/pagekite/views.py:42
+#: plinth/modules/pagekite/views.py:44
msgid "Custom Services"
msgstr "Aangepaste Diensten"
-#: plinth/modules/pagekite/views.py:156
+#: plinth/modules/pagekite/views.py:158
msgid "Pagekite setup finished. The HTTP and HTTPS services are activated now."
msgstr ""
"Pagekite setup voltooid. De HTTP- en HTTPS-services zijn nu geactiveerd."
@@ -4077,15 +4070,15 @@ msgstr ""
msgid "Shut Down Now"
msgstr "Nu Uitschakelen"
-#: plinth/modules/privoxy/__init__.py:41
+#: plinth/modules/privoxy/__init__.py:42
msgid "Privoxy"
msgstr "Privoxy"
-#: plinth/modules/privoxy/__init__.py:43
+#: plinth/modules/privoxy/__init__.py:44
msgid "Web Proxy"
msgstr "Web Proxy"
-#: plinth/modules/privoxy/__init__.py:46
+#: plinth/modules/privoxy/__init__.py:47
msgid ""
"Privoxy is a non-caching web proxy with advanced filtering capabilities for "
"enhancing privacy, modifying web page data and HTTP headers, controlling "
@@ -4095,7 +4088,7 @@ msgstr ""
"om privacy te verhogen, webpagina data en HTTP headers te wijzigen, toegang "
"te controleren, en advertenties en andere rommel te weren. "
-#: plinth/modules/privoxy/__init__.py:51
+#: plinth/modules/privoxy/__init__.py:52
#, python-brace-format
msgid ""
"You can use Privoxy by modifying your browser proxy settings to your "
@@ -4110,20 +4103,20 @@ msgstr ""
"href=\"http://config.privoxy.org\">http://config.privoxy.org/ of http://p.p."
-#: plinth/modules/privoxy/__init__.py:157
+#: plinth/modules/privoxy/__init__.py:142
#, python-brace-format
msgid "Access {url} with proxy {proxy} on tcp{kind}"
msgstr "Gebruik {url} via proxy {proxy} op tcp{kind}"
-#: plinth/modules/quassel/__init__.py:41 plinth/modules/quassel/manifest.py:25
+#: plinth/modules/quassel/__init__.py:40 plinth/modules/quassel/manifest.py:25
msgid "Quassel"
msgstr "Quassel"
-#: plinth/modules/quassel/__init__.py:43
+#: plinth/modules/quassel/__init__.py:42
msgid "IRC Client"
msgstr "IRC Cliënt"
-#: plinth/modules/quassel/__init__.py:47
+#: plinth/modules/quassel/__init__.py:46
#, python-brace-format
msgid ""
"Quassel is an IRC application that is split into two parts, a \"core\" and a "
@@ -4141,7 +4134,7 @@ msgstr ""
"telefoon kunnen worden gebruikt om te verbinden of de verbinding te "
"verbreken."
-#: plinth/modules/quassel/__init__.py:54
+#: plinth/modules/quassel/__init__.py:53
msgid ""
"You can connect to your Quassel core on the default Quassel port 4242. "
"Clients to connect to Quassel from your Jitsi (for computers) and "
"CSipSimple (voor Android-telefoons)."
-#: plinth/modules/repro/__init__.py:53
+#: plinth/modules/repro/__init__.py:55
msgid ""
"Note: Before using repro, domains and users will need to "
"be configured using the web-based "
@@ -4346,15 +4339,15 @@ msgstr ""
msgid "CSipSimple"
msgstr "CSipSimple"
-#: plinth/modules/restore/__init__.py:36 plinth/modules/restore/manifest.py:23
+#: plinth/modules/restore/__init__.py:37 plinth/modules/restore/manifest.py:23
msgid "reStore"
msgstr "reStore"
-#: plinth/modules/restore/__init__.py:38
+#: plinth/modules/restore/__init__.py:39
msgid "Unhosted Storage"
msgstr "Unhosted dataopslag"
-#: plinth/modules/restore/__init__.py:42
+#: plinth/modules/restore/__init__.py:43
#, python-brace-format
msgid ""
"reStore is a server for unhosted web "
@@ -4369,7 +4362,7 @@ msgstr ""
"unhosted storage server naar keuze van de gebruiker worden geplaatst. Met "
"reStore kan {box_name} een unhosted storage server worden."
-#: plinth/modules/restore/__init__.py:48
+#: plinth/modules/restore/__init__.py:49
msgid ""
"You can create and edit accounts in the reStore web-"
"interface."
@@ -4377,16 +4370,16 @@ msgstr ""
"Gebruikersaccounts kunnen worden aangemaakt en bewerkt met de reStore web-interface."
-#: plinth/modules/roundcube/__init__.py:34
+#: plinth/modules/roundcube/__init__.py:35
#: plinth/modules/roundcube/manifest.py:24
msgid "Roundcube"
msgstr "Roundcube"
-#: plinth/modules/roundcube/__init__.py:36
+#: plinth/modules/roundcube/__init__.py:37
msgid "Email Client"
msgstr "Email Cliënt"
-#: plinth/modules/roundcube/__init__.py:39
+#: plinth/modules/roundcube/__init__.py:40
msgid ""
"Roundcube webmail is a browser-based multilingual IMAP client with an "
"application-like user interface. It provides full functionality you expect "
@@ -4398,7 +4391,7 @@ msgstr ""
"van een email applicatie verwacht, inclusief MIME ondersteuning, een "
"adresboek, het beheren van mappen, zoeken in berichten en spellingscontrole."
-#: plinth/modules/roundcube/__init__.py:44
+#: plinth/modules/roundcube/__init__.py:45
msgid ""
"You can access Roundcube from /roundcube. Provide "
"the username and password of the email account you wish to access followed "
@@ -4413,7 +4406,7 @@ msgstr ""
"(aanbevolen): vul het serverveld in, bijvoorbeeld imaps://imap.example."
"com."
-#: plinth/modules/roundcube/__init__.py:50
+#: plinth/modules/roundcube/__init__.py:51
msgid ""
"For Gmail, username will be your Gmail address, password will be your Google "
"account password and server will be imaps://imap.gmail.com. "
@@ -4485,12 +4478,12 @@ msgstr ""
msgid "Allow this application to be used by anyone who can reach it."
msgstr ""
-#: plinth/modules/searx/views.py:60 plinth/modules/searx/views.py:71
-#: plinth/modules/tor/views.py:139 plinth/modules/tor/views.py:168
+#: plinth/modules/searx/views.py:59 plinth/modules/searx/views.py:70
+#: plinth/modules/tor/views.py:141 plinth/modules/tor/views.py:168
msgid "Configuration updated."
msgstr "Configuratie bijgewerkt."
-#: plinth/modules/searx/views.py:63 plinth/modules/searx/views.py:74
+#: plinth/modules/searx/views.py:62 plinth/modules/searx/views.py:73
#: plinth/modules/tor/views.py:170
msgid "An error occurred during configuration."
msgstr "Er is een fout opgetreden tijdens de configuratie."
@@ -4553,15 +4546,15 @@ msgstr ""
"shaarli link. Houd er rekening mee dat Shaarli maar een gebruiker "
"ondersteunt, die moet worden ingesteld bij het eerste gebruik."
-#: plinth/modules/shadowsocks/__init__.py:34
+#: plinth/modules/shadowsocks/__init__.py:35
msgid "Shadowsocks"
msgstr "Shadowsocks"
-#: plinth/modules/shadowsocks/__init__.py:36
+#: plinth/modules/shadowsocks/__init__.py:37
msgid "Socks5 Proxy"
msgstr "Socks5 Proxy"
-#: plinth/modules/shadowsocks/__init__.py:45
+#: plinth/modules/shadowsocks/__init__.py:44
msgid ""
"Shadowsocks is a lightweight and secure SOCKS5 proxy, designed to protect "
"your Internet traffic. It can be used to bypass Internet filtering and "
@@ -4571,7 +4564,7 @@ msgstr ""
"te beschermen. Het kan gebruikt worden om censuur en het filteren van "
"Internet te omzeilen."
-#: plinth/modules/shadowsocks/__init__.py:49
+#: plinth/modules/shadowsocks/__init__.py:48
#, python-brace-format
msgid ""
"Your {box_name} can run a Shadowsocks client, that can connect to a "
@@ -4584,7 +4577,7 @@ msgstr ""
"Apparaten in het lokale netwerk kunnen met deze proxy verbinden, en hun data "
"zal versleuteld via de Shadowsocks server verstuurd worden."
-#: plinth/modules/shadowsocks/__init__.py:54
+#: plinth/modules/shadowsocks/__init__.py:53
msgid ""
"To use Shadowsocks after setup, set the SOCKS5 proxy URL in your device, "
"browser or application to http://freedombox_address:1080/"
@@ -4593,30 +4586,30 @@ msgstr ""
"proxy in op uw apparaat, webbrowser of applicatie naar http://"
"adres_van_uw_freedombox:1080/"
+#: plinth/modules/shadowsocks/forms.py:28
#: plinth/modules/shadowsocks/forms.py:29
-#: plinth/modules/shadowsocks/forms.py:30
msgid "Recommended"
msgstr "Aanbevolen"
-#: plinth/modules/shadowsocks/forms.py:60
+#: plinth/modules/shadowsocks/forms.py:54
msgid "Server"
msgstr "Server"
-#: plinth/modules/shadowsocks/forms.py:61
+#: plinth/modules/shadowsocks/forms.py:54
msgid "Server hostname or IP address"
msgstr "Server hostnaam of IP adres"
-#: plinth/modules/shadowsocks/forms.py:67
+#: plinth/modules/shadowsocks/forms.py:58
msgid "Server port number"
msgstr "Server poortnummer"
-#: plinth/modules/shadowsocks/forms.py:71
+#: plinth/modules/shadowsocks/forms.py:61
msgid "Password used to encrypt data. Must match server password."
msgstr ""
"Wachtwoord dat wordt gebruikt om gegevens te coderen. Moet overeenkomen met "
"serverwachtwoord."
-#: plinth/modules/shadowsocks/forms.py:77
+#: plinth/modules/shadowsocks/forms.py:66
msgid "Encryption method. Must match setting on server."
msgstr "Encryptie methode. Moet overeenkomen met de instelling van de server."
@@ -4902,7 +4895,7 @@ msgstr "Gemaakte snapshot."
msgid "Storage snapshots configuration updated"
msgstr "Opslag van Snapshots configuratie is bijgewerkt"
-#: plinth/modules/snapshot/views.py:153 plinth/modules/tor/views.py:72
+#: plinth/modules/snapshot/views.py:153 plinth/modules/tor/views.py:73
#, python-brace-format
msgid "Action error: {0} [{1}] [{2}]"
msgstr "Actiefout: {0} [{1}] [{2}]"
@@ -4937,11 +4930,11 @@ msgstr ""
msgid "Rollback to Snapshot"
msgstr "Terugdraaien naar Snapshot"
-#: plinth/modules/ssh/__init__.py:39
+#: plinth/modules/ssh/__init__.py:40
msgid "Secure Shell (SSH) Server"
msgstr "Secure Shell (SSH) Server"
-#: plinth/modules/ssh/__init__.py:42
+#: plinth/modules/ssh/__init__.py:43
msgid ""
"A Secure Shell server uses the secure shell protocol to accept connections "
"from remote computers. An authorized remote computer can perform "
@@ -4961,11 +4954,11 @@ msgstr "Eenmalige aanmelding"
msgid "Login"
msgstr "Aanmelding"
-#: plinth/modules/storage/__init__.py:36 plinth/modules/storage/views.py:53
+#: plinth/modules/storage/__init__.py:35 plinth/modules/storage/views.py:53
msgid "Storage"
msgstr "Storage"
-#: plinth/modules/storage/__init__.py:44
+#: plinth/modules/storage/__init__.py:43
#, python-brace-format
msgid ""
"This module allows you to manage storage media attached to your {box_name}. "
@@ -4973,86 +4966,86 @@ msgid ""
"media, expand the root partition etc."
msgstr ""
-#: plinth/modules/storage/__init__.py:211
+#: plinth/modules/storage/__init__.py:213
#, python-brace-format
msgid "{disk_size:.1f} bytes"
msgstr "{disk_size:.1f} bytes"
-#: plinth/modules/storage/__init__.py:215
+#: plinth/modules/storage/__init__.py:217
#, python-brace-format
msgid "{disk_size:.1f} KiB"
msgstr "{disk_size:.1f} KiB"
-#: plinth/modules/storage/__init__.py:219
+#: plinth/modules/storage/__init__.py:221
#, python-brace-format
msgid "{disk_size:.1f} MiB"
msgstr "{disk_size:.1f} MiB"
-#: plinth/modules/storage/__init__.py:223
+#: plinth/modules/storage/__init__.py:225
#, python-brace-format
msgid "{disk_size:.1f} GiB"
msgstr "{disk_size:.1f} GiB"
-#: plinth/modules/storage/__init__.py:226
+#: plinth/modules/storage/__init__.py:228
#, python-brace-format
msgid "{disk_size:.1f} TiB"
msgstr "{disk_size:.1f} TiB"
-#: plinth/modules/storage/__init__.py:233
+#: plinth/modules/storage/__init__.py:235
msgid "The operation failed."
msgstr ""
-#: plinth/modules/storage/__init__.py:235
+#: plinth/modules/storage/__init__.py:237
msgid "The operation was cancelled."
msgstr ""
-#: plinth/modules/storage/__init__.py:237
+#: plinth/modules/storage/__init__.py:239
#, fuzzy
#| msgid "repro service is running"
msgid "The device is already unmounting."
msgstr "repro-service wordt uitgevoerd"
-#: plinth/modules/storage/__init__.py:239
+#: plinth/modules/storage/__init__.py:241
msgid "The operation is not supported due to missing driver/tool support."
msgstr ""
-#: plinth/modules/storage/__init__.py:242
+#: plinth/modules/storage/__init__.py:244
msgid "The operation timed out."
msgstr ""
-#: plinth/modules/storage/__init__.py:244
+#: plinth/modules/storage/__init__.py:246
msgid "The operation would wake up a disk that is in a deep-sleep state."
msgstr ""
-#: plinth/modules/storage/__init__.py:247
+#: plinth/modules/storage/__init__.py:249
msgid "Attempting to unmount a device that is busy."
msgstr ""
-#: plinth/modules/storage/__init__.py:249
+#: plinth/modules/storage/__init__.py:251
msgid "The operation has already been cancelled."
msgstr ""
-#: plinth/modules/storage/__init__.py:255
+#: plinth/modules/storage/__init__.py:257
msgid "Not authorized to perform the requested operation."
msgstr ""
-#: plinth/modules/storage/__init__.py:257
+#: plinth/modules/storage/__init__.py:259
#, fuzzy
#| msgid "This service already exists"
msgid "The device is already mounted."
msgstr "Deze dienst bestaat al"
-#: plinth/modules/storage/__init__.py:259
+#: plinth/modules/storage/__init__.py:261
#, fuzzy
#| msgid "repro service is not running"
msgid "The device is not mounted."
msgstr "repro-service is niet actief"
-#: plinth/modules/storage/__init__.py:262
+#: plinth/modules/storage/__init__.py:264
msgid "Not permitted to use the requested option."
msgstr ""
-#: plinth/modules/storage/__init__.py:265
+#: plinth/modules/storage/__init__.py:267
msgid "The device is mounted by another user."
msgstr ""
@@ -5139,16 +5132,16 @@ msgstr ""
msgid "Error ejecting device: {error_message}"
msgstr ""
-#: plinth/modules/syncthing/__init__.py:38
+#: plinth/modules/syncthing/__init__.py:40
#: plinth/modules/syncthing/manifest.py:28
msgid "Syncthing"
msgstr "Syncthing"
-#: plinth/modules/syncthing/__init__.py:40
+#: plinth/modules/syncthing/__init__.py:42
msgid "File Synchronization"
msgstr "Bestandssynchronisatie"
-#: plinth/modules/syncthing/__init__.py:43
+#: plinth/modules/syncthing/__init__.py:45
msgid ""
"Syncthing is an application to synchronize files across multiple devices, e."
"g. your desktop computer and mobile phone. Creation, modification, or "
@@ -5161,7 +5154,7 @@ msgstr ""
"automatisch dezelfde veranderingen ondergaan op de andere apparaten waarop "
"Syncthing draait."
-#: plinth/modules/syncthing/__init__.py:48
+#: plinth/modules/syncthing/__init__.py:50
#, python-brace-format
msgid ""
"Running Syncthing on {box_name} provides an extra synchronization point for "
@@ -5178,7 +5171,7 @@ msgstr ""
"{box_name} is alleen beschikbaar voor gebruikers die tot de \"admin\"-groep "
"behoren."
-#: plinth/modules/syncthing/__init__.py:55
+#: plinth/modules/syncthing/__init__.py:57
msgid ""
"When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile clients are also beschikbaar."
-#: plinth/modules/syncthing/__init__.py:62
+#: plinth/modules/syncthing/__init__.py:64
msgid "Administer Syncthing application"
msgstr "Beheer Syncthing toepassing"
-#: plinth/modules/tahoe/__init__.py:41
+#: plinth/modules/tahoe/__init__.py:43
msgid "Tahoe-LAFS"
msgstr "Tahoe-LAFS"
-#: plinth/modules/tahoe/__init__.py:43
+#: plinth/modules/tahoe/__init__.py:45
msgid "Distributed File Storage"
msgstr "Distributed File Storage"
-#: plinth/modules/tahoe/__init__.py:107
+#: plinth/modules/tahoe/__init__.py:119
msgid ""
"Tahoe-LAFS is a decentralized secure file storage system. It uses provider "
"independent security to store files over a distributed network of storage "
@@ -5214,7 +5207,7 @@ msgstr ""
"knooppunten uitvallen, kunnen uw bestanden uit de resterende knooppunten "
"worden opgehaald."
-#: plinth/modules/tahoe/__init__.py:112
+#: plinth/modules/tahoe/__init__.py:124
#, python-brace-format
msgid ""
"This {box_name} hosts a storage node and an introducer by default. "
@@ -5265,11 +5258,11 @@ msgstr "Verbonden introduceerders"
msgid "Remove"
msgstr "Verwijderen"
-#: plinth/modules/tor/__init__.py:43
+#: plinth/modules/tor/__init__.py:46
msgid "Tor"
msgstr "Tor"
-#: plinth/modules/tor/__init__.py:48
+#: plinth/modules/tor/__init__.py:51
msgid ""
"Tor is an anonymous communication system. You can learn more about it from "
"the Tor Project website. For "
@@ -5283,40 +5276,36 @@ msgstr ""
"de Tor "
"Browser aan."
-#: plinth/modules/tor/__init__.py:93
+#: plinth/modules/tor/__init__.py:80
msgid "Tor Socks Proxy"
msgstr "Tor Socks Proxy"
-#: plinth/modules/tor/__init__.py:99 plinth/modules/tor/__init__.py:146
+#: plinth/modules/tor/__init__.py:84
msgid "Tor Bridge Relay"
msgstr "Tor Bridge Relay"
-#: plinth/modules/tor/__init__.py:120 plinth/modules/tor/__init__.py:188
+#: plinth/modules/tor/__init__.py:122 plinth/modules/tor/__init__.py:150
msgid "Tor Hidden Service"
msgstr "Tor-Hidden Service"
-#: plinth/modules/tor/__init__.py:136
-msgid "Tor Anonymity Network"
-msgstr "Tor Anonimiteitsnetwerk"
-
-#: plinth/modules/tor/__init__.py:208
+#: plinth/modules/tor/__init__.py:170
msgid "Tor relay port available"
msgstr "Tor relay poort beschikbaar"
-#: plinth/modules/tor/__init__.py:218
+#: plinth/modules/tor/__init__.py:180
msgid "Obfs3 transport registered"
msgstr "Obfs3 transport geregistreerd"
-#: plinth/modules/tor/__init__.py:226
+#: plinth/modules/tor/__init__.py:188
msgid "Obfs4 transport registered"
msgstr "Obfs4 transport geregistreerd"
-#: plinth/modules/tor/__init__.py:265
+#: plinth/modules/tor/__init__.py:227
#, python-brace-format
msgid "Access URL {url} on tcp{kind} via Tor"
msgstr "Gebruik URL {url} op tcp{kind} via Tor"
-#: plinth/modules/tor/__init__.py:276
+#: plinth/modules/tor/__init__.py:238
#, python-brace-format
msgid "Confirm Tor usage at {url} on tcp{kind}"
msgstr "Bevestig Tor gebruik met {url} via tcp{kind}"
@@ -5478,12 +5467,12 @@ msgstr "SOCKS"
msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050."
msgstr "Een Tor SOCKS poort is beschikbaar op %(box_name)s, op TCP poort 9050."
-#: plinth/modules/transmission/__init__.py:39
+#: plinth/modules/transmission/__init__.py:41
#: plinth/modules/transmission/manifest.py:24
msgid "Transmission"
msgstr "Transmission"
-#: plinth/modules/transmission/__init__.py:44
+#: plinth/modules/transmission/__init__.py:46
msgid ""
"BitTorrent is a peer-to-peer file sharing protocol. Transmission daemon "
"handles Bitorrent file sharing. Note that BitTorrent is not anonymous."
@@ -5492,7 +5481,7 @@ msgstr ""
"daemon voorziet in Bittorrent bestandsdelingdiensten. Houd in gedachten dat "
"BitTorrent gebruik niet anoniem is."
-#: plinth/modules/transmission/__init__.py:47
+#: plinth/modules/transmission/__init__.py:49
msgid ""
"Access the web interface at /transmission."
msgstr ""
@@ -5512,15 +5501,15 @@ msgstr ""
"zorg er dan voor dat de map bestaat en schrijfbaar is voor de \"debian-"
"transmission\" gebruiker."
-#: plinth/modules/ttrss/__init__.py:41 plinth/modules/ttrss/manifest.py:34
+#: plinth/modules/ttrss/__init__.py:43 plinth/modules/ttrss/manifest.py:34
msgid "Tiny Tiny RSS"
msgstr "Tiny Tiny RSS"
-#: plinth/modules/ttrss/__init__.py:43
+#: plinth/modules/ttrss/__init__.py:45
msgid "News Feed Reader"
msgstr "News Feed Reader"
-#: plinth/modules/ttrss/__init__.py:46
+#: plinth/modules/ttrss/__init__.py:48
msgid ""
"Tiny Tiny RSS is a news feed (RSS/Atom) reader and aggregator, designed to "
"allow reading news from any location, while feeling as close to a real "
@@ -5530,7 +5519,7 @@ msgstr ""
"om het lezen van nieuws vanaf iedere locatie mogelijk te maken, terwijl het "
"op een echte desktop applicatie wil lijken."
-#: plinth/modules/ttrss/__init__.py:50
+#: plinth/modules/ttrss/__init__.py:52
#, python-brace-format
msgid ""
"When enabled, Tiny Tiny RSS will be available from /tt-"
@@ -5541,7 +5530,7 @@ msgstr ""
"\">/ tt-rss pad op de webserver. Het is beschikbaar voor elke gebruiker met een {box_name} login."
-#: plinth/modules/ttrss/__init__.py:55
+#: plinth/modules/ttrss/__init__.py:57
msgid ""
"When using a mobile or desktop application for Tiny Tiny RSS, use the URL /tt-rss-app for connecting."
@@ -5550,7 +5539,7 @@ msgstr ""
"gebruikt, voer dan de URL /tt-rss-app in om te "
"verbinden."
-#: plinth/modules/ttrss/__init__.py:61
+#: plinth/modules/ttrss/__init__.py:63
msgid "Read and subscribe to news feeds"
msgstr "Lezen en abonneren op nieuwsfeeds"
@@ -5558,11 +5547,11 @@ msgstr "Lezen en abonneren op nieuwsfeeds"
msgid "Tiny Tiny RSS (Fork)"
msgstr "Tiny Tiny RSS (Fork)"
-#: plinth/modules/upgrades/__init__.py:36 plinth/templates/setup.html:101
+#: plinth/modules/upgrades/__init__.py:35 plinth/templates/setup.html:101
msgid "Update"
msgstr "Update"
-#: plinth/modules/upgrades/__init__.py:39
+#: plinth/modules/upgrades/__init__.py:38
msgid "Check for and apply the latest software and security updates."
msgstr ""
@@ -5614,34 +5603,34 @@ msgstr ""
msgid "Auto-update"
msgstr "Laatste bijwerking"
-#: plinth/modules/upgrades/views.py:39
+#: plinth/modules/upgrades/views.py:40
#, fuzzy
#| msgid "Last update"
msgid "Manual update"
msgstr "Laatste bijwerking"
-#: plinth/modules/upgrades/views.py:78
+#: plinth/modules/upgrades/views.py:79
#, python-brace-format
msgid "Error when configuring unattended-upgrades: {error}"
msgstr "Fout bij het instellen van automatische upgrades: {error}"
-#: plinth/modules/upgrades/views.py:82
+#: plinth/modules/upgrades/views.py:83
msgid "Automatic upgrades enabled"
msgstr "Automatisch bijwerken ingeschakeld"
-#: plinth/modules/upgrades/views.py:85
+#: plinth/modules/upgrades/views.py:86
msgid "Automatic upgrades disabled"
msgstr "Automatisch bijwerken uitgeschakeld"
-#: plinth/modules/upgrades/views.py:87
+#: plinth/modules/upgrades/views.py:88
msgid "Settings unchanged"
msgstr "Instellingen onveranderd"
-#: plinth/modules/upgrades/views.py:113
+#: plinth/modules/upgrades/views.py:114
msgid "Upgrade process started."
msgstr "Upgrade-proces gestart."
-#: plinth/modules/upgrades/views.py:116
+#: plinth/modules/upgrades/views.py:117
msgid "Starting upgrade failed."
msgstr "Starten van de upgrade is mislukt."
@@ -5649,7 +5638,7 @@ msgstr "Starten van de upgrade is mislukt."
msgid "Users and Groups"
msgstr "Gebruikers en Groepen"
-#: plinth/modules/users/__init__.py:106
+#: plinth/modules/users/__init__.py:108
#, python-brace-format
msgid "Check LDAP entry \"{search_item}\""
msgstr "Zoek LDAP item \"{search_item}\""
@@ -5876,15 +5865,6 @@ msgstr "media wijzigen"
msgid "configuration file: {file}"
msgstr "configuratiebestand: {file}"
-#: plinth/service.py:140
-msgid "Web Server over Secure Socket Layer"
-msgstr "Web Server over Secure Socket Layer"
-
-#: plinth/service.py:145
-#, python-brace-format
-msgid "{box_name} Web Interface (Plinth)"
-msgstr "{box_name} Web Interface (Plinth)"
-
#: plinth/templates/403.html:25
msgid "403 Forbidden"
msgstr "403 Verboden"
@@ -6105,17 +6085,17 @@ msgstr "IRC Chatroom"
msgid "Mailing list"
msgstr "Mailinglijst"
-#: plinth/templates/internal-zone.html:25
+#: plinth/templates/internal-zone.html:26
#, python-format
msgid "%(service_name)s is available only on internal networks."
msgstr ""
"%(service_name)s is alleen beschikbaar binnen interne netwerken."
-#: plinth/templates/internal-zone.html:31
+#: plinth/templates/internal-zone.html:32
msgid "Currently there are no network interfaces configured as internal."
msgstr "Momenteel zijn er geen netwerk interfaces geconfigureerd als intern."
-#: plinth/templates/internal-zone.html:33
+#: plinth/templates/internal-zone.html:34
#, python-format
msgid ""
"Currently the following network interfaces are configured as internal: "
@@ -6184,10 +6164,24 @@ msgstr "Installeren van %(package_names)s: %(status)s"
msgid "%(percentage)s%% complete"
msgstr "%(percentage)s%% voltooid"
+#: plinth/views.py:178
+msgid "Application enabled"
+msgstr "Toepassing ingeschakeld"
+
+#: plinth/views.py:181
+msgid "Application disabled"
+msgstr "Toepassing uitgeschakeld"
+
#: plinth/web_framework.py:186
msgid "Gujarati"
msgstr ""
+#~ msgid "Tor Anonymity Network"
+#~ msgstr "Tor Anonimiteitsnetwerk"
+
+#~ msgid "Web Server over Secure Socket Layer"
+#~ msgstr "Web Server over Secure Socket Layer"
+
#~ msgid "Current status:"
#~ msgstr "Huidige status:"
diff --git a/plinth/locale/pl/LC_MESSAGES/django.po b/plinth/locale/pl/LC_MESSAGES/django.po
index 68334adba..1a53a713d 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: 2019-06-10 19:02-0400\n"
+"POT-Creation-Date: 2019-06-24 19:48-0400\n"
"PO-Revision-Date: 2019-04-30 14:37+0000\n"
"Last-Translator: Radek Pasiok \n"
"Language-Team: Polish /"
@@ -512,14 +523,14 @@ msgid ""
"\"{users_url}\">any user on {box_name} belonging to the admin group."
msgstr ""
-#: plinth/modules/config/__init__.py:59 plinth/modules/dynamicdns/views.py:44
+#: plinth/modules/config/__init__.py:61 plinth/modules/dynamicdns/views.py:45
#: plinth/modules/i2p/views.py:31 plinth/modules/ikiwiki/views.py:35
#: plinth/modules/pagekite/views.py:36 plinth/modules/snapshot/views.py:40
#: plinth/modules/tahoe/templates/tahoe-pre-setup.html:39
msgid "Configure"
msgstr "Konfiguruj"
-#: plinth/modules/config/__init__.py:164 plinth/modules/config/forms.py:76
+#: plinth/modules/config/__init__.py:166 plinth/modules/config/forms.py:76
#: plinth/modules/config/views.py:171 plinth/modules/dynamicdns/forms.py:111
msgid "Domain Name"
msgstr "Nazwa domeny"
@@ -599,8 +610,8 @@ msgstr ""
#: plinth/modules/power/templates/power_restart.html:42
#: plinth/modules/power/templates/power_shutdown.html:41
#: plinth/modules/storage/templates/storage.html:48
-#: plinth/templates/service-subsubmenu.html:47 plinth/templates/service.html:42
-#: plinth/templates/setup.html:48 plinth/templates/simple_service.html:38
+#: plinth/templates/app-subsubmenu.html:47 plinth/templates/app.html:42
+#: plinth/templates/setup.html:48 plinth/templates/simple_app.html:38
#, fuzzy
#| msgid "Learn more »"
msgid "Learn more..."
@@ -652,22 +663,22 @@ msgstr ""
msgid "Hiding advanced apps and features"
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:38
+#: plinth/modules/coquelicot/__init__.py:40
msgid "Coquelicot"
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:40
+#: plinth/modules/coquelicot/__init__.py:42
msgid "File Sharing"
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:43
+#: plinth/modules/coquelicot/__init__.py:45
msgid ""
"Coquelicot is a “one-click” file sharing web application with a focus on "
"protecting users’ privacy. It is best used for quickly sharing a single "
"file. "
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:46
+#: plinth/modules/coquelicot/__init__.py:48
msgid ""
"This Coquelicot instance is exposed to the public but requires an upload "
"password to prevent unauthorized access. You can set a new upload password "
@@ -699,23 +710,23 @@ msgstr ""
msgid "coquelicot"
msgstr ""
-#: plinth/modules/coquelicot/views.py:57
+#: plinth/modules/coquelicot/views.py:59
#, fuzzy
#| msgid "Password"
msgid "Upload password updated"
msgstr "Hasło"
-#: plinth/modules/coquelicot/views.py:60
+#: plinth/modules/coquelicot/views.py:62
msgid "Failed to update upload password"
msgstr ""
-#: plinth/modules/coquelicot/views.py:68
+#: plinth/modules/coquelicot/views.py:70
#, fuzzy
#| msgid "Maximum players configuration updated"
msgid "Maximum file size updated"
msgstr "Zaktualizowano maksymalną ilość graczy"
-#: plinth/modules/coquelicot/views.py:71
+#: plinth/modules/coquelicot/views.py:73
msgid "Failed to update maximum file size"
msgstr ""
@@ -731,15 +742,15 @@ msgstr ""
"Serwer czasu jest programem, który utrzymuje czas systemowy w synchronizacji "
"z serwerami w Internecie."
-#: plinth/modules/datetime/__init__.py:107
+#: plinth/modules/datetime/__init__.py:99
msgid "Time synchronized to NTP server"
msgstr ""
-#: plinth/modules/datetime/forms.py:36
+#: plinth/modules/datetime/forms.py:35
msgid "Time Zone"
msgstr "Strefa czasowa"
-#: plinth/modules/datetime/forms.py:37
+#: plinth/modules/datetime/forms.py:36
msgid ""
"Set your time zone to get accurate timestamps. This will set the system-wide "
"time zone."
@@ -747,7 +758,7 @@ msgstr ""
"Ustaw swoją strefę czasową aby otrzymywać dokładne znaczniki czasowe. To "
"ustawia strefę czasową w całym systemie."
-#: plinth/modules/datetime/forms.py:49
+#: plinth/modules/datetime/forms.py:47
msgid "-- no time zone set --"
msgstr "-- Strefa czasowa nie ustawiona --"
@@ -765,7 +776,7 @@ msgid "Deluge"
msgstr "Deluge"
#: plinth/modules/deluge/__init__.py:41
-#: plinth/modules/transmission/__init__.py:41
+#: plinth/modules/transmission/__init__.py:43
msgid "BitTorrent Web Client"
msgstr "Klient BitTorrent"
@@ -784,7 +795,7 @@ msgstr ""
"zalogowaniu."
#: plinth/modules/deluge/__init__.py:51
-#: plinth/modules/transmission/__init__.py:54
+#: plinth/modules/transmission/__init__.py:56
msgid "Download files using BitTorrent applications"
msgstr ""
@@ -848,12 +859,12 @@ msgstr "Test"
msgid "Result"
msgstr "Wynik"
-#: plinth/modules/diaspora/__init__.py:52
+#: plinth/modules/diaspora/__init__.py:54
#: plinth/modules/diaspora/manifest.py:38
msgid "diaspora*"
msgstr "diaspora*"
-#: plinth/modules/diaspora/__init__.py:54
+#: plinth/modules/diaspora/__init__.py:56
msgid "Federated Social Network"
msgstr "Rozproszona sieć społecznościowa"
@@ -908,22 +919,22 @@ msgstr ""
#: plinth/modules/tahoe/templates/tahoe-pre-setup.html:58
#: plinth/modules/tor/templates/tor.html:96
#: plinth/modules/upgrades/templates/upgrades_configure.html:32
-#: plinth/templates/service.html:89
+#: plinth/templates/app.html:89
msgid "Update setup"
msgstr "Aktualizuj ustawienia"
-#: plinth/modules/diaspora/views.py:97 plinth/modules/ejabberd/views.py:64
-#: plinth/modules/matrixsynapse/views.py:107
-#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:150
-#: plinth/modules/tor/views.py:146 plinth/views.py:160
+#: plinth/modules/diaspora/views.py:94 plinth/modules/ejabberd/views.py:65
+#: plinth/modules/matrixsynapse/views.py:108
+#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:148
+#: plinth/modules/tor/views.py:148 plinth/views.py:174
msgid "Setting unchanged"
msgstr "Ustawienie bez zmian"
-#: plinth/modules/diaspora/views.py:101
+#: plinth/modules/diaspora/views.py:98
msgid "User registrations enabled"
msgstr "Rejestracja użytkowników włączona"
-#: plinth/modules/diaspora/views.py:105
+#: plinth/modules/diaspora/views.py:102
msgid "User registrations disabled"
msgstr "Rejestracja użytkowników wyłączona"
@@ -960,8 +971,8 @@ msgstr ""
"nowego adresu IP i gdy ktoś zapyta o twoją nazwę DNS, otrzyma w odpowiedzi "
"twój aktualny adres IP."
-#: plinth/modules/dynamicdns/__init__.py:85
-#: plinth/modules/dynamicdns/views.py:167
+#: plinth/modules/dynamicdns/__init__.py:87
+#: plinth/modules/dynamicdns/views.py:169
msgid "Dynamic DNS Service"
msgstr "Usługa dynamicznego DNS"
@@ -1065,7 +1076,7 @@ msgid "Username"
msgstr "Nazwa użytkownika"
#: plinth/modules/dynamicdns/forms.py:121 plinth/modules/networks/forms.py:235
-#: plinth/modules/shadowsocks/forms.py:70
+#: plinth/modules/shadowsocks/forms.py:61
msgid "Password"
msgstr "Hasło"
@@ -1160,39 +1171,39 @@ msgstr ""
msgid "Last update"
msgstr "Ostatnie uaktualnienie"
-#: plinth/modules/dynamicdns/views.py:41 plinth/modules/help/help.py:57
+#: plinth/modules/dynamicdns/views.py:41 plinth/modules/help/help.py:59
msgid "About"
msgstr "Informacje"
-#: plinth/modules/dynamicdns/views.py:47
+#: plinth/modules/dynamicdns/views.py:49
#: plinth/modules/firewall/templates/firewall.html:25
#: plinth/modules/firewall/templates/firewall.html:45
#: plinth/modules/i2p/templates/i2p.html:27
#: plinth/modules/networks/templates/connection_show.html:261
#: plinth/modules/openvpn/templates/openvpn.html:71
#: plinth/modules/tor/templates/tor.html:40
-#: plinth/modules/tor/templates/tor.html:68 plinth/templates/service.html:51
+#: plinth/modules/tor/templates/tor.html:68 plinth/templates/app.html:51
msgid "Status"
msgstr "Stan"
-#: plinth/modules/dynamicdns/views.py:78
+#: plinth/modules/dynamicdns/views.py:80
msgid "Configure Dynamic DNS"
msgstr "Konfiguruj Dynamic DNS"
-#: plinth/modules/dynamicdns/views.py:103
+#: plinth/modules/dynamicdns/views.py:105
msgid "Dynamic DNS Status"
msgstr "Status Dynamic DNS"
-#: plinth/modules/ejabberd/__init__.py:43
+#: plinth/modules/ejabberd/__init__.py:45
msgid "ejabberd"
msgstr "ejabberd"
-#: plinth/modules/ejabberd/__init__.py:45
-#: plinth/modules/matrixsynapse/__init__.py:43
+#: plinth/modules/ejabberd/__init__.py:47
+#: plinth/modules/matrixsynapse/__init__.py:45
msgid "Chat Server"
msgstr "Serwer czatu"
-#: plinth/modules/ejabberd/__init__.py:48
+#: plinth/modules/ejabberd/__init__.py:50
msgid ""
"XMPP is an open and standardized communication protocol. Here you can run "
"and configure your XMPP server, called ejabberd."
@@ -1200,7 +1211,7 @@ msgstr ""
"XMPP jest otwartym i ustandaryzowanym protokołem komunikacyjnym. Tu możesz "
"uruchomić i skonfigurować własny serwer XMPP zwany ejabberd."
-#: plinth/modules/ejabberd/__init__.py:51
+#: plinth/modules/ejabberd/__init__.py:53
#, fuzzy, python-brace-format
#| msgid ""
#| "To actually communicate, you can use the użytkownika "
"{box_name}."
-#: plinth/modules/ejabberd/forms.py:33
+#: plinth/modules/ejabberd/forms.py:32
msgid "Enable Message Archive Management"
msgstr "Włącz zarządzanie archiwum wiadomości"
-#: plinth/modules/ejabberd/forms.py:36
+#: plinth/modules/ejabberd/forms.py:34
#, python-brace-format
msgid ""
"If enabled, your {box_name} will store chat message histories. This allows "
@@ -1306,35 +1317,23 @@ msgstr "Uruchom klienta przeglądarkowego"
#: plinth/modules/openvpn/templates/openvpn.html:123
#: plinth/modules/snapshot/templates/snapshot.html:27
#: plinth/modules/tahoe/templates/tahoe-post-setup.html:43
-#: plinth/modules/tor/templates/tor.html:88 plinth/templates/service.html:81
+#: plinth/modules/tor/templates/tor.html:88 plinth/templates/app.html:81
msgid "Configuration"
msgstr "Konfiguracja"
-#: plinth/modules/ejabberd/views.py:68
-#: plinth/modules/matrixsynapse/views.py:111
-#: plinth/modules/mediawiki/views.py:79 plinth/views.py:164
-msgid "Application enabled"
-msgstr "Aplikacja włączona"
-
-#: plinth/modules/ejabberd/views.py:71
-#: plinth/modules/matrixsynapse/views.py:114
-#: plinth/modules/mediawiki/views.py:82 plinth/views.py:167
-msgid "Application disabled"
-msgstr "Aplikacja wyłączona"
-
-#: plinth/modules/ejabberd/views.py:78
+#: plinth/modules/ejabberd/views.py:77
msgid "Message Archive Management enabled"
msgstr "Zarządzanie historią wiadomości włączone"
-#: plinth/modules/ejabberd/views.py:82
+#: plinth/modules/ejabberd/views.py:81
msgid "Message Archive Management disabled"
msgstr "Zarządzanie historią wiadomości wyłączone"
-#: plinth/modules/firewall/__init__.py:40
+#: plinth/modules/firewall/__init__.py:36
msgid "Firewall"
msgstr "Firewall"
-#: plinth/modules/firewall/__init__.py:44
+#: plinth/modules/firewall/__init__.py:40
#, python-brace-format
msgid ""
"Firewall is a security system that controls the incoming and outgoing "
@@ -1452,31 +1451,31 @@ msgstr "Rozpocznij"
msgid "Setup Complete"
msgstr "Instalacja zakończona"
-#: plinth/modules/help/help.py:44
+#: plinth/modules/help/help.py:46
msgid "Documentation"
msgstr "Dokumentacja"
-#: plinth/modules/help/help.py:48 plinth/modules/networks/forms.py:68
+#: plinth/modules/help/help.py:50 plinth/modules/networks/forms.py:68
#: plinth/modules/networks/forms.py:108 plinth/templates/index.html:135
msgid "Manual"
msgstr "Instrukcja"
-#: plinth/modules/help/help.py:53
+#: plinth/modules/help/help.py:55
#, fuzzy
#| msgid "{box_name} Manual"
msgid "Download Manual"
msgstr "{box_name} Podręcznik"
-#: plinth/modules/help/help.py:73
+#: plinth/modules/help/help.py:75
msgid "Documentation and FAQ"
msgstr "DOkumentacja i FAQ"
-#: plinth/modules/help/help.py:81
+#: plinth/modules/help/help.py:83
#, python-brace-format
msgid "About {box_name}"
msgstr "O {box_name}"
-#: plinth/modules/help/help.py:102
+#: plinth/modules/help/help.py:104
#, python-brace-format
msgid "{box_name} Manual"
msgstr "{box_name} Podręcznik"
@@ -1611,17 +1610,17 @@ msgstr ""
"Usuń wszystkie hasła lub inne informacje osobowe z loga przed zgłoszeniem "
"raportu o błędzie."
-#: plinth/modules/i2p/__init__.py:40 plinth/modules/i2p/manifest.py:31
+#: plinth/modules/i2p/__init__.py:42 plinth/modules/i2p/manifest.py:31
msgid "I2P"
msgstr ""
-#: plinth/modules/i2p/__init__.py:42 plinth/modules/tor/__init__.py:45
+#: plinth/modules/i2p/__init__.py:44 plinth/modules/tor/__init__.py:48
#, fuzzy
#| msgid "Go to Networks"
msgid "Anonymity Network"
msgstr "Przejdź do sieci"
-#: plinth/modules/i2p/__init__.py:45
+#: plinth/modules/i2p/__init__.py:47
msgid ""
"The Invisible Internet Project is an anonymous network layer intended to "
"protect communication from censorship and surveillance. I2P provides "
@@ -1629,35 +1628,35 @@ msgid ""
"distributed around the world."
msgstr ""
-#: plinth/modules/i2p/__init__.py:49
+#: plinth/modules/i2p/__init__.py:51
msgid ""
"Find more information about I2P on their project homepage."
msgstr ""
-#: plinth/modules/i2p/__init__.py:51
+#: plinth/modules/i2p/__init__.py:53
msgid ""
"The first visit to the provided web interface will initiate the "
"configuration process."
msgstr ""
-#: plinth/modules/i2p/__init__.py:57
+#: plinth/modules/i2p/__init__.py:59
#, fuzzy
#| msgid "Enable application"
msgid "Manage I2P application"
msgstr "Aktywuj aplikację"
-#: plinth/modules/i2p/templates/i2p.html:32 plinth/templates/service.html:56
+#: plinth/modules/i2p/templates/i2p.html:32 plinth/templates/app.html:56
#, python-format
msgid "Service %(service_name)s is running."
msgstr "Usługa %(service_name)s jest uruchomiona."
-#: plinth/modules/i2p/templates/i2p.html:37 plinth/templates/service.html:61
+#: plinth/modules/i2p/templates/i2p.html:37 plinth/templates/app.html:61
#, python-format
msgid "Service %(service_name)s is not running."
msgstr "Usługa %(service_name)s nie jest uruchomiona."
-#: plinth/modules/i2p/templates/i2p_service.html:13
+#: plinth/modules/i2p/templates/i2p_service.html:31
#: plinth/templates/clients.html:51
msgid "Launch"
msgstr ""
@@ -1670,43 +1669,43 @@ msgstr ""
msgid "Anonymous torrents"
msgstr ""
-#: plinth/modules/i2p/views.py:86
+#: plinth/modules/i2p/views.py:88
msgid "I2P Proxies and Tunnels"
msgstr ""
-#: plinth/modules/i2p/views.py:89
+#: plinth/modules/i2p/views.py:91
msgid ""
"I2P lets you browse the Internet and hidden services (eepsites) anonymously. "
"For this, your browser, preferably a Tor Browser, needs to be configured for "
"a proxy."
msgstr ""
-#: plinth/modules/i2p/views.py:92
+#: plinth/modules/i2p/views.py:94
msgid ""
"By default HTTP, HTTPS and IRC proxies are available. Additional proxies and "
"tunnels may be configured using the tunnel configuration interface."
msgstr ""
-#: plinth/modules/i2p/views.py:101
+#: plinth/modules/i2p/views.py:103
msgid "Anonymous Torrents"
msgstr ""
-#: plinth/modules/i2p/views.py:104
+#: plinth/modules/i2p/views.py:106
msgid ""
"I2P provides an application to download files anonymously in a peer-to-peer "
"network. Download files by adding torrents or create a new torrent to share "
"a file."
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:42 plinth/modules/ikiwiki/manifest.py:24
+#: plinth/modules/ikiwiki/__init__.py:41 plinth/modules/ikiwiki/manifest.py:24
msgid "ikiwiki"
msgstr "ikiwiki"
-#: plinth/modules/ikiwiki/__init__.py:44
+#: plinth/modules/ikiwiki/__init__.py:43
msgid "Wiki and Blog"
msgstr "Wiki i blog"
-#: plinth/modules/ikiwiki/__init__.py:47
+#: plinth/modules/ikiwiki/__init__.py:46
msgid ""
"ikiwiki is a simple wiki and blog application. It supports several "
"lightweight markup languages, including Markdown, and common blogging "
@@ -1714,7 +1713,7 @@ msgid ""
"wikis will be available at /ikiwiki (once created)."
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:53
+#: plinth/modules/ikiwiki/__init__.py:52
#, python-brace-format
msgid ""
"Only {box_name} users in the admin group can create and "
@@ -1723,7 +1722,7 @@ msgid ""
"Configuration you can change these permissions or add new users."
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:63
+#: plinth/modules/ikiwiki/__init__.py:62
#, fuzzy
#| msgid "Services and Applications"
msgid "View and edit wiki applications"
@@ -1795,49 +1794,49 @@ msgstr ""
msgid "Manage"
msgstr ""
-#: plinth/modules/ikiwiki/views.py:121
+#: plinth/modules/ikiwiki/views.py:124
#, python-brace-format
msgid "Created wiki {name}."
msgstr ""
-#: plinth/modules/ikiwiki/views.py:124
+#: plinth/modules/ikiwiki/views.py:127
#, python-brace-format
msgid "Could not create wiki: {error}"
msgstr ""
-#: plinth/modules/ikiwiki/views.py:134
+#: plinth/modules/ikiwiki/views.py:137
#, python-brace-format
msgid "Created blog {name}."
msgstr ""
-#: plinth/modules/ikiwiki/views.py:137
+#: plinth/modules/ikiwiki/views.py:140
#, python-brace-format
msgid "Could not create blog: {error}"
msgstr ""
-#: plinth/modules/ikiwiki/views.py:150
+#: plinth/modules/ikiwiki/views.py:153
#, python-brace-format
msgid "{name} deleted."
msgstr ""
-#: plinth/modules/ikiwiki/views.py:154
+#: plinth/modules/ikiwiki/views.py:157
#, python-brace-format
msgid "Could not delete {name}: {error}"
msgstr ""
-#: plinth/modules/infinoted/__init__.py:41
+#: plinth/modules/infinoted/__init__.py:40
msgid "infinoted"
msgstr ""
-#: plinth/modules/infinoted/__init__.py:43
+#: plinth/modules/infinoted/__init__.py:42
msgid "Gobby Server"
msgstr ""
-#: plinth/modules/infinoted/__init__.py:46
+#: plinth/modules/infinoted/__init__.py:45
msgid "infinoted is a server for Gobby, a collaborative text editor."
msgstr ""
-#: plinth/modules/infinoted/__init__.py:48
+#: plinth/modules/infinoted/__init__.py:47
#, python-brace-format
msgid ""
"To use it, download Gobby, desktop "
@@ -2222,11 +2221,11 @@ msgstr ""
msgid "Failed to delete certificate for domain {domain}: {error}"
msgstr ""
-#: plinth/modules/matrixsynapse/__init__.py:41
+#: plinth/modules/matrixsynapse/__init__.py:43
msgid "Matrix Synapse"
msgstr ""
-#: plinth/modules/matrixsynapse/__init__.py:46
+#: plinth/modules/matrixsynapse/__init__.py:48
msgid ""
"Matrix is an new "
"ecosystem for open, federated instant messaging and VoIP. Synapse is a "
@@ -2236,7 +2235,7 @@ msgid ""
"converse with users on all other Matrix servers via federation."
msgstr ""
-#: plinth/modules/matrixsynapse/__init__.py:53
+#: plinth/modules/matrixsynapse/__init__.py:55
msgid ""
"To communicate, you can use the available clients for mobile, desktop and the web. Special:CreateAccount page."
msgstr ""
-#: plinth/modules/mediawiki/__init__.py:49
+#: plinth/modules/mediawiki/__init__.py:53
msgid ""
"Anyone with a link to this wiki can read it. Only users that are logged in "
"can make changes to the content."
@@ -2385,42 +2384,42 @@ msgstr ""
msgid "Password updated"
msgstr "Hasło"
-#: plinth/modules/mediawiki/views.py:91
+#: plinth/modules/mediawiki/views.py:89
#, fuzzy
#| msgid "Application installed."
msgid "Public registrations enabled"
msgstr "Aplikacja zainstalowania."
-#: plinth/modules/mediawiki/views.py:100
+#: plinth/modules/mediawiki/views.py:98
#, fuzzy
#| msgid "Application installed."
msgid "Public registrations disabled"
msgstr "Aplikacja zainstalowania."
-#: plinth/modules/mediawiki/views.py:109
+#: plinth/modules/mediawiki/views.py:107
#, fuzzy
#| msgid "Application enabled"
msgid "Private mode enabled"
msgstr "Aplikacja włączona"
-#: plinth/modules/mediawiki/views.py:112
+#: plinth/modules/mediawiki/views.py:110
#, fuzzy
#| msgid "Application disabled"
msgid "Private mode disabled"
msgstr "Aplikacja wyłączona"
-#: plinth/modules/minetest/__init__.py:53
+#: plinth/modules/minetest/__init__.py:52
#: plinth/modules/minetest/manifest.py:25
msgid "Minetest"
msgstr ""
-#: plinth/modules/minetest/__init__.py:55
+#: plinth/modules/minetest/__init__.py:54
#, fuzzy
#| msgid "Blocked"
msgid "Block Sandbox"
msgstr "Zablokowano"
-#: plinth/modules/minetest/__init__.py:59
+#: plinth/modules/minetest/__init__.py:58
#, python-brace-format
msgid ""
"Minetest is a multiplayer infinite-world block sandbox. This module enables "
@@ -2429,39 +2428,39 @@ msgid ""
"downloads/\">Minetest client is needed."
msgstr ""
-#: plinth/modules/minetest/forms.py:31
+#: plinth/modules/minetest/forms.py:30
msgid "Maximum number of players"
msgstr ""
-#: plinth/modules/minetest/forms.py:35
+#: plinth/modules/minetest/forms.py:32
msgid ""
"You can change the maximum number of players playing minetest at a single "
"instance of time."
msgstr ""
-#: plinth/modules/minetest/forms.py:39
+#: plinth/modules/minetest/forms.py:36
msgid "Enable creative mode"
msgstr "Włącz tryb kreatywny"
-#: plinth/modules/minetest/forms.py:41
+#: plinth/modules/minetest/forms.py:37
msgid ""
"Creative mode changes the rules of the game to make it more suitable for "
"creative gameplay, rather than challenging \"survival\" gameplay."
msgstr ""
-#: plinth/modules/minetest/forms.py:46
+#: plinth/modules/minetest/forms.py:42
msgid "Enable PVP"
msgstr "Włącz PVP"
-#: plinth/modules/minetest/forms.py:48
+#: plinth/modules/minetest/forms.py:43
msgid "Enabling Player Vs Player will allow players to damage other players."
msgstr ""
-#: plinth/modules/minetest/forms.py:52
+#: plinth/modules/minetest/forms.py:47
msgid "Enable damage"
msgstr "Włącz zniszczenia"
-#: plinth/modules/minetest/forms.py:54
+#: plinth/modules/minetest/forms.py:48
msgid "When disabled, players cannot die or receive damage of any kind."
msgstr ""
@@ -2475,52 +2474,52 @@ msgstr ""
msgid "Port"
msgstr ""
-#: plinth/modules/minetest/views.py:71
+#: plinth/modules/minetest/views.py:72
msgid "Maximum players configuration updated"
msgstr "Zaktualizowano maksymalną ilość graczy"
-#: plinth/modules/minetest/views.py:78
+#: plinth/modules/minetest/views.py:79
msgid "Creative mode configuration updated"
msgstr "Zaktualizowano ustawienia trybu kreatywnego"
-#: plinth/modules/minetest/views.py:84
+#: plinth/modules/minetest/views.py:85
msgid "PVP configuration updated"
msgstr "Zaktualizowano ustawienia PVP"
-#: plinth/modules/minetest/views.py:90
+#: plinth/modules/minetest/views.py:91
msgid "Damage configuration updated"
msgstr "Zaktualizowano ustawienia zniszczeń"
-#: plinth/modules/mldonkey/__init__.py:38
+#: plinth/modules/mldonkey/__init__.py:40
#: plinth/modules/mldonkey/manifest.py:27
msgid "MLDonkey"
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:40
+#: plinth/modules/mldonkey/__init__.py:42
msgid "Peer-to-peer File Sharing"
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:43
+#: plinth/modules/mldonkey/__init__.py:45
msgid ""
"MLDonkey is a peer-to-peer file sharing application used to exchange large "
"files. It can participate in multiple peer-to-peer networks including "
"eDonkey, Kademlia, Overnet, BitTorrent and DirectConnect."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:46
+#: plinth/modules/mldonkey/__init__.py:48
msgid ""
"Users belonging to admin and ed2k group can control it through the web "
"interface. Users in the admin group can also control it through any of the "
"separate mobile or desktop front-ends or a telnet interface. See manual."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:51
+#: plinth/modules/mldonkey/__init__.py:53
#, python-brace-format
msgid ""
"On {box_name}, downloaded files can be found in /var/lib/mldonkey/ directory."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:59
+#: plinth/modules/mldonkey/__init__.py:61
msgid "Download files using eDonkey applications"
msgstr ""
@@ -2584,12 +2583,6 @@ msgstr ""
msgid "Secure Shell"
msgstr ""
-#: plinth/modules/monkeysphere/templates/monkeysphere.html:88
-#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:60
-#: plinth/service.py:138
-msgid "Web Server"
-msgstr ""
-
#: plinth/modules/monkeysphere/templates/monkeysphere.html:90
#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:62
msgid "Other"
@@ -2682,21 +2675,21 @@ msgstr ""
msgid "Error occurred while publishing key."
msgstr ""
-#: plinth/modules/mumble/__init__.py:34 plinth/modules/mumble/manifest.py:27
+#: plinth/modules/mumble/__init__.py:35 plinth/modules/mumble/manifest.py:27
msgid "Mumble"
msgstr ""
-#: plinth/modules/mumble/__init__.py:36
+#: plinth/modules/mumble/__init__.py:37
msgid "Voice Chat"
msgstr ""
-#: plinth/modules/mumble/__init__.py:45
+#: plinth/modules/mumble/__init__.py:44
msgid ""
"Mumble is an open source, low-latency, encrypted, high quality voice chat "
"software."
msgstr ""
-#: plinth/modules/mumble/__init__.py:47
+#: plinth/modules/mumble/__init__.py:46
msgid ""
"You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your "
@@ -2744,7 +2737,7 @@ msgstr ""
msgid "Networks"
msgstr ""
-#: plinth/modules/networks/__init__.py:142
+#: plinth/modules/networks/__init__.py:144
#, python-brace-format
msgid "Using DNSSEC on IPv{kind}"
msgstr ""
@@ -3171,7 +3164,7 @@ msgstr ""
#: plinth/modules/networks/templates/connection_show.html:186
#: plinth/modules/networks/templates/connection_show.html:227
-#: plinth/modules/shadowsocks/forms.py:75
+#: plinth/modules/shadowsocks/forms.py:65
msgid "Method"
msgstr ""
@@ -3293,15 +3286,15 @@ msgstr ""
msgid "Create..."
msgstr ""
-#: plinth/modules/openvpn/__init__.py:40
+#: plinth/modules/openvpn/__init__.py:39
msgid "OpenVPN"
msgstr ""
-#: plinth/modules/openvpn/__init__.py:42
+#: plinth/modules/openvpn/__init__.py:41
msgid "Virtual Private Network"
msgstr ""
-#: plinth/modules/openvpn/__init__.py:46
+#: plinth/modules/openvpn/__init__.py:45
#, python-brace-format
msgid ""
"Virtual Private Network (VPN) is a technique for securely connecting two "
@@ -3312,7 +3305,7 @@ msgid ""
"security and anonymity."
msgstr ""
-#: plinth/modules/openvpn/__init__.py:74
+#: plinth/modules/openvpn/__init__.py:75
#, python-brace-format
msgid ""
"Download Profile"
@@ -3377,11 +3370,11 @@ msgstr ""
msgid "OpenVPN server is not running"
msgstr ""
-#: plinth/modules/openvpn/views.py:128
+#: plinth/modules/openvpn/views.py:126
msgid "Setup completed."
msgstr ""
-#: plinth/modules/openvpn/views.py:130
+#: plinth/modules/openvpn/views.py:128
msgid "Setup failed."
msgstr ""
@@ -3451,7 +3444,7 @@ msgid ""
"pagekite.net server."
msgstr ""
-#: plinth/modules/pagekite/forms.py:78 plinth/modules/shadowsocks/forms.py:64
+#: plinth/modules/pagekite/forms.py:78 plinth/modules/shadowsocks/forms.py:57
msgid "Server port"
msgstr ""
@@ -3656,47 +3649,47 @@ msgstr ""
msgid "Save Services"
msgstr ""
-#: plinth/modules/pagekite/utils.py:53
+#: plinth/modules/pagekite/utils.py:57
msgid "Web Server (HTTP)"
msgstr ""
-#: plinth/modules/pagekite/utils.py:54
+#: plinth/modules/pagekite/utils.py:59
#, python-brace-format
msgid "Site will be available at http://{0}"
msgstr ""
-#: plinth/modules/pagekite/utils.py:63
+#: plinth/modules/pagekite/utils.py:71
msgid "Web Server (HTTPS)"
msgstr ""
-#: plinth/modules/pagekite/utils.py:64
+#: plinth/modules/pagekite/utils.py:73
#, python-brace-format
msgid "Site will be available at https://{0}"
msgstr ""
-#: plinth/modules/pagekite/utils.py:73
+#: plinth/modules/pagekite/utils.py:85
msgid "Secure Shell (SSH)"
msgstr ""
-#: plinth/modules/pagekite/utils.py:74
+#: plinth/modules/pagekite/utils.py:87
msgid ""
"See SSH client setup instructions"
msgstr ""
-#: plinth/modules/pagekite/utils.py:276
+#: plinth/modules/pagekite/utils.py:288
msgid "Pagekite"
msgstr ""
-#: plinth/modules/pagekite/views.py:39
+#: plinth/modules/pagekite/views.py:40
msgid "Standard Services"
msgstr ""
-#: plinth/modules/pagekite/views.py:42
+#: plinth/modules/pagekite/views.py:44
msgid "Custom Services"
msgstr ""
-#: plinth/modules/pagekite/views.py:156
+#: plinth/modules/pagekite/views.py:158
msgid "Pagekite setup finished. The HTTP and HTTPS services are activated now."
msgstr ""
"Ustawiania Pagekite zostało zakończone. Usługi HTTP i HTTPS są aktywne."
@@ -3765,22 +3758,22 @@ msgstr ""
msgid "Shut Down Now"
msgstr ""
-#: plinth/modules/privoxy/__init__.py:41
+#: plinth/modules/privoxy/__init__.py:42
msgid "Privoxy"
msgstr ""
-#: plinth/modules/privoxy/__init__.py:43
+#: plinth/modules/privoxy/__init__.py:44
msgid "Web Proxy"
msgstr ""
-#: plinth/modules/privoxy/__init__.py:46
+#: plinth/modules/privoxy/__init__.py:47
msgid ""
"Privoxy is a non-caching web proxy with advanced filtering capabilities for "
"enhancing privacy, modifying web page data and HTTP headers, controlling "
"access, and removing ads and other obnoxious Internet junk. "
msgstr ""
-#: plinth/modules/privoxy/__init__.py:51
+#: plinth/modules/privoxy/__init__.py:52
#, python-brace-format
msgid ""
"You can use Privoxy by modifying your browser proxy settings to your "
@@ -3790,20 +3783,20 @@ msgid ""
"\">http://p.p."
msgstr ""
-#: plinth/modules/privoxy/__init__.py:157
+#: plinth/modules/privoxy/__init__.py:142
#, python-brace-format
msgid "Access {url} with proxy {proxy} on tcp{kind}"
msgstr ""
-#: plinth/modules/quassel/__init__.py:41 plinth/modules/quassel/manifest.py:25
+#: plinth/modules/quassel/__init__.py:40 plinth/modules/quassel/manifest.py:25
msgid "Quassel"
msgstr ""
-#: plinth/modules/quassel/__init__.py:43
+#: plinth/modules/quassel/__init__.py:42
msgid "IRC Client"
msgstr ""
-#: plinth/modules/quassel/__init__.py:47
+#: plinth/modules/quassel/__init__.py:46
#, python-brace-format
msgid ""
"Quassel is an IRC application that is split into two parts, a \"core\" and a "
@@ -3814,7 +3807,7 @@ msgid ""
"connect and disconnect from it."
msgstr ""
-#: plinth/modules/quassel/__init__.py:54
+#: plinth/modules/quassel/__init__.py:53
msgid ""
"You can connect to your Quassel core on the default Quassel port 4242. "
"Clients to connect to Quassel from your Jitsi (for computers) and (for Android phones)."
msgstr ""
-#: plinth/modules/repro/__init__.py:53
+#: plinth/modules/repro/__init__.py:55
msgid ""
"Note: Before using repro, domains and users will need to "
"be configured using the web-based "
@@ -3961,15 +3954,15 @@ msgstr ""
msgid "CSipSimple"
msgstr ""
-#: plinth/modules/restore/__init__.py:36 plinth/modules/restore/manifest.py:23
+#: plinth/modules/restore/__init__.py:37 plinth/modules/restore/manifest.py:23
msgid "reStore"
msgstr ""
-#: plinth/modules/restore/__init__.py:38
+#: plinth/modules/restore/__init__.py:39
msgid "Unhosted Storage"
msgstr ""
-#: plinth/modules/restore/__init__.py:42
+#: plinth/modules/restore/__init__.py:43
#, python-brace-format
msgid ""
"reStore is a server for unhosted web "
@@ -3979,24 +3972,24 @@ msgid ""
"becomes your unhosted storage server."
msgstr ""
-#: plinth/modules/restore/__init__.py:48
+#: plinth/modules/restore/__init__.py:49
msgid ""
"You can create and edit accounts in the reStore web-"
"interface."
msgstr ""
-#: plinth/modules/roundcube/__init__.py:34
+#: plinth/modules/roundcube/__init__.py:35
#: plinth/modules/roundcube/manifest.py:24
msgid "Roundcube"
msgstr ""
-#: plinth/modules/roundcube/__init__.py:36
+#: plinth/modules/roundcube/__init__.py:37
#, fuzzy
#| msgid "Dynamic DNS Client"
msgid "Email Client"
msgstr "Klient Dynamic DNS"
-#: plinth/modules/roundcube/__init__.py:39
+#: plinth/modules/roundcube/__init__.py:40
msgid ""
"Roundcube webmail is a browser-based multilingual IMAP client with an "
"application-like user interface. It provides full functionality you expect "
@@ -4004,7 +3997,7 @@ msgid ""
"manipulation, message searching and spell checking."
msgstr ""
-#: plinth/modules/roundcube/__init__.py:44
+#: plinth/modules/roundcube/__init__.py:45
msgid ""
"You can access Roundcube from /roundcube. Provide "
"the username and password of the email account you wish to access followed "
@@ -4013,7 +4006,7 @@ msgid ""
"server field like imaps://imap.example.com."
msgstr ""
-#: plinth/modules/roundcube/__init__.py:50
+#: plinth/modules/roundcube/__init__.py:51
msgid ""
"For Gmail, username will be your Gmail address, password will be your Google "
"account password and server will be imaps://imap.gmail.com. "
@@ -4075,12 +4068,12 @@ msgstr ""
msgid "Allow this application to be used by anyone who can reach it."
msgstr ""
-#: plinth/modules/searx/views.py:60 plinth/modules/searx/views.py:71
-#: plinth/modules/tor/views.py:139 plinth/modules/tor/views.py:168
+#: plinth/modules/searx/views.py:59 plinth/modules/searx/views.py:70
+#: plinth/modules/tor/views.py:141 plinth/modules/tor/views.py:168
msgid "Configuration updated."
msgstr ""
-#: plinth/modules/searx/views.py:63 plinth/modules/searx/views.py:74
+#: plinth/modules/searx/views.py:62 plinth/modules/searx/views.py:73
#: plinth/modules/tor/views.py:170
msgid "An error occurred during configuration."
msgstr ""
@@ -4135,22 +4128,22 @@ msgid ""
"account, which you will need to setup on the initial visit."
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:34
+#: plinth/modules/shadowsocks/__init__.py:35
msgid "Shadowsocks"
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:36
+#: plinth/modules/shadowsocks/__init__.py:37
msgid "Socks5 Proxy"
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:45
+#: plinth/modules/shadowsocks/__init__.py:44
msgid ""
"Shadowsocks is a lightweight and secure SOCKS5 proxy, designed to protect "
"your Internet traffic. It can be used to bypass Internet filtering and "
"censorship."
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:49
+#: plinth/modules/shadowsocks/__init__.py:48
#, python-brace-format
msgid ""
"Your {box_name} can run a Shadowsocks client, that can connect to a "
@@ -4159,36 +4152,36 @@ msgid ""
"the Shadowsocks server."
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:54
+#: plinth/modules/shadowsocks/__init__.py:53
msgid ""
"To use Shadowsocks after setup, set the SOCKS5 proxy URL in your device, "
"browser or application to http://freedombox_address:1080/"
msgstr ""
+#: plinth/modules/shadowsocks/forms.py:28
#: plinth/modules/shadowsocks/forms.py:29
-#: plinth/modules/shadowsocks/forms.py:30
msgid "Recommended"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:60
+#: plinth/modules/shadowsocks/forms.py:54
#, fuzzy
#| msgid "Chat Server"
msgid "Server"
msgstr "Serwer czatu"
-#: plinth/modules/shadowsocks/forms.py:61
+#: plinth/modules/shadowsocks/forms.py:54
msgid "Server hostname or IP address"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:67
+#: plinth/modules/shadowsocks/forms.py:58
msgid "Server port number"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:71
+#: plinth/modules/shadowsocks/forms.py:61
msgid "Password used to encrypt data. Must match server password."
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:77
+#: plinth/modules/shadowsocks/forms.py:66
msgid "Encryption method. Must match setting on server."
msgstr ""
@@ -4460,7 +4453,7 @@ msgstr ""
msgid "Storage snapshots configuration updated"
msgstr "Zaktualizowano ustawienia praw dostępu"
-#: plinth/modules/snapshot/views.py:153 plinth/modules/tor/views.py:72
+#: plinth/modules/snapshot/views.py:153 plinth/modules/tor/views.py:73
#, python-brace-format
msgid "Action error: {0} [{1}] [{2}]"
msgstr ""
@@ -4494,11 +4487,11 @@ msgstr ""
msgid "Rollback to Snapshot"
msgstr ""
-#: plinth/modules/ssh/__init__.py:39
+#: plinth/modules/ssh/__init__.py:40
msgid "Secure Shell (SSH) Server"
msgstr ""
-#: plinth/modules/ssh/__init__.py:42
+#: plinth/modules/ssh/__init__.py:43
msgid ""
"A Secure Shell server uses the secure shell protocol to accept connections "
"from remote computers. An authorized remote computer can perform "
@@ -4514,11 +4507,11 @@ msgstr ""
msgid "Login"
msgstr ""
-#: plinth/modules/storage/__init__.py:36 plinth/modules/storage/views.py:53
+#: plinth/modules/storage/__init__.py:35 plinth/modules/storage/views.py:53
msgid "Storage"
msgstr ""
-#: plinth/modules/storage/__init__.py:44
+#: plinth/modules/storage/__init__.py:43
#, python-brace-format
msgid ""
"This module allows you to manage storage media attached to your {box_name}. "
@@ -4526,83 +4519,83 @@ msgid ""
"media, expand the root partition etc."
msgstr ""
-#: plinth/modules/storage/__init__.py:211
+#: plinth/modules/storage/__init__.py:213
#, fuzzy, python-brace-format
#| msgid "{disk_size} bytes"
msgid "{disk_size:.1f} bytes"
msgstr "{disk_size} bajtów"
-#: plinth/modules/storage/__init__.py:215
+#: plinth/modules/storage/__init__.py:217
#, fuzzy, python-brace-format
msgid "{disk_size:.1f} KiB"
msgstr "{disk_size} KiB"
-#: plinth/modules/storage/__init__.py:219
+#: plinth/modules/storage/__init__.py:221
#, fuzzy, python-brace-format
msgid "{disk_size:.1f} MiB"
msgstr "{disk_size} MiB"
-#: plinth/modules/storage/__init__.py:223
+#: plinth/modules/storage/__init__.py:225
#, fuzzy, python-brace-format
msgid "{disk_size:.1f} GiB"
msgstr "{disk_size} GiB"
-#: plinth/modules/storage/__init__.py:226
+#: plinth/modules/storage/__init__.py:228
#, fuzzy, python-brace-format
msgid "{disk_size:.1f} TiB"
msgstr "{disk_size} TiB"
-#: plinth/modules/storage/__init__.py:233
+#: plinth/modules/storage/__init__.py:235
msgid "The operation failed."
msgstr ""
-#: plinth/modules/storage/__init__.py:235
+#: plinth/modules/storage/__init__.py:237
msgid "The operation was cancelled."
msgstr ""
-#: plinth/modules/storage/__init__.py:237
+#: plinth/modules/storage/__init__.py:239
msgid "The device is already unmounting."
msgstr ""
-#: plinth/modules/storage/__init__.py:239
+#: plinth/modules/storage/__init__.py:241
msgid "The operation is not supported due to missing driver/tool support."
msgstr ""
-#: plinth/modules/storage/__init__.py:242
+#: plinth/modules/storage/__init__.py:244
msgid "The operation timed out."
msgstr ""
-#: plinth/modules/storage/__init__.py:244
+#: plinth/modules/storage/__init__.py:246
msgid "The operation would wake up a disk that is in a deep-sleep state."
msgstr ""
-#: plinth/modules/storage/__init__.py:247
+#: plinth/modules/storage/__init__.py:249
msgid "Attempting to unmount a device that is busy."
msgstr ""
-#: plinth/modules/storage/__init__.py:249
+#: plinth/modules/storage/__init__.py:251
msgid "The operation has already been cancelled."
msgstr ""
-#: plinth/modules/storage/__init__.py:255
+#: plinth/modules/storage/__init__.py:257
msgid "Not authorized to perform the requested operation."
msgstr ""
-#: plinth/modules/storage/__init__.py:257
+#: plinth/modules/storage/__init__.py:259
#, fuzzy
#| msgid "The requested domain is already registered."
msgid "The device is already mounted."
msgstr "Wnioskowana domena jest już zarejstrowana."
-#: plinth/modules/storage/__init__.py:259
+#: plinth/modules/storage/__init__.py:261
msgid "The device is not mounted."
msgstr ""
-#: plinth/modules/storage/__init__.py:262
+#: plinth/modules/storage/__init__.py:264
msgid "Not permitted to use the requested option."
msgstr ""
-#: plinth/modules/storage/__init__.py:265
+#: plinth/modules/storage/__init__.py:267
msgid "The device is mounted by another user."
msgstr ""
@@ -4686,16 +4679,16 @@ msgstr ""
msgid "Error ejecting device: {error_message}"
msgstr ""
-#: plinth/modules/syncthing/__init__.py:38
+#: plinth/modules/syncthing/__init__.py:40
#: plinth/modules/syncthing/manifest.py:28
msgid "Syncthing"
msgstr ""
-#: plinth/modules/syncthing/__init__.py:40
+#: plinth/modules/syncthing/__init__.py:42
msgid "File Synchronization"
msgstr ""
-#: plinth/modules/syncthing/__init__.py:43
+#: plinth/modules/syncthing/__init__.py:45
msgid ""
"Syncthing is an application to synchronize files across multiple devices, e."
"g. your desktop computer and mobile phone. Creation, modification, or "
@@ -4703,7 +4696,7 @@ msgid ""
"other devices that also run Syncthing."
msgstr ""
-#: plinth/modules/syncthing/__init__.py:48
+#: plinth/modules/syncthing/__init__.py:50
#, python-brace-format
msgid ""
"Running Syncthing on {box_name} provides an extra synchronization point for "
@@ -4714,26 +4707,26 @@ msgid ""
"{box_name} is only available for users belonging to the \"admin\" group."
msgstr ""
-#: plinth/modules/syncthing/__init__.py:55
+#: plinth/modules/syncthing/__init__.py:57
msgid ""
"When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile clients are also available."
msgstr ""
-#: plinth/modules/syncthing/__init__.py:62
+#: plinth/modules/syncthing/__init__.py:64
msgid "Administer Syncthing application"
msgstr ""
-#: plinth/modules/tahoe/__init__.py:41
+#: plinth/modules/tahoe/__init__.py:43
msgid "Tahoe-LAFS"
msgstr ""
-#: plinth/modules/tahoe/__init__.py:43
+#: plinth/modules/tahoe/__init__.py:45
msgid "Distributed File Storage"
msgstr ""
-#: plinth/modules/tahoe/__init__.py:107
+#: plinth/modules/tahoe/__init__.py:119
msgid ""
"Tahoe-LAFS is a decentralized secure file storage system. It uses provider "
"independent security to store files over a distributed network of storage "
@@ -4741,7 +4734,7 @@ msgid ""
"remaining nodes."
msgstr ""
-#: plinth/modules/tahoe/__init__.py:112
+#: plinth/modules/tahoe/__init__.py:124
#, python-brace-format
msgid ""
"This {box_name} hosts a storage node and an introducer by default. "
@@ -4784,11 +4777,11 @@ msgstr ""
msgid "Remove"
msgstr ""
-#: plinth/modules/tor/__init__.py:43
+#: plinth/modules/tor/__init__.py:46
msgid "Tor"
msgstr ""
-#: plinth/modules/tor/__init__.py:48
+#: plinth/modules/tor/__init__.py:51
msgid ""
"Tor is an anonymous communication system. You can learn more about it from "
"the Tor Project website. For "
@@ -4797,40 +4790,36 @@ msgid ""
"\">Tor Browser."
msgstr ""
-#: plinth/modules/tor/__init__.py:93
+#: plinth/modules/tor/__init__.py:80
msgid "Tor Socks Proxy"
msgstr ""
-#: plinth/modules/tor/__init__.py:99 plinth/modules/tor/__init__.py:146
+#: plinth/modules/tor/__init__.py:84
msgid "Tor Bridge Relay"
msgstr ""
-#: plinth/modules/tor/__init__.py:120 plinth/modules/tor/__init__.py:188
+#: plinth/modules/tor/__init__.py:122 plinth/modules/tor/__init__.py:150
msgid "Tor Hidden Service"
msgstr ""
-#: plinth/modules/tor/__init__.py:136
-msgid "Tor Anonymity Network"
-msgstr ""
-
-#: plinth/modules/tor/__init__.py:208
+#: plinth/modules/tor/__init__.py:170
msgid "Tor relay port available"
msgstr ""
-#: plinth/modules/tor/__init__.py:218
+#: plinth/modules/tor/__init__.py:180
msgid "Obfs3 transport registered"
msgstr ""
-#: plinth/modules/tor/__init__.py:226
+#: plinth/modules/tor/__init__.py:188
msgid "Obfs4 transport registered"
msgstr ""
-#: plinth/modules/tor/__init__.py:265
+#: plinth/modules/tor/__init__.py:227
#, python-brace-format
msgid "Access URL {url} on tcp{kind} via Tor"
msgstr ""
-#: plinth/modules/tor/__init__.py:276
+#: plinth/modules/tor/__init__.py:238
#, python-brace-format
msgid "Confirm Tor usage at {url} on tcp{kind}"
msgstr ""
@@ -4964,18 +4953,18 @@ msgstr ""
msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050."
msgstr ""
-#: plinth/modules/transmission/__init__.py:39
+#: plinth/modules/transmission/__init__.py:41
#: plinth/modules/transmission/manifest.py:24
msgid "Transmission"
msgstr ""
-#: plinth/modules/transmission/__init__.py:44
+#: plinth/modules/transmission/__init__.py:46
msgid ""
"BitTorrent is a peer-to-peer file sharing protocol. Transmission daemon "
"handles Bitorrent file sharing. Note that BitTorrent is not anonymous."
msgstr ""
-#: plinth/modules/transmission/__init__.py:47
+#: plinth/modules/transmission/__init__.py:49
msgid ""
"Access the web interface at /transmission."
msgstr ""
@@ -4991,22 +4980,22 @@ msgid ""
"\" user."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:41 plinth/modules/ttrss/manifest.py:34
+#: plinth/modules/ttrss/__init__.py:43 plinth/modules/ttrss/manifest.py:34
msgid "Tiny Tiny RSS"
msgstr ""
-#: plinth/modules/ttrss/__init__.py:43
+#: plinth/modules/ttrss/__init__.py:45
msgid "News Feed Reader"
msgstr ""
-#: plinth/modules/ttrss/__init__.py:46
+#: plinth/modules/ttrss/__init__.py:48
msgid ""
"Tiny Tiny RSS is a news feed (RSS/Atom) reader and aggregator, designed to "
"allow reading news from any location, while feeling as close to a real "
"desktop application as possible."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:50
+#: plinth/modules/ttrss/__init__.py:52
#, python-brace-format
msgid ""
"When enabled, Tiny Tiny RSS will be available from /tt-"
@@ -5014,13 +5003,13 @@ msgid ""
"\"{users_url}\">user with a {box_name} login."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:55
+#: plinth/modules/ttrss/__init__.py:57
msgid ""
"When using a mobile or desktop application for Tiny Tiny RSS, use the URL /tt-rss-app for connecting."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:61
+#: plinth/modules/ttrss/__init__.py:63
msgid "Read and subscribe to news feeds"
msgstr ""
@@ -5028,11 +5017,11 @@ msgstr ""
msgid "Tiny Tiny RSS (Fork)"
msgstr ""
-#: plinth/modules/upgrades/__init__.py:36 plinth/templates/setup.html:101
+#: plinth/modules/upgrades/__init__.py:35 plinth/templates/setup.html:101
msgid "Update"
msgstr ""
-#: plinth/modules/upgrades/__init__.py:39
+#: plinth/modules/upgrades/__init__.py:38
msgid "Check for and apply the latest software and security updates."
msgstr ""
@@ -5073,34 +5062,34 @@ msgstr ""
msgid "Auto-update"
msgstr "Ostatnie uaktualnienie"
-#: plinth/modules/upgrades/views.py:39
+#: plinth/modules/upgrades/views.py:40
#, fuzzy
#| msgid "Last update"
msgid "Manual update"
msgstr "Ostatnie uaktualnienie"
-#: plinth/modules/upgrades/views.py:78
+#: plinth/modules/upgrades/views.py:79
#, python-brace-format
msgid "Error when configuring unattended-upgrades: {error}"
msgstr ""
-#: plinth/modules/upgrades/views.py:82
+#: plinth/modules/upgrades/views.py:83
msgid "Automatic upgrades enabled"
msgstr ""
-#: plinth/modules/upgrades/views.py:85
+#: plinth/modules/upgrades/views.py:86
msgid "Automatic upgrades disabled"
msgstr ""
-#: plinth/modules/upgrades/views.py:87
+#: plinth/modules/upgrades/views.py:88
msgid "Settings unchanged"
msgstr ""
-#: plinth/modules/upgrades/views.py:113
+#: plinth/modules/upgrades/views.py:114
msgid "Upgrade process started."
msgstr ""
-#: plinth/modules/upgrades/views.py:116
+#: plinth/modules/upgrades/views.py:117
msgid "Starting upgrade failed."
msgstr ""
@@ -5108,7 +5097,7 @@ msgstr ""
msgid "Users and Groups"
msgstr ""
-#: plinth/modules/users/__init__.py:106
+#: plinth/modules/users/__init__.py:108
#, python-brace-format
msgid "Check LDAP entry \"{search_item}\""
msgstr ""
@@ -5323,15 +5312,6 @@ msgstr ""
msgid "configuration file: {file}"
msgstr "plik konfiguracyjny: {file}"
-#: plinth/service.py:140
-msgid "Web Server over Secure Socket Layer"
-msgstr ""
-
-#: plinth/service.py:145
-#, python-brace-format
-msgid "{box_name} Web Interface (Plinth)"
-msgstr ""
-
#: plinth/templates/403.html:25
msgid "403 Forbidden"
msgstr "403 Dostęp zabroniony"
@@ -5569,17 +5549,17 @@ msgstr ""
msgid "Mailing list"
msgstr ""
-#: plinth/templates/internal-zone.html:25
+#: plinth/templates/internal-zone.html:26
#, fuzzy, python-format
#| msgid "Service %(service_name)s is not running."
msgid "%(service_name)s is available only on internal networks."
msgstr "Usługa %(service_name)s nie jest uruchomiona."
-#: plinth/templates/internal-zone.html:31
+#: plinth/templates/internal-zone.html:32
msgid "Currently there are no network interfaces configured as internal."
msgstr ""
-#: plinth/templates/internal-zone.html:33
+#: plinth/templates/internal-zone.html:34
#, python-format
msgid ""
"Currently the following network interfaces are configured as internal: "
@@ -5644,6 +5624,14 @@ msgstr ""
msgid "%(percentage)s%% complete"
msgstr ""
+#: plinth/views.py:178
+msgid "Application enabled"
+msgstr "Aplikacja włączona"
+
+#: plinth/views.py:181
+msgid "Application disabled"
+msgstr "Aplikacja wyłączona"
+
#: plinth/web_framework.py:186
msgid "Gujarati"
msgstr ""
diff --git a/plinth/locale/pt/LC_MESSAGES/django.po b/plinth/locale/pt/LC_MESSAGES/django.po
index c6b6cd0b5..64912c831 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: 2019-06-10 19:02-0400\n"
+"POT-Creation-Date: 2019-06-24 19:48-0400\n"
"PO-Revision-Date: 2019-06-22 06:01+0000\n"
"Last-Translator: adaragao \n"
"Language-Team: Portuguese /"
@@ -515,14 +526,14 @@ msgid ""
"\"{users_url}\">any user on {box_name} belonging to the admin group."
msgstr ""
-#: plinth/modules/config/__init__.py:59 plinth/modules/dynamicdns/views.py:44
+#: plinth/modules/config/__init__.py:61 plinth/modules/dynamicdns/views.py:45
#: plinth/modules/i2p/views.py:31 plinth/modules/ikiwiki/views.py:35
#: plinth/modules/pagekite/views.py:36 plinth/modules/snapshot/views.py:40
#: plinth/modules/tahoe/templates/tahoe-pre-setup.html:39
msgid "Configure"
msgstr "Configurar"
-#: plinth/modules/config/__init__.py:164 plinth/modules/config/forms.py:76
+#: plinth/modules/config/__init__.py:166 plinth/modules/config/forms.py:76
#: plinth/modules/config/views.py:171 plinth/modules/dynamicdns/forms.py:111
msgid "Domain Name"
msgstr "Nome de Domínio"
@@ -620,8 +631,8 @@ msgstr ""
#: plinth/modules/power/templates/power_restart.html:42
#: plinth/modules/power/templates/power_shutdown.html:41
#: plinth/modules/storage/templates/storage.html:48
-#: plinth/templates/service-subsubmenu.html:47 plinth/templates/service.html:42
-#: plinth/templates/setup.html:48 plinth/templates/simple_service.html:38
+#: plinth/templates/app-subsubmenu.html:47 plinth/templates/app.html:42
+#: plinth/templates/setup.html:48 plinth/templates/simple_app.html:38
msgid "Learn more..."
msgstr ""
@@ -671,22 +682,22 @@ msgstr ""
msgid "Hiding advanced apps and features"
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:38
+#: plinth/modules/coquelicot/__init__.py:40
msgid "Coquelicot"
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:40
+#: plinth/modules/coquelicot/__init__.py:42
msgid "File Sharing"
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:43
+#: plinth/modules/coquelicot/__init__.py:45
msgid ""
"Coquelicot is a “one-click” file sharing web application with a focus on "
"protecting users’ privacy. It is best used for quickly sharing a single "
"file. "
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:46
+#: plinth/modules/coquelicot/__init__.py:48
msgid ""
"This Coquelicot instance is exposed to the public but requires an upload "
"password to prevent unauthorized access. You can set a new upload password "
@@ -716,21 +727,21 @@ msgstr ""
msgid "coquelicot"
msgstr ""
-#: plinth/modules/coquelicot/views.py:57
+#: plinth/modules/coquelicot/views.py:59
msgid "Upload password updated"
msgstr ""
-#: plinth/modules/coquelicot/views.py:60
+#: plinth/modules/coquelicot/views.py:62
msgid "Failed to update upload password"
msgstr ""
-#: plinth/modules/coquelicot/views.py:68
+#: plinth/modules/coquelicot/views.py:70
#, fuzzy
#| msgid "Configuration updated"
msgid "Maximum file size updated"
msgstr "Configuração atualizada"
-#: plinth/modules/coquelicot/views.py:71
+#: plinth/modules/coquelicot/views.py:73
msgid "Failed to update maximum file size"
msgstr ""
@@ -744,21 +755,21 @@ msgid ""
"synchronization with servers on the Internet."
msgstr ""
-#: plinth/modules/datetime/__init__.py:107
+#: plinth/modules/datetime/__init__.py:99
msgid "Time synchronized to NTP server"
msgstr ""
-#: plinth/modules/datetime/forms.py:36
+#: plinth/modules/datetime/forms.py:35
msgid "Time Zone"
msgstr "Fuso Horário"
-#: plinth/modules/datetime/forms.py:37
+#: plinth/modules/datetime/forms.py:36
msgid ""
"Set your time zone to get accurate timestamps. This will set the system-wide "
"time zone."
msgstr ""
-#: plinth/modules/datetime/forms.py:49
+#: plinth/modules/datetime/forms.py:47
msgid "-- no time zone set --"
msgstr ""
@@ -776,7 +787,7 @@ msgid "Deluge"
msgstr ""
#: plinth/modules/deluge/__init__.py:41
-#: plinth/modules/transmission/__init__.py:41
+#: plinth/modules/transmission/__init__.py:43
msgid "BitTorrent Web Client"
msgstr ""
@@ -792,7 +803,7 @@ msgid ""
msgstr ""
#: plinth/modules/deluge/__init__.py:51
-#: plinth/modules/transmission/__init__.py:54
+#: plinth/modules/transmission/__init__.py:56
msgid "Download files using BitTorrent applications"
msgstr ""
@@ -854,12 +865,12 @@ msgstr ""
msgid "Result"
msgstr ""
-#: plinth/modules/diaspora/__init__.py:52
+#: plinth/modules/diaspora/__init__.py:54
#: plinth/modules/diaspora/manifest.py:38
msgid "diaspora*"
msgstr ""
-#: plinth/modules/diaspora/__init__.py:54
+#: plinth/modules/diaspora/__init__.py:56
msgid "Federated Social Network"
msgstr ""
@@ -906,24 +917,24 @@ msgstr ""
#: plinth/modules/tahoe/templates/tahoe-pre-setup.html:58
#: plinth/modules/tor/templates/tor.html:96
#: plinth/modules/upgrades/templates/upgrades_configure.html:32
-#: plinth/templates/service.html:89
+#: plinth/templates/app.html:89
msgid "Update setup"
msgstr ""
-#: plinth/modules/diaspora/views.py:97 plinth/modules/ejabberd/views.py:64
-#: plinth/modules/matrixsynapse/views.py:107
-#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:150
-#: plinth/modules/tor/views.py:146 plinth/views.py:160
+#: plinth/modules/diaspora/views.py:94 plinth/modules/ejabberd/views.py:65
+#: plinth/modules/matrixsynapse/views.py:108
+#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:148
+#: plinth/modules/tor/views.py:148 plinth/views.py:174
msgid "Setting unchanged"
msgstr "Definição inalterada"
-#: plinth/modules/diaspora/views.py:101
+#: plinth/modules/diaspora/views.py:98
#, fuzzy
#| msgid "Applications"
msgid "User registrations enabled"
msgstr "Aplicações"
-#: plinth/modules/diaspora/views.py:105
+#: plinth/modules/diaspora/views.py:102
#, fuzzy
#| msgid "Applications"
msgid "User registrations disabled"
@@ -952,8 +963,8 @@ msgid ""
"IP address."
msgstr ""
-#: plinth/modules/dynamicdns/__init__.py:85
-#: plinth/modules/dynamicdns/views.py:167
+#: plinth/modules/dynamicdns/__init__.py:87
+#: plinth/modules/dynamicdns/views.py:169
msgid "Dynamic DNS Service"
msgstr ""
@@ -1044,7 +1055,7 @@ msgid "Username"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:121 plinth/modules/networks/forms.py:235
-#: plinth/modules/shadowsocks/forms.py:70
+#: plinth/modules/shadowsocks/forms.py:61
msgid "Password"
msgstr ""
@@ -1122,45 +1133,45 @@ msgstr ""
msgid "Last update"
msgstr ""
-#: plinth/modules/dynamicdns/views.py:41 plinth/modules/help/help.py:57
+#: plinth/modules/dynamicdns/views.py:41 plinth/modules/help/help.py:59
msgid "About"
msgstr ""
-#: plinth/modules/dynamicdns/views.py:47
+#: plinth/modules/dynamicdns/views.py:49
#: plinth/modules/firewall/templates/firewall.html:25
#: plinth/modules/firewall/templates/firewall.html:45
#: plinth/modules/i2p/templates/i2p.html:27
#: plinth/modules/networks/templates/connection_show.html:261
#: plinth/modules/openvpn/templates/openvpn.html:71
#: plinth/modules/tor/templates/tor.html:40
-#: plinth/modules/tor/templates/tor.html:68 plinth/templates/service.html:51
+#: plinth/modules/tor/templates/tor.html:68 plinth/templates/app.html:51
msgid "Status"
msgstr "Estado"
-#: plinth/modules/dynamicdns/views.py:78
+#: plinth/modules/dynamicdns/views.py:80
msgid "Configure Dynamic DNS"
msgstr ""
-#: plinth/modules/dynamicdns/views.py:103
+#: plinth/modules/dynamicdns/views.py:105
msgid "Dynamic DNS Status"
msgstr ""
-#: plinth/modules/ejabberd/__init__.py:43
+#: plinth/modules/ejabberd/__init__.py:45
msgid "ejabberd"
msgstr ""
-#: plinth/modules/ejabberd/__init__.py:45
-#: plinth/modules/matrixsynapse/__init__.py:43
+#: plinth/modules/ejabberd/__init__.py:47
+#: plinth/modules/matrixsynapse/__init__.py:45
msgid "Chat Server"
msgstr ""
-#: plinth/modules/ejabberd/__init__.py:48
+#: plinth/modules/ejabberd/__init__.py:50
msgid ""
"XMPP is an open and standardized communication protocol. Here you can run "
"and configure your XMPP server, called ejabberd."
msgstr ""
-#: plinth/modules/ejabberd/__init__.py:51
+#: plinth/modules/ejabberd/__init__.py:53
#, python-brace-format
msgid ""
"To actually communicate, you can use the web client"
@@ -1169,11 +1180,11 @@ msgid ""
"any user with a {box_name} login."
msgstr ""
-#: plinth/modules/ejabberd/forms.py:33
+#: plinth/modules/ejabberd/forms.py:32
msgid "Enable Message Archive Management"
msgstr ""
-#: plinth/modules/ejabberd/forms.py:36
+#: plinth/modules/ejabberd/forms.py:34
#, python-brace-format
msgid ""
"If enabled, your {box_name} will store chat message histories. This allows "
@@ -1243,39 +1254,23 @@ msgstr ""
#: plinth/modules/openvpn/templates/openvpn.html:123
#: plinth/modules/snapshot/templates/snapshot.html:27
#: plinth/modules/tahoe/templates/tahoe-post-setup.html:43
-#: plinth/modules/tor/templates/tor.html:88 plinth/templates/service.html:81
+#: plinth/modules/tor/templates/tor.html:88 plinth/templates/app.html:81
msgid "Configuration"
msgstr "Configuração"
-#: plinth/modules/ejabberd/views.py:68
-#: plinth/modules/matrixsynapse/views.py:111
-#: plinth/modules/mediawiki/views.py:79 plinth/views.py:164
-#, fuzzy
-#| msgid "Applications"
-msgid "Application enabled"
-msgstr "Aplicações"
-
-#: plinth/modules/ejabberd/views.py:71
-#: plinth/modules/matrixsynapse/views.py:114
-#: plinth/modules/mediawiki/views.py:82 plinth/views.py:167
-#, fuzzy
-#| msgid "Applications"
-msgid "Application disabled"
-msgstr "Aplicações"
-
-#: plinth/modules/ejabberd/views.py:78
+#: plinth/modules/ejabberd/views.py:77
msgid "Message Archive Management enabled"
msgstr ""
-#: plinth/modules/ejabberd/views.py:82
+#: plinth/modules/ejabberd/views.py:81
msgid "Message Archive Management disabled"
msgstr ""
-#: plinth/modules/firewall/__init__.py:40
+#: plinth/modules/firewall/__init__.py:36
msgid "Firewall"
msgstr ""
-#: plinth/modules/firewall/__init__.py:44
+#: plinth/modules/firewall/__init__.py:40
#, python-brace-format
msgid ""
"Firewall is a security system that controls the incoming and outgoing "
@@ -1381,29 +1376,29 @@ msgstr ""
msgid "Setup Complete"
msgstr ""
-#: plinth/modules/help/help.py:44
+#: plinth/modules/help/help.py:46
msgid "Documentation"
msgstr ""
-#: plinth/modules/help/help.py:48 plinth/modules/networks/forms.py:68
+#: plinth/modules/help/help.py:50 plinth/modules/networks/forms.py:68
#: plinth/modules/networks/forms.py:108 plinth/templates/index.html:135
msgid "Manual"
msgstr ""
-#: plinth/modules/help/help.py:53
+#: plinth/modules/help/help.py:55
msgid "Download Manual"
msgstr ""
-#: plinth/modules/help/help.py:73
+#: plinth/modules/help/help.py:75
msgid "Documentation and FAQ"
msgstr ""
-#: plinth/modules/help/help.py:81
+#: plinth/modules/help/help.py:83
#, python-brace-format
msgid "About {box_name}"
msgstr ""
-#: plinth/modules/help/help.py:102
+#: plinth/modules/help/help.py:104
#, python-brace-format
msgid "{box_name} Manual"
msgstr ""
@@ -1523,15 +1518,15 @@ msgid ""
"before submitting the bug report."
msgstr ""
-#: plinth/modules/i2p/__init__.py:40 plinth/modules/i2p/manifest.py:31
+#: plinth/modules/i2p/__init__.py:42 plinth/modules/i2p/manifest.py:31
msgid "I2P"
msgstr ""
-#: plinth/modules/i2p/__init__.py:42 plinth/modules/tor/__init__.py:45
+#: plinth/modules/i2p/__init__.py:44 plinth/modules/tor/__init__.py:48
msgid "Anonymity Network"
msgstr ""
-#: plinth/modules/i2p/__init__.py:45
+#: plinth/modules/i2p/__init__.py:47
msgid ""
"The Invisible Internet Project is an anonymous network layer intended to "
"protect communication from censorship and surveillance. I2P provides "
@@ -1539,37 +1534,37 @@ msgid ""
"distributed around the world."
msgstr ""
-#: plinth/modules/i2p/__init__.py:49
+#: plinth/modules/i2p/__init__.py:51
msgid ""
"Find more information about I2P on their project homepage."
msgstr ""
-#: plinth/modules/i2p/__init__.py:51
+#: plinth/modules/i2p/__init__.py:53
msgid ""
"The first visit to the provided web interface will initiate the "
"configuration process."
msgstr ""
-#: plinth/modules/i2p/__init__.py:57
+#: plinth/modules/i2p/__init__.py:59
#, fuzzy
#| msgid "Enable application"
msgid "Manage I2P application"
msgstr "Ativar aplicação"
-#: plinth/modules/i2p/templates/i2p.html:32 plinth/templates/service.html:56
+#: plinth/modules/i2p/templates/i2p.html:32 plinth/templates/app.html:56
#, fuzzy, python-format
#| msgid "Service discovery server is running"
msgid "Service %(service_name)s is running."
msgstr "O Servidor da descoberta do serviço está a correr"
-#: plinth/modules/i2p/templates/i2p.html:37 plinth/templates/service.html:61
+#: plinth/modules/i2p/templates/i2p.html:37 plinth/templates/app.html:61
#, fuzzy, python-format
#| msgid "Service discovery server is not running"
msgid "Service %(service_name)s is not running."
msgstr "O Servidor da descoberta do serviço não está a correr"
-#: plinth/modules/i2p/templates/i2p_service.html:13
+#: plinth/modules/i2p/templates/i2p_service.html:31
#: plinth/templates/clients.html:51
msgid "Launch"
msgstr ""
@@ -1582,45 +1577,45 @@ msgstr ""
msgid "Anonymous torrents"
msgstr ""
-#: plinth/modules/i2p/views.py:86
+#: plinth/modules/i2p/views.py:88
msgid "I2P Proxies and Tunnels"
msgstr ""
-#: plinth/modules/i2p/views.py:89
+#: plinth/modules/i2p/views.py:91
msgid ""
"I2P lets you browse the Internet and hidden services (eepsites) anonymously. "
"For this, your browser, preferably a Tor Browser, needs to be configured for "
"a proxy."
msgstr ""
-#: plinth/modules/i2p/views.py:92
+#: plinth/modules/i2p/views.py:94
msgid ""
"By default HTTP, HTTPS and IRC proxies are available. Additional proxies and "
"tunnels may be configured using the tunnel configuration interface."
msgstr ""
-#: plinth/modules/i2p/views.py:101
+#: plinth/modules/i2p/views.py:103
msgid "Anonymous Torrents"
msgstr ""
-#: plinth/modules/i2p/views.py:104
+#: plinth/modules/i2p/views.py:106
msgid ""
"I2P provides an application to download files anonymously in a peer-to-peer "
"network. Download files by adding torrents or create a new torrent to share "
"a file."
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:42 plinth/modules/ikiwiki/manifest.py:24
+#: plinth/modules/ikiwiki/__init__.py:41 plinth/modules/ikiwiki/manifest.py:24
#, fuzzy
#| msgid "Enable network time"
msgid "ikiwiki"
msgstr "Ativar tempo da rede"
-#: plinth/modules/ikiwiki/__init__.py:44
+#: plinth/modules/ikiwiki/__init__.py:43
msgid "Wiki and Blog"
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:47
+#: plinth/modules/ikiwiki/__init__.py:46
msgid ""
"ikiwiki is a simple wiki and blog application. It supports several "
"lightweight markup languages, including Markdown, and common blogging "
@@ -1628,7 +1623,7 @@ msgid ""
"wikis will be available at /ikiwiki (once created)."
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:53
+#: plinth/modules/ikiwiki/__init__.py:52
#, python-brace-format
msgid ""
"Only {box_name} users in the admin group can create and "
@@ -1637,7 +1632,7 @@ msgid ""
"Configuration you can change these permissions or add new users."
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:63
+#: plinth/modules/ikiwiki/__init__.py:62
#, fuzzy
#| msgid "Services and Applications"
msgid "View and edit wiki applications"
@@ -1707,49 +1702,49 @@ msgstr ""
msgid "Manage"
msgstr ""
-#: plinth/modules/ikiwiki/views.py:121
+#: plinth/modules/ikiwiki/views.py:124
#, python-brace-format
msgid "Created wiki {name}."
msgstr ""
-#: plinth/modules/ikiwiki/views.py:124
+#: plinth/modules/ikiwiki/views.py:127
#, python-brace-format
msgid "Could not create wiki: {error}"
msgstr ""
-#: plinth/modules/ikiwiki/views.py:134
+#: plinth/modules/ikiwiki/views.py:137
#, python-brace-format
msgid "Created blog {name}."
msgstr ""
-#: plinth/modules/ikiwiki/views.py:137
+#: plinth/modules/ikiwiki/views.py:140
#, python-brace-format
msgid "Could not create blog: {error}"
msgstr ""
-#: plinth/modules/ikiwiki/views.py:150
+#: plinth/modules/ikiwiki/views.py:153
#, python-brace-format
msgid "{name} deleted."
msgstr ""
-#: plinth/modules/ikiwiki/views.py:154
+#: plinth/modules/ikiwiki/views.py:157
#, python-brace-format
msgid "Could not delete {name}: {error}"
msgstr ""
-#: plinth/modules/infinoted/__init__.py:41
+#: plinth/modules/infinoted/__init__.py:40
msgid "infinoted"
msgstr ""
-#: plinth/modules/infinoted/__init__.py:43
+#: plinth/modules/infinoted/__init__.py:42
msgid "Gobby Server"
msgstr ""
-#: plinth/modules/infinoted/__init__.py:46
+#: plinth/modules/infinoted/__init__.py:45
msgid "infinoted is a server for Gobby, a collaborative text editor."
msgstr ""
-#: plinth/modules/infinoted/__init__.py:48
+#: plinth/modules/infinoted/__init__.py:47
#, python-brace-format
msgid ""
"To use it, download Gobby, desktop "
@@ -2075,11 +2070,11 @@ msgstr ""
msgid "Failed to delete certificate for domain {domain}: {error}"
msgstr ""
-#: plinth/modules/matrixsynapse/__init__.py:41
+#: plinth/modules/matrixsynapse/__init__.py:43
msgid "Matrix Synapse"
msgstr ""
-#: plinth/modules/matrixsynapse/__init__.py:46
+#: plinth/modules/matrixsynapse/__init__.py:48
msgid ""
"Matrix is an new "
"ecosystem for open, federated instant messaging and VoIP. Synapse is a "
@@ -2089,7 +2084,7 @@ msgid ""
"converse with users on all other Matrix servers via federation."
msgstr ""
-#: plinth/modules/matrixsynapse/__init__.py:53
+#: plinth/modules/matrixsynapse/__init__.py:55
msgid ""
"To communicate, you can use the available clients for mobile, desktop and the web. Special:CreateAccount page."
msgstr ""
-#: plinth/modules/mediawiki/__init__.py:49
+#: plinth/modules/mediawiki/__init__.py:53
msgid ""
"Anyone with a link to this wiki can read it. Only users that are logged in "
"can make changes to the content."
@@ -2236,40 +2231,40 @@ msgstr ""
msgid "Password updated"
msgstr ""
-#: plinth/modules/mediawiki/views.py:91
+#: plinth/modules/mediawiki/views.py:89
#, fuzzy
#| msgid "Applications"
msgid "Public registrations enabled"
msgstr "Aplicações"
-#: plinth/modules/mediawiki/views.py:100
+#: plinth/modules/mediawiki/views.py:98
#, fuzzy
#| msgid "Applications"
msgid "Public registrations disabled"
msgstr "Aplicações"
-#: plinth/modules/mediawiki/views.py:109
+#: plinth/modules/mediawiki/views.py:107
#, fuzzy
#| msgid "Applications"
msgid "Private mode enabled"
msgstr "Aplicações"
-#: plinth/modules/mediawiki/views.py:112
+#: plinth/modules/mediawiki/views.py:110
#, fuzzy
#| msgid "Applications"
msgid "Private mode disabled"
msgstr "Aplicações"
-#: plinth/modules/minetest/__init__.py:53
+#: plinth/modules/minetest/__init__.py:52
#: plinth/modules/minetest/manifest.py:25
msgid "Minetest"
msgstr ""
-#: plinth/modules/minetest/__init__.py:55
+#: plinth/modules/minetest/__init__.py:54
msgid "Block Sandbox"
msgstr ""
-#: plinth/modules/minetest/__init__.py:59
+#: plinth/modules/minetest/__init__.py:58
#, python-brace-format
msgid ""
"Minetest is a multiplayer infinite-world block sandbox. This module enables "
@@ -2278,41 +2273,41 @@ msgid ""
"downloads/\">Minetest client is needed."
msgstr ""
-#: plinth/modules/minetest/forms.py:31
+#: plinth/modules/minetest/forms.py:30
msgid "Maximum number of players"
msgstr ""
-#: plinth/modules/minetest/forms.py:35
+#: plinth/modules/minetest/forms.py:32
msgid ""
"You can change the maximum number of players playing minetest at a single "
"instance of time."
msgstr ""
-#: plinth/modules/minetest/forms.py:39
+#: plinth/modules/minetest/forms.py:36
#, fuzzy
#| msgid "Applications"
msgid "Enable creative mode"
msgstr "Aplicações"
-#: plinth/modules/minetest/forms.py:41
+#: plinth/modules/minetest/forms.py:37
msgid ""
"Creative mode changes the rules of the game to make it more suitable for "
"creative gameplay, rather than challenging \"survival\" gameplay."
msgstr ""
-#: plinth/modules/minetest/forms.py:46
+#: plinth/modules/minetest/forms.py:42
msgid "Enable PVP"
msgstr ""
-#: plinth/modules/minetest/forms.py:48
+#: plinth/modules/minetest/forms.py:43
msgid "Enabling Player Vs Player will allow players to damage other players."
msgstr ""
-#: plinth/modules/minetest/forms.py:52
+#: plinth/modules/minetest/forms.py:47
msgid "Enable damage"
msgstr ""
-#: plinth/modules/minetest/forms.py:54
+#: plinth/modules/minetest/forms.py:48
msgid "When disabled, players cannot die or receive damage of any kind."
msgstr ""
@@ -2326,60 +2321,60 @@ msgstr ""
msgid "Port"
msgstr ""
-#: plinth/modules/minetest/views.py:71
+#: plinth/modules/minetest/views.py:72
#, fuzzy
#| msgid "Configuration updated"
msgid "Maximum players configuration updated"
msgstr "Configuração atualizada"
-#: plinth/modules/minetest/views.py:78
+#: plinth/modules/minetest/views.py:79
#, fuzzy
#| msgid "Configuration updated"
msgid "Creative mode configuration updated"
msgstr "Configuração atualizada"
-#: plinth/modules/minetest/views.py:84
+#: plinth/modules/minetest/views.py:85
#, fuzzy
#| msgid "Configuration updated"
msgid "PVP configuration updated"
msgstr "Configuração atualizada"
-#: plinth/modules/minetest/views.py:90
+#: plinth/modules/minetest/views.py:91
#, fuzzy
#| msgid "Configuration updated"
msgid "Damage configuration updated"
msgstr "Configuração atualizada"
-#: plinth/modules/mldonkey/__init__.py:38
+#: plinth/modules/mldonkey/__init__.py:40
#: plinth/modules/mldonkey/manifest.py:27
msgid "MLDonkey"
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:40
+#: plinth/modules/mldonkey/__init__.py:42
msgid "Peer-to-peer File Sharing"
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:43
+#: plinth/modules/mldonkey/__init__.py:45
msgid ""
"MLDonkey is a peer-to-peer file sharing application used to exchange large "
"files. It can participate in multiple peer-to-peer networks including "
"eDonkey, Kademlia, Overnet, BitTorrent and DirectConnect."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:46
+#: plinth/modules/mldonkey/__init__.py:48
msgid ""
"Users belonging to admin and ed2k group can control it through the web "
"interface. Users in the admin group can also control it through any of the "
"separate mobile or desktop front-ends or a telnet interface. See manual."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:51
+#: plinth/modules/mldonkey/__init__.py:53
#, python-brace-format
msgid ""
"On {box_name}, downloaded files can be found in /var/lib/mldonkey/ directory."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:59
+#: plinth/modules/mldonkey/__init__.py:61
msgid "Download files using eDonkey applications"
msgstr ""
@@ -2445,12 +2440,6 @@ msgstr ""
msgid "Secure Shell"
msgstr ""
-#: plinth/modules/monkeysphere/templates/monkeysphere.html:88
-#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:60
-#: plinth/service.py:138
-msgid "Web Server"
-msgstr ""
-
#: plinth/modules/monkeysphere/templates/monkeysphere.html:90
#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:62
msgid "Other"
@@ -2547,21 +2536,21 @@ msgstr ""
msgid "Error occurred while publishing key."
msgstr ""
-#: plinth/modules/mumble/__init__.py:34 plinth/modules/mumble/manifest.py:27
+#: plinth/modules/mumble/__init__.py:35 plinth/modules/mumble/manifest.py:27
msgid "Mumble"
msgstr ""
-#: plinth/modules/mumble/__init__.py:36
+#: plinth/modules/mumble/__init__.py:37
msgid "Voice Chat"
msgstr ""
-#: plinth/modules/mumble/__init__.py:45
+#: plinth/modules/mumble/__init__.py:44
msgid ""
"Mumble is an open source, low-latency, encrypted, high quality voice chat "
"software."
msgstr ""
-#: plinth/modules/mumble/__init__.py:47
+#: plinth/modules/mumble/__init__.py:46
msgid ""
"You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your "
@@ -2609,7 +2598,7 @@ msgstr ""
msgid "Networks"
msgstr ""
-#: plinth/modules/networks/__init__.py:142
+#: plinth/modules/networks/__init__.py:144
#, python-brace-format
msgid "Using DNSSEC on IPv{kind}"
msgstr ""
@@ -3036,7 +3025,7 @@ msgstr ""
#: plinth/modules/networks/templates/connection_show.html:186
#: plinth/modules/networks/templates/connection_show.html:227
-#: plinth/modules/shadowsocks/forms.py:75
+#: plinth/modules/shadowsocks/forms.py:65
msgid "Method"
msgstr ""
@@ -3158,15 +3147,15 @@ msgstr ""
msgid "Create..."
msgstr ""
-#: plinth/modules/openvpn/__init__.py:40
+#: plinth/modules/openvpn/__init__.py:39
msgid "OpenVPN"
msgstr ""
-#: plinth/modules/openvpn/__init__.py:42
+#: plinth/modules/openvpn/__init__.py:41
msgid "Virtual Private Network"
msgstr ""
-#: plinth/modules/openvpn/__init__.py:46
+#: plinth/modules/openvpn/__init__.py:45
#, python-brace-format
msgid ""
"Virtual Private Network (VPN) is a technique for securely connecting two "
@@ -3177,7 +3166,7 @@ msgid ""
"security and anonymity."
msgstr ""
-#: plinth/modules/openvpn/__init__.py:74
+#: plinth/modules/openvpn/__init__.py:75
#, python-brace-format
msgid ""
"Download Profile"
@@ -3242,11 +3231,11 @@ msgstr ""
msgid "OpenVPN server is not running"
msgstr ""
-#: plinth/modules/openvpn/views.py:128
+#: plinth/modules/openvpn/views.py:126
msgid "Setup completed."
msgstr ""
-#: plinth/modules/openvpn/views.py:130
+#: plinth/modules/openvpn/views.py:128
msgid "Setup failed."
msgstr ""
@@ -3316,7 +3305,7 @@ msgid ""
"pagekite.net server."
msgstr ""
-#: plinth/modules/pagekite/forms.py:78 plinth/modules/shadowsocks/forms.py:64
+#: plinth/modules/pagekite/forms.py:78 plinth/modules/shadowsocks/forms.py:57
msgid "Server port"
msgstr ""
@@ -3518,47 +3507,47 @@ msgstr ""
msgid "Save Services"
msgstr ""
-#: plinth/modules/pagekite/utils.py:53
+#: plinth/modules/pagekite/utils.py:57
msgid "Web Server (HTTP)"
msgstr ""
-#: plinth/modules/pagekite/utils.py:54
+#: plinth/modules/pagekite/utils.py:59
#, python-brace-format
msgid "Site will be available at http://{0}"
msgstr ""
-#: plinth/modules/pagekite/utils.py:63
+#: plinth/modules/pagekite/utils.py:71
msgid "Web Server (HTTPS)"
msgstr ""
-#: plinth/modules/pagekite/utils.py:64
+#: plinth/modules/pagekite/utils.py:73
#, python-brace-format
msgid "Site will be available at https://{0}"
msgstr ""
-#: plinth/modules/pagekite/utils.py:73
+#: plinth/modules/pagekite/utils.py:85
msgid "Secure Shell (SSH)"
msgstr ""
-#: plinth/modules/pagekite/utils.py:74
+#: plinth/modules/pagekite/utils.py:87
msgid ""
"See SSH client setup instructions"
msgstr ""
-#: plinth/modules/pagekite/utils.py:276
+#: plinth/modules/pagekite/utils.py:288
msgid "Pagekite"
msgstr ""
-#: plinth/modules/pagekite/views.py:39
+#: plinth/modules/pagekite/views.py:40
msgid "Standard Services"
msgstr ""
-#: plinth/modules/pagekite/views.py:42
+#: plinth/modules/pagekite/views.py:44
msgid "Custom Services"
msgstr ""
-#: plinth/modules/pagekite/views.py:156
+#: plinth/modules/pagekite/views.py:158
msgid "Pagekite setup finished. The HTTP and HTTPS services are activated now."
msgstr ""
@@ -3619,22 +3608,22 @@ msgstr ""
msgid "Shut Down Now"
msgstr ""
-#: plinth/modules/privoxy/__init__.py:41
+#: plinth/modules/privoxy/__init__.py:42
msgid "Privoxy"
msgstr ""
-#: plinth/modules/privoxy/__init__.py:43
+#: plinth/modules/privoxy/__init__.py:44
msgid "Web Proxy"
msgstr ""
-#: plinth/modules/privoxy/__init__.py:46
+#: plinth/modules/privoxy/__init__.py:47
msgid ""
"Privoxy is a non-caching web proxy with advanced filtering capabilities for "
"enhancing privacy, modifying web page data and HTTP headers, controlling "
"access, and removing ads and other obnoxious Internet junk. "
msgstr ""
-#: plinth/modules/privoxy/__init__.py:51
+#: plinth/modules/privoxy/__init__.py:52
#, python-brace-format
msgid ""
"You can use Privoxy by modifying your browser proxy settings to your "
@@ -3644,20 +3633,20 @@ msgid ""
"\">http://p.p."
msgstr ""
-#: plinth/modules/privoxy/__init__.py:157
+#: plinth/modules/privoxy/__init__.py:142
#, python-brace-format
msgid "Access {url} with proxy {proxy} on tcp{kind}"
msgstr ""
-#: plinth/modules/quassel/__init__.py:41 plinth/modules/quassel/manifest.py:25
+#: plinth/modules/quassel/__init__.py:40 plinth/modules/quassel/manifest.py:25
msgid "Quassel"
msgstr ""
-#: plinth/modules/quassel/__init__.py:43
+#: plinth/modules/quassel/__init__.py:42
msgid "IRC Client"
msgstr ""
-#: plinth/modules/quassel/__init__.py:47
+#: plinth/modules/quassel/__init__.py:46
#, python-brace-format
msgid ""
"Quassel is an IRC application that is split into two parts, a \"core\" and a "
@@ -3668,7 +3657,7 @@ msgid ""
"connect and disconnect from it."
msgstr ""
-#: plinth/modules/quassel/__init__.py:54
+#: plinth/modules/quassel/__init__.py:53
msgid ""
"You can connect to your Quassel core on the default Quassel port 4242. "
"Clients to connect to Quassel from your Jitsi (for computers) and (for Android phones)."
msgstr ""
-#: plinth/modules/repro/__init__.py:53
+#: plinth/modules/repro/__init__.py:55
msgid ""
"Note: Before using repro, domains and users will need to "
"be configured using the web-based "
@@ -3817,15 +3806,15 @@ msgstr ""
msgid "CSipSimple"
msgstr ""
-#: plinth/modules/restore/__init__.py:36 plinth/modules/restore/manifest.py:23
+#: plinth/modules/restore/__init__.py:37 plinth/modules/restore/manifest.py:23
msgid "reStore"
msgstr ""
-#: plinth/modules/restore/__init__.py:38
+#: plinth/modules/restore/__init__.py:39
msgid "Unhosted Storage"
msgstr ""
-#: plinth/modules/restore/__init__.py:42
+#: plinth/modules/restore/__init__.py:43
#, python-brace-format
msgid ""
"reStore is a server for unhosted web "
@@ -3835,22 +3824,22 @@ msgid ""
"becomes your unhosted storage server."
msgstr ""
-#: plinth/modules/restore/__init__.py:48
+#: plinth/modules/restore/__init__.py:49
msgid ""
"You can create and edit accounts in the reStore web-"
"interface."
msgstr ""
-#: plinth/modules/roundcube/__init__.py:34
+#: plinth/modules/roundcube/__init__.py:35
#: plinth/modules/roundcube/manifest.py:24
msgid "Roundcube"
msgstr ""
-#: plinth/modules/roundcube/__init__.py:36
+#: plinth/modules/roundcube/__init__.py:37
msgid "Email Client"
msgstr ""
-#: plinth/modules/roundcube/__init__.py:39
+#: plinth/modules/roundcube/__init__.py:40
msgid ""
"Roundcube webmail is a browser-based multilingual IMAP client with an "
"application-like user interface. It provides full functionality you expect "
@@ -3858,7 +3847,7 @@ msgid ""
"manipulation, message searching and spell checking."
msgstr ""
-#: plinth/modules/roundcube/__init__.py:44
+#: plinth/modules/roundcube/__init__.py:45
msgid ""
"You can access Roundcube from /roundcube. Provide "
"the username and password of the email account you wish to access followed "
@@ -3867,7 +3856,7 @@ msgid ""
"server field like imaps://imap.example.com."
msgstr ""
-#: plinth/modules/roundcube/__init__.py:50
+#: plinth/modules/roundcube/__init__.py:51
msgid ""
"For Gmail, username will be your Gmail address, password will be your Google "
"account password and server will be imaps://imap.gmail.com. "
@@ -3929,14 +3918,14 @@ msgstr ""
msgid "Allow this application to be used by anyone who can reach it."
msgstr ""
-#: plinth/modules/searx/views.py:60 plinth/modules/searx/views.py:71
-#: plinth/modules/tor/views.py:139 plinth/modules/tor/views.py:168
+#: plinth/modules/searx/views.py:59 plinth/modules/searx/views.py:70
+#: plinth/modules/tor/views.py:141 plinth/modules/tor/views.py:168
#, fuzzy
#| msgid "Configuration updated"
msgid "Configuration updated."
msgstr "Configuração atualizada"
-#: plinth/modules/searx/views.py:63 plinth/modules/searx/views.py:74
+#: plinth/modules/searx/views.py:62 plinth/modules/searx/views.py:73
#: plinth/modules/tor/views.py:170
msgid "An error occurred during configuration."
msgstr ""
@@ -3994,22 +3983,22 @@ msgid ""
"account, which you will need to setup on the initial visit."
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:34
+#: plinth/modules/shadowsocks/__init__.py:35
msgid "Shadowsocks"
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:36
+#: plinth/modules/shadowsocks/__init__.py:37
msgid "Socks5 Proxy"
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:45
+#: plinth/modules/shadowsocks/__init__.py:44
msgid ""
"Shadowsocks is a lightweight and secure SOCKS5 proxy, designed to protect "
"your Internet traffic. It can be used to bypass Internet filtering and "
"censorship."
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:49
+#: plinth/modules/shadowsocks/__init__.py:48
#, python-brace-format
msgid ""
"Your {box_name} can run a Shadowsocks client, that can connect to a "
@@ -4018,34 +4007,34 @@ msgid ""
"the Shadowsocks server."
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:54
+#: plinth/modules/shadowsocks/__init__.py:53
msgid ""
"To use Shadowsocks after setup, set the SOCKS5 proxy URL in your device, "
"browser or application to http://freedombox_address:1080/"
msgstr ""
+#: plinth/modules/shadowsocks/forms.py:28
#: plinth/modules/shadowsocks/forms.py:29
-#: plinth/modules/shadowsocks/forms.py:30
msgid "Recommended"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:60
+#: plinth/modules/shadowsocks/forms.py:54
msgid "Server"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:61
+#: plinth/modules/shadowsocks/forms.py:54
msgid "Server hostname or IP address"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:67
+#: plinth/modules/shadowsocks/forms.py:58
msgid "Server port number"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:71
+#: plinth/modules/shadowsocks/forms.py:61
msgid "Password used to encrypt data. Must match server password."
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:77
+#: plinth/modules/shadowsocks/forms.py:66
msgid "Encryption method. Must match setting on server."
msgstr ""
@@ -4305,7 +4294,7 @@ msgstr ""
msgid "Storage snapshots configuration updated"
msgstr "Configuração atualizada"
-#: plinth/modules/snapshot/views.py:153 plinth/modules/tor/views.py:72
+#: plinth/modules/snapshot/views.py:153 plinth/modules/tor/views.py:73
#, python-brace-format
msgid "Action error: {0} [{1}] [{2}]"
msgstr ""
@@ -4335,11 +4324,11 @@ msgstr ""
msgid "Rollback to Snapshot"
msgstr ""
-#: plinth/modules/ssh/__init__.py:39
+#: plinth/modules/ssh/__init__.py:40
msgid "Secure Shell (SSH) Server"
msgstr ""
-#: plinth/modules/ssh/__init__.py:42
+#: plinth/modules/ssh/__init__.py:43
msgid ""
"A Secure Shell server uses the secure shell protocol to accept connections "
"from remote computers. An authorized remote computer can perform "
@@ -4355,11 +4344,11 @@ msgstr ""
msgid "Login"
msgstr ""
-#: plinth/modules/storage/__init__.py:36 plinth/modules/storage/views.py:53
+#: plinth/modules/storage/__init__.py:35 plinth/modules/storage/views.py:53
msgid "Storage"
msgstr ""
-#: plinth/modules/storage/__init__.py:44
+#: plinth/modules/storage/__init__.py:43
#, python-brace-format
msgid ""
"This module allows you to manage storage media attached to your {box_name}. "
@@ -4367,82 +4356,82 @@ msgid ""
"media, expand the root partition etc."
msgstr ""
-#: plinth/modules/storage/__init__.py:211
+#: plinth/modules/storage/__init__.py:213
#, python-brace-format
msgid "{disk_size:.1f} bytes"
msgstr ""
-#: plinth/modules/storage/__init__.py:215
+#: plinth/modules/storage/__init__.py:217
#, python-brace-format
msgid "{disk_size:.1f} KiB"
msgstr ""
-#: plinth/modules/storage/__init__.py:219
+#: plinth/modules/storage/__init__.py:221
#, python-brace-format
msgid "{disk_size:.1f} MiB"
msgstr ""
-#: plinth/modules/storage/__init__.py:223
+#: plinth/modules/storage/__init__.py:225
#, python-brace-format
msgid "{disk_size:.1f} GiB"
msgstr ""
-#: plinth/modules/storage/__init__.py:226
+#: plinth/modules/storage/__init__.py:228
#, python-brace-format
msgid "{disk_size:.1f} TiB"
msgstr ""
-#: plinth/modules/storage/__init__.py:233
+#: plinth/modules/storage/__init__.py:235
msgid "The operation failed."
msgstr ""
-#: plinth/modules/storage/__init__.py:235
+#: plinth/modules/storage/__init__.py:237
msgid "The operation was cancelled."
msgstr ""
-#: plinth/modules/storage/__init__.py:237
+#: plinth/modules/storage/__init__.py:239
#, fuzzy
#| msgid "Service discovery server is running"
msgid "The device is already unmounting."
msgstr "O Servidor da descoberta do serviço está a correr"
-#: plinth/modules/storage/__init__.py:239
+#: plinth/modules/storage/__init__.py:241
msgid "The operation is not supported due to missing driver/tool support."
msgstr ""
-#: plinth/modules/storage/__init__.py:242
+#: plinth/modules/storage/__init__.py:244
msgid "The operation timed out."
msgstr ""
-#: plinth/modules/storage/__init__.py:244
+#: plinth/modules/storage/__init__.py:246
msgid "The operation would wake up a disk that is in a deep-sleep state."
msgstr ""
-#: plinth/modules/storage/__init__.py:247
+#: plinth/modules/storage/__init__.py:249
msgid "Attempting to unmount a device that is busy."
msgstr ""
-#: plinth/modules/storage/__init__.py:249
+#: plinth/modules/storage/__init__.py:251
msgid "The operation has already been cancelled."
msgstr ""
-#: plinth/modules/storage/__init__.py:255
+#: plinth/modules/storage/__init__.py:257
msgid "Not authorized to perform the requested operation."
msgstr ""
-#: plinth/modules/storage/__init__.py:257
+#: plinth/modules/storage/__init__.py:259
msgid "The device is already mounted."
msgstr ""
-#: plinth/modules/storage/__init__.py:259
+#: plinth/modules/storage/__init__.py:261
msgid "The device is not mounted."
msgstr ""
-#: plinth/modules/storage/__init__.py:262
+#: plinth/modules/storage/__init__.py:264
msgid "Not permitted to use the requested option."
msgstr ""
-#: plinth/modules/storage/__init__.py:265
+#: plinth/modules/storage/__init__.py:267
msgid "The device is mounted by another user."
msgstr ""
@@ -4519,16 +4508,16 @@ msgstr ""
msgid "Error ejecting device: {error_message}"
msgstr ""
-#: plinth/modules/syncthing/__init__.py:38
+#: plinth/modules/syncthing/__init__.py:40
#: plinth/modules/syncthing/manifest.py:28
msgid "Syncthing"
msgstr ""
-#: plinth/modules/syncthing/__init__.py:40
+#: plinth/modules/syncthing/__init__.py:42
msgid "File Synchronization"
msgstr ""
-#: plinth/modules/syncthing/__init__.py:43
+#: plinth/modules/syncthing/__init__.py:45
msgid ""
"Syncthing is an application to synchronize files across multiple devices, e."
"g. your desktop computer and mobile phone. Creation, modification, or "
@@ -4536,7 +4525,7 @@ msgid ""
"other devices that also run Syncthing."
msgstr ""
-#: plinth/modules/syncthing/__init__.py:48
+#: plinth/modules/syncthing/__init__.py:50
#, python-brace-format
msgid ""
"Running Syncthing on {box_name} provides an extra synchronization point for "
@@ -4547,26 +4536,26 @@ msgid ""
"{box_name} is only available for users belonging to the \"admin\" group."
msgstr ""
-#: plinth/modules/syncthing/__init__.py:55
+#: plinth/modules/syncthing/__init__.py:57
msgid ""
"When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile clients are also available."
msgstr ""
-#: plinth/modules/syncthing/__init__.py:62
+#: plinth/modules/syncthing/__init__.py:64
msgid "Administer Syncthing application"
msgstr ""
-#: plinth/modules/tahoe/__init__.py:41
+#: plinth/modules/tahoe/__init__.py:43
msgid "Tahoe-LAFS"
msgstr ""
-#: plinth/modules/tahoe/__init__.py:43
+#: plinth/modules/tahoe/__init__.py:45
msgid "Distributed File Storage"
msgstr ""
-#: plinth/modules/tahoe/__init__.py:107
+#: plinth/modules/tahoe/__init__.py:119
msgid ""
"Tahoe-LAFS is a decentralized secure file storage system. It uses provider "
"independent security to store files over a distributed network of storage "
@@ -4574,7 +4563,7 @@ msgid ""
"remaining nodes."
msgstr ""
-#: plinth/modules/tahoe/__init__.py:112
+#: plinth/modules/tahoe/__init__.py:124
#, python-brace-format
msgid ""
"This {box_name} hosts a storage node and an introducer by default. "
@@ -4617,11 +4606,11 @@ msgstr ""
msgid "Remove"
msgstr ""
-#: plinth/modules/tor/__init__.py:43
+#: plinth/modules/tor/__init__.py:46
msgid "Tor"
msgstr ""
-#: plinth/modules/tor/__init__.py:48
+#: plinth/modules/tor/__init__.py:51
msgid ""
"Tor is an anonymous communication system. You can learn more about it from "
"the Tor Project website. For "
@@ -4630,40 +4619,36 @@ msgid ""
"\">Tor Browser."
msgstr ""
-#: plinth/modules/tor/__init__.py:93
+#: plinth/modules/tor/__init__.py:80
msgid "Tor Socks Proxy"
msgstr ""
-#: plinth/modules/tor/__init__.py:99 plinth/modules/tor/__init__.py:146
+#: plinth/modules/tor/__init__.py:84
msgid "Tor Bridge Relay"
msgstr ""
-#: plinth/modules/tor/__init__.py:120 plinth/modules/tor/__init__.py:188
+#: plinth/modules/tor/__init__.py:122 plinth/modules/tor/__init__.py:150
msgid "Tor Hidden Service"
msgstr ""
-#: plinth/modules/tor/__init__.py:136
-msgid "Tor Anonymity Network"
-msgstr ""
-
-#: plinth/modules/tor/__init__.py:208
+#: plinth/modules/tor/__init__.py:170
msgid "Tor relay port available"
msgstr ""
-#: plinth/modules/tor/__init__.py:218
+#: plinth/modules/tor/__init__.py:180
msgid "Obfs3 transport registered"
msgstr ""
-#: plinth/modules/tor/__init__.py:226
+#: plinth/modules/tor/__init__.py:188
msgid "Obfs4 transport registered"
msgstr ""
-#: plinth/modules/tor/__init__.py:265
+#: plinth/modules/tor/__init__.py:227
#, python-brace-format
msgid "Access URL {url} on tcp{kind} via Tor"
msgstr ""
-#: plinth/modules/tor/__init__.py:276
+#: plinth/modules/tor/__init__.py:238
#, python-brace-format
msgid "Confirm Tor usage at {url} on tcp{kind}"
msgstr ""
@@ -4801,18 +4786,18 @@ msgstr ""
msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050."
msgstr ""
-#: plinth/modules/transmission/__init__.py:39
+#: plinth/modules/transmission/__init__.py:41
#: plinth/modules/transmission/manifest.py:24
msgid "Transmission"
msgstr ""
-#: plinth/modules/transmission/__init__.py:44
+#: plinth/modules/transmission/__init__.py:46
msgid ""
"BitTorrent is a peer-to-peer file sharing protocol. Transmission daemon "
"handles Bitorrent file sharing. Note that BitTorrent is not anonymous."
msgstr ""
-#: plinth/modules/transmission/__init__.py:47
+#: plinth/modules/transmission/__init__.py:49
msgid ""
"Access the web interface at /transmission."
msgstr ""
@@ -4828,22 +4813,22 @@ msgid ""
"\" user."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:41 plinth/modules/ttrss/manifest.py:34
+#: plinth/modules/ttrss/__init__.py:43 plinth/modules/ttrss/manifest.py:34
msgid "Tiny Tiny RSS"
msgstr ""
-#: plinth/modules/ttrss/__init__.py:43
+#: plinth/modules/ttrss/__init__.py:45
msgid "News Feed Reader"
msgstr ""
-#: plinth/modules/ttrss/__init__.py:46
+#: plinth/modules/ttrss/__init__.py:48
msgid ""
"Tiny Tiny RSS is a news feed (RSS/Atom) reader and aggregator, designed to "
"allow reading news from any location, while feeling as close to a real "
"desktop application as possible."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:50
+#: plinth/modules/ttrss/__init__.py:52
#, python-brace-format
msgid ""
"When enabled, Tiny Tiny RSS will be available from /tt-"
@@ -4851,13 +4836,13 @@ msgid ""
"\"{users_url}\">user with a {box_name} login."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:55
+#: plinth/modules/ttrss/__init__.py:57
msgid ""
"When using a mobile or desktop application for Tiny Tiny RSS, use the URL /tt-rss-app for connecting."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:61
+#: plinth/modules/ttrss/__init__.py:63
msgid "Read and subscribe to news feeds"
msgstr ""
@@ -4865,11 +4850,11 @@ msgstr ""
msgid "Tiny Tiny RSS (Fork)"
msgstr ""
-#: plinth/modules/upgrades/__init__.py:36 plinth/templates/setup.html:101
+#: plinth/modules/upgrades/__init__.py:35 plinth/templates/setup.html:101
msgid "Update"
msgstr ""
-#: plinth/modules/upgrades/__init__.py:39
+#: plinth/modules/upgrades/__init__.py:38
msgid "Check for and apply the latest software and security updates."
msgstr ""
@@ -4908,34 +4893,34 @@ msgstr ""
msgid "Auto-update"
msgstr ""
-#: plinth/modules/upgrades/views.py:39
+#: plinth/modules/upgrades/views.py:40
msgid "Manual update"
msgstr ""
-#: plinth/modules/upgrades/views.py:78
+#: plinth/modules/upgrades/views.py:79
#, python-brace-format
msgid "Error when configuring unattended-upgrades: {error}"
msgstr ""
-#: plinth/modules/upgrades/views.py:82
+#: plinth/modules/upgrades/views.py:83
msgid "Automatic upgrades enabled"
msgstr ""
-#: plinth/modules/upgrades/views.py:85
+#: plinth/modules/upgrades/views.py:86
msgid "Automatic upgrades disabled"
msgstr ""
-#: plinth/modules/upgrades/views.py:87
+#: plinth/modules/upgrades/views.py:88
#, fuzzy
#| msgid "Setting unchanged"
msgid "Settings unchanged"
msgstr "Definição inalterada"
-#: plinth/modules/upgrades/views.py:113
+#: plinth/modules/upgrades/views.py:114
msgid "Upgrade process started."
msgstr ""
-#: plinth/modules/upgrades/views.py:116
+#: plinth/modules/upgrades/views.py:117
msgid "Starting upgrade failed."
msgstr ""
@@ -4943,7 +4928,7 @@ msgstr ""
msgid "Users and Groups"
msgstr ""
-#: plinth/modules/users/__init__.py:106
+#: plinth/modules/users/__init__.py:108
#, python-brace-format
msgid "Check LDAP entry \"{search_item}\""
msgstr ""
@@ -5158,15 +5143,6 @@ msgstr "Definição inalterada"
msgid "configuration file: {file}"
msgstr "Configuração"
-#: plinth/service.py:140
-msgid "Web Server over Secure Socket Layer"
-msgstr ""
-
-#: plinth/service.py:145
-#, python-brace-format
-msgid "{box_name} Web Interface (Plinth)"
-msgstr ""
-
#: plinth/templates/403.html:25
msgid "403 Forbidden"
msgstr ""
@@ -5369,17 +5345,17 @@ msgstr ""
msgid "Mailing list"
msgstr ""
-#: plinth/templates/internal-zone.html:25
+#: plinth/templates/internal-zone.html:26
#, fuzzy, python-format
#| msgid "Service discovery server is not running"
msgid "%(service_name)s is available only on internal networks."
msgstr "O Servidor da descoberta do serviço não está a correr"
-#: plinth/templates/internal-zone.html:31
+#: plinth/templates/internal-zone.html:32
msgid "Currently there are no network interfaces configured as internal."
msgstr ""
-#: plinth/templates/internal-zone.html:33
+#: plinth/templates/internal-zone.html:34
#, python-format
msgid ""
"Currently the following network interfaces are configured as internal: "
@@ -5444,6 +5420,18 @@ msgstr ""
msgid "%(percentage)s%% complete"
msgstr ""
+#: plinth/views.py:178
+#, fuzzy
+#| msgid "Applications"
+msgid "Application enabled"
+msgstr "Aplicações"
+
+#: plinth/views.py:181
+#, fuzzy
+#| msgid "Applications"
+msgid "Application disabled"
+msgstr "Aplicações"
+
#: plinth/web_framework.py:186
msgid "Gujarati"
msgstr ""
diff --git a/plinth/locale/ru/LC_MESSAGES/django.po b/plinth/locale/ru/LC_MESSAGES/django.po
index 30f8c8e5d..c12575622 100644
--- a/plinth/locale/ru/LC_MESSAGES/django.po
+++ b/plinth/locale/ru/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-06-10 19:02-0400\n"
+"POT-Creation-Date: 2019-06-24 19:48-0400\n"
"PO-Revision-Date: 2019-04-14 18:04+0000\n"
"Last-Translator: wind \n"
"Language-Team: Russian /"
@@ -519,14 +530,14 @@ msgstr ""
"веб-сервере. Он может быть доступен на любому "
"пользователю {box_name}, принадлежащему к группе админов."
-#: plinth/modules/config/__init__.py:59 plinth/modules/dynamicdns/views.py:44
+#: plinth/modules/config/__init__.py:61 plinth/modules/dynamicdns/views.py:45
#: plinth/modules/i2p/views.py:31 plinth/modules/ikiwiki/views.py:35
#: plinth/modules/pagekite/views.py:36 plinth/modules/snapshot/views.py:40
#: plinth/modules/tahoe/templates/tahoe-pre-setup.html:39
msgid "Configure"
msgstr "Настроить"
-#: plinth/modules/config/__init__.py:164 plinth/modules/config/forms.py:76
+#: plinth/modules/config/__init__.py:166 plinth/modules/config/forms.py:76
#: plinth/modules/config/views.py:171 plinth/modules/dynamicdns/forms.py:111
msgid "Domain Name"
msgstr "Доменное имя"
@@ -613,8 +624,8 @@ msgstr ""
#: plinth/modules/power/templates/power_restart.html:42
#: plinth/modules/power/templates/power_shutdown.html:41
#: plinth/modules/storage/templates/storage.html:48
-#: plinth/templates/service-subsubmenu.html:47 plinth/templates/service.html:42
-#: plinth/templates/setup.html:48 plinth/templates/simple_service.html:38
+#: plinth/templates/app-subsubmenu.html:47 plinth/templates/app.html:42
+#: plinth/templates/setup.html:48 plinth/templates/simple_app.html:38
msgid "Learn more..."
msgstr "Подробнее..."
@@ -663,15 +674,15 @@ msgstr ""
msgid "Hiding advanced apps and features"
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:38
+#: plinth/modules/coquelicot/__init__.py:40
msgid "Coquelicot"
msgstr "Coquelicot"
-#: plinth/modules/coquelicot/__init__.py:40
+#: plinth/modules/coquelicot/__init__.py:42
msgid "File Sharing"
msgstr "Обмен Файлами"
-#: plinth/modules/coquelicot/__init__.py:43
+#: plinth/modules/coquelicot/__init__.py:45
msgid ""
"Coquelicot is a “one-click” file sharing web application with a focus on "
"protecting users’ privacy. It is best used for quickly sharing a single "
@@ -681,7 +692,7 @@ msgstr ""
"фокусировкой на защите пользовательской приватности. Лучше всего "
"использовать для быстрого обмена одним файлом. "
-#: plinth/modules/coquelicot/__init__.py:46
+#: plinth/modules/coquelicot/__init__.py:48
msgid ""
"This Coquelicot instance is exposed to the public but requires an upload "
"password to prevent unauthorized access. You can set a new upload password "
@@ -719,19 +730,19 @@ msgstr ""
msgid "coquelicot"
msgstr "Coquelicot"
-#: plinth/modules/coquelicot/views.py:57
+#: plinth/modules/coquelicot/views.py:59
msgid "Upload password updated"
msgstr "Пароль загрузки обновлен"
-#: plinth/modules/coquelicot/views.py:60
+#: plinth/modules/coquelicot/views.py:62
msgid "Failed to update upload password"
msgstr "Не удается обновить пароль загрузки"
-#: plinth/modules/coquelicot/views.py:68
+#: plinth/modules/coquelicot/views.py:70
msgid "Maximum file size updated"
msgstr "Максимальный размер файла обновлен"
-#: plinth/modules/coquelicot/views.py:71
+#: plinth/modules/coquelicot/views.py:73
msgid "Failed to update maximum file size"
msgstr "Не удалось обновить максимальный размер файла"
@@ -747,15 +758,15 @@ msgstr ""
"Сервер сетевого времени это программа позволяющая системе синхронизировать "
"время с серверами в Интернете."
-#: plinth/modules/datetime/__init__.py:107
+#: plinth/modules/datetime/__init__.py:99
msgid "Time synchronized to NTP server"
msgstr "Время синхронизируется с NTP сервером"
-#: plinth/modules/datetime/forms.py:36
+#: plinth/modules/datetime/forms.py:35
msgid "Time Zone"
msgstr "Часовой пояс"
-#: plinth/modules/datetime/forms.py:37
+#: plinth/modules/datetime/forms.py:36
msgid ""
"Set your time zone to get accurate timestamps. This will set the system-wide "
"time zone."
@@ -763,7 +774,7 @@ msgstr ""
"Задайте свой часовой пояс, чтобы получить точные временные метки. Это "
"позволит установить общесистемный часовой пояс."
-#: plinth/modules/datetime/forms.py:49
+#: plinth/modules/datetime/forms.py:47
msgid "-- no time zone set --"
msgstr "-- не выбран часовой пояс --"
@@ -781,7 +792,7 @@ msgid "Deluge"
msgstr "Delugе"
#: plinth/modules/deluge/__init__.py:41
-#: plinth/modules/transmission/__init__.py:41
+#: plinth/modules/transmission/__init__.py:43
msgid "BitTorrent Web Client"
msgstr "BitTorrent Веб Клиент"
@@ -800,7 +811,7 @@ msgstr ""
"войти и изменить его сразу же после включения этой службы."
#: plinth/modules/deluge/__init__.py:51
-#: plinth/modules/transmission/__init__.py:54
+#: plinth/modules/transmission/__init__.py:56
msgid "Download files using BitTorrent applications"
msgstr "Загружать файлы используя приложения BitTorrent"
@@ -864,12 +875,12 @@ msgstr "Тест"
msgid "Result"
msgstr "Результат"
-#: plinth/modules/diaspora/__init__.py:52
+#: plinth/modules/diaspora/__init__.py:54
#: plinth/modules/diaspora/manifest.py:38
msgid "diaspora*"
msgstr "diasporа*"
-#: plinth/modules/diaspora/__init__.py:54
+#: plinth/modules/diaspora/__init__.py:56
msgid "Federated Social Network"
msgstr "Federated Social Netwоrk"
@@ -925,22 +936,22 @@ msgstr ""
#: plinth/modules/tahoe/templates/tahoe-pre-setup.html:58
#: plinth/modules/tor/templates/tor.html:96
#: plinth/modules/upgrades/templates/upgrades_configure.html:32
-#: plinth/templates/service.html:89
+#: plinth/templates/app.html:89
msgid "Update setup"
msgstr "Обновить настройки"
-#: plinth/modules/diaspora/views.py:97 plinth/modules/ejabberd/views.py:64
-#: plinth/modules/matrixsynapse/views.py:107
-#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:150
-#: plinth/modules/tor/views.py:146 plinth/views.py:160
+#: plinth/modules/diaspora/views.py:94 plinth/modules/ejabberd/views.py:65
+#: plinth/modules/matrixsynapse/views.py:108
+#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:148
+#: plinth/modules/tor/views.py:148 plinth/views.py:174
msgid "Setting unchanged"
msgstr "Настройки без изменений"
-#: plinth/modules/diaspora/views.py:101
+#: plinth/modules/diaspora/views.py:98
msgid "User registrations enabled"
msgstr "Регистрации пользователя включена"
-#: plinth/modules/diaspora/views.py:105
+#: plinth/modules/diaspora/views.py:102
msgid "User registrations disabled"
msgstr "Приложение отключено"
@@ -976,8 +987,8 @@ msgstr ""
"сервер будет назначать DNS-имя на новый IP-адрес, и если кто-то из Интернета "
"запрашивает DNS-имя, они будут получать ответ ваш текущий IP-адрес."
-#: plinth/modules/dynamicdns/__init__.py:85
-#: plinth/modules/dynamicdns/views.py:167
+#: plinth/modules/dynamicdns/__init__.py:87
+#: plinth/modules/dynamicdns/views.py:169
msgid "Dynamic DNS Service"
msgstr "Служба динамического DNS"
@@ -1082,7 +1093,7 @@ msgid "Username"
msgstr "Имя пользователя"
#: plinth/modules/dynamicdns/forms.py:121 plinth/modules/networks/forms.py:235
-#: plinth/modules/shadowsocks/forms.py:70
+#: plinth/modules/shadowsocks/forms.py:61
msgid "Password"
msgstr "Пароль"
@@ -1178,39 +1189,39 @@ msgstr ""
msgid "Last update"
msgstr "Последнее обновление"
-#: plinth/modules/dynamicdns/views.py:41 plinth/modules/help/help.py:57
+#: plinth/modules/dynamicdns/views.py:41 plinth/modules/help/help.py:59
msgid "About"
msgstr "О службе"
-#: plinth/modules/dynamicdns/views.py:47
+#: plinth/modules/dynamicdns/views.py:49
#: plinth/modules/firewall/templates/firewall.html:25
#: plinth/modules/firewall/templates/firewall.html:45
#: plinth/modules/i2p/templates/i2p.html:27
#: plinth/modules/networks/templates/connection_show.html:261
#: plinth/modules/openvpn/templates/openvpn.html:71
#: plinth/modules/tor/templates/tor.html:40
-#: plinth/modules/tor/templates/tor.html:68 plinth/templates/service.html:51
+#: plinth/modules/tor/templates/tor.html:68 plinth/templates/app.html:51
msgid "Status"
msgstr "Статус"
-#: plinth/modules/dynamicdns/views.py:78
+#: plinth/modules/dynamicdns/views.py:80
msgid "Configure Dynamic DNS"
msgstr "Настройка динамического DNS"
-#: plinth/modules/dynamicdns/views.py:103
+#: plinth/modules/dynamicdns/views.py:105
msgid "Dynamic DNS Status"
msgstr "Состояние динамического DNS"
-#: plinth/modules/ejabberd/__init__.py:43
+#: plinth/modules/ejabberd/__init__.py:45
msgid "ejabberd"
msgstr "еjabberd"
-#: plinth/modules/ejabberd/__init__.py:45
-#: plinth/modules/matrixsynapse/__init__.py:43
+#: plinth/modules/ejabberd/__init__.py:47
+#: plinth/modules/matrixsynapse/__init__.py:45
msgid "Chat Server"
msgstr "Чат-сервер"
-#: plinth/modules/ejabberd/__init__.py:48
+#: plinth/modules/ejabberd/__init__.py:50
msgid ""
"XMPP is an open and standardized communication protocol. Here you can run "
"and configure your XMPP server, called ejabberd."
@@ -1218,7 +1229,7 @@ msgstr ""
"XMPP является открытым и стандартизированным коммуникационным протоколом. "
"Здесь вы можете запустить и настроить сервер XMPP, называемый ejabberd."
-#: plinth/modules/ejabberd/__init__.py:51
+#: plinth/modules/ejabberd/__init__.py:53
#, fuzzy, python-brace-format
#| msgid ""
#| "To actually communicate, you can use the web "
@@ -1236,11 +1247,11 @@ msgstr ""
"XMPP клиент. Когда включено, ejabberd доступен всем пользователям {box_name} ."
-#: plinth/modules/ejabberd/forms.py:33
+#: plinth/modules/ejabberd/forms.py:32
msgid "Enable Message Archive Management"
msgstr "Включить Управление архивом сообщений"
-#: plinth/modules/ejabberd/forms.py:36
+#: plinth/modules/ejabberd/forms.py:34
#, python-brace-format
msgid ""
"If enabled, your {box_name} will store chat message histories. This allows "
@@ -1321,35 +1332,23 @@ msgstr "Запустить веб-клиент"
#: plinth/modules/openvpn/templates/openvpn.html:123
#: plinth/modules/snapshot/templates/snapshot.html:27
#: plinth/modules/tahoe/templates/tahoe-post-setup.html:43
-#: plinth/modules/tor/templates/tor.html:88 plinth/templates/service.html:81
+#: plinth/modules/tor/templates/tor.html:88 plinth/templates/app.html:81
msgid "Configuration"
msgstr "Конфигурация"
-#: plinth/modules/ejabberd/views.py:68
-#: plinth/modules/matrixsynapse/views.py:111
-#: plinth/modules/mediawiki/views.py:79 plinth/views.py:164
-msgid "Application enabled"
-msgstr "Приложение включено"
-
-#: plinth/modules/ejabberd/views.py:71
-#: plinth/modules/matrixsynapse/views.py:114
-#: plinth/modules/mediawiki/views.py:82 plinth/views.py:167
-msgid "Application disabled"
-msgstr "Приложение отключено"
-
-#: plinth/modules/ejabberd/views.py:78
+#: plinth/modules/ejabberd/views.py:77
msgid "Message Archive Management enabled"
msgstr "Управление архивом сообщение включено"
-#: plinth/modules/ejabberd/views.py:82
+#: plinth/modules/ejabberd/views.py:81
msgid "Message Archive Management disabled"
msgstr "Управление архивом сообщений выключено"
-#: plinth/modules/firewall/__init__.py:40
+#: plinth/modules/firewall/__init__.py:36
msgid "Firewall"
msgstr "Брандмауэр"
-#: plinth/modules/firewall/__init__.py:44
+#: plinth/modules/firewall/__init__.py:40
#, python-brace-format
msgid ""
"Firewall is a security system that controls the incoming and outgoing "
@@ -1471,29 +1470,29 @@ msgstr "Запуск программы установки"
msgid "Setup Complete"
msgstr "Установка Завершена"
-#: plinth/modules/help/help.py:44
+#: plinth/modules/help/help.py:46
msgid "Documentation"
msgstr "Документация"
-#: plinth/modules/help/help.py:48 plinth/modules/networks/forms.py:68
+#: plinth/modules/help/help.py:50 plinth/modules/networks/forms.py:68
#: plinth/modules/networks/forms.py:108 plinth/templates/index.html:135
msgid "Manual"
msgstr "Руководство"
-#: plinth/modules/help/help.py:53
+#: plinth/modules/help/help.py:55
msgid "Download Manual"
msgstr "Скачать руководство"
-#: plinth/modules/help/help.py:73
+#: plinth/modules/help/help.py:75
msgid "Documentation and FAQ"
msgstr "Документация и FAQ"
-#: plinth/modules/help/help.py:81
+#: plinth/modules/help/help.py:83
#, python-brace-format
msgid "About {box_name}"
msgstr "О {box_name}"
-#: plinth/modules/help/help.py:102
+#: plinth/modules/help/help.py:104
#, python-brace-format
msgid "{box_name} Manual"
msgstr "Руководство {box_name}"
@@ -1647,15 +1646,15 @@ msgstr ""
"Удалите любые пароли или другую личную информацию из журнала перед отправкой "
"отчета об ошибке."
-#: plinth/modules/i2p/__init__.py:40 plinth/modules/i2p/manifest.py:31
+#: plinth/modules/i2p/__init__.py:42 plinth/modules/i2p/manifest.py:31
msgid "I2P"
msgstr ""
-#: plinth/modules/i2p/__init__.py:42 plinth/modules/tor/__init__.py:45
+#: plinth/modules/i2p/__init__.py:44 plinth/modules/tor/__init__.py:48
msgid "Anonymity Network"
msgstr "Anonymity Network"
-#: plinth/modules/i2p/__init__.py:45
+#: plinth/modules/i2p/__init__.py:47
msgid ""
"The Invisible Internet Project is an anonymous network layer intended to "
"protect communication from censorship and surveillance. I2P provides "
@@ -1663,7 +1662,7 @@ msgid ""
"distributed around the world."
msgstr ""
-#: plinth/modules/i2p/__init__.py:49
+#: plinth/modules/i2p/__init__.py:51
#, fuzzy
#| msgid ""
#| "For more information about the %(box_name)s project, see the Wiki ."
-#: plinth/modules/i2p/__init__.py:51
+#: plinth/modules/i2p/__init__.py:53
msgid ""
"The first visit to the provided web interface will initiate the "
"configuration process."
msgstr ""
-#: plinth/modules/i2p/__init__.py:57
+#: plinth/modules/i2p/__init__.py:59
#, fuzzy
#| msgid "Enable application"
msgid "Manage I2P application"
msgstr "Включить приложение"
-#: plinth/modules/i2p/templates/i2p.html:32 plinth/templates/service.html:56
+#: plinth/modules/i2p/templates/i2p.html:32 plinth/templates/app.html:56
#, python-format
msgid "Service %(service_name)s is running."
msgstr "Выполняется служба %(service_name)s."
-#: plinth/modules/i2p/templates/i2p.html:37 plinth/templates/service.html:61
+#: plinth/modules/i2p/templates/i2p.html:37 plinth/templates/app.html:61
#, python-format
msgid "Service %(service_name)s is not running."
msgstr "Служба %(service_name)s не запущена."
-#: plinth/modules/i2p/templates/i2p_service.html:13
+#: plinth/modules/i2p/templates/i2p_service.html:31
#: plinth/templates/clients.html:51
msgid "Launch"
msgstr "Запуск"
@@ -1710,43 +1709,43 @@ msgstr ""
msgid "Anonymous torrents"
msgstr ""
-#: plinth/modules/i2p/views.py:86
+#: plinth/modules/i2p/views.py:88
msgid "I2P Proxies and Tunnels"
msgstr ""
-#: plinth/modules/i2p/views.py:89
+#: plinth/modules/i2p/views.py:91
msgid ""
"I2P lets you browse the Internet and hidden services (eepsites) anonymously. "
"For this, your browser, preferably a Tor Browser, needs to be configured for "
"a proxy."
msgstr ""
-#: plinth/modules/i2p/views.py:92
+#: plinth/modules/i2p/views.py:94
msgid ""
"By default HTTP, HTTPS and IRC proxies are available. Additional proxies and "
"tunnels may be configured using the tunnel configuration interface."
msgstr ""
-#: plinth/modules/i2p/views.py:101
+#: plinth/modules/i2p/views.py:103
msgid "Anonymous Torrents"
msgstr ""
-#: plinth/modules/i2p/views.py:104
+#: plinth/modules/i2p/views.py:106
msgid ""
"I2P provides an application to download files anonymously in a peer-to-peer "
"network. Download files by adding torrents or create a new torrent to share "
"a file."
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:42 plinth/modules/ikiwiki/manifest.py:24
+#: plinth/modules/ikiwiki/__init__.py:41 plinth/modules/ikiwiki/manifest.py:24
msgid "ikiwiki"
msgstr "ikiwiki"
-#: plinth/modules/ikiwiki/__init__.py:44
+#: plinth/modules/ikiwiki/__init__.py:43
msgid "Wiki and Blog"
msgstr "Вики и Блог"
-#: plinth/modules/ikiwiki/__init__.py:47
+#: plinth/modules/ikiwiki/__init__.py:46
msgid ""
"ikiwiki is a simple wiki and blog application. It supports several "
"lightweight markup languages, including Markdown, and common blogging "
@@ -1758,7 +1757,7 @@ msgstr ""
"комментарии и RSS-каналы. Когда включен, блоги и вики доступны по адресу /ikiwiki (после создания)."
-#: plinth/modules/ikiwiki/__init__.py:53
+#: plinth/modules/ikiwiki/__init__.py:52
#, python-brace-format
msgid ""
"Only {box_name} users in the admin group can create and "
@@ -1772,7 +1771,7 @@ msgstr ""
"href=\"{users_url}\">Конфигурация пользователей вы можете изменить "
"разрешения или добавить новых пользователей."
-#: plinth/modules/ikiwiki/__init__.py:63
+#: plinth/modules/ikiwiki/__init__.py:62
msgid "View and edit wiki applications"
msgstr "Просмотр и редактирование приложений Wiki"
@@ -1842,49 +1841,49 @@ msgstr "Перейти к %(site)s"
msgid "Manage"
msgstr "Управление"
-#: plinth/modules/ikiwiki/views.py:121
+#: plinth/modules/ikiwiki/views.py:124
#, python-brace-format
msgid "Created wiki {name}."
msgstr "Создать вики {name}."
-#: plinth/modules/ikiwiki/views.py:124
+#: plinth/modules/ikiwiki/views.py:127
#, python-brace-format
msgid "Could not create wiki: {error}"
msgstr "Не удалось создать вики: {error}"
-#: plinth/modules/ikiwiki/views.py:134
+#: plinth/modules/ikiwiki/views.py:137
#, python-brace-format
msgid "Created blog {name}."
msgstr "Созданный блог {name}."
-#: plinth/modules/ikiwiki/views.py:137
+#: plinth/modules/ikiwiki/views.py:140
#, python-brace-format
msgid "Could not create blog: {error}"
msgstr "Не удалось создать блог: {error}"
-#: plinth/modules/ikiwiki/views.py:150
+#: plinth/modules/ikiwiki/views.py:153
#, python-brace-format
msgid "{name} deleted."
msgstr "{name} удален."
-#: plinth/modules/ikiwiki/views.py:154
+#: plinth/modules/ikiwiki/views.py:157
#, python-brace-format
msgid "Could not delete {name}: {error}"
msgstr "Не удалось удалить {name}: {error}"
-#: plinth/modules/infinoted/__init__.py:41
+#: plinth/modules/infinoted/__init__.py:40
msgid "infinoted"
msgstr "infinoted"
-#: plinth/modules/infinoted/__init__.py:43
+#: plinth/modules/infinoted/__init__.py:42
msgid "Gobby Server"
msgstr "Сервер Gobby"
-#: plinth/modules/infinoted/__init__.py:46
+#: plinth/modules/infinoted/__init__.py:45
msgid "infinoted is a server for Gobby, a collaborative text editor."
msgstr "infinoted это сервер для Gobby, совместный текстовый редактор."
-#: plinth/modules/infinoted/__init__.py:48
+#: plinth/modules/infinoted/__init__.py:47
#, python-brace-format
msgid ""
"To use it, download Gobby, desktop "
@@ -2263,11 +2262,11 @@ msgstr "Сертификат успешно удален для домена {do
msgid "Failed to delete certificate for domain {domain}: {error}"
msgstr "Не удалось удалить сертификат для домена {domain}: {error}"
-#: plinth/modules/matrixsynapse/__init__.py:41
+#: plinth/modules/matrixsynapse/__init__.py:43
msgid "Matrix Synapse"
msgstr "Matrix Synapse"
-#: plinth/modules/matrixsynapse/__init__.py:46
+#: plinth/modules/matrixsynapse/__init__.py:48
msgid ""
"Matrix is an new "
"ecosystem for open, federated instant messaging and VoIP. Synapse is a "
@@ -2284,7 +2283,7 @@ msgstr ""
"одном сервере Matrix могут общаться с пользователями на всех остальных "
"серверах."
-#: plinth/modules/matrixsynapse/__init__.py:53
+#: plinth/modules/matrixsynapse/__init__.py:55
msgid ""
"To communicate, you can use the available clients for mobile, desktop and the web. , чтобы получить его.\n"
" "
-#: plinth/modules/matrixsynapse/views.py:122
+#: plinth/modules/matrixsynapse/views.py:121
msgid "Public registration enabled"
msgstr "Публичная регистрация включена"
-#: plinth/modules/matrixsynapse/views.py:127
+#: plinth/modules/matrixsynapse/views.py:126
msgid "Public registration disabled"
msgstr "Публичная регистрация отключена"
-#: plinth/modules/mediawiki/__init__.py:34
+#: plinth/modules/mediawiki/__init__.py:38
#: plinth/modules/mediawiki/manifest.py:24
msgid "MediaWiki"
msgstr "MediaWiki"
-#: plinth/modules/mediawiki/__init__.py:36 plinth/templates/index.html:139
+#: plinth/modules/mediawiki/__init__.py:40 plinth/templates/index.html:139
msgid "Wiki"
msgstr "Wiki"
-#: plinth/modules/mediawiki/__init__.py:39
+#: plinth/modules/mediawiki/__init__.py:43
msgid ""
"MediaWiki is the wiki engine that powers Wikipedia and other WikiMedia "
"projects. A wiki engine is a program for creating a collaboratively edited "
@@ -2404,7 +2403,7 @@ msgstr ""
"редактируемого сайта. Вы можете использовать mediawiki как сайт, делать "
"заметки или работать совместно с друзьями."
-#: plinth/modules/mediawiki/__init__.py:43
+#: plinth/modules/mediawiki/__init__.py:47
msgid ""
"This MediaWiki instance comes with a randomly generated administrator "
"password. You can set a new password in the \"Configuration\" section and "
@@ -2419,7 +2418,7 @@ msgstr ""
"перейдя в раздел Special:CreateAccount."
-#: plinth/modules/mediawiki/__init__.py:49
+#: plinth/modules/mediawiki/__init__.py:53
msgid ""
"Anyone with a link to this wiki can read it. Only users that are logged in "
"can make changes to the content."
@@ -2468,32 +2467,32 @@ msgstr ""
msgid "Password updated"
msgstr "Пароль обновлен"
-#: plinth/modules/mediawiki/views.py:91
+#: plinth/modules/mediawiki/views.py:89
msgid "Public registrations enabled"
msgstr "Публичная регистрация включена"
-#: plinth/modules/mediawiki/views.py:100
+#: plinth/modules/mediawiki/views.py:98
msgid "Public registrations disabled"
msgstr "Публичная регистрация отключена"
-#: plinth/modules/mediawiki/views.py:109
+#: plinth/modules/mediawiki/views.py:107
msgid "Private mode enabled"
msgstr "Режим приватности включен"
-#: plinth/modules/mediawiki/views.py:112
+#: plinth/modules/mediawiki/views.py:110
msgid "Private mode disabled"
msgstr "Режим приватности выключен"
-#: plinth/modules/minetest/__init__.py:53
+#: plinth/modules/minetest/__init__.py:52
#: plinth/modules/minetest/manifest.py:25
msgid "Minetest"
msgstr "Minetest"
-#: plinth/modules/minetest/__init__.py:55
+#: plinth/modules/minetest/__init__.py:54
msgid "Block Sandbox"
msgstr "Песочница"
-#: plinth/modules/minetest/__init__.py:59
+#: plinth/modules/minetest/__init__.py:58
#, python-brace-format
msgid ""
"Minetest is a multiplayer infinite-world block sandbox. This module enables "
@@ -2506,11 +2505,11 @@ msgstr ""
"порту (30000). Для подключения к серверу требуется Minetest клиент."
-#: plinth/modules/minetest/forms.py:31
+#: plinth/modules/minetest/forms.py:30
msgid "Maximum number of players"
msgstr "Максимальное количество игроков"
-#: plinth/modules/minetest/forms.py:35
+#: plinth/modules/minetest/forms.py:32
msgid ""
"You can change the maximum number of players playing minetest at a single "
"instance of time."
@@ -2518,11 +2517,11 @@ msgstr ""
"Можно изменить максимальное количество игроков, играющих в minetest "
"одновременно."
-#: plinth/modules/minetest/forms.py:39
+#: plinth/modules/minetest/forms.py:36
msgid "Enable creative mode"
msgstr "Включить творческий режим"
-#: plinth/modules/minetest/forms.py:41
+#: plinth/modules/minetest/forms.py:37
msgid ""
"Creative mode changes the rules of the game to make it more suitable for "
"creative gameplay, rather than challenging \"survival\" gameplay."
@@ -2530,21 +2529,21 @@ msgstr ""
"Творческий режим меняет правила игры, чтобы сделать его более подходящим для "
"творческой игры, а не сложного режима «выживание»."
-#: plinth/modules/minetest/forms.py:46
+#: plinth/modules/minetest/forms.py:42
msgid "Enable PVP"
msgstr "Включить PVP"
-#: plinth/modules/minetest/forms.py:48
+#: plinth/modules/minetest/forms.py:43
msgid "Enabling Player Vs Player will allow players to damage other players."
msgstr ""
"Включение \"Игрок против игрока\" позволит игрокам наносить урон другим "
"игрокам."
-#: plinth/modules/minetest/forms.py:52
+#: plinth/modules/minetest/forms.py:47
msgid "Enable damage"
msgstr "Включить урон"
-#: plinth/modules/minetest/forms.py:54
+#: plinth/modules/minetest/forms.py:48
msgid "When disabled, players cannot die or receive damage of any kind."
msgstr ""
"Когда выключено, игроки не могут умереть или получить урон любого рода."
@@ -2559,32 +2558,32 @@ msgstr "Адрес"
msgid "Port"
msgstr "Порт"
-#: plinth/modules/minetest/views.py:71
+#: plinth/modules/minetest/views.py:72
msgid "Maximum players configuration updated"
msgstr "Максимум игроков обновлен"
-#: plinth/modules/minetest/views.py:78
+#: plinth/modules/minetest/views.py:79
msgid "Creative mode configuration updated"
msgstr "Конфигурация творческого режима обновлена"
-#: plinth/modules/minetest/views.py:84
+#: plinth/modules/minetest/views.py:85
msgid "PVP configuration updated"
msgstr "Конфигурация PVP обновлена"
-#: plinth/modules/minetest/views.py:90
+#: plinth/modules/minetest/views.py:91
msgid "Damage configuration updated"
msgstr "Конфигурация урона обновлена"
-#: plinth/modules/mldonkey/__init__.py:38
+#: plinth/modules/mldonkey/__init__.py:40
#: plinth/modules/mldonkey/manifest.py:27
msgid "MLDonkey"
msgstr "MLDonkey"
-#: plinth/modules/mldonkey/__init__.py:40
+#: plinth/modules/mldonkey/__init__.py:42
msgid "Peer-to-peer File Sharing"
msgstr "Файлообмен P2P"
-#: plinth/modules/mldonkey/__init__.py:43
+#: plinth/modules/mldonkey/__init__.py:45
msgid ""
"MLDonkey is a peer-to-peer file sharing application used to exchange large "
"files. It can participate in multiple peer-to-peer networks including "
@@ -2595,7 +2594,7 @@ msgstr ""
"пиринговый сетях, таких, как eDonkey, Kademlia, Overnet, BitTorrent и "
"DirectConnect."
-#: plinth/modules/mldonkey/__init__.py:46
+#: plinth/modules/mldonkey/__init__.py:48
msgid ""
"Users belonging to admin and ed2k group can control it through the web "
"interface. Users in the admin group can also control it through any of the "
@@ -2606,7 +2605,7 @@ msgstr ""
"это с помощью любого мобильного или десктопного фронтэнда или через telnet. "
"Смотри руководство."
-#: plinth/modules/mldonkey/__init__.py:51
+#: plinth/modules/mldonkey/__init__.py:53
#, python-brace-format
msgid ""
"On {box_name}, downloaded files can be found in /var/lib/mldonkey/ directory."
@@ -2614,7 +2613,7 @@ msgstr ""
"В {box_name}, загруженные Файлы могут быть найдены в /var/lib/mldonkey/ "
"directory."
-#: plinth/modules/mldonkey/__init__.py:59
+#: plinth/modules/mldonkey/__init__.py:61
msgid "Download files using eDonkey applications"
msgstr "Загрузить файлы, используя приложение eDonkey"
@@ -2692,12 +2691,6 @@ msgstr "OpenPGP отпечаток"
msgid "Secure Shell"
msgstr "Sеcure Shell"
-#: plinth/modules/monkeysphere/templates/monkeysphere.html:88
-#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:60
-#: plinth/service.py:138
-msgid "Web Server"
-msgstr "Веб-сервер"
-
#: plinth/modules/monkeysphere/templates/monkeysphere.html:90
#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:62
msgid "Other"
@@ -2792,15 +2785,15 @@ msgstr "Опубликованый ключ на сервере ключей."
msgid "Error occurred while publishing key."
msgstr "Произошла ошибка при публикации ключа."
-#: plinth/modules/mumble/__init__.py:34 plinth/modules/mumble/manifest.py:27
+#: plinth/modules/mumble/__init__.py:35 plinth/modules/mumble/manifest.py:27
msgid "Mumble"
msgstr "Mumble"
-#: plinth/modules/mumble/__init__.py:36
+#: plinth/modules/mumble/__init__.py:37
msgid "Voice Chat"
msgstr "Голосовой чат"
-#: plinth/modules/mumble/__init__.py:45
+#: plinth/modules/mumble/__init__.py:44
msgid ""
"Mumble is an open source, low-latency, encrypted, high quality voice chat "
"software."
@@ -2808,7 +2801,7 @@ msgstr ""
"Mumble это шифрованый чат с высоким качеством голоса, низкой задержкой и "
"открытым исходным кодом."
-#: plinth/modules/mumble/__init__.py:47
+#: plinth/modules/mumble/__init__.py:46
msgid ""
"You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your "
@@ -2863,7 +2856,7 @@ msgstr "Не доступно"
msgid "Networks"
msgstr "Сети"
-#: plinth/modules/networks/__init__.py:142
+#: plinth/modules/networks/__init__.py:144
#, python-brace-format
msgid "Using DNSSEC on IPv{kind}"
msgstr "Использовать DNSSEC на IPv{kind}"
@@ -3316,7 +3309,7 @@ msgstr "IРv4"
#: plinth/modules/networks/templates/connection_show.html:186
#: plinth/modules/networks/templates/connection_show.html:227
-#: plinth/modules/shadowsocks/forms.py:75
+#: plinth/modules/shadowsocks/forms.py:65
msgid "Method"
msgstr "Метод"
@@ -3447,15 +3440,15 @@ msgstr "Неактивен"
msgid "Create..."
msgstr "Создать..."
-#: plinth/modules/openvpn/__init__.py:40
+#: plinth/modules/openvpn/__init__.py:39
msgid "OpenVPN"
msgstr "OpenVPN"
-#: plinth/modules/openvpn/__init__.py:42
+#: plinth/modules/openvpn/__init__.py:41
msgid "Virtual Private Network"
msgstr "Виртуальная частная сеть"
-#: plinth/modules/openvpn/__init__.py:46
+#: plinth/modules/openvpn/__init__.py:45
#, python-brace-format
msgid ""
"Virtual Private Network (VPN) is a technique for securely connecting two "
@@ -3473,7 +3466,7 @@ msgstr ""
"также получить доступ к остальной части Интернет через {box_name} для "
"дополнительной безопасности и анонимности."
-#: plinth/modules/openvpn/__init__.py:74
+#: plinth/modules/openvpn/__init__.py:75
#, python-brace-format
msgid ""
"Download Profile"
@@ -3554,11 +3547,11 @@ msgstr "Сервер OpenVPN выполняется"
msgid "OpenVPN server is not running"
msgstr "OpenVPN сервер не выполняется"
-#: plinth/modules/openvpn/views.py:128
+#: plinth/modules/openvpn/views.py:126
msgid "Setup completed."
msgstr "Установка завершена."
-#: plinth/modules/openvpn/views.py:130
+#: plinth/modules/openvpn/views.py:128
msgid "Setup failed."
msgstr "Установка не удалась."
@@ -3644,7 +3637,7 @@ msgstr ""
"Выберите свой сервер pagekite. Выберите \"pagekite.net\", чтобы использовать "
"сервер по умолчанию - pagekite.net."
-#: plinth/modules/pagekite/forms.py:78 plinth/modules/shadowsocks/forms.py:64
+#: plinth/modules/pagekite/forms.py:78 plinth/modules/shadowsocks/forms.py:57
msgid "Server port"
msgstr "Порт сервера"
@@ -3856,29 +3849,29 @@ msgstr "Публичные службы доступны и уязвимы из
msgid "Save Services"
msgstr "Сохранить службы"
-#: plinth/modules/pagekite/utils.py:53
+#: plinth/modules/pagekite/utils.py:57
msgid "Web Server (HTTP)"
msgstr "Веб-сервер (HTTP)"
-#: plinth/modules/pagekite/utils.py:54
+#: plinth/modules/pagekite/utils.py:59
#, python-brace-format
msgid "Site will be available at http://{0}"
msgstr "Сайт будет доступен на http://{0}"
-#: plinth/modules/pagekite/utils.py:63
+#: plinth/modules/pagekite/utils.py:71
msgid "Web Server (HTTPS)"
msgstr "Веб-сервер (HTTPS)"
-#: plinth/modules/pagekite/utils.py:64
+#: plinth/modules/pagekite/utils.py:73
#, python-brace-format
msgid "Site will be available at https://{0}"
msgstr "Сайт будет доступен на https://{0}"
-#: plinth/modules/pagekite/utils.py:73
+#: plinth/modules/pagekite/utils.py:85
msgid "Secure Shell (SSH)"
msgstr "Sеcure Shell (SSH)"
-#: plinth/modules/pagekite/utils.py:74
+#: plinth/modules/pagekite/utils.py:87
msgid ""
"See SSH client setup instructions"
@@ -3886,19 +3879,19 @@ msgstr ""
"Инструкции "
"по настройке клиента SSH"
-#: plinth/modules/pagekite/utils.py:276
+#: plinth/modules/pagekite/utils.py:288
msgid "Pagekite"
msgstr "Pаgekite"
-#: plinth/modules/pagekite/views.py:39
+#: plinth/modules/pagekite/views.py:40
msgid "Standard Services"
msgstr "Стандартные службы"
-#: plinth/modules/pagekite/views.py:42
+#: plinth/modules/pagekite/views.py:44
msgid "Custom Services"
msgstr "Пользовательские службы"
-#: plinth/modules/pagekite/views.py:156
+#: plinth/modules/pagekite/views.py:158
msgid "Pagekite setup finished. The HTTP and HTTPS services are activated now."
msgstr "Установка Pagekite завершена. Службы HTTP И HTTPS запущены."
@@ -3969,15 +3962,15 @@ msgstr ""
msgid "Shut Down Now"
msgstr "Завершить работу сейчас"
-#: plinth/modules/privoxy/__init__.py:41
+#: plinth/modules/privoxy/__init__.py:42
msgid "Privoxy"
msgstr "Privoxy"
-#: plinth/modules/privoxy/__init__.py:43
+#: plinth/modules/privoxy/__init__.py:44
msgid "Web Proxy"
msgstr "Web-прокси"
-#: plinth/modules/privoxy/__init__.py:46
+#: plinth/modules/privoxy/__init__.py:47
msgid ""
"Privoxy is a non-caching web proxy with advanced filtering capabilities for "
"enhancing privacy, modifying web page data and HTTP headers, controlling "
@@ -3988,7 +3981,7 @@ msgstr ""
"HTTP, контроля доступа и удаления рекламы и прочего неприятного мусора в "
"интернете. "
-#: plinth/modules/privoxy/__init__.py:51
+#: plinth/modules/privoxy/__init__.py:52
#, python-brace-format
msgid ""
"You can use Privoxy by modifying your browser proxy settings to your "
@@ -4003,20 +3996,20 @@ msgstr ""
"config.privoxy.org\">http://config.privoxy.org или http://p.p."
-#: plinth/modules/privoxy/__init__.py:157
+#: plinth/modules/privoxy/__init__.py:142
#, python-brace-format
msgid "Access {url} with proxy {proxy} on tcp{kind}"
msgstr "Доступ к {url} с прокси {proxy} на tcp{kind}"
-#: plinth/modules/quassel/__init__.py:41 plinth/modules/quassel/manifest.py:25
+#: plinth/modules/quassel/__init__.py:40 plinth/modules/quassel/manifest.py:25
msgid "Quassel"
msgstr "Quassel"
-#: plinth/modules/quassel/__init__.py:43
+#: plinth/modules/quassel/__init__.py:42
msgid "IRC Client"
msgstr "IRC-клиент"
-#: plinth/modules/quassel/__init__.py:47
+#: plinth/modules/quassel/__init__.py:46
#, python-brace-format
msgid ""
"Quassel is an IRC application that is split into two parts, a \"core\" and a "
@@ -4033,7 +4026,7 @@ msgstr ""
"клиентов. Для этого могут использоваться как клиенты настольного компьютера, "
"так и мобильные версии."
-#: plinth/modules/quassel/__init__.py:54
+#: plinth/modules/quassel/__init__.py:53
msgid ""
"You can connect to your Quassel core on the default Quassel port 4242. "
"Clients to connect to Quassel from your ) и ваше имя пользователя. Нажав на кнопку поиска будет список "
"существующих календарей и адресных книг."
-#: plinth/modules/radicale/views.py:55
+#: plinth/modules/radicale/views.py:56
msgid "Access rights configuration updated"
msgstr "Конфигурация прав доступа обновлена"
-#: plinth/modules/repro/__init__.py:38
+#: plinth/modules/repro/__init__.py:40
msgid "repro"
msgstr "repro"
-#: plinth/modules/repro/__init__.py:40
+#: plinth/modules/repro/__init__.py:42
msgid "SIP Server"
msgstr "SIP-сервер"
-#: plinth/modules/repro/__init__.py:43
+#: plinth/modules/repro/__init__.py:45
msgid ""
"repro provides various SIP services that a SIP softphone can utilize to "
"provide audio and video calls as well as presence and instant messaging. "
@@ -4178,7 +4171,7 @@ msgstr ""
"действует как прокси-сервер отправляя SIP сообщения на другие серверы в "
"Интернете, похож на электронную почту."
-#: plinth/modules/repro/__init__.py:49
+#: plinth/modules/repro/__init__.py:51
msgid ""
"To make SIP calls, a client application is needed. Available clients include "
"Jitsi (for computers) and CSipSimple"
"a> (для телефонов на Android)."
-#: plinth/modules/repro/__init__.py:53
+#: plinth/modules/repro/__init__.py:55
msgid ""
"Note: Before using repro, domains and users will need to "
"be configured using the web-based "
@@ -4227,15 +4220,15 @@ msgstr ""
msgid "CSipSimple"
msgstr "CSipSimple"
-#: plinth/modules/restore/__init__.py:36 plinth/modules/restore/manifest.py:23
+#: plinth/modules/restore/__init__.py:37 plinth/modules/restore/manifest.py:23
msgid "reStore"
msgstr "rеStore"
-#: plinth/modules/restore/__init__.py:38
+#: plinth/modules/restore/__init__.py:39
msgid "Unhosted Storage"
msgstr "Unhosted хранилище"
-#: plinth/modules/restore/__init__.py:42
+#: plinth/modules/restore/__init__.py:43
#, python-brace-format
msgid ""
"reStore is a server for unhosted web "
@@ -4250,7 +4243,7 @@ msgstr ""
"храниться на сервере хранения по выбору пользователя. С reStore, ваш "
"{box_name} становится сервером хранения unhosted."
-#: plinth/modules/restore/__init__.py:48
+#: plinth/modules/restore/__init__.py:49
msgid ""
"You can create and edit accounts in the reStore web-"
"interface."
@@ -4258,16 +4251,16 @@ msgstr ""
"Можно создавать и редактировать учетные записи в веб-"
"интерфейсе reStore."
-#: plinth/modules/roundcube/__init__.py:34
+#: plinth/modules/roundcube/__init__.py:35
#: plinth/modules/roundcube/manifest.py:24
msgid "Roundcube"
msgstr "Roundcube"
-#: plinth/modules/roundcube/__init__.py:36
+#: plinth/modules/roundcube/__init__.py:37
msgid "Email Client"
msgstr "Почтовый клиент"
-#: plinth/modules/roundcube/__init__.py:39
+#: plinth/modules/roundcube/__init__.py:40
msgid ""
"Roundcube webmail is a browser-based multilingual IMAP client with an "
"application-like user interface. It provides full functionality you expect "
@@ -4279,7 +4272,7 @@ msgstr ""
"которую вы ожидаете от почтового клиента, включая поддержку MIME, адресную "
"книгу, управление папками, поиск сообщений и проверку орфографии."
-#: plinth/modules/roundcube/__init__.py:44
+#: plinth/modules/roundcube/__init__.py:45
msgid ""
"You can access Roundcube from /roundcube. Provide "
"the username and password of the email account you wish to access followed "
@@ -4294,7 +4287,7 @@ msgstr ""
"(рекомендуется) заполните поле сервера, например imaps://imap.example."
"com."
-#: plinth/modules/roundcube/__init__.py:50
+#: plinth/modules/roundcube/__init__.py:51
msgid ""
"For Gmail, username will be your Gmail address, password will be your Google "
"account password and server will be imaps://imap.gmail.com. "
@@ -4368,12 +4361,12 @@ msgstr ""
msgid "Allow this application to be used by anyone who can reach it."
msgstr ""
-#: plinth/modules/searx/views.py:60 plinth/modules/searx/views.py:71
-#: plinth/modules/tor/views.py:139 plinth/modules/tor/views.py:168
+#: plinth/modules/searx/views.py:59 plinth/modules/searx/views.py:70
+#: plinth/modules/tor/views.py:141 plinth/modules/tor/views.py:168
msgid "Configuration updated."
msgstr "Конфигурация обновлена."
-#: plinth/modules/searx/views.py:63 plinth/modules/searx/views.py:74
+#: plinth/modules/searx/views.py:62 plinth/modules/searx/views.py:73
#: plinth/modules/tor/views.py:170
msgid "An error occurred during configuration."
msgstr "Произошла ошибка во время настройки."
@@ -4437,15 +4430,15 @@ msgstr ""
"на веб-сервере. Обратите внимание, что Shaarli поддерживает только одну "
"учетную запись для начальной установки."
-#: plinth/modules/shadowsocks/__init__.py:34
+#: plinth/modules/shadowsocks/__init__.py:35
msgid "Shadowsocks"
msgstr "Shadowsocks"
-#: plinth/modules/shadowsocks/__init__.py:36
+#: plinth/modules/shadowsocks/__init__.py:37
msgid "Socks5 Proxy"
msgstr "Socks5 Прокси"
-#: plinth/modules/shadowsocks/__init__.py:45
+#: plinth/modules/shadowsocks/__init__.py:44
msgid ""
"Shadowsocks is a lightweight and secure SOCKS5 proxy, designed to protect "
"your Internet traffic. It can be used to bypass Internet filtering and "
@@ -4455,7 +4448,7 @@ msgstr ""
"защитить ваш интернет-трафик. Он может использоваться для обхода Интернет-"
"фильтрации и цензуры."
-#: plinth/modules/shadowsocks/__init__.py:49
+#: plinth/modules/shadowsocks/__init__.py:48
#, python-brace-format
msgid ""
"Your {box_name} can run a Shadowsocks client, that can connect to a "
@@ -4467,7 +4460,7 @@ msgstr ""
"к серверу Shadowsocks. Он также запускать SOCKS5 прокси.Локальные устройства "
"могут подключиться к этому прокси, и их данные будут зашифрованы."
-#: plinth/modules/shadowsocks/__init__.py:54
+#: plinth/modules/shadowsocks/__init__.py:53
msgid ""
"To use Shadowsocks after setup, set the SOCKS5 proxy URL in your device, "
"browser or application to http://freedombox_address:1080/"
@@ -4475,30 +4468,30 @@ msgstr ""
"Чтобы использовать Shadowsocks после установки, смените URL-адрес SOCKS5 "
"прокси в браузере или ином приложении на http://freedombox_address:1080/"
+#: plinth/modules/shadowsocks/forms.py:28
#: plinth/modules/shadowsocks/forms.py:29
-#: plinth/modules/shadowsocks/forms.py:30
msgid "Recommended"
msgstr "Рекомендуется"
-#: plinth/modules/shadowsocks/forms.py:60
+#: plinth/modules/shadowsocks/forms.py:54
msgid "Server"
msgstr "Сервер"
-#: plinth/modules/shadowsocks/forms.py:61
+#: plinth/modules/shadowsocks/forms.py:54
msgid "Server hostname or IP address"
msgstr "Имя или IP адрес сервера"
-#: plinth/modules/shadowsocks/forms.py:67
+#: plinth/modules/shadowsocks/forms.py:58
msgid "Server port number"
msgstr "Номер порта сервера"
-#: plinth/modules/shadowsocks/forms.py:71
+#: plinth/modules/shadowsocks/forms.py:61
msgid "Password used to encrypt data. Must match server password."
msgstr ""
"Пароль, используемый для шифрования данных. Должен совпадать с паролем "
"сервера."
-#: plinth/modules/shadowsocks/forms.py:77
+#: plinth/modules/shadowsocks/forms.py:66
msgid "Encryption method. Must match setting on server."
msgstr "Метод шифрования. Должен соответствовать параметру на сервере."
@@ -4782,7 +4775,7 @@ msgstr "Создан снимок."
msgid "Storage snapshots configuration updated"
msgstr "Настройки хранения снапшотов обновлены"
-#: plinth/modules/snapshot/views.py:153 plinth/modules/tor/views.py:72
+#: plinth/modules/snapshot/views.py:153 plinth/modules/tor/views.py:73
#, python-brace-format
msgid "Action error: {0} [{1}] [{2}]"
msgstr "Ошибка действий: {0}[{1}][{2}]"
@@ -4812,11 +4805,11 @@ msgstr "Необходимо перезагрузить систему для з
msgid "Rollback to Snapshot"
msgstr "Откат к снимку"
-#: plinth/modules/ssh/__init__.py:39
+#: plinth/modules/ssh/__init__.py:40
msgid "Secure Shell (SSH) Server"
msgstr "Secure Shell (SSH) сервер"
-#: plinth/modules/ssh/__init__.py:42
+#: plinth/modules/ssh/__init__.py:43
msgid ""
"A Secure Shell server uses the secure shell protocol to accept connections "
"from remote computers. An authorized remote computer can perform "
@@ -4836,11 +4829,11 @@ msgstr "Единый вход"
msgid "Login"
msgstr "Логин"
-#: plinth/modules/storage/__init__.py:36 plinth/modules/storage/views.py:53
+#: plinth/modules/storage/__init__.py:35 plinth/modules/storage/views.py:53
msgid "Storage"
msgstr "Storage"
-#: plinth/modules/storage/__init__.py:44
+#: plinth/modules/storage/__init__.py:43
#, python-brace-format
msgid ""
"This module allows you to manage storage media attached to your {box_name}. "
@@ -4851,81 +4844,81 @@ msgstr ""
"{box_name}. Вы можете видеть, какие носители используются, монтировать и "
"размонтировать подключаемые носители, увеличивать корневой раздел итп."
-#: plinth/modules/storage/__init__.py:211
+#: plinth/modules/storage/__init__.py:213
#, python-brace-format
msgid "{disk_size:.1f} bytes"
msgstr "{disk_size:.1f} байт"
-#: plinth/modules/storage/__init__.py:215
+#: plinth/modules/storage/__init__.py:217
#, python-brace-format
msgid "{disk_size:.1f} KiB"
msgstr "{disk_size:.1f} КиБ"
-#: plinth/modules/storage/__init__.py:219
+#: plinth/modules/storage/__init__.py:221
#, python-brace-format
msgid "{disk_size:.1f} MiB"
msgstr "{disk_size:.1f} Миб"
-#: plinth/modules/storage/__init__.py:223
+#: plinth/modules/storage/__init__.py:225
#, python-brace-format
msgid "{disk_size:.1f} GiB"
msgstr "{disk_size:.1f} Гиб"
-#: plinth/modules/storage/__init__.py:226
+#: plinth/modules/storage/__init__.py:228
#, python-brace-format
msgid "{disk_size:.1f} TiB"
msgstr "{disk_size:.1f} Тиб"
-#: plinth/modules/storage/__init__.py:233
+#: plinth/modules/storage/__init__.py:235
msgid "The operation failed."
msgstr "Операция не удалась."
-#: plinth/modules/storage/__init__.py:235
+#: plinth/modules/storage/__init__.py:237
msgid "The operation was cancelled."
msgstr "Операция была отменена."
-#: plinth/modules/storage/__init__.py:237
+#: plinth/modules/storage/__init__.py:239
msgid "The device is already unmounting."
msgstr "Устройство уже отключается."
-#: plinth/modules/storage/__init__.py:239
+#: plinth/modules/storage/__init__.py:241
msgid "The operation is not supported due to missing driver/tool support."
msgstr ""
"Операция не поддерживается из-за отсутствия поддержки драйвера или утилиты."
-#: plinth/modules/storage/__init__.py:242
+#: plinth/modules/storage/__init__.py:244
msgid "The operation timed out."
msgstr "Время операции вышло."
-#: plinth/modules/storage/__init__.py:244
+#: plinth/modules/storage/__init__.py:246
msgid "The operation would wake up a disk that is in a deep-sleep state."
msgstr "Операция пробудит диск, находящийся в режиме глубокого сна."
-#: plinth/modules/storage/__init__.py:247
+#: plinth/modules/storage/__init__.py:249
msgid "Attempting to unmount a device that is busy."
msgstr "Попытка отключения устройства, которое используется."
-#: plinth/modules/storage/__init__.py:249
+#: plinth/modules/storage/__init__.py:251
msgid "The operation has already been cancelled."
msgstr "Операция уже отменена."
-#: plinth/modules/storage/__init__.py:255
+#: plinth/modules/storage/__init__.py:257
msgid "Not authorized to perform the requested operation."
msgstr "Отсутствует авторизация для выполнения запрошенной операции."
-#: plinth/modules/storage/__init__.py:257
+#: plinth/modules/storage/__init__.py:259
msgid "The device is already mounted."
msgstr "Устройство уже подключено."
-#: plinth/modules/storage/__init__.py:259
+#: plinth/modules/storage/__init__.py:261
msgid "The device is not mounted."
msgstr "Устройство не подключено."
-#: plinth/modules/storage/__init__.py:262
+#: plinth/modules/storage/__init__.py:264
msgid "Not permitted to use the requested option."
msgstr "Использование запрошенной опции не разрешено."
-#: plinth/modules/storage/__init__.py:265
+#: plinth/modules/storage/__init__.py:267
msgid "The device is mounted by another user."
msgstr "Устройство подключено другим пользователем."
@@ -5010,16 +5003,16 @@ msgstr "Устройство может быть безопасно отсоед
msgid "Error ejecting device: {error_message}"
msgstr "Ошибка извлечения устройства: {error_message}"
-#: plinth/modules/syncthing/__init__.py:38
+#: plinth/modules/syncthing/__init__.py:40
#: plinth/modules/syncthing/manifest.py:28
msgid "Syncthing"
msgstr "Syncthing"
-#: plinth/modules/syncthing/__init__.py:40
+#: plinth/modules/syncthing/__init__.py:42
msgid "File Synchronization"
msgstr "Синхронизация файлов"
-#: plinth/modules/syncthing/__init__.py:43
+#: plinth/modules/syncthing/__init__.py:45
msgid ""
"Syncthing is an application to synchronize files across multiple devices, e."
"g. your desktop computer and mobile phone. Creation, modification, or "
@@ -5031,7 +5024,7 @@ msgstr ""
"или удаление файлов на одном устройстве будет автоматически реплицироваться "
"на все другие устройства, на которых работает Syncthing."
-#: plinth/modules/syncthing/__init__.py:48
+#: plinth/modules/syncthing/__init__.py:50
#, python-brace-format
msgid ""
"Running Syncthing on {box_name} provides an extra synchronization point for "
@@ -5049,7 +5042,7 @@ msgstr ""
"собственный набор папок. Веб-интерфейс доступен только для пользователей, "
"принадлежащих к группе «admin»."
-#: plinth/modules/syncthing/__init__.py:55
+#: plinth/modules/syncthing/__init__.py:57
msgid ""
"When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile clients are also /syncthing. Настольные и мобильные клиенты также доступны."
-#: plinth/modules/syncthing/__init__.py:62
+#: plinth/modules/syncthing/__init__.py:64
msgid "Administer Syncthing application"
msgstr "Администрирование приложения Syncthing"
-#: plinth/modules/tahoe/__init__.py:41
+#: plinth/modules/tahoe/__init__.py:43
msgid "Tahoe-LAFS"
msgstr "Tahoe-LAFS"
-#: plinth/modules/tahoe/__init__.py:43
+#: plinth/modules/tahoe/__init__.py:45
msgid "Distributed File Storage"
msgstr "Распределенное Хранилище Файлов"
-#: plinth/modules/tahoe/__init__.py:107
+#: plinth/modules/tahoe/__init__.py:119
msgid ""
"Tahoe-LAFS is a decentralized secure file storage system. It uses provider "
"independent security to store files over a distributed network of storage "
@@ -5083,7 +5076,7 @@ msgstr ""
"распределенной сети узлов хранения файлов. Если некоторые узлы будут "
"недоступны, вы можете получить ваши файлы от оставшихся узлов."
-#: plinth/modules/tahoe/__init__.py:112
+#: plinth/modules/tahoe/__init__.py:124
#, python-brace-format
msgid ""
"This {box_name} hosts a storage node and an introducer by default. "
@@ -5133,11 +5126,11 @@ msgstr "Подключенные посредники"
msgid "Remove"
msgstr "Удалить"
-#: plinth/modules/tor/__init__.py:43
+#: plinth/modules/tor/__init__.py:46
msgid "Tor"
msgstr "Tor"
-#: plinth/modules/tor/__init__.py:48
+#: plinth/modules/tor/__init__.py:51
msgid ""
"Tor is an anonymous communication system. You can learn more about it from "
"the Tor Project website. For "
@@ -5151,40 +5144,36 @@ msgstr ""
"\"https://www.torproject.org/download/download-easy.html.en\">Tor Browser"
"a>."
-#: plinth/modules/tor/__init__.py:93
+#: plinth/modules/tor/__init__.py:80
msgid "Tor Socks Proxy"
msgstr "Tor Socks прокси"
-#: plinth/modules/tor/__init__.py:99 plinth/modules/tor/__init__.py:146
+#: plinth/modules/tor/__init__.py:84
msgid "Tor Bridge Relay"
msgstr "Ретранслятор Tor типа мост"
-#: plinth/modules/tor/__init__.py:120 plinth/modules/tor/__init__.py:188
+#: plinth/modules/tor/__init__.py:122 plinth/modules/tor/__init__.py:150
msgid "Tor Hidden Service"
msgstr "Скрытый сервис Tor"
-#: plinth/modules/tor/__init__.py:136
-msgid "Tor Anonymity Network"
-msgstr "Tоr Anonymity Network"
-
-#: plinth/modules/tor/__init__.py:208
+#: plinth/modules/tor/__init__.py:170
msgid "Tor relay port available"
msgstr "Доступен порт трансляции Tor"
-#: plinth/modules/tor/__init__.py:218
+#: plinth/modules/tor/__init__.py:180
msgid "Obfs3 transport registered"
msgstr "Obfs3 транспорт зарегестрирован"
-#: plinth/modules/tor/__init__.py:226
+#: plinth/modules/tor/__init__.py:188
msgid "Obfs4 transport registered"
msgstr "Obfs4 транспорт зарегистрирован"
-#: plinth/modules/tor/__init__.py:265
+#: plinth/modules/tor/__init__.py:227
#, python-brace-format
msgid "Access URL {url} on tcp{kind} via Tor"
msgstr "Доступ к {url} по tcp{kind} через Tor"
-#: plinth/modules/tor/__init__.py:276
+#: plinth/modules/tor/__init__.py:238
#, python-brace-format
msgid "Confirm Tor usage at {url} on tcp{kind}"
msgstr "Подтверждение использования Tor в {url} по tcp {kind}"
@@ -5341,12 +5330,12 @@ msgstr "SОCKS"
msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050."
msgstr "Порт Tor SOCKS вашего %(box_name)s доступен по порту TCP 9050."
-#: plinth/modules/transmission/__init__.py:39
+#: plinth/modules/transmission/__init__.py:41
#: plinth/modules/transmission/manifest.py:24
msgid "Transmission"
msgstr "Transmissiоn"
-#: plinth/modules/transmission/__init__.py:44
+#: plinth/modules/transmission/__init__.py:46
msgid ""
"BitTorrent is a peer-to-peer file sharing protocol. Transmission daemon "
"handles Bitorrent file sharing. Note that BitTorrent is not anonymous."
@@ -5355,7 +5344,7 @@ msgstr ""
"обрабатывает обмен файлами Bitorrent. Обратите внимание, что BitTorrent не "
"является анонимным."
-#: plinth/modules/transmission/__init__.py:47
+#: plinth/modules/transmission/__init__.py:49
msgid ""
"Access the web interface at /transmission."
msgstr ""
@@ -5375,15 +5364,15 @@ msgstr ""
"убедитесь, что новый каталог существует и доступен для записи пользователем "
"\"debian-transmission\" ."
-#: plinth/modules/ttrss/__init__.py:41 plinth/modules/ttrss/manifest.py:34
+#: plinth/modules/ttrss/__init__.py:43 plinth/modules/ttrss/manifest.py:34
msgid "Tiny Tiny RSS"
msgstr "Tiny Tiny RSS"
-#: plinth/modules/ttrss/__init__.py:43
+#: plinth/modules/ttrss/__init__.py:45
msgid "News Feed Reader"
msgstr "Чтение ленты новостей"
-#: plinth/modules/ttrss/__init__.py:46
+#: plinth/modules/ttrss/__init__.py:48
msgid ""
"Tiny Tiny RSS is a news feed (RSS/Atom) reader and aggregator, designed to "
"allow reading news from any location, while feeling as close to a real "
@@ -5392,7 +5381,7 @@ msgstr ""
"Tiny Tiny RSS это новый (RSS/Atom) агрегатор новостей, позволяющий читать "
"новости из любого места, так же удобно, как и в настольных приложениях."
-#: plinth/modules/ttrss/__init__.py:50
+#: plinth/modules/ttrss/__init__.py:52
#, python-brace-format
msgid ""
"When enabled, Tiny Tiny RSS will be available from /tt-"
@@ -5402,7 +5391,7 @@ msgstr ""
"Когда включен, Tiny Tiny RSS доступен по адресу /tt-rss"
"a>. Он доступен всем пользователям {box_name}."
-#: plinth/modules/ttrss/__init__.py:55
+#: plinth/modules/ttrss/__init__.py:57
msgid ""
"When using a mobile or desktop application for Tiny Tiny RSS, use the URL /tt-rss-app for connecting."
@@ -5411,7 +5400,7 @@ msgstr ""
"Tiny RSS используйте URL / tt-rss-app для "
"подключения."
-#: plinth/modules/ttrss/__init__.py:61
+#: plinth/modules/ttrss/__init__.py:63
msgid "Read and subscribe to news feeds"
msgstr "Чтение и подписка на ленты новостей"
@@ -5419,11 +5408,11 @@ msgstr "Чтение и подписка на ленты новостей"
msgid "Tiny Tiny RSS (Fork)"
msgstr "Tiny Tiny RSS (Fork)"
-#: plinth/modules/upgrades/__init__.py:36 plinth/templates/setup.html:101
+#: plinth/modules/upgrades/__init__.py:35 plinth/templates/setup.html:101
msgid "Update"
msgstr "Обновление"
-#: plinth/modules/upgrades/__init__.py:39
+#: plinth/modules/upgrades/__init__.py:38
msgid "Check for and apply the latest software and security updates."
msgstr "Проверьте и установите новейшие программы и обновления безопасности."
@@ -5463,32 +5452,32 @@ msgstr "Переключите последние протоколы обнов
msgid "Auto-update"
msgstr "Автообновление"
-#: plinth/modules/upgrades/views.py:39
+#: plinth/modules/upgrades/views.py:40
msgid "Manual update"
msgstr "Ручное обновление"
-#: plinth/modules/upgrades/views.py:78
+#: plinth/modules/upgrades/views.py:79
#, python-brace-format
msgid "Error when configuring unattended-upgrades: {error}"
msgstr "Ошибка при настройке автоматического обновления: {error}"
-#: plinth/modules/upgrades/views.py:82
+#: plinth/modules/upgrades/views.py:83
msgid "Automatic upgrades enabled"
msgstr "Автоматические обновления включены"
-#: plinth/modules/upgrades/views.py:85
+#: plinth/modules/upgrades/views.py:86
msgid "Automatic upgrades disabled"
msgstr "Автоматические обновления отключены"
-#: plinth/modules/upgrades/views.py:87
+#: plinth/modules/upgrades/views.py:88
msgid "Settings unchanged"
msgstr "Настройки без изменений"
-#: plinth/modules/upgrades/views.py:113
+#: plinth/modules/upgrades/views.py:114
msgid "Upgrade process started."
msgstr "Начался процесс обновления."
-#: plinth/modules/upgrades/views.py:116
+#: plinth/modules/upgrades/views.py:117
msgid "Starting upgrade failed."
msgstr "Сбой при запуске обновления."
@@ -5496,7 +5485,7 @@ msgstr "Сбой при запуске обновления."
msgid "Users and Groups"
msgstr "Пользователи и группы"
-#: plinth/modules/users/__init__.py:106
+#: plinth/modules/users/__init__.py:108
#, python-brace-format
msgid "Check LDAP entry \"{search_item}\""
msgstr "Проверьте запись LDAP \"{search_item}\""
@@ -5722,15 +5711,6 @@ msgstr "изменение медиа"
msgid "configuration file: {file}"
msgstr "Файл настроек: {file}"
-#: plinth/service.py:140
-msgid "Web Server over Secure Socket Layer"
-msgstr "Веб-сервер через Secure Socket Layer"
-
-#: plinth/service.py:145
-#, python-brace-format
-msgid "{box_name} Web Interface (Plinth)"
-msgstr "{box_name} Веб-интерфейс (Plinth)"
-
#: plinth/templates/403.html:25
msgid "403 Forbidden"
msgstr "403 Доступ запрещён"
@@ -5948,17 +5928,17 @@ msgstr "Чат IRC"
msgid "Mailing list"
msgstr "Список рассылки"
-#: plinth/templates/internal-zone.html:25
+#: plinth/templates/internal-zone.html:26
#, python-format
msgid "%(service_name)s is available only on internal networks."
msgstr "%(service_name)s доступно только во внутренних сетях."
-#: plinth/templates/internal-zone.html:31
+#: plinth/templates/internal-zone.html:32
msgid "Currently there are no network interfaces configured as internal."
msgstr ""
"В настоящее время нет сетевых интерфейсов, сконфигурированных как внутренние."
-#: plinth/templates/internal-zone.html:33
+#: plinth/templates/internal-zone.html:34
#, python-format
msgid ""
"Currently the following network interfaces are configured as internal: "
@@ -6027,10 +6007,24 @@ msgstr "Установка %(package_names)s: %(status)s"
msgid "%(percentage)s%% complete"
msgstr "%(percentage)s%% завершено"
+#: plinth/views.py:178
+msgid "Application enabled"
+msgstr "Приложение включено"
+
+#: plinth/views.py:181
+msgid "Application disabled"
+msgstr "Приложение отключено"
+
#: plinth/web_framework.py:186
msgid "Gujarati"
msgstr "Гуджарати"
+#~ msgid "Tor Anonymity Network"
+#~ msgstr "Tоr Anonymity Network"
+
+#~ msgid "Web Server over Secure Socket Layer"
+#~ msgstr "Веб-сервер через Secure Socket Layer"
+
#~ msgid "Current status:"
#~ msgstr "Текущий статус:"
diff --git a/plinth/locale/sl/LC_MESSAGES/django.po b/plinth/locale/sl/LC_MESSAGES/django.po
index a6ba09bb6..522776cfa 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: 2019-06-10 19:02-0400\n"
+"POT-Creation-Date: 2019-06-24 19:48-0400\n"
"PO-Revision-Date: 2019-05-07 20:48+0000\n"
"Last-Translator: Erik Ušaj \n"
"Language-Team: Slovenian /"
@@ -520,14 +531,14 @@ msgstr ""
"\"{users_url}\">katerikoli uporabnik na {box_name}, ki je član skupine "
"skrbnikov."
-#: plinth/modules/config/__init__.py:59 plinth/modules/dynamicdns/views.py:44
+#: plinth/modules/config/__init__.py:61 plinth/modules/dynamicdns/views.py:45
#: plinth/modules/i2p/views.py:31 plinth/modules/ikiwiki/views.py:35
#: plinth/modules/pagekite/views.py:36 plinth/modules/snapshot/views.py:40
#: plinth/modules/tahoe/templates/tahoe-pre-setup.html:39
msgid "Configure"
msgstr "Nastavitve"
-#: plinth/modules/config/__init__.py:164 plinth/modules/config/forms.py:76
+#: plinth/modules/config/__init__.py:166 plinth/modules/config/forms.py:76
#: plinth/modules/config/views.py:171 plinth/modules/dynamicdns/forms.py:111
msgid "Domain Name"
msgstr "Ime domene"
@@ -609,8 +620,8 @@ msgstr ""
#: plinth/modules/power/templates/power_restart.html:42
#: plinth/modules/power/templates/power_shutdown.html:41
#: plinth/modules/storage/templates/storage.html:48
-#: plinth/templates/service-subsubmenu.html:47 plinth/templates/service.html:42
-#: plinth/templates/setup.html:48 plinth/templates/simple_service.html:38
+#: plinth/templates/app-subsubmenu.html:47 plinth/templates/app.html:42
+#: plinth/templates/setup.html:48 plinth/templates/simple_app.html:38
msgid "Learn more..."
msgstr ""
@@ -658,22 +669,22 @@ msgstr ""
msgid "Hiding advanced apps and features"
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:38
+#: plinth/modules/coquelicot/__init__.py:40
msgid "Coquelicot"
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:40
+#: plinth/modules/coquelicot/__init__.py:42
msgid "File Sharing"
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:43
+#: plinth/modules/coquelicot/__init__.py:45
msgid ""
"Coquelicot is a “one-click” file sharing web application with a focus on "
"protecting users’ privacy. It is best used for quickly sharing a single "
"file. "
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:46
+#: plinth/modules/coquelicot/__init__.py:48
msgid ""
"This Coquelicot instance is exposed to the public but requires an upload "
"password to prevent unauthorized access. You can set a new upload password "
@@ -703,19 +714,19 @@ msgstr ""
msgid "coquelicot"
msgstr ""
-#: plinth/modules/coquelicot/views.py:57
+#: plinth/modules/coquelicot/views.py:59
msgid "Upload password updated"
msgstr ""
-#: plinth/modules/coquelicot/views.py:60
+#: plinth/modules/coquelicot/views.py:62
msgid "Failed to update upload password"
msgstr ""
-#: plinth/modules/coquelicot/views.py:68
+#: plinth/modules/coquelicot/views.py:70
msgid "Maximum file size updated"
msgstr ""
-#: plinth/modules/coquelicot/views.py:71
+#: plinth/modules/coquelicot/views.py:73
msgid "Failed to update maximum file size"
msgstr ""
@@ -729,21 +740,21 @@ msgid ""
"synchronization with servers on the Internet."
msgstr ""
-#: plinth/modules/datetime/__init__.py:107
+#: plinth/modules/datetime/__init__.py:99
msgid "Time synchronized to NTP server"
msgstr ""
-#: plinth/modules/datetime/forms.py:36
+#: plinth/modules/datetime/forms.py:35
msgid "Time Zone"
msgstr ""
-#: plinth/modules/datetime/forms.py:37
+#: plinth/modules/datetime/forms.py:36
msgid ""
"Set your time zone to get accurate timestamps. This will set the system-wide "
"time zone."
msgstr ""
-#: plinth/modules/datetime/forms.py:49
+#: plinth/modules/datetime/forms.py:47
msgid "-- no time zone set --"
msgstr ""
@@ -761,7 +772,7 @@ msgid "Deluge"
msgstr ""
#: plinth/modules/deluge/__init__.py:41
-#: plinth/modules/transmission/__init__.py:41
+#: plinth/modules/transmission/__init__.py:43
msgid "BitTorrent Web Client"
msgstr ""
@@ -777,7 +788,7 @@ msgid ""
msgstr ""
#: plinth/modules/deluge/__init__.py:51
-#: plinth/modules/transmission/__init__.py:54
+#: plinth/modules/transmission/__init__.py:56
msgid "Download files using BitTorrent applications"
msgstr ""
@@ -839,12 +850,12 @@ msgstr ""
msgid "Result"
msgstr ""
-#: plinth/modules/diaspora/__init__.py:52
+#: plinth/modules/diaspora/__init__.py:54
#: plinth/modules/diaspora/manifest.py:38
msgid "diaspora*"
msgstr ""
-#: plinth/modules/diaspora/__init__.py:54
+#: plinth/modules/diaspora/__init__.py:56
msgid "Federated Social Network"
msgstr ""
@@ -891,22 +902,22 @@ msgstr ""
#: plinth/modules/tahoe/templates/tahoe-pre-setup.html:58
#: plinth/modules/tor/templates/tor.html:96
#: plinth/modules/upgrades/templates/upgrades_configure.html:32
-#: plinth/templates/service.html:89
+#: plinth/templates/app.html:89
msgid "Update setup"
msgstr ""
-#: plinth/modules/diaspora/views.py:97 plinth/modules/ejabberd/views.py:64
-#: plinth/modules/matrixsynapse/views.py:107
-#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:150
-#: plinth/modules/tor/views.py:146 plinth/views.py:160
+#: plinth/modules/diaspora/views.py:94 plinth/modules/ejabberd/views.py:65
+#: plinth/modules/matrixsynapse/views.py:108
+#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:148
+#: plinth/modules/tor/views.py:148 plinth/views.py:174
msgid "Setting unchanged"
msgstr ""
-#: plinth/modules/diaspora/views.py:101
+#: plinth/modules/diaspora/views.py:98
msgid "User registrations enabled"
msgstr ""
-#: plinth/modules/diaspora/views.py:105
+#: plinth/modules/diaspora/views.py:102
msgid "User registrations disabled"
msgstr ""
@@ -933,8 +944,8 @@ msgid ""
"IP address."
msgstr ""
-#: plinth/modules/dynamicdns/__init__.py:85
-#: plinth/modules/dynamicdns/views.py:167
+#: plinth/modules/dynamicdns/__init__.py:87
+#: plinth/modules/dynamicdns/views.py:169
msgid "Dynamic DNS Service"
msgstr ""
@@ -1023,7 +1034,7 @@ msgid "Username"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:121 plinth/modules/networks/forms.py:235
-#: plinth/modules/shadowsocks/forms.py:70
+#: plinth/modules/shadowsocks/forms.py:61
msgid "Password"
msgstr ""
@@ -1101,45 +1112,45 @@ msgstr ""
msgid "Last update"
msgstr ""
-#: plinth/modules/dynamicdns/views.py:41 plinth/modules/help/help.py:57
+#: plinth/modules/dynamicdns/views.py:41 plinth/modules/help/help.py:59
msgid "About"
msgstr ""
-#: plinth/modules/dynamicdns/views.py:47
+#: plinth/modules/dynamicdns/views.py:49
#: plinth/modules/firewall/templates/firewall.html:25
#: plinth/modules/firewall/templates/firewall.html:45
#: plinth/modules/i2p/templates/i2p.html:27
#: plinth/modules/networks/templates/connection_show.html:261
#: plinth/modules/openvpn/templates/openvpn.html:71
#: plinth/modules/tor/templates/tor.html:40
-#: plinth/modules/tor/templates/tor.html:68 plinth/templates/service.html:51
+#: plinth/modules/tor/templates/tor.html:68 plinth/templates/app.html:51
msgid "Status"
msgstr ""
-#: plinth/modules/dynamicdns/views.py:78
+#: plinth/modules/dynamicdns/views.py:80
msgid "Configure Dynamic DNS"
msgstr ""
-#: plinth/modules/dynamicdns/views.py:103
+#: plinth/modules/dynamicdns/views.py:105
msgid "Dynamic DNS Status"
msgstr ""
-#: plinth/modules/ejabberd/__init__.py:43
+#: plinth/modules/ejabberd/__init__.py:45
msgid "ejabberd"
msgstr ""
-#: plinth/modules/ejabberd/__init__.py:45
-#: plinth/modules/matrixsynapse/__init__.py:43
+#: plinth/modules/ejabberd/__init__.py:47
+#: plinth/modules/matrixsynapse/__init__.py:45
msgid "Chat Server"
msgstr ""
-#: plinth/modules/ejabberd/__init__.py:48
+#: plinth/modules/ejabberd/__init__.py:50
msgid ""
"XMPP is an open and standardized communication protocol. Here you can run "
"and configure your XMPP server, called ejabberd."
msgstr ""
-#: plinth/modules/ejabberd/__init__.py:51
+#: plinth/modules/ejabberd/__init__.py:53
#, python-brace-format
msgid ""
"To actually communicate, you can use the web client"
@@ -1148,11 +1159,11 @@ msgid ""
"any user with a {box_name} login."
msgstr ""
-#: plinth/modules/ejabberd/forms.py:33
+#: plinth/modules/ejabberd/forms.py:32
msgid "Enable Message Archive Management"
msgstr ""
-#: plinth/modules/ejabberd/forms.py:36
+#: plinth/modules/ejabberd/forms.py:34
#, python-brace-format
msgid ""
"If enabled, your {box_name} will store chat message histories. This allows "
@@ -1220,35 +1231,23 @@ msgstr ""
#: plinth/modules/openvpn/templates/openvpn.html:123
#: plinth/modules/snapshot/templates/snapshot.html:27
#: plinth/modules/tahoe/templates/tahoe-post-setup.html:43
-#: plinth/modules/tor/templates/tor.html:88 plinth/templates/service.html:81
+#: plinth/modules/tor/templates/tor.html:88 plinth/templates/app.html:81
msgid "Configuration"
msgstr ""
-#: plinth/modules/ejabberd/views.py:68
-#: plinth/modules/matrixsynapse/views.py:111
-#: plinth/modules/mediawiki/views.py:79 plinth/views.py:164
-msgid "Application enabled"
-msgstr ""
-
-#: plinth/modules/ejabberd/views.py:71
-#: plinth/modules/matrixsynapse/views.py:114
-#: plinth/modules/mediawiki/views.py:82 plinth/views.py:167
-msgid "Application disabled"
-msgstr ""
-
-#: plinth/modules/ejabberd/views.py:78
+#: plinth/modules/ejabberd/views.py:77
msgid "Message Archive Management enabled"
msgstr ""
-#: plinth/modules/ejabberd/views.py:82
+#: plinth/modules/ejabberd/views.py:81
msgid "Message Archive Management disabled"
msgstr ""
-#: plinth/modules/firewall/__init__.py:40
+#: plinth/modules/firewall/__init__.py:36
msgid "Firewall"
msgstr ""
-#: plinth/modules/firewall/__init__.py:44
+#: plinth/modules/firewall/__init__.py:40
#, python-brace-format
msgid ""
"Firewall is a security system that controls the incoming and outgoing "
@@ -1354,29 +1353,29 @@ msgstr ""
msgid "Setup Complete"
msgstr ""
-#: plinth/modules/help/help.py:44
+#: plinth/modules/help/help.py:46
msgid "Documentation"
msgstr ""
-#: plinth/modules/help/help.py:48 plinth/modules/networks/forms.py:68
+#: plinth/modules/help/help.py:50 plinth/modules/networks/forms.py:68
#: plinth/modules/networks/forms.py:108 plinth/templates/index.html:135
msgid "Manual"
msgstr ""
-#: plinth/modules/help/help.py:53
+#: plinth/modules/help/help.py:55
msgid "Download Manual"
msgstr ""
-#: plinth/modules/help/help.py:73
+#: plinth/modules/help/help.py:75
msgid "Documentation and FAQ"
msgstr ""
-#: plinth/modules/help/help.py:81
+#: plinth/modules/help/help.py:83
#, python-brace-format
msgid "About {box_name}"
msgstr ""
-#: plinth/modules/help/help.py:102
+#: plinth/modules/help/help.py:104
#, python-brace-format
msgid "{box_name} Manual"
msgstr ""
@@ -1494,15 +1493,15 @@ msgid ""
"before submitting the bug report."
msgstr ""
-#: plinth/modules/i2p/__init__.py:40 plinth/modules/i2p/manifest.py:31
+#: plinth/modules/i2p/__init__.py:42 plinth/modules/i2p/manifest.py:31
msgid "I2P"
msgstr ""
-#: plinth/modules/i2p/__init__.py:42 plinth/modules/tor/__init__.py:45
+#: plinth/modules/i2p/__init__.py:44 plinth/modules/tor/__init__.py:48
msgid "Anonymity Network"
msgstr ""
-#: plinth/modules/i2p/__init__.py:45
+#: plinth/modules/i2p/__init__.py:47
msgid ""
"The Invisible Internet Project is an anonymous network layer intended to "
"protect communication from censorship and surveillance. I2P provides "
@@ -1510,33 +1509,33 @@ msgid ""
"distributed around the world."
msgstr ""
-#: plinth/modules/i2p/__init__.py:49
+#: plinth/modules/i2p/__init__.py:51
msgid ""
"Find more information about I2P on their project homepage."
msgstr ""
-#: plinth/modules/i2p/__init__.py:51
+#: plinth/modules/i2p/__init__.py:53
msgid ""
"The first visit to the provided web interface will initiate the "
"configuration process."
msgstr ""
-#: plinth/modules/i2p/__init__.py:57
+#: plinth/modules/i2p/__init__.py:59
msgid "Manage I2P application"
msgstr ""
-#: plinth/modules/i2p/templates/i2p.html:32 plinth/templates/service.html:56
+#: plinth/modules/i2p/templates/i2p.html:32 plinth/templates/app.html:56
#, python-format
msgid "Service %(service_name)s is running."
msgstr ""
-#: plinth/modules/i2p/templates/i2p.html:37 plinth/templates/service.html:61
+#: plinth/modules/i2p/templates/i2p.html:37 plinth/templates/app.html:61
#, python-format
msgid "Service %(service_name)s is not running."
msgstr ""
-#: plinth/modules/i2p/templates/i2p_service.html:13
+#: plinth/modules/i2p/templates/i2p_service.html:31
#: plinth/templates/clients.html:51
msgid "Launch"
msgstr ""
@@ -1549,43 +1548,43 @@ msgstr ""
msgid "Anonymous torrents"
msgstr ""
-#: plinth/modules/i2p/views.py:86
+#: plinth/modules/i2p/views.py:88
msgid "I2P Proxies and Tunnels"
msgstr ""
-#: plinth/modules/i2p/views.py:89
+#: plinth/modules/i2p/views.py:91
msgid ""
"I2P lets you browse the Internet and hidden services (eepsites) anonymously. "
"For this, your browser, preferably a Tor Browser, needs to be configured for "
"a proxy."
msgstr ""
-#: plinth/modules/i2p/views.py:92
+#: plinth/modules/i2p/views.py:94
msgid ""
"By default HTTP, HTTPS and IRC proxies are available. Additional proxies and "
"tunnels may be configured using the tunnel configuration interface."
msgstr ""
-#: plinth/modules/i2p/views.py:101
+#: plinth/modules/i2p/views.py:103
msgid "Anonymous Torrents"
msgstr ""
-#: plinth/modules/i2p/views.py:104
+#: plinth/modules/i2p/views.py:106
msgid ""
"I2P provides an application to download files anonymously in a peer-to-peer "
"network. Download files by adding torrents or create a new torrent to share "
"a file."
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:42 plinth/modules/ikiwiki/manifest.py:24
+#: plinth/modules/ikiwiki/__init__.py:41 plinth/modules/ikiwiki/manifest.py:24
msgid "ikiwiki"
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:44
+#: plinth/modules/ikiwiki/__init__.py:43
msgid "Wiki and Blog"
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:47
+#: plinth/modules/ikiwiki/__init__.py:46
msgid ""
"ikiwiki is a simple wiki and blog application. It supports several "
"lightweight markup languages, including Markdown, and common blogging "
@@ -1593,7 +1592,7 @@ msgid ""
"wikis will be available at /ikiwiki (once created)."
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:53
+#: plinth/modules/ikiwiki/__init__.py:52
#, python-brace-format
msgid ""
"Only {box_name} users in the admin group can create and "
@@ -1602,7 +1601,7 @@ msgid ""
"Configuration you can change these permissions or add new users."
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:63
+#: plinth/modules/ikiwiki/__init__.py:62
msgid "View and edit wiki applications"
msgstr ""
@@ -1670,49 +1669,49 @@ msgstr ""
msgid "Manage"
msgstr ""
-#: plinth/modules/ikiwiki/views.py:121
+#: plinth/modules/ikiwiki/views.py:124
#, python-brace-format
msgid "Created wiki {name}."
msgstr ""
-#: plinth/modules/ikiwiki/views.py:124
+#: plinth/modules/ikiwiki/views.py:127
#, python-brace-format
msgid "Could not create wiki: {error}"
msgstr ""
-#: plinth/modules/ikiwiki/views.py:134
+#: plinth/modules/ikiwiki/views.py:137
#, python-brace-format
msgid "Created blog {name}."
msgstr ""
-#: plinth/modules/ikiwiki/views.py:137
+#: plinth/modules/ikiwiki/views.py:140
#, python-brace-format
msgid "Could not create blog: {error}"
msgstr ""
-#: plinth/modules/ikiwiki/views.py:150
+#: plinth/modules/ikiwiki/views.py:153
#, python-brace-format
msgid "{name} deleted."
msgstr ""
-#: plinth/modules/ikiwiki/views.py:154
+#: plinth/modules/ikiwiki/views.py:157
#, python-brace-format
msgid "Could not delete {name}: {error}"
msgstr ""
-#: plinth/modules/infinoted/__init__.py:41
+#: plinth/modules/infinoted/__init__.py:40
msgid "infinoted"
msgstr ""
-#: plinth/modules/infinoted/__init__.py:43
+#: plinth/modules/infinoted/__init__.py:42
msgid "Gobby Server"
msgstr ""
-#: plinth/modules/infinoted/__init__.py:46
+#: plinth/modules/infinoted/__init__.py:45
msgid "infinoted is a server for Gobby, a collaborative text editor."
msgstr ""
-#: plinth/modules/infinoted/__init__.py:48
+#: plinth/modules/infinoted/__init__.py:47
#, python-brace-format
msgid ""
"To use it, download Gobby, desktop "
@@ -2032,11 +2031,11 @@ msgstr ""
msgid "Failed to delete certificate for domain {domain}: {error}"
msgstr ""
-#: plinth/modules/matrixsynapse/__init__.py:41
+#: plinth/modules/matrixsynapse/__init__.py:43
msgid "Matrix Synapse"
msgstr ""
-#: plinth/modules/matrixsynapse/__init__.py:46
+#: plinth/modules/matrixsynapse/__init__.py:48
msgid ""
"Matrix is an new "
"ecosystem for open, federated instant messaging and VoIP. Synapse is a "
@@ -2046,7 +2045,7 @@ msgid ""
"converse with users on all other Matrix servers via federation."
msgstr ""
-#: plinth/modules/matrixsynapse/__init__.py:53
+#: plinth/modules/matrixsynapse/__init__.py:55
msgid ""
"To communicate, you can use the available clients for mobile, desktop and the web. Special:CreateAccount page."
msgstr ""
-#: plinth/modules/mediawiki/__init__.py:49
+#: plinth/modules/mediawiki/__init__.py:53
msgid ""
"Anyone with a link to this wiki can read it. Only users that are logged in "
"can make changes to the content."
@@ -2183,32 +2182,32 @@ msgstr ""
msgid "Password updated"
msgstr ""
-#: plinth/modules/mediawiki/views.py:91
+#: plinth/modules/mediawiki/views.py:89
msgid "Public registrations enabled"
msgstr ""
-#: plinth/modules/mediawiki/views.py:100
+#: plinth/modules/mediawiki/views.py:98
msgid "Public registrations disabled"
msgstr ""
-#: plinth/modules/mediawiki/views.py:109
+#: plinth/modules/mediawiki/views.py:107
msgid "Private mode enabled"
msgstr ""
-#: plinth/modules/mediawiki/views.py:112
+#: plinth/modules/mediawiki/views.py:110
msgid "Private mode disabled"
msgstr ""
-#: plinth/modules/minetest/__init__.py:53
+#: plinth/modules/minetest/__init__.py:52
#: plinth/modules/minetest/manifest.py:25
msgid "Minetest"
msgstr ""
-#: plinth/modules/minetest/__init__.py:55
+#: plinth/modules/minetest/__init__.py:54
msgid "Block Sandbox"
msgstr ""
-#: plinth/modules/minetest/__init__.py:59
+#: plinth/modules/minetest/__init__.py:58
#, python-brace-format
msgid ""
"Minetest is a multiplayer infinite-world block sandbox. This module enables "
@@ -2217,39 +2216,39 @@ msgid ""
"downloads/\">Minetest client is needed."
msgstr ""
-#: plinth/modules/minetest/forms.py:31
+#: plinth/modules/minetest/forms.py:30
msgid "Maximum number of players"
msgstr ""
-#: plinth/modules/minetest/forms.py:35
+#: plinth/modules/minetest/forms.py:32
msgid ""
"You can change the maximum number of players playing minetest at a single "
"instance of time."
msgstr ""
-#: plinth/modules/minetest/forms.py:39
+#: plinth/modules/minetest/forms.py:36
msgid "Enable creative mode"
msgstr ""
-#: plinth/modules/minetest/forms.py:41
+#: plinth/modules/minetest/forms.py:37
msgid ""
"Creative mode changes the rules of the game to make it more suitable for "
"creative gameplay, rather than challenging \"survival\" gameplay."
msgstr ""
-#: plinth/modules/minetest/forms.py:46
+#: plinth/modules/minetest/forms.py:42
msgid "Enable PVP"
msgstr ""
-#: plinth/modules/minetest/forms.py:48
+#: plinth/modules/minetest/forms.py:43
msgid "Enabling Player Vs Player will allow players to damage other players."
msgstr ""
-#: plinth/modules/minetest/forms.py:52
+#: plinth/modules/minetest/forms.py:47
msgid "Enable damage"
msgstr ""
-#: plinth/modules/minetest/forms.py:54
+#: plinth/modules/minetest/forms.py:48
msgid "When disabled, players cannot die or receive damage of any kind."
msgstr ""
@@ -2263,52 +2262,52 @@ msgstr ""
msgid "Port"
msgstr ""
-#: plinth/modules/minetest/views.py:71
+#: plinth/modules/minetest/views.py:72
msgid "Maximum players configuration updated"
msgstr ""
-#: plinth/modules/minetest/views.py:78
+#: plinth/modules/minetest/views.py:79
msgid "Creative mode configuration updated"
msgstr ""
-#: plinth/modules/minetest/views.py:84
+#: plinth/modules/minetest/views.py:85
msgid "PVP configuration updated"
msgstr ""
-#: plinth/modules/minetest/views.py:90
+#: plinth/modules/minetest/views.py:91
msgid "Damage configuration updated"
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:38
+#: plinth/modules/mldonkey/__init__.py:40
#: plinth/modules/mldonkey/manifest.py:27
msgid "MLDonkey"
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:40
+#: plinth/modules/mldonkey/__init__.py:42
msgid "Peer-to-peer File Sharing"
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:43
+#: plinth/modules/mldonkey/__init__.py:45
msgid ""
"MLDonkey is a peer-to-peer file sharing application used to exchange large "
"files. It can participate in multiple peer-to-peer networks including "
"eDonkey, Kademlia, Overnet, BitTorrent and DirectConnect."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:46
+#: plinth/modules/mldonkey/__init__.py:48
msgid ""
"Users belonging to admin and ed2k group can control it through the web "
"interface. Users in the admin group can also control it through any of the "
"separate mobile or desktop front-ends or a telnet interface. See manual."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:51
+#: plinth/modules/mldonkey/__init__.py:53
#, python-brace-format
msgid ""
"On {box_name}, downloaded files can be found in /var/lib/mldonkey/ directory."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:59
+#: plinth/modules/mldonkey/__init__.py:61
msgid "Download files using eDonkey applications"
msgstr ""
@@ -2372,12 +2371,6 @@ msgstr ""
msgid "Secure Shell"
msgstr ""
-#: plinth/modules/monkeysphere/templates/monkeysphere.html:88
-#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:60
-#: plinth/service.py:138
-msgid "Web Server"
-msgstr ""
-
#: plinth/modules/monkeysphere/templates/monkeysphere.html:90
#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:62
msgid "Other"
@@ -2470,21 +2463,21 @@ msgstr ""
msgid "Error occurred while publishing key."
msgstr ""
-#: plinth/modules/mumble/__init__.py:34 plinth/modules/mumble/manifest.py:27
+#: plinth/modules/mumble/__init__.py:35 plinth/modules/mumble/manifest.py:27
msgid "Mumble"
msgstr ""
-#: plinth/modules/mumble/__init__.py:36
+#: plinth/modules/mumble/__init__.py:37
msgid "Voice Chat"
msgstr ""
-#: plinth/modules/mumble/__init__.py:45
+#: plinth/modules/mumble/__init__.py:44
msgid ""
"Mumble is an open source, low-latency, encrypted, high quality voice chat "
"software."
msgstr ""
-#: plinth/modules/mumble/__init__.py:47
+#: plinth/modules/mumble/__init__.py:46
msgid ""
"You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your "
@@ -2532,7 +2525,7 @@ msgstr ""
msgid "Networks"
msgstr ""
-#: plinth/modules/networks/__init__.py:142
+#: plinth/modules/networks/__init__.py:144
#, python-brace-format
msgid "Using DNSSEC on IPv{kind}"
msgstr ""
@@ -2959,7 +2952,7 @@ msgstr ""
#: plinth/modules/networks/templates/connection_show.html:186
#: plinth/modules/networks/templates/connection_show.html:227
-#: plinth/modules/shadowsocks/forms.py:75
+#: plinth/modules/shadowsocks/forms.py:65
msgid "Method"
msgstr ""
@@ -3081,15 +3074,15 @@ msgstr ""
msgid "Create..."
msgstr ""
-#: plinth/modules/openvpn/__init__.py:40
+#: plinth/modules/openvpn/__init__.py:39
msgid "OpenVPN"
msgstr ""
-#: plinth/modules/openvpn/__init__.py:42
+#: plinth/modules/openvpn/__init__.py:41
msgid "Virtual Private Network"
msgstr ""
-#: plinth/modules/openvpn/__init__.py:46
+#: plinth/modules/openvpn/__init__.py:45
#, python-brace-format
msgid ""
"Virtual Private Network (VPN) is a technique for securely connecting two "
@@ -3100,7 +3093,7 @@ msgid ""
"security and anonymity."
msgstr ""
-#: plinth/modules/openvpn/__init__.py:74
+#: plinth/modules/openvpn/__init__.py:75
#, python-brace-format
msgid ""
"Download Profile"
@@ -3165,11 +3158,11 @@ msgstr ""
msgid "OpenVPN server is not running"
msgstr ""
-#: plinth/modules/openvpn/views.py:128
+#: plinth/modules/openvpn/views.py:126
msgid "Setup completed."
msgstr ""
-#: plinth/modules/openvpn/views.py:130
+#: plinth/modules/openvpn/views.py:128
msgid "Setup failed."
msgstr ""
@@ -3239,7 +3232,7 @@ msgid ""
"pagekite.net server."
msgstr ""
-#: plinth/modules/pagekite/forms.py:78 plinth/modules/shadowsocks/forms.py:64
+#: plinth/modules/pagekite/forms.py:78 plinth/modules/shadowsocks/forms.py:57
msgid "Server port"
msgstr ""
@@ -3439,47 +3432,47 @@ msgstr ""
msgid "Save Services"
msgstr ""
-#: plinth/modules/pagekite/utils.py:53
+#: plinth/modules/pagekite/utils.py:57
msgid "Web Server (HTTP)"
msgstr ""
-#: plinth/modules/pagekite/utils.py:54
+#: plinth/modules/pagekite/utils.py:59
#, python-brace-format
msgid "Site will be available at http://{0}"
msgstr ""
-#: plinth/modules/pagekite/utils.py:63
+#: plinth/modules/pagekite/utils.py:71
msgid "Web Server (HTTPS)"
msgstr ""
-#: plinth/modules/pagekite/utils.py:64
+#: plinth/modules/pagekite/utils.py:73
#, python-brace-format
msgid "Site will be available at https://{0}"
msgstr ""
-#: plinth/modules/pagekite/utils.py:73
+#: plinth/modules/pagekite/utils.py:85
msgid "Secure Shell (SSH)"
msgstr ""
-#: plinth/modules/pagekite/utils.py:74
+#: plinth/modules/pagekite/utils.py:87
msgid ""
"See SSH client setup instructions"
msgstr ""
-#: plinth/modules/pagekite/utils.py:276
+#: plinth/modules/pagekite/utils.py:288
msgid "Pagekite"
msgstr ""
-#: plinth/modules/pagekite/views.py:39
+#: plinth/modules/pagekite/views.py:40
msgid "Standard Services"
msgstr ""
-#: plinth/modules/pagekite/views.py:42
+#: plinth/modules/pagekite/views.py:44
msgid "Custom Services"
msgstr ""
-#: plinth/modules/pagekite/views.py:156
+#: plinth/modules/pagekite/views.py:158
msgid "Pagekite setup finished. The HTTP and HTTPS services are activated now."
msgstr ""
@@ -3540,22 +3533,22 @@ msgstr ""
msgid "Shut Down Now"
msgstr ""
-#: plinth/modules/privoxy/__init__.py:41
+#: plinth/modules/privoxy/__init__.py:42
msgid "Privoxy"
msgstr ""
-#: plinth/modules/privoxy/__init__.py:43
+#: plinth/modules/privoxy/__init__.py:44
msgid "Web Proxy"
msgstr ""
-#: plinth/modules/privoxy/__init__.py:46
+#: plinth/modules/privoxy/__init__.py:47
msgid ""
"Privoxy is a non-caching web proxy with advanced filtering capabilities for "
"enhancing privacy, modifying web page data and HTTP headers, controlling "
"access, and removing ads and other obnoxious Internet junk. "
msgstr ""
-#: plinth/modules/privoxy/__init__.py:51
+#: plinth/modules/privoxy/__init__.py:52
#, python-brace-format
msgid ""
"You can use Privoxy by modifying your browser proxy settings to your "
@@ -3565,20 +3558,20 @@ msgid ""
"\">http://p.p."
msgstr ""
-#: plinth/modules/privoxy/__init__.py:157
+#: plinth/modules/privoxy/__init__.py:142
#, python-brace-format
msgid "Access {url} with proxy {proxy} on tcp{kind}"
msgstr ""
-#: plinth/modules/quassel/__init__.py:41 plinth/modules/quassel/manifest.py:25
+#: plinth/modules/quassel/__init__.py:40 plinth/modules/quassel/manifest.py:25
msgid "Quassel"
msgstr ""
-#: plinth/modules/quassel/__init__.py:43
+#: plinth/modules/quassel/__init__.py:42
msgid "IRC Client"
msgstr ""
-#: plinth/modules/quassel/__init__.py:47
+#: plinth/modules/quassel/__init__.py:46
#, python-brace-format
msgid ""
"Quassel is an IRC application that is split into two parts, a \"core\" and a "
@@ -3589,7 +3582,7 @@ msgid ""
"connect and disconnect from it."
msgstr ""
-#: plinth/modules/quassel/__init__.py:54
+#: plinth/modules/quassel/__init__.py:53
msgid ""
"You can connect to your Quassel core on the default Quassel port 4242. "
"Clients to connect to Quassel from your Jitsi (for computers) and (for Android phones)."
msgstr ""
-#: plinth/modules/repro/__init__.py:53
+#: plinth/modules/repro/__init__.py:55
msgid ""
"Note: Before using repro, domains and users will need to "
"be configured using the web-based "
@@ -3736,15 +3729,15 @@ msgstr ""
msgid "CSipSimple"
msgstr ""
-#: plinth/modules/restore/__init__.py:36 plinth/modules/restore/manifest.py:23
+#: plinth/modules/restore/__init__.py:37 plinth/modules/restore/manifest.py:23
msgid "reStore"
msgstr ""
-#: plinth/modules/restore/__init__.py:38
+#: plinth/modules/restore/__init__.py:39
msgid "Unhosted Storage"
msgstr ""
-#: plinth/modules/restore/__init__.py:42
+#: plinth/modules/restore/__init__.py:43
#, python-brace-format
msgid ""
"reStore is a server for unhosted web "
@@ -3754,22 +3747,22 @@ msgid ""
"becomes your unhosted storage server."
msgstr ""
-#: plinth/modules/restore/__init__.py:48
+#: plinth/modules/restore/__init__.py:49
msgid ""
"You can create and edit accounts in the reStore web-"
"interface."
msgstr ""
-#: plinth/modules/roundcube/__init__.py:34
+#: plinth/modules/roundcube/__init__.py:35
#: plinth/modules/roundcube/manifest.py:24
msgid "Roundcube"
msgstr ""
-#: plinth/modules/roundcube/__init__.py:36
+#: plinth/modules/roundcube/__init__.py:37
msgid "Email Client"
msgstr ""
-#: plinth/modules/roundcube/__init__.py:39
+#: plinth/modules/roundcube/__init__.py:40
msgid ""
"Roundcube webmail is a browser-based multilingual IMAP client with an "
"application-like user interface. It provides full functionality you expect "
@@ -3777,7 +3770,7 @@ msgid ""
"manipulation, message searching and spell checking."
msgstr ""
-#: plinth/modules/roundcube/__init__.py:44
+#: plinth/modules/roundcube/__init__.py:45
msgid ""
"You can access Roundcube from /roundcube. Provide "
"the username and password of the email account you wish to access followed "
@@ -3786,7 +3779,7 @@ msgid ""
"server field like imaps://imap.example.com."
msgstr ""
-#: plinth/modules/roundcube/__init__.py:50
+#: plinth/modules/roundcube/__init__.py:51
msgid ""
"For Gmail, username will be your Gmail address, password will be your Google "
"account password and server will be imaps://imap.gmail.com. "
@@ -3848,12 +3841,12 @@ msgstr ""
msgid "Allow this application to be used by anyone who can reach it."
msgstr ""
-#: plinth/modules/searx/views.py:60 plinth/modules/searx/views.py:71
-#: plinth/modules/tor/views.py:139 plinth/modules/tor/views.py:168
+#: plinth/modules/searx/views.py:59 plinth/modules/searx/views.py:70
+#: plinth/modules/tor/views.py:141 plinth/modules/tor/views.py:168
msgid "Configuration updated."
msgstr ""
-#: plinth/modules/searx/views.py:63 plinth/modules/searx/views.py:74
+#: plinth/modules/searx/views.py:62 plinth/modules/searx/views.py:73
#: plinth/modules/tor/views.py:170
msgid "An error occurred during configuration."
msgstr ""
@@ -3908,22 +3901,22 @@ msgid ""
"account, which you will need to setup on the initial visit."
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:34
+#: plinth/modules/shadowsocks/__init__.py:35
msgid "Shadowsocks"
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:36
+#: plinth/modules/shadowsocks/__init__.py:37
msgid "Socks5 Proxy"
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:45
+#: plinth/modules/shadowsocks/__init__.py:44
msgid ""
"Shadowsocks is a lightweight and secure SOCKS5 proxy, designed to protect "
"your Internet traffic. It can be used to bypass Internet filtering and "
"censorship."
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:49
+#: plinth/modules/shadowsocks/__init__.py:48
#, python-brace-format
msgid ""
"Your {box_name} can run a Shadowsocks client, that can connect to a "
@@ -3932,34 +3925,34 @@ msgid ""
"the Shadowsocks server."
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:54
+#: plinth/modules/shadowsocks/__init__.py:53
msgid ""
"To use Shadowsocks after setup, set the SOCKS5 proxy URL in your device, "
"browser or application to http://freedombox_address:1080/"
msgstr ""
+#: plinth/modules/shadowsocks/forms.py:28
#: plinth/modules/shadowsocks/forms.py:29
-#: plinth/modules/shadowsocks/forms.py:30
msgid "Recommended"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:60
+#: plinth/modules/shadowsocks/forms.py:54
msgid "Server"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:61
+#: plinth/modules/shadowsocks/forms.py:54
msgid "Server hostname or IP address"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:67
+#: plinth/modules/shadowsocks/forms.py:58
msgid "Server port number"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:71
+#: plinth/modules/shadowsocks/forms.py:61
msgid "Password used to encrypt data. Must match server password."
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:77
+#: plinth/modules/shadowsocks/forms.py:66
msgid "Encryption method. Must match setting on server."
msgstr ""
@@ -4217,7 +4210,7 @@ msgstr ""
msgid "Storage snapshots configuration updated"
msgstr ""
-#: plinth/modules/snapshot/views.py:153 plinth/modules/tor/views.py:72
+#: plinth/modules/snapshot/views.py:153 plinth/modules/tor/views.py:73
#, python-brace-format
msgid "Action error: {0} [{1}] [{2}]"
msgstr ""
@@ -4247,11 +4240,11 @@ msgstr ""
msgid "Rollback to Snapshot"
msgstr ""
-#: plinth/modules/ssh/__init__.py:39
+#: plinth/modules/ssh/__init__.py:40
msgid "Secure Shell (SSH) Server"
msgstr ""
-#: plinth/modules/ssh/__init__.py:42
+#: plinth/modules/ssh/__init__.py:43
msgid ""
"A Secure Shell server uses the secure shell protocol to accept connections "
"from remote computers. An authorized remote computer can perform "
@@ -4267,11 +4260,11 @@ msgstr ""
msgid "Login"
msgstr ""
-#: plinth/modules/storage/__init__.py:36 plinth/modules/storage/views.py:53
+#: plinth/modules/storage/__init__.py:35 plinth/modules/storage/views.py:53
msgid "Storage"
msgstr ""
-#: plinth/modules/storage/__init__.py:44
+#: plinth/modules/storage/__init__.py:43
#, python-brace-format
msgid ""
"This module allows you to manage storage media attached to your {box_name}. "
@@ -4279,80 +4272,80 @@ msgid ""
"media, expand the root partition etc."
msgstr ""
-#: plinth/modules/storage/__init__.py:211
+#: plinth/modules/storage/__init__.py:213
#, python-brace-format
msgid "{disk_size:.1f} bytes"
msgstr ""
-#: plinth/modules/storage/__init__.py:215
+#: plinth/modules/storage/__init__.py:217
#, python-brace-format
msgid "{disk_size:.1f} KiB"
msgstr ""
-#: plinth/modules/storage/__init__.py:219
+#: plinth/modules/storage/__init__.py:221
#, python-brace-format
msgid "{disk_size:.1f} MiB"
msgstr ""
-#: plinth/modules/storage/__init__.py:223
+#: plinth/modules/storage/__init__.py:225
#, python-brace-format
msgid "{disk_size:.1f} GiB"
msgstr ""
-#: plinth/modules/storage/__init__.py:226
+#: plinth/modules/storage/__init__.py:228
#, python-brace-format
msgid "{disk_size:.1f} TiB"
msgstr ""
-#: plinth/modules/storage/__init__.py:233
+#: plinth/modules/storage/__init__.py:235
msgid "The operation failed."
msgstr ""
-#: plinth/modules/storage/__init__.py:235
+#: plinth/modules/storage/__init__.py:237
msgid "The operation was cancelled."
msgstr ""
-#: plinth/modules/storage/__init__.py:237
+#: plinth/modules/storage/__init__.py:239
msgid "The device is already unmounting."
msgstr ""
-#: plinth/modules/storage/__init__.py:239
+#: plinth/modules/storage/__init__.py:241
msgid "The operation is not supported due to missing driver/tool support."
msgstr ""
-#: plinth/modules/storage/__init__.py:242
+#: plinth/modules/storage/__init__.py:244
msgid "The operation timed out."
msgstr ""
-#: plinth/modules/storage/__init__.py:244
+#: plinth/modules/storage/__init__.py:246
msgid "The operation would wake up a disk that is in a deep-sleep state."
msgstr ""
-#: plinth/modules/storage/__init__.py:247
+#: plinth/modules/storage/__init__.py:249
msgid "Attempting to unmount a device that is busy."
msgstr ""
-#: plinth/modules/storage/__init__.py:249
+#: plinth/modules/storage/__init__.py:251
msgid "The operation has already been cancelled."
msgstr ""
-#: plinth/modules/storage/__init__.py:255
+#: plinth/modules/storage/__init__.py:257
msgid "Not authorized to perform the requested operation."
msgstr ""
-#: plinth/modules/storage/__init__.py:257
+#: plinth/modules/storage/__init__.py:259
msgid "The device is already mounted."
msgstr ""
-#: plinth/modules/storage/__init__.py:259
+#: plinth/modules/storage/__init__.py:261
msgid "The device is not mounted."
msgstr ""
-#: plinth/modules/storage/__init__.py:262
+#: plinth/modules/storage/__init__.py:264
msgid "Not permitted to use the requested option."
msgstr ""
-#: plinth/modules/storage/__init__.py:265
+#: plinth/modules/storage/__init__.py:267
msgid "The device is mounted by another user."
msgstr ""
@@ -4428,16 +4421,16 @@ msgstr ""
msgid "Error ejecting device: {error_message}"
msgstr ""
-#: plinth/modules/syncthing/__init__.py:38
+#: plinth/modules/syncthing/__init__.py:40
#: plinth/modules/syncthing/manifest.py:28
msgid "Syncthing"
msgstr ""
-#: plinth/modules/syncthing/__init__.py:40
+#: plinth/modules/syncthing/__init__.py:42
msgid "File Synchronization"
msgstr ""
-#: plinth/modules/syncthing/__init__.py:43
+#: plinth/modules/syncthing/__init__.py:45
msgid ""
"Syncthing is an application to synchronize files across multiple devices, e."
"g. your desktop computer and mobile phone. Creation, modification, or "
@@ -4445,7 +4438,7 @@ msgid ""
"other devices that also run Syncthing."
msgstr ""
-#: plinth/modules/syncthing/__init__.py:48
+#: plinth/modules/syncthing/__init__.py:50
#, python-brace-format
msgid ""
"Running Syncthing on {box_name} provides an extra synchronization point for "
@@ -4456,26 +4449,26 @@ msgid ""
"{box_name} is only available for users belonging to the \"admin\" group."
msgstr ""
-#: plinth/modules/syncthing/__init__.py:55
+#: plinth/modules/syncthing/__init__.py:57
msgid ""
"When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile clients are also available."
msgstr ""
-#: plinth/modules/syncthing/__init__.py:62
+#: plinth/modules/syncthing/__init__.py:64
msgid "Administer Syncthing application"
msgstr ""
-#: plinth/modules/tahoe/__init__.py:41
+#: plinth/modules/tahoe/__init__.py:43
msgid "Tahoe-LAFS"
msgstr ""
-#: plinth/modules/tahoe/__init__.py:43
+#: plinth/modules/tahoe/__init__.py:45
msgid "Distributed File Storage"
msgstr ""
-#: plinth/modules/tahoe/__init__.py:107
+#: plinth/modules/tahoe/__init__.py:119
msgid ""
"Tahoe-LAFS is a decentralized secure file storage system. It uses provider "
"independent security to store files over a distributed network of storage "
@@ -4483,7 +4476,7 @@ msgid ""
"remaining nodes."
msgstr ""
-#: plinth/modules/tahoe/__init__.py:112
+#: plinth/modules/tahoe/__init__.py:124
#, python-brace-format
msgid ""
"This {box_name} hosts a storage node and an introducer by default. "
@@ -4526,11 +4519,11 @@ msgstr ""
msgid "Remove"
msgstr ""
-#: plinth/modules/tor/__init__.py:43
+#: plinth/modules/tor/__init__.py:46
msgid "Tor"
msgstr ""
-#: plinth/modules/tor/__init__.py:48
+#: plinth/modules/tor/__init__.py:51
msgid ""
"Tor is an anonymous communication system. You can learn more about it from "
"the Tor Project website. For "
@@ -4539,40 +4532,36 @@ msgid ""
"\">Tor Browser."
msgstr ""
-#: plinth/modules/tor/__init__.py:93
+#: plinth/modules/tor/__init__.py:80
msgid "Tor Socks Proxy"
msgstr ""
-#: plinth/modules/tor/__init__.py:99 plinth/modules/tor/__init__.py:146
+#: plinth/modules/tor/__init__.py:84
msgid "Tor Bridge Relay"
msgstr ""
-#: plinth/modules/tor/__init__.py:120 plinth/modules/tor/__init__.py:188
+#: plinth/modules/tor/__init__.py:122 plinth/modules/tor/__init__.py:150
msgid "Tor Hidden Service"
msgstr ""
-#: plinth/modules/tor/__init__.py:136
-msgid "Tor Anonymity Network"
-msgstr ""
-
-#: plinth/modules/tor/__init__.py:208
+#: plinth/modules/tor/__init__.py:170
msgid "Tor relay port available"
msgstr ""
-#: plinth/modules/tor/__init__.py:218
+#: plinth/modules/tor/__init__.py:180
msgid "Obfs3 transport registered"
msgstr ""
-#: plinth/modules/tor/__init__.py:226
+#: plinth/modules/tor/__init__.py:188
msgid "Obfs4 transport registered"
msgstr ""
-#: plinth/modules/tor/__init__.py:265
+#: plinth/modules/tor/__init__.py:227
#, python-brace-format
msgid "Access URL {url} on tcp{kind} via Tor"
msgstr ""
-#: plinth/modules/tor/__init__.py:276
+#: plinth/modules/tor/__init__.py:238
#, python-brace-format
msgid "Confirm Tor usage at {url} on tcp{kind}"
msgstr ""
@@ -4706,18 +4695,18 @@ msgstr ""
msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050."
msgstr ""
-#: plinth/modules/transmission/__init__.py:39
+#: plinth/modules/transmission/__init__.py:41
#: plinth/modules/transmission/manifest.py:24
msgid "Transmission"
msgstr ""
-#: plinth/modules/transmission/__init__.py:44
+#: plinth/modules/transmission/__init__.py:46
msgid ""
"BitTorrent is a peer-to-peer file sharing protocol. Transmission daemon "
"handles Bitorrent file sharing. Note that BitTorrent is not anonymous."
msgstr ""
-#: plinth/modules/transmission/__init__.py:47
+#: plinth/modules/transmission/__init__.py:49
msgid ""
"Access the web interface at /transmission."
msgstr ""
@@ -4733,22 +4722,22 @@ msgid ""
"\" user."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:41 plinth/modules/ttrss/manifest.py:34
+#: plinth/modules/ttrss/__init__.py:43 plinth/modules/ttrss/manifest.py:34
msgid "Tiny Tiny RSS"
msgstr ""
-#: plinth/modules/ttrss/__init__.py:43
+#: plinth/modules/ttrss/__init__.py:45
msgid "News Feed Reader"
msgstr ""
-#: plinth/modules/ttrss/__init__.py:46
+#: plinth/modules/ttrss/__init__.py:48
msgid ""
"Tiny Tiny RSS is a news feed (RSS/Atom) reader and aggregator, designed to "
"allow reading news from any location, while feeling as close to a real "
"desktop application as possible."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:50
+#: plinth/modules/ttrss/__init__.py:52
#, python-brace-format
msgid ""
"When enabled, Tiny Tiny RSS will be available from /tt-"
@@ -4756,13 +4745,13 @@ msgid ""
"\"{users_url}\">user with a {box_name} login."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:55
+#: plinth/modules/ttrss/__init__.py:57
msgid ""
"When using a mobile or desktop application for Tiny Tiny RSS, use the URL /tt-rss-app for connecting."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:61
+#: plinth/modules/ttrss/__init__.py:63
msgid "Read and subscribe to news feeds"
msgstr ""
@@ -4770,11 +4759,11 @@ msgstr ""
msgid "Tiny Tiny RSS (Fork)"
msgstr ""
-#: plinth/modules/upgrades/__init__.py:36 plinth/templates/setup.html:101
+#: plinth/modules/upgrades/__init__.py:35 plinth/templates/setup.html:101
msgid "Update"
msgstr ""
-#: plinth/modules/upgrades/__init__.py:39
+#: plinth/modules/upgrades/__init__.py:38
msgid "Check for and apply the latest software and security updates."
msgstr ""
@@ -4809,32 +4798,32 @@ msgstr ""
msgid "Auto-update"
msgstr ""
-#: plinth/modules/upgrades/views.py:39
+#: plinth/modules/upgrades/views.py:40
msgid "Manual update"
msgstr ""
-#: plinth/modules/upgrades/views.py:78
+#: plinth/modules/upgrades/views.py:79
#, python-brace-format
msgid "Error when configuring unattended-upgrades: {error}"
msgstr ""
-#: plinth/modules/upgrades/views.py:82
+#: plinth/modules/upgrades/views.py:83
msgid "Automatic upgrades enabled"
msgstr ""
-#: plinth/modules/upgrades/views.py:85
+#: plinth/modules/upgrades/views.py:86
msgid "Automatic upgrades disabled"
msgstr ""
-#: plinth/modules/upgrades/views.py:87
+#: plinth/modules/upgrades/views.py:88
msgid "Settings unchanged"
msgstr ""
-#: plinth/modules/upgrades/views.py:113
+#: plinth/modules/upgrades/views.py:114
msgid "Upgrade process started."
msgstr ""
-#: plinth/modules/upgrades/views.py:116
+#: plinth/modules/upgrades/views.py:117
msgid "Starting upgrade failed."
msgstr ""
@@ -4842,7 +4831,7 @@ msgstr ""
msgid "Users and Groups"
msgstr ""
-#: plinth/modules/users/__init__.py:106
+#: plinth/modules/users/__init__.py:108
#, python-brace-format
msgid "Check LDAP entry \"{search_item}\""
msgstr ""
@@ -5054,15 +5043,6 @@ msgstr ""
msgid "configuration file: {file}"
msgstr ""
-#: plinth/service.py:140
-msgid "Web Server over Secure Socket Layer"
-msgstr ""
-
-#: plinth/service.py:145
-#, python-brace-format
-msgid "{box_name} Web Interface (Plinth)"
-msgstr ""
-
#: plinth/templates/403.html:25
msgid "403 Forbidden"
msgstr ""
@@ -5261,16 +5241,16 @@ msgstr ""
msgid "Mailing list"
msgstr ""
-#: plinth/templates/internal-zone.html:25
+#: plinth/templates/internal-zone.html:26
#, python-format
msgid "%(service_name)s is available only on internal networks."
msgstr ""
-#: plinth/templates/internal-zone.html:31
+#: plinth/templates/internal-zone.html:32
msgid "Currently there are no network interfaces configured as internal."
msgstr ""
-#: plinth/templates/internal-zone.html:33
+#: plinth/templates/internal-zone.html:34
#, python-format
msgid ""
"Currently the following network interfaces are configured as internal: "
@@ -5333,6 +5313,14 @@ msgstr ""
msgid "%(percentage)s%% complete"
msgstr ""
+#: plinth/views.py:178
+msgid "Application enabled"
+msgstr ""
+
+#: plinth/views.py:181
+msgid "Application disabled"
+msgstr ""
+
#: plinth/web_framework.py:186
msgid "Gujarati"
msgstr ""
diff --git a/plinth/locale/sv/LC_MESSAGES/django.po b/plinth/locale/sv/LC_MESSAGES/django.po
index 2d4318dcb..26e719ee7 100644
--- a/plinth/locale/sv/LC_MESSAGES/django.po
+++ b/plinth/locale/sv/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-06-10 19:02-0400\n"
+"POT-Creation-Date: 2019-06-24 19:48-0400\n"
"PO-Revision-Date: 2016-07-23 19:30+0000\n"
"Last-Translator: Caly \n"
"Language-Team: Swedish /ikiwiki."
-#: plinth/modules/config/__init__.py:59 plinth/modules/dynamicdns/views.py:44
+#: plinth/modules/config/__init__.py:61 plinth/modules/dynamicdns/views.py:45
#: plinth/modules/i2p/views.py:31 plinth/modules/ikiwiki/views.py:35
#: plinth/modules/pagekite/views.py:36 plinth/modules/snapshot/views.py:40
#: plinth/modules/tahoe/templates/tahoe-pre-setup.html:39
msgid "Configure"
msgstr "Konfigurera"
-#: plinth/modules/config/__init__.py:164 plinth/modules/config/forms.py:76
+#: plinth/modules/config/__init__.py:166 plinth/modules/config/forms.py:76
#: plinth/modules/config/views.py:171 plinth/modules/dynamicdns/forms.py:111
msgid "Domain Name"
msgstr "Domännamn"
@@ -604,8 +615,8 @@ msgstr ""
#: plinth/modules/power/templates/power_restart.html:42
#: plinth/modules/power/templates/power_shutdown.html:41
#: plinth/modules/storage/templates/storage.html:48
-#: plinth/templates/service-subsubmenu.html:47 plinth/templates/service.html:42
-#: plinth/templates/setup.html:48 plinth/templates/simple_service.html:38
+#: plinth/templates/app-subsubmenu.html:47 plinth/templates/app.html:42
+#: plinth/templates/setup.html:48 plinth/templates/simple_app.html:38
#, fuzzy
#| msgid "Learn more »"
msgid "Learn more..."
@@ -657,22 +668,22 @@ msgstr ""
msgid "Hiding advanced apps and features"
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:38
+#: plinth/modules/coquelicot/__init__.py:40
msgid "Coquelicot"
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:40
+#: plinth/modules/coquelicot/__init__.py:42
msgid "File Sharing"
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:43
+#: plinth/modules/coquelicot/__init__.py:45
msgid ""
"Coquelicot is a “one-click” file sharing web application with a focus on "
"protecting users’ privacy. It is best used for quickly sharing a single "
"file. "
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:46
+#: plinth/modules/coquelicot/__init__.py:48
msgid ""
"This Coquelicot instance is exposed to the public but requires an upload "
"password to prevent unauthorized access. You can set a new upload password "
@@ -704,23 +715,23 @@ msgstr ""
msgid "coquelicot"
msgstr ""
-#: plinth/modules/coquelicot/views.py:57
+#: plinth/modules/coquelicot/views.py:59
#, fuzzy
#| msgid "Password"
msgid "Upload password updated"
msgstr "Lösenord"
-#: plinth/modules/coquelicot/views.py:60
+#: plinth/modules/coquelicot/views.py:62
msgid "Failed to update upload password"
msgstr ""
-#: plinth/modules/coquelicot/views.py:68
+#: plinth/modules/coquelicot/views.py:70
#, fuzzy
#| msgid "Configuration updated"
msgid "Maximum file size updated"
msgstr "Konfiguration uppdaterad"
-#: plinth/modules/coquelicot/views.py:71
+#: plinth/modules/coquelicot/views.py:73
msgid "Failed to update maximum file size"
msgstr ""
@@ -740,15 +751,15 @@ msgstr ""
"Tidsserver för nätverket är ett program som sköter synkronisering av "
"systemtiden mot servrar på Internet."
-#: plinth/modules/datetime/__init__.py:107
+#: plinth/modules/datetime/__init__.py:99
msgid "Time synchronized to NTP server"
msgstr ""
-#: plinth/modules/datetime/forms.py:36
+#: plinth/modules/datetime/forms.py:35
msgid "Time Zone"
msgstr "Tidszon"
-#: plinth/modules/datetime/forms.py:37
+#: plinth/modules/datetime/forms.py:36
#, fuzzy
#| msgid ""
#| "Set your time zone to get accurate timestamps. This will set the "
@@ -760,7 +771,7 @@ msgstr ""
"Ställ in din tidszon för att få korrekta tidsstämplar. Detta ställer in "
"tidszonen för hela systemet."
-#: plinth/modules/datetime/forms.py:49
+#: plinth/modules/datetime/forms.py:47
msgid "-- no time zone set --"
msgstr "-- ingen tidszon inställd --"
@@ -780,7 +791,7 @@ msgid "Deluge"
msgstr "Aktivera Deluge"
#: plinth/modules/deluge/__init__.py:41
-#: plinth/modules/transmission/__init__.py:41
+#: plinth/modules/transmission/__init__.py:43
#, fuzzy
#| msgid "BitTorrent Web Client (Deluge)"
msgid "BitTorrent Web Client"
@@ -803,7 +814,7 @@ msgstr ""
"bör logga in och ändra det omedelbart efter att du aktiverat tjänsten."
#: plinth/modules/deluge/__init__.py:51
-#: plinth/modules/transmission/__init__.py:54
+#: plinth/modules/transmission/__init__.py:56
msgid "Download files using BitTorrent applications"
msgstr ""
@@ -867,12 +878,12 @@ msgstr "Test"
msgid "Result"
msgstr "Resultat"
-#: plinth/modules/diaspora/__init__.py:52
+#: plinth/modules/diaspora/__init__.py:54
#: plinth/modules/diaspora/manifest.py:38
msgid "diaspora*"
msgstr ""
-#: plinth/modules/diaspora/__init__.py:54
+#: plinth/modules/diaspora/__init__.py:56
msgid "Federated Social Network"
msgstr ""
@@ -919,24 +930,24 @@ msgstr ""
#: plinth/modules/tahoe/templates/tahoe-pre-setup.html:58
#: plinth/modules/tor/templates/tor.html:96
#: plinth/modules/upgrades/templates/upgrades_configure.html:32
-#: plinth/templates/service.html:89
+#: plinth/templates/app.html:89
msgid "Update setup"
msgstr "Uppdatera inställningar"
-#: plinth/modules/diaspora/views.py:97 plinth/modules/ejabberd/views.py:64
-#: plinth/modules/matrixsynapse/views.py:107
-#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:150
-#: plinth/modules/tor/views.py:146 plinth/views.py:160
+#: plinth/modules/diaspora/views.py:94 plinth/modules/ejabberd/views.py:65
+#: plinth/modules/matrixsynapse/views.py:108
+#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:148
+#: plinth/modules/tor/views.py:148 plinth/views.py:174
msgid "Setting unchanged"
msgstr "Instänllningar oförändrade"
-#: plinth/modules/diaspora/views.py:101
+#: plinth/modules/diaspora/views.py:98
#, fuzzy
#| msgid "Applications"
msgid "User registrations enabled"
msgstr "Applikationer"
-#: plinth/modules/diaspora/views.py:105
+#: plinth/modules/diaspora/views.py:102
#, fuzzy
#| msgid "Applications"
msgid "User registrations disabled"
@@ -988,8 +999,8 @@ msgstr ""
"DNS-namn med din nya IP, och om någon från Internet ber om ditt DNS-namn, "
"kommer han bli skickad till din aktuella IP."
-#: plinth/modules/dynamicdns/__init__.py:85
-#: plinth/modules/dynamicdns/views.py:167
+#: plinth/modules/dynamicdns/__init__.py:87
+#: plinth/modules/dynamicdns/views.py:169
#, fuzzy
#| msgid "Dynamic DNS Client"
msgid "Dynamic DNS Service"
@@ -1116,7 +1127,7 @@ msgid "Username"
msgstr "Användarnamn"
#: plinth/modules/dynamicdns/forms.py:121 plinth/modules/networks/forms.py:235
-#: plinth/modules/shadowsocks/forms.py:70
+#: plinth/modules/shadowsocks/forms.py:61
msgid "Password"
msgstr "Lösenord"
@@ -1236,49 +1247,49 @@ msgstr ""
msgid "Last update"
msgstr "Senaste uppdatering"
-#: plinth/modules/dynamicdns/views.py:41 plinth/modules/help/help.py:57
+#: plinth/modules/dynamicdns/views.py:41 plinth/modules/help/help.py:59
msgid "About"
msgstr "Om"
-#: plinth/modules/dynamicdns/views.py:47
+#: plinth/modules/dynamicdns/views.py:49
#: plinth/modules/firewall/templates/firewall.html:25
#: plinth/modules/firewall/templates/firewall.html:45
#: plinth/modules/i2p/templates/i2p.html:27
#: plinth/modules/networks/templates/connection_show.html:261
#: plinth/modules/openvpn/templates/openvpn.html:71
#: plinth/modules/tor/templates/tor.html:40
-#: plinth/modules/tor/templates/tor.html:68 plinth/templates/service.html:51
+#: plinth/modules/tor/templates/tor.html:68 plinth/templates/app.html:51
msgid "Status"
msgstr "Status"
-#: plinth/modules/dynamicdns/views.py:78
+#: plinth/modules/dynamicdns/views.py:80
msgid "Configure Dynamic DNS"
msgstr "Konfigurera Dynamisk DNS"
-#: plinth/modules/dynamicdns/views.py:103
+#: plinth/modules/dynamicdns/views.py:105
#, fuzzy
#| msgid "Dynamic DNS"
msgid "Dynamic DNS Status"
msgstr "Dynamisk DNS (DomänNamnsServer)"
-#: plinth/modules/ejabberd/__init__.py:43
+#: plinth/modules/ejabberd/__init__.py:45
msgid "ejabberd"
msgstr ""
-#: plinth/modules/ejabberd/__init__.py:45
-#: plinth/modules/matrixsynapse/__init__.py:43
+#: plinth/modules/ejabberd/__init__.py:47
+#: plinth/modules/matrixsynapse/__init__.py:45
#, fuzzy
#| msgid "DNS Server"
msgid "Chat Server"
msgstr "DNS-Server"
-#: plinth/modules/ejabberd/__init__.py:48
+#: plinth/modules/ejabberd/__init__.py:50
msgid ""
"XMPP is an open and standardized communication protocol. Here you can run "
"and configure your XMPP server, called ejabberd."
msgstr ""
-#: plinth/modules/ejabberd/__init__.py:51
+#: plinth/modules/ejabberd/__init__.py:53
#, python-brace-format
msgid ""
"To actually communicate, you can use the web client"
@@ -1287,11 +1298,11 @@ msgid ""
"any user with a {box_name} login."
msgstr ""
-#: plinth/modules/ejabberd/forms.py:33
+#: plinth/modules/ejabberd/forms.py:32
msgid "Enable Message Archive Management"
msgstr ""
-#: plinth/modules/ejabberd/forms.py:36
+#: plinth/modules/ejabberd/forms.py:34
#, python-brace-format
msgid ""
"If enabled, your {box_name} will store chat message histories. This allows "
@@ -1363,39 +1374,23 @@ msgstr ""
#: plinth/modules/openvpn/templates/openvpn.html:123
#: plinth/modules/snapshot/templates/snapshot.html:27
#: plinth/modules/tahoe/templates/tahoe-post-setup.html:43
-#: plinth/modules/tor/templates/tor.html:88 plinth/templates/service.html:81
+#: plinth/modules/tor/templates/tor.html:88 plinth/templates/app.html:81
msgid "Configuration"
msgstr "Konfiguration"
-#: plinth/modules/ejabberd/views.py:68
-#: plinth/modules/matrixsynapse/views.py:111
-#: plinth/modules/mediawiki/views.py:79 plinth/views.py:164
-#, fuzzy
-#| msgid "Applications"
-msgid "Application enabled"
-msgstr "Applikationer"
-
-#: plinth/modules/ejabberd/views.py:71
-#: plinth/modules/matrixsynapse/views.py:114
-#: plinth/modules/mediawiki/views.py:82 plinth/views.py:167
-#, fuzzy
-#| msgid "Applications"
-msgid "Application disabled"
-msgstr "Applikationer"
-
-#: plinth/modules/ejabberd/views.py:78
+#: plinth/modules/ejabberd/views.py:77
msgid "Message Archive Management enabled"
msgstr ""
-#: plinth/modules/ejabberd/views.py:82
+#: plinth/modules/ejabberd/views.py:81
msgid "Message Archive Management disabled"
msgstr ""
-#: plinth/modules/firewall/__init__.py:40
+#: plinth/modules/firewall/__init__.py:36
msgid "Firewall"
msgstr "Brandvägg"
-#: plinth/modules/firewall/__init__.py:44
+#: plinth/modules/firewall/__init__.py:40
#, fuzzy, python-brace-format
#| msgid ""
#| "Firewall is a security system that controls the incoming and outgoing "
@@ -1517,32 +1512,32 @@ msgstr "Starta installationsprogrammet"
msgid "Setup Complete"
msgstr "Installationen Klar"
-#: plinth/modules/help/help.py:44
+#: plinth/modules/help/help.py:46
msgid "Documentation"
msgstr "Dokumentation"
-#: plinth/modules/help/help.py:48 plinth/modules/networks/forms.py:68
+#: plinth/modules/help/help.py:50 plinth/modules/networks/forms.py:68
#: plinth/modules/networks/forms.py:108 plinth/templates/index.html:135
#, fuzzy
msgid "Manual"
msgstr "Manual"
-#: plinth/modules/help/help.py:53
+#: plinth/modules/help/help.py:55
#, fuzzy
#| msgid "{box_name} Manual"
msgid "Download Manual"
msgstr "{box_name} Manual"
-#: plinth/modules/help/help.py:73
+#: plinth/modules/help/help.py:75
msgid "Documentation and FAQ"
msgstr "Dokumentation och Vanliga Frågor"
-#: plinth/modules/help/help.py:81
+#: plinth/modules/help/help.py:83
#, python-brace-format
msgid "About {box_name}"
msgstr "Om {box_name}"
-#: plinth/modules/help/help.py:102
+#: plinth/modules/help/help.py:104
#, python-brace-format
msgid "{box_name} Manual"
msgstr "{box_name} Manual"
@@ -1695,17 +1690,17 @@ msgid ""
"before submitting the bug report."
msgstr ""
-#: plinth/modules/i2p/__init__.py:40 plinth/modules/i2p/manifest.py:31
+#: plinth/modules/i2p/__init__.py:42 plinth/modules/i2p/manifest.py:31
msgid "I2P"
msgstr ""
-#: plinth/modules/i2p/__init__.py:42 plinth/modules/tor/__init__.py:45
+#: plinth/modules/i2p/__init__.py:44 plinth/modules/tor/__init__.py:48
#, fuzzy
#| msgid "Tor Anonymity Network"
msgid "Anonymity Network"
msgstr "Tor Anonymitetsnätverk"
-#: plinth/modules/i2p/__init__.py:45
+#: plinth/modules/i2p/__init__.py:47
msgid ""
"The Invisible Internet Project is an anonymous network layer intended to "
"protect communication from censorship and surveillance. I2P provides "
@@ -1713,7 +1708,7 @@ msgid ""
"distributed around the world."
msgstr ""
-#: plinth/modules/i2p/__init__.py:49
+#: plinth/modules/i2p/__init__.py:51
#, fuzzy
#| msgid ""
#| "For more information about the %(box_name)s project, see the %(box_name)s wiki."
-#: plinth/modules/i2p/__init__.py:51
+#: plinth/modules/i2p/__init__.py:53
msgid ""
"The first visit to the provided web interface will initiate the "
"configuration process."
msgstr ""
-#: plinth/modules/i2p/__init__.py:57
+#: plinth/modules/i2p/__init__.py:59
#, fuzzy
#| msgid "Enable application"
msgid "Manage I2P application"
msgstr "Aktivera applikation"
-#: plinth/modules/i2p/templates/i2p.html:32 plinth/templates/service.html:56
+#: plinth/modules/i2p/templates/i2p.html:32 plinth/templates/app.html:56
#, fuzzy, python-format
#| msgid "Service discovery server is running"
msgid "Service %(service_name)s is running."
msgstr "Server för tjänsteidentifiering är aktiverad"
-#: plinth/modules/i2p/templates/i2p.html:37 plinth/templates/service.html:61
+#: plinth/modules/i2p/templates/i2p.html:37 plinth/templates/app.html:61
#, fuzzy, python-format
#| msgid "Service discovery server is not running"
msgid "Service %(service_name)s is not running."
msgstr "Server för tjänsteidentifiering är inaktiverad"
-#: plinth/modules/i2p/templates/i2p_service.html:13
+#: plinth/modules/i2p/templates/i2p_service.html:31
#: plinth/templates/clients.html:51
msgid "Launch"
msgstr ""
@@ -1762,45 +1757,45 @@ msgstr ""
msgid "Anonymous torrents"
msgstr ""
-#: plinth/modules/i2p/views.py:86
+#: plinth/modules/i2p/views.py:88
msgid "I2P Proxies and Tunnels"
msgstr ""
-#: plinth/modules/i2p/views.py:89
+#: plinth/modules/i2p/views.py:91
msgid ""
"I2P lets you browse the Internet and hidden services (eepsites) anonymously. "
"For this, your browser, preferably a Tor Browser, needs to be configured for "
"a proxy."
msgstr ""
-#: plinth/modules/i2p/views.py:92
+#: plinth/modules/i2p/views.py:94
msgid ""
"By default HTTP, HTTPS and IRC proxies are available. Additional proxies and "
"tunnels may be configured using the tunnel configuration interface."
msgstr ""
-#: plinth/modules/i2p/views.py:101
+#: plinth/modules/i2p/views.py:103
msgid "Anonymous Torrents"
msgstr ""
-#: plinth/modules/i2p/views.py:104
+#: plinth/modules/i2p/views.py:106
msgid ""
"I2P provides an application to download files anonymously in a peer-to-peer "
"network. Download files by adding torrents or create a new torrent to share "
"a file."
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:42 plinth/modules/ikiwiki/manifest.py:24
+#: plinth/modules/ikiwiki/__init__.py:41 plinth/modules/ikiwiki/manifest.py:24
#, fuzzy
#| msgid "Enable ikiwiki"
msgid "ikiwiki"
msgstr "Aktivera ikiwiki"
-#: plinth/modules/ikiwiki/__init__.py:44
+#: plinth/modules/ikiwiki/__init__.py:43
msgid "Wiki and Blog"
msgstr "Wiki och Blogg"
-#: plinth/modules/ikiwiki/__init__.py:47
+#: plinth/modules/ikiwiki/__init__.py:46
msgid ""
"ikiwiki is a simple wiki and blog application. It supports several "
"lightweight markup languages, including Markdown, and common blogging "
@@ -1808,7 +1803,7 @@ msgid ""
"wikis will be available at /ikiwiki (once created)."
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:53
+#: plinth/modules/ikiwiki/__init__.py:52
#, python-brace-format
msgid ""
"Only {box_name} users in the admin group can create and "
@@ -1817,7 +1812,7 @@ msgid ""
"Configuration you can change these permissions or add new users."
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:63
+#: plinth/modules/ikiwiki/__init__.py:62
#, fuzzy
#| msgid "Services and Applications"
msgid "View and edit wiki applications"
@@ -1889,51 +1884,51 @@ msgstr "Gå till webbsidan %(site)s"
msgid "Manage"
msgstr "Hantera"
-#: plinth/modules/ikiwiki/views.py:121
+#: plinth/modules/ikiwiki/views.py:124
#, python-brace-format
msgid "Created wiki {name}."
msgstr "Skapade wiki {name}."
-#: plinth/modules/ikiwiki/views.py:124
+#: plinth/modules/ikiwiki/views.py:127
#, python-brace-format
msgid "Could not create wiki: {error}"
msgstr "Kunde inte skapa wiki: {error}"
-#: plinth/modules/ikiwiki/views.py:134
+#: plinth/modules/ikiwiki/views.py:137
#, python-brace-format
msgid "Created blog {name}."
msgstr "Blogg skapad {name}."
-#: plinth/modules/ikiwiki/views.py:137
+#: plinth/modules/ikiwiki/views.py:140
#, python-brace-format
msgid "Could not create blog: {error}"
msgstr "Kunde inte skapa blogg: {error}"
-#: plinth/modules/ikiwiki/views.py:150
+#: plinth/modules/ikiwiki/views.py:153
#, python-brace-format
msgid "{name} deleted."
msgstr "{name} borttagen."
-#: plinth/modules/ikiwiki/views.py:154
+#: plinth/modules/ikiwiki/views.py:157
#, python-brace-format
msgid "Could not delete {name}: {error}"
msgstr "Kunde inte ta bort {name}: {error}"
-#: plinth/modules/infinoted/__init__.py:41
+#: plinth/modules/infinoted/__init__.py:40
msgid "infinoted"
msgstr ""
-#: plinth/modules/infinoted/__init__.py:43
+#: plinth/modules/infinoted/__init__.py:42
#, fuzzy
#| msgid "DNS Server"
msgid "Gobby Server"
msgstr "DNS-Server"
-#: plinth/modules/infinoted/__init__.py:46
+#: plinth/modules/infinoted/__init__.py:45
msgid "infinoted is a server for Gobby, a collaborative text editor."
msgstr ""
-#: plinth/modules/infinoted/__init__.py:48
+#: plinth/modules/infinoted/__init__.py:47
#, python-brace-format
msgid ""
"To use it, download Gobby, desktop "
@@ -2300,11 +2295,11 @@ msgstr "Certifikatet återkallat för domänen {domain}"
msgid "Failed to delete certificate for domain {domain}: {error}"
msgstr "Det gick inte att återkalla certifikatet för domänen {domain}: {error}"
-#: plinth/modules/matrixsynapse/__init__.py:41
+#: plinth/modules/matrixsynapse/__init__.py:43
msgid "Matrix Synapse"
msgstr ""
-#: plinth/modules/matrixsynapse/__init__.py:46
+#: plinth/modules/matrixsynapse/__init__.py:48
msgid ""
"Matrix is an new "
"ecosystem for open, federated instant messaging and VoIP. Synapse is a "
@@ -2314,7 +2309,7 @@ msgid ""
"converse with users on all other Matrix servers via federation."
msgstr ""
-#: plinth/modules/matrixsynapse/__init__.py:53
+#: plinth/modules/matrixsynapse/__init__.py:55
msgid ""
"To communicate, you can use the available clients for mobile, desktop and the web. Special:CreateAccount page."
msgstr ""
-#: plinth/modules/mediawiki/__init__.py:49
+#: plinth/modules/mediawiki/__init__.py:53
msgid ""
"Anyone with a link to this wiki can read it. Only users that are logged in "
"can make changes to the content."
@@ -2465,42 +2460,42 @@ msgstr ""
msgid "Password updated"
msgstr "Lösenord"
-#: plinth/modules/mediawiki/views.py:91
+#: plinth/modules/mediawiki/views.py:89
#, fuzzy
#| msgid "Applications"
msgid "Public registrations enabled"
msgstr "Applikationer"
-#: plinth/modules/mediawiki/views.py:100
+#: plinth/modules/mediawiki/views.py:98
#, fuzzy
#| msgid "Applications"
msgid "Public registrations disabled"
msgstr "Applikationer"
-#: plinth/modules/mediawiki/views.py:109
+#: plinth/modules/mediawiki/views.py:107
#, fuzzy
#| msgid "Applications"
msgid "Private mode enabled"
msgstr "Applikationer"
-#: plinth/modules/mediawiki/views.py:112
+#: plinth/modules/mediawiki/views.py:110
#, fuzzy
#| msgid "Applications"
msgid "Private mode disabled"
msgstr "Applikationer"
-#: plinth/modules/minetest/__init__.py:53
+#: plinth/modules/minetest/__init__.py:52
#: plinth/modules/minetest/manifest.py:25
msgid "Minetest"
msgstr ""
-#: plinth/modules/minetest/__init__.py:55
+#: plinth/modules/minetest/__init__.py:54
#, fuzzy
#| msgid "Blocked"
msgid "Block Sandbox"
msgstr "Blockerade"
-#: plinth/modules/minetest/__init__.py:59
+#: plinth/modules/minetest/__init__.py:58
#, python-brace-format
msgid ""
"Minetest is a multiplayer infinite-world block sandbox. This module enables "
@@ -2509,45 +2504,45 @@ msgid ""
"downloads/\">Minetest client is needed."
msgstr ""
-#: plinth/modules/minetest/forms.py:31
+#: plinth/modules/minetest/forms.py:30
msgid "Maximum number of players"
msgstr ""
-#: plinth/modules/minetest/forms.py:35
+#: plinth/modules/minetest/forms.py:32
msgid ""
"You can change the maximum number of players playing minetest at a single "
"instance of time."
msgstr ""
-#: plinth/modules/minetest/forms.py:39
+#: plinth/modules/minetest/forms.py:36
#, fuzzy
#| msgid "Enable application"
msgid "Enable creative mode"
msgstr "Aktivera applikation"
-#: plinth/modules/minetest/forms.py:41
+#: plinth/modules/minetest/forms.py:37
msgid ""
"Creative mode changes the rules of the game to make it more suitable for "
"creative gameplay, rather than challenging \"survival\" gameplay."
msgstr ""
-#: plinth/modules/minetest/forms.py:46
+#: plinth/modules/minetest/forms.py:42
#, fuzzy
#| msgid "Enabled"
msgid "Enable PVP"
msgstr "Aktiverad"
-#: plinth/modules/minetest/forms.py:48
+#: plinth/modules/minetest/forms.py:43
msgid "Enabling Player Vs Player will allow players to damage other players."
msgstr ""
-#: plinth/modules/minetest/forms.py:52
+#: plinth/modules/minetest/forms.py:47
#, fuzzy
#| msgid "Enabled"
msgid "Enable damage"
msgstr "Aktiverad"
-#: plinth/modules/minetest/forms.py:54
+#: plinth/modules/minetest/forms.py:48
msgid "When disabled, players cannot die or receive damage of any kind."
msgstr ""
@@ -2561,62 +2556,62 @@ msgstr "Adress"
msgid "Port"
msgstr ""
-#: plinth/modules/minetest/views.py:71
+#: plinth/modules/minetest/views.py:72
#, fuzzy
#| msgid "Configuration updated"
msgid "Maximum players configuration updated"
msgstr "Konfiguration uppdaterad"
-#: plinth/modules/minetest/views.py:78
+#: plinth/modules/minetest/views.py:79
#, fuzzy
#| msgid "Configuration updated"
msgid "Creative mode configuration updated"
msgstr "Konfiguration uppdaterad"
-#: plinth/modules/minetest/views.py:84
+#: plinth/modules/minetest/views.py:85
#, fuzzy
#| msgid "Configuration updated"
msgid "PVP configuration updated"
msgstr "Konfiguration uppdaterad"
-#: plinth/modules/minetest/views.py:90
+#: plinth/modules/minetest/views.py:91
#, fuzzy
#| msgid "Configuration updated"
msgid "Damage configuration updated"
msgstr "Konfiguration uppdaterad"
-#: plinth/modules/mldonkey/__init__.py:38
+#: plinth/modules/mldonkey/__init__.py:40
#: plinth/modules/mldonkey/manifest.py:27
#, fuzzy
#| msgid "Monkeysphere"
msgid "MLDonkey"
msgstr "Monkeysphere"
-#: plinth/modules/mldonkey/__init__.py:40
+#: plinth/modules/mldonkey/__init__.py:42
msgid "Peer-to-peer File Sharing"
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:43
+#: plinth/modules/mldonkey/__init__.py:45
msgid ""
"MLDonkey is a peer-to-peer file sharing application used to exchange large "
"files. It can participate in multiple peer-to-peer networks including "
"eDonkey, Kademlia, Overnet, BitTorrent and DirectConnect."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:46
+#: plinth/modules/mldonkey/__init__.py:48
msgid ""
"Users belonging to admin and ed2k group can control it through the web "
"interface. Users in the admin group can also control it through any of the "
"separate mobile or desktop front-ends or a telnet interface. See manual."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:51
+#: plinth/modules/mldonkey/__init__.py:53
#, python-brace-format
msgid ""
"On {box_name}, downloaded files can be found in /var/lib/mldonkey/ directory."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:59
+#: plinth/modules/mldonkey/__init__.py:61
msgid "Download files using eDonkey applications"
msgstr ""
@@ -2724,12 +2719,6 @@ msgstr "GPG Fingeravtryck"
msgid "Secure Shell"
msgstr ""
-#: plinth/modules/monkeysphere/templates/monkeysphere.html:88
-#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:60
-#: plinth/service.py:138
-msgid "Web Server"
-msgstr ""
-
#: plinth/modules/monkeysphere/templates/monkeysphere.html:90
#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:62
msgid "Other"
@@ -2832,17 +2821,17 @@ msgstr "Publicerade nyckeln till nyckelserver."
msgid "Error occurred while publishing key."
msgstr "Fel uppstod när nyckeln publicerades."
-#: plinth/modules/mumble/__init__.py:34 plinth/modules/mumble/manifest.py:27
+#: plinth/modules/mumble/__init__.py:35 plinth/modules/mumble/manifest.py:27
msgid "Mumble"
msgstr ""
-#: plinth/modules/mumble/__init__.py:36
+#: plinth/modules/mumble/__init__.py:37
#, fuzzy
#| msgid "Voice Chat (Mumble)"
msgid "Voice Chat"
msgstr "Röstchatt (Mumble)"
-#: plinth/modules/mumble/__init__.py:45
+#: plinth/modules/mumble/__init__.py:44
msgid ""
"Mumble is an open source, low-latency, encrypted, high quality voice chat "
"software."
@@ -2850,7 +2839,7 @@ msgstr ""
"Mumble är ett program för röstchatt med öppen källkod, låg latens, "
"kryptering och hög ljudkvalitet."
-#: plinth/modules/mumble/__init__.py:47
+#: plinth/modules/mumble/__init__.py:46
msgid ""
"You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your "
@@ -2901,7 +2890,7 @@ msgstr "Inte tillgänglig"
msgid "Networks"
msgstr "Nätverk"
-#: plinth/modules/networks/__init__.py:142
+#: plinth/modules/networks/__init__.py:144
#, python-brace-format
msgid "Using DNSSEC on IPv{kind}"
msgstr "Använder DNSSEC på IPv{kind}"
@@ -3362,7 +3351,7 @@ msgstr ""
#: plinth/modules/networks/templates/connection_show.html:186
#: plinth/modules/networks/templates/connection_show.html:227
-#: plinth/modules/shadowsocks/forms.py:75
+#: plinth/modules/shadowsocks/forms.py:65
msgid "Method"
msgstr ""
@@ -3484,15 +3473,15 @@ msgstr ""
msgid "Create..."
msgstr ""
-#: plinth/modules/openvpn/__init__.py:40
+#: plinth/modules/openvpn/__init__.py:39
msgid "OpenVPN"
msgstr ""
-#: plinth/modules/openvpn/__init__.py:42
+#: plinth/modules/openvpn/__init__.py:41
msgid "Virtual Private Network"
msgstr ""
-#: plinth/modules/openvpn/__init__.py:46
+#: plinth/modules/openvpn/__init__.py:45
#, python-brace-format
msgid ""
"Virtual Private Network (VPN) is a technique for securely connecting two "
@@ -3503,7 +3492,7 @@ msgid ""
"security and anonymity."
msgstr ""
-#: plinth/modules/openvpn/__init__.py:74
+#: plinth/modules/openvpn/__init__.py:75
#, python-brace-format
msgid ""
"Download Profile"
@@ -3568,11 +3557,11 @@ msgstr ""
msgid "OpenVPN server is not running"
msgstr ""
-#: plinth/modules/openvpn/views.py:128
+#: plinth/modules/openvpn/views.py:126
msgid "Setup completed."
msgstr ""
-#: plinth/modules/openvpn/views.py:130
+#: plinth/modules/openvpn/views.py:128
msgid "Setup failed."
msgstr ""
@@ -3642,7 +3631,7 @@ msgid ""
"pagekite.net server."
msgstr ""
-#: plinth/modules/pagekite/forms.py:78 plinth/modules/shadowsocks/forms.py:64
+#: plinth/modules/pagekite/forms.py:78 plinth/modules/shadowsocks/forms.py:57
msgid "Server port"
msgstr ""
@@ -3844,47 +3833,47 @@ msgstr ""
msgid "Save Services"
msgstr ""
-#: plinth/modules/pagekite/utils.py:53
+#: plinth/modules/pagekite/utils.py:57
msgid "Web Server (HTTP)"
msgstr ""
-#: plinth/modules/pagekite/utils.py:54
+#: plinth/modules/pagekite/utils.py:59
#, python-brace-format
msgid "Site will be available at http://{0}"
msgstr ""
-#: plinth/modules/pagekite/utils.py:63
+#: plinth/modules/pagekite/utils.py:71
msgid "Web Server (HTTPS)"
msgstr ""
-#: plinth/modules/pagekite/utils.py:64
+#: plinth/modules/pagekite/utils.py:73
#, python-brace-format
msgid "Site will be available at https://{0}"
msgstr ""
-#: plinth/modules/pagekite/utils.py:73
+#: plinth/modules/pagekite/utils.py:85
msgid "Secure Shell (SSH)"
msgstr ""
-#: plinth/modules/pagekite/utils.py:74
+#: plinth/modules/pagekite/utils.py:87
msgid ""
"See SSH client setup instructions"
msgstr ""
-#: plinth/modules/pagekite/utils.py:276
+#: plinth/modules/pagekite/utils.py:288
msgid "Pagekite"
msgstr ""
-#: plinth/modules/pagekite/views.py:39
+#: plinth/modules/pagekite/views.py:40
msgid "Standard Services"
msgstr ""
-#: plinth/modules/pagekite/views.py:42
+#: plinth/modules/pagekite/views.py:44
msgid "Custom Services"
msgstr ""
-#: plinth/modules/pagekite/views.py:156
+#: plinth/modules/pagekite/views.py:158
msgid "Pagekite setup finished. The HTTP and HTTPS services are activated now."
msgstr ""
@@ -3945,22 +3934,22 @@ msgstr ""
msgid "Shut Down Now"
msgstr ""
-#: plinth/modules/privoxy/__init__.py:41
+#: plinth/modules/privoxy/__init__.py:42
msgid "Privoxy"
msgstr ""
-#: plinth/modules/privoxy/__init__.py:43
+#: plinth/modules/privoxy/__init__.py:44
msgid "Web Proxy"
msgstr ""
-#: plinth/modules/privoxy/__init__.py:46
+#: plinth/modules/privoxy/__init__.py:47
msgid ""
"Privoxy is a non-caching web proxy with advanced filtering capabilities for "
"enhancing privacy, modifying web page data and HTTP headers, controlling "
"access, and removing ads and other obnoxious Internet junk. "
msgstr ""
-#: plinth/modules/privoxy/__init__.py:51
+#: plinth/modules/privoxy/__init__.py:52
#, python-brace-format
msgid ""
"You can use Privoxy by modifying your browser proxy settings to your "
@@ -3970,20 +3959,20 @@ msgid ""
"\">http://p.p."
msgstr ""
-#: plinth/modules/privoxy/__init__.py:157
+#: plinth/modules/privoxy/__init__.py:142
#, python-brace-format
msgid "Access {url} with proxy {proxy} on tcp{kind}"
msgstr ""
-#: plinth/modules/quassel/__init__.py:41 plinth/modules/quassel/manifest.py:25
+#: plinth/modules/quassel/__init__.py:40 plinth/modules/quassel/manifest.py:25
msgid "Quassel"
msgstr ""
-#: plinth/modules/quassel/__init__.py:43
+#: plinth/modules/quassel/__init__.py:42
msgid "IRC Client"
msgstr ""
-#: plinth/modules/quassel/__init__.py:47
+#: plinth/modules/quassel/__init__.py:46
#, python-brace-format
msgid ""
"Quassel is an IRC application that is split into two parts, a \"core\" and a "
@@ -3994,7 +3983,7 @@ msgid ""
"connect and disconnect from it."
msgstr ""
-#: plinth/modules/quassel/__init__.py:54
+#: plinth/modules/quassel/__init__.py:53
msgid ""
"You can connect to your Quassel core on the default Quassel port 4242. "
"Clients to connect to Quassel from your Jitsi (for computers) and (for Android phones)."
msgstr ""
-#: plinth/modules/repro/__init__.py:53
+#: plinth/modules/repro/__init__.py:55
msgid ""
"Note: Before using repro, domains and users will need to "
"be configured using the web-based "
@@ -4145,15 +4134,15 @@ msgstr ""
msgid "CSipSimple"
msgstr ""
-#: plinth/modules/restore/__init__.py:36 plinth/modules/restore/manifest.py:23
+#: plinth/modules/restore/__init__.py:37 plinth/modules/restore/manifest.py:23
msgid "reStore"
msgstr ""
-#: plinth/modules/restore/__init__.py:38
+#: plinth/modules/restore/__init__.py:39
msgid "Unhosted Storage"
msgstr ""
-#: plinth/modules/restore/__init__.py:42
+#: plinth/modules/restore/__init__.py:43
#, python-brace-format
msgid ""
"reStore is a server for unhosted web "
@@ -4163,24 +4152,24 @@ msgid ""
"becomes your unhosted storage server."
msgstr ""
-#: plinth/modules/restore/__init__.py:48
+#: plinth/modules/restore/__init__.py:49
msgid ""
"You can create and edit accounts in the reStore web-"
"interface."
msgstr ""
-#: plinth/modules/roundcube/__init__.py:34
+#: plinth/modules/roundcube/__init__.py:35
#: plinth/modules/roundcube/manifest.py:24
msgid "Roundcube"
msgstr ""
-#: plinth/modules/roundcube/__init__.py:36
+#: plinth/modules/roundcube/__init__.py:37
#, fuzzy
#| msgid "Dynamic DNS Client"
msgid "Email Client"
msgstr "Klient för Dynamisk DNS"
-#: plinth/modules/roundcube/__init__.py:39
+#: plinth/modules/roundcube/__init__.py:40
msgid ""
"Roundcube webmail is a browser-based multilingual IMAP client with an "
"application-like user interface. It provides full functionality you expect "
@@ -4188,7 +4177,7 @@ msgid ""
"manipulation, message searching and spell checking."
msgstr ""
-#: plinth/modules/roundcube/__init__.py:44
+#: plinth/modules/roundcube/__init__.py:45
msgid ""
"You can access Roundcube from /roundcube. Provide "
"the username and password of the email account you wish to access followed "
@@ -4197,7 +4186,7 @@ msgid ""
"server field like imaps://imap.example.com."
msgstr ""
-#: plinth/modules/roundcube/__init__.py:50
+#: plinth/modules/roundcube/__init__.py:51
msgid ""
"For Gmail, username will be your Gmail address, password will be your Google "
"account password and server will be imaps://imap.gmail.com. "
@@ -4261,12 +4250,12 @@ msgstr ""
msgid "Allow this application to be used by anyone who can reach it."
msgstr ""
-#: plinth/modules/searx/views.py:60 plinth/modules/searx/views.py:71
-#: plinth/modules/tor/views.py:139 plinth/modules/tor/views.py:168
+#: plinth/modules/searx/views.py:59 plinth/modules/searx/views.py:70
+#: plinth/modules/tor/views.py:141 plinth/modules/tor/views.py:168
msgid "Configuration updated."
msgstr "Konfiguration uppdaterad."
-#: plinth/modules/searx/views.py:63 plinth/modules/searx/views.py:74
+#: plinth/modules/searx/views.py:62 plinth/modules/searx/views.py:73
#: plinth/modules/tor/views.py:170
msgid "An error occurred during configuration."
msgstr ""
@@ -4324,22 +4313,22 @@ msgid ""
"account, which you will need to setup on the initial visit."
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:34
+#: plinth/modules/shadowsocks/__init__.py:35
msgid "Shadowsocks"
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:36
+#: plinth/modules/shadowsocks/__init__.py:37
msgid "Socks5 Proxy"
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:45
+#: plinth/modules/shadowsocks/__init__.py:44
msgid ""
"Shadowsocks is a lightweight and secure SOCKS5 proxy, designed to protect "
"your Internet traffic. It can be used to bypass Internet filtering and "
"censorship."
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:49
+#: plinth/modules/shadowsocks/__init__.py:48
#, python-brace-format
msgid ""
"Your {box_name} can run a Shadowsocks client, that can connect to a "
@@ -4348,36 +4337,36 @@ msgid ""
"the Shadowsocks server."
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:54
+#: plinth/modules/shadowsocks/__init__.py:53
msgid ""
"To use Shadowsocks after setup, set the SOCKS5 proxy URL in your device, "
"browser or application to http://freedombox_address:1080/"
msgstr ""
+#: plinth/modules/shadowsocks/forms.py:28
#: plinth/modules/shadowsocks/forms.py:29
-#: plinth/modules/shadowsocks/forms.py:30
msgid "Recommended"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:60
+#: plinth/modules/shadowsocks/forms.py:54
#, fuzzy
#| msgid "DNS Server"
msgid "Server"
msgstr "DNS-Server"
-#: plinth/modules/shadowsocks/forms.py:61
+#: plinth/modules/shadowsocks/forms.py:54
msgid "Server hostname or IP address"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:67
+#: plinth/modules/shadowsocks/forms.py:58
msgid "Server port number"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:71
+#: plinth/modules/shadowsocks/forms.py:61
msgid "Password used to encrypt data. Must match server password."
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:77
+#: plinth/modules/shadowsocks/forms.py:66
msgid "Encryption method. Must match setting on server."
msgstr ""
@@ -4657,7 +4646,7 @@ msgstr ""
msgid "Storage snapshots configuration updated"
msgstr "Konfiguration uppdaterad"
-#: plinth/modules/snapshot/views.py:153 plinth/modules/tor/views.py:72
+#: plinth/modules/snapshot/views.py:153 plinth/modules/tor/views.py:73
#, python-brace-format
msgid "Action error: {0} [{1}] [{2}]"
msgstr ""
@@ -4691,11 +4680,11 @@ msgstr ""
msgid "Rollback to Snapshot"
msgstr ""
-#: plinth/modules/ssh/__init__.py:39
+#: plinth/modules/ssh/__init__.py:40
msgid "Secure Shell (SSH) Server"
msgstr ""
-#: plinth/modules/ssh/__init__.py:42
+#: plinth/modules/ssh/__init__.py:43
msgid ""
"A Secure Shell server uses the secure shell protocol to accept connections "
"from remote computers. An authorized remote computer can perform "
@@ -4711,11 +4700,11 @@ msgstr ""
msgid "Login"
msgstr ""
-#: plinth/modules/storage/__init__.py:36 plinth/modules/storage/views.py:53
+#: plinth/modules/storage/__init__.py:35 plinth/modules/storage/views.py:53
msgid "Storage"
msgstr ""
-#: plinth/modules/storage/__init__.py:44
+#: plinth/modules/storage/__init__.py:43
#, python-brace-format
msgid ""
"This module allows you to manage storage media attached to your {box_name}. "
@@ -4723,84 +4712,84 @@ msgid ""
"media, expand the root partition etc."
msgstr ""
-#: plinth/modules/storage/__init__.py:211
+#: plinth/modules/storage/__init__.py:213
#, python-brace-format
msgid "{disk_size:.1f} bytes"
msgstr ""
-#: plinth/modules/storage/__init__.py:215
+#: plinth/modules/storage/__init__.py:217
#, python-brace-format
msgid "{disk_size:.1f} KiB"
msgstr ""
-#: plinth/modules/storage/__init__.py:219
+#: plinth/modules/storage/__init__.py:221
#, python-brace-format
msgid "{disk_size:.1f} MiB"
msgstr ""
-#: plinth/modules/storage/__init__.py:223
+#: plinth/modules/storage/__init__.py:225
#, python-brace-format
msgid "{disk_size:.1f} GiB"
msgstr ""
-#: plinth/modules/storage/__init__.py:226
+#: plinth/modules/storage/__init__.py:228
#, python-brace-format
msgid "{disk_size:.1f} TiB"
msgstr ""
-#: plinth/modules/storage/__init__.py:233
+#: plinth/modules/storage/__init__.py:235
msgid "The operation failed."
msgstr ""
-#: plinth/modules/storage/__init__.py:235
+#: plinth/modules/storage/__init__.py:237
msgid "The operation was cancelled."
msgstr ""
-#: plinth/modules/storage/__init__.py:237
+#: plinth/modules/storage/__init__.py:239
#, fuzzy
#| msgid "repro service is running"
msgid "The device is already unmounting."
msgstr "Tjänsten repro är aktiverad"
-#: plinth/modules/storage/__init__.py:239
+#: plinth/modules/storage/__init__.py:241
msgid "The operation is not supported due to missing driver/tool support."
msgstr ""
-#: plinth/modules/storage/__init__.py:242
+#: plinth/modules/storage/__init__.py:244
msgid "The operation timed out."
msgstr ""
-#: plinth/modules/storage/__init__.py:244
+#: plinth/modules/storage/__init__.py:246
msgid "The operation would wake up a disk that is in a deep-sleep state."
msgstr ""
-#: plinth/modules/storage/__init__.py:247
+#: plinth/modules/storage/__init__.py:249
msgid "Attempting to unmount a device that is busy."
msgstr ""
-#: plinth/modules/storage/__init__.py:249
+#: plinth/modules/storage/__init__.py:251
msgid "The operation has already been cancelled."
msgstr ""
-#: plinth/modules/storage/__init__.py:255
+#: plinth/modules/storage/__init__.py:257
msgid "Not authorized to perform the requested operation."
msgstr ""
-#: plinth/modules/storage/__init__.py:257
+#: plinth/modules/storage/__init__.py:259
msgid "The device is already mounted."
msgstr ""
-#: plinth/modules/storage/__init__.py:259
+#: plinth/modules/storage/__init__.py:261
#, fuzzy
#| msgid "repro service is not running"
msgid "The device is not mounted."
msgstr "Tjänsten repro är inaktiverad"
-#: plinth/modules/storage/__init__.py:262
+#: plinth/modules/storage/__init__.py:264
msgid "Not permitted to use the requested option."
msgstr ""
-#: plinth/modules/storage/__init__.py:265
+#: plinth/modules/storage/__init__.py:267
msgid "The device is mounted by another user."
msgstr ""
@@ -4879,16 +4868,16 @@ msgstr ""
msgid "Error ejecting device: {error_message}"
msgstr ""
-#: plinth/modules/syncthing/__init__.py:38
+#: plinth/modules/syncthing/__init__.py:40
#: plinth/modules/syncthing/manifest.py:28
msgid "Syncthing"
msgstr ""
-#: plinth/modules/syncthing/__init__.py:40
+#: plinth/modules/syncthing/__init__.py:42
msgid "File Synchronization"
msgstr ""
-#: plinth/modules/syncthing/__init__.py:43
+#: plinth/modules/syncthing/__init__.py:45
msgid ""
"Syncthing is an application to synchronize files across multiple devices, e."
"g. your desktop computer and mobile phone. Creation, modification, or "
@@ -4896,7 +4885,7 @@ msgid ""
"other devices that also run Syncthing."
msgstr ""
-#: plinth/modules/syncthing/__init__.py:48
+#: plinth/modules/syncthing/__init__.py:50
#, python-brace-format
msgid ""
"Running Syncthing on {box_name} provides an extra synchronization point for "
@@ -4907,26 +4896,26 @@ msgid ""
"{box_name} is only available for users belonging to the \"admin\" group."
msgstr ""
-#: plinth/modules/syncthing/__init__.py:55
+#: plinth/modules/syncthing/__init__.py:57
msgid ""
"When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile clients are also available."
msgstr ""
-#: plinth/modules/syncthing/__init__.py:62
+#: plinth/modules/syncthing/__init__.py:64
msgid "Administer Syncthing application"
msgstr ""
-#: plinth/modules/tahoe/__init__.py:41
+#: plinth/modules/tahoe/__init__.py:43
msgid "Tahoe-LAFS"
msgstr ""
-#: plinth/modules/tahoe/__init__.py:43
+#: plinth/modules/tahoe/__init__.py:45
msgid "Distributed File Storage"
msgstr ""
-#: plinth/modules/tahoe/__init__.py:107
+#: plinth/modules/tahoe/__init__.py:119
msgid ""
"Tahoe-LAFS is a decentralized secure file storage system. It uses provider "
"independent security to store files over a distributed network of storage "
@@ -4934,7 +4923,7 @@ msgid ""
"remaining nodes."
msgstr ""
-#: plinth/modules/tahoe/__init__.py:112
+#: plinth/modules/tahoe/__init__.py:124
#, python-brace-format
msgid ""
"This {box_name} hosts a storage node and an introducer by default. "
@@ -4981,11 +4970,11 @@ msgstr ""
msgid "Remove"
msgstr ""
-#: plinth/modules/tor/__init__.py:43
+#: plinth/modules/tor/__init__.py:46
msgid "Tor"
msgstr ""
-#: plinth/modules/tor/__init__.py:48
+#: plinth/modules/tor/__init__.py:51
msgid ""
"Tor is an anonymous communication system. You can learn more about it from "
"the Tor Project website. For "
@@ -4994,40 +4983,36 @@ msgid ""
"\">Tor Browser."
msgstr ""
-#: plinth/modules/tor/__init__.py:93
+#: plinth/modules/tor/__init__.py:80
msgid "Tor Socks Proxy"
msgstr ""
-#: plinth/modules/tor/__init__.py:99 plinth/modules/tor/__init__.py:146
+#: plinth/modules/tor/__init__.py:84
msgid "Tor Bridge Relay"
msgstr ""
-#: plinth/modules/tor/__init__.py:120 plinth/modules/tor/__init__.py:188
+#: plinth/modules/tor/__init__.py:122 plinth/modules/tor/__init__.py:150
msgid "Tor Hidden Service"
msgstr ""
-#: plinth/modules/tor/__init__.py:136
-msgid "Tor Anonymity Network"
-msgstr "Tor Anonymitetsnätverk"
-
-#: plinth/modules/tor/__init__.py:208
+#: plinth/modules/tor/__init__.py:170
msgid "Tor relay port available"
msgstr ""
-#: plinth/modules/tor/__init__.py:218
+#: plinth/modules/tor/__init__.py:180
msgid "Obfs3 transport registered"
msgstr ""
-#: plinth/modules/tor/__init__.py:226
+#: plinth/modules/tor/__init__.py:188
msgid "Obfs4 transport registered"
msgstr ""
-#: plinth/modules/tor/__init__.py:265
+#: plinth/modules/tor/__init__.py:227
#, python-brace-format
msgid "Access URL {url} on tcp{kind} via Tor"
msgstr ""
-#: plinth/modules/tor/__init__.py:276
+#: plinth/modules/tor/__init__.py:238
#, python-brace-format
msgid "Confirm Tor usage at {url} on tcp{kind}"
msgstr ""
@@ -5163,18 +5148,18 @@ msgstr ""
msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050."
msgstr ""
-#: plinth/modules/transmission/__init__.py:39
+#: plinth/modules/transmission/__init__.py:41
#: plinth/modules/transmission/manifest.py:24
msgid "Transmission"
msgstr ""
-#: plinth/modules/transmission/__init__.py:44
+#: plinth/modules/transmission/__init__.py:46
msgid ""
"BitTorrent is a peer-to-peer file sharing protocol. Transmission daemon "
"handles Bitorrent file sharing. Note that BitTorrent is not anonymous."
msgstr ""
-#: plinth/modules/transmission/__init__.py:47
+#: plinth/modules/transmission/__init__.py:49
msgid ""
"Access the web interface at /transmission."
msgstr ""
@@ -5190,22 +5175,22 @@ msgid ""
"\" user."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:41 plinth/modules/ttrss/manifest.py:34
+#: plinth/modules/ttrss/__init__.py:43 plinth/modules/ttrss/manifest.py:34
msgid "Tiny Tiny RSS"
msgstr ""
-#: plinth/modules/ttrss/__init__.py:43
+#: plinth/modules/ttrss/__init__.py:45
msgid "News Feed Reader"
msgstr ""
-#: plinth/modules/ttrss/__init__.py:46
+#: plinth/modules/ttrss/__init__.py:48
msgid ""
"Tiny Tiny RSS is a news feed (RSS/Atom) reader and aggregator, designed to "
"allow reading news from any location, while feeling as close to a real "
"desktop application as possible."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:50
+#: plinth/modules/ttrss/__init__.py:52
#, fuzzy, python-brace-format
#| msgid ""
#| "When enabled, the blogs and wikis will be available from /ikiwiki."
-#: plinth/modules/ttrss/__init__.py:55
+#: plinth/modules/ttrss/__init__.py:57
msgid ""
"When using a mobile or desktop application for Tiny Tiny RSS, use the URL /tt-rss-app for connecting."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:61
+#: plinth/modules/ttrss/__init__.py:63
msgid "Read and subscribe to news feeds"
msgstr ""
@@ -5232,13 +5217,13 @@ msgstr ""
msgid "Tiny Tiny RSS (Fork)"
msgstr ""
-#: plinth/modules/upgrades/__init__.py:36 plinth/templates/setup.html:101
+#: plinth/modules/upgrades/__init__.py:35 plinth/templates/setup.html:101
#, fuzzy
#| msgid "Update URL"
msgid "Update"
msgstr "Adress för uppdateringar"
-#: plinth/modules/upgrades/__init__.py:39
+#: plinth/modules/upgrades/__init__.py:38
msgid "Check for and apply the latest software and security updates."
msgstr ""
@@ -5279,36 +5264,36 @@ msgstr ""
msgid "Auto-update"
msgstr "Senaste uppdatering"
-#: plinth/modules/upgrades/views.py:39
+#: plinth/modules/upgrades/views.py:40
#, fuzzy
#| msgid "Last update"
msgid "Manual update"
msgstr "Senaste uppdatering"
-#: plinth/modules/upgrades/views.py:78
+#: plinth/modules/upgrades/views.py:79
#, python-brace-format
msgid "Error when configuring unattended-upgrades: {error}"
msgstr ""
-#: plinth/modules/upgrades/views.py:82
+#: plinth/modules/upgrades/views.py:83
msgid "Automatic upgrades enabled"
msgstr ""
-#: plinth/modules/upgrades/views.py:85
+#: plinth/modules/upgrades/views.py:86
msgid "Automatic upgrades disabled"
msgstr ""
-#: plinth/modules/upgrades/views.py:87
+#: plinth/modules/upgrades/views.py:88
#, fuzzy
#| msgid "Setting unchanged"
msgid "Settings unchanged"
msgstr "Instänllningar oförändrade"
-#: plinth/modules/upgrades/views.py:113
+#: plinth/modules/upgrades/views.py:114
msgid "Upgrade process started."
msgstr ""
-#: plinth/modules/upgrades/views.py:116
+#: plinth/modules/upgrades/views.py:117
msgid "Starting upgrade failed."
msgstr "Det gick inte att starta uppgraderingen."
@@ -5316,7 +5301,7 @@ msgstr "Det gick inte att starta uppgraderingen."
msgid "Users and Groups"
msgstr ""
-#: plinth/modules/users/__init__.py:106
+#: plinth/modules/users/__init__.py:108
#, python-brace-format
msgid "Check LDAP entry \"{search_item}\""
msgstr ""
@@ -5536,15 +5521,6 @@ msgstr "Instänllningar oförändrade"
msgid "configuration file: {file}"
msgstr "Konfiguration"
-#: plinth/service.py:140
-msgid "Web Server over Secure Socket Layer"
-msgstr ""
-
-#: plinth/service.py:145
-#, python-brace-format
-msgid "{box_name} Web Interface (Plinth)"
-msgstr ""
-
#: plinth/templates/403.html:25
msgid "403 Forbidden"
msgstr ""
@@ -5753,17 +5729,17 @@ msgstr ""
msgid "Mailing list"
msgstr ""
-#: plinth/templates/internal-zone.html:25
+#: plinth/templates/internal-zone.html:26
#, fuzzy, python-format
#| msgid "Service discovery server is not running"
msgid "%(service_name)s is available only on internal networks."
msgstr "Server för tjänsteidentifiering är inaktiverad"
-#: plinth/templates/internal-zone.html:31
+#: plinth/templates/internal-zone.html:32
msgid "Currently there are no network interfaces configured as internal."
msgstr ""
-#: plinth/templates/internal-zone.html:33
+#: plinth/templates/internal-zone.html:34
#, python-format
msgid ""
"Currently the following network interfaces are configured as internal: "
@@ -5828,10 +5804,25 @@ msgstr ""
msgid "%(percentage)s%% complete"
msgstr ""
+#: plinth/views.py:178
+#, fuzzy
+#| msgid "Applications"
+msgid "Application enabled"
+msgstr "Applikationer"
+
+#: plinth/views.py:181
+#, fuzzy
+#| msgid "Applications"
+msgid "Application disabled"
+msgstr "Applikationer"
+
#: plinth/web_framework.py:186
msgid "Gujarati"
msgstr ""
+#~ msgid "Tor Anonymity Network"
+#~ msgstr "Tor Anonymitetsnätverk"
+
#~ msgid "Current status:"
#~ msgstr "Nuvarande status:"
diff --git a/plinth/locale/ta/LC_MESSAGES/django.po b/plinth/locale/ta/LC_MESSAGES/django.po
index 82e08b4dc..4ce5d3f7e 100644
--- a/plinth/locale/ta/LC_MESSAGES/django.po
+++ b/plinth/locale/ta/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-06-10 19:02-0400\n"
+"POT-Creation-Date: 2019-06-24 19:48-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -48,7 +48,7 @@ msgstr ""
msgid "Cannot connect to {host}:{port}"
msgstr ""
-#: plinth/context_processors.py:37 plinth/views.py:60
+#: plinth/context_processors.py:37 plinth/views.py:61
msgid "FreedomBox"
msgstr ""
@@ -92,11 +92,22 @@ msgstr ""
msgid "Error installing application: {error}"
msgstr ""
-#: plinth/modules/avahi/__init__.py:42
+#: plinth/modules/apache/__init__.py:47
+#: plinth/modules/monkeysphere/templates/monkeysphere.html:88
+#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:60
+msgid "Web Server"
+msgstr ""
+
+#: plinth/modules/apache/__init__.py:54
+#, python-brace-format
+msgid "{box_name} Web Interface (Plinth)"
+msgstr ""
+
+#: plinth/modules/avahi/__init__.py:43
msgid "Service Discovery"
msgstr ""
-#: plinth/modules/avahi/__init__.py:46
+#: plinth/modules/avahi/__init__.py:47
#, python-brace-format
msgid ""
"Service discovery allows other devices on the network to discover your "
@@ -115,7 +126,7 @@ msgstr ""
msgid "Backups allows creating and managing backup archives."
msgstr ""
-#: plinth/modules/backups/__init__.py:51
+#: plinth/modules/backups/__init__.py:49
#, python-brace-format
msgid "{box_name} storage"
msgstr ""
@@ -399,21 +410,21 @@ msgstr ""
msgid "Mounting failed"
msgstr ""
-#: plinth/modules/bind/__init__.py:35
+#: plinth/modules/bind/__init__.py:36
msgid "BIND"
msgstr ""
-#: plinth/modules/bind/__init__.py:37
+#: plinth/modules/bind/__init__.py:38
msgid "Domain Name Server"
msgstr ""
-#: plinth/modules/bind/__init__.py:46
+#: plinth/modules/bind/__init__.py:45
msgid ""
"BIND enables you to publish your Domain Name System (DNS) information on the "
"Internet, and to resolve DNS queries for your user devices on your network."
msgstr ""
-#: plinth/modules/bind/__init__.py:50
+#: plinth/modules/bind/__init__.py:49
#, python-brace-format
msgid ""
"Currently, on {box_name}, BIND is only used to resolve DNS queries for other "
@@ -438,21 +449,21 @@ msgstr ""
msgid "Enable Domain Name System Security Extensions"
msgstr ""
-#: plinth/modules/bind/views.py:58 plinth/modules/dynamicdns/views.py:170
-#: plinth/modules/openvpn/views.py:148 plinth/modules/shadowsocks/views.py:80
+#: plinth/modules/bind/views.py:59 plinth/modules/dynamicdns/views.py:172
+#: plinth/modules/openvpn/views.py:146 plinth/modules/shadowsocks/views.py:79
#: plinth/modules/transmission/views.py:74
msgid "Configuration updated"
msgstr ""
-#: plinth/modules/cockpit/__init__.py:40 plinth/modules/cockpit/manifest.py:27
+#: plinth/modules/cockpit/__init__.py:42 plinth/modules/cockpit/manifest.py:27
msgid "Cockpit"
msgstr ""
-#: plinth/modules/cockpit/__init__.py:42
+#: plinth/modules/cockpit/__init__.py:44
msgid "Server Administration"
msgstr ""
-#: plinth/modules/cockpit/__init__.py:46
+#: plinth/modules/cockpit/__init__.py:48
#, python-brace-format
msgid ""
"Cockpit is a server manager that makes it easy to administer GNU/Linux "
@@ -461,7 +472,7 @@ msgid ""
"console operations is also available."
msgstr ""
-#: plinth/modules/cockpit/__init__.py:52
+#: plinth/modules/cockpit/__init__.py:54
#, python-brace-format
msgid ""
"When enabled, Cockpit will be available from /"
@@ -469,14 +480,14 @@ msgid ""
"\"{users_url}\">any user on {box_name} belonging to the admin group."
msgstr ""
-#: plinth/modules/config/__init__.py:59 plinth/modules/dynamicdns/views.py:44
+#: plinth/modules/config/__init__.py:61 plinth/modules/dynamicdns/views.py:45
#: plinth/modules/i2p/views.py:31 plinth/modules/ikiwiki/views.py:35
#: plinth/modules/pagekite/views.py:36 plinth/modules/snapshot/views.py:40
#: plinth/modules/tahoe/templates/tahoe-pre-setup.html:39
msgid "Configure"
msgstr ""
-#: plinth/modules/config/__init__.py:164 plinth/modules/config/forms.py:76
+#: plinth/modules/config/__init__.py:166 plinth/modules/config/forms.py:76
#: plinth/modules/config/views.py:171 plinth/modules/dynamicdns/forms.py:111
msgid "Domain Name"
msgstr ""
@@ -548,8 +559,8 @@ msgstr ""
#: plinth/modules/power/templates/power_restart.html:42
#: plinth/modules/power/templates/power_shutdown.html:41
#: plinth/modules/storage/templates/storage.html:48
-#: plinth/templates/service-subsubmenu.html:47 plinth/templates/service.html:42
-#: plinth/templates/setup.html:48 plinth/templates/simple_service.html:38
+#: plinth/templates/app-subsubmenu.html:47 plinth/templates/app.html:42
+#: plinth/templates/setup.html:48 plinth/templates/simple_app.html:38
msgid "Learn more..."
msgstr ""
@@ -597,22 +608,22 @@ msgstr ""
msgid "Hiding advanced apps and features"
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:38
+#: plinth/modules/coquelicot/__init__.py:40
msgid "Coquelicot"
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:40
+#: plinth/modules/coquelicot/__init__.py:42
msgid "File Sharing"
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:43
+#: plinth/modules/coquelicot/__init__.py:45
msgid ""
"Coquelicot is a “one-click” file sharing web application with a focus on "
"protecting users’ privacy. It is best used for quickly sharing a single "
"file. "
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:46
+#: plinth/modules/coquelicot/__init__.py:48
msgid ""
"This Coquelicot instance is exposed to the public but requires an upload "
"password to prevent unauthorized access. You can set a new upload password "
@@ -642,19 +653,19 @@ msgstr ""
msgid "coquelicot"
msgstr ""
-#: plinth/modules/coquelicot/views.py:57
+#: plinth/modules/coquelicot/views.py:59
msgid "Upload password updated"
msgstr ""
-#: plinth/modules/coquelicot/views.py:60
+#: plinth/modules/coquelicot/views.py:62
msgid "Failed to update upload password"
msgstr ""
-#: plinth/modules/coquelicot/views.py:68
+#: plinth/modules/coquelicot/views.py:70
msgid "Maximum file size updated"
msgstr ""
-#: plinth/modules/coquelicot/views.py:71
+#: plinth/modules/coquelicot/views.py:73
msgid "Failed to update maximum file size"
msgstr ""
@@ -668,21 +679,21 @@ msgid ""
"synchronization with servers on the Internet."
msgstr ""
-#: plinth/modules/datetime/__init__.py:107
+#: plinth/modules/datetime/__init__.py:99
msgid "Time synchronized to NTP server"
msgstr ""
-#: plinth/modules/datetime/forms.py:36
+#: plinth/modules/datetime/forms.py:35
msgid "Time Zone"
msgstr ""
-#: plinth/modules/datetime/forms.py:37
+#: plinth/modules/datetime/forms.py:36
msgid ""
"Set your time zone to get accurate timestamps. This will set the system-wide "
"time zone."
msgstr ""
-#: plinth/modules/datetime/forms.py:49
+#: plinth/modules/datetime/forms.py:47
msgid "-- no time zone set --"
msgstr ""
@@ -700,7 +711,7 @@ msgid "Deluge"
msgstr ""
#: plinth/modules/deluge/__init__.py:41
-#: plinth/modules/transmission/__init__.py:41
+#: plinth/modules/transmission/__init__.py:43
msgid "BitTorrent Web Client"
msgstr ""
@@ -716,7 +727,7 @@ msgid ""
msgstr ""
#: plinth/modules/deluge/__init__.py:51
-#: plinth/modules/transmission/__init__.py:54
+#: plinth/modules/transmission/__init__.py:56
msgid "Download files using BitTorrent applications"
msgstr ""
@@ -778,12 +789,12 @@ msgstr ""
msgid "Result"
msgstr ""
-#: plinth/modules/diaspora/__init__.py:52
+#: plinth/modules/diaspora/__init__.py:54
#: plinth/modules/diaspora/manifest.py:38
msgid "diaspora*"
msgstr ""
-#: plinth/modules/diaspora/__init__.py:54
+#: plinth/modules/diaspora/__init__.py:56
msgid "Federated Social Network"
msgstr ""
@@ -830,22 +841,22 @@ msgstr ""
#: plinth/modules/tahoe/templates/tahoe-pre-setup.html:58
#: plinth/modules/tor/templates/tor.html:96
#: plinth/modules/upgrades/templates/upgrades_configure.html:32
-#: plinth/templates/service.html:89
+#: plinth/templates/app.html:89
msgid "Update setup"
msgstr ""
-#: plinth/modules/diaspora/views.py:97 plinth/modules/ejabberd/views.py:64
-#: plinth/modules/matrixsynapse/views.py:107
-#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:150
-#: plinth/modules/tor/views.py:146 plinth/views.py:160
+#: plinth/modules/diaspora/views.py:94 plinth/modules/ejabberd/views.py:65
+#: plinth/modules/matrixsynapse/views.py:108
+#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:148
+#: plinth/modules/tor/views.py:148 plinth/views.py:174
msgid "Setting unchanged"
msgstr ""
-#: plinth/modules/diaspora/views.py:101
+#: plinth/modules/diaspora/views.py:98
msgid "User registrations enabled"
msgstr ""
-#: plinth/modules/diaspora/views.py:105
+#: plinth/modules/diaspora/views.py:102
msgid "User registrations disabled"
msgstr ""
@@ -872,8 +883,8 @@ msgid ""
"IP address."
msgstr ""
-#: plinth/modules/dynamicdns/__init__.py:85
-#: plinth/modules/dynamicdns/views.py:167
+#: plinth/modules/dynamicdns/__init__.py:87
+#: plinth/modules/dynamicdns/views.py:169
msgid "Dynamic DNS Service"
msgstr ""
@@ -962,7 +973,7 @@ msgid "Username"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:121 plinth/modules/networks/forms.py:235
-#: plinth/modules/shadowsocks/forms.py:70
+#: plinth/modules/shadowsocks/forms.py:61
msgid "Password"
msgstr ""
@@ -1040,45 +1051,45 @@ msgstr ""
msgid "Last update"
msgstr ""
-#: plinth/modules/dynamicdns/views.py:41 plinth/modules/help/help.py:57
+#: plinth/modules/dynamicdns/views.py:41 plinth/modules/help/help.py:59
msgid "About"
msgstr ""
-#: plinth/modules/dynamicdns/views.py:47
+#: plinth/modules/dynamicdns/views.py:49
#: plinth/modules/firewall/templates/firewall.html:25
#: plinth/modules/firewall/templates/firewall.html:45
#: plinth/modules/i2p/templates/i2p.html:27
#: plinth/modules/networks/templates/connection_show.html:261
#: plinth/modules/openvpn/templates/openvpn.html:71
#: plinth/modules/tor/templates/tor.html:40
-#: plinth/modules/tor/templates/tor.html:68 plinth/templates/service.html:51
+#: plinth/modules/tor/templates/tor.html:68 plinth/templates/app.html:51
msgid "Status"
msgstr ""
-#: plinth/modules/dynamicdns/views.py:78
+#: plinth/modules/dynamicdns/views.py:80
msgid "Configure Dynamic DNS"
msgstr ""
-#: plinth/modules/dynamicdns/views.py:103
+#: plinth/modules/dynamicdns/views.py:105
msgid "Dynamic DNS Status"
msgstr ""
-#: plinth/modules/ejabberd/__init__.py:43
+#: plinth/modules/ejabberd/__init__.py:45
msgid "ejabberd"
msgstr ""
-#: plinth/modules/ejabberd/__init__.py:45
-#: plinth/modules/matrixsynapse/__init__.py:43
+#: plinth/modules/ejabberd/__init__.py:47
+#: plinth/modules/matrixsynapse/__init__.py:45
msgid "Chat Server"
msgstr ""
-#: plinth/modules/ejabberd/__init__.py:48
+#: plinth/modules/ejabberd/__init__.py:50
msgid ""
"XMPP is an open and standardized communication protocol. Here you can run "
"and configure your XMPP server, called ejabberd."
msgstr ""
-#: plinth/modules/ejabberd/__init__.py:51
+#: plinth/modules/ejabberd/__init__.py:53
#, python-brace-format
msgid ""
"To actually communicate, you can use the web client"
@@ -1087,11 +1098,11 @@ msgid ""
"any user with a {box_name} login."
msgstr ""
-#: plinth/modules/ejabberd/forms.py:33
+#: plinth/modules/ejabberd/forms.py:32
msgid "Enable Message Archive Management"
msgstr ""
-#: plinth/modules/ejabberd/forms.py:36
+#: plinth/modules/ejabberd/forms.py:34
#, python-brace-format
msgid ""
"If enabled, your {box_name} will store chat message histories. This allows "
@@ -1159,35 +1170,23 @@ msgstr ""
#: plinth/modules/openvpn/templates/openvpn.html:123
#: plinth/modules/snapshot/templates/snapshot.html:27
#: plinth/modules/tahoe/templates/tahoe-post-setup.html:43
-#: plinth/modules/tor/templates/tor.html:88 plinth/templates/service.html:81
+#: plinth/modules/tor/templates/tor.html:88 plinth/templates/app.html:81
msgid "Configuration"
msgstr ""
-#: plinth/modules/ejabberd/views.py:68
-#: plinth/modules/matrixsynapse/views.py:111
-#: plinth/modules/mediawiki/views.py:79 plinth/views.py:164
-msgid "Application enabled"
-msgstr ""
-
-#: plinth/modules/ejabberd/views.py:71
-#: plinth/modules/matrixsynapse/views.py:114
-#: plinth/modules/mediawiki/views.py:82 plinth/views.py:167
-msgid "Application disabled"
-msgstr ""
-
-#: plinth/modules/ejabberd/views.py:78
+#: plinth/modules/ejabberd/views.py:77
msgid "Message Archive Management enabled"
msgstr ""
-#: plinth/modules/ejabberd/views.py:82
+#: plinth/modules/ejabberd/views.py:81
msgid "Message Archive Management disabled"
msgstr ""
-#: plinth/modules/firewall/__init__.py:40
+#: plinth/modules/firewall/__init__.py:36
msgid "Firewall"
msgstr ""
-#: plinth/modules/firewall/__init__.py:44
+#: plinth/modules/firewall/__init__.py:40
#, python-brace-format
msgid ""
"Firewall is a security system that controls the incoming and outgoing "
@@ -1293,29 +1292,29 @@ msgstr ""
msgid "Setup Complete"
msgstr ""
-#: plinth/modules/help/help.py:44
+#: plinth/modules/help/help.py:46
msgid "Documentation"
msgstr ""
-#: plinth/modules/help/help.py:48 plinth/modules/networks/forms.py:68
+#: plinth/modules/help/help.py:50 plinth/modules/networks/forms.py:68
#: plinth/modules/networks/forms.py:108 plinth/templates/index.html:135
msgid "Manual"
msgstr ""
-#: plinth/modules/help/help.py:53
+#: plinth/modules/help/help.py:55
msgid "Download Manual"
msgstr ""
-#: plinth/modules/help/help.py:73
+#: plinth/modules/help/help.py:75
msgid "Documentation and FAQ"
msgstr ""
-#: plinth/modules/help/help.py:81
+#: plinth/modules/help/help.py:83
#, python-brace-format
msgid "About {box_name}"
msgstr ""
-#: plinth/modules/help/help.py:102
+#: plinth/modules/help/help.py:104
#, python-brace-format
msgid "{box_name} Manual"
msgstr ""
@@ -1433,15 +1432,15 @@ msgid ""
"before submitting the bug report."
msgstr ""
-#: plinth/modules/i2p/__init__.py:40 plinth/modules/i2p/manifest.py:31
+#: plinth/modules/i2p/__init__.py:42 plinth/modules/i2p/manifest.py:31
msgid "I2P"
msgstr ""
-#: plinth/modules/i2p/__init__.py:42 plinth/modules/tor/__init__.py:45
+#: plinth/modules/i2p/__init__.py:44 plinth/modules/tor/__init__.py:48
msgid "Anonymity Network"
msgstr ""
-#: plinth/modules/i2p/__init__.py:45
+#: plinth/modules/i2p/__init__.py:47
msgid ""
"The Invisible Internet Project is an anonymous network layer intended to "
"protect communication from censorship and surveillance. I2P provides "
@@ -1449,33 +1448,33 @@ msgid ""
"distributed around the world."
msgstr ""
-#: plinth/modules/i2p/__init__.py:49
+#: plinth/modules/i2p/__init__.py:51
msgid ""
"Find more information about I2P on their project homepage."
msgstr ""
-#: plinth/modules/i2p/__init__.py:51
+#: plinth/modules/i2p/__init__.py:53
msgid ""
"The first visit to the provided web interface will initiate the "
"configuration process."
msgstr ""
-#: plinth/modules/i2p/__init__.py:57
+#: plinth/modules/i2p/__init__.py:59
msgid "Manage I2P application"
msgstr ""
-#: plinth/modules/i2p/templates/i2p.html:32 plinth/templates/service.html:56
+#: plinth/modules/i2p/templates/i2p.html:32 plinth/templates/app.html:56
#, python-format
msgid "Service %(service_name)s is running."
msgstr ""
-#: plinth/modules/i2p/templates/i2p.html:37 plinth/templates/service.html:61
+#: plinth/modules/i2p/templates/i2p.html:37 plinth/templates/app.html:61
#, python-format
msgid "Service %(service_name)s is not running."
msgstr ""
-#: plinth/modules/i2p/templates/i2p_service.html:13
+#: plinth/modules/i2p/templates/i2p_service.html:31
#: plinth/templates/clients.html:51
msgid "Launch"
msgstr ""
@@ -1488,43 +1487,43 @@ msgstr ""
msgid "Anonymous torrents"
msgstr ""
-#: plinth/modules/i2p/views.py:86
+#: plinth/modules/i2p/views.py:88
msgid "I2P Proxies and Tunnels"
msgstr ""
-#: plinth/modules/i2p/views.py:89
+#: plinth/modules/i2p/views.py:91
msgid ""
"I2P lets you browse the Internet and hidden services (eepsites) anonymously. "
"For this, your browser, preferably a Tor Browser, needs to be configured for "
"a proxy."
msgstr ""
-#: plinth/modules/i2p/views.py:92
+#: plinth/modules/i2p/views.py:94
msgid ""
"By default HTTP, HTTPS and IRC proxies are available. Additional proxies and "
"tunnels may be configured using the tunnel configuration interface."
msgstr ""
-#: plinth/modules/i2p/views.py:101
+#: plinth/modules/i2p/views.py:103
msgid "Anonymous Torrents"
msgstr ""
-#: plinth/modules/i2p/views.py:104
+#: plinth/modules/i2p/views.py:106
msgid ""
"I2P provides an application to download files anonymously in a peer-to-peer "
"network. Download files by adding torrents or create a new torrent to share "
"a file."
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:42 plinth/modules/ikiwiki/manifest.py:24
+#: plinth/modules/ikiwiki/__init__.py:41 plinth/modules/ikiwiki/manifest.py:24
msgid "ikiwiki"
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:44
+#: plinth/modules/ikiwiki/__init__.py:43
msgid "Wiki and Blog"
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:47
+#: plinth/modules/ikiwiki/__init__.py:46
msgid ""
"ikiwiki is a simple wiki and blog application. It supports several "
"lightweight markup languages, including Markdown, and common blogging "
@@ -1532,7 +1531,7 @@ msgid ""
"wikis will be available at /ikiwiki (once created)."
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:53
+#: plinth/modules/ikiwiki/__init__.py:52
#, python-brace-format
msgid ""
"Only {box_name} users in the admin group can create and "
@@ -1541,7 +1540,7 @@ msgid ""
"Configuration you can change these permissions or add new users."
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:63
+#: plinth/modules/ikiwiki/__init__.py:62
msgid "View and edit wiki applications"
msgstr ""
@@ -1609,49 +1608,49 @@ msgstr ""
msgid "Manage"
msgstr ""
-#: plinth/modules/ikiwiki/views.py:121
+#: plinth/modules/ikiwiki/views.py:124
#, python-brace-format
msgid "Created wiki {name}."
msgstr ""
-#: plinth/modules/ikiwiki/views.py:124
+#: plinth/modules/ikiwiki/views.py:127
#, python-brace-format
msgid "Could not create wiki: {error}"
msgstr ""
-#: plinth/modules/ikiwiki/views.py:134
+#: plinth/modules/ikiwiki/views.py:137
#, python-brace-format
msgid "Created blog {name}."
msgstr ""
-#: plinth/modules/ikiwiki/views.py:137
+#: plinth/modules/ikiwiki/views.py:140
#, python-brace-format
msgid "Could not create blog: {error}"
msgstr ""
-#: plinth/modules/ikiwiki/views.py:150
+#: plinth/modules/ikiwiki/views.py:153
#, python-brace-format
msgid "{name} deleted."
msgstr ""
-#: plinth/modules/ikiwiki/views.py:154
+#: plinth/modules/ikiwiki/views.py:157
#, python-brace-format
msgid "Could not delete {name}: {error}"
msgstr ""
-#: plinth/modules/infinoted/__init__.py:41
+#: plinth/modules/infinoted/__init__.py:40
msgid "infinoted"
msgstr ""
-#: plinth/modules/infinoted/__init__.py:43
+#: plinth/modules/infinoted/__init__.py:42
msgid "Gobby Server"
msgstr ""
-#: plinth/modules/infinoted/__init__.py:46
+#: plinth/modules/infinoted/__init__.py:45
msgid "infinoted is a server for Gobby, a collaborative text editor."
msgstr ""
-#: plinth/modules/infinoted/__init__.py:48
+#: plinth/modules/infinoted/__init__.py:47
#, python-brace-format
msgid ""
"To use it, download Gobby, desktop "
@@ -1971,11 +1970,11 @@ msgstr ""
msgid "Failed to delete certificate for domain {domain}: {error}"
msgstr ""
-#: plinth/modules/matrixsynapse/__init__.py:41
+#: plinth/modules/matrixsynapse/__init__.py:43
msgid "Matrix Synapse"
msgstr ""
-#: plinth/modules/matrixsynapse/__init__.py:46
+#: plinth/modules/matrixsynapse/__init__.py:48
msgid ""
"Matrix is an new "
"ecosystem for open, federated instant messaging and VoIP. Synapse is a "
@@ -1985,7 +1984,7 @@ msgid ""
"converse with users on all other Matrix servers via federation."
msgstr ""
-#: plinth/modules/matrixsynapse/__init__.py:53
+#: plinth/modules/matrixsynapse/__init__.py:55
msgid ""
"To communicate, you can use the available clients for mobile, desktop and the web. Special:CreateAccount page."
msgstr ""
-#: plinth/modules/mediawiki/__init__.py:49
+#: plinth/modules/mediawiki/__init__.py:53
msgid ""
"Anyone with a link to this wiki can read it. Only users that are logged in "
"can make changes to the content."
@@ -2122,32 +2121,32 @@ msgstr ""
msgid "Password updated"
msgstr ""
-#: plinth/modules/mediawiki/views.py:91
+#: plinth/modules/mediawiki/views.py:89
msgid "Public registrations enabled"
msgstr ""
-#: plinth/modules/mediawiki/views.py:100
+#: plinth/modules/mediawiki/views.py:98
msgid "Public registrations disabled"
msgstr ""
-#: plinth/modules/mediawiki/views.py:109
+#: plinth/modules/mediawiki/views.py:107
msgid "Private mode enabled"
msgstr ""
-#: plinth/modules/mediawiki/views.py:112
+#: plinth/modules/mediawiki/views.py:110
msgid "Private mode disabled"
msgstr ""
-#: plinth/modules/minetest/__init__.py:53
+#: plinth/modules/minetest/__init__.py:52
#: plinth/modules/minetest/manifest.py:25
msgid "Minetest"
msgstr ""
-#: plinth/modules/minetest/__init__.py:55
+#: plinth/modules/minetest/__init__.py:54
msgid "Block Sandbox"
msgstr ""
-#: plinth/modules/minetest/__init__.py:59
+#: plinth/modules/minetest/__init__.py:58
#, python-brace-format
msgid ""
"Minetest is a multiplayer infinite-world block sandbox. This module enables "
@@ -2156,39 +2155,39 @@ msgid ""
"downloads/\">Minetest client is needed."
msgstr ""
-#: plinth/modules/minetest/forms.py:31
+#: plinth/modules/minetest/forms.py:30
msgid "Maximum number of players"
msgstr ""
-#: plinth/modules/minetest/forms.py:35
+#: plinth/modules/minetest/forms.py:32
msgid ""
"You can change the maximum number of players playing minetest at a single "
"instance of time."
msgstr ""
-#: plinth/modules/minetest/forms.py:39
+#: plinth/modules/minetest/forms.py:36
msgid "Enable creative mode"
msgstr ""
-#: plinth/modules/minetest/forms.py:41
+#: plinth/modules/minetest/forms.py:37
msgid ""
"Creative mode changes the rules of the game to make it more suitable for "
"creative gameplay, rather than challenging \"survival\" gameplay."
msgstr ""
-#: plinth/modules/minetest/forms.py:46
+#: plinth/modules/minetest/forms.py:42
msgid "Enable PVP"
msgstr ""
-#: plinth/modules/minetest/forms.py:48
+#: plinth/modules/minetest/forms.py:43
msgid "Enabling Player Vs Player will allow players to damage other players."
msgstr ""
-#: plinth/modules/minetest/forms.py:52
+#: plinth/modules/minetest/forms.py:47
msgid "Enable damage"
msgstr ""
-#: plinth/modules/minetest/forms.py:54
+#: plinth/modules/minetest/forms.py:48
msgid "When disabled, players cannot die or receive damage of any kind."
msgstr ""
@@ -2202,52 +2201,52 @@ msgstr ""
msgid "Port"
msgstr ""
-#: plinth/modules/minetest/views.py:71
+#: plinth/modules/minetest/views.py:72
msgid "Maximum players configuration updated"
msgstr ""
-#: plinth/modules/minetest/views.py:78
+#: plinth/modules/minetest/views.py:79
msgid "Creative mode configuration updated"
msgstr ""
-#: plinth/modules/minetest/views.py:84
+#: plinth/modules/minetest/views.py:85
msgid "PVP configuration updated"
msgstr ""
-#: plinth/modules/minetest/views.py:90
+#: plinth/modules/minetest/views.py:91
msgid "Damage configuration updated"
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:38
+#: plinth/modules/mldonkey/__init__.py:40
#: plinth/modules/mldonkey/manifest.py:27
msgid "MLDonkey"
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:40
+#: plinth/modules/mldonkey/__init__.py:42
msgid "Peer-to-peer File Sharing"
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:43
+#: plinth/modules/mldonkey/__init__.py:45
msgid ""
"MLDonkey is a peer-to-peer file sharing application used to exchange large "
"files. It can participate in multiple peer-to-peer networks including "
"eDonkey, Kademlia, Overnet, BitTorrent and DirectConnect."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:46
+#: plinth/modules/mldonkey/__init__.py:48
msgid ""
"Users belonging to admin and ed2k group can control it through the web "
"interface. Users in the admin group can also control it through any of the "
"separate mobile or desktop front-ends or a telnet interface. See manual."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:51
+#: plinth/modules/mldonkey/__init__.py:53
#, python-brace-format
msgid ""
"On {box_name}, downloaded files can be found in /var/lib/mldonkey/ directory."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:59
+#: plinth/modules/mldonkey/__init__.py:61
msgid "Download files using eDonkey applications"
msgstr ""
@@ -2311,12 +2310,6 @@ msgstr ""
msgid "Secure Shell"
msgstr ""
-#: plinth/modules/monkeysphere/templates/monkeysphere.html:88
-#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:60
-#: plinth/service.py:138
-msgid "Web Server"
-msgstr ""
-
#: plinth/modules/monkeysphere/templates/monkeysphere.html:90
#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:62
msgid "Other"
@@ -2409,21 +2402,21 @@ msgstr ""
msgid "Error occurred while publishing key."
msgstr ""
-#: plinth/modules/mumble/__init__.py:34 plinth/modules/mumble/manifest.py:27
+#: plinth/modules/mumble/__init__.py:35 plinth/modules/mumble/manifest.py:27
msgid "Mumble"
msgstr ""
-#: plinth/modules/mumble/__init__.py:36
+#: plinth/modules/mumble/__init__.py:37
msgid "Voice Chat"
msgstr ""
-#: plinth/modules/mumble/__init__.py:45
+#: plinth/modules/mumble/__init__.py:44
msgid ""
"Mumble is an open source, low-latency, encrypted, high quality voice chat "
"software."
msgstr ""
-#: plinth/modules/mumble/__init__.py:47
+#: plinth/modules/mumble/__init__.py:46
msgid ""
"You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your "
@@ -2471,7 +2464,7 @@ msgstr ""
msgid "Networks"
msgstr ""
-#: plinth/modules/networks/__init__.py:142
+#: plinth/modules/networks/__init__.py:144
#, python-brace-format
msgid "Using DNSSEC on IPv{kind}"
msgstr ""
@@ -2898,7 +2891,7 @@ msgstr ""
#: plinth/modules/networks/templates/connection_show.html:186
#: plinth/modules/networks/templates/connection_show.html:227
-#: plinth/modules/shadowsocks/forms.py:75
+#: plinth/modules/shadowsocks/forms.py:65
msgid "Method"
msgstr ""
@@ -3020,15 +3013,15 @@ msgstr ""
msgid "Create..."
msgstr ""
-#: plinth/modules/openvpn/__init__.py:40
+#: plinth/modules/openvpn/__init__.py:39
msgid "OpenVPN"
msgstr ""
-#: plinth/modules/openvpn/__init__.py:42
+#: plinth/modules/openvpn/__init__.py:41
msgid "Virtual Private Network"
msgstr ""
-#: plinth/modules/openvpn/__init__.py:46
+#: plinth/modules/openvpn/__init__.py:45
#, python-brace-format
msgid ""
"Virtual Private Network (VPN) is a technique for securely connecting two "
@@ -3039,7 +3032,7 @@ msgid ""
"security and anonymity."
msgstr ""
-#: plinth/modules/openvpn/__init__.py:74
+#: plinth/modules/openvpn/__init__.py:75
#, python-brace-format
msgid ""
"Download Profile"
@@ -3104,11 +3097,11 @@ msgstr ""
msgid "OpenVPN server is not running"
msgstr ""
-#: plinth/modules/openvpn/views.py:128
+#: plinth/modules/openvpn/views.py:126
msgid "Setup completed."
msgstr ""
-#: plinth/modules/openvpn/views.py:130
+#: plinth/modules/openvpn/views.py:128
msgid "Setup failed."
msgstr ""
@@ -3178,7 +3171,7 @@ msgid ""
"pagekite.net server."
msgstr ""
-#: plinth/modules/pagekite/forms.py:78 plinth/modules/shadowsocks/forms.py:64
+#: plinth/modules/pagekite/forms.py:78 plinth/modules/shadowsocks/forms.py:57
msgid "Server port"
msgstr ""
@@ -3378,47 +3371,47 @@ msgstr ""
msgid "Save Services"
msgstr ""
-#: plinth/modules/pagekite/utils.py:53
+#: plinth/modules/pagekite/utils.py:57
msgid "Web Server (HTTP)"
msgstr ""
-#: plinth/modules/pagekite/utils.py:54
+#: plinth/modules/pagekite/utils.py:59
#, python-brace-format
msgid "Site will be available at http://{0}"
msgstr ""
-#: plinth/modules/pagekite/utils.py:63
+#: plinth/modules/pagekite/utils.py:71
msgid "Web Server (HTTPS)"
msgstr ""
-#: plinth/modules/pagekite/utils.py:64
+#: plinth/modules/pagekite/utils.py:73
#, python-brace-format
msgid "Site will be available at https://{0}"
msgstr ""
-#: plinth/modules/pagekite/utils.py:73
+#: plinth/modules/pagekite/utils.py:85
msgid "Secure Shell (SSH)"
msgstr ""
-#: plinth/modules/pagekite/utils.py:74
+#: plinth/modules/pagekite/utils.py:87
msgid ""
"See SSH client setup instructions"
msgstr ""
-#: plinth/modules/pagekite/utils.py:276
+#: plinth/modules/pagekite/utils.py:288
msgid "Pagekite"
msgstr ""
-#: plinth/modules/pagekite/views.py:39
+#: plinth/modules/pagekite/views.py:40
msgid "Standard Services"
msgstr ""
-#: plinth/modules/pagekite/views.py:42
+#: plinth/modules/pagekite/views.py:44
msgid "Custom Services"
msgstr ""
-#: plinth/modules/pagekite/views.py:156
+#: plinth/modules/pagekite/views.py:158
msgid "Pagekite setup finished. The HTTP and HTTPS services are activated now."
msgstr ""
@@ -3479,22 +3472,22 @@ msgstr ""
msgid "Shut Down Now"
msgstr ""
-#: plinth/modules/privoxy/__init__.py:41
+#: plinth/modules/privoxy/__init__.py:42
msgid "Privoxy"
msgstr ""
-#: plinth/modules/privoxy/__init__.py:43
+#: plinth/modules/privoxy/__init__.py:44
msgid "Web Proxy"
msgstr ""
-#: plinth/modules/privoxy/__init__.py:46
+#: plinth/modules/privoxy/__init__.py:47
msgid ""
"Privoxy is a non-caching web proxy with advanced filtering capabilities for "
"enhancing privacy, modifying web page data and HTTP headers, controlling "
"access, and removing ads and other obnoxious Internet junk. "
msgstr ""
-#: plinth/modules/privoxy/__init__.py:51
+#: plinth/modules/privoxy/__init__.py:52
#, python-brace-format
msgid ""
"You can use Privoxy by modifying your browser proxy settings to your "
@@ -3504,20 +3497,20 @@ msgid ""
"\">http://p.p."
msgstr ""
-#: plinth/modules/privoxy/__init__.py:157
+#: plinth/modules/privoxy/__init__.py:142
#, python-brace-format
msgid "Access {url} with proxy {proxy} on tcp{kind}"
msgstr ""
-#: plinth/modules/quassel/__init__.py:41 plinth/modules/quassel/manifest.py:25
+#: plinth/modules/quassel/__init__.py:40 plinth/modules/quassel/manifest.py:25
msgid "Quassel"
msgstr ""
-#: plinth/modules/quassel/__init__.py:43
+#: plinth/modules/quassel/__init__.py:42
msgid "IRC Client"
msgstr ""
-#: plinth/modules/quassel/__init__.py:47
+#: plinth/modules/quassel/__init__.py:46
#, python-brace-format
msgid ""
"Quassel is an IRC application that is split into two parts, a \"core\" and a "
@@ -3528,7 +3521,7 @@ msgid ""
"connect and disconnect from it."
msgstr ""
-#: plinth/modules/quassel/__init__.py:54
+#: plinth/modules/quassel/__init__.py:53
msgid ""
"You can connect to your Quassel core on the default Quassel port 4242. "
"Clients to connect to Quassel from your Jitsi (for computers) and (for Android phones)."
msgstr ""
-#: plinth/modules/repro/__init__.py:53
+#: plinth/modules/repro/__init__.py:55
msgid ""
"Note: Before using repro, domains and users will need to "
"be configured using the web-based "
@@ -3675,15 +3668,15 @@ msgstr ""
msgid "CSipSimple"
msgstr ""
-#: plinth/modules/restore/__init__.py:36 plinth/modules/restore/manifest.py:23
+#: plinth/modules/restore/__init__.py:37 plinth/modules/restore/manifest.py:23
msgid "reStore"
msgstr ""
-#: plinth/modules/restore/__init__.py:38
+#: plinth/modules/restore/__init__.py:39
msgid "Unhosted Storage"
msgstr ""
-#: plinth/modules/restore/__init__.py:42
+#: plinth/modules/restore/__init__.py:43
#, python-brace-format
msgid ""
"reStore is a server for unhosted web "
@@ -3693,22 +3686,22 @@ msgid ""
"becomes your unhosted storage server."
msgstr ""
-#: plinth/modules/restore/__init__.py:48
+#: plinth/modules/restore/__init__.py:49
msgid ""
"You can create and edit accounts in the reStore web-"
"interface."
msgstr ""
-#: plinth/modules/roundcube/__init__.py:34
+#: plinth/modules/roundcube/__init__.py:35
#: plinth/modules/roundcube/manifest.py:24
msgid "Roundcube"
msgstr ""
-#: plinth/modules/roundcube/__init__.py:36
+#: plinth/modules/roundcube/__init__.py:37
msgid "Email Client"
msgstr ""
-#: plinth/modules/roundcube/__init__.py:39
+#: plinth/modules/roundcube/__init__.py:40
msgid ""
"Roundcube webmail is a browser-based multilingual IMAP client with an "
"application-like user interface. It provides full functionality you expect "
@@ -3716,7 +3709,7 @@ msgid ""
"manipulation, message searching and spell checking."
msgstr ""
-#: plinth/modules/roundcube/__init__.py:44
+#: plinth/modules/roundcube/__init__.py:45
msgid ""
"You can access Roundcube from /roundcube. Provide "
"the username and password of the email account you wish to access followed "
@@ -3725,7 +3718,7 @@ msgid ""
"server field like imaps://imap.example.com."
msgstr ""
-#: plinth/modules/roundcube/__init__.py:50
+#: plinth/modules/roundcube/__init__.py:51
msgid ""
"For Gmail, username will be your Gmail address, password will be your Google "
"account password and server will be imaps://imap.gmail.com. "
@@ -3787,12 +3780,12 @@ msgstr ""
msgid "Allow this application to be used by anyone who can reach it."
msgstr ""
-#: plinth/modules/searx/views.py:60 plinth/modules/searx/views.py:71
-#: plinth/modules/tor/views.py:139 plinth/modules/tor/views.py:168
+#: plinth/modules/searx/views.py:59 plinth/modules/searx/views.py:70
+#: plinth/modules/tor/views.py:141 plinth/modules/tor/views.py:168
msgid "Configuration updated."
msgstr ""
-#: plinth/modules/searx/views.py:63 plinth/modules/searx/views.py:74
+#: plinth/modules/searx/views.py:62 plinth/modules/searx/views.py:73
#: plinth/modules/tor/views.py:170
msgid "An error occurred during configuration."
msgstr ""
@@ -3847,22 +3840,22 @@ msgid ""
"account, which you will need to setup on the initial visit."
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:34
+#: plinth/modules/shadowsocks/__init__.py:35
msgid "Shadowsocks"
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:36
+#: plinth/modules/shadowsocks/__init__.py:37
msgid "Socks5 Proxy"
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:45
+#: plinth/modules/shadowsocks/__init__.py:44
msgid ""
"Shadowsocks is a lightweight and secure SOCKS5 proxy, designed to protect "
"your Internet traffic. It can be used to bypass Internet filtering and "
"censorship."
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:49
+#: plinth/modules/shadowsocks/__init__.py:48
#, python-brace-format
msgid ""
"Your {box_name} can run a Shadowsocks client, that can connect to a "
@@ -3871,34 +3864,34 @@ msgid ""
"the Shadowsocks server."
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:54
+#: plinth/modules/shadowsocks/__init__.py:53
msgid ""
"To use Shadowsocks after setup, set the SOCKS5 proxy URL in your device, "
"browser or application to http://freedombox_address:1080/"
msgstr ""
+#: plinth/modules/shadowsocks/forms.py:28
#: plinth/modules/shadowsocks/forms.py:29
-#: plinth/modules/shadowsocks/forms.py:30
msgid "Recommended"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:60
+#: plinth/modules/shadowsocks/forms.py:54
msgid "Server"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:61
+#: plinth/modules/shadowsocks/forms.py:54
msgid "Server hostname or IP address"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:67
+#: plinth/modules/shadowsocks/forms.py:58
msgid "Server port number"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:71
+#: plinth/modules/shadowsocks/forms.py:61
msgid "Password used to encrypt data. Must match server password."
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:77
+#: plinth/modules/shadowsocks/forms.py:66
msgid "Encryption method. Must match setting on server."
msgstr ""
@@ -4156,7 +4149,7 @@ msgstr ""
msgid "Storage snapshots configuration updated"
msgstr ""
-#: plinth/modules/snapshot/views.py:153 plinth/modules/tor/views.py:72
+#: plinth/modules/snapshot/views.py:153 plinth/modules/tor/views.py:73
#, python-brace-format
msgid "Action error: {0} [{1}] [{2}]"
msgstr ""
@@ -4186,11 +4179,11 @@ msgstr ""
msgid "Rollback to Snapshot"
msgstr ""
-#: plinth/modules/ssh/__init__.py:39
+#: plinth/modules/ssh/__init__.py:40
msgid "Secure Shell (SSH) Server"
msgstr ""
-#: plinth/modules/ssh/__init__.py:42
+#: plinth/modules/ssh/__init__.py:43
msgid ""
"A Secure Shell server uses the secure shell protocol to accept connections "
"from remote computers. An authorized remote computer can perform "
@@ -4206,11 +4199,11 @@ msgstr ""
msgid "Login"
msgstr ""
-#: plinth/modules/storage/__init__.py:36 plinth/modules/storage/views.py:53
+#: plinth/modules/storage/__init__.py:35 plinth/modules/storage/views.py:53
msgid "Storage"
msgstr ""
-#: plinth/modules/storage/__init__.py:44
+#: plinth/modules/storage/__init__.py:43
#, python-brace-format
msgid ""
"This module allows you to manage storage media attached to your {box_name}. "
@@ -4218,80 +4211,80 @@ msgid ""
"media, expand the root partition etc."
msgstr ""
-#: plinth/modules/storage/__init__.py:211
+#: plinth/modules/storage/__init__.py:213
#, python-brace-format
msgid "{disk_size:.1f} bytes"
msgstr ""
-#: plinth/modules/storage/__init__.py:215
+#: plinth/modules/storage/__init__.py:217
#, python-brace-format
msgid "{disk_size:.1f} KiB"
msgstr ""
-#: plinth/modules/storage/__init__.py:219
+#: plinth/modules/storage/__init__.py:221
#, python-brace-format
msgid "{disk_size:.1f} MiB"
msgstr ""
-#: plinth/modules/storage/__init__.py:223
+#: plinth/modules/storage/__init__.py:225
#, python-brace-format
msgid "{disk_size:.1f} GiB"
msgstr ""
-#: plinth/modules/storage/__init__.py:226
+#: plinth/modules/storage/__init__.py:228
#, python-brace-format
msgid "{disk_size:.1f} TiB"
msgstr ""
-#: plinth/modules/storage/__init__.py:233
+#: plinth/modules/storage/__init__.py:235
msgid "The operation failed."
msgstr ""
-#: plinth/modules/storage/__init__.py:235
+#: plinth/modules/storage/__init__.py:237
msgid "The operation was cancelled."
msgstr ""
-#: plinth/modules/storage/__init__.py:237
+#: plinth/modules/storage/__init__.py:239
msgid "The device is already unmounting."
msgstr ""
-#: plinth/modules/storage/__init__.py:239
+#: plinth/modules/storage/__init__.py:241
msgid "The operation is not supported due to missing driver/tool support."
msgstr ""
-#: plinth/modules/storage/__init__.py:242
+#: plinth/modules/storage/__init__.py:244
msgid "The operation timed out."
msgstr ""
-#: plinth/modules/storage/__init__.py:244
+#: plinth/modules/storage/__init__.py:246
msgid "The operation would wake up a disk that is in a deep-sleep state."
msgstr ""
-#: plinth/modules/storage/__init__.py:247
+#: plinth/modules/storage/__init__.py:249
msgid "Attempting to unmount a device that is busy."
msgstr ""
-#: plinth/modules/storage/__init__.py:249
+#: plinth/modules/storage/__init__.py:251
msgid "The operation has already been cancelled."
msgstr ""
-#: plinth/modules/storage/__init__.py:255
+#: plinth/modules/storage/__init__.py:257
msgid "Not authorized to perform the requested operation."
msgstr ""
-#: plinth/modules/storage/__init__.py:257
+#: plinth/modules/storage/__init__.py:259
msgid "The device is already mounted."
msgstr ""
-#: plinth/modules/storage/__init__.py:259
+#: plinth/modules/storage/__init__.py:261
msgid "The device is not mounted."
msgstr ""
-#: plinth/modules/storage/__init__.py:262
+#: plinth/modules/storage/__init__.py:264
msgid "Not permitted to use the requested option."
msgstr ""
-#: plinth/modules/storage/__init__.py:265
+#: plinth/modules/storage/__init__.py:267
msgid "The device is mounted by another user."
msgstr ""
@@ -4367,16 +4360,16 @@ msgstr ""
msgid "Error ejecting device: {error_message}"
msgstr ""
-#: plinth/modules/syncthing/__init__.py:38
+#: plinth/modules/syncthing/__init__.py:40
#: plinth/modules/syncthing/manifest.py:28
msgid "Syncthing"
msgstr ""
-#: plinth/modules/syncthing/__init__.py:40
+#: plinth/modules/syncthing/__init__.py:42
msgid "File Synchronization"
msgstr ""
-#: plinth/modules/syncthing/__init__.py:43
+#: plinth/modules/syncthing/__init__.py:45
msgid ""
"Syncthing is an application to synchronize files across multiple devices, e."
"g. your desktop computer and mobile phone. Creation, modification, or "
@@ -4384,7 +4377,7 @@ msgid ""
"other devices that also run Syncthing."
msgstr ""
-#: plinth/modules/syncthing/__init__.py:48
+#: plinth/modules/syncthing/__init__.py:50
#, python-brace-format
msgid ""
"Running Syncthing on {box_name} provides an extra synchronization point for "
@@ -4395,26 +4388,26 @@ msgid ""
"{box_name} is only available for users belonging to the \"admin\" group."
msgstr ""
-#: plinth/modules/syncthing/__init__.py:55
+#: plinth/modules/syncthing/__init__.py:57
msgid ""
"When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile clients are also available."
msgstr ""
-#: plinth/modules/syncthing/__init__.py:62
+#: plinth/modules/syncthing/__init__.py:64
msgid "Administer Syncthing application"
msgstr ""
-#: plinth/modules/tahoe/__init__.py:41
+#: plinth/modules/tahoe/__init__.py:43
msgid "Tahoe-LAFS"
msgstr ""
-#: plinth/modules/tahoe/__init__.py:43
+#: plinth/modules/tahoe/__init__.py:45
msgid "Distributed File Storage"
msgstr ""
-#: plinth/modules/tahoe/__init__.py:107
+#: plinth/modules/tahoe/__init__.py:119
msgid ""
"Tahoe-LAFS is a decentralized secure file storage system. It uses provider "
"independent security to store files over a distributed network of storage "
@@ -4422,7 +4415,7 @@ msgid ""
"remaining nodes."
msgstr ""
-#: plinth/modules/tahoe/__init__.py:112
+#: plinth/modules/tahoe/__init__.py:124
#, python-brace-format
msgid ""
"This {box_name} hosts a storage node and an introducer by default. "
@@ -4465,11 +4458,11 @@ msgstr ""
msgid "Remove"
msgstr ""
-#: plinth/modules/tor/__init__.py:43
+#: plinth/modules/tor/__init__.py:46
msgid "Tor"
msgstr ""
-#: plinth/modules/tor/__init__.py:48
+#: plinth/modules/tor/__init__.py:51
msgid ""
"Tor is an anonymous communication system. You can learn more about it from "
"the Tor Project website. For "
@@ -4478,40 +4471,36 @@ msgid ""
"\">Tor Browser."
msgstr ""
-#: plinth/modules/tor/__init__.py:93
+#: plinth/modules/tor/__init__.py:80
msgid "Tor Socks Proxy"
msgstr ""
-#: plinth/modules/tor/__init__.py:99 plinth/modules/tor/__init__.py:146
+#: plinth/modules/tor/__init__.py:84
msgid "Tor Bridge Relay"
msgstr ""
-#: plinth/modules/tor/__init__.py:120 plinth/modules/tor/__init__.py:188
+#: plinth/modules/tor/__init__.py:122 plinth/modules/tor/__init__.py:150
msgid "Tor Hidden Service"
msgstr ""
-#: plinth/modules/tor/__init__.py:136
-msgid "Tor Anonymity Network"
-msgstr ""
-
-#: plinth/modules/tor/__init__.py:208
+#: plinth/modules/tor/__init__.py:170
msgid "Tor relay port available"
msgstr ""
-#: plinth/modules/tor/__init__.py:218
+#: plinth/modules/tor/__init__.py:180
msgid "Obfs3 transport registered"
msgstr ""
-#: plinth/modules/tor/__init__.py:226
+#: plinth/modules/tor/__init__.py:188
msgid "Obfs4 transport registered"
msgstr ""
-#: plinth/modules/tor/__init__.py:265
+#: plinth/modules/tor/__init__.py:227
#, python-brace-format
msgid "Access URL {url} on tcp{kind} via Tor"
msgstr ""
-#: plinth/modules/tor/__init__.py:276
+#: plinth/modules/tor/__init__.py:238
#, python-brace-format
msgid "Confirm Tor usage at {url} on tcp{kind}"
msgstr ""
@@ -4645,18 +4634,18 @@ msgstr ""
msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050."
msgstr ""
-#: plinth/modules/transmission/__init__.py:39
+#: plinth/modules/transmission/__init__.py:41
#: plinth/modules/transmission/manifest.py:24
msgid "Transmission"
msgstr ""
-#: plinth/modules/transmission/__init__.py:44
+#: plinth/modules/transmission/__init__.py:46
msgid ""
"BitTorrent is a peer-to-peer file sharing protocol. Transmission daemon "
"handles Bitorrent file sharing. Note that BitTorrent is not anonymous."
msgstr ""
-#: plinth/modules/transmission/__init__.py:47
+#: plinth/modules/transmission/__init__.py:49
msgid ""
"Access the web interface at /transmission."
msgstr ""
@@ -4672,22 +4661,22 @@ msgid ""
"\" user."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:41 plinth/modules/ttrss/manifest.py:34
+#: plinth/modules/ttrss/__init__.py:43 plinth/modules/ttrss/manifest.py:34
msgid "Tiny Tiny RSS"
msgstr ""
-#: plinth/modules/ttrss/__init__.py:43
+#: plinth/modules/ttrss/__init__.py:45
msgid "News Feed Reader"
msgstr ""
-#: plinth/modules/ttrss/__init__.py:46
+#: plinth/modules/ttrss/__init__.py:48
msgid ""
"Tiny Tiny RSS is a news feed (RSS/Atom) reader and aggregator, designed to "
"allow reading news from any location, while feeling as close to a real "
"desktop application as possible."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:50
+#: plinth/modules/ttrss/__init__.py:52
#, python-brace-format
msgid ""
"When enabled, Tiny Tiny RSS will be available from /tt-"
@@ -4695,13 +4684,13 @@ msgid ""
"\"{users_url}\">user with a {box_name} login."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:55
+#: plinth/modules/ttrss/__init__.py:57
msgid ""
"When using a mobile or desktop application for Tiny Tiny RSS, use the URL /tt-rss-app for connecting."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:61
+#: plinth/modules/ttrss/__init__.py:63
msgid "Read and subscribe to news feeds"
msgstr ""
@@ -4709,11 +4698,11 @@ msgstr ""
msgid "Tiny Tiny RSS (Fork)"
msgstr ""
-#: plinth/modules/upgrades/__init__.py:36 plinth/templates/setup.html:101
+#: plinth/modules/upgrades/__init__.py:35 plinth/templates/setup.html:101
msgid "Update"
msgstr ""
-#: plinth/modules/upgrades/__init__.py:39
+#: plinth/modules/upgrades/__init__.py:38
msgid "Check for and apply the latest software and security updates."
msgstr ""
@@ -4748,32 +4737,32 @@ msgstr ""
msgid "Auto-update"
msgstr ""
-#: plinth/modules/upgrades/views.py:39
+#: plinth/modules/upgrades/views.py:40
msgid "Manual update"
msgstr ""
-#: plinth/modules/upgrades/views.py:78
+#: plinth/modules/upgrades/views.py:79
#, python-brace-format
msgid "Error when configuring unattended-upgrades: {error}"
msgstr ""
-#: plinth/modules/upgrades/views.py:82
+#: plinth/modules/upgrades/views.py:83
msgid "Automatic upgrades enabled"
msgstr ""
-#: plinth/modules/upgrades/views.py:85
+#: plinth/modules/upgrades/views.py:86
msgid "Automatic upgrades disabled"
msgstr ""
-#: plinth/modules/upgrades/views.py:87
+#: plinth/modules/upgrades/views.py:88
msgid "Settings unchanged"
msgstr ""
-#: plinth/modules/upgrades/views.py:113
+#: plinth/modules/upgrades/views.py:114
msgid "Upgrade process started."
msgstr ""
-#: plinth/modules/upgrades/views.py:116
+#: plinth/modules/upgrades/views.py:117
msgid "Starting upgrade failed."
msgstr ""
@@ -4781,7 +4770,7 @@ msgstr ""
msgid "Users and Groups"
msgstr ""
-#: plinth/modules/users/__init__.py:106
+#: plinth/modules/users/__init__.py:108
#, python-brace-format
msgid "Check LDAP entry \"{search_item}\""
msgstr ""
@@ -4993,15 +4982,6 @@ msgstr ""
msgid "configuration file: {file}"
msgstr ""
-#: plinth/service.py:140
-msgid "Web Server over Secure Socket Layer"
-msgstr ""
-
-#: plinth/service.py:145
-#, python-brace-format
-msgid "{box_name} Web Interface (Plinth)"
-msgstr ""
-
#: plinth/templates/403.html:25
msgid "403 Forbidden"
msgstr ""
@@ -5200,16 +5180,16 @@ msgstr ""
msgid "Mailing list"
msgstr ""
-#: plinth/templates/internal-zone.html:25
+#: plinth/templates/internal-zone.html:26
#, python-format
msgid "%(service_name)s is available only on internal networks."
msgstr ""
-#: plinth/templates/internal-zone.html:31
+#: plinth/templates/internal-zone.html:32
msgid "Currently there are no network interfaces configured as internal."
msgstr ""
-#: plinth/templates/internal-zone.html:33
+#: plinth/templates/internal-zone.html:34
#, python-format
msgid ""
"Currently the following network interfaces are configured as internal: "
@@ -5272,6 +5252,14 @@ msgstr ""
msgid "%(percentage)s%% complete"
msgstr ""
+#: plinth/views.py:178
+msgid "Application enabled"
+msgstr ""
+
+#: plinth/views.py:181
+msgid "Application disabled"
+msgstr ""
+
#: plinth/web_framework.py:186
msgid "Gujarati"
msgstr ""
diff --git a/plinth/locale/te/LC_MESSAGES/django.po b/plinth/locale/te/LC_MESSAGES/django.po
index 86109c9cb..2b1b70c68 100644
--- a/plinth/locale/te/LC_MESSAGES/django.po
+++ b/plinth/locale/te/LC_MESSAGES/django.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: FreedomBox UI\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-06-10 19:02-0400\n"
+"POT-Creation-Date: 2019-06-24 19:48-0400\n"
"PO-Revision-Date: 2019-05-13 23:19+0000\n"
"Last-Translator: Joseph Nuthalapati \n"
"Language-Team: Telugu /"
@@ -530,14 +541,14 @@ msgstr ""
"ద్వారా పొందవచ్చు {box_name}.\n"
"అంగీకార సమాచారం మరియు సిస్టమ్ మార్చడం సామర్ధ్యాలు నిర్వాహక సమూహం చెందిన వినియోగదారులకు పరిమితం."
-#: plinth/modules/config/__init__.py:59 plinth/modules/dynamicdns/views.py:44
+#: plinth/modules/config/__init__.py:61 plinth/modules/dynamicdns/views.py:45
#: plinth/modules/i2p/views.py:31 plinth/modules/ikiwiki/views.py:35
#: plinth/modules/pagekite/views.py:36 plinth/modules/snapshot/views.py:40
#: plinth/modules/tahoe/templates/tahoe-pre-setup.html:39
msgid "Configure"
msgstr "ఆకృతీకరణ"
-#: plinth/modules/config/__init__.py:164 plinth/modules/config/forms.py:76
+#: plinth/modules/config/__init__.py:166 plinth/modules/config/forms.py:76
#: plinth/modules/config/views.py:171 plinth/modules/dynamicdns/forms.py:111
msgid "Domain Name"
msgstr "డొమైను పేరు"
@@ -621,8 +632,8 @@ msgstr ""
#: plinth/modules/power/templates/power_restart.html:42
#: plinth/modules/power/templates/power_shutdown.html:41
#: plinth/modules/storage/templates/storage.html:48
-#: plinth/templates/service-subsubmenu.html:47 plinth/templates/service.html:42
-#: plinth/templates/setup.html:48 plinth/templates/simple_service.html:38
+#: plinth/templates/app-subsubmenu.html:47 plinth/templates/app.html:42
+#: plinth/templates/setup.html:48 plinth/templates/simple_app.html:38
msgid "Learn more..."
msgstr "మరింత తెలుసుకోండి.."
@@ -672,15 +683,15 @@ msgstr ""
msgid "Hiding advanced apps and features"
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:38
+#: plinth/modules/coquelicot/__init__.py:40
msgid "Coquelicot"
msgstr "కోక్లికో"
-#: plinth/modules/coquelicot/__init__.py:40
+#: plinth/modules/coquelicot/__init__.py:42
msgid "File Sharing"
msgstr "ఫైలు పంచుకొనుట"
-#: plinth/modules/coquelicot/__init__.py:43
+#: plinth/modules/coquelicot/__init__.py:45
msgid ""
"Coquelicot is a “one-click” file sharing web application with a focus on "
"protecting users’ privacy. It is best used for quickly sharing a single "
@@ -689,7 +700,7 @@ msgstr ""
"కోక్యూలికట్ అనేది వినియోగదారుని గోప్యతా కేంద్రీకృతమై \"ఒకే క్లిక్ విధానం\" తో నిర్మించబడిన ఫైల్స్ పంచుకునే వెబ్ "
"అప్లికేషన్. త్వరిత గతిన ఫైలు పంచుకోడానికి ఇది బాగా ఉపయోగపడుతుంది "
-#: plinth/modules/coquelicot/__init__.py:46
+#: plinth/modules/coquelicot/__init__.py:48
msgid ""
"This Coquelicot instance is exposed to the public but requires an upload "
"password to prevent unauthorized access. You can set a new upload password "
@@ -721,19 +732,19 @@ msgstr "కోక్యూలికట్ లోకి అప్లోడ్ చ
msgid "coquelicot"
msgstr "కోక్లికో"
-#: plinth/modules/coquelicot/views.py:57
+#: plinth/modules/coquelicot/views.py:59
msgid "Upload password updated"
msgstr "అప్లోడ్ చేయడం కోసమై కేటాయించిన రహస్యపదం నవీకరించబడింది"
-#: plinth/modules/coquelicot/views.py:60
+#: plinth/modules/coquelicot/views.py:62
msgid "Failed to update upload password"
msgstr "అప్లోడ్ చేయడం కోసమై కేటాయించిన రహస్యపదం నవీకరించడంలో వైఫల్యం"
-#: plinth/modules/coquelicot/views.py:68
+#: plinth/modules/coquelicot/views.py:70
msgid "Maximum file size updated"
msgstr "గరిష్ట ఫైలు పరిమాణం నవీకరించబడింది"
-#: plinth/modules/coquelicot/views.py:71
+#: plinth/modules/coquelicot/views.py:73
msgid "Failed to update maximum file size"
msgstr "గరిష్ట ఫైలు పరిమాణము మార్చుట విఫలమయ్యెను"
@@ -749,22 +760,22 @@ msgstr ""
"నెట్వర్క్ టైమ్ సర్వర్ మీ కంప్యూటర్ లోని సమయాన్ని ఇంటర్నెట్లో ఉన్న సమయానికి సమకాలీకరించడానికి ఉపయోగపడే ఒక "
"ప్రోగ్రాం."
-#: plinth/modules/datetime/__init__.py:107
+#: plinth/modules/datetime/__init__.py:99
msgid "Time synchronized to NTP server"
msgstr ""
-#: plinth/modules/datetime/forms.py:36
+#: plinth/modules/datetime/forms.py:35
msgid "Time Zone"
msgstr "సమయమండలం"
-#: plinth/modules/datetime/forms.py:37
+#: plinth/modules/datetime/forms.py:36
msgid ""
"Set your time zone to get accurate timestamps. This will set the system-wide "
"time zone."
msgstr ""
"ఖచ్ఛితమైన సమయముద్ర పొందుటకు మీ సమయమండలాన్ని అమర్చండి. ఇది వ్యవస్థాపరమైన సమయ మండలాన్ని అమరుస్తుంది."
-#: plinth/modules/datetime/forms.py:49
+#: plinth/modules/datetime/forms.py:47
msgid "-- no time zone set --"
msgstr "-- ఏ సమయమండలం అమర్చలేదు --"
@@ -782,7 +793,7 @@ msgid "Deluge"
msgstr "డెలూజ్"
#: plinth/modules/deluge/__init__.py:41
-#: plinth/modules/transmission/__init__.py:41
+#: plinth/modules/transmission/__init__.py:43
msgid "BitTorrent Web Client"
msgstr "బిట్ టోరెంట్ క్లైంట్"
@@ -801,7 +812,7 @@ msgstr ""
"పాస్వర్డ్ ను మార్చుకోవాలి."
#: plinth/modules/deluge/__init__.py:51
-#: plinth/modules/transmission/__init__.py:54
+#: plinth/modules/transmission/__init__.py:56
msgid "Download files using BitTorrent applications"
msgstr "బిట్ టోరెంట్ అనువర్తనాలను ఉపయోగించి ఫైళ్లను డౌన్లోడ్ చేయండి"
@@ -865,12 +876,12 @@ msgstr "పరీక్ష"
msgid "Result"
msgstr "ఫలితం"
-#: plinth/modules/diaspora/__init__.py:52
+#: plinth/modules/diaspora/__init__.py:54
#: plinth/modules/diaspora/manifest.py:38
msgid "diaspora*"
msgstr "డయాస్పొరా"
-#: plinth/modules/diaspora/__init__.py:54
+#: plinth/modules/diaspora/__init__.py:56
msgid "Federated Social Network"
msgstr "సమాఖ్య సామాజిక నెట్వర్క్"
@@ -924,22 +935,22 @@ msgstr ""
#: plinth/modules/tahoe/templates/tahoe-pre-setup.html:58
#: plinth/modules/tor/templates/tor.html:96
#: plinth/modules/upgrades/templates/upgrades_configure.html:32
-#: plinth/templates/service.html:89
+#: plinth/templates/app.html:89
msgid "Update setup"
msgstr "అమరికను నవీకరించు"
-#: plinth/modules/diaspora/views.py:97 plinth/modules/ejabberd/views.py:64
-#: plinth/modules/matrixsynapse/views.py:107
-#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:150
-#: plinth/modules/tor/views.py:146 plinth/views.py:160
+#: plinth/modules/diaspora/views.py:94 plinth/modules/ejabberd/views.py:65
+#: plinth/modules/matrixsynapse/views.py:108
+#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:148
+#: plinth/modules/tor/views.py:148 plinth/views.py:174
msgid "Setting unchanged"
msgstr "మారకుండా అమర్చుతోంది"
-#: plinth/modules/diaspora/views.py:101
+#: plinth/modules/diaspora/views.py:98
msgid "User registrations enabled"
msgstr "వినియోగదారుల నమోదు అనుమతించబడినది"
-#: plinth/modules/diaspora/views.py:105
+#: plinth/modules/diaspora/views.py:102
msgid "User registrations disabled"
msgstr "కొత్త వినియోగదారుల నమోదు నిలిపివేయబడినది"
@@ -974,8 +985,8 @@ msgstr ""
"అనుమతిస్తుంది. తరువాత, సర్వర్ కొత్త IP మీ DNS పేరు కేటాయిస్తుంది, మరియు ఇంటర్నెట్ నుండి ఎవరైనా మీ "
"DNS పేరు అడుగుతాడు ఉంటే, వారు మీ ప్రస్తుత ఐ.పీ. చిరునామాతో సమాధానం పొందుతారు."
-#: plinth/modules/dynamicdns/__init__.py:85
-#: plinth/modules/dynamicdns/views.py:167
+#: plinth/modules/dynamicdns/__init__.py:87
+#: plinth/modules/dynamicdns/views.py:169
msgid "Dynamic DNS Service"
msgstr "గతిక DNS క్లైంట్"
@@ -1076,7 +1087,7 @@ msgid "Username"
msgstr "వినియోగి పేరు"
#: plinth/modules/dynamicdns/forms.py:121 plinth/modules/networks/forms.py:235
-#: plinth/modules/shadowsocks/forms.py:70
+#: plinth/modules/shadowsocks/forms.py:61
msgid "Password"
msgstr "రహస్యపదం"
@@ -1170,39 +1181,39 @@ msgstr ""
msgid "Last update"
msgstr "చివరి నవీకరణ"
-#: plinth/modules/dynamicdns/views.py:41 plinth/modules/help/help.py:57
+#: plinth/modules/dynamicdns/views.py:41 plinth/modules/help/help.py:59
msgid "About"
msgstr "గురించి"
-#: plinth/modules/dynamicdns/views.py:47
+#: plinth/modules/dynamicdns/views.py:49
#: plinth/modules/firewall/templates/firewall.html:25
#: plinth/modules/firewall/templates/firewall.html:45
#: plinth/modules/i2p/templates/i2p.html:27
#: plinth/modules/networks/templates/connection_show.html:261
#: plinth/modules/openvpn/templates/openvpn.html:71
#: plinth/modules/tor/templates/tor.html:40
-#: plinth/modules/tor/templates/tor.html:68 plinth/templates/service.html:51
+#: plinth/modules/tor/templates/tor.html:68 plinth/templates/app.html:51
msgid "Status"
msgstr "స్థితి"
-#: plinth/modules/dynamicdns/views.py:78
+#: plinth/modules/dynamicdns/views.py:80
msgid "Configure Dynamic DNS"
msgstr "చురుకైనDNS ఆకృతీకరించు"
-#: plinth/modules/dynamicdns/views.py:103
+#: plinth/modules/dynamicdns/views.py:105
msgid "Dynamic DNS Status"
msgstr "చలనశీల డి.ఎన్.ఎస్ స్థితి"
-#: plinth/modules/ejabberd/__init__.py:43
+#: plinth/modules/ejabberd/__init__.py:45
msgid "ejabberd"
msgstr "ఈజాబ్బర్డి"
-#: plinth/modules/ejabberd/__init__.py:45
-#: plinth/modules/matrixsynapse/__init__.py:43
+#: plinth/modules/ejabberd/__init__.py:47
+#: plinth/modules/matrixsynapse/__init__.py:45
msgid "Chat Server"
msgstr "కబుర్ల సేవిక"
-#: plinth/modules/ejabberd/__init__.py:48
+#: plinth/modules/ejabberd/__init__.py:50
msgid ""
"XMPP is an open and standardized communication protocol. Here you can run "
"and configure your XMPP server, called ejabberd."
@@ -1210,7 +1221,7 @@ msgstr ""
"XMPP ఓపెన్ మరియు ప్రామాణికమైన కమ్యూనికేషన్ ప్రోటోకాల్. ఇక్కడ మీరు మీ XMPP సర్వర్ ని రూపకరణ మరియు "
"అమలు చేయగలరు ejabberd అని ఆకృతీకరించవచ్చు."
-#: plinth/modules/ejabberd/__init__.py:51
+#: plinth/modules/ejabberd/__init__.py:53
#, fuzzy, python-brace-format
#| msgid ""
#| "To actually communicate, you can use the web client or any other XMPP క్లయింట్ ఉపయోగించవచ్చు."
-#: plinth/modules/ejabberd/forms.py:33
+#: plinth/modules/ejabberd/forms.py:32
msgid "Enable Message Archive Management"
msgstr "ప్రాచీన సందేశ నిర్వహణ ప్రారంభించండి"
-#: plinth/modules/ejabberd/forms.py:36
+#: plinth/modules/ejabberd/forms.py:34
#, python-brace-format
msgid ""
"If enabled, your {box_name} will store chat message histories. This allows "
@@ -1309,35 +1320,23 @@ msgstr "వెబ్ క్లయింట్ ని ప్రారంభిం
#: plinth/modules/openvpn/templates/openvpn.html:123
#: plinth/modules/snapshot/templates/snapshot.html:27
#: plinth/modules/tahoe/templates/tahoe-post-setup.html:43
-#: plinth/modules/tor/templates/tor.html:88 plinth/templates/service.html:81
+#: plinth/modules/tor/templates/tor.html:88 plinth/templates/app.html:81
msgid "Configuration"
msgstr "ఆకృతీకరణ"
-#: plinth/modules/ejabberd/views.py:68
-#: plinth/modules/matrixsynapse/views.py:111
-#: plinth/modules/mediawiki/views.py:79 plinth/views.py:164
-msgid "Application enabled"
-msgstr "అనువర్తనం ఆమోదింపబడింది"
-
-#: plinth/modules/ejabberd/views.py:71
-#: plinth/modules/matrixsynapse/views.py:114
-#: plinth/modules/mediawiki/views.py:82 plinth/views.py:167
-msgid "Application disabled"
-msgstr "అనువర్తనం ఆమోదింపబడలేదు"
-
-#: plinth/modules/ejabberd/views.py:78
+#: plinth/modules/ejabberd/views.py:77
msgid "Message Archive Management enabled"
msgstr "ప్రాచీన సందేశ నిర్వహణ ప్రారంభించబడింది"
-#: plinth/modules/ejabberd/views.py:82
+#: plinth/modules/ejabberd/views.py:81
msgid "Message Archive Management disabled"
msgstr "ప్రాచీన సందేశ నిర్వహణ నిలిపివేయబడింది"
-#: plinth/modules/firewall/__init__.py:40
+#: plinth/modules/firewall/__init__.py:36
msgid "Firewall"
msgstr "ఫైర్వాల్"
-#: plinth/modules/firewall/__init__.py:44
+#: plinth/modules/firewall/__init__.py:40
#, python-brace-format
msgid ""
"Firewall is a security system that controls the incoming and outgoing "
@@ -1452,29 +1451,29 @@ msgstr "అమరికను ప్రారంభించు"
msgid "Setup Complete"
msgstr "అమరక పూర్తయ్యింది"
-#: plinth/modules/help/help.py:44
+#: plinth/modules/help/help.py:46
msgid "Documentation"
msgstr "పత్రావళి"
-#: plinth/modules/help/help.py:48 plinth/modules/networks/forms.py:68
+#: plinth/modules/help/help.py:50 plinth/modules/networks/forms.py:68
#: plinth/modules/networks/forms.py:108 plinth/templates/index.html:135
msgid "Manual"
msgstr "కరదీపిక"
-#: plinth/modules/help/help.py:53
+#: plinth/modules/help/help.py:55
msgid "Download Manual"
msgstr "కరదీపికను దింపుకోండి"
-#: plinth/modules/help/help.py:73
+#: plinth/modules/help/help.py:75
msgid "Documentation and FAQ"
msgstr "పత్రావళి మరియు తరచూ అడిగే ప్రశ్నలు"
-#: plinth/modules/help/help.py:81
+#: plinth/modules/help/help.py:83
#, python-brace-format
msgid "About {box_name}"
msgstr "{box_name} గురించి"
-#: plinth/modules/help/help.py:102
+#: plinth/modules/help/help.py:104
#, python-brace-format
msgid "{box_name} Manual"
msgstr "{box_name} కరదీపిక"
@@ -1621,17 +1620,17 @@ msgstr ""
"బగ్ (తప్పుల) నివేదిక సమర్పించే ముందు దయచేసి లాగ్ నుండి ఏవైనా రహస్యపదాలను లేదా ఇతర వ్యక్తిగత సమాచారాన్ని "
"తొలగించగలరు."
-#: plinth/modules/i2p/__init__.py:40 plinth/modules/i2p/manifest.py:31
+#: plinth/modules/i2p/__init__.py:42 plinth/modules/i2p/manifest.py:31
msgid "I2P"
msgstr ""
-#: plinth/modules/i2p/__init__.py:42 plinth/modules/tor/__init__.py:45
+#: plinth/modules/i2p/__init__.py:44 plinth/modules/tor/__init__.py:48
#, fuzzy
#| msgid "Tor Anonymity Network"
msgid "Anonymity Network"
msgstr "టోర్ అనామిక నెట్వర్క్"
-#: plinth/modules/i2p/__init__.py:45
+#: plinth/modules/i2p/__init__.py:47
msgid ""
"The Invisible Internet Project is an anonymous network layer intended to "
"protect communication from censorship and surveillance. I2P provides "
@@ -1639,7 +1638,7 @@ msgid ""
"distributed around the world."
msgstr ""
-#: plinth/modules/i2p/__init__.py:49
+#: plinth/modules/i2p/__init__.py:51
#, fuzzy
#| msgid ""
#| "For more information about the %(box_name)s project, see the %(box_name)s వికీ ను దర్శించండి."
-#: plinth/modules/i2p/__init__.py:51
+#: plinth/modules/i2p/__init__.py:53
msgid ""
"The first visit to the provided web interface will initiate the "
"configuration process."
msgstr ""
-#: plinth/modules/i2p/__init__.py:57
+#: plinth/modules/i2p/__init__.py:59
#, fuzzy
#| msgid "Enable application"
msgid "Manage I2P application"
msgstr "అనువర్తనాన్ని చేతనించు"
-#: plinth/modules/i2p/templates/i2p.html:32 plinth/templates/service.html:56
+#: plinth/modules/i2p/templates/i2p.html:32 plinth/templates/app.html:56
#, fuzzy, python-format
#| msgid "Service discovery server is running"
msgid "Service %(service_name)s is running."
msgstr "సేవ ఆవిష్కరణ సేవికను నడుపుతోంది"
-#: plinth/modules/i2p/templates/i2p.html:37 plinth/templates/service.html:61
+#: plinth/modules/i2p/templates/i2p.html:37 plinth/templates/app.html:61
#, fuzzy, python-format
#| msgid "Service discovery server is not running"
msgid "Service %(service_name)s is not running."
msgstr "సేవ ఆవిష్కరణ సేవికను నడుపటంలేదు"
-#: plinth/modules/i2p/templates/i2p_service.html:13
+#: plinth/modules/i2p/templates/i2p_service.html:31
#: plinth/templates/clients.html:51
msgid "Launch"
msgstr "ప్రారంభించు"
@@ -1688,43 +1687,43 @@ msgstr ""
msgid "Anonymous torrents"
msgstr ""
-#: plinth/modules/i2p/views.py:86
+#: plinth/modules/i2p/views.py:88
msgid "I2P Proxies and Tunnels"
msgstr ""
-#: plinth/modules/i2p/views.py:89
+#: plinth/modules/i2p/views.py:91
msgid ""
"I2P lets you browse the Internet and hidden services (eepsites) anonymously. "
"For this, your browser, preferably a Tor Browser, needs to be configured for "
"a proxy."
msgstr ""
-#: plinth/modules/i2p/views.py:92
+#: plinth/modules/i2p/views.py:94
msgid ""
"By default HTTP, HTTPS and IRC proxies are available. Additional proxies and "
"tunnels may be configured using the tunnel configuration interface."
msgstr ""
-#: plinth/modules/i2p/views.py:101
+#: plinth/modules/i2p/views.py:103
msgid "Anonymous Torrents"
msgstr ""
-#: plinth/modules/i2p/views.py:104
+#: plinth/modules/i2p/views.py:106
msgid ""
"I2P provides an application to download files anonymously in a peer-to-peer "
"network. Download files by adding torrents or create a new torrent to share "
"a file."
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:42 plinth/modules/ikiwiki/manifest.py:24
+#: plinth/modules/ikiwiki/__init__.py:41 plinth/modules/ikiwiki/manifest.py:24
msgid "ikiwiki"
msgstr "ఇకివికీ"
-#: plinth/modules/ikiwiki/__init__.py:44
+#: plinth/modules/ikiwiki/__init__.py:43
msgid "Wiki and Blog"
msgstr "వికీ మరియు బ్లాగ్"
-#: plinth/modules/ikiwiki/__init__.py:47
+#: plinth/modules/ikiwiki/__init__.py:46
msgid ""
"ikiwiki is a simple wiki and blog application. It supports several "
"lightweight markup languages, including Markdown, and common blogging "
@@ -1735,7 +1734,7 @@ msgstr ""
"ఎస్ ఫీడ్లు వంటి సాధారణ బ్లాగింగ్ కార్యాచరణకు సహకరిస్తుంది. దీన్ని ఆమోదించినప్పుడు మీ బ్లాగులు మరియు "
"వికీలు /ikiwiki వద్ద అందుబాటులో ఉంటాయి(తయారుచేసిన తరువాత)."
-#: plinth/modules/ikiwiki/__init__.py:53
+#: plinth/modules/ikiwiki/__init__.py:52
#, fuzzy, python-brace-format
#| msgid ""
#| "Only {box_name} users in the admin group can create and "
@@ -1753,7 +1752,7 @@ msgstr ""
"ఇప్పటికే ఉన్న వాటిని సవరించగలరు. వినియోగదారు "
"ఆకృతీకరణ లో మీరు అనుమతులను మార్చవచ్చు లేదా క్రొత్త వినియోగదారులను చేర్చవచ్చు."
-#: plinth/modules/ikiwiki/__init__.py:63
+#: plinth/modules/ikiwiki/__init__.py:62
msgid "View and edit wiki applications"
msgstr "వికీ అనువర్తనాలను చూడండి మరియు మార్చండి"
@@ -1823,49 +1822,49 @@ msgstr "ప్రదేశం కు వెళ్ళండి %(site)s"
msgid "Manage"
msgstr "నిర్వహించండి"
-#: plinth/modules/ikiwiki/views.py:121
+#: plinth/modules/ikiwiki/views.py:124
#, python-brace-format
msgid "Created wiki {name}."
msgstr "{name} వికీ సృష్టించబడింది."
-#: plinth/modules/ikiwiki/views.py:124
+#: plinth/modules/ikiwiki/views.py:127
#, python-brace-format
msgid "Could not create wiki: {error}"
msgstr "వికీని సృష్టించలేము: {error}"
-#: plinth/modules/ikiwiki/views.py:134
+#: plinth/modules/ikiwiki/views.py:137
#, python-brace-format
msgid "Created blog {name}."
msgstr "{name} బ్లాగు సృష్టించబడింది."
-#: plinth/modules/ikiwiki/views.py:137
+#: plinth/modules/ikiwiki/views.py:140
#, python-brace-format
msgid "Could not create blog: {error}"
msgstr "బ్లాగు సృష్టించలేము: {error}"
-#: plinth/modules/ikiwiki/views.py:150
+#: plinth/modules/ikiwiki/views.py:153
#, python-brace-format
msgid "{name} deleted."
msgstr "{name} తొలగించబడింది."
-#: plinth/modules/ikiwiki/views.py:154
+#: plinth/modules/ikiwiki/views.py:157
#, python-brace-format
msgid "Could not delete {name}: {error}"
msgstr "{name} ను తొలగించలేము: {error}"
-#: plinth/modules/infinoted/__init__.py:41
+#: plinth/modules/infinoted/__init__.py:40
msgid "infinoted"
msgstr "ఇన్ఫినోటెడ్"
-#: plinth/modules/infinoted/__init__.py:43
+#: plinth/modules/infinoted/__init__.py:42
msgid "Gobby Server"
msgstr "గాబ్బీ సేవకం"
-#: plinth/modules/infinoted/__init__.py:46
+#: plinth/modules/infinoted/__init__.py:45
msgid "infinoted is a server for Gobby, a collaborative text editor."
msgstr "Gobby కోసం ఇన్ఫినోటెడ్ అనేది ఒక సర్వర్,ఒక సహకార టెక్స్ట్ ఎడిటర్."
-#: plinth/modules/infinoted/__init__.py:48
+#: plinth/modules/infinoted/__init__.py:47
#, python-brace-format
msgid ""
"To use it, download Gobby, desktop "
@@ -2299,14 +2298,14 @@ msgstr "{domain} డోమైన్ కొరకు సర్టిఫికే
msgid "Failed to delete certificate for domain {domain}: {error}"
msgstr "{domain} డోమైన్ కొరకు ధృవీకరణపత్రం నిర్మూలించడంలో విఫలం: {error}"
-#: plinth/modules/matrixsynapse/__init__.py:41
+#: plinth/modules/matrixsynapse/__init__.py:43
#, fuzzy
msgid "Matrix Synapse"
msgstr ""
"చాట్ సర్వర్\n"
" (ejabberd)"
-#: plinth/modules/matrixsynapse/__init__.py:46
+#: plinth/modules/matrixsynapse/__init__.py:48
msgid ""
"Matrix is an new "
"ecosystem for open, federated instant messaging and VoIP. Synapse is a "
@@ -2316,7 +2315,7 @@ msgid ""
"converse with users on all other Matrix servers via federation."
msgstr ""
-#: plinth/modules/matrixsynapse/__init__.py:53
+#: plinth/modules/matrixsynapse/__init__.py:55
msgid ""
"To communicate, you can use the available clients for mobile, desktop and the web. Special:CreateAccount page."
msgstr ""
-#: plinth/modules/mediawiki/__init__.py:49
+#: plinth/modules/mediawiki/__init__.py:53
msgid ""
"Anyone with a link to this wiki can read it. Only users that are logged in "
"can make changes to the content."
@@ -2494,40 +2493,40 @@ msgstr ""
msgid "Password updated"
msgstr "రహస్యపదం"
-#: plinth/modules/mediawiki/views.py:91
+#: plinth/modules/mediawiki/views.py:89
#, fuzzy
#| msgid "Application enabled"
msgid "Public registrations enabled"
msgstr "అనువర్తనం ఆమోదింపబడింది"
-#: plinth/modules/mediawiki/views.py:100
+#: plinth/modules/mediawiki/views.py:98
#, fuzzy
#| msgid "Application disabled"
msgid "Public registrations disabled"
msgstr "అనువర్తనం ఆమోదింపబడలేదు"
-#: plinth/modules/mediawiki/views.py:109
+#: plinth/modules/mediawiki/views.py:107
#, fuzzy
msgid "Private mode enabled"
msgstr "PageKite ఎనేబుల్"
-#: plinth/modules/mediawiki/views.py:112
+#: plinth/modules/mediawiki/views.py:110
#, fuzzy
msgid "Private mode disabled"
msgstr "PageKite వికలాంగ"
-#: plinth/modules/minetest/__init__.py:53
+#: plinth/modules/minetest/__init__.py:52
#: plinth/modules/minetest/manifest.py:25
msgid "Minetest"
msgstr "మైన్ టెస్ట్"
-#: plinth/modules/minetest/__init__.py:55
+#: plinth/modules/minetest/__init__.py:54
#, fuzzy
#| msgid "Block Sandbox (Minetest)"
msgid "Block Sandbox"
msgstr "స్యాండ్ బాక్స్ ను అడ్డగించు (మైన్ పరీక్ష)"
-#: plinth/modules/minetest/__init__.py:59
+#: plinth/modules/minetest/__init__.py:58
#, fuzzy, python-brace-format
msgid ""
"Minetest is a multiplayer infinite-world block sandbox. This module enables "
@@ -2539,23 +2538,23 @@ msgstr ""
"Minetest సర్వర్ ఈ {box_name} 1 అమలు సహకరిస్తుంది. సర్వర్కు కనెక్ట్ చెయ్యడానికి ఒక 2Minetest క్లైంట్ 3 అవసరమవుతుంది."
-#: plinth/modules/minetest/forms.py:31
+#: plinth/modules/minetest/forms.py:30
msgid "Maximum number of players"
msgstr "క్రీడాకారుల గరిష్ట సంఖ్య"
-#: plinth/modules/minetest/forms.py:35
+#: plinth/modules/minetest/forms.py:32
msgid ""
"You can change the maximum number of players playing minetest at a single "
"instance of time."
msgstr "మీరు మైన్డెస్ట్ ఒకే సమయంలో ఆడుతున్న క్రీడాకారుల గరిష్ట సంఖ్య మార్చవచ్చు."
-#: plinth/modules/minetest/forms.py:39
+#: plinth/modules/minetest/forms.py:36
#, fuzzy
#| msgid "Enable application"
msgid "Enable creative mode"
msgstr "అనువర్తనాన్ని చేతనించు"
-#: plinth/modules/minetest/forms.py:41
+#: plinth/modules/minetest/forms.py:37
#, fuzzy
#| msgid ""
#| "Creative mode changes the rules of the game to make "
@@ -2567,23 +2566,23 @@ msgid ""
msgstr ""
"క్రియేటివ్ మోడ్ \"మనుగడ\" గేమ్ప్లే సవాలు కంటే, సృజనాత్మక గేమ్ప్లే అనువుగా ఆట నియమాలు మారుస్తుంది."
-#: plinth/modules/minetest/forms.py:46
+#: plinth/modules/minetest/forms.py:42
#, fuzzy
#| msgid "Enabled"
msgid "Enable PVP"
msgstr "క్రియాశీలీ"
-#: plinth/modules/minetest/forms.py:48
+#: plinth/modules/minetest/forms.py:43
#, fuzzy
msgid "Enabling Player Vs Player will allow players to damage other players."
msgstr "ప్లేయర్ Vs ప్లేయర్ అనే ఆప్షన్ ని అనుమతిస్తే క్రీడాకారులు ఇతర క్రీడాకారులు దెబ్బతినేలా చూస్తుంది"
-#: plinth/modules/minetest/forms.py:52
+#: plinth/modules/minetest/forms.py:47
#, fuzzy
msgid "Enable damage"
msgstr "PageKite ప్రారంభించు"
-#: plinth/modules/minetest/forms.py:54
+#: plinth/modules/minetest/forms.py:48
#, fuzzy
#| msgid ""
#| "When disabled, players cannot die or receive damage "
@@ -2601,64 +2600,64 @@ msgstr "చిరునామా"
msgid "Port"
msgstr "పోర్టు"
-#: plinth/modules/minetest/views.py:71
+#: plinth/modules/minetest/views.py:72
#, fuzzy
#| msgid "Configuration updated"
msgid "Maximum players configuration updated"
msgstr "ఆకృతీకరణ నవీకరించబడింది"
-#: plinth/modules/minetest/views.py:78
+#: plinth/modules/minetest/views.py:79
#, fuzzy
#| msgid "Configuration updated"
msgid "Creative mode configuration updated"
msgstr "ఆకృతీకరణ నవీకరించబడింది"
-#: plinth/modules/minetest/views.py:84
+#: plinth/modules/minetest/views.py:85
#, fuzzy
#| msgid "Configuration updated"
msgid "PVP configuration updated"
msgstr "ఆకృతీకరణ నవీకరించబడింది"
-#: plinth/modules/minetest/views.py:90
+#: plinth/modules/minetest/views.py:91
#, fuzzy
#| msgid "Configuration updated"
msgid "Damage configuration updated"
msgstr "ఆకృతీకరణ నవీకరించబడింది"
-#: plinth/modules/mldonkey/__init__.py:38
+#: plinth/modules/mldonkey/__init__.py:40
#: plinth/modules/mldonkey/manifest.py:27
#, fuzzy
#| msgid "Monkeysphere"
msgid "MLDonkey"
msgstr "మంకీస్ఫియర్"
-#: plinth/modules/mldonkey/__init__.py:40
+#: plinth/modules/mldonkey/__init__.py:42
#, fuzzy
#| msgid "File Sharing"
msgid "Peer-to-peer File Sharing"
msgstr "ఫైలు పంచుకొనుట"
-#: plinth/modules/mldonkey/__init__.py:43
+#: plinth/modules/mldonkey/__init__.py:45
msgid ""
"MLDonkey is a peer-to-peer file sharing application used to exchange large "
"files. It can participate in multiple peer-to-peer networks including "
"eDonkey, Kademlia, Overnet, BitTorrent and DirectConnect."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:46
+#: plinth/modules/mldonkey/__init__.py:48
msgid ""
"Users belonging to admin and ed2k group can control it through the web "
"interface. Users in the admin group can also control it through any of the "
"separate mobile or desktop front-ends or a telnet interface. See manual."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:51
+#: plinth/modules/mldonkey/__init__.py:53
#, python-brace-format
msgid ""
"On {box_name}, downloaded files can be found in /var/lib/mldonkey/ directory."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:59
+#: plinth/modules/mldonkey/__init__.py:61
#, fuzzy
#| msgid "Download files using BitTorrent applications"
msgid "Download files using eDonkey applications"
@@ -2740,12 +2739,6 @@ msgstr "ఓపెన్పిజిపి వేలిముద్ర"
msgid "Secure Shell"
msgstr "సెక్యూర్ షెల్"
-#: plinth/modules/monkeysphere/templates/monkeysphere.html:88
-#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:60
-#: plinth/service.py:138
-msgid "Web Server"
-msgstr "జాల సేవకం"
-
#: plinth/modules/monkeysphere/templates/monkeysphere.html:90
#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:62
msgid "Other"
@@ -2840,11 +2833,11 @@ msgstr "కీ కీసేవకానికి ప్రచురించబ
msgid "Error occurred while publishing key."
msgstr "కీని ప్రచురించేటప్పుడు దోషం సంభవించింది."
-#: plinth/modules/mumble/__init__.py:34 plinth/modules/mumble/manifest.py:27
+#: plinth/modules/mumble/__init__.py:35 plinth/modules/mumble/manifest.py:27
msgid "Mumble"
msgstr "మంబుల్"
-#: plinth/modules/mumble/__init__.py:36
+#: plinth/modules/mumble/__init__.py:37
#, fuzzy
#| msgid ""
#| "Voice Chat \n"
@@ -2854,7 +2847,7 @@ msgstr ""
"స్వర సంభాషణ \n"
" (Mumble)"
-#: plinth/modules/mumble/__init__.py:45
+#: plinth/modules/mumble/__init__.py:44
msgid ""
"Mumble is an open source, low-latency, encrypted, high quality voice chat "
"software."
@@ -2862,7 +2855,7 @@ msgstr ""
"మంబుల్ అనేది తక్కువ-జాప్యత, ఎన్క్రిప్టెడ్, అధిక నాణ్యతా వంటి విశిష్టలతో కూడిన ఒక ఓపెన్ సోర్స్ స్వర సంభాషణా "
"సాఫ్ట్వేర్."
-#: plinth/modules/mumble/__init__.py:47
+#: plinth/modules/mumble/__init__.py:46
#, fuzzy
msgid ""
"You can connect to your Mumble server on the regular Mumble port 64738. Download Profile"
@@ -3612,11 +3605,11 @@ msgstr "అమర్చిపెటినా తెరిచినVPNనడు
msgid "OpenVPN server is not running"
msgstr "అమర్చిపెటినా తెరిచినVPN నడంలేదు"
-#: plinth/modules/openvpn/views.py:128
+#: plinth/modules/openvpn/views.py:126
msgid "Setup completed."
msgstr "అమరక పూర్తయ్యింది."
-#: plinth/modules/openvpn/views.py:130
+#: plinth/modules/openvpn/views.py:128
msgid "Setup failed."
msgstr "అమరక విఫలమైంది."
@@ -3708,7 +3701,7 @@ msgstr ""
"మీ pagekite సర్వర్ ఎంచుకోండి. డిఫాల్ట్ pagekite.net సర్వర్ ఉపయోగించడానికి \"pagekite.net\" "
"సెట్."
-#: plinth/modules/pagekite/forms.py:78 plinth/modules/shadowsocks/forms.py:64
+#: plinth/modules/pagekite/forms.py:78 plinth/modules/shadowsocks/forms.py:57
#, fuzzy
msgid "Server port"
msgstr "సర్వర్ పోర్ట్"
@@ -3932,29 +3925,29 @@ msgstr "చెడు ఇంటర్నెట్ కి ప్రచురర
msgid "Save Services"
msgstr "సేవలను భద్రపరుచుకోండి"
-#: plinth/modules/pagekite/utils.py:53
+#: plinth/modules/pagekite/utils.py:57
msgid "Web Server (HTTP)"
msgstr "వెబ్ సేవిక (HTTP)"
-#: plinth/modules/pagekite/utils.py:54
+#: plinth/modules/pagekite/utils.py:59
#, python-brace-format
msgid "Site will be available at http://{0}"
msgstr "సైట్ http://{0} వద్ద అందుబాటులో ఉంటుంది"
-#: plinth/modules/pagekite/utils.py:63
+#: plinth/modules/pagekite/utils.py:71
msgid "Web Server (HTTPS)"
msgstr "వెబ్ సేవిక (HTTPS)"
-#: plinth/modules/pagekite/utils.py:64
+#: plinth/modules/pagekite/utils.py:73
#, python-brace-format
msgid "Site will be available at https://{0}"
msgstr "సైట్ https://{0} వద్ద అందుబాటులో ఉంటుంది"
-#: plinth/modules/pagekite/utils.py:73
+#: plinth/modules/pagekite/utils.py:85
msgid "Secure Shell (SSH)"
msgstr "సెక్యూర్ షెల్ (SSH)"
-#: plinth/modules/pagekite/utils.py:74
+#: plinth/modules/pagekite/utils.py:87
msgid ""
"See SSH client setup instructions"
@@ -3962,20 +3955,20 @@ msgstr ""
"SSH క్లైంట్ సెటప్ చూడండి సూచనలు "
-#: plinth/modules/pagekite/utils.py:276
+#: plinth/modules/pagekite/utils.py:288
msgid "Pagekite"
msgstr "పేజ్ కైట్"
-#: plinth/modules/pagekite/views.py:39
+#: plinth/modules/pagekite/views.py:40
msgid "Standard Services"
msgstr "ప్రామాణిక సేవలు"
-#: plinth/modules/pagekite/views.py:42
+#: plinth/modules/pagekite/views.py:44
#, fuzzy
msgid "Custom Services"
msgstr "కస్టమ్ సేవలు"
-#: plinth/modules/pagekite/views.py:156
+#: plinth/modules/pagekite/views.py:158
msgid "Pagekite setup finished. The HTTP and HTTPS services are activated now."
msgstr "పేజెకైట్ ఏర్పాటు పూర్తి అయినది. ఏచ్.టి.టి.పి మరియు ఏచ్.టి.టి.పి.ఎస్ సేవలు క్రియాశీలకంగా చేయబడ్డాయి."
@@ -4045,16 +4038,16 @@ msgstr ""
msgid "Shut Down Now"
msgstr "ఇపుడు మూసివేయండి"
-#: plinth/modules/privoxy/__init__.py:41
+#: plinth/modules/privoxy/__init__.py:42
msgid "Privoxy"
msgstr "ప్రివొక్సి"
-#: plinth/modules/privoxy/__init__.py:43
+#: plinth/modules/privoxy/__init__.py:44
#, fuzzy
msgid "Web Proxy"
msgstr "వెబ్ ప్రాక్సీ (Privoxy)"
-#: plinth/modules/privoxy/__init__.py:46
+#: plinth/modules/privoxy/__init__.py:47
msgid ""
"Privoxy is a non-caching web proxy with advanced filtering capabilities for "
"enhancing privacy, modifying web page data and HTTP headers, controlling "
@@ -4064,7 +4057,7 @@ msgstr ""
"నియంత్రించడం మరియు ప్రకటనలను మరియు ఇతర చెడ్డ ఇంటర్నెట్ వ్యర్థాలను తొలగించడం కోసం ఆధునిక ఫిల్టరింగ్ "
"సామర్థ్యాలతో ఒక కాని క్యాచింగ్ వెబ్ ప్రాక్సీ. "
-#: plinth/modules/privoxy/__init__.py:51
+#: plinth/modules/privoxy/__init__.py:52
#, python-brace-format
msgid ""
"You can use Privoxy by modifying your browser proxy settings to your "
@@ -4078,21 +4071,21 @@ msgstr ""
"డాక్యుమెంటేషన్ http://config.privoxy.org/"
"a> లేదా http://p.p లో చూడవచ్చు."
-#: plinth/modules/privoxy/__init__.py:157
+#: plinth/modules/privoxy/__init__.py:142
#, python-brace-format
msgid "Access {url} with proxy {proxy} on tcp{kind}"
msgstr "టీసీపీ{kind} పై{proxy} తో యాక్సిస్ {url} చేయండి"
-#: plinth/modules/quassel/__init__.py:41 plinth/modules/quassel/manifest.py:25
+#: plinth/modules/quassel/__init__.py:40 plinth/modules/quassel/manifest.py:25
msgid "Quassel"
msgstr "క్వాసెల్"
-#: plinth/modules/quassel/__init__.py:43
+#: plinth/modules/quassel/__init__.py:42
#, fuzzy
msgid "IRC Client"
msgstr "ఐ ర్ సి క్లయింట్ (Quassel)"
-#: plinth/modules/quassel/__init__.py:47
+#: plinth/modules/quassel/__init__.py:46
#, python-brace-format
msgid ""
"Quassel is an IRC application that is split into two parts, a \"core\" and a "
@@ -4103,7 +4096,7 @@ msgid ""
"connect and disconnect from it."
msgstr ""
-#: plinth/modules/quassel/__init__.py:54
+#: plinth/modules/quassel/__init__.py:53
msgid ""
"You can connect to your Quassel core on the default Quassel port 4242. "
"Clients to connect to Quassel from your Jitsi (for computers) and CSipSimple(ఆండ్రాయిడ్ ఫోన్లకు) అందుబాటులో ఖాతాదారులకు "
"ఉన్నాయి."
-#: plinth/modules/repro/__init__.py:53
+#: plinth/modules/repro/__init__.py:55
msgid ""
"Note: Before using repro, domains and users will need to "
"be configured using the web-based "
@@ -4279,16 +4272,16 @@ msgstr ""
msgid "CSipSimple"
msgstr "సి సిప్ సింపుల్"
-#: plinth/modules/restore/__init__.py:36 plinth/modules/restore/manifest.py:23
+#: plinth/modules/restore/__init__.py:37 plinth/modules/restore/manifest.py:23
msgid "reStore"
msgstr "రిస్టోర్"
-#: plinth/modules/restore/__init__.py:38
+#: plinth/modules/restore/__init__.py:39
#, fuzzy
msgid "Unhosted Storage"
msgstr "అన్హొస్టెడ్ స్టోరేజ్ ని (పునరుద్ధరించండి)"
-#: plinth/modules/restore/__init__.py:42
+#: plinth/modules/restore/__init__.py:43
#, python-brace-format
msgid ""
"reStore is a server for unhosted web "
@@ -4298,7 +4291,7 @@ msgid ""
"becomes your unhosted storage server."
msgstr ""
-#: plinth/modules/restore/__init__.py:48
+#: plinth/modules/restore/__init__.py:49
msgid ""
"You can create and edit accounts in the reStore web-"
"interface."
@@ -4306,17 +4299,17 @@ msgstr ""
" లో మీరు ఖాతాలను సృష్టించవచ్చు మరియు మార్చులను చేయవచ్చు వెబ్ ఇంటర్ఫెస్ ని "
"పునరుద్ధరించండి."
-#: plinth/modules/roundcube/__init__.py:34
+#: plinth/modules/roundcube/__init__.py:35
#: plinth/modules/roundcube/manifest.py:24
msgid "Roundcube"
msgstr "రౌండ్ క్యూబ్"
-#: plinth/modules/roundcube/__init__.py:36
+#: plinth/modules/roundcube/__init__.py:37
#, fuzzy
msgid "Email Client"
msgstr "తపాల బంట్రౌతు(Roundcube)"
-#: plinth/modules/roundcube/__init__.py:39
+#: plinth/modules/roundcube/__init__.py:40
msgid ""
"Roundcube webmail is a browser-based multilingual IMAP client with an "
"application-like user interface. It provides full functionality you expect "
@@ -4327,7 +4320,7 @@ msgstr ""
"ఇది MIME మద్దతు, చిరునామా పుస్తకం, ఫోల్డర్ తారుమారు, సందేశ శోధన మరియు అక్షరక్రమ తనిఖీ సహా ఒక "
"ఇమెయిల్ క్లయింట్ నుండి మీరు పూర్తి కార్యాచరణను అందిస్తుంది."
-#: plinth/modules/roundcube/__init__.py:44
+#: plinth/modules/roundcube/__init__.py:45
msgid ""
"You can access Roundcube from /roundcube. Provide "
"the username and password of the email account you wish to access followed "
@@ -4336,7 +4329,7 @@ msgid ""
"server field like imaps://imap.example.com."
msgstr ""
-#: plinth/modules/roundcube/__init__.py:50
+#: plinth/modules/roundcube/__init__.py:51
msgid ""
"For Gmail, username will be your Gmail address, password will be your Google "
"account password and server will be imaps://imap.gmail.com. "
@@ -4404,12 +4397,12 @@ msgstr ""
msgid "Allow this application to be used by anyone who can reach it."
msgstr ""
-#: plinth/modules/searx/views.py:60 plinth/modules/searx/views.py:71
-#: plinth/modules/tor/views.py:139 plinth/modules/tor/views.py:168
+#: plinth/modules/searx/views.py:59 plinth/modules/searx/views.py:70
+#: plinth/modules/tor/views.py:141 plinth/modules/tor/views.py:168
msgid "Configuration updated."
msgstr "ఆకృతీకరణ నవీకరించబడింది."
-#: plinth/modules/searx/views.py:63 plinth/modules/searx/views.py:74
+#: plinth/modules/searx/views.py:62 plinth/modules/searx/views.py:73
#: plinth/modules/tor/views.py:170
msgid "An error occurred during configuration."
msgstr "అక్రుతీకరణలో ఒక పొరపాటు జరిగింది."
@@ -4475,15 +4468,15 @@ msgid ""
"account, which you will need to setup on the initial visit."
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:34
+#: plinth/modules/shadowsocks/__init__.py:35
msgid "Shadowsocks"
msgstr "షాడోసాక్స్"
-#: plinth/modules/shadowsocks/__init__.py:36
+#: plinth/modules/shadowsocks/__init__.py:37
msgid "Socks5 Proxy"
msgstr "సాక్స్5 ప్రాక్సీ"
-#: plinth/modules/shadowsocks/__init__.py:45
+#: plinth/modules/shadowsocks/__init__.py:44
msgid ""
"Shadowsocks is a lightweight and secure SOCKS5 proxy, designed to protect "
"your Internet traffic. It can be used to bypass Internet filtering and "
@@ -4492,7 +4485,7 @@ msgstr ""
"షాడోసాక్స్ మీ ఇంటర్నెట్ ట్రాఫిక్ను రక్షించేందుకు రూపొందించబడిన ఒక తేలికైన మరియు సురక్షిత సాక్స్5 ప్రాక్సీ. "
"ఇది ఇంటర్నెట్ వడపోత మరియు సెన్సార్షిప్ను దాటడానికి ఉపయోగించవచ్చు."
-#: plinth/modules/shadowsocks/__init__.py:49
+#: plinth/modules/shadowsocks/__init__.py:48
#, python-brace-format
msgid ""
"Your {box_name} can run a Shadowsocks client, that can connect to a "
@@ -4501,37 +4494,37 @@ msgid ""
"the Shadowsocks server."
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:54
+#: plinth/modules/shadowsocks/__init__.py:53
msgid ""
"To use Shadowsocks after setup, set the SOCKS5 proxy URL in your device, "
"browser or application to http://freedombox_address:1080/"
msgstr ""
+#: plinth/modules/shadowsocks/forms.py:28
#: plinth/modules/shadowsocks/forms.py:29
-#: plinth/modules/shadowsocks/forms.py:30
msgid "Recommended"
msgstr "సిఫార్సు చేయబడింది"
-#: plinth/modules/shadowsocks/forms.py:60
+#: plinth/modules/shadowsocks/forms.py:54
#, fuzzy
#| msgid "Service"
msgid "Server"
msgstr "సేవ"
-#: plinth/modules/shadowsocks/forms.py:61
+#: plinth/modules/shadowsocks/forms.py:54
msgid "Server hostname or IP address"
msgstr "సర్వర్ హోస్ట్ పేరు లేదా ఐపి చిరునామా"
-#: plinth/modules/shadowsocks/forms.py:67
+#: plinth/modules/shadowsocks/forms.py:58
#, fuzzy
msgid "Server port number"
msgstr "సర్వర్ పోర్ట్"
-#: plinth/modules/shadowsocks/forms.py:71
+#: plinth/modules/shadowsocks/forms.py:61
msgid "Password used to encrypt data. Must match server password."
msgstr "సమాచారాన్ని గుప్తీకరించాడానికి ఉపయోగించబడిన పాస్వర్డ్. తప్పకుండ సర్వర్ పాస్వర్డ్ తో సరిపోలాలి."
-#: plinth/modules/shadowsocks/forms.py:77
+#: plinth/modules/shadowsocks/forms.py:66
msgid "Encryption method. Must match setting on server."
msgstr "గుప్తీకరించు పద్దతి. సర్వర్ లోని సెట్టింగ్తో సరిపోలాలి."
@@ -4831,7 +4824,7 @@ msgstr "స్నాప్షాట్ సృష్టించబడిన
msgid "Storage snapshots configuration updated"
msgstr "ఆకృతీకరణ నవీకరించబడింది"
-#: plinth/modules/snapshot/views.py:153 plinth/modules/tor/views.py:72
+#: plinth/modules/snapshot/views.py:153 plinth/modules/tor/views.py:73
#, python-brace-format
msgid "Action error: {0} [{1}] [{2}]"
msgstr "చర్య లోపం:{0}{1}{2}"
@@ -4865,11 +4858,11 @@ msgstr "రొల్ల్బచ్క్ ని పూర్తి చేయడ
msgid "Rollback to Snapshot"
msgstr "చాయాచిత్రం కు రొల్ల్బచ్క్ చేయండి"
-#: plinth/modules/ssh/__init__.py:39
+#: plinth/modules/ssh/__init__.py:40
msgid "Secure Shell (SSH) Server"
msgstr "సెక్యూర్ షెల్ (SSH) సర్వర్"
-#: plinth/modules/ssh/__init__.py:42
+#: plinth/modules/ssh/__init__.py:43
msgid ""
"A Secure Shell server uses the secure shell protocol to accept connections "
"from remote computers. An authorized remote computer can perform "
@@ -4885,12 +4878,12 @@ msgstr ""
msgid "Login"
msgstr "ప్రవేశించు"
-#: plinth/modules/storage/__init__.py:36 plinth/modules/storage/views.py:53
+#: plinth/modules/storage/__init__.py:35 plinth/modules/storage/views.py:53
#, fuzzy
msgid "Storage"
msgstr "అన్హొస్టెడ్ స్టోరేజ్ ని (పునరుద్ధరించండి)"
-#: plinth/modules/storage/__init__.py:44
+#: plinth/modules/storage/__init__.py:43
#, python-brace-format
msgid ""
"This module allows you to manage storage media attached to your {box_name}. "
@@ -4898,85 +4891,85 @@ msgid ""
"media, expand the root partition etc."
msgstr ""
-#: plinth/modules/storage/__init__.py:211
+#: plinth/modules/storage/__init__.py:213
#, python-brace-format
msgid "{disk_size:.1f} bytes"
msgstr "{disk_size:.1f} బైట్లు"
-#: plinth/modules/storage/__init__.py:215
+#: plinth/modules/storage/__init__.py:217
#, python-brace-format
msgid "{disk_size:.1f} KiB"
msgstr "{disk_size:.1f} కిలోబైట్లు"
-#: plinth/modules/storage/__init__.py:219
+#: plinth/modules/storage/__init__.py:221
#, python-brace-format
msgid "{disk_size:.1f} MiB"
msgstr "{disk_size:.1f} మెగాబైట్లు"
-#: plinth/modules/storage/__init__.py:223
+#: plinth/modules/storage/__init__.py:225
#, python-brace-format
msgid "{disk_size:.1f} GiB"
msgstr "{disk_size:.1f} గిగాబైట్లు"
-#: plinth/modules/storage/__init__.py:226
+#: plinth/modules/storage/__init__.py:228
#, python-brace-format
msgid "{disk_size:.1f} TiB"
msgstr "{disk_size:.1f} టెరాబైట్లు"
-#: plinth/modules/storage/__init__.py:233
+#: plinth/modules/storage/__init__.py:235
msgid "The operation failed."
msgstr ""
-#: plinth/modules/storage/__init__.py:235
+#: plinth/modules/storage/__init__.py:237
msgid "The operation was cancelled."
msgstr ""
-#: plinth/modules/storage/__init__.py:237
+#: plinth/modules/storage/__init__.py:239
#, fuzzy
#| msgid "Mumble server is running"
msgid "The device is already unmounting."
msgstr "మంబ్లు సేవిక నడుస్తుంది"
-#: plinth/modules/storage/__init__.py:239
+#: plinth/modules/storage/__init__.py:241
msgid "The operation is not supported due to missing driver/tool support."
msgstr ""
-#: plinth/modules/storage/__init__.py:242
+#: plinth/modules/storage/__init__.py:244
msgid "The operation timed out."
msgstr ""
-#: plinth/modules/storage/__init__.py:244
+#: plinth/modules/storage/__init__.py:246
msgid "The operation would wake up a disk that is in a deep-sleep state."
msgstr ""
-#: plinth/modules/storage/__init__.py:247
+#: plinth/modules/storage/__init__.py:249
msgid "Attempting to unmount a device that is busy."
msgstr ""
-#: plinth/modules/storage/__init__.py:249
+#: plinth/modules/storage/__init__.py:251
msgid "The operation has already been cancelled."
msgstr ""
-#: plinth/modules/storage/__init__.py:255
+#: plinth/modules/storage/__init__.py:257
msgid "Not authorized to perform the requested operation."
msgstr ""
-#: plinth/modules/storage/__init__.py:257
+#: plinth/modules/storage/__init__.py:259
#, fuzzy
msgid "The device is already mounted."
msgstr "ఈ సేవ ఇప్పటికే ఉంది"
-#: plinth/modules/storage/__init__.py:259
+#: plinth/modules/storage/__init__.py:261
#, fuzzy
#| msgid "Mumble server is not running"
msgid "The device is not mounted."
msgstr "మంబ్లు సేవిక నడవంలేదు"
-#: plinth/modules/storage/__init__.py:262
+#: plinth/modules/storage/__init__.py:264
msgid "Not permitted to use the requested option."
msgstr ""
-#: plinth/modules/storage/__init__.py:265
+#: plinth/modules/storage/__init__.py:267
msgid "The device is mounted by another user."
msgstr ""
@@ -5059,17 +5052,17 @@ msgstr ""
msgid "Error ejecting device: {error_message}"
msgstr ""
-#: plinth/modules/syncthing/__init__.py:38
+#: plinth/modules/syncthing/__init__.py:40
#: plinth/modules/syncthing/manifest.py:28
msgid "Syncthing"
msgstr "సమకాలీకరించుచున్నది"
-#: plinth/modules/syncthing/__init__.py:40
+#: plinth/modules/syncthing/__init__.py:42
#, fuzzy
msgid "File Synchronization"
msgstr "ఫైలు సమకాలీకరించబడుచున్నధి"
-#: plinth/modules/syncthing/__init__.py:43
+#: plinth/modules/syncthing/__init__.py:45
#, fuzzy
msgid ""
"Syncthing is an application to synchronize files across multiple devices, e."
@@ -5081,7 +5074,7 @@ msgstr ""
"ఒక ఉపకరణంలో ఒక ఫైలు యొక్క తయారీ,మార్పులు, లేదా నిర్మూలిస్తే అది మిగిలిన అన్ని ఉపకరణాలలో దానికి "
"సంబందించిన మార్పులు చెయ్యడం సమకాలీకరించడం"
-#: plinth/modules/syncthing/__init__.py:48
+#: plinth/modules/syncthing/__init__.py:50
#, python-brace-format
msgid ""
"Running Syncthing on {box_name} provides an extra synchronization point for "
@@ -5092,7 +5085,7 @@ msgid ""
"{box_name} is only available for users belonging to the \"admin\" group."
msgstr ""
-#: plinth/modules/syncthing/__init__.py:55
+#: plinth/modules/syncthing/__init__.py:57
#, fuzzy
msgid ""
"When enabled, Syncthing's web interface will be available from కంప్యూటరు మరియు పరికరాల మధ్య కూడా లభించును"
-#: plinth/modules/syncthing/__init__.py:62
+#: plinth/modules/syncthing/__init__.py:64
#, fuzzy
#| msgid "Install this application?"
msgid "Administer Syncthing application"
msgstr "ఈ అనువర్తనాన్ని నిక్షిప్తం చేయాలా?"
-#: plinth/modules/tahoe/__init__.py:41
+#: plinth/modules/tahoe/__init__.py:43
msgid "Tahoe-LAFS"
msgstr ""
-#: plinth/modules/tahoe/__init__.py:43
+#: plinth/modules/tahoe/__init__.py:45
msgid "Distributed File Storage"
msgstr "పంపిణీ ఫైల్ నిల్వ"
-#: plinth/modules/tahoe/__init__.py:107
+#: plinth/modules/tahoe/__init__.py:119
msgid ""
"Tahoe-LAFS is a decentralized secure file storage system. It uses provider "
"independent security to store files over a distributed network of storage "
@@ -5125,7 +5118,7 @@ msgid ""
"remaining nodes."
msgstr ""
-#: plinth/modules/tahoe/__init__.py:112
+#: plinth/modules/tahoe/__init__.py:124
#, python-brace-format
msgid ""
"This {box_name} hosts a storage node and an introducer by default. "
@@ -5173,11 +5166,11 @@ msgstr "కలిసియున్న పరిచయకర్తలు"
msgid "Remove"
msgstr "తొలగించు"
-#: plinth/modules/tor/__init__.py:43
+#: plinth/modules/tor/__init__.py:46
msgid "Tor"
msgstr "టార్"
-#: plinth/modules/tor/__init__.py:48
+#: plinth/modules/tor/__init__.py:51
msgid ""
"Tor is an anonymous communication system. You can learn more about it from "
"the Tor Project website. For "
@@ -5190,42 +5183,38 @@ msgstr ""
"టార్ ప్రాజెక్ట్ మీరు టార్ బ్రౌజర్ ను ఉపయోగించాలని సిఫార్సు చేస్తున్నారు."
-#: plinth/modules/tor/__init__.py:93
+#: plinth/modules/tor/__init__.py:80
#, fuzzy
#| msgid "Socks5 Proxy"
msgid "Tor Socks Proxy"
msgstr "సాక్స్5 ప్రాక్సీ"
-#: plinth/modules/tor/__init__.py:99 plinth/modules/tor/__init__.py:146
+#: plinth/modules/tor/__init__.py:84
msgid "Tor Bridge Relay"
msgstr "టార్ బ్రిడ్జ్ రిలే"
-#: plinth/modules/tor/__init__.py:120 plinth/modules/tor/__init__.py:188
+#: plinth/modules/tor/__init__.py:122 plinth/modules/tor/__init__.py:150
msgid "Tor Hidden Service"
msgstr "దాచిన టార్ సర్వీస్"
-#: plinth/modules/tor/__init__.py:136
-msgid "Tor Anonymity Network"
-msgstr "టోర్ అనామిక నెట్వర్క్"
-
-#: plinth/modules/tor/__init__.py:208
+#: plinth/modules/tor/__init__.py:170
msgid "Tor relay port available"
msgstr "టార్ రిలే పోర్ట్ అందుబాటులో ఉంది"
-#: plinth/modules/tor/__init__.py:218
+#: plinth/modules/tor/__init__.py:180
msgid "Obfs3 transport registered"
msgstr "Obfs3 రవాణా నమోదు చేయబడింది"
-#: plinth/modules/tor/__init__.py:226
+#: plinth/modules/tor/__init__.py:188
msgid "Obfs4 transport registered"
msgstr "Obfs4 రవాణా నమోదు చేయబడింది"
-#: plinth/modules/tor/__init__.py:265
+#: plinth/modules/tor/__init__.py:227
#, python-brace-format
msgid "Access URL {url} on tcp{kind} via Tor"
msgstr "టార్ ద్వారా {kind} లో {url} ను ఆక్సెస్ చెయ్యండి"
-#: plinth/modules/tor/__init__.py:276
+#: plinth/modules/tor/__init__.py:238
#, python-brace-format
msgid "Confirm Tor usage at {url} on tcp{kind}"
msgstr "టోర్ వాడుకను నిర్ధారించండి{url} టీ సి పి పై{kind}"
@@ -5375,12 +5364,12 @@ msgstr "సాక్స్లు"
msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050."
msgstr "టిసిపి పోర్ట్ 9050 పై ఒక టార్ సొక్స్ పోర్ట్ మీ %(box_name)sలో అందుబాటులో ఉంది."
-#: plinth/modules/transmission/__init__.py:39
+#: plinth/modules/transmission/__init__.py:41
#: plinth/modules/transmission/manifest.py:24
msgid "Transmission"
msgstr "ప్రసారం"
-#: plinth/modules/transmission/__init__.py:44
+#: plinth/modules/transmission/__init__.py:46
msgid ""
"BitTorrent is a peer-to-peer file sharing protocol. Transmission daemon "
"handles Bitorrent file sharing. Note that BitTorrent is not anonymous."
@@ -5388,7 +5377,7 @@ msgstr ""
"బిట్ టోర్రెంట్ పీర్-టు-పీర్ ఫైల్ షేరింగ్ ప్రోటోకాల్. ట్రాన్స్మిషన్ డెమోన్ బిట్ టోర్రెంట్ ఫైల్ భాగస్వామ్యాన్ని నిర్వహిస్తుంది. "
"బిట్ టోర్రెంట్ అజ్ఞాత కాదని గమనించండి."
-#: plinth/modules/transmission/__init__.py:47
+#: plinth/modules/transmission/__init__.py:49
msgid ""
"Access the web interface at /transmission."
msgstr "ఇచ్చట వెబ్ ఇంటర్ఫేస్ యాక్సెస్ చేయవచ్చును ."
@@ -5404,22 +5393,22 @@ msgid ""
"\" user."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:41 plinth/modules/ttrss/manifest.py:34
+#: plinth/modules/ttrss/__init__.py:43 plinth/modules/ttrss/manifest.py:34
msgid "Tiny Tiny RSS"
msgstr "టైనీ టైనీ RSS"
-#: plinth/modules/ttrss/__init__.py:43
+#: plinth/modules/ttrss/__init__.py:45
msgid "News Feed Reader"
msgstr "న్యూస్ ఫీడ్ రీడర్"
-#: plinth/modules/ttrss/__init__.py:46
+#: plinth/modules/ttrss/__init__.py:48
msgid ""
"Tiny Tiny RSS is a news feed (RSS/Atom) reader and aggregator, designed to "
"allow reading news from any location, while feeling as close to a real "
"desktop application as possible."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:50
+#: plinth/modules/ttrss/__init__.py:52
#, fuzzy, python-brace-format
#| msgid ""
#| "When enabled, Cockpit will be available from /"
@@ -5437,13 +5426,13 @@ msgstr ""
"ద్వారా పొందవచ్చు {box_name}.\n"
"అంగీకార సమాచారం మరియు సిస్టమ్ మార్చడం సామర్ధ్యాలు నిర్వాహక సమూహం చెందిన వినియోగదారులకు పరిమితం."
-#: plinth/modules/ttrss/__init__.py:55
+#: plinth/modules/ttrss/__init__.py:57
msgid ""
"When using a mobile or desktop application for Tiny Tiny RSS, use the URL /tt-rss-app for connecting."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:61
+#: plinth/modules/ttrss/__init__.py:63
msgid "Read and subscribe to news feeds"
msgstr "న్యూస్ ఫీడ్లను చదవడం మరియు చందాదారునిగా చేరు"
@@ -5453,11 +5442,11 @@ msgstr "న్యూస్ ఫీడ్లను చదవడం మరి
msgid "Tiny Tiny RSS (Fork)"
msgstr "టైనీ టైనీ RSS"
-#: plinth/modules/upgrades/__init__.py:36 plinth/templates/setup.html:101
+#: plinth/modules/upgrades/__init__.py:35 plinth/templates/setup.html:101
msgid "Update"
msgstr "నవీకరణ యూ.ఆర్.ఎల్"
-#: plinth/modules/upgrades/__init__.py:39
+#: plinth/modules/upgrades/__init__.py:38
msgid "Check for and apply the latest software and security updates."
msgstr ""
@@ -5498,34 +5487,34 @@ msgstr ""
msgid "Auto-update"
msgstr "చివరి నవీకరణ"
-#: plinth/modules/upgrades/views.py:39
+#: plinth/modules/upgrades/views.py:40
#, fuzzy
#| msgid "Last update"
msgid "Manual update"
msgstr "చివరి నవీకరణ"
-#: plinth/modules/upgrades/views.py:78
+#: plinth/modules/upgrades/views.py:79
#, python-brace-format
msgid "Error when configuring unattended-upgrades: {error}"
msgstr "గమనింపబడని-నవీకరణలు ఆకృతీకరించునప్పుడు దోషం: {error}"
-#: plinth/modules/upgrades/views.py:82
+#: plinth/modules/upgrades/views.py:83
msgid "Automatic upgrades enabled"
msgstr "స్వయంచాలక నవీకరణలు ప్రారంభించబడ్డాయి"
-#: plinth/modules/upgrades/views.py:85
+#: plinth/modules/upgrades/views.py:86
msgid "Automatic upgrades disabled"
msgstr "స్వయంచాలక నవీకరణలు నిలిపివేయబడ్డాయి"
-#: plinth/modules/upgrades/views.py:87
+#: plinth/modules/upgrades/views.py:88
msgid "Settings unchanged"
msgstr "ఆకృతీకరణ మార్చబడలేదు"
-#: plinth/modules/upgrades/views.py:113
+#: plinth/modules/upgrades/views.py:114
msgid "Upgrade process started."
msgstr "అప్గ్రేడ్ ప్రక్రియ ప్రారంభించబడింది."
-#: plinth/modules/upgrades/views.py:116
+#: plinth/modules/upgrades/views.py:117
msgid "Starting upgrade failed."
msgstr "నవీకరణ ప్రారంభం విఫలమైంది."
@@ -5533,7 +5522,7 @@ msgstr "నవీకరణ ప్రారంభం విఫలమైంద
msgid "Users and Groups"
msgstr "వినియోగదారులు మరియు సమూహాలు"
-#: plinth/modules/users/__init__.py:106
+#: plinth/modules/users/__init__.py:108
#, python-brace-format
msgid "Check LDAP entry \"{search_item}\""
msgstr "LDAP నమోదు \"{search_item}\" తనిఖీ"
@@ -5749,15 +5738,6 @@ msgstr "ప్రసార మాధ్యమం మార్పు"
msgid "configuration file: {file}"
msgstr "ఆకృతీకరణ ఫైలు: {file}"
-#: plinth/service.py:140
-msgid "Web Server over Secure Socket Layer"
-msgstr "సెక్యుర్ సాకెట్ లేయర్ పై వెబ్ సర్వర్"
-
-#: plinth/service.py:145
-#, python-brace-format
-msgid "{box_name} Web Interface (Plinth)"
-msgstr "{box_name}అంతర్జాల ముఖాంతరం (ఫ్లింథ్)"
-
#: plinth/templates/403.html:25
msgid "403 Forbidden"
msgstr "403 నిషేధించబడింది"
@@ -5970,17 +5950,17 @@ msgstr "IRC చాట్ రూమ్"
msgid "Mailing list"
msgstr "మెయిలింగ్ జాబితా"
-#: plinth/templates/internal-zone.html:25
+#: plinth/templates/internal-zone.html:26
#, fuzzy, python-format
#| msgid "Service discovery server is not running"
msgid "%(service_name)s is available only on internal networks."
msgstr "సేవ ఆవిష్కరణ సేవికను నడుపటంలేదు"
-#: plinth/templates/internal-zone.html:31
+#: plinth/templates/internal-zone.html:32
msgid "Currently there are no network interfaces configured as internal."
msgstr ""
-#: plinth/templates/internal-zone.html:33
+#: plinth/templates/internal-zone.html:34
#, python-format
msgid ""
"Currently the following network interfaces are configured as internal: "
@@ -6044,10 +6024,24 @@ msgstr "సంస్థాపన %(package_names)s%:(status)s"
msgid "%(percentage)s%% complete"
msgstr "%(percentage)s %% పూర్తి"
+#: plinth/views.py:178
+msgid "Application enabled"
+msgstr "అనువర్తనం ఆమోదింపబడింది"
+
+#: plinth/views.py:181
+msgid "Application disabled"
+msgstr "అనువర్తనం ఆమోదింపబడలేదు"
+
#: plinth/web_framework.py:186
msgid "Gujarati"
msgstr ""
+#~ msgid "Tor Anonymity Network"
+#~ msgstr "టోర్ అనామిక నెట్వర్క్"
+
+#~ msgid "Web Server over Secure Socket Layer"
+#~ msgstr "సెక్యుర్ సాకెట్ లేయర్ పై వెబ్ సర్వర్"
+
#~ msgid "Current status:"
#~ msgstr "ప్రస్తుత స్థితి:"
diff --git a/plinth/locale/tr/LC_MESSAGES/django.po b/plinth/locale/tr/LC_MESSAGES/django.po
index 5cca44e40..4629ed4d7 100644
--- a/plinth/locale/tr/LC_MESSAGES/django.po
+++ b/plinth/locale/tr/LC_MESSAGES/django.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-06-10 19:02-0400\n"
+"POT-Creation-Date: 2019-06-24 19:48-0400\n"
"PO-Revision-Date: 2019-06-18 22:01+0000\n"
"Last-Translator: Mesut Akcan \n"
"Language-Team: Turkish /"
@@ -521,14 +532,14 @@ msgstr ""
"kullanılabilir. Hassas bilgiler ve sistem değiştirme kabiliyeti, yönetici "
"(yani admin) grubuna ait kullanıcılar ile sınırlıdır."
-#: plinth/modules/config/__init__.py:59 plinth/modules/dynamicdns/views.py:44
+#: plinth/modules/config/__init__.py:61 plinth/modules/dynamicdns/views.py:45
#: plinth/modules/i2p/views.py:31 plinth/modules/ikiwiki/views.py:35
#: plinth/modules/pagekite/views.py:36 plinth/modules/snapshot/views.py:40
#: plinth/modules/tahoe/templates/tahoe-pre-setup.html:39
msgid "Configure"
msgstr "Yapılandır"
-#: plinth/modules/config/__init__.py:164 plinth/modules/config/forms.py:76
+#: plinth/modules/config/__init__.py:166 plinth/modules/config/forms.py:76
#: plinth/modules/config/views.py:171 plinth/modules/dynamicdns/forms.py:111
msgid "Domain Name"
msgstr "Alan Adı"
@@ -610,8 +621,8 @@ msgstr ""
#: plinth/modules/power/templates/power_restart.html:42
#: plinth/modules/power/templates/power_shutdown.html:41
#: plinth/modules/storage/templates/storage.html:48
-#: plinth/templates/service-subsubmenu.html:47 plinth/templates/service.html:42
-#: plinth/templates/setup.html:48 plinth/templates/simple_service.html:38
+#: plinth/templates/app-subsubmenu.html:47 plinth/templates/app.html:42
+#: plinth/templates/setup.html:48 plinth/templates/simple_app.html:38
#, fuzzy
#| msgid "Learn more »"
msgid "Learn more..."
@@ -663,24 +674,24 @@ msgstr ""
msgid "Hiding advanced apps and features"
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:38
+#: plinth/modules/coquelicot/__init__.py:40
msgid "Coquelicot"
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:40
+#: plinth/modules/coquelicot/__init__.py:42
#, fuzzy
#| msgid "File Synchronization"
msgid "File Sharing"
msgstr "Dosya eşleşmesi"
-#: plinth/modules/coquelicot/__init__.py:43
+#: plinth/modules/coquelicot/__init__.py:45
msgid ""
"Coquelicot is a “one-click” file sharing web application with a focus on "
"protecting users’ privacy. It is best used for quickly sharing a single "
"file. "
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:46
+#: plinth/modules/coquelicot/__init__.py:48
msgid ""
"This Coquelicot instance is exposed to the public but requires an upload "
"password to prevent unauthorized access. You can set a new upload password "
@@ -718,23 +729,23 @@ msgstr ""
msgid "coquelicot"
msgstr ""
-#: plinth/modules/coquelicot/views.py:57
+#: plinth/modules/coquelicot/views.py:59
#, fuzzy
#| msgid "Password updated"
msgid "Upload password updated"
msgstr "Parola güncellendi"
-#: plinth/modules/coquelicot/views.py:60
+#: plinth/modules/coquelicot/views.py:62
msgid "Failed to update upload password"
msgstr ""
-#: plinth/modules/coquelicot/views.py:68
+#: plinth/modules/coquelicot/views.py:70
#, fuzzy
#| msgid "Maximum players configuration updated"
msgid "Maximum file size updated"
msgstr "Azami oyuncu sayısı yapılandırması güncellendi"
-#: plinth/modules/coquelicot/views.py:71
+#: plinth/modules/coquelicot/views.py:73
msgid "Failed to update maximum file size"
msgstr ""
@@ -750,15 +761,15 @@ msgstr ""
"Ağ zaman sunucusu, İnternet'teki sunucular ile sistem zamanını eş tutan bir "
"programdır."
-#: plinth/modules/datetime/__init__.py:107
+#: plinth/modules/datetime/__init__.py:99
msgid "Time synchronized to NTP server"
msgstr "NTP sunucusuna senkronize edilen süre"
-#: plinth/modules/datetime/forms.py:36
+#: plinth/modules/datetime/forms.py:35
msgid "Time Zone"
msgstr "Saat Dilimi"
-#: plinth/modules/datetime/forms.py:37
+#: plinth/modules/datetime/forms.py:36
msgid ""
"Set your time zone to get accurate timestamps. This will set the system-wide "
"time zone."
@@ -766,7 +777,7 @@ msgstr ""
"Zaman damgalarının doğru olması için saat diliminizi ayarlayın. Bu, tüm "
"sistem için saat dilimini ayarlayacaktır."
-#: plinth/modules/datetime/forms.py:49
+#: plinth/modules/datetime/forms.py:47
msgid "-- no time zone set --"
msgstr "-- hiçbir saat dilimi girilmemiştir --"
@@ -784,7 +795,7 @@ msgid "Deluge"
msgstr "Deluge"
#: plinth/modules/deluge/__init__.py:41
-#: plinth/modules/transmission/__init__.py:41
+#: plinth/modules/transmission/__init__.py:43
msgid "BitTorrent Web Client"
msgstr "BitTorrent Web İstemcisi"
@@ -804,7 +815,7 @@ msgstr ""
"derhal değiştirmeniz gerekmektedir."
#: plinth/modules/deluge/__init__.py:51
-#: plinth/modules/transmission/__init__.py:54
+#: plinth/modules/transmission/__init__.py:56
msgid "Download files using BitTorrent applications"
msgstr "BitTorrent uygulamaları kullanarak dosya indir"
@@ -868,12 +879,12 @@ msgstr "Test"
msgid "Result"
msgstr "Sonuç"
-#: plinth/modules/diaspora/__init__.py:52
+#: plinth/modules/diaspora/__init__.py:54
#: plinth/modules/diaspora/manifest.py:38
msgid "diaspora*"
msgstr "diaspora*"
-#: plinth/modules/diaspora/__init__.py:54
+#: plinth/modules/diaspora/__init__.py:56
msgid "Federated Social Network"
msgstr "Federe Sosyal Ağ"
@@ -930,22 +941,22 @@ msgstr ""
#: plinth/modules/tahoe/templates/tahoe-pre-setup.html:58
#: plinth/modules/tor/templates/tor.html:96
#: plinth/modules/upgrades/templates/upgrades_configure.html:32
-#: plinth/templates/service.html:89
+#: plinth/templates/app.html:89
msgid "Update setup"
msgstr "Kurulumu güncelle"
-#: plinth/modules/diaspora/views.py:97 plinth/modules/ejabberd/views.py:64
-#: plinth/modules/matrixsynapse/views.py:107
-#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:150
-#: plinth/modules/tor/views.py:146 plinth/views.py:160
+#: plinth/modules/diaspora/views.py:94 plinth/modules/ejabberd/views.py:65
+#: plinth/modules/matrixsynapse/views.py:108
+#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:148
+#: plinth/modules/tor/views.py:148 plinth/views.py:174
msgid "Setting unchanged"
msgstr "Ayar değiştirilmedi"
-#: plinth/modules/diaspora/views.py:101
+#: plinth/modules/diaspora/views.py:98
msgid "User registrations enabled"
msgstr "Kullanıcı kayıtları etkinleştirildi"
-#: plinth/modules/diaspora/views.py:105
+#: plinth/modules/diaspora/views.py:102
msgid "User registrations disabled"
msgstr "Kullanıcı kayıtları devre dışı bırakıldı"
@@ -982,8 +993,8 @@ msgstr ""
"sunucu DNS isminizi yeni IP adresi ile ilişkilendirecek ve İnternet'te "
"birisi DNS isminizi sorguladığında güncel IP adresinizi elde edebilecektir."
-#: plinth/modules/dynamicdns/__init__.py:85
-#: plinth/modules/dynamicdns/views.py:167
+#: plinth/modules/dynamicdns/__init__.py:87
+#: plinth/modules/dynamicdns/views.py:169
msgid "Dynamic DNS Service"
msgstr "Dinamik DNS Servisi"
@@ -1089,7 +1100,7 @@ msgid "Username"
msgstr "Kullanıcı ismi"
#: plinth/modules/dynamicdns/forms.py:121 plinth/modules/networks/forms.py:235
-#: plinth/modules/shadowsocks/forms.py:70
+#: plinth/modules/shadowsocks/forms.py:61
msgid "Password"
msgstr "Parola"
@@ -1184,39 +1195,39 @@ msgstr ""
msgid "Last update"
msgstr "Son güncelleme"
-#: plinth/modules/dynamicdns/views.py:41 plinth/modules/help/help.py:57
+#: plinth/modules/dynamicdns/views.py:41 plinth/modules/help/help.py:59
msgid "About"
msgstr "Hakkında"
-#: plinth/modules/dynamicdns/views.py:47
+#: plinth/modules/dynamicdns/views.py:49
#: plinth/modules/firewall/templates/firewall.html:25
#: plinth/modules/firewall/templates/firewall.html:45
#: plinth/modules/i2p/templates/i2p.html:27
#: plinth/modules/networks/templates/connection_show.html:261
#: plinth/modules/openvpn/templates/openvpn.html:71
#: plinth/modules/tor/templates/tor.html:40
-#: plinth/modules/tor/templates/tor.html:68 plinth/templates/service.html:51
+#: plinth/modules/tor/templates/tor.html:68 plinth/templates/app.html:51
msgid "Status"
msgstr "Durum"
-#: plinth/modules/dynamicdns/views.py:78
+#: plinth/modules/dynamicdns/views.py:80
msgid "Configure Dynamic DNS"
msgstr "Dİnamik DNS'i Yapılandır"
-#: plinth/modules/dynamicdns/views.py:103
+#: plinth/modules/dynamicdns/views.py:105
msgid "Dynamic DNS Status"
msgstr "Dinamik DNS Durumu"
-#: plinth/modules/ejabberd/__init__.py:43
+#: plinth/modules/ejabberd/__init__.py:45
msgid "ejabberd"
msgstr "ejabberd"
-#: plinth/modules/ejabberd/__init__.py:45
-#: plinth/modules/matrixsynapse/__init__.py:43
+#: plinth/modules/ejabberd/__init__.py:47
+#: plinth/modules/matrixsynapse/__init__.py:45
msgid "Chat Server"
msgstr "Sohbet Sunucusu"
-#: plinth/modules/ejabberd/__init__.py:48
+#: plinth/modules/ejabberd/__init__.py:50
msgid ""
"XMPP is an open and standardized communication protocol. Here you can run "
"and configure your XMPP server, called ejabberd."
@@ -1224,7 +1235,7 @@ msgstr ""
"XMPP açık ve standardize edilmiş bir iletişim protokolüdür. Burada ejabberd "
"isimli XMPP sunucusunu yapılandırıp çalıştırabilirsiniz."
-#: plinth/modules/ejabberd/__init__.py:51
+#: plinth/modules/ejabberd/__init__.py:53
#, fuzzy, python-brace-format
#| msgid ""
#| "To actually communicate, you can use the kullanıcıları, "
"ki {box_name}hesabı olan tarafından kullanılabilir."
-#: plinth/modules/ejabberd/forms.py:33
+#: plinth/modules/ejabberd/forms.py:32
msgid "Enable Message Archive Management"
msgstr "Mesaj Arşivi Yönetimini Etkinleştir"
-#: plinth/modules/ejabberd/forms.py:36
+#: plinth/modules/ejabberd/forms.py:34
#, python-brace-format
msgid ""
"If enabled, your {box_name} will store chat message histories. This allows "
@@ -1334,35 +1345,23 @@ msgstr "Ağ istemcisini başlat"
#: plinth/modules/openvpn/templates/openvpn.html:123
#: plinth/modules/snapshot/templates/snapshot.html:27
#: plinth/modules/tahoe/templates/tahoe-post-setup.html:43
-#: plinth/modules/tor/templates/tor.html:88 plinth/templates/service.html:81
+#: plinth/modules/tor/templates/tor.html:88 plinth/templates/app.html:81
msgid "Configuration"
msgstr "Yapılandırma"
-#: plinth/modules/ejabberd/views.py:68
-#: plinth/modules/matrixsynapse/views.py:111
-#: plinth/modules/mediawiki/views.py:79 plinth/views.py:164
-msgid "Application enabled"
-msgstr "Uygulama etkinleştirildi"
-
-#: plinth/modules/ejabberd/views.py:71
-#: plinth/modules/matrixsynapse/views.py:114
-#: plinth/modules/mediawiki/views.py:82 plinth/views.py:167
-msgid "Application disabled"
-msgstr "Uygulama devre dışı bırakıldı"
-
-#: plinth/modules/ejabberd/views.py:78
+#: plinth/modules/ejabberd/views.py:77
msgid "Message Archive Management enabled"
msgstr "Mesaj Arşivi Yönetimi etkinleştirilmiştir"
-#: plinth/modules/ejabberd/views.py:82
+#: plinth/modules/ejabberd/views.py:81
msgid "Message Archive Management disabled"
msgstr "Mesaj Arşivi Yönetimi devre dışı bırakılmıştır"
-#: plinth/modules/firewall/__init__.py:40
+#: plinth/modules/firewall/__init__.py:36
msgid "Firewall"
msgstr "Güvenlik Duvarı"
-#: plinth/modules/firewall/__init__.py:44
+#: plinth/modules/firewall/__init__.py:40
#, python-brace-format
msgid ""
"Firewall is a security system that controls the incoming and outgoing "
@@ -1482,29 +1481,29 @@ msgstr "Kuruluma Başla"
msgid "Setup Complete"
msgstr "Yapılandırma Tamamlandı"
-#: plinth/modules/help/help.py:44
+#: plinth/modules/help/help.py:46
msgid "Documentation"
msgstr "Belgelendirme"
-#: plinth/modules/help/help.py:48 plinth/modules/networks/forms.py:68
+#: plinth/modules/help/help.py:50 plinth/modules/networks/forms.py:68
#: plinth/modules/networks/forms.py:108 plinth/templates/index.html:135
msgid "Manual"
msgstr "Kullanım Kılavuzu"
-#: plinth/modules/help/help.py:53
+#: plinth/modules/help/help.py:55
msgid "Download Manual"
msgstr "Kılavuzu İndir"
-#: plinth/modules/help/help.py:73
+#: plinth/modules/help/help.py:75
msgid "Documentation and FAQ"
msgstr "Belgelendirme ve SSS"
-#: plinth/modules/help/help.py:81
+#: plinth/modules/help/help.py:83
#, python-brace-format
msgid "About {box_name}"
msgstr "{box_name} hakkında"
-#: plinth/modules/help/help.py:102
+#: plinth/modules/help/help.py:104
#, python-brace-format
msgid "{box_name} Manual"
msgstr "{box_name} Kılavuzu"
@@ -1668,15 +1667,15 @@ msgstr ""
"Hata raporunu göndermeden önce lütfen kütükten parolaları ve diğer kişisel "
"verileri kaldırınız."
-#: plinth/modules/i2p/__init__.py:40 plinth/modules/i2p/manifest.py:31
+#: plinth/modules/i2p/__init__.py:42 plinth/modules/i2p/manifest.py:31
msgid "I2P"
msgstr "I2P"
-#: plinth/modules/i2p/__init__.py:42 plinth/modules/tor/__init__.py:45
+#: plinth/modules/i2p/__init__.py:44 plinth/modules/tor/__init__.py:48
msgid "Anonymity Network"
msgstr "Anonimlik Ağı"
-#: plinth/modules/i2p/__init__.py:45
+#: plinth/modules/i2p/__init__.py:47
msgid ""
"The Invisible Internet Project is an anonymous network layer intended to "
"protect communication from censorship and surveillance. I2P provides "
@@ -1684,7 +1683,7 @@ msgid ""
"distributed around the world."
msgstr ""
-#: plinth/modules/i2p/__init__.py:49
+#: plinth/modules/i2p/__init__.py:51
#, fuzzy
#| msgid ""
#| "For more information about the %(box_name)s project, see the %(box_name)s Vikisini okuyunuz."
-#: plinth/modules/i2p/__init__.py:51
+#: plinth/modules/i2p/__init__.py:53
msgid ""
"The first visit to the provided web interface will initiate the "
"configuration process."
msgstr ""
-#: plinth/modules/i2p/__init__.py:57
+#: plinth/modules/i2p/__init__.py:59
#, fuzzy
#| msgid "Enable application"
msgid "Manage I2P application"
msgstr "Uygulamayı etkinleştir"
-#: plinth/modules/i2p/templates/i2p.html:32 plinth/templates/service.html:56
+#: plinth/modules/i2p/templates/i2p.html:32 plinth/templates/app.html:56
#, python-format
msgid "Service %(service_name)s is running."
msgstr "%(service_name)s servisi çalışmaktadır."
-#: plinth/modules/i2p/templates/i2p.html:37 plinth/templates/service.html:61
+#: plinth/modules/i2p/templates/i2p.html:37 plinth/templates/app.html:61
#, python-format
msgid "Service %(service_name)s is not running."
msgstr "%(service_name)s servisi çalışmamaktadır."
-#: plinth/modules/i2p/templates/i2p_service.html:13
+#: plinth/modules/i2p/templates/i2p_service.html:31
#: plinth/templates/clients.html:51
msgid "Launch"
msgstr "Başlat"
@@ -1731,43 +1730,43 @@ msgstr ""
msgid "Anonymous torrents"
msgstr "Anonim torrentler"
-#: plinth/modules/i2p/views.py:86
+#: plinth/modules/i2p/views.py:88
msgid "I2P Proxies and Tunnels"
msgstr ""
-#: plinth/modules/i2p/views.py:89
+#: plinth/modules/i2p/views.py:91
msgid ""
"I2P lets you browse the Internet and hidden services (eepsites) anonymously. "
"For this, your browser, preferably a Tor Browser, needs to be configured for "
"a proxy."
msgstr ""
-#: plinth/modules/i2p/views.py:92
+#: plinth/modules/i2p/views.py:94
msgid ""
"By default HTTP, HTTPS and IRC proxies are available. Additional proxies and "
"tunnels may be configured using the tunnel configuration interface."
msgstr ""
-#: plinth/modules/i2p/views.py:101
+#: plinth/modules/i2p/views.py:103
msgid "Anonymous Torrents"
msgstr ""
-#: plinth/modules/i2p/views.py:104
+#: plinth/modules/i2p/views.py:106
msgid ""
"I2P provides an application to download files anonymously in a peer-to-peer "
"network. Download files by adding torrents or create a new torrent to share "
"a file."
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:42 plinth/modules/ikiwiki/manifest.py:24
+#: plinth/modules/ikiwiki/__init__.py:41 plinth/modules/ikiwiki/manifest.py:24
msgid "ikiwiki"
msgstr "ikiwiki"
-#: plinth/modules/ikiwiki/__init__.py:44
+#: plinth/modules/ikiwiki/__init__.py:43
msgid "Wiki and Blog"
msgstr "Viki ve Blog"
-#: plinth/modules/ikiwiki/__init__.py:47
+#: plinth/modules/ikiwiki/__init__.py:46
msgid ""
"ikiwiki is a simple wiki and blog application. It supports several "
"lightweight markup languages, including Markdown, and common blogging "
@@ -1780,7 +1779,7 @@ msgstr ""
"bloglar ve vikiler (oluşturulduklarında) /ikiwiki "
"adresinde erişilebilir olacaklardır."
-#: plinth/modules/ikiwiki/__init__.py:53
+#: plinth/modules/ikiwiki/__init__.py:52
#, fuzzy, python-brace-format
#| msgid ""
#| "Only {box_name} users in the admin group can create and "
@@ -1799,7 +1798,7 @@ msgstr ""
"href=\"/plinth/sys/users\">Kullanıcı Yapılandırması bölümünde bu "
"izinleri değiştirebilir ya da yeni kullanıcı ekleyebilirsiniz."
-#: plinth/modules/ikiwiki/__init__.py:63
+#: plinth/modules/ikiwiki/__init__.py:62
msgid "View and edit wiki applications"
msgstr "Viki uygulamalarını görüntüle ve düzenle"
@@ -1870,51 +1869,51 @@ msgstr "%(site)s sitesine git"
msgid "Manage"
msgstr "Yönet"
-#: plinth/modules/ikiwiki/views.py:121
+#: plinth/modules/ikiwiki/views.py:124
#, python-brace-format
msgid "Created wiki {name}."
msgstr "{name} isimli viki oluşturuldu."
-#: plinth/modules/ikiwiki/views.py:124
+#: plinth/modules/ikiwiki/views.py:127
#, python-brace-format
msgid "Could not create wiki: {error}"
msgstr "Viki oluşturulamadı: {error}"
-#: plinth/modules/ikiwiki/views.py:134
+#: plinth/modules/ikiwiki/views.py:137
#, python-brace-format
msgid "Created blog {name}."
msgstr "{name} isimli blog oluşturuldu."
-#: plinth/modules/ikiwiki/views.py:137
+#: plinth/modules/ikiwiki/views.py:140
#, python-brace-format
msgid "Could not create blog: {error}"
msgstr "Blog oluşturulamadı: {error}"
-#: plinth/modules/ikiwiki/views.py:150
+#: plinth/modules/ikiwiki/views.py:153
#, python-brace-format
msgid "{name} deleted."
msgstr "{name} silindi."
-#: plinth/modules/ikiwiki/views.py:154
+#: plinth/modules/ikiwiki/views.py:157
#, python-brace-format
msgid "Could not delete {name}: {error}"
msgstr "{name} silinemedi: {error}"
-#: plinth/modules/infinoted/__init__.py:41
+#: plinth/modules/infinoted/__init__.py:40
msgid "infinoted"
msgstr "infinoted"
-#: plinth/modules/infinoted/__init__.py:43
+#: plinth/modules/infinoted/__init__.py:42
msgid "Gobby Server"
msgstr "Gobby Sunucusu"
-#: plinth/modules/infinoted/__init__.py:46
+#: plinth/modules/infinoted/__init__.py:45
msgid "infinoted is a server for Gobby, a collaborative text editor."
msgstr ""
"infinoted, işbirliğine izin veren bir metin düzenleyici olan Gobby için bir "
"sunucudur."
-#: plinth/modules/infinoted/__init__.py:48
+#: plinth/modules/infinoted/__init__.py:47
#, python-brace-format
msgid ""
"To use it, download Gobby, desktop "
@@ -2359,11 +2358,11 @@ msgstr "{domain} alanı için sertifika başarılı bir şekilde silindi"
msgid "Failed to delete certificate for domain {domain}: {error}"
msgstr "{domain} alanı için sertifikanın silinmesi başarısız oldu: {error}"
-#: plinth/modules/matrixsynapse/__init__.py:41
+#: plinth/modules/matrixsynapse/__init__.py:43
msgid "Matrix Synapse"
msgstr "Matrix Synapse"
-#: plinth/modules/matrixsynapse/__init__.py:46
+#: plinth/modules/matrixsynapse/__init__.py:48
msgid ""
"Matrix is an new "
"ecosystem for open, federated instant messaging and VoIP. Synapse is a "
@@ -2380,7 +2379,7 @@ msgstr ""
"kullanıcılar federasyon sayesinde tüm diğer Matrix sunucularındaki "
"kullanıcılarla iletişimde bulunabilirler."
-#: plinth/modules/matrixsynapse/__init__.py:53
+#: plinth/modules/matrixsynapse/__init__.py:55
msgid ""
"To communicate, you can use the available clients for mobile, desktop and the web. Özel:HesapOluştur sayfasına gidebilirsiniz"
-#: plinth/modules/mediawiki/__init__.py:49
+#: plinth/modules/mediawiki/__init__.py:53
#, fuzzy
#| msgid ""
#| "Anyone with a link to this Wiki can read it. Only users that are logged "
@@ -2566,40 +2565,40 @@ msgstr ""
msgid "Password updated"
msgstr "Parola güncellendi"
-#: plinth/modules/mediawiki/views.py:91
+#: plinth/modules/mediawiki/views.py:89
#, fuzzy
#| msgid "Public registration enabled"
msgid "Public registrations enabled"
msgstr "Herkese açık kayıt etkinleştirildi"
-#: plinth/modules/mediawiki/views.py:100
+#: plinth/modules/mediawiki/views.py:98
#, fuzzy
#| msgid "Public registration disabled"
msgid "Public registrations disabled"
msgstr "Herkese açık kayıt devre dışı bırakıldı"
-#: plinth/modules/mediawiki/views.py:109
+#: plinth/modules/mediawiki/views.py:107
#, fuzzy
#| msgid "PageKite enabled"
msgid "Private mode enabled"
msgstr "PageKite etkinleştirildi"
-#: plinth/modules/mediawiki/views.py:112
+#: plinth/modules/mediawiki/views.py:110
#, fuzzy
#| msgid "PageKite disabled"
msgid "Private mode disabled"
msgstr "PageKite devre dışı"
-#: plinth/modules/minetest/__init__.py:53
+#: plinth/modules/minetest/__init__.py:52
#: plinth/modules/minetest/manifest.py:25
msgid "Minetest"
msgstr "Minetest"
-#: plinth/modules/minetest/__init__.py:55
+#: plinth/modules/minetest/__init__.py:54
msgid "Block Sandbox"
msgstr "Blok Kum Havuzu"
-#: plinth/modules/minetest/__init__.py:59
+#: plinth/modules/minetest/__init__.py:58
#, python-brace-format
msgid ""
"Minetest is a multiplayer infinite-world block sandbox. This module enables "
@@ -2612,22 +2611,22 @@ msgstr ""
"etkinleştirir. Sunucuya bağlanmak için bir Minetest istemcisi gereklidir."
-#: plinth/modules/minetest/forms.py:31
+#: plinth/modules/minetest/forms.py:30
msgid "Maximum number of players"
msgstr "Azami oyuncu sayısı"
-#: plinth/modules/minetest/forms.py:35
+#: plinth/modules/minetest/forms.py:32
msgid ""
"You can change the maximum number of players playing minetest at a single "
"instance of time."
msgstr ""
"Tek bir vakitte minetest oynayan azami oyuncu sayısını değiştirebilirsiniz."
-#: plinth/modules/minetest/forms.py:39
+#: plinth/modules/minetest/forms.py:36
msgid "Enable creative mode"
msgstr "Yaratıcı kipi etkinleştir"
-#: plinth/modules/minetest/forms.py:41
+#: plinth/modules/minetest/forms.py:37
msgid ""
"Creative mode changes the rules of the game to make it more suitable for "
"creative gameplay, rather than challenging \"survival\" gameplay."
@@ -2635,21 +2634,21 @@ msgstr ""
"Yaratıcı kip, oyunun kurallarını \"hayatta kalma\" oyun stili yerine "
"yaratıcı oyun stiline daha uygun olarak değiştirir."
-#: plinth/modules/minetest/forms.py:46
+#: plinth/modules/minetest/forms.py:42
msgid "Enable PVP"
msgstr "PVP'yi Etkinleştir"
-#: plinth/modules/minetest/forms.py:48
+#: plinth/modules/minetest/forms.py:43
msgid "Enabling Player Vs Player will allow players to damage other players."
msgstr ""
"PVP'yi (oyuncuya karşı oyuncu) etkinleştirmek, oyuncuların diğer oyunculara "
"zarar vermesine izin verecektir."
-#: plinth/modules/minetest/forms.py:52
+#: plinth/modules/minetest/forms.py:47
msgid "Enable damage"
msgstr "Zararı etkinleştir"
-#: plinth/modules/minetest/forms.py:54
+#: plinth/modules/minetest/forms.py:48
msgid "When disabled, players cannot die or receive damage of any kind."
msgstr ""
"Devre dışı bırakıldığında, oyuncular ölemez ve hiçbir zarar göremezler."
@@ -2664,56 +2663,56 @@ msgstr "Adres"
msgid "Port"
msgstr "Port"
-#: plinth/modules/minetest/views.py:71
+#: plinth/modules/minetest/views.py:72
msgid "Maximum players configuration updated"
msgstr "Azami oyuncu sayısı yapılandırması güncellendi"
-#: plinth/modules/minetest/views.py:78
+#: plinth/modules/minetest/views.py:79
msgid "Creative mode configuration updated"
msgstr "Yaratıcı kip kurulumu güncellendi"
-#: plinth/modules/minetest/views.py:84
+#: plinth/modules/minetest/views.py:85
msgid "PVP configuration updated"
msgstr "PVP kurulumu güncellendi"
-#: plinth/modules/minetest/views.py:90
+#: plinth/modules/minetest/views.py:91
msgid "Damage configuration updated"
msgstr "Zarar verme kurulumu güncellendi"
-#: plinth/modules/mldonkey/__init__.py:38
+#: plinth/modules/mldonkey/__init__.py:40
#: plinth/modules/mldonkey/manifest.py:27
#, fuzzy
#| msgid "Monkeysphere"
msgid "MLDonkey"
msgstr "Monkeysphere"
-#: plinth/modules/mldonkey/__init__.py:40
+#: plinth/modules/mldonkey/__init__.py:42
#, fuzzy
#| msgid "File Synchronization"
msgid "Peer-to-peer File Sharing"
msgstr "Dosya eşleşmesi"
-#: plinth/modules/mldonkey/__init__.py:43
+#: plinth/modules/mldonkey/__init__.py:45
msgid ""
"MLDonkey is a peer-to-peer file sharing application used to exchange large "
"files. It can participate in multiple peer-to-peer networks including "
"eDonkey, Kademlia, Overnet, BitTorrent and DirectConnect."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:46
+#: plinth/modules/mldonkey/__init__.py:48
msgid ""
"Users belonging to admin and ed2k group can control it through the web "
"interface. Users in the admin group can also control it through any of the "
"separate mobile or desktop front-ends or a telnet interface. See manual."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:51
+#: plinth/modules/mldonkey/__init__.py:53
#, python-brace-format
msgid ""
"On {box_name}, downloaded files can be found in /var/lib/mldonkey/ directory."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:59
+#: plinth/modules/mldonkey/__init__.py:61
#, fuzzy
#| msgid "Download files using BitTorrent applications"
msgid "Download files using eDonkey applications"
@@ -2798,12 +2797,6 @@ msgstr "OpenPGP Parmak izi"
msgid "Secure Shell"
msgstr "Güvenli Kabuk"
-#: plinth/modules/monkeysphere/templates/monkeysphere.html:88
-#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:60
-#: plinth/service.py:138
-msgid "Web Server"
-msgstr "Web Sunucusu"
-
#: plinth/modules/monkeysphere/templates/monkeysphere.html:90
#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:62
msgid "Other"
@@ -2899,15 +2892,15 @@ msgstr "Anahtar, anahtar sunucusuna yayınlandı."
msgid "Error occurred while publishing key."
msgstr "Anahtarın yayınlanmasında bir hata meydana geldi."
-#: plinth/modules/mumble/__init__.py:34 plinth/modules/mumble/manifest.py:27
+#: plinth/modules/mumble/__init__.py:35 plinth/modules/mumble/manifest.py:27
msgid "Mumble"
msgstr "Mumble"
-#: plinth/modules/mumble/__init__.py:36
+#: plinth/modules/mumble/__init__.py:37
msgid "Voice Chat"
msgstr "Ses ile Sohbet"
-#: plinth/modules/mumble/__init__.py:45
+#: plinth/modules/mumble/__init__.py:44
msgid ""
"Mumble is an open source, low-latency, encrypted, high quality voice chat "
"software."
@@ -2915,7 +2908,7 @@ msgstr ""
"Mumble, açık kaynak, düşük gecikmeli, şifreli, yüksek kaliteli sesle sohbet "
"yazılımıdır."
-#: plinth/modules/mumble/__init__.py:47
+#: plinth/modules/mumble/__init__.py:46
msgid ""
"You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your "
@@ -2966,7 +2959,7 @@ msgstr "Mevcut değil"
msgid "Networks"
msgstr "Ağlar"
-#: plinth/modules/networks/__init__.py:142
+#: plinth/modules/networks/__init__.py:144
#, python-brace-format
msgid "Using DNSSEC on IPv{kind}"
msgstr "IPv{kind} üzerinde DNSSEC kullanılıyor"
@@ -3424,7 +3417,7 @@ msgstr "IPv4"
#: plinth/modules/networks/templates/connection_show.html:186
#: plinth/modules/networks/templates/connection_show.html:227
-#: plinth/modules/shadowsocks/forms.py:75
+#: plinth/modules/shadowsocks/forms.py:65
msgid "Method"
msgstr "Metot"
@@ -3556,15 +3549,15 @@ msgstr "Devre Dışı"
msgid "Create..."
msgstr "Oluştur..."
-#: plinth/modules/openvpn/__init__.py:40
+#: plinth/modules/openvpn/__init__.py:39
msgid "OpenVPN"
msgstr "OpenVPN"
-#: plinth/modules/openvpn/__init__.py:42
+#: plinth/modules/openvpn/__init__.py:41
msgid "Virtual Private Network"
msgstr "Sanal Özel Şebeke"
-#: plinth/modules/openvpn/__init__.py:46
+#: plinth/modules/openvpn/__init__.py:45
#, python-brace-format
msgid ""
"Virtual Private Network (VPN) is a technique for securely connecting two "
@@ -3581,7 +3574,7 @@ msgstr ""
"servisleri kullanabilirsiniz. Aynı zamanda ek güvenlik ve anonimlik için "
"İnternet'in geri kalanına {box_name} vasıtasıyla erişebilirsiniz."
-#: plinth/modules/openvpn/__init__.py:74
+#: plinth/modules/openvpn/__init__.py:75
#, python-brace-format
msgid ""
"Download Profile"
@@ -3667,11 +3660,11 @@ msgstr "OpenVPN sunucusu çalışmaktadır"
msgid "OpenVPN server is not running"
msgstr "OpenVPN sunucusu çalışmamaktadır"
-#: plinth/modules/openvpn/views.py:128
+#: plinth/modules/openvpn/views.py:126
msgid "Setup completed."
msgstr "Kurulum tamamlandı."
-#: plinth/modules/openvpn/views.py:130
+#: plinth/modules/openvpn/views.py:128
msgid "Setup failed."
msgstr "Kurulum başarısız oldu."
@@ -3761,7 +3754,7 @@ msgstr ""
"PageKite sunucunuzu seçin. Varsayılan pagekite.net sunucusunu kullanmak için "
"\"pagekite.net\" değerini kullanın."
-#: plinth/modules/pagekite/forms.py:78 plinth/modules/shadowsocks/forms.py:64
+#: plinth/modules/pagekite/forms.py:78 plinth/modules/shadowsocks/forms.py:57
msgid "Server port"
msgstr "Sunucu portu"
@@ -3974,31 +3967,31 @@ msgstr "Yayınlanan servislere İnternet'ten erişim ve saldırı mümkündür."
msgid "Save Services"
msgstr "Servisleri Kaydet"
-#: plinth/modules/pagekite/utils.py:53
+#: plinth/modules/pagekite/utils.py:57
msgid "Web Server (HTTP)"
msgstr "Ağ Sunucusu (HTTP)"
-#: plinth/modules/pagekite/utils.py:54
+#: plinth/modules/pagekite/utils.py:59
#, python-brace-format
msgid "Site will be available at http://{0}"
msgstr ""
"Siteye http://{0} adresinde erişilebilecektir"
-#: plinth/modules/pagekite/utils.py:63
+#: plinth/modules/pagekite/utils.py:71
msgid "Web Server (HTTPS)"
msgstr "Ağ Sunucusu (HTTPS)"
-#: plinth/modules/pagekite/utils.py:64
+#: plinth/modules/pagekite/utils.py:73
#, python-brace-format
msgid "Site will be available at https://{0}"
msgstr ""
"Siteye https://{0} adresinde erişilebilecektir"
-#: plinth/modules/pagekite/utils.py:73
+#: plinth/modules/pagekite/utils.py:85
msgid "Secure Shell (SSH)"
msgstr "Güvenli Kabuk (SSH)"
-#: plinth/modules/pagekite/utils.py:74
+#: plinth/modules/pagekite/utils.py:87
msgid ""
"See SSH client setup instructions"
@@ -4006,19 +3999,19 @@ msgstr ""
"SSH istemci kurulum talimatlarını okuyun"
-#: plinth/modules/pagekite/utils.py:276
+#: plinth/modules/pagekite/utils.py:288
msgid "Pagekite"
msgstr "Pagekite"
-#: plinth/modules/pagekite/views.py:39
+#: plinth/modules/pagekite/views.py:40
msgid "Standard Services"
msgstr "Standart Servisler"
-#: plinth/modules/pagekite/views.py:42
+#: plinth/modules/pagekite/views.py:44
msgid "Custom Services"
msgstr "Özel Servisler"
-#: plinth/modules/pagekite/views.py:156
+#: plinth/modules/pagekite/views.py:158
msgid "Pagekite setup finished. The HTTP and HTTPS services are activated now."
msgstr ""
"Pagekite kurulumu tamamlanmıştır. HTTP ve HTTPS servisleri artık "
@@ -4091,15 +4084,15 @@ msgstr ""
msgid "Shut Down Now"
msgstr "Şimdi Kapat"
-#: plinth/modules/privoxy/__init__.py:41
+#: plinth/modules/privoxy/__init__.py:42
msgid "Privoxy"
msgstr "Privoxy"
-#: plinth/modules/privoxy/__init__.py:43
+#: plinth/modules/privoxy/__init__.py:44
msgid "Web Proxy"
msgstr "Ağ Vekil Sunucusu"
-#: plinth/modules/privoxy/__init__.py:46
+#: plinth/modules/privoxy/__init__.py:47
msgid ""
"Privoxy is a non-caching web proxy with advanced filtering capabilities for "
"enhancing privacy, modifying web page data and HTTP headers, controlling "
@@ -4110,7 +4103,7 @@ msgstr ""
"gelişmiş filtreleme özellikleri bulunan ve önbelleğe veri almayan bir ağ "
"vekil sunucusudur. "
-#: plinth/modules/privoxy/__init__.py:51
+#: plinth/modules/privoxy/__init__.py:52
#, python-brace-format
msgid ""
"You can use Privoxy by modifying your browser proxy settings to your "
@@ -4126,20 +4119,20 @@ msgstr ""
"org/ veya http://p.p adresinde "
"görebilirsiniz."
-#: plinth/modules/privoxy/__init__.py:157
+#: plinth/modules/privoxy/__init__.py:142
#, python-brace-format
msgid "Access {url} with proxy {proxy} on tcp{kind}"
msgstr "{url} konumuna {proxy} vekili vasıtasıyla tcp{kind} üzerinden eriş"
-#: plinth/modules/quassel/__init__.py:41 plinth/modules/quassel/manifest.py:25
+#: plinth/modules/quassel/__init__.py:40 plinth/modules/quassel/manifest.py:25
msgid "Quassel"
msgstr "Quassel"
-#: plinth/modules/quassel/__init__.py:43
+#: plinth/modules/quassel/__init__.py:42
msgid "IRC Client"
msgstr "IRC İstemcisi"
-#: plinth/modules/quassel/__init__.py:47
+#: plinth/modules/quassel/__init__.py:46
#, python-brace-format
msgid ""
"Quassel is an IRC application that is split into two parts, a \"core\" and a "
@@ -4156,7 +4149,7 @@ msgstr ""
"da daha fazla Quassel istemcileri masaüstünden ya da mobil telefondan ona "
"bağlanmak ve ondan bağlantıyı kesmek için kullanılabilir."
-#: plinth/modules/quassel/__init__.py:54
+#: plinth/modules/quassel/__init__.py:53
msgid ""
"You can connect to your Quassel core on the default Quassel port 4242. "
"Clients to connect to Quassel from your Jitsi (for computers) and CSipSimple'ı (Android telefonlar için) içerir."
-#: plinth/modules/repro/__init__.py:53
+#: plinth/modules/repro/__init__.py:55
msgid ""
"Note: Before using repro, domains and users will need to "
"be configured using the web-based "
@@ -4362,15 +4355,15 @@ msgstr ""
msgid "CSipSimple"
msgstr "CSipSimple"
-#: plinth/modules/restore/__init__.py:36 plinth/modules/restore/manifest.py:23
+#: plinth/modules/restore/__init__.py:37 plinth/modules/restore/manifest.py:23
msgid "reStore"
msgstr "reStore"
-#: plinth/modules/restore/__init__.py:38
+#: plinth/modules/restore/__init__.py:39
msgid "Unhosted Storage"
msgstr "Barındırılmayan Depolama"
-#: plinth/modules/restore/__init__.py:42
+#: plinth/modules/restore/__init__.py:43
#, python-brace-format
msgid ""
"reStore is a server for unhosted web "
@@ -4386,7 +4379,7 @@ msgstr ""
"sunucusunda depolanabilir. reStore ile {box_name} kutunuz barındırılmayan "
"depolama sunucunuz haline gelir."
-#: plinth/modules/restore/__init__.py:48
+#: plinth/modules/restore/__init__.py:49
msgid ""
"You can create and edit accounts in the reStore web-"
"interface."
@@ -4394,16 +4387,16 @@ msgstr ""
"reStore ağ arayüzünde hesap oluşturabilir ve "
"düzenleyebilirsiniz."
-#: plinth/modules/roundcube/__init__.py:34
+#: plinth/modules/roundcube/__init__.py:35
#: plinth/modules/roundcube/manifest.py:24
msgid "Roundcube"
msgstr "Roundcube"
-#: plinth/modules/roundcube/__init__.py:36
+#: plinth/modules/roundcube/__init__.py:37
msgid "Email Client"
msgstr "E-posta İstemcisi"
-#: plinth/modules/roundcube/__init__.py:39
+#: plinth/modules/roundcube/__init__.py:40
msgid ""
"Roundcube webmail is a browser-based multilingual IMAP client with an "
"application-like user interface. It provides full functionality you expect "
@@ -4415,7 +4408,7 @@ msgstr ""
"istemcilerinden beklediğiniz tüm işlevleri sağlar ve buna MIME desteği, "
"adres defteri, klasör düzenleme, mesaj arama ve imlâ kontrolü de dahildir."
-#: plinth/modules/roundcube/__init__.py:44
+#: plinth/modules/roundcube/__init__.py:45
msgid ""
"You can access Roundcube from /roundcube. Provide "
"the username and password of the email account you wish to access followed "
@@ -4430,7 +4423,7 @@ msgstr ""
"tavsiye edilir), sunucu alanını imaps://imap.example.com gibi "
"doldurun."
-#: plinth/modules/roundcube/__init__.py:50
+#: plinth/modules/roundcube/__init__.py:51
msgid ""
"For Gmail, username will be your Gmail address, password will be your Google "
"account password and server will be imaps://imap.gmail.com. "
@@ -4503,12 +4496,12 @@ msgstr ""
msgid "Allow this application to be used by anyone who can reach it."
msgstr ""
-#: plinth/modules/searx/views.py:60 plinth/modules/searx/views.py:71
-#: plinth/modules/tor/views.py:139 plinth/modules/tor/views.py:168
+#: plinth/modules/searx/views.py:59 plinth/modules/searx/views.py:70
+#: plinth/modules/tor/views.py:141 plinth/modules/tor/views.py:168
msgid "Configuration updated."
msgstr "Kurulum güncellendi."
-#: plinth/modules/searx/views.py:63 plinth/modules/searx/views.py:74
+#: plinth/modules/searx/views.py:62 plinth/modules/searx/views.py:73
#: plinth/modules/tor/views.py:170
msgid "An error occurred during configuration."
msgstr "Yapılandırma sırasında bir hata meydana geldi."
@@ -4574,15 +4567,15 @@ msgstr ""
"ayarlamanız gerekecek olan sadece tek bir kullanıcı hesabını desteklediğini "
"unutmayın."
-#: plinth/modules/shadowsocks/__init__.py:34
+#: plinth/modules/shadowsocks/__init__.py:35
msgid "Shadowsocks"
msgstr "Shadowsocks"
-#: plinth/modules/shadowsocks/__init__.py:36
+#: plinth/modules/shadowsocks/__init__.py:37
msgid "Socks5 Proxy"
msgstr "Socks5 Vekil Sunucusu"
-#: plinth/modules/shadowsocks/__init__.py:45
+#: plinth/modules/shadowsocks/__init__.py:44
msgid ""
"Shadowsocks is a lightweight and secure SOCKS5 proxy, designed to protect "
"your Internet traffic. It can be used to bypass Internet filtering and "
@@ -4592,7 +4585,7 @@ msgstr ""
"bir SOCKS5 vekil sunucusudur. İnternet filtreleme ve sansürünü atlatmak için "
"kullanılabilir."
-#: plinth/modules/shadowsocks/__init__.py:49
+#: plinth/modules/shadowsocks/__init__.py:48
#, python-brace-format
msgid ""
"Your {box_name} can run a Shadowsocks client, that can connect to a "
@@ -4605,7 +4598,7 @@ msgstr ""
"çalıştıracaktır. Yerel cihazlar bu vekil sunucuya bağlanacaktır ve verileri "
"şifrelenip Shadowsocks sunucusu aracılığıyla aktarılacaktır."
-#: plinth/modules/shadowsocks/__init__.py:54
+#: plinth/modules/shadowsocks/__init__.py:53
msgid ""
"To use Shadowsocks after setup, set the SOCKS5 proxy URL in your device, "
"browser or application to http://freedombox_address:1080/"
@@ -4614,30 +4607,30 @@ msgstr ""
"tarayıcınızda ya da uygulamanızda SOCKS5 adresini http://"
"freedombox_address:1080/ olarak ayarlayın"
+#: plinth/modules/shadowsocks/forms.py:28
#: plinth/modules/shadowsocks/forms.py:29
-#: plinth/modules/shadowsocks/forms.py:30
msgid "Recommended"
msgstr "Tavsiye edilir"
-#: plinth/modules/shadowsocks/forms.py:60
+#: plinth/modules/shadowsocks/forms.py:54
msgid "Server"
msgstr "Sunucu"
-#: plinth/modules/shadowsocks/forms.py:61
+#: plinth/modules/shadowsocks/forms.py:54
msgid "Server hostname or IP address"
msgstr "Sunucu makine ismi ya da IP adresi"
-#: plinth/modules/shadowsocks/forms.py:67
+#: plinth/modules/shadowsocks/forms.py:58
msgid "Server port number"
msgstr "Sunucu port numarası"
-#: plinth/modules/shadowsocks/forms.py:71
+#: plinth/modules/shadowsocks/forms.py:61
msgid "Password used to encrypt data. Must match server password."
msgstr ""
"Verileri şifrelemek için kullanılacak parola. Sunucu parolasıyla eşleşmesi "
"gerekir."
-#: plinth/modules/shadowsocks/forms.py:77
+#: plinth/modules/shadowsocks/forms.py:66
msgid "Encryption method. Must match setting on server."
msgstr "Şifreleme metodu. Sunucudaki ayarla eşleşmesi gerekir."
@@ -4946,7 +4939,7 @@ msgstr "Anlık oluşturuldu."
msgid "Storage snapshots configuration updated"
msgstr "Zaman Çizelgesi Anlıklarının yapılandırması güncellendi"
-#: plinth/modules/snapshot/views.py:153 plinth/modules/tor/views.py:72
+#: plinth/modules/snapshot/views.py:153 plinth/modules/tor/views.py:73
#, python-brace-format
msgid "Action error: {0} [{1}] [{2}]"
msgstr "Eylem hatası: {0} [{1}] [{2}]"
@@ -4981,11 +4974,11 @@ msgstr ""
msgid "Rollback to Snapshot"
msgstr "Anlığa Geri Al"
-#: plinth/modules/ssh/__init__.py:39
+#: plinth/modules/ssh/__init__.py:40
msgid "Secure Shell (SSH) Server"
msgstr "Güvenli Kabuk (SSH) Sunucusu"
-#: plinth/modules/ssh/__init__.py:42
+#: plinth/modules/ssh/__init__.py:43
msgid ""
"A Secure Shell server uses the secure shell protocol to accept connections "
"from remote computers. An authorized remote computer can perform "
@@ -5005,11 +4998,11 @@ msgstr "Tekli Oturum Açma"
msgid "Login"
msgstr "Giriş"
-#: plinth/modules/storage/__init__.py:36 plinth/modules/storage/views.py:53
+#: plinth/modules/storage/__init__.py:35 plinth/modules/storage/views.py:53
msgid "Storage"
msgstr "Depolama"
-#: plinth/modules/storage/__init__.py:44
+#: plinth/modules/storage/__init__.py:43
#, python-brace-format
msgid ""
"This module allows you to manage storage media attached to your {box_name}. "
@@ -5017,86 +5010,86 @@ msgid ""
"media, expand the root partition etc."
msgstr ""
-#: plinth/modules/storage/__init__.py:211
+#: plinth/modules/storage/__init__.py:213
#, python-brace-format
msgid "{disk_size:.1f} bytes"
msgstr "{disk_size:.1f} bayt"
-#: plinth/modules/storage/__init__.py:215
+#: plinth/modules/storage/__init__.py:217
#, python-brace-format
msgid "{disk_size:.1f} KiB"
msgstr "{disk_size:.1f} KiB"
-#: plinth/modules/storage/__init__.py:219
+#: plinth/modules/storage/__init__.py:221
#, python-brace-format
msgid "{disk_size:.1f} MiB"
msgstr "{disk_size:.1f} MiB"
-#: plinth/modules/storage/__init__.py:223
+#: plinth/modules/storage/__init__.py:225
#, python-brace-format
msgid "{disk_size:.1f} GiB"
msgstr "{disk_size:.1f} GiB"
-#: plinth/modules/storage/__init__.py:226
+#: plinth/modules/storage/__init__.py:228
#, python-brace-format
msgid "{disk_size:.1f} TiB"
msgstr "{disk_size:.1f} TiB"
-#: plinth/modules/storage/__init__.py:233
+#: plinth/modules/storage/__init__.py:235
msgid "The operation failed."
msgstr ""
-#: plinth/modules/storage/__init__.py:235
+#: plinth/modules/storage/__init__.py:237
msgid "The operation was cancelled."
msgstr ""
-#: plinth/modules/storage/__init__.py:237
+#: plinth/modules/storage/__init__.py:239
#, fuzzy
#| msgid "repro service is running"
msgid "The device is already unmounting."
msgstr "repro servisi çalışmaktadır"
-#: plinth/modules/storage/__init__.py:239
+#: plinth/modules/storage/__init__.py:241
msgid "The operation is not supported due to missing driver/tool support."
msgstr ""
-#: plinth/modules/storage/__init__.py:242
+#: plinth/modules/storage/__init__.py:244
msgid "The operation timed out."
msgstr ""
-#: plinth/modules/storage/__init__.py:244
+#: plinth/modules/storage/__init__.py:246
msgid "The operation would wake up a disk that is in a deep-sleep state."
msgstr ""
-#: plinth/modules/storage/__init__.py:247
+#: plinth/modules/storage/__init__.py:249
msgid "Attempting to unmount a device that is busy."
msgstr ""
-#: plinth/modules/storage/__init__.py:249
+#: plinth/modules/storage/__init__.py:251
msgid "The operation has already been cancelled."
msgstr ""
-#: plinth/modules/storage/__init__.py:255
+#: plinth/modules/storage/__init__.py:257
msgid "Not authorized to perform the requested operation."
msgstr ""
-#: plinth/modules/storage/__init__.py:257
+#: plinth/modules/storage/__init__.py:259
#, fuzzy
#| msgid "This service already exists"
msgid "The device is already mounted."
msgstr "Bu servis zaten mevcuttur"
-#: plinth/modules/storage/__init__.py:259
+#: plinth/modules/storage/__init__.py:261
#, fuzzy
#| msgid "repro service is not running"
msgid "The device is not mounted."
msgstr "repro servisi çalışmamaktadır"
-#: plinth/modules/storage/__init__.py:262
+#: plinth/modules/storage/__init__.py:264
msgid "Not permitted to use the requested option."
msgstr ""
-#: plinth/modules/storage/__init__.py:265
+#: plinth/modules/storage/__init__.py:267
msgid "The device is mounted by another user."
msgstr ""
@@ -5183,16 +5176,16 @@ msgstr ""
msgid "Error ejecting device: {error_message}"
msgstr ""
-#: plinth/modules/syncthing/__init__.py:38
+#: plinth/modules/syncthing/__init__.py:40
#: plinth/modules/syncthing/manifest.py:28
msgid "Syncthing"
msgstr "Syncthing"
-#: plinth/modules/syncthing/__init__.py:40
+#: plinth/modules/syncthing/__init__.py:42
msgid "File Synchronization"
msgstr "Dosya eşleşmesi"
-#: plinth/modules/syncthing/__init__.py:43
+#: plinth/modules/syncthing/__init__.py:45
msgid ""
"Syncthing is an application to synchronize files across multiple devices, e."
"g. your desktop computer and mobile phone. Creation, modification, or "
@@ -5204,7 +5197,7 @@ msgstr ""
"oluşturulması, değiştirilmesi ya da silinmesi, Syncthing çalıştıran diğer "
"tüm cihazlarda da otomatik olarak meydana gelecektir."
-#: plinth/modules/syncthing/__init__.py:48
+#: plinth/modules/syncthing/__init__.py:50
#, python-brace-format
msgid ""
"Running Syncthing on {box_name} provides an extra synchronization point for "
@@ -5222,7 +5215,7 @@ msgstr ""
"{box_name} üzerindeki ağ arayüzü sadece \"admin\" yani yönetici grubuna ait "
"kullanıcılar tarafından kullanılabilir."
-#: plinth/modules/syncthing/__init__.py:55
+#: plinth/modules/syncthing/__init__.py:57
msgid ""
"When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile clients are also syncthing konumundan kullanılabilir. Masaüstü ve mobil istemciler de "
"mevcuttur.."
-#: plinth/modules/syncthing/__init__.py:62
+#: plinth/modules/syncthing/__init__.py:64
#, fuzzy
#| msgid "Install this application?"
msgid "Administer Syncthing application"
msgstr "Bu uygulama kurulsun mu?"
-#: plinth/modules/tahoe/__init__.py:41
+#: plinth/modules/tahoe/__init__.py:43
msgid "Tahoe-LAFS"
msgstr "Tahoe-LAFS"
-#: plinth/modules/tahoe/__init__.py:43
+#: plinth/modules/tahoe/__init__.py:45
msgid "Distributed File Storage"
msgstr "Dağıtılmış Dosya Depolaması"
-#: plinth/modules/tahoe/__init__.py:107
+#: plinth/modules/tahoe/__init__.py:119
msgid ""
"Tahoe-LAFS is a decentralized secure file storage system. It uses provider "
"independent security to store files over a distributed network of storage "
@@ -5258,7 +5251,7 @@ msgstr ""
"bağımsız güvenlik kullanır. Bazı düğümler arızalansa bile dosyalarınız kalan "
"düğümlerden alınabilir."
-#: plinth/modules/tahoe/__init__.py:112
+#: plinth/modules/tahoe/__init__.py:124
#, python-brace-format
msgid ""
"This {box_name} hosts a storage node and an introducer by default. "
@@ -5308,11 +5301,11 @@ msgstr "Bağlı tanıtıcılar"
msgid "Remove"
msgstr "Kaldır"
-#: plinth/modules/tor/__init__.py:43
+#: plinth/modules/tor/__init__.py:46
msgid "Tor"
msgstr "Tor"
-#: plinth/modules/tor/__init__.py:48
+#: plinth/modules/tor/__init__.py:51
msgid ""
"Tor is an anonymous communication system. You can learn more about it from "
"the Tor Project website. For "
@@ -5326,42 +5319,38 @@ msgstr ""
"href=\"https://www.torproject.org/download/download-easy.html\">Tor "
"Tarayıcısını kullanmanızı tavsiye eder."
-#: plinth/modules/tor/__init__.py:93
+#: plinth/modules/tor/__init__.py:80
#, fuzzy
#| msgid "Socks5 Proxy"
msgid "Tor Socks Proxy"
msgstr "Socks5 Vekil Sunucusu"
-#: plinth/modules/tor/__init__.py:99 plinth/modules/tor/__init__.py:146
+#: plinth/modules/tor/__init__.py:84
msgid "Tor Bridge Relay"
msgstr "Tor Köprü Aktarması"
-#: plinth/modules/tor/__init__.py:120 plinth/modules/tor/__init__.py:188
+#: plinth/modules/tor/__init__.py:122 plinth/modules/tor/__init__.py:150
msgid "Tor Hidden Service"
msgstr "Tor Gizli Servisi"
-#: plinth/modules/tor/__init__.py:136
-msgid "Tor Anonymity Network"
-msgstr "Tor Anonimlik Ağı"
-
-#: plinth/modules/tor/__init__.py:208
+#: plinth/modules/tor/__init__.py:170
msgid "Tor relay port available"
msgstr "Tor geçit portu mevcuttur"
-#: plinth/modules/tor/__init__.py:218
+#: plinth/modules/tor/__init__.py:180
msgid "Obfs3 transport registered"
msgstr "Obfs3 taşıma kayıtlıdır"
-#: plinth/modules/tor/__init__.py:226
+#: plinth/modules/tor/__init__.py:188
msgid "Obfs4 transport registered"
msgstr "Obfs4 taşıma kayıtlıdır"
-#: plinth/modules/tor/__init__.py:265
+#: plinth/modules/tor/__init__.py:227
#, python-brace-format
msgid "Access URL {url} on tcp{kind} via Tor"
msgstr "{url} bağlantısına tcp{kind} üzerinden Tor vasıtasıyla eriş"
-#: plinth/modules/tor/__init__.py:276
+#: plinth/modules/tor/__init__.py:238
#, python-brace-format
msgid "Confirm Tor usage at {url} on tcp{kind}"
msgstr "tcp{kind} üzerinden {url} konumunda Tor kullanımını teyit et"
@@ -5521,12 +5510,12 @@ msgstr ""
"Bir Tor SOCKS bağlantı noktası %(box_name)s kutunuzda TCP 9050 numaralı "
"portta mevcuttur."
-#: plinth/modules/transmission/__init__.py:39
+#: plinth/modules/transmission/__init__.py:41
#: plinth/modules/transmission/manifest.py:24
msgid "Transmission"
msgstr "Transmission"
-#: plinth/modules/transmission/__init__.py:44
+#: plinth/modules/transmission/__init__.py:46
msgid ""
"BitTorrent is a peer-to-peer file sharing protocol. Transmission daemon "
"handles Bitorrent file sharing. Note that BitTorrent is not anonymous."
@@ -5535,7 +5524,7 @@ msgstr ""
"BitTorrent dosya paylaşımını idare eder. BitTorrent'ın anonim olmadığını "
"unutmayın."
-#: plinth/modules/transmission/__init__.py:47
+#: plinth/modules/transmission/__init__.py:49
msgid ""
"Access the web interface at /transmission."
msgstr ""
@@ -5556,15 +5545,15 @@ msgstr ""
"yeni klasörün var olduğundan ve \"debian-transmission\" kullanıcısı "
"tarafından yazılabilir olduğundan emin olun."
-#: plinth/modules/ttrss/__init__.py:41 plinth/modules/ttrss/manifest.py:34
+#: plinth/modules/ttrss/__init__.py:43 plinth/modules/ttrss/manifest.py:34
msgid "Tiny Tiny RSS"
msgstr "Tiny Tiny RSS"
-#: plinth/modules/ttrss/__init__.py:43
+#: plinth/modules/ttrss/__init__.py:45
msgid "News Feed Reader"
msgstr "Haber Besleme Okuyucusu"
-#: plinth/modules/ttrss/__init__.py:46
+#: plinth/modules/ttrss/__init__.py:48
msgid ""
"Tiny Tiny RSS is a news feed (RSS/Atom) reader and aggregator, designed to "
"allow reading news from any location, while feeling as close to a real "
@@ -5574,7 +5563,7 @@ msgstr ""
"ve haber toplamaları herhangi bir yerden okumaya imkân sağlamak için "
"tasarlanmış bir haber besleme (RSS/Atom) okuyucusu ve toplayıcısıdır."
-#: plinth/modules/ttrss/__init__.py:50
+#: plinth/modules/ttrss/__init__.py:52
#, fuzzy, python-brace-format
#| msgid ""
#| "When enabled, Tiny Tiny RSS will be available from /"
@@ -5590,7 +5579,7 @@ msgstr ""
"users\">{box_name} kullanıcısı, ki oturumu olmalıdır tarafından "
"kullanılabilir."
-#: plinth/modules/ttrss/__init__.py:55
+#: plinth/modules/ttrss/__init__.py:57
msgid ""
"When using a mobile or desktop application for Tiny Tiny RSS, use the URL /tt-rss-app for connecting."
@@ -5598,7 +5587,7 @@ msgstr ""
"Tiny Tiny RSS ile mobil ya da masaüstü uygulama kullanırken bağlantı için /tt-rss-app URL'ini kullanın."
-#: plinth/modules/ttrss/__init__.py:61
+#: plinth/modules/ttrss/__init__.py:63
msgid "Read and subscribe to news feeds"
msgstr "Haber beslemelerini oku ve onlara abone ol"
@@ -5608,11 +5597,11 @@ msgstr "Haber beslemelerini oku ve onlara abone ol"
msgid "Tiny Tiny RSS (Fork)"
msgstr "Tiny Tiny RSS"
-#: plinth/modules/upgrades/__init__.py:36 plinth/templates/setup.html:101
+#: plinth/modules/upgrades/__init__.py:35 plinth/templates/setup.html:101
msgid "Update"
msgstr "Güncelle"
-#: plinth/modules/upgrades/__init__.py:39
+#: plinth/modules/upgrades/__init__.py:38
msgid "Check for and apply the latest software and security updates."
msgstr ""
@@ -5663,34 +5652,34 @@ msgstr ""
msgid "Auto-update"
msgstr "Son güncelleme"
-#: plinth/modules/upgrades/views.py:39
+#: plinth/modules/upgrades/views.py:40
#, fuzzy
#| msgid "Last update"
msgid "Manual update"
msgstr "Son güncelleme"
-#: plinth/modules/upgrades/views.py:78
+#: plinth/modules/upgrades/views.py:79
#, python-brace-format
msgid "Error when configuring unattended-upgrades: {error}"
msgstr "unattended-upgrades yapılandırılırken bir hata oluştu: {error}"
-#: plinth/modules/upgrades/views.py:82
+#: plinth/modules/upgrades/views.py:83
msgid "Automatic upgrades enabled"
msgstr "Otomatik yükseltmeler etkinleştirildi"
-#: plinth/modules/upgrades/views.py:85
+#: plinth/modules/upgrades/views.py:86
msgid "Automatic upgrades disabled"
msgstr "Otomatik yükseltmeler devre dışı bırakıldı"
-#: plinth/modules/upgrades/views.py:87
+#: plinth/modules/upgrades/views.py:88
msgid "Settings unchanged"
msgstr "Ayarlar değiştirilmedi"
-#: plinth/modules/upgrades/views.py:113
+#: plinth/modules/upgrades/views.py:114
msgid "Upgrade process started."
msgstr "Yükseltme süreci başlamıştır."
-#: plinth/modules/upgrades/views.py:116
+#: plinth/modules/upgrades/views.py:117
msgid "Starting upgrade failed."
msgstr "Yükseltmenin başlatılması başarısız oldu."
@@ -5698,7 +5687,7 @@ msgstr "Yükseltmenin başlatılması başarısız oldu."
msgid "Users and Groups"
msgstr "Kullanıcılar ve Gruplar"
-#: plinth/modules/users/__init__.py:106
+#: plinth/modules/users/__init__.py:108
#, python-brace-format
msgid "Check LDAP entry \"{search_item}\""
msgstr "\"{search_item}\" LDAP unsurunu kontrol et"
@@ -5924,15 +5913,6 @@ msgstr "ortam değiştirme"
msgid "configuration file: {file}"
msgstr "Yapılandırma dosyası: {file}"
-#: plinth/service.py:140
-msgid "Web Server over Secure Socket Layer"
-msgstr "SSL (Secure Socket Layer) üzerinden Web Sunucusu"
-
-#: plinth/service.py:145
-#, python-brace-format
-msgid "{box_name} Web Interface (Plinth)"
-msgstr "{box_name} Ağ Arayüzü (Plinth)"
-
#: plinth/templates/403.html:25
msgid "403 Forbidden"
msgstr "403 Yasaklanmış"
@@ -6166,17 +6146,17 @@ msgstr "IRC sohbet odası"
msgid "Mailing list"
msgstr "E-posta listesi"
-#: plinth/templates/internal-zone.html:25
+#: plinth/templates/internal-zone.html:26
#, fuzzy, python-format
#| msgid "Service %(service_name)s is not running."
msgid "%(service_name)s is available only on internal networks."
msgstr "%(service_name)s servisi çalışmamaktadır."
-#: plinth/templates/internal-zone.html:31
+#: plinth/templates/internal-zone.html:32
msgid "Currently there are no network interfaces configured as internal."
msgstr ""
-#: plinth/templates/internal-zone.html:33
+#: plinth/templates/internal-zone.html:34
#, python-format
msgid ""
"Currently the following network interfaces are configured as internal: "
@@ -6243,10 +6223,24 @@ msgstr "%(package_names)s kuruluyor: %(status)s"
msgid "%(percentage)s%% complete"
msgstr "%(percentage)s%% tamamlandı"
+#: plinth/views.py:178
+msgid "Application enabled"
+msgstr "Uygulama etkinleştirildi"
+
+#: plinth/views.py:181
+msgid "Application disabled"
+msgstr "Uygulama devre dışı bırakıldı"
+
#: plinth/web_framework.py:186
msgid "Gujarati"
msgstr ""
+#~ msgid "Tor Anonymity Network"
+#~ msgstr "Tor Anonimlik Ağı"
+
+#~ msgid "Web Server over Secure Socket Layer"
+#~ msgstr "SSL (Secure Socket Layer) üzerinden Web Sunucusu"
+
#~ msgid "Current status:"
#~ msgstr "Güncel durum:"
diff --git a/plinth/locale/uk/LC_MESSAGES/django.po b/plinth/locale/uk/LC_MESSAGES/django.po
index 57da3aa22..c87eb834a 100644
--- a/plinth/locale/uk/LC_MESSAGES/django.po
+++ b/plinth/locale/uk/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-06-10 19:02-0400\n"
+"POT-Creation-Date: 2019-06-24 19:48-0400\n"
"PO-Revision-Date: 2019-01-04 17:06+0000\n"
"Last-Translator: prolinux ukraine \n"
"Language-Team: Ukrainian /"
@@ -489,14 +500,14 @@ msgid ""
"\"{users_url}\">any user on {box_name} belonging to the admin group."
msgstr ""
-#: plinth/modules/config/__init__.py:59 plinth/modules/dynamicdns/views.py:44
+#: plinth/modules/config/__init__.py:61 plinth/modules/dynamicdns/views.py:45
#: plinth/modules/i2p/views.py:31 plinth/modules/ikiwiki/views.py:35
#: plinth/modules/pagekite/views.py:36 plinth/modules/snapshot/views.py:40
#: plinth/modules/tahoe/templates/tahoe-pre-setup.html:39
msgid "Configure"
msgstr "Налаштувати"
-#: plinth/modules/config/__init__.py:164 plinth/modules/config/forms.py:76
+#: plinth/modules/config/__init__.py:166 plinth/modules/config/forms.py:76
#: plinth/modules/config/views.py:171 plinth/modules/dynamicdns/forms.py:111
msgid "Domain Name"
msgstr "Доменне ім’я"
@@ -568,8 +579,8 @@ msgstr ""
#: plinth/modules/power/templates/power_restart.html:42
#: plinth/modules/power/templates/power_shutdown.html:41
#: plinth/modules/storage/templates/storage.html:48
-#: plinth/templates/service-subsubmenu.html:47 plinth/templates/service.html:42
-#: plinth/templates/setup.html:48 plinth/templates/simple_service.html:38
+#: plinth/templates/app-subsubmenu.html:47 plinth/templates/app.html:42
+#: plinth/templates/setup.html:48 plinth/templates/simple_app.html:38
msgid "Learn more..."
msgstr ""
@@ -619,22 +630,22 @@ msgstr ""
msgid "Hiding advanced apps and features"
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:38
+#: plinth/modules/coquelicot/__init__.py:40
msgid "Coquelicot"
msgstr "Coquelicot"
-#: plinth/modules/coquelicot/__init__.py:40
+#: plinth/modules/coquelicot/__init__.py:42
msgid "File Sharing"
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:43
+#: plinth/modules/coquelicot/__init__.py:45
msgid ""
"Coquelicot is a “one-click” file sharing web application with a focus on "
"protecting users’ privacy. It is best used for quickly sharing a single "
"file. "
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:46
+#: plinth/modules/coquelicot/__init__.py:48
msgid ""
"This Coquelicot instance is exposed to the public but requires an upload "
"password to prevent unauthorized access. You can set a new upload password "
@@ -666,19 +677,19 @@ msgstr ""
msgid "coquelicot"
msgstr ""
-#: plinth/modules/coquelicot/views.py:57
+#: plinth/modules/coquelicot/views.py:59
msgid "Upload password updated"
msgstr ""
-#: plinth/modules/coquelicot/views.py:60
+#: plinth/modules/coquelicot/views.py:62
msgid "Failed to update upload password"
msgstr ""
-#: plinth/modules/coquelicot/views.py:68
+#: plinth/modules/coquelicot/views.py:70
msgid "Maximum file size updated"
msgstr "Максимальний розмір файлу оновлено"
-#: plinth/modules/coquelicot/views.py:71
+#: plinth/modules/coquelicot/views.py:73
msgid "Failed to update maximum file size"
msgstr ""
@@ -692,21 +703,21 @@ msgid ""
"synchronization with servers on the Internet."
msgstr ""
-#: plinth/modules/datetime/__init__.py:107
+#: plinth/modules/datetime/__init__.py:99
msgid "Time synchronized to NTP server"
msgstr ""
-#: plinth/modules/datetime/forms.py:36
+#: plinth/modules/datetime/forms.py:35
msgid "Time Zone"
msgstr "Часовий пояс"
-#: plinth/modules/datetime/forms.py:37
+#: plinth/modules/datetime/forms.py:36
msgid ""
"Set your time zone to get accurate timestamps. This will set the system-wide "
"time zone."
msgstr ""
-#: plinth/modules/datetime/forms.py:49
+#: plinth/modules/datetime/forms.py:47
msgid "-- no time zone set --"
msgstr "-- часовий пояс не обрано --"
@@ -724,7 +735,7 @@ msgid "Deluge"
msgstr "Deluge"
#: plinth/modules/deluge/__init__.py:41
-#: plinth/modules/transmission/__init__.py:41
+#: plinth/modules/transmission/__init__.py:43
msgid "BitTorrent Web Client"
msgstr ""
@@ -740,7 +751,7 @@ msgid ""
msgstr ""
#: plinth/modules/deluge/__init__.py:51
-#: plinth/modules/transmission/__init__.py:54
+#: plinth/modules/transmission/__init__.py:56
msgid "Download files using BitTorrent applications"
msgstr ""
@@ -802,12 +813,12 @@ msgstr "Тест"
msgid "Result"
msgstr "Результат"
-#: plinth/modules/diaspora/__init__.py:52
+#: plinth/modules/diaspora/__init__.py:54
#: plinth/modules/diaspora/manifest.py:38
msgid "diaspora*"
msgstr "diaspora*"
-#: plinth/modules/diaspora/__init__.py:54
+#: plinth/modules/diaspora/__init__.py:56
msgid "Federated Social Network"
msgstr ""
@@ -854,22 +865,22 @@ msgstr ""
#: plinth/modules/tahoe/templates/tahoe-pre-setup.html:58
#: plinth/modules/tor/templates/tor.html:96
#: plinth/modules/upgrades/templates/upgrades_configure.html:32
-#: plinth/templates/service.html:89
+#: plinth/templates/app.html:89
msgid "Update setup"
msgstr "Оновити налаштування"
-#: plinth/modules/diaspora/views.py:97 plinth/modules/ejabberd/views.py:64
-#: plinth/modules/matrixsynapse/views.py:107
-#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:150
-#: plinth/modules/tor/views.py:146 plinth/views.py:160
+#: plinth/modules/diaspora/views.py:94 plinth/modules/ejabberd/views.py:65
+#: plinth/modules/matrixsynapse/views.py:108
+#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:148
+#: plinth/modules/tor/views.py:148 plinth/views.py:174
msgid "Setting unchanged"
msgstr ""
-#: plinth/modules/diaspora/views.py:101
+#: plinth/modules/diaspora/views.py:98
msgid "User registrations enabled"
msgstr ""
-#: plinth/modules/diaspora/views.py:105
+#: plinth/modules/diaspora/views.py:102
msgid "User registrations disabled"
msgstr ""
@@ -896,8 +907,8 @@ msgid ""
"IP address."
msgstr ""
-#: plinth/modules/dynamicdns/__init__.py:85
-#: plinth/modules/dynamicdns/views.py:167
+#: plinth/modules/dynamicdns/__init__.py:87
+#: plinth/modules/dynamicdns/views.py:169
msgid "Dynamic DNS Service"
msgstr ""
@@ -986,7 +997,7 @@ msgid "Username"
msgstr "Ім’я користувача"
#: plinth/modules/dynamicdns/forms.py:121 plinth/modules/networks/forms.py:235
-#: plinth/modules/shadowsocks/forms.py:70
+#: plinth/modules/shadowsocks/forms.py:61
msgid "Password"
msgstr "Пароль"
@@ -1064,45 +1075,45 @@ msgstr ""
msgid "Last update"
msgstr ""
-#: plinth/modules/dynamicdns/views.py:41 plinth/modules/help/help.py:57
+#: plinth/modules/dynamicdns/views.py:41 plinth/modules/help/help.py:59
msgid "About"
msgstr ""
-#: plinth/modules/dynamicdns/views.py:47
+#: plinth/modules/dynamicdns/views.py:49
#: plinth/modules/firewall/templates/firewall.html:25
#: plinth/modules/firewall/templates/firewall.html:45
#: plinth/modules/i2p/templates/i2p.html:27
#: plinth/modules/networks/templates/connection_show.html:261
#: plinth/modules/openvpn/templates/openvpn.html:71
#: plinth/modules/tor/templates/tor.html:40
-#: plinth/modules/tor/templates/tor.html:68 plinth/templates/service.html:51
+#: plinth/modules/tor/templates/tor.html:68 plinth/templates/app.html:51
msgid "Status"
msgstr "Статус"
-#: plinth/modules/dynamicdns/views.py:78
+#: plinth/modules/dynamicdns/views.py:80
msgid "Configure Dynamic DNS"
msgstr ""
-#: plinth/modules/dynamicdns/views.py:103
+#: plinth/modules/dynamicdns/views.py:105
msgid "Dynamic DNS Status"
msgstr ""
-#: plinth/modules/ejabberd/__init__.py:43
+#: plinth/modules/ejabberd/__init__.py:45
msgid "ejabberd"
msgstr ""
-#: plinth/modules/ejabberd/__init__.py:45
-#: plinth/modules/matrixsynapse/__init__.py:43
+#: plinth/modules/ejabberd/__init__.py:47
+#: plinth/modules/matrixsynapse/__init__.py:45
msgid "Chat Server"
msgstr ""
-#: plinth/modules/ejabberd/__init__.py:48
+#: plinth/modules/ejabberd/__init__.py:50
msgid ""
"XMPP is an open and standardized communication protocol. Here you can run "
"and configure your XMPP server, called ejabberd."
msgstr ""
-#: plinth/modules/ejabberd/__init__.py:51
+#: plinth/modules/ejabberd/__init__.py:53
#, python-brace-format
msgid ""
"To actually communicate, you can use the web client"
@@ -1111,11 +1122,11 @@ msgid ""
"any user with a {box_name} login."
msgstr ""
-#: plinth/modules/ejabberd/forms.py:33
+#: plinth/modules/ejabberd/forms.py:32
msgid "Enable Message Archive Management"
msgstr ""
-#: plinth/modules/ejabberd/forms.py:36
+#: plinth/modules/ejabberd/forms.py:34
#, python-brace-format
msgid ""
"If enabled, your {box_name} will store chat message histories. This allows "
@@ -1183,35 +1194,23 @@ msgstr ""
#: plinth/modules/openvpn/templates/openvpn.html:123
#: plinth/modules/snapshot/templates/snapshot.html:27
#: plinth/modules/tahoe/templates/tahoe-post-setup.html:43
-#: plinth/modules/tor/templates/tor.html:88 plinth/templates/service.html:81
+#: plinth/modules/tor/templates/tor.html:88 plinth/templates/app.html:81
msgid "Configuration"
msgstr ""
-#: plinth/modules/ejabberd/views.py:68
-#: plinth/modules/matrixsynapse/views.py:111
-#: plinth/modules/mediawiki/views.py:79 plinth/views.py:164
-msgid "Application enabled"
-msgstr ""
-
-#: plinth/modules/ejabberd/views.py:71
-#: plinth/modules/matrixsynapse/views.py:114
-#: plinth/modules/mediawiki/views.py:82 plinth/views.py:167
-msgid "Application disabled"
-msgstr ""
-
-#: plinth/modules/ejabberd/views.py:78
+#: plinth/modules/ejabberd/views.py:77
msgid "Message Archive Management enabled"
msgstr ""
-#: plinth/modules/ejabberd/views.py:82
+#: plinth/modules/ejabberd/views.py:81
msgid "Message Archive Management disabled"
msgstr ""
-#: plinth/modules/firewall/__init__.py:40
+#: plinth/modules/firewall/__init__.py:36
msgid "Firewall"
msgstr ""
-#: plinth/modules/firewall/__init__.py:44
+#: plinth/modules/firewall/__init__.py:40
#, python-brace-format
msgid ""
"Firewall is a security system that controls the incoming and outgoing "
@@ -1317,29 +1316,29 @@ msgstr ""
msgid "Setup Complete"
msgstr ""
-#: plinth/modules/help/help.py:44
+#: plinth/modules/help/help.py:46
msgid "Documentation"
msgstr ""
-#: plinth/modules/help/help.py:48 plinth/modules/networks/forms.py:68
+#: plinth/modules/help/help.py:50 plinth/modules/networks/forms.py:68
#: plinth/modules/networks/forms.py:108 plinth/templates/index.html:135
msgid "Manual"
msgstr ""
-#: plinth/modules/help/help.py:53
+#: plinth/modules/help/help.py:55
msgid "Download Manual"
msgstr ""
-#: plinth/modules/help/help.py:73
+#: plinth/modules/help/help.py:75
msgid "Documentation and FAQ"
msgstr ""
-#: plinth/modules/help/help.py:81
+#: plinth/modules/help/help.py:83
#, python-brace-format
msgid "About {box_name}"
msgstr ""
-#: plinth/modules/help/help.py:102
+#: plinth/modules/help/help.py:104
#, python-brace-format
msgid "{box_name} Manual"
msgstr ""
@@ -1457,15 +1456,15 @@ msgid ""
"before submitting the bug report."
msgstr ""
-#: plinth/modules/i2p/__init__.py:40 plinth/modules/i2p/manifest.py:31
+#: plinth/modules/i2p/__init__.py:42 plinth/modules/i2p/manifest.py:31
msgid "I2P"
msgstr ""
-#: plinth/modules/i2p/__init__.py:42 plinth/modules/tor/__init__.py:45
+#: plinth/modules/i2p/__init__.py:44 plinth/modules/tor/__init__.py:48
msgid "Anonymity Network"
msgstr ""
-#: plinth/modules/i2p/__init__.py:45
+#: plinth/modules/i2p/__init__.py:47
msgid ""
"The Invisible Internet Project is an anonymous network layer intended to "
"protect communication from censorship and surveillance. I2P provides "
@@ -1473,35 +1472,35 @@ msgid ""
"distributed around the world."
msgstr ""
-#: plinth/modules/i2p/__init__.py:49
+#: plinth/modules/i2p/__init__.py:51
msgid ""
"Find more information about I2P on their project homepage."
msgstr ""
-#: plinth/modules/i2p/__init__.py:51
+#: plinth/modules/i2p/__init__.py:53
msgid ""
"The first visit to the provided web interface will initiate the "
"configuration process."
msgstr ""
-#: plinth/modules/i2p/__init__.py:57
+#: plinth/modules/i2p/__init__.py:59
#, fuzzy
#| msgid "Enable application"
msgid "Manage I2P application"
msgstr "Влючити застосунок"
-#: plinth/modules/i2p/templates/i2p.html:32 plinth/templates/service.html:56
+#: plinth/modules/i2p/templates/i2p.html:32 plinth/templates/app.html:56
#, python-format
msgid "Service %(service_name)s is running."
msgstr ""
-#: plinth/modules/i2p/templates/i2p.html:37 plinth/templates/service.html:61
+#: plinth/modules/i2p/templates/i2p.html:37 plinth/templates/app.html:61
#, python-format
msgid "Service %(service_name)s is not running."
msgstr ""
-#: plinth/modules/i2p/templates/i2p_service.html:13
+#: plinth/modules/i2p/templates/i2p_service.html:31
#: plinth/templates/clients.html:51
msgid "Launch"
msgstr ""
@@ -1514,43 +1513,43 @@ msgstr ""
msgid "Anonymous torrents"
msgstr ""
-#: plinth/modules/i2p/views.py:86
+#: plinth/modules/i2p/views.py:88
msgid "I2P Proxies and Tunnels"
msgstr ""
-#: plinth/modules/i2p/views.py:89
+#: plinth/modules/i2p/views.py:91
msgid ""
"I2P lets you browse the Internet and hidden services (eepsites) anonymously. "
"For this, your browser, preferably a Tor Browser, needs to be configured for "
"a proxy."
msgstr ""
-#: plinth/modules/i2p/views.py:92
+#: plinth/modules/i2p/views.py:94
msgid ""
"By default HTTP, HTTPS and IRC proxies are available. Additional proxies and "
"tunnels may be configured using the tunnel configuration interface."
msgstr ""
-#: plinth/modules/i2p/views.py:101
+#: plinth/modules/i2p/views.py:103
msgid "Anonymous Torrents"
msgstr ""
-#: plinth/modules/i2p/views.py:104
+#: plinth/modules/i2p/views.py:106
msgid ""
"I2P provides an application to download files anonymously in a peer-to-peer "
"network. Download files by adding torrents or create a new torrent to share "
"a file."
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:42 plinth/modules/ikiwiki/manifest.py:24
+#: plinth/modules/ikiwiki/__init__.py:41 plinth/modules/ikiwiki/manifest.py:24
msgid "ikiwiki"
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:44
+#: plinth/modules/ikiwiki/__init__.py:43
msgid "Wiki and Blog"
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:47
+#: plinth/modules/ikiwiki/__init__.py:46
msgid ""
"ikiwiki is a simple wiki and blog application. It supports several "
"lightweight markup languages, including Markdown, and common blogging "
@@ -1558,7 +1557,7 @@ msgid ""
"wikis will be available at /ikiwiki (once created)."
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:53
+#: plinth/modules/ikiwiki/__init__.py:52
#, python-brace-format
msgid ""
"Only {box_name} users in the admin group can create and "
@@ -1567,7 +1566,7 @@ msgid ""
"Configuration you can change these permissions or add new users."
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:63
+#: plinth/modules/ikiwiki/__init__.py:62
msgid "View and edit wiki applications"
msgstr ""
@@ -1635,49 +1634,49 @@ msgstr ""
msgid "Manage"
msgstr ""
-#: plinth/modules/ikiwiki/views.py:121
+#: plinth/modules/ikiwiki/views.py:124
#, python-brace-format
msgid "Created wiki {name}."
msgstr ""
-#: plinth/modules/ikiwiki/views.py:124
+#: plinth/modules/ikiwiki/views.py:127
#, python-brace-format
msgid "Could not create wiki: {error}"
msgstr ""
-#: plinth/modules/ikiwiki/views.py:134
+#: plinth/modules/ikiwiki/views.py:137
#, python-brace-format
msgid "Created blog {name}."
msgstr ""
-#: plinth/modules/ikiwiki/views.py:137
+#: plinth/modules/ikiwiki/views.py:140
#, python-brace-format
msgid "Could not create blog: {error}"
msgstr ""
-#: plinth/modules/ikiwiki/views.py:150
+#: plinth/modules/ikiwiki/views.py:153
#, python-brace-format
msgid "{name} deleted."
msgstr ""
-#: plinth/modules/ikiwiki/views.py:154
+#: plinth/modules/ikiwiki/views.py:157
#, python-brace-format
msgid "Could not delete {name}: {error}"
msgstr ""
-#: plinth/modules/infinoted/__init__.py:41
+#: plinth/modules/infinoted/__init__.py:40
msgid "infinoted"
msgstr ""
-#: plinth/modules/infinoted/__init__.py:43
+#: plinth/modules/infinoted/__init__.py:42
msgid "Gobby Server"
msgstr ""
-#: plinth/modules/infinoted/__init__.py:46
+#: plinth/modules/infinoted/__init__.py:45
msgid "infinoted is a server for Gobby, a collaborative text editor."
msgstr ""
-#: plinth/modules/infinoted/__init__.py:48
+#: plinth/modules/infinoted/__init__.py:47
#, python-brace-format
msgid ""
"To use it, download Gobby, desktop "
@@ -1997,11 +1996,11 @@ msgstr ""
msgid "Failed to delete certificate for domain {domain}: {error}"
msgstr ""
-#: plinth/modules/matrixsynapse/__init__.py:41
+#: plinth/modules/matrixsynapse/__init__.py:43
msgid "Matrix Synapse"
msgstr ""
-#: plinth/modules/matrixsynapse/__init__.py:46
+#: plinth/modules/matrixsynapse/__init__.py:48
msgid ""
"Matrix is an new "
"ecosystem for open, federated instant messaging and VoIP. Synapse is a "
@@ -2011,7 +2010,7 @@ msgid ""
"converse with users on all other Matrix servers via federation."
msgstr ""
-#: plinth/modules/matrixsynapse/__init__.py:53
+#: plinth/modules/matrixsynapse/__init__.py:55
msgid ""
"To communicate, you can use the available clients for mobile, desktop and the web. Special:CreateAccount page."
msgstr ""
-#: plinth/modules/mediawiki/__init__.py:49
+#: plinth/modules/mediawiki/__init__.py:53
msgid ""
"Anyone with a link to this wiki can read it. Only users that are logged in "
"can make changes to the content."
@@ -2148,32 +2147,32 @@ msgstr ""
msgid "Password updated"
msgstr ""
-#: plinth/modules/mediawiki/views.py:91
+#: plinth/modules/mediawiki/views.py:89
msgid "Public registrations enabled"
msgstr ""
-#: plinth/modules/mediawiki/views.py:100
+#: plinth/modules/mediawiki/views.py:98
msgid "Public registrations disabled"
msgstr ""
-#: plinth/modules/mediawiki/views.py:109
+#: plinth/modules/mediawiki/views.py:107
msgid "Private mode enabled"
msgstr ""
-#: plinth/modules/mediawiki/views.py:112
+#: plinth/modules/mediawiki/views.py:110
msgid "Private mode disabled"
msgstr ""
-#: plinth/modules/minetest/__init__.py:53
+#: plinth/modules/minetest/__init__.py:52
#: plinth/modules/minetest/manifest.py:25
msgid "Minetest"
msgstr ""
-#: plinth/modules/minetest/__init__.py:55
+#: plinth/modules/minetest/__init__.py:54
msgid "Block Sandbox"
msgstr ""
-#: plinth/modules/minetest/__init__.py:59
+#: plinth/modules/minetest/__init__.py:58
#, python-brace-format
msgid ""
"Minetest is a multiplayer infinite-world block sandbox. This module enables "
@@ -2182,39 +2181,39 @@ msgid ""
"downloads/\">Minetest client is needed."
msgstr ""
-#: plinth/modules/minetest/forms.py:31
+#: plinth/modules/minetest/forms.py:30
msgid "Maximum number of players"
msgstr ""
-#: plinth/modules/minetest/forms.py:35
+#: plinth/modules/minetest/forms.py:32
msgid ""
"You can change the maximum number of players playing minetest at a single "
"instance of time."
msgstr ""
-#: plinth/modules/minetest/forms.py:39
+#: plinth/modules/minetest/forms.py:36
msgid "Enable creative mode"
msgstr ""
-#: plinth/modules/minetest/forms.py:41
+#: plinth/modules/minetest/forms.py:37
msgid ""
"Creative mode changes the rules of the game to make it more suitable for "
"creative gameplay, rather than challenging \"survival\" gameplay."
msgstr ""
-#: plinth/modules/minetest/forms.py:46
+#: plinth/modules/minetest/forms.py:42
msgid "Enable PVP"
msgstr ""
-#: plinth/modules/minetest/forms.py:48
+#: plinth/modules/minetest/forms.py:43
msgid "Enabling Player Vs Player will allow players to damage other players."
msgstr ""
-#: plinth/modules/minetest/forms.py:52
+#: plinth/modules/minetest/forms.py:47
msgid "Enable damage"
msgstr ""
-#: plinth/modules/minetest/forms.py:54
+#: plinth/modules/minetest/forms.py:48
msgid "When disabled, players cannot die or receive damage of any kind."
msgstr ""
@@ -2228,52 +2227,52 @@ msgstr ""
msgid "Port"
msgstr ""
-#: plinth/modules/minetest/views.py:71
+#: plinth/modules/minetest/views.py:72
msgid "Maximum players configuration updated"
msgstr ""
-#: plinth/modules/minetest/views.py:78
+#: plinth/modules/minetest/views.py:79
msgid "Creative mode configuration updated"
msgstr ""
-#: plinth/modules/minetest/views.py:84
+#: plinth/modules/minetest/views.py:85
msgid "PVP configuration updated"
msgstr ""
-#: plinth/modules/minetest/views.py:90
+#: plinth/modules/minetest/views.py:91
msgid "Damage configuration updated"
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:38
+#: plinth/modules/mldonkey/__init__.py:40
#: plinth/modules/mldonkey/manifest.py:27
msgid "MLDonkey"
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:40
+#: plinth/modules/mldonkey/__init__.py:42
msgid "Peer-to-peer File Sharing"
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:43
+#: plinth/modules/mldonkey/__init__.py:45
msgid ""
"MLDonkey is a peer-to-peer file sharing application used to exchange large "
"files. It can participate in multiple peer-to-peer networks including "
"eDonkey, Kademlia, Overnet, BitTorrent and DirectConnect."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:46
+#: plinth/modules/mldonkey/__init__.py:48
msgid ""
"Users belonging to admin and ed2k group can control it through the web "
"interface. Users in the admin group can also control it through any of the "
"separate mobile or desktop front-ends or a telnet interface. See manual."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:51
+#: plinth/modules/mldonkey/__init__.py:53
#, python-brace-format
msgid ""
"On {box_name}, downloaded files can be found in /var/lib/mldonkey/ directory."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:59
+#: plinth/modules/mldonkey/__init__.py:61
msgid "Download files using eDonkey applications"
msgstr ""
@@ -2337,12 +2336,6 @@ msgstr ""
msgid "Secure Shell"
msgstr ""
-#: plinth/modules/monkeysphere/templates/monkeysphere.html:88
-#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:60
-#: plinth/service.py:138
-msgid "Web Server"
-msgstr ""
-
#: plinth/modules/monkeysphere/templates/monkeysphere.html:90
#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:62
msgid "Other"
@@ -2435,21 +2428,21 @@ msgstr ""
msgid "Error occurred while publishing key."
msgstr ""
-#: plinth/modules/mumble/__init__.py:34 plinth/modules/mumble/manifest.py:27
+#: plinth/modules/mumble/__init__.py:35 plinth/modules/mumble/manifest.py:27
msgid "Mumble"
msgstr ""
-#: plinth/modules/mumble/__init__.py:36
+#: plinth/modules/mumble/__init__.py:37
msgid "Voice Chat"
msgstr ""
-#: plinth/modules/mumble/__init__.py:45
+#: plinth/modules/mumble/__init__.py:44
msgid ""
"Mumble is an open source, low-latency, encrypted, high quality voice chat "
"software."
msgstr ""
-#: plinth/modules/mumble/__init__.py:47
+#: plinth/modules/mumble/__init__.py:46
msgid ""
"You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your "
@@ -2497,7 +2490,7 @@ msgstr ""
msgid "Networks"
msgstr ""
-#: plinth/modules/networks/__init__.py:142
+#: plinth/modules/networks/__init__.py:144
#, python-brace-format
msgid "Using DNSSEC on IPv{kind}"
msgstr ""
@@ -2924,7 +2917,7 @@ msgstr ""
#: plinth/modules/networks/templates/connection_show.html:186
#: plinth/modules/networks/templates/connection_show.html:227
-#: plinth/modules/shadowsocks/forms.py:75
+#: plinth/modules/shadowsocks/forms.py:65
msgid "Method"
msgstr ""
@@ -3046,15 +3039,15 @@ msgstr ""
msgid "Create..."
msgstr ""
-#: plinth/modules/openvpn/__init__.py:40
+#: plinth/modules/openvpn/__init__.py:39
msgid "OpenVPN"
msgstr ""
-#: plinth/modules/openvpn/__init__.py:42
+#: plinth/modules/openvpn/__init__.py:41
msgid "Virtual Private Network"
msgstr ""
-#: plinth/modules/openvpn/__init__.py:46
+#: plinth/modules/openvpn/__init__.py:45
#, python-brace-format
msgid ""
"Virtual Private Network (VPN) is a technique for securely connecting two "
@@ -3065,7 +3058,7 @@ msgid ""
"security and anonymity."
msgstr ""
-#: plinth/modules/openvpn/__init__.py:74
+#: plinth/modules/openvpn/__init__.py:75
#, python-brace-format
msgid ""
"Download Profile"
@@ -3130,11 +3123,11 @@ msgstr ""
msgid "OpenVPN server is not running"
msgstr ""
-#: plinth/modules/openvpn/views.py:128
+#: plinth/modules/openvpn/views.py:126
msgid "Setup completed."
msgstr ""
-#: plinth/modules/openvpn/views.py:130
+#: plinth/modules/openvpn/views.py:128
msgid "Setup failed."
msgstr ""
@@ -3204,7 +3197,7 @@ msgid ""
"pagekite.net server."
msgstr ""
-#: plinth/modules/pagekite/forms.py:78 plinth/modules/shadowsocks/forms.py:64
+#: plinth/modules/pagekite/forms.py:78 plinth/modules/shadowsocks/forms.py:57
msgid "Server port"
msgstr ""
@@ -3404,47 +3397,47 @@ msgstr ""
msgid "Save Services"
msgstr ""
-#: plinth/modules/pagekite/utils.py:53
+#: plinth/modules/pagekite/utils.py:57
msgid "Web Server (HTTP)"
msgstr ""
-#: plinth/modules/pagekite/utils.py:54
+#: plinth/modules/pagekite/utils.py:59
#, python-brace-format
msgid "Site will be available at http://{0}"
msgstr ""
-#: plinth/modules/pagekite/utils.py:63
+#: plinth/modules/pagekite/utils.py:71
msgid "Web Server (HTTPS)"
msgstr ""
-#: plinth/modules/pagekite/utils.py:64
+#: plinth/modules/pagekite/utils.py:73
#, python-brace-format
msgid "Site will be available at https://{0}"
msgstr ""
-#: plinth/modules/pagekite/utils.py:73
+#: plinth/modules/pagekite/utils.py:85
msgid "Secure Shell (SSH)"
msgstr ""
-#: plinth/modules/pagekite/utils.py:74
+#: plinth/modules/pagekite/utils.py:87
msgid ""
"See SSH client setup instructions"
msgstr ""
-#: plinth/modules/pagekite/utils.py:276
+#: plinth/modules/pagekite/utils.py:288
msgid "Pagekite"
msgstr ""
-#: plinth/modules/pagekite/views.py:39
+#: plinth/modules/pagekite/views.py:40
msgid "Standard Services"
msgstr ""
-#: plinth/modules/pagekite/views.py:42
+#: plinth/modules/pagekite/views.py:44
msgid "Custom Services"
msgstr ""
-#: plinth/modules/pagekite/views.py:156
+#: plinth/modules/pagekite/views.py:158
msgid "Pagekite setup finished. The HTTP and HTTPS services are activated now."
msgstr ""
@@ -3505,22 +3498,22 @@ msgstr ""
msgid "Shut Down Now"
msgstr ""
-#: plinth/modules/privoxy/__init__.py:41
+#: plinth/modules/privoxy/__init__.py:42
msgid "Privoxy"
msgstr ""
-#: plinth/modules/privoxy/__init__.py:43
+#: plinth/modules/privoxy/__init__.py:44
msgid "Web Proxy"
msgstr ""
-#: plinth/modules/privoxy/__init__.py:46
+#: plinth/modules/privoxy/__init__.py:47
msgid ""
"Privoxy is a non-caching web proxy with advanced filtering capabilities for "
"enhancing privacy, modifying web page data and HTTP headers, controlling "
"access, and removing ads and other obnoxious Internet junk. "
msgstr ""
-#: plinth/modules/privoxy/__init__.py:51
+#: plinth/modules/privoxy/__init__.py:52
#, python-brace-format
msgid ""
"You can use Privoxy by modifying your browser proxy settings to your "
@@ -3530,20 +3523,20 @@ msgid ""
"\">http://p.p."
msgstr ""
-#: plinth/modules/privoxy/__init__.py:157
+#: plinth/modules/privoxy/__init__.py:142
#, python-brace-format
msgid "Access {url} with proxy {proxy} on tcp{kind}"
msgstr ""
-#: plinth/modules/quassel/__init__.py:41 plinth/modules/quassel/manifest.py:25
+#: plinth/modules/quassel/__init__.py:40 plinth/modules/quassel/manifest.py:25
msgid "Quassel"
msgstr ""
-#: plinth/modules/quassel/__init__.py:43
+#: plinth/modules/quassel/__init__.py:42
msgid "IRC Client"
msgstr ""
-#: plinth/modules/quassel/__init__.py:47
+#: plinth/modules/quassel/__init__.py:46
#, python-brace-format
msgid ""
"Quassel is an IRC application that is split into two parts, a \"core\" and a "
@@ -3554,7 +3547,7 @@ msgid ""
"connect and disconnect from it."
msgstr ""
-#: plinth/modules/quassel/__init__.py:54
+#: plinth/modules/quassel/__init__.py:53
msgid ""
"You can connect to your Quassel core on the default Quassel port 4242. "
"Clients to connect to Quassel from your Jitsi (for computers) and (for Android phones)."
msgstr ""
-#: plinth/modules/repro/__init__.py:53
+#: plinth/modules/repro/__init__.py:55
msgid ""
"Note: Before using repro, domains and users will need to "
"be configured using the web-based "
@@ -3701,15 +3694,15 @@ msgstr ""
msgid "CSipSimple"
msgstr ""
-#: plinth/modules/restore/__init__.py:36 plinth/modules/restore/manifest.py:23
+#: plinth/modules/restore/__init__.py:37 plinth/modules/restore/manifest.py:23
msgid "reStore"
msgstr ""
-#: plinth/modules/restore/__init__.py:38
+#: plinth/modules/restore/__init__.py:39
msgid "Unhosted Storage"
msgstr ""
-#: plinth/modules/restore/__init__.py:42
+#: plinth/modules/restore/__init__.py:43
#, python-brace-format
msgid ""
"reStore is a server for unhosted web "
@@ -3719,22 +3712,22 @@ msgid ""
"becomes your unhosted storage server."
msgstr ""
-#: plinth/modules/restore/__init__.py:48
+#: plinth/modules/restore/__init__.py:49
msgid ""
"You can create and edit accounts in the reStore web-"
"interface."
msgstr ""
-#: plinth/modules/roundcube/__init__.py:34
+#: plinth/modules/roundcube/__init__.py:35
#: plinth/modules/roundcube/manifest.py:24
msgid "Roundcube"
msgstr ""
-#: plinth/modules/roundcube/__init__.py:36
+#: plinth/modules/roundcube/__init__.py:37
msgid "Email Client"
msgstr ""
-#: plinth/modules/roundcube/__init__.py:39
+#: plinth/modules/roundcube/__init__.py:40
msgid ""
"Roundcube webmail is a browser-based multilingual IMAP client with an "
"application-like user interface. It provides full functionality you expect "
@@ -3742,7 +3735,7 @@ msgid ""
"manipulation, message searching and spell checking."
msgstr ""
-#: plinth/modules/roundcube/__init__.py:44
+#: plinth/modules/roundcube/__init__.py:45
msgid ""
"You can access Roundcube from /roundcube. Provide "
"the username and password of the email account you wish to access followed "
@@ -3751,7 +3744,7 @@ msgid ""
"server field like imaps://imap.example.com."
msgstr ""
-#: plinth/modules/roundcube/__init__.py:50
+#: plinth/modules/roundcube/__init__.py:51
msgid ""
"For Gmail, username will be your Gmail address, password will be your Google "
"account password and server will be imaps://imap.gmail.com. "
@@ -3813,12 +3806,12 @@ msgstr ""
msgid "Allow this application to be used by anyone who can reach it."
msgstr ""
-#: plinth/modules/searx/views.py:60 plinth/modules/searx/views.py:71
-#: plinth/modules/tor/views.py:139 plinth/modules/tor/views.py:168
+#: plinth/modules/searx/views.py:59 plinth/modules/searx/views.py:70
+#: plinth/modules/tor/views.py:141 plinth/modules/tor/views.py:168
msgid "Configuration updated."
msgstr ""
-#: plinth/modules/searx/views.py:63 plinth/modules/searx/views.py:74
+#: plinth/modules/searx/views.py:62 plinth/modules/searx/views.py:73
#: plinth/modules/tor/views.py:170
msgid "An error occurred during configuration."
msgstr ""
@@ -3873,22 +3866,22 @@ msgid ""
"account, which you will need to setup on the initial visit."
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:34
+#: plinth/modules/shadowsocks/__init__.py:35
msgid "Shadowsocks"
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:36
+#: plinth/modules/shadowsocks/__init__.py:37
msgid "Socks5 Proxy"
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:45
+#: plinth/modules/shadowsocks/__init__.py:44
msgid ""
"Shadowsocks is a lightweight and secure SOCKS5 proxy, designed to protect "
"your Internet traffic. It can be used to bypass Internet filtering and "
"censorship."
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:49
+#: plinth/modules/shadowsocks/__init__.py:48
#, python-brace-format
msgid ""
"Your {box_name} can run a Shadowsocks client, that can connect to a "
@@ -3897,34 +3890,34 @@ msgid ""
"the Shadowsocks server."
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:54
+#: plinth/modules/shadowsocks/__init__.py:53
msgid ""
"To use Shadowsocks after setup, set the SOCKS5 proxy URL in your device, "
"browser or application to http://freedombox_address:1080/"
msgstr ""
+#: plinth/modules/shadowsocks/forms.py:28
#: plinth/modules/shadowsocks/forms.py:29
-#: plinth/modules/shadowsocks/forms.py:30
msgid "Recommended"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:60
+#: plinth/modules/shadowsocks/forms.py:54
msgid "Server"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:61
+#: plinth/modules/shadowsocks/forms.py:54
msgid "Server hostname or IP address"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:67
+#: plinth/modules/shadowsocks/forms.py:58
msgid "Server port number"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:71
+#: plinth/modules/shadowsocks/forms.py:61
msgid "Password used to encrypt data. Must match server password."
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:77
+#: plinth/modules/shadowsocks/forms.py:66
msgid "Encryption method. Must match setting on server."
msgstr ""
@@ -4182,7 +4175,7 @@ msgstr ""
msgid "Storage snapshots configuration updated"
msgstr ""
-#: plinth/modules/snapshot/views.py:153 plinth/modules/tor/views.py:72
+#: plinth/modules/snapshot/views.py:153 plinth/modules/tor/views.py:73
#, python-brace-format
msgid "Action error: {0} [{1}] [{2}]"
msgstr ""
@@ -4212,11 +4205,11 @@ msgstr ""
msgid "Rollback to Snapshot"
msgstr ""
-#: plinth/modules/ssh/__init__.py:39
+#: plinth/modules/ssh/__init__.py:40
msgid "Secure Shell (SSH) Server"
msgstr ""
-#: plinth/modules/ssh/__init__.py:42
+#: plinth/modules/ssh/__init__.py:43
msgid ""
"A Secure Shell server uses the secure shell protocol to accept connections "
"from remote computers. An authorized remote computer can perform "
@@ -4232,11 +4225,11 @@ msgstr ""
msgid "Login"
msgstr ""
-#: plinth/modules/storage/__init__.py:36 plinth/modules/storage/views.py:53
+#: plinth/modules/storage/__init__.py:35 plinth/modules/storage/views.py:53
msgid "Storage"
msgstr ""
-#: plinth/modules/storage/__init__.py:44
+#: plinth/modules/storage/__init__.py:43
#, python-brace-format
msgid ""
"This module allows you to manage storage media attached to your {box_name}. "
@@ -4244,80 +4237,80 @@ msgid ""
"media, expand the root partition etc."
msgstr ""
-#: plinth/modules/storage/__init__.py:211
+#: plinth/modules/storage/__init__.py:213
#, python-brace-format
msgid "{disk_size:.1f} bytes"
msgstr ""
-#: plinth/modules/storage/__init__.py:215
+#: plinth/modules/storage/__init__.py:217
#, python-brace-format
msgid "{disk_size:.1f} KiB"
msgstr ""
-#: plinth/modules/storage/__init__.py:219
+#: plinth/modules/storage/__init__.py:221
#, python-brace-format
msgid "{disk_size:.1f} MiB"
msgstr ""
-#: plinth/modules/storage/__init__.py:223
+#: plinth/modules/storage/__init__.py:225
#, python-brace-format
msgid "{disk_size:.1f} GiB"
msgstr ""
-#: plinth/modules/storage/__init__.py:226
+#: plinth/modules/storage/__init__.py:228
#, python-brace-format
msgid "{disk_size:.1f} TiB"
msgstr ""
-#: plinth/modules/storage/__init__.py:233
+#: plinth/modules/storage/__init__.py:235
msgid "The operation failed."
msgstr ""
-#: plinth/modules/storage/__init__.py:235
+#: plinth/modules/storage/__init__.py:237
msgid "The operation was cancelled."
msgstr ""
-#: plinth/modules/storage/__init__.py:237
+#: plinth/modules/storage/__init__.py:239
msgid "The device is already unmounting."
msgstr ""
-#: plinth/modules/storage/__init__.py:239
+#: plinth/modules/storage/__init__.py:241
msgid "The operation is not supported due to missing driver/tool support."
msgstr ""
-#: plinth/modules/storage/__init__.py:242
+#: plinth/modules/storage/__init__.py:244
msgid "The operation timed out."
msgstr ""
-#: plinth/modules/storage/__init__.py:244
+#: plinth/modules/storage/__init__.py:246
msgid "The operation would wake up a disk that is in a deep-sleep state."
msgstr ""
-#: plinth/modules/storage/__init__.py:247
+#: plinth/modules/storage/__init__.py:249
msgid "Attempting to unmount a device that is busy."
msgstr ""
-#: plinth/modules/storage/__init__.py:249
+#: plinth/modules/storage/__init__.py:251
msgid "The operation has already been cancelled."
msgstr ""
-#: plinth/modules/storage/__init__.py:255
+#: plinth/modules/storage/__init__.py:257
msgid "Not authorized to perform the requested operation."
msgstr ""
-#: plinth/modules/storage/__init__.py:257
+#: plinth/modules/storage/__init__.py:259
msgid "The device is already mounted."
msgstr ""
-#: plinth/modules/storage/__init__.py:259
+#: plinth/modules/storage/__init__.py:261
msgid "The device is not mounted."
msgstr ""
-#: plinth/modules/storage/__init__.py:262
+#: plinth/modules/storage/__init__.py:264
msgid "Not permitted to use the requested option."
msgstr ""
-#: plinth/modules/storage/__init__.py:265
+#: plinth/modules/storage/__init__.py:267
msgid "The device is mounted by another user."
msgstr ""
@@ -4393,16 +4386,16 @@ msgstr ""
msgid "Error ejecting device: {error_message}"
msgstr ""
-#: plinth/modules/syncthing/__init__.py:38
+#: plinth/modules/syncthing/__init__.py:40
#: plinth/modules/syncthing/manifest.py:28
msgid "Syncthing"
msgstr ""
-#: plinth/modules/syncthing/__init__.py:40
+#: plinth/modules/syncthing/__init__.py:42
msgid "File Synchronization"
msgstr ""
-#: plinth/modules/syncthing/__init__.py:43
+#: plinth/modules/syncthing/__init__.py:45
msgid ""
"Syncthing is an application to synchronize files across multiple devices, e."
"g. your desktop computer and mobile phone. Creation, modification, or "
@@ -4410,7 +4403,7 @@ msgid ""
"other devices that also run Syncthing."
msgstr ""
-#: plinth/modules/syncthing/__init__.py:48
+#: plinth/modules/syncthing/__init__.py:50
#, python-brace-format
msgid ""
"Running Syncthing on {box_name} provides an extra synchronization point for "
@@ -4421,26 +4414,26 @@ msgid ""
"{box_name} is only available for users belonging to the \"admin\" group."
msgstr ""
-#: plinth/modules/syncthing/__init__.py:55
+#: plinth/modules/syncthing/__init__.py:57
msgid ""
"When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile clients are also available."
msgstr ""
-#: plinth/modules/syncthing/__init__.py:62
+#: plinth/modules/syncthing/__init__.py:64
msgid "Administer Syncthing application"
msgstr ""
-#: plinth/modules/tahoe/__init__.py:41
+#: plinth/modules/tahoe/__init__.py:43
msgid "Tahoe-LAFS"
msgstr ""
-#: plinth/modules/tahoe/__init__.py:43
+#: plinth/modules/tahoe/__init__.py:45
msgid "Distributed File Storage"
msgstr ""
-#: plinth/modules/tahoe/__init__.py:107
+#: plinth/modules/tahoe/__init__.py:119
msgid ""
"Tahoe-LAFS is a decentralized secure file storage system. It uses provider "
"independent security to store files over a distributed network of storage "
@@ -4448,7 +4441,7 @@ msgid ""
"remaining nodes."
msgstr ""
-#: plinth/modules/tahoe/__init__.py:112
+#: plinth/modules/tahoe/__init__.py:124
#, python-brace-format
msgid ""
"This {box_name} hosts a storage node and an introducer by default. "
@@ -4491,11 +4484,11 @@ msgstr ""
msgid "Remove"
msgstr ""
-#: plinth/modules/tor/__init__.py:43
+#: plinth/modules/tor/__init__.py:46
msgid "Tor"
msgstr ""
-#: plinth/modules/tor/__init__.py:48
+#: plinth/modules/tor/__init__.py:51
msgid ""
"Tor is an anonymous communication system. You can learn more about it from "
"the Tor Project website. For "
@@ -4504,40 +4497,36 @@ msgid ""
"\">Tor Browser."
msgstr ""
-#: plinth/modules/tor/__init__.py:93
+#: plinth/modules/tor/__init__.py:80
msgid "Tor Socks Proxy"
msgstr ""
-#: plinth/modules/tor/__init__.py:99 plinth/modules/tor/__init__.py:146
+#: plinth/modules/tor/__init__.py:84
msgid "Tor Bridge Relay"
msgstr ""
-#: plinth/modules/tor/__init__.py:120 plinth/modules/tor/__init__.py:188
+#: plinth/modules/tor/__init__.py:122 plinth/modules/tor/__init__.py:150
msgid "Tor Hidden Service"
msgstr ""
-#: plinth/modules/tor/__init__.py:136
-msgid "Tor Anonymity Network"
-msgstr ""
-
-#: plinth/modules/tor/__init__.py:208
+#: plinth/modules/tor/__init__.py:170
msgid "Tor relay port available"
msgstr ""
-#: plinth/modules/tor/__init__.py:218
+#: plinth/modules/tor/__init__.py:180
msgid "Obfs3 transport registered"
msgstr ""
-#: plinth/modules/tor/__init__.py:226
+#: plinth/modules/tor/__init__.py:188
msgid "Obfs4 transport registered"
msgstr ""
-#: plinth/modules/tor/__init__.py:265
+#: plinth/modules/tor/__init__.py:227
#, python-brace-format
msgid "Access URL {url} on tcp{kind} via Tor"
msgstr ""
-#: plinth/modules/tor/__init__.py:276
+#: plinth/modules/tor/__init__.py:238
#, python-brace-format
msgid "Confirm Tor usage at {url} on tcp{kind}"
msgstr ""
@@ -4671,18 +4660,18 @@ msgstr ""
msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050."
msgstr ""
-#: plinth/modules/transmission/__init__.py:39
+#: plinth/modules/transmission/__init__.py:41
#: plinth/modules/transmission/manifest.py:24
msgid "Transmission"
msgstr ""
-#: plinth/modules/transmission/__init__.py:44
+#: plinth/modules/transmission/__init__.py:46
msgid ""
"BitTorrent is a peer-to-peer file sharing protocol. Transmission daemon "
"handles Bitorrent file sharing. Note that BitTorrent is not anonymous."
msgstr ""
-#: plinth/modules/transmission/__init__.py:47
+#: plinth/modules/transmission/__init__.py:49
msgid ""
"Access the web interface at /transmission."
msgstr ""
@@ -4698,22 +4687,22 @@ msgid ""
"\" user."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:41 plinth/modules/ttrss/manifest.py:34
+#: plinth/modules/ttrss/__init__.py:43 plinth/modules/ttrss/manifest.py:34
msgid "Tiny Tiny RSS"
msgstr ""
-#: plinth/modules/ttrss/__init__.py:43
+#: plinth/modules/ttrss/__init__.py:45
msgid "News Feed Reader"
msgstr ""
-#: plinth/modules/ttrss/__init__.py:46
+#: plinth/modules/ttrss/__init__.py:48
msgid ""
"Tiny Tiny RSS is a news feed (RSS/Atom) reader and aggregator, designed to "
"allow reading news from any location, while feeling as close to a real "
"desktop application as possible."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:50
+#: plinth/modules/ttrss/__init__.py:52
#, python-brace-format
msgid ""
"When enabled, Tiny Tiny RSS will be available from /tt-"
@@ -4721,13 +4710,13 @@ msgid ""
"\"{users_url}\">user with a {box_name} login."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:55
+#: plinth/modules/ttrss/__init__.py:57
msgid ""
"When using a mobile or desktop application for Tiny Tiny RSS, use the URL /tt-rss-app for connecting."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:61
+#: plinth/modules/ttrss/__init__.py:63
msgid "Read and subscribe to news feeds"
msgstr ""
@@ -4735,11 +4724,11 @@ msgstr ""
msgid "Tiny Tiny RSS (Fork)"
msgstr ""
-#: plinth/modules/upgrades/__init__.py:36 plinth/templates/setup.html:101
+#: plinth/modules/upgrades/__init__.py:35 plinth/templates/setup.html:101
msgid "Update"
msgstr ""
-#: plinth/modules/upgrades/__init__.py:39
+#: plinth/modules/upgrades/__init__.py:38
msgid "Check for and apply the latest software and security updates."
msgstr ""
@@ -4774,32 +4763,32 @@ msgstr ""
msgid "Auto-update"
msgstr ""
-#: plinth/modules/upgrades/views.py:39
+#: plinth/modules/upgrades/views.py:40
msgid "Manual update"
msgstr ""
-#: plinth/modules/upgrades/views.py:78
+#: plinth/modules/upgrades/views.py:79
#, python-brace-format
msgid "Error when configuring unattended-upgrades: {error}"
msgstr ""
-#: plinth/modules/upgrades/views.py:82
+#: plinth/modules/upgrades/views.py:83
msgid "Automatic upgrades enabled"
msgstr ""
-#: plinth/modules/upgrades/views.py:85
+#: plinth/modules/upgrades/views.py:86
msgid "Automatic upgrades disabled"
msgstr ""
-#: plinth/modules/upgrades/views.py:87
+#: plinth/modules/upgrades/views.py:88
msgid "Settings unchanged"
msgstr ""
-#: plinth/modules/upgrades/views.py:113
+#: plinth/modules/upgrades/views.py:114
msgid "Upgrade process started."
msgstr ""
-#: plinth/modules/upgrades/views.py:116
+#: plinth/modules/upgrades/views.py:117
msgid "Starting upgrade failed."
msgstr ""
@@ -4807,7 +4796,7 @@ msgstr ""
msgid "Users and Groups"
msgstr ""
-#: plinth/modules/users/__init__.py:106
+#: plinth/modules/users/__init__.py:108
#, python-brace-format
msgid "Check LDAP entry \"{search_item}\""
msgstr ""
@@ -5019,15 +5008,6 @@ msgstr ""
msgid "configuration file: {file}"
msgstr ""
-#: plinth/service.py:140
-msgid "Web Server over Secure Socket Layer"
-msgstr ""
-
-#: plinth/service.py:145
-#, python-brace-format
-msgid "{box_name} Web Interface (Plinth)"
-msgstr ""
-
#: plinth/templates/403.html:25
msgid "403 Forbidden"
msgstr ""
@@ -5226,16 +5206,16 @@ msgstr ""
msgid "Mailing list"
msgstr ""
-#: plinth/templates/internal-zone.html:25
+#: plinth/templates/internal-zone.html:26
#, python-format
msgid "%(service_name)s is available only on internal networks."
msgstr ""
-#: plinth/templates/internal-zone.html:31
+#: plinth/templates/internal-zone.html:32
msgid "Currently there are no network interfaces configured as internal."
msgstr ""
-#: plinth/templates/internal-zone.html:33
+#: plinth/templates/internal-zone.html:34
#, python-format
msgid ""
"Currently the following network interfaces are configured as internal: "
@@ -5298,6 +5278,14 @@ msgstr ""
msgid "%(percentage)s%% complete"
msgstr ""
+#: plinth/views.py:178
+msgid "Application enabled"
+msgstr ""
+
+#: plinth/views.py:181
+msgid "Application disabled"
+msgstr ""
+
#: plinth/web_framework.py:186
msgid "Gujarati"
msgstr ""
diff --git a/plinth/locale/zh_Hans/LC_MESSAGES/django.po b/plinth/locale/zh_Hans/LC_MESSAGES/django.po
index f7dfa5ca6..eeca925f2 100644
--- a/plinth/locale/zh_Hans/LC_MESSAGES/django.po
+++ b/plinth/locale/zh_Hans/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Plinth\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-06-10 19:02-0400\n"
+"POT-Creation-Date: 2019-06-24 19:48-0400\n"
"PO-Revision-Date: 2018-12-07 18:21+0000\n"
"Last-Translator: Allan Nordhøy \n"
"Language-Team: Chinese (Simplified) /"
@@ -536,14 +547,14 @@ msgstr ""
"启用以后,Tiny Tiny RSS 将可从网页服务器的 /tt-rss 路"
"径访问。"
-#: plinth/modules/config/__init__.py:59 plinth/modules/dynamicdns/views.py:44
+#: plinth/modules/config/__init__.py:61 plinth/modules/dynamicdns/views.py:45
#: plinth/modules/i2p/views.py:31 plinth/modules/ikiwiki/views.py:35
#: plinth/modules/pagekite/views.py:36 plinth/modules/snapshot/views.py:40
#: plinth/modules/tahoe/templates/tahoe-pre-setup.html:39
msgid "Configure"
msgstr "配置"
-#: plinth/modules/config/__init__.py:164 plinth/modules/config/forms.py:76
+#: plinth/modules/config/__init__.py:166 plinth/modules/config/forms.py:76
#: plinth/modules/config/views.py:171 plinth/modules/dynamicdns/forms.py:111
msgid "Domain Name"
msgstr "域名"
@@ -626,8 +637,8 @@ msgstr ""
#: plinth/modules/power/templates/power_restart.html:42
#: plinth/modules/power/templates/power_shutdown.html:41
#: plinth/modules/storage/templates/storage.html:48
-#: plinth/templates/service-subsubmenu.html:47 plinth/templates/service.html:42
-#: plinth/templates/setup.html:48 plinth/templates/simple_service.html:38
+#: plinth/templates/app-subsubmenu.html:47 plinth/templates/app.html:42
+#: plinth/templates/setup.html:48 plinth/templates/simple_app.html:38
#, fuzzy
#| msgid "Learn more »"
msgid "Learn more..."
@@ -679,24 +690,24 @@ msgstr ""
msgid "Hiding advanced apps and features"
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:38
+#: plinth/modules/coquelicot/__init__.py:40
msgid "Coquelicot"
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:40
+#: plinth/modules/coquelicot/__init__.py:42
#, fuzzy
#| msgid "Enable Shaarli"
msgid "File Sharing"
msgstr "启用 Shaarli"
-#: plinth/modules/coquelicot/__init__.py:43
+#: plinth/modules/coquelicot/__init__.py:45
msgid ""
"Coquelicot is a “one-click” file sharing web application with a focus on "
"protecting users’ privacy. It is best used for quickly sharing a single "
"file. "
msgstr ""
-#: plinth/modules/coquelicot/__init__.py:46
+#: plinth/modules/coquelicot/__init__.py:48
msgid ""
"This Coquelicot instance is exposed to the public but requires an upload "
"password to prevent unauthorized access. You can set a new upload password "
@@ -728,23 +739,23 @@ msgstr ""
msgid "coquelicot"
msgstr ""
-#: plinth/modules/coquelicot/views.py:57
+#: plinth/modules/coquelicot/views.py:59
#, fuzzy
#| msgid "Password"
msgid "Upload password updated"
msgstr "密码"
-#: plinth/modules/coquelicot/views.py:60
+#: plinth/modules/coquelicot/views.py:62
msgid "Failed to update upload password"
msgstr ""
-#: plinth/modules/coquelicot/views.py:68
+#: plinth/modules/coquelicot/views.py:70
#, fuzzy
#| msgid "Maximum players configuration updated"
msgid "Maximum file size updated"
msgstr "最大玩家配置已更新"
-#: plinth/modules/coquelicot/views.py:71
+#: plinth/modules/coquelicot/views.py:73
msgid "Failed to update maximum file size"
msgstr ""
@@ -758,15 +769,15 @@ msgid ""
"synchronization with servers on the Internet."
msgstr "网络时间服务是与 Internet 上的服务器同步系统时间的一个程序。"
-#: plinth/modules/datetime/__init__.py:107
+#: plinth/modules/datetime/__init__.py:99
msgid "Time synchronized to NTP server"
msgstr ""
-#: plinth/modules/datetime/forms.py:36
+#: plinth/modules/datetime/forms.py:35
msgid "Time Zone"
msgstr "时区"
-#: plinth/modules/datetime/forms.py:37
+#: plinth/modules/datetime/forms.py:36
#, fuzzy
#| msgid ""
#| "Set your time zone to get accurate timestamps. This will set the "
@@ -776,7 +787,7 @@ msgid ""
"time zone."
msgstr "设置您的时区来得到准确的时间戳。这将影响全系统时区。"
-#: plinth/modules/datetime/forms.py:49
+#: plinth/modules/datetime/forms.py:47
msgid "-- no time zone set --"
msgstr "-- 时区未设置 --"
@@ -796,7 +807,7 @@ msgid "Deluge"
msgstr "启用 Deluge"
#: plinth/modules/deluge/__init__.py:41
-#: plinth/modules/transmission/__init__.py:41
+#: plinth/modules/transmission/__init__.py:43
#, fuzzy
#| msgid ""
#| "BitTorrent Web Client \n"
@@ -820,7 +831,7 @@ msgstr ""
"服务器。默认密码是“deluge”,但是你需要在启用此服务以后立刻登录并修改它。"
#: plinth/modules/deluge/__init__.py:51
-#: plinth/modules/transmission/__init__.py:54
+#: plinth/modules/transmission/__init__.py:56
msgid "Download files using BitTorrent applications"
msgstr ""
@@ -883,12 +894,12 @@ msgstr "测试"
msgid "Result"
msgstr "结果"
-#: plinth/modules/diaspora/__init__.py:52
+#: plinth/modules/diaspora/__init__.py:54
#: plinth/modules/diaspora/manifest.py:38
msgid "diaspora*"
msgstr ""
-#: plinth/modules/diaspora/__init__.py:54
+#: plinth/modules/diaspora/__init__.py:56
msgid "Federated Social Network"
msgstr ""
@@ -935,24 +946,24 @@ msgstr ""
#: plinth/modules/tahoe/templates/tahoe-pre-setup.html:58
#: plinth/modules/tor/templates/tor.html:96
#: plinth/modules/upgrades/templates/upgrades_configure.html:32
-#: plinth/templates/service.html:89
+#: plinth/templates/app.html:89
msgid "Update setup"
msgstr "更新安装程序"
-#: plinth/modules/diaspora/views.py:97 plinth/modules/ejabberd/views.py:64
-#: plinth/modules/matrixsynapse/views.py:107
-#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:150
-#: plinth/modules/tor/views.py:146 plinth/views.py:160
+#: plinth/modules/diaspora/views.py:94 plinth/modules/ejabberd/views.py:65
+#: plinth/modules/matrixsynapse/views.py:108
+#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:148
+#: plinth/modules/tor/views.py:148 plinth/views.py:174
msgid "Setting unchanged"
msgstr "设置未改变"
-#: plinth/modules/diaspora/views.py:101
+#: plinth/modules/diaspora/views.py:98
#, fuzzy
#| msgid "Application enabled"
msgid "User registrations enabled"
msgstr "应用程序已启用"
-#: plinth/modules/diaspora/views.py:105
+#: plinth/modules/diaspora/views.py:102
#, fuzzy
#| msgid "Application disabled"
msgid "User registrations disabled"
@@ -988,8 +999,8 @@ msgstr ""
"将您的 DNS 名称分配给新的 IP,如果互联网上的某人要求您的 DNS 名称,他们将收到"
"一个带有您当前 IP 地址的响应。"
-#: plinth/modules/dynamicdns/__init__.py:85
-#: plinth/modules/dynamicdns/views.py:167
+#: plinth/modules/dynamicdns/__init__.py:87
+#: plinth/modules/dynamicdns/views.py:169
#, fuzzy
#| msgid "Dynamic DNS Client"
msgid "Dynamic DNS Service"
@@ -1089,7 +1100,7 @@ msgid "Username"
msgstr "用户名"
#: plinth/modules/dynamicdns/forms.py:121 plinth/modules/networks/forms.py:235
-#: plinth/modules/shadowsocks/forms.py:70
+#: plinth/modules/shadowsocks/forms.py:61
msgid "Password"
msgstr "密码"
@@ -1178,41 +1189,41 @@ msgstr ""
msgid "Last update"
msgstr "最后一次更新"
-#: plinth/modules/dynamicdns/views.py:41 plinth/modules/help/help.py:57
+#: plinth/modules/dynamicdns/views.py:41 plinth/modules/help/help.py:59
msgid "About"
msgstr "关于"
-#: plinth/modules/dynamicdns/views.py:47
+#: plinth/modules/dynamicdns/views.py:49
#: plinth/modules/firewall/templates/firewall.html:25
#: plinth/modules/firewall/templates/firewall.html:45
#: plinth/modules/i2p/templates/i2p.html:27
#: plinth/modules/networks/templates/connection_show.html:261
#: plinth/modules/openvpn/templates/openvpn.html:71
#: plinth/modules/tor/templates/tor.html:40
-#: plinth/modules/tor/templates/tor.html:68 plinth/templates/service.html:51
+#: plinth/modules/tor/templates/tor.html:68 plinth/templates/app.html:51
msgid "Status"
msgstr "状态"
-#: plinth/modules/dynamicdns/views.py:78
+#: plinth/modules/dynamicdns/views.py:80
msgid "Configure Dynamic DNS"
msgstr "配置动态 DNS"
-#: plinth/modules/dynamicdns/views.py:103
+#: plinth/modules/dynamicdns/views.py:105
msgid "Dynamic DNS Status"
msgstr "动态 DNS 状态"
-#: plinth/modules/ejabberd/__init__.py:43
+#: plinth/modules/ejabberd/__init__.py:45
msgid "ejabberd"
msgstr ""
-#: plinth/modules/ejabberd/__init__.py:45
-#: plinth/modules/matrixsynapse/__init__.py:43
+#: plinth/modules/ejabberd/__init__.py:47
+#: plinth/modules/matrixsynapse/__init__.py:45
#, fuzzy
#| msgid "Web Server"
msgid "Chat Server"
msgstr "Web 服务器"
-#: plinth/modules/ejabberd/__init__.py:48
+#: plinth/modules/ejabberd/__init__.py:50
msgid ""
"XMPP is an open and standardized communication protocol. Here you can run "
"and configure your XMPP server, called ejabberd."
@@ -1220,7 +1231,7 @@ msgstr ""
"XMPP 是一种开放标准的通信协议。在这里你可以运行并配置您的 XMPP 服务器,称为 "
"ejabberd。"
-#: plinth/modules/ejabberd/__init__.py:51
+#: plinth/modules/ejabberd/__init__.py:53
#, fuzzy, python-brace-format
#| msgid ""
#| "To actually communicate, you can use the web client or any other XMPP 客户端。"
-#: plinth/modules/ejabberd/forms.py:33
+#: plinth/modules/ejabberd/forms.py:32
msgid "Enable Message Archive Management"
msgstr ""
-#: plinth/modules/ejabberd/forms.py:36
+#: plinth/modules/ejabberd/forms.py:34
#, python-brace-format
msgid ""
"If enabled, your {box_name} will store chat message histories. This allows "
@@ -1314,35 +1325,23 @@ msgstr "启动 web 客户端"
#: plinth/modules/openvpn/templates/openvpn.html:123
#: plinth/modules/snapshot/templates/snapshot.html:27
#: plinth/modules/tahoe/templates/tahoe-post-setup.html:43
-#: plinth/modules/tor/templates/tor.html:88 plinth/templates/service.html:81
+#: plinth/modules/tor/templates/tor.html:88 plinth/templates/app.html:81
msgid "Configuration"
msgstr "配置"
-#: plinth/modules/ejabberd/views.py:68
-#: plinth/modules/matrixsynapse/views.py:111
-#: plinth/modules/mediawiki/views.py:79 plinth/views.py:164
-msgid "Application enabled"
-msgstr "应用程序已启用"
-
-#: plinth/modules/ejabberd/views.py:71
-#: plinth/modules/matrixsynapse/views.py:114
-#: plinth/modules/mediawiki/views.py:82 plinth/views.py:167
-msgid "Application disabled"
-msgstr "应用程序已禁用"
-
-#: plinth/modules/ejabberd/views.py:78
+#: plinth/modules/ejabberd/views.py:77
msgid "Message Archive Management enabled"
msgstr ""
-#: plinth/modules/ejabberd/views.py:82
+#: plinth/modules/ejabberd/views.py:81
msgid "Message Archive Management disabled"
msgstr ""
-#: plinth/modules/firewall/__init__.py:40
+#: plinth/modules/firewall/__init__.py:36
msgid "Firewall"
msgstr "防火墙"
-#: plinth/modules/firewall/__init__.py:44
+#: plinth/modules/firewall/__init__.py:40
#, python-brace-format
msgid ""
"Firewall is a security system that controls the incoming and outgoing "
@@ -1457,31 +1456,31 @@ msgstr "启动安装程序"
msgid "Setup Complete"
msgstr "安装完成"
-#: plinth/modules/help/help.py:44
+#: plinth/modules/help/help.py:46
msgid "Documentation"
msgstr "文档"
-#: plinth/modules/help/help.py:48 plinth/modules/networks/forms.py:68
+#: plinth/modules/help/help.py:50 plinth/modules/networks/forms.py:68
#: plinth/modules/networks/forms.py:108 plinth/templates/index.html:135
msgid "Manual"
msgstr "手册"
-#: plinth/modules/help/help.py:53
+#: plinth/modules/help/help.py:55
#, fuzzy
#| msgid "{box_name} Manual"
msgid "Download Manual"
msgstr "{box_name} 手册"
-#: plinth/modules/help/help.py:73
+#: plinth/modules/help/help.py:75
msgid "Documentation and FAQ"
msgstr "文档和 FAQ"
-#: plinth/modules/help/help.py:81
+#: plinth/modules/help/help.py:83
#, python-brace-format
msgid "About {box_name}"
msgstr "关于 {box_name}"
-#: plinth/modules/help/help.py:102
+#: plinth/modules/help/help.py:104
#, python-brace-format
msgid "{box_name} Manual"
msgstr "{box_name} 手册"
@@ -1634,17 +1633,17 @@ msgid ""
"before submitting the bug report."
msgstr "提交日志报告前,请从日志中删除任何密码和其他个人信息。"
-#: plinth/modules/i2p/__init__.py:40 plinth/modules/i2p/manifest.py:31
+#: plinth/modules/i2p/__init__.py:42 plinth/modules/i2p/manifest.py:31
msgid "I2P"
msgstr ""
-#: plinth/modules/i2p/__init__.py:42 plinth/modules/tor/__init__.py:45
+#: plinth/modules/i2p/__init__.py:44 plinth/modules/tor/__init__.py:48
#, fuzzy
#| msgid "Tor Anonymity Network"
msgid "Anonymity Network"
msgstr "Tor 匿名网络"
-#: plinth/modules/i2p/__init__.py:45
+#: plinth/modules/i2p/__init__.py:47
msgid ""
"The Invisible Internet Project is an anonymous network layer intended to "
"protect communication from censorship and surveillance. I2P provides "
@@ -1652,7 +1651,7 @@ msgid ""
"distributed around the world."
msgstr ""
-#: plinth/modules/i2p/__init__.py:49
+#: plinth/modules/i2p/__init__.py:51
#, fuzzy
#| msgid ""
#| "For more information about the %(box_name)s project, see the %(box_name)s Wiki。"
-#: plinth/modules/i2p/__init__.py:51
+#: plinth/modules/i2p/__init__.py:53
msgid ""
"The first visit to the provided web interface will initiate the "
"configuration process."
msgstr ""
-#: plinth/modules/i2p/__init__.py:57
+#: plinth/modules/i2p/__init__.py:59
#, fuzzy
#| msgid "Enable application"
msgid "Manage I2P application"
msgstr "启用应用程序"
-#: plinth/modules/i2p/templates/i2p.html:32 plinth/templates/service.html:56
+#: plinth/modules/i2p/templates/i2p.html:32 plinth/templates/app.html:56
#, fuzzy, python-format
#| msgid "Service discovery server is running"
msgid "Service %(service_name)s is running."
msgstr "服务发现服务正在运行"
-#: plinth/modules/i2p/templates/i2p.html:37 plinth/templates/service.html:61
+#: plinth/modules/i2p/templates/i2p.html:37 plinth/templates/app.html:61
#, fuzzy, python-format
#| msgid "Service discovery server is not running"
msgid "Service %(service_name)s is not running."
msgstr "服务发现服务未运行"
-#: plinth/modules/i2p/templates/i2p_service.html:13
+#: plinth/modules/i2p/templates/i2p_service.html:31
#: plinth/templates/clients.html:51
msgid "Launch"
msgstr ""
@@ -1701,45 +1700,45 @@ msgstr ""
msgid "Anonymous torrents"
msgstr ""
-#: plinth/modules/i2p/views.py:86
+#: plinth/modules/i2p/views.py:88
msgid "I2P Proxies and Tunnels"
msgstr ""
-#: plinth/modules/i2p/views.py:89
+#: plinth/modules/i2p/views.py:91
msgid ""
"I2P lets you browse the Internet and hidden services (eepsites) anonymously. "
"For this, your browser, preferably a Tor Browser, needs to be configured for "
"a proxy."
msgstr ""
-#: plinth/modules/i2p/views.py:92
+#: plinth/modules/i2p/views.py:94
msgid ""
"By default HTTP, HTTPS and IRC proxies are available. Additional proxies and "
"tunnels may be configured using the tunnel configuration interface."
msgstr ""
-#: plinth/modules/i2p/views.py:101
+#: plinth/modules/i2p/views.py:103
msgid "Anonymous Torrents"
msgstr ""
-#: plinth/modules/i2p/views.py:104
+#: plinth/modules/i2p/views.py:106
msgid ""
"I2P provides an application to download files anonymously in a peer-to-peer "
"network. Download files by adding torrents or create a new torrent to share "
"a file."
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:42 plinth/modules/ikiwiki/manifest.py:24
+#: plinth/modules/ikiwiki/__init__.py:41 plinth/modules/ikiwiki/manifest.py:24
#, fuzzy
#| msgid "wiki"
msgid "ikiwiki"
msgstr "维基"
-#: plinth/modules/ikiwiki/__init__.py:44
+#: plinth/modules/ikiwiki/__init__.py:43
msgid "Wiki and Blog"
msgstr "Wiki 和博客"
-#: plinth/modules/ikiwiki/__init__.py:47
+#: plinth/modules/ikiwiki/__init__.py:46
#, fuzzy
#| msgid ""
#| "ikiwiki is a simple wiki and blog application. It supports several "
@@ -1756,7 +1755,7 @@ msgstr ""
"Markdown 和常见的博客功能,如评论和 RSS 源。启用后,博客和 Wiki 将可从 /ikiwiki 访问。"
-#: plinth/modules/ikiwiki/__init__.py:53
+#: plinth/modules/ikiwiki/__init__.py:52
#, python-brace-format
msgid ""
"Only {box_name} users in the admin group can create and "
@@ -1765,7 +1764,7 @@ msgid ""
"Configuration you can change these permissions or add new users."
msgstr ""
-#: plinth/modules/ikiwiki/__init__.py:63
+#: plinth/modules/ikiwiki/__init__.py:62
#, fuzzy
#| msgid "Services and Applications"
msgid "View and edit wiki applications"
@@ -1836,51 +1835,51 @@ msgstr "转到站点 %(site)s"
msgid "Manage"
msgstr "管理"
-#: plinth/modules/ikiwiki/views.py:121
+#: plinth/modules/ikiwiki/views.py:124
#, python-brace-format
msgid "Created wiki {name}."
msgstr "创建 wiki {name}。"
-#: plinth/modules/ikiwiki/views.py:124
+#: plinth/modules/ikiwiki/views.py:127
#, python-brace-format
msgid "Could not create wiki: {error}"
msgstr "不能创建 wiki:{error}"
-#: plinth/modules/ikiwiki/views.py:134
+#: plinth/modules/ikiwiki/views.py:137
#, python-brace-format
msgid "Created blog {name}."
msgstr "已创建的博客 {name}。"
-#: plinth/modules/ikiwiki/views.py:137
+#: plinth/modules/ikiwiki/views.py:140
#, python-brace-format
msgid "Could not create blog: {error}"
msgstr "不能创建博客:{error}"
-#: plinth/modules/ikiwiki/views.py:150
+#: plinth/modules/ikiwiki/views.py:153
#, python-brace-format
msgid "{name} deleted."
msgstr "{name} 已删除。"
-#: plinth/modules/ikiwiki/views.py:154
+#: plinth/modules/ikiwiki/views.py:157
#, python-brace-format
msgid "Could not delete {name}: {error}"
msgstr "不能删除 {name}:{error}"
-#: plinth/modules/infinoted/__init__.py:41
+#: plinth/modules/infinoted/__init__.py:40
msgid "infinoted"
msgstr ""
-#: plinth/modules/infinoted/__init__.py:43
+#: plinth/modules/infinoted/__init__.py:42
#, fuzzy
#| msgid "Web Server"
msgid "Gobby Server"
msgstr "Web 服务器"
-#: plinth/modules/infinoted/__init__.py:46
+#: plinth/modules/infinoted/__init__.py:45
msgid "infinoted is a server for Gobby, a collaborative text editor."
msgstr "infinoted 是一个 Gobby 服务器,Gobby 是一个协作化的文本编辑器。"
-#: plinth/modules/infinoted/__init__.py:48
+#: plinth/modules/infinoted/__init__.py:47
#, python-brace-format
msgid ""
"To use it, download Gobby, desktop "
@@ -2252,7 +2251,7 @@ msgstr "成功为域名 {domain} 吊销证书"
msgid "Failed to delete certificate for domain {domain}: {error}"
msgstr "无法为 {domain} 撤销证书:{error}"
-#: plinth/modules/matrixsynapse/__init__.py:41
+#: plinth/modules/matrixsynapse/__init__.py:43
#, fuzzy
#| msgid ""
#| "Chat Server \n"
@@ -2262,7 +2261,7 @@ msgstr ""
"聊天服务器\n"
"(Matrix Synapse)"
-#: plinth/modules/matrixsynapse/__init__.py:46
+#: plinth/modules/matrixsynapse/__init__.py:48
msgid ""
"Matrix is an new "
"ecosystem for open, federated instant messaging and VoIP. Synapse is a "
@@ -2272,7 +2271,7 @@ msgid ""
"converse with users on all other Matrix servers via federation."
msgstr ""
-#: plinth/modules/matrixsynapse/__init__.py:53
+#: plinth/modules/matrixsynapse/__init__.py:55
msgid ""
"To communicate, you can use the available clients for mobile, desktop and the web. Special:CreateAccount page."
msgstr ""
-#: plinth/modules/mediawiki/__init__.py:49
+#: plinth/modules/mediawiki/__init__.py:53
msgid ""
"Anyone with a link to this wiki can read it. Only users that are logged in "
"can make changes to the content."
@@ -2430,36 +2429,36 @@ msgstr ""
msgid "Password updated"
msgstr "密码"
-#: plinth/modules/mediawiki/views.py:91
+#: plinth/modules/mediawiki/views.py:89
#, fuzzy
#| msgid "Application enabled"
msgid "Public registrations enabled"
msgstr "应用程序已启用"
-#: plinth/modules/mediawiki/views.py:100
+#: plinth/modules/mediawiki/views.py:98
#, fuzzy
#| msgid "Application disabled"
msgid "Public registrations disabled"
msgstr "应用程序已禁用"
-#: plinth/modules/mediawiki/views.py:109
+#: plinth/modules/mediawiki/views.py:107
#, fuzzy
#| msgid "PageKite enabled"
msgid "Private mode enabled"
msgstr "PageKite 已启用"
-#: plinth/modules/mediawiki/views.py:112
+#: plinth/modules/mediawiki/views.py:110
#, fuzzy
#| msgid "PageKite disabled"
msgid "Private mode disabled"
msgstr "PageKite 已禁用"
-#: plinth/modules/minetest/__init__.py:53
+#: plinth/modules/minetest/__init__.py:52
#: plinth/modules/minetest/manifest.py:25
msgid "Minetest"
msgstr ""
-#: plinth/modules/minetest/__init__.py:55
+#: plinth/modules/minetest/__init__.py:54
#, fuzzy
#| msgid ""
#| "Block Sandbox \n"
@@ -2469,7 +2468,7 @@ msgstr ""
"方块沙盒\n"
"(Minetest)"
-#: plinth/modules/minetest/__init__.py:59
+#: plinth/modules/minetest/__init__.py:58
#, python-brace-format
msgid ""
"Minetest is a multiplayer infinite-world block sandbox. This module enables "
@@ -2481,11 +2480,11 @@ msgstr ""
"(30000)上运行 Minetest 服务器。要连接到服务器,需要 Minetest 客户端。"
-#: plinth/modules/minetest/forms.py:31
+#: plinth/modules/minetest/forms.py:30
msgid "Maximum number of players"
msgstr "最大玩家数量"
-#: plinth/modules/minetest/forms.py:35
+#: plinth/modules/minetest/forms.py:32
#, fuzzy
#| msgid ""
#| "You can change the maximum number of players playing "
@@ -2495,11 +2494,11 @@ msgid ""
"instance of time."
msgstr "你可以修改 minetest 单位时间单一实例里的最大玩家数量"
-#: plinth/modules/minetest/forms.py:39
+#: plinth/modules/minetest/forms.py:36
msgid "Enable creative mode"
msgstr "启用创意模式"
-#: plinth/modules/minetest/forms.py:41
+#: plinth/modules/minetest/forms.py:37
#, fuzzy
#| msgid ""
#| "Creative mode changes the rules of the game to make "
@@ -2510,11 +2509,11 @@ msgid ""
"creative gameplay, rather than challenging \"survival\" gameplay."
msgstr "创意模式可以修改游戏模式以便适合创意玩法,而非“逃生”模式。"
-#: plinth/modules/minetest/forms.py:46
+#: plinth/modules/minetest/forms.py:42
msgid "Enable PVP"
msgstr "启用玩家对战(PVP)"
-#: plinth/modules/minetest/forms.py:48
+#: plinth/modules/minetest/forms.py:43
#, fuzzy
#| msgid ""
#| "Enabling Player Vs Player will allow players to "
@@ -2522,11 +2521,11 @@ msgstr "启用玩家对战(PVP)"
msgid "Enabling Player Vs Player will allow players to damage other players."
msgstr "启用玩家对战模式允许玩家伤害另一个玩家"
-#: plinth/modules/minetest/forms.py:52
+#: plinth/modules/minetest/forms.py:47
msgid "Enable damage"
msgstr "启用伤害"
-#: plinth/modules/minetest/forms.py:54
+#: plinth/modules/minetest/forms.py:48
#, fuzzy
#| msgid ""
#| "When disabled, players cannot die or receive damage "
@@ -2544,56 +2543,56 @@ msgstr "地址"
msgid "Port"
msgstr "端口"
-#: plinth/modules/minetest/views.py:71
+#: plinth/modules/minetest/views.py:72
msgid "Maximum players configuration updated"
msgstr "最大玩家配置已更新"
-#: plinth/modules/minetest/views.py:78
+#: plinth/modules/minetest/views.py:79
msgid "Creative mode configuration updated"
msgstr "创意模式配置已更新"
-#: plinth/modules/minetest/views.py:84
+#: plinth/modules/minetest/views.py:85
msgid "PVP configuration updated"
msgstr "玩家对战(PVP)配置已更新"
-#: plinth/modules/minetest/views.py:90
+#: plinth/modules/minetest/views.py:91
msgid "Damage configuration updated"
msgstr "伤害配置已更新"
-#: plinth/modules/mldonkey/__init__.py:38
+#: plinth/modules/mldonkey/__init__.py:40
#: plinth/modules/mldonkey/manifest.py:27
#, fuzzy
#| msgid "Monkeysphere"
msgid "MLDonkey"
msgstr "Monkeysphere"
-#: plinth/modules/mldonkey/__init__.py:40
+#: plinth/modules/mldonkey/__init__.py:42
#, fuzzy
#| msgid "Enable Shaarli"
msgid "Peer-to-peer File Sharing"
msgstr "启用 Shaarli"
-#: plinth/modules/mldonkey/__init__.py:43
+#: plinth/modules/mldonkey/__init__.py:45
msgid ""
"MLDonkey is a peer-to-peer file sharing application used to exchange large "
"files. It can participate in multiple peer-to-peer networks including "
"eDonkey, Kademlia, Overnet, BitTorrent and DirectConnect."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:46
+#: plinth/modules/mldonkey/__init__.py:48
msgid ""
"Users belonging to admin and ed2k group can control it through the web "
"interface. Users in the admin group can also control it through any of the "
"separate mobile or desktop front-ends or a telnet interface. See manual."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:51
+#: plinth/modules/mldonkey/__init__.py:53
#, python-brace-format
msgid ""
"On {box_name}, downloaded files can be found in /var/lib/mldonkey/ directory."
msgstr ""
-#: plinth/modules/mldonkey/__init__.py:59
+#: plinth/modules/mldonkey/__init__.py:61
msgid "Download files using eDonkey applications"
msgstr ""
@@ -2672,12 +2671,6 @@ msgstr "OpenPGP 指纹"
msgid "Secure Shell"
msgstr "安全 Shell"
-#: plinth/modules/monkeysphere/templates/monkeysphere.html:88
-#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:60
-#: plinth/service.py:138
-msgid "Web Server"
-msgstr "Web 服务器"
-
#: plinth/modules/monkeysphere/templates/monkeysphere.html:90
#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:62
msgid "Other"
@@ -2772,11 +2765,11 @@ msgstr "已发布到密钥服务器的密钥。"
msgid "Error occurred while publishing key."
msgstr "发布密钥时出现错误。"
-#: plinth/modules/mumble/__init__.py:34 plinth/modules/mumble/manifest.py:27
+#: plinth/modules/mumble/__init__.py:35 plinth/modules/mumble/manifest.py:27
msgid "Mumble"
msgstr ""
-#: plinth/modules/mumble/__init__.py:36
+#: plinth/modules/mumble/__init__.py:37
#, fuzzy
#| msgid ""
#| "Voice Chat \n"
@@ -2786,13 +2779,13 @@ msgstr ""
"语音聊天\n"
"(Mumble)"
-#: plinth/modules/mumble/__init__.py:45
+#: plinth/modules/mumble/__init__.py:44
msgid ""
"Mumble is an open source, low-latency, encrypted, high quality voice chat "
"software."
msgstr "Mumble 是一个开放源码的低延迟、 加密、 高品质语音聊天软件。"
-#: plinth/modules/mumble/__init__.py:47
+#: plinth/modules/mumble/__init__.py:46
msgid ""
"You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your "
@@ -2842,7 +2835,7 @@ msgstr "不可用"
msgid "Networks"
msgstr "网络"
-#: plinth/modules/networks/__init__.py:142
+#: plinth/modules/networks/__init__.py:144
#, python-brace-format
msgid "Using DNSSEC on IPv{kind}"
msgstr "在 IPv{kind} 上使用 DNSSEC"
@@ -3281,7 +3274,7 @@ msgstr "IPv4"
#: plinth/modules/networks/templates/connection_show.html:186
#: plinth/modules/networks/templates/connection_show.html:227
-#: plinth/modules/shadowsocks/forms.py:75
+#: plinth/modules/shadowsocks/forms.py:65
msgid "Method"
msgstr "方法"
@@ -3409,19 +3402,19 @@ msgstr "未激活"
msgid "Create..."
msgstr "创建..."
-#: plinth/modules/openvpn/__init__.py:40
+#: plinth/modules/openvpn/__init__.py:39
#, fuzzy
#| msgid "Open"
msgid "OpenVPN"
msgstr "打开"
-#: plinth/modules/openvpn/__init__.py:42
+#: plinth/modules/openvpn/__init__.py:41
#, fuzzy
#| msgid "Virtual Private Network (OpenVPN)"
msgid "Virtual Private Network"
msgstr "虚拟专用网络(OpenVPN)"
-#: plinth/modules/openvpn/__init__.py:46
+#: plinth/modules/openvpn/__init__.py:45
#, python-brace-format
msgid ""
"Virtual Private Network (VPN) is a technique for securely connecting two "
@@ -3436,7 +3429,7 @@ msgstr ""
"供的私人/内部服务。您还可以通过 {box_name} 访问互联网的其他部分,以增加安全性"
"和匿名性。"
-#: plinth/modules/openvpn/__init__.py:74
+#: plinth/modules/openvpn/__init__.py:75
#, python-brace-format
msgid ""
"Download Profile"
@@ -3516,11 +3509,11 @@ msgstr "OpenVPN 服务正在运行"
msgid "OpenVPN server is not running"
msgstr "OpenVPN 服务器未运行"
-#: plinth/modules/openvpn/views.py:128
+#: plinth/modules/openvpn/views.py:126
msgid "Setup completed."
msgstr "安装已完成。"
-#: plinth/modules/openvpn/views.py:130
+#: plinth/modules/openvpn/views.py:128
msgid "Setup failed."
msgstr "安装失败。"
@@ -3606,7 +3599,7 @@ msgstr ""
"选择您的 pagekite 服务器。设置\"pagekite.net\"以便使用默认的 pagekite.net 服"
"务器。"
-#: plinth/modules/pagekite/forms.py:78 plinth/modules/shadowsocks/forms.py:64
+#: plinth/modules/pagekite/forms.py:78 plinth/modules/shadowsocks/forms.py:57
msgid "Server port"
msgstr "服务器端口"
@@ -3810,29 +3803,29 @@ msgstr "已发布的服务可从互联网访问并受到邪恶攻击。"
msgid "Save Services"
msgstr "保存服务"
-#: plinth/modules/pagekite/utils.py:53
+#: plinth/modules/pagekite/utils.py:57
msgid "Web Server (HTTP)"
msgstr "Web 服务器(HTTP)"
-#: plinth/modules/pagekite/utils.py:54
+#: plinth/modules/pagekite/utils.py:59
#, python-brace-format
msgid "Site will be available at http://{0}"
msgstr "网站可从 http://{0} 访问"
-#: plinth/modules/pagekite/utils.py:63
+#: plinth/modules/pagekite/utils.py:71
msgid "Web Server (HTTPS)"
msgstr "Web 服务器(HTTPS)"
-#: plinth/modules/pagekite/utils.py:64
+#: plinth/modules/pagekite/utils.py:73
#, python-brace-format
msgid "Site will be available at https://{0}"
msgstr "网站可从 https://{0} 访问"
-#: plinth/modules/pagekite/utils.py:73
+#: plinth/modules/pagekite/utils.py:85
msgid "Secure Shell (SSH)"
msgstr "安全 Shell(SSH)"
-#: plinth/modules/pagekite/utils.py:74
+#: plinth/modules/pagekite/utils.py:87
msgid ""
"See SSH client setup instructions"
@@ -3840,19 +3833,19 @@ msgstr ""
"请参见 SSH 客户端安装 说明"
-#: plinth/modules/pagekite/utils.py:276
+#: plinth/modules/pagekite/utils.py:288
msgid "Pagekite"
msgstr "Pagekite"
-#: plinth/modules/pagekite/views.py:39
+#: plinth/modules/pagekite/views.py:40
msgid "Standard Services"
msgstr "标准服务"
-#: plinth/modules/pagekite/views.py:42
+#: plinth/modules/pagekite/views.py:44
msgid "Custom Services"
msgstr "定制服务"
-#: plinth/modules/pagekite/views.py:156
+#: plinth/modules/pagekite/views.py:158
msgid "Pagekite setup finished. The HTTP and HTTPS services are activated now."
msgstr "Pagekite 安装完成。HTTP 和 HTTPS 服务现已启用。"
@@ -3914,19 +3907,19 @@ msgstr ""
msgid "Shut Down Now"
msgstr "现在关闭"
-#: plinth/modules/privoxy/__init__.py:41
+#: plinth/modules/privoxy/__init__.py:42
#, fuzzy
#| msgid "Enable Privoxy"
msgid "Privoxy"
msgstr "启用 Privoxy"
-#: plinth/modules/privoxy/__init__.py:43
+#: plinth/modules/privoxy/__init__.py:44
#, fuzzy
#| msgid "Privoxy Web Proxy"
msgid "Web Proxy"
msgstr "Privoxy 网页代理"
-#: plinth/modules/privoxy/__init__.py:46
+#: plinth/modules/privoxy/__init__.py:47
msgid ""
"Privoxy is a non-caching web proxy with advanced filtering capabilities for "
"enhancing privacy, modifying web page data and HTTP headers, controlling "
@@ -3935,7 +3928,7 @@ msgstr ""
"Privoxy 是一个非缓存Web代理,具有高级过滤功能,用于增强隐私,修改网页数据和 "
"HTTP 标头,控制访问,以及删除广告和其他令人讨厌的互联网垃圾。"
-#: plinth/modules/privoxy/__init__.py:51
+#: plinth/modules/privoxy/__init__.py:52
#, python-brace-format
msgid ""
"You can use Privoxy by modifying your browser proxy settings to your "
@@ -3949,22 +3942,22 @@ msgstr ""
"privoxy.org\">http://config.privoxy.org/ 或 http://p.p 中查看其配置详细信息和文档"
-#: plinth/modules/privoxy/__init__.py:157
+#: plinth/modules/privoxy/__init__.py:142
#, python-brace-format
msgid "Access {url} with proxy {proxy} on tcp{kind}"
msgstr "在 tcp{kind} 上通过 {proxy} 访问 {url}"
-#: plinth/modules/quassel/__init__.py:41 plinth/modules/quassel/manifest.py:25
+#: plinth/modules/quassel/__init__.py:40 plinth/modules/quassel/manifest.py:25
msgid "Quassel"
msgstr ""
-#: plinth/modules/quassel/__init__.py:43
+#: plinth/modules/quassel/__init__.py:42
#, fuzzy
#| msgid "Quassel IRC Client"
msgid "IRC Client"
msgstr "Quassel IRC 客户端"
-#: plinth/modules/quassel/__init__.py:47
+#: plinth/modules/quassel/__init__.py:46
#, python-brace-format
msgid ""
"Quassel is an IRC application that is split into two parts, a \"core\" and a "
@@ -3979,7 +3972,7 @@ msgstr ""
"以运行 Quassel 核心服务,使您始终在线,并且可以使用桌面或移动设备上的一个或多"
"个 Quassel 客户端连接和断开连接。"
-#: plinth/modules/quassel/__init__.py:54
+#: plinth/modules/quassel/__init__.py:53
msgid ""
"You can connect to your Quassel core on the default Quassel port 4242. "
"Clients to connect to Quassel from your Jitsi (for computers) and CSipSimple(适用于 Android 手"
"机)。"
-#: plinth/modules/repro/__init__.py:53
+#: plinth/modules/repro/__init__.py:55
msgid ""
"Note: Before using repro, domains and users will need to "
"be configured using the web-based "
@@ -4161,11 +4154,11 @@ msgstr ""
msgid "CSipSimple"
msgstr ""
-#: plinth/modules/restore/__init__.py:36 plinth/modules/restore/manifest.py:23
+#: plinth/modules/restore/__init__.py:37 plinth/modules/restore/manifest.py:23
msgid "reStore"
msgstr "reStore"
-#: plinth/modules/restore/__init__.py:38
+#: plinth/modules/restore/__init__.py:39
#, fuzzy
#| msgid ""
#| "Unhosted Storage \n"
@@ -4175,7 +4168,7 @@ msgstr ""
"未托管存储\n"
"(reStrore)"
-#: plinth/modules/restore/__init__.py:42
+#: plinth/modules/restore/__init__.py:43
#, python-brace-format
msgid ""
"reStore is a server for unhosted web "
@@ -4189,21 +4182,21 @@ msgstr ""
"都可以存储在用户选择的非主机存储服务器上。使用reStore,您的 {box_name} 将成为"
"您的未托管存储服务器。"
-#: plinth/modules/restore/__init__.py:48
+#: plinth/modules/restore/__init__.py:49
msgid ""
"You can create and edit accounts in the reStore web-"
"interface."
msgstr ""
"您可以在 reStrore 的 web 界面 中创建和编辑帐户 。"
-#: plinth/modules/roundcube/__init__.py:34
+#: plinth/modules/roundcube/__init__.py:35
#: plinth/modules/roundcube/manifest.py:24
#, fuzzy
#| msgid "Enable Roundcube"
msgid "Roundcube"
msgstr "启用 Roundcube"
-#: plinth/modules/roundcube/__init__.py:36
+#: plinth/modules/roundcube/__init__.py:37
#, fuzzy
#| msgid ""
#| "Email Client \n"
@@ -4213,7 +4206,7 @@ msgstr ""
"邮件客户端\n"
"(Roundcube)"
-#: plinth/modules/roundcube/__init__.py:39
+#: plinth/modules/roundcube/__init__.py:40
msgid ""
"Roundcube webmail is a browser-based multilingual IMAP client with an "
"application-like user interface. It provides full functionality you expect "
@@ -4224,7 +4217,7 @@ msgstr ""
"户界面。它提供您需要的从电子邮件客户端、MIME支持、地址簿、文件夹操作、消息搜"
"索到拼写检查的完整功能。"
-#: plinth/modules/roundcube/__init__.py:44
+#: plinth/modules/roundcube/__init__.py:45
msgid ""
"You can access Roundcube from /roundcube. Provide "
"the username and password of the email account you wish to access followed "
@@ -4237,7 +4230,7 @@ msgstr ""
"如 imap.example.com。对于基于 SSL 的 IMAP(建议),服务器填写为"
"类似 imaps://imap.example.com。"
-#: plinth/modules/roundcube/__init__.py:50
+#: plinth/modules/roundcube/__init__.py:51
msgid ""
"For Gmail, username will be your Gmail address, password will be your Google "
"account password and server will be imaps://imap.gmail.com. "
@@ -4309,12 +4302,12 @@ msgstr ""
msgid "Allow this application to be used by anyone who can reach it."
msgstr ""
-#: plinth/modules/searx/views.py:60 plinth/modules/searx/views.py:71
-#: plinth/modules/tor/views.py:139 plinth/modules/tor/views.py:168
+#: plinth/modules/searx/views.py:59 plinth/modules/searx/views.py:70
+#: plinth/modules/tor/views.py:141 plinth/modules/tor/views.py:168
msgid "Configuration updated."
msgstr "配置已更新。"
-#: plinth/modules/searx/views.py:63 plinth/modules/searx/views.py:74
+#: plinth/modules/searx/views.py:62 plinth/modules/searx/views.py:73
#: plinth/modules/tor/views.py:170
msgid "An error occurred during configuration."
msgstr "在配置过程中出错。"
@@ -4379,22 +4372,22 @@ msgstr ""
"当启用时,Shaarli 将可从 /shaarli 路径访问。请注"
"意,Shaarli 只支持单用户帐户,您在首次访问时安装程序。"
-#: plinth/modules/shadowsocks/__init__.py:34
+#: plinth/modules/shadowsocks/__init__.py:35
msgid "Shadowsocks"
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:36
+#: plinth/modules/shadowsocks/__init__.py:37
msgid "Socks5 Proxy"
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:45
+#: plinth/modules/shadowsocks/__init__.py:44
msgid ""
"Shadowsocks is a lightweight and secure SOCKS5 proxy, designed to protect "
"your Internet traffic. It can be used to bypass Internet filtering and "
"censorship."
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:49
+#: plinth/modules/shadowsocks/__init__.py:48
#, python-brace-format
msgid ""
"Your {box_name} can run a Shadowsocks client, that can connect to a "
@@ -4403,38 +4396,38 @@ msgid ""
"the Shadowsocks server."
msgstr ""
-#: plinth/modules/shadowsocks/__init__.py:54
+#: plinth/modules/shadowsocks/__init__.py:53
msgid ""
"To use Shadowsocks after setup, set the SOCKS5 proxy URL in your device, "
"browser or application to http://freedombox_address:1080/"
msgstr ""
+#: plinth/modules/shadowsocks/forms.py:28
#: plinth/modules/shadowsocks/forms.py:29
-#: plinth/modules/shadowsocks/forms.py:30
msgid "Recommended"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:60
+#: plinth/modules/shadowsocks/forms.py:54
#, fuzzy
#| msgid "Service"
msgid "Server"
msgstr "服务"
-#: plinth/modules/shadowsocks/forms.py:61
+#: plinth/modules/shadowsocks/forms.py:54
msgid "Server hostname or IP address"
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:67
+#: plinth/modules/shadowsocks/forms.py:58
#, fuzzy
#| msgid "Server port"
msgid "Server port number"
msgstr "服务器端口"
-#: plinth/modules/shadowsocks/forms.py:71
+#: plinth/modules/shadowsocks/forms.py:61
msgid "Password used to encrypt data. Must match server password."
msgstr ""
-#: plinth/modules/shadowsocks/forms.py:77
+#: plinth/modules/shadowsocks/forms.py:66
msgid "Encryption method. Must match setting on server."
msgstr ""
@@ -4741,7 +4734,7 @@ msgstr "创建快照。"
msgid "Storage snapshots configuration updated"
msgstr "访问权配置已更新"
-#: plinth/modules/snapshot/views.py:153 plinth/modules/tor/views.py:72
+#: plinth/modules/snapshot/views.py:153 plinth/modules/tor/views.py:73
#, python-brace-format
msgid "Action error: {0} [{1}] [{2}]"
msgstr "操作错误:{0} [{1}] [{2}]"
@@ -4775,11 +4768,11 @@ msgstr "系统需要重启以完成完全回滚。"
msgid "Rollback to Snapshot"
msgstr "回滚到快照"
-#: plinth/modules/ssh/__init__.py:39
+#: plinth/modules/ssh/__init__.py:40
msgid "Secure Shell (SSH) Server"
msgstr "安全 Shell(SSH)服务器"
-#: plinth/modules/ssh/__init__.py:42
+#: plinth/modules/ssh/__init__.py:43
msgid ""
"A Secure Shell server uses the secure shell protocol to accept connections "
"from remote computers. An authorized remote computer can perform "
@@ -4795,13 +4788,13 @@ msgstr ""
msgid "Login"
msgstr "登录"
-#: plinth/modules/storage/__init__.py:36 plinth/modules/storage/views.py:53
+#: plinth/modules/storage/__init__.py:35 plinth/modules/storage/views.py:53
#, fuzzy
#| msgid "reStore"
msgid "Storage"
msgstr "reStore"
-#: plinth/modules/storage/__init__.py:44
+#: plinth/modules/storage/__init__.py:43
#, python-brace-format
msgid ""
"This module allows you to manage storage media attached to your {box_name}. "
@@ -4809,91 +4802,91 @@ msgid ""
"media, expand the root partition etc."
msgstr ""
-#: plinth/modules/storage/__init__.py:211
+#: plinth/modules/storage/__init__.py:213
#, fuzzy, python-brace-format
#| msgid "{disk_size} bytes"
msgid "{disk_size:.1f} bytes"
msgstr "{disk_size} bytes"
-#: plinth/modules/storage/__init__.py:215
+#: plinth/modules/storage/__init__.py:217
#, fuzzy, python-brace-format
#| msgid "{disk_size} KiB"
msgid "{disk_size:.1f} KiB"
msgstr "{disk_size} KiB"
-#: plinth/modules/storage/__init__.py:219
+#: plinth/modules/storage/__init__.py:221
#, fuzzy, python-brace-format
#| msgid "{disk_size} MiB"
msgid "{disk_size:.1f} MiB"
msgstr "{disk_size} MiB"
-#: plinth/modules/storage/__init__.py:223
+#: plinth/modules/storage/__init__.py:225
#, fuzzy, python-brace-format
#| msgid "{disk_size} GiB"
msgid "{disk_size:.1f} GiB"
msgstr "{disk_size} GiB"
-#: plinth/modules/storage/__init__.py:226
+#: plinth/modules/storage/__init__.py:228
#, fuzzy, python-brace-format
#| msgid "{disk_size} TiB"
msgid "{disk_size:.1f} TiB"
msgstr "{disk_size} TiB"
-#: plinth/modules/storage/__init__.py:233
+#: plinth/modules/storage/__init__.py:235
msgid "The operation failed."
msgstr ""
-#: plinth/modules/storage/__init__.py:235
+#: plinth/modules/storage/__init__.py:237
msgid "The operation was cancelled."
msgstr ""
-#: plinth/modules/storage/__init__.py:237
+#: plinth/modules/storage/__init__.py:239
#, fuzzy
#| msgid "repro service is running"
msgid "The device is already unmounting."
msgstr "repro 服务正在运行"
-#: plinth/modules/storage/__init__.py:239
+#: plinth/modules/storage/__init__.py:241
msgid "The operation is not supported due to missing driver/tool support."
msgstr ""
-#: plinth/modules/storage/__init__.py:242
+#: plinth/modules/storage/__init__.py:244
msgid "The operation timed out."
msgstr ""
-#: plinth/modules/storage/__init__.py:244
+#: plinth/modules/storage/__init__.py:246
msgid "The operation would wake up a disk that is in a deep-sleep state."
msgstr ""
-#: plinth/modules/storage/__init__.py:247
+#: plinth/modules/storage/__init__.py:249
msgid "Attempting to unmount a device that is busy."
msgstr ""
-#: plinth/modules/storage/__init__.py:249
+#: plinth/modules/storage/__init__.py:251
msgid "The operation has already been cancelled."
msgstr ""
-#: plinth/modules/storage/__init__.py:255
+#: plinth/modules/storage/__init__.py:257
msgid "Not authorized to perform the requested operation."
msgstr ""
-#: plinth/modules/storage/__init__.py:257
+#: plinth/modules/storage/__init__.py:259
#, fuzzy
#| msgid "This service already exists"
msgid "The device is already mounted."
msgstr "此服务已存在"
-#: plinth/modules/storage/__init__.py:259
+#: plinth/modules/storage/__init__.py:261
#, fuzzy
#| msgid "repro service is not running"
msgid "The device is not mounted."
msgstr "repro 服务未运行"
-#: plinth/modules/storage/__init__.py:262
+#: plinth/modules/storage/__init__.py:264
msgid "Not permitted to use the requested option."
msgstr ""
-#: plinth/modules/storage/__init__.py:265
+#: plinth/modules/storage/__init__.py:267
msgid "The device is mounted by another user."
msgstr ""
@@ -4975,16 +4968,16 @@ msgstr ""
msgid "Error ejecting device: {error_message}"
msgstr ""
-#: plinth/modules/syncthing/__init__.py:38
+#: plinth/modules/syncthing/__init__.py:40
#: plinth/modules/syncthing/manifest.py:28
msgid "Syncthing"
msgstr ""
-#: plinth/modules/syncthing/__init__.py:40
+#: plinth/modules/syncthing/__init__.py:42
msgid "File Synchronization"
msgstr ""
-#: plinth/modules/syncthing/__init__.py:43
+#: plinth/modules/syncthing/__init__.py:45
msgid ""
"Syncthing is an application to synchronize files across multiple devices, e."
"g. your desktop computer and mobile phone. Creation, modification, or "
@@ -4992,7 +4985,7 @@ msgid ""
"other devices that also run Syncthing."
msgstr ""
-#: plinth/modules/syncthing/__init__.py:48
+#: plinth/modules/syncthing/__init__.py:50
#, python-brace-format
msgid ""
"Running Syncthing on {box_name} provides an extra synchronization point for "
@@ -5003,28 +4996,28 @@ msgid ""
"{box_name} is only available for users belonging to the \"admin\" group."
msgstr ""
-#: plinth/modules/syncthing/__init__.py:55
+#: plinth/modules/syncthing/__init__.py:57
msgid ""
"When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile clients are also available."
msgstr ""
-#: plinth/modules/syncthing/__init__.py:62
+#: plinth/modules/syncthing/__init__.py:64
#, fuzzy
#| msgid "Install this application?"
msgid "Administer Syncthing application"
msgstr "安装此应用程序?"
-#: plinth/modules/tahoe/__init__.py:41
+#: plinth/modules/tahoe/__init__.py:43
msgid "Tahoe-LAFS"
msgstr ""
-#: plinth/modules/tahoe/__init__.py:43
+#: plinth/modules/tahoe/__init__.py:45
msgid "Distributed File Storage"
msgstr ""
-#: plinth/modules/tahoe/__init__.py:107
+#: plinth/modules/tahoe/__init__.py:119
msgid ""
"Tahoe-LAFS is a decentralized secure file storage system. It uses provider "
"independent security to store files over a distributed network of storage "
@@ -5032,7 +5025,7 @@ msgid ""
"remaining nodes."
msgstr ""
-#: plinth/modules/tahoe/__init__.py:112
+#: plinth/modules/tahoe/__init__.py:124
#, python-brace-format
msgid ""
"This {box_name} hosts a storage node and an introducer by default. "
@@ -5079,11 +5072,11 @@ msgstr ""
msgid "Remove"
msgstr ""
-#: plinth/modules/tor/__init__.py:43
+#: plinth/modules/tor/__init__.py:46
msgid "Tor"
msgstr ""
-#: plinth/modules/tor/__init__.py:48
+#: plinth/modules/tor/__init__.py:51
msgid ""
"Tor is an anonymous communication system. You can learn more about it from "
"the Tor Project website. For "
@@ -5096,40 +5089,36 @@ msgstr ""
"href=\"https://www.torproject.org/download/download-easy.html.en\">Tor浏览器"
"。"
-#: plinth/modules/tor/__init__.py:93
+#: plinth/modules/tor/__init__.py:80
msgid "Tor Socks Proxy"
msgstr ""
-#: plinth/modules/tor/__init__.py:99 plinth/modules/tor/__init__.py:146
+#: plinth/modules/tor/__init__.py:84
msgid "Tor Bridge Relay"
msgstr "Tor 网桥中继"
-#: plinth/modules/tor/__init__.py:120 plinth/modules/tor/__init__.py:188
+#: plinth/modules/tor/__init__.py:122 plinth/modules/tor/__init__.py:150
msgid "Tor Hidden Service"
msgstr "隐藏的 Tor 服务"
-#: plinth/modules/tor/__init__.py:136
-msgid "Tor Anonymity Network"
-msgstr "Tor 匿名网络"
-
-#: plinth/modules/tor/__init__.py:208
+#: plinth/modules/tor/__init__.py:170
msgid "Tor relay port available"
msgstr "Tor 中继端口可用"
-#: plinth/modules/tor/__init__.py:218
+#: plinth/modules/tor/__init__.py:180
msgid "Obfs3 transport registered"
msgstr "已注册 Obfs3 传输"
-#: plinth/modules/tor/__init__.py:226
+#: plinth/modules/tor/__init__.py:188
msgid "Obfs4 transport registered"
msgstr "已注册 Obfs4 传输"
-#: plinth/modules/tor/__init__.py:265
+#: plinth/modules/tor/__init__.py:227
#, python-brace-format
msgid "Access URL {url} on tcp{kind} via Tor"
msgstr "在 tcp{kind} 上通过 Tor 访问 {url}"
-#: plinth/modules/tor/__init__.py:276
+#: plinth/modules/tor/__init__.py:238
#, python-brace-format
msgid "Confirm Tor usage at {url} on tcp{kind}"
msgstr "确认使用 Tor 通过 tcp{kind} 访问 {url}"
@@ -5273,14 +5262,14 @@ msgstr "SOCKS"
msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050."
msgstr "Tor SOCKS 端口是你 %(box_name)s 上的 TCP 端口 9050 。"
-#: plinth/modules/transmission/__init__.py:39
+#: plinth/modules/transmission/__init__.py:41
#: plinth/modules/transmission/manifest.py:24
#, fuzzy
#| msgid "Transmission BitTorrent"
msgid "Transmission"
msgstr "Transmission BitTorrent"
-#: plinth/modules/transmission/__init__.py:44
+#: plinth/modules/transmission/__init__.py:46
msgid ""
"BitTorrent is a peer-to-peer file sharing protocol. Transmission daemon "
"handles Bitorrent file sharing. Note that BitTorrent is not anonymous."
@@ -5288,7 +5277,7 @@ msgstr ""
"BitTorrent 是对等文件共享协议。Transmission 守护进程处理 Bitorrent 文件共享。"
"请注意,BitTorrent 不是匿名。"
-#: plinth/modules/transmission/__init__.py:47
+#: plinth/modules/transmission/__init__.py:49
msgid ""
"Access the web interface at /transmission."
msgstr "通过 /transmission 访问其 web 界面。"
@@ -5306,11 +5295,11 @@ msgstr ""
"保存下载的目录。 如果您更改默认目录,请确保新目录存在并且允许用户“debian-"
"transmission”可写。"
-#: plinth/modules/ttrss/__init__.py:41 plinth/modules/ttrss/manifest.py:34
+#: plinth/modules/ttrss/__init__.py:43 plinth/modules/ttrss/manifest.py:34
msgid "Tiny Tiny RSS"
msgstr ""
-#: plinth/modules/ttrss/__init__.py:43
+#: plinth/modules/ttrss/__init__.py:45
#, fuzzy
#| msgid ""
#| "News Feed Reader \n"
@@ -5320,7 +5309,7 @@ msgstr ""
"新闻收取阅读器\n"
"(Tiny Tiny RSS)"
-#: plinth/modules/ttrss/__init__.py:46
+#: plinth/modules/ttrss/__init__.py:48
msgid ""
"Tiny Tiny RSS is a news feed (RSS/Atom) reader and aggregator, designed to "
"allow reading news from any location, while feeling as close to a real "
@@ -5329,7 +5318,7 @@ msgstr ""
"Tiny Tiny RSS是一个新闻源(RSS / Atom)阅读器和聚合器,旨在允许从任何位置读取"
"新闻,同时提供尽可能接近真实的桌面应用程序体验。"
-#: plinth/modules/ttrss/__init__.py:50
+#: plinth/modules/ttrss/__init__.py:52
#, fuzzy, python-brace-format
#| msgid ""
#| "When enabled, Tiny Tiny RSS will be available from /"
@@ -5342,13 +5331,13 @@ msgstr ""
"启用以后,Tiny Tiny RSS 将可从网页服务器的 /tt-rss 路"
"径访问。"
-#: plinth/modules/ttrss/__init__.py:55
+#: plinth/modules/ttrss/__init__.py:57
msgid ""
"When using a mobile or desktop application for Tiny Tiny RSS, use the URL /tt-rss-app for connecting."
msgstr ""
-#: plinth/modules/ttrss/__init__.py:61
+#: plinth/modules/ttrss/__init__.py:63
msgid "Read and subscribe to news feeds"
msgstr ""
@@ -5356,11 +5345,11 @@ msgstr ""
msgid "Tiny Tiny RSS (Fork)"
msgstr ""
-#: plinth/modules/upgrades/__init__.py:36 plinth/templates/setup.html:101
+#: plinth/modules/upgrades/__init__.py:35 plinth/templates/setup.html:101
msgid "Update"
msgstr "更新"
-#: plinth/modules/upgrades/__init__.py:39
+#: plinth/modules/upgrades/__init__.py:38
msgid "Check for and apply the latest software and security updates."
msgstr ""
@@ -5410,34 +5399,34 @@ msgstr ""
msgid "Auto-update"
msgstr "最后一次更新"
-#: plinth/modules/upgrades/views.py:39
+#: plinth/modules/upgrades/views.py:40
#, fuzzy
#| msgid "Last update"
msgid "Manual update"
msgstr "最后一次更新"
-#: plinth/modules/upgrades/views.py:78
+#: plinth/modules/upgrades/views.py:79
#, python-brace-format
msgid "Error when configuring unattended-upgrades: {error}"
msgstr "配置无人参与升级时错误:{error}"
-#: plinth/modules/upgrades/views.py:82
+#: plinth/modules/upgrades/views.py:83
msgid "Automatic upgrades enabled"
msgstr "已启用自动升级"
-#: plinth/modules/upgrades/views.py:85
+#: plinth/modules/upgrades/views.py:86
msgid "Automatic upgrades disabled"
msgstr "已禁用自动升级"
-#: plinth/modules/upgrades/views.py:87
+#: plinth/modules/upgrades/views.py:88
msgid "Settings unchanged"
msgstr "设置未改变"
-#: plinth/modules/upgrades/views.py:113
+#: plinth/modules/upgrades/views.py:114
msgid "Upgrade process started."
msgstr "升级过程开始。"
-#: plinth/modules/upgrades/views.py:116
+#: plinth/modules/upgrades/views.py:117
msgid "Starting upgrade failed."
msgstr "开始升级失败。"
@@ -5445,7 +5434,7 @@ msgstr "开始升级失败。"
msgid "Users and Groups"
msgstr "用户和组"
-#: plinth/modules/users/__init__.py:106
+#: plinth/modules/users/__init__.py:108
#, python-brace-format
msgid "Check LDAP entry \"{search_item}\""
msgstr "请检查 LDAP 条目“{search_item}”"
@@ -5666,15 +5655,6 @@ msgstr "媒体改变"
msgid "configuration file: {file}"
msgstr "配置文件:{file}"
-#: plinth/service.py:140
-msgid "Web Server over Secure Socket Layer"
-msgstr "Web 服务器安全套接字层"
-
-#: plinth/service.py:145
-#, python-brace-format
-msgid "{box_name} Web Interface (Plinth)"
-msgstr "{box_name} Web 界面(Plinth)"
-
#: plinth/templates/403.html:25
msgid "403 Forbidden"
msgstr ""
@@ -5922,17 +5902,17 @@ msgstr ""
msgid "Mailing list"
msgstr ""
-#: plinth/templates/internal-zone.html:25
+#: plinth/templates/internal-zone.html:26
#, fuzzy, python-format
#| msgid "Service discovery server is not running"
msgid "%(service_name)s is available only on internal networks."
msgstr "服务发现服务未运行"
-#: plinth/templates/internal-zone.html:31
+#: plinth/templates/internal-zone.html:32
msgid "Currently there are no network interfaces configured as internal."
msgstr ""
-#: plinth/templates/internal-zone.html:33
+#: plinth/templates/internal-zone.html:34
#, python-format
msgid ""
"Currently the following network interfaces are configured as internal: "
@@ -5997,10 +5977,24 @@ msgstr "正在安装 %(package_names)s:%(status)s"
msgid "%(percentage)s%% complete"
msgstr "已完成 %(percentage)s%%"
+#: plinth/views.py:178
+msgid "Application enabled"
+msgstr "应用程序已启用"
+
+#: plinth/views.py:181
+msgid "Application disabled"
+msgstr "应用程序已禁用"
+
#: plinth/web_framework.py:186
msgid "Gujarati"
msgstr ""
+#~ msgid "Tor Anonymity Network"
+#~ msgstr "Tor 匿名网络"
+
+#~ msgid "Web Server over Secure Socket Layer"
+#~ msgstr "Web 服务器安全套接字层"
+
#~ msgid "Current status:"
#~ msgstr "当前状态:"