mirror of
https://github.com/freedombox/FreedomBox.git
synced 2026-05-27 10:44:33 +00:00
Compare commits
12 Commits
fceb6967e6
...
f98479469e
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f98479469e | ||
|
|
4135745e09 | ||
|
|
017c660fa2 | ||
|
|
958ac2e0a5 | ||
|
|
54e0ead0e0 | ||
|
|
bd42bae464 | ||
|
|
72da938b8d | ||
|
|
0f9fe4f111 | ||
|
|
72c37e5209 | ||
|
|
b377f94f77 | ||
|
|
75e2c17089 | ||
|
|
ae9b37d561 |
@ -8,7 +8,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2025-12-16 01:18+0000\n"
|
"POT-Creation-Date: 2025-12-16 01:18+0000\n"
|
||||||
"PO-Revision-Date: 2025-12-22 16:03+0000\n"
|
"PO-Revision-Date: 2026-01-09 20:01+0000\n"
|
||||||
"Last-Translator: Priit Jõerüüt <jrthwlate@users.noreply.hosted.weblate.org>\n"
|
"Last-Translator: Priit Jõerüüt <jrthwlate@users.noreply.hosted.weblate.org>\n"
|
||||||
"Language-Team: Estonian <https://hosted.weblate.org/projects/freedombox/"
|
"Language-Team: Estonian <https://hosted.weblate.org/projects/freedombox/"
|
||||||
"freedombox/et/>\n"
|
"freedombox/et/>\n"
|
||||||
@ -1951,7 +1951,7 @@ msgstr ""
|
|||||||
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
|
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
|
||||||
#: plinth/modules/storage/templates/storage.html:28
|
#: plinth/modules/storage/templates/storage.html:28
|
||||||
msgid "Actions"
|
msgid "Actions"
|
||||||
msgstr "Teegvused"
|
msgstr "Tegevused"
|
||||||
|
|
||||||
#: plinth/modules/dynamicdns/templates/dynamicdns.html:37
|
#: plinth/modules/dynamicdns/templates/dynamicdns.html:37
|
||||||
#: plinth/modules/dynamicdns/templates/dynamicdns.html:72
|
#: plinth/modules/dynamicdns/templates/dynamicdns.html:72
|
||||||
@ -2213,7 +2213,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: plinth/modules/email/__init__.py:62
|
#: plinth/modules/email/__init__.py:62
|
||||||
msgid "Postfix/Dovecot"
|
msgid "Postfix/Dovecot"
|
||||||
msgstr ""
|
msgstr "Postfix/Dovecot"
|
||||||
|
|
||||||
#: plinth/modules/email/__init__.py:80
|
#: plinth/modules/email/__init__.py:80
|
||||||
msgid "More emails"
|
msgid "More emails"
|
||||||
@ -3124,11 +3124,11 @@ msgstr ""
|
|||||||
|
|
||||||
#: plinth/modules/help/templates/help_about.html:129
|
#: plinth/modules/help/templates/help_about.html:129
|
||||||
msgid "Support"
|
msgid "Support"
|
||||||
msgstr ""
|
msgstr "Kasutajatugi"
|
||||||
|
|
||||||
#: plinth/modules/help/templates/help_about.html:133
|
#: plinth/modules/help/templates/help_about.html:133
|
||||||
msgid "Forum"
|
msgid "Forum"
|
||||||
msgstr ""
|
msgstr "Foorum"
|
||||||
|
|
||||||
#: plinth/modules/help/templates/help_about.html:138
|
#: plinth/modules/help/templates/help_about.html:138
|
||||||
msgid "IRC Chatroom"
|
msgid "IRC Chatroom"
|
||||||
@ -4292,7 +4292,7 @@ msgstr ""
|
|||||||
#: plinth/modules/miniflux/__init__.py:42
|
#: plinth/modules/miniflux/__init__.py:42
|
||||||
#: plinth/modules/miniflux/manifest.py:10
|
#: plinth/modules/miniflux/manifest.py:10
|
||||||
msgid "Miniflux"
|
msgid "Miniflux"
|
||||||
msgstr ""
|
msgstr "Miniflux"
|
||||||
|
|
||||||
#: plinth/modules/miniflux/forms.py:12
|
#: plinth/modules/miniflux/forms.py:12
|
||||||
msgid "Enter a username for the user."
|
msgid "Enter a username for the user."
|
||||||
@ -4423,7 +4423,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: plinth/modules/mumble/__init__.py:46 plinth/modules/mumble/manifest.py:9
|
#: plinth/modules/mumble/__init__.py:46 plinth/modules/mumble/manifest.py:9
|
||||||
msgid "Mumble"
|
msgid "Mumble"
|
||||||
msgstr ""
|
msgstr "Mumble"
|
||||||
|
|
||||||
#: plinth/modules/mumble/__init__.py:158
|
#: plinth/modules/mumble/__init__.py:158
|
||||||
msgid "Mumble server is configured"
|
msgid "Mumble server is configured"
|
||||||
@ -5674,7 +5674,7 @@ msgstr ""
|
|||||||
#: plinth/modules/networks/views.py:105 plinth/modules/wireguard/__init__.py:47
|
#: plinth/modules/networks/views.py:105 plinth/modules/wireguard/__init__.py:47
|
||||||
#: plinth/modules/wireguard/manifest.py:14
|
#: plinth/modules/wireguard/manifest.py:14
|
||||||
msgid "WireGuard"
|
msgid "WireGuard"
|
||||||
msgstr ""
|
msgstr "WireGuard"
|
||||||
|
|
||||||
#: plinth/modules/networks/views.py:112
|
#: plinth/modules/networks/views.py:112
|
||||||
msgid "ad-hoc"
|
msgid "ad-hoc"
|
||||||
@ -5786,7 +5786,7 @@ msgstr ""
|
|||||||
#: plinth/modules/nextcloud/manifest.py:11
|
#: plinth/modules/nextcloud/manifest.py:11
|
||||||
#: plinth/modules/nextcloud/manifest.py:18
|
#: plinth/modules/nextcloud/manifest.py:18
|
||||||
msgid "Nextcloud"
|
msgid "Nextcloud"
|
||||||
msgstr ""
|
msgstr "Nextcloud"
|
||||||
|
|
||||||
#: plinth/modules/nextcloud/forms.py:19
|
#: plinth/modules/nextcloud/forms.py:19
|
||||||
msgid "Not set"
|
msgid "Not set"
|
||||||
@ -5833,7 +5833,7 @@ msgstr ""
|
|||||||
#: plinth/modules/nextcloud/manifest.py:56
|
#: plinth/modules/nextcloud/manifest.py:56
|
||||||
#: plinth/modules/sharing/__init__.py:34
|
#: plinth/modules/sharing/__init__.py:34
|
||||||
msgid "Sharing"
|
msgid "Sharing"
|
||||||
msgstr ""
|
msgstr "Jagamine"
|
||||||
|
|
||||||
#: plinth/modules/nextcloud/manifest.py:56 plinth/modules/sogo/manifest.py:72
|
#: plinth/modules/nextcloud/manifest.py:56 plinth/modules/sogo/manifest.py:72
|
||||||
msgid "Groupware"
|
msgid "Groupware"
|
||||||
@ -5860,7 +5860,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: plinth/modules/openvpn/__init__.py:46 plinth/modules/openvpn/manifest.py:17
|
#: plinth/modules/openvpn/__init__.py:46 plinth/modules/openvpn/manifest.py:17
|
||||||
msgid "OpenVPN"
|
msgid "OpenVPN"
|
||||||
msgstr ""
|
msgstr "OpenVPN"
|
||||||
|
|
||||||
#: plinth/modules/openvpn/__init__.py:57
|
#: plinth/modules/openvpn/__init__.py:57
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
@ -6253,7 +6253,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: plinth/modules/privoxy/__init__.py:53
|
#: plinth/modules/privoxy/__init__.py:53
|
||||||
msgid "Privoxy"
|
msgid "Privoxy"
|
||||||
msgstr ""
|
msgstr "Privoxy"
|
||||||
|
|
||||||
#: plinth/modules/privoxy/__init__.py:119
|
#: plinth/modules/privoxy/__init__.py:119
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
@ -6291,7 +6291,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: plinth/modules/quassel/__init__.py:51 plinth/modules/quassel/manifest.py:9
|
#: plinth/modules/quassel/__init__.py:51 plinth/modules/quassel/manifest.py:9
|
||||||
msgid "Quassel"
|
msgid "Quassel"
|
||||||
msgstr ""
|
msgstr "Quassel"
|
||||||
|
|
||||||
#: plinth/modules/quassel/manifest.py:33
|
#: plinth/modules/quassel/manifest.py:33
|
||||||
msgid "Quasseldroid"
|
msgid "Quasseldroid"
|
||||||
@ -6299,7 +6299,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: plinth/modules/quassel/manifest.py:54
|
#: plinth/modules/quassel/manifest.py:54
|
||||||
msgid "IRC"
|
msgid "IRC"
|
||||||
msgstr ""
|
msgstr "IRC"
|
||||||
|
|
||||||
#: plinth/modules/radicale/__init__.py:25
|
#: plinth/modules/radicale/__init__.py:25
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
@ -6320,7 +6320,7 @@ msgstr ""
|
|||||||
#: plinth/modules/radicale/__init__.py:53
|
#: plinth/modules/radicale/__init__.py:53
|
||||||
#: plinth/modules/radicale/manifest.py:74
|
#: plinth/modules/radicale/manifest.py:74
|
||||||
msgid "Radicale"
|
msgid "Radicale"
|
||||||
msgstr ""
|
msgstr "Radicale"
|
||||||
|
|
||||||
#: plinth/modules/radicale/forms.py:14
|
#: plinth/modules/radicale/forms.py:14
|
||||||
msgid "Only the owner of a calendar/addressbook can view or make changes."
|
msgid "Only the owner of a calendar/addressbook can view or make changes."
|
||||||
@ -6470,7 +6470,7 @@ msgstr ""
|
|||||||
#: plinth/modules/rssbridge/__init__.py:52
|
#: plinth/modules/rssbridge/__init__.py:52
|
||||||
#: plinth/modules/rssbridge/manifest.py:7
|
#: plinth/modules/rssbridge/manifest.py:7
|
||||||
msgid "RSS-Bridge"
|
msgid "RSS-Bridge"
|
||||||
msgstr ""
|
msgstr "RSS-Bridge"
|
||||||
|
|
||||||
#: plinth/modules/rssbridge/forms.py:12 plinth/modules/searx/forms.py:17
|
#: plinth/modules/rssbridge/forms.py:12 plinth/modules/searx/forms.py:17
|
||||||
msgid "Allow Public Access"
|
msgid "Allow Public Access"
|
||||||
@ -6525,7 +6525,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: plinth/modules/samba/__init__.py:53
|
#: plinth/modules/samba/__init__.py:53
|
||||||
msgid "Samba"
|
msgid "Samba"
|
||||||
msgstr ""
|
msgstr "Samba"
|
||||||
|
|
||||||
#: plinth/modules/samba/manifest.py:12
|
#: plinth/modules/samba/manifest.py:12
|
||||||
msgid "SambaLite"
|
msgid "SambaLite"
|
||||||
@ -6818,7 +6818,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: plinth/modules/shaarli/__init__.py:36 plinth/modules/shaarli/manifest.py:25
|
#: plinth/modules/shaarli/__init__.py:36 plinth/modules/shaarli/manifest.py:25
|
||||||
msgid "Shaarli"
|
msgid "Shaarli"
|
||||||
msgstr ""
|
msgstr "Shaarli"
|
||||||
|
|
||||||
#: plinth/modules/shaarli/manifest.py:12
|
#: plinth/modules/shaarli/manifest.py:12
|
||||||
msgid "Shaarlier"
|
msgid "Shaarlier"
|
||||||
@ -6826,7 +6826,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: plinth/modules/shaarli/manifest.py:34
|
#: plinth/modules/shaarli/manifest.py:34
|
||||||
msgid "Bookmarks"
|
msgid "Bookmarks"
|
||||||
msgstr ""
|
msgstr "Järjehoidjad"
|
||||||
|
|
||||||
#: plinth/modules/shaarli/manifest.py:34
|
#: plinth/modules/shaarli/manifest.py:34
|
||||||
msgid "Link blog"
|
msgid "Link blog"
|
||||||
@ -6869,7 +6869,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: plinth/modules/shadowsocks/__init__.py:50
|
#: plinth/modules/shadowsocks/__init__.py:50
|
||||||
msgid "Shadowsocks Client"
|
msgid "Shadowsocks Client"
|
||||||
msgstr ""
|
msgstr "Shadowsocksi klient"
|
||||||
|
|
||||||
#: plinth/modules/shadowsocks/forms.py:25
|
#: plinth/modules/shadowsocks/forms.py:25
|
||||||
msgid "Server hostname or IP address"
|
msgid "Server hostname or IP address"
|
||||||
@ -6911,7 +6911,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: plinth/modules/shadowsocksserver/__init__.py:47
|
#: plinth/modules/shadowsocksserver/__init__.py:47
|
||||||
msgid "Shadowsocks Server"
|
msgid "Shadowsocks Server"
|
||||||
msgstr ""
|
msgstr "Shadowsocksi server"
|
||||||
|
|
||||||
#: plinth/modules/shadowsocksserver/forms.py:10
|
#: plinth/modules/shadowsocksserver/forms.py:10
|
||||||
#: plinth/modules/shadowsocksserver/forms.py:11
|
#: plinth/modules/shadowsocksserver/forms.py:11
|
||||||
@ -7660,7 +7660,7 @@ msgstr ""
|
|||||||
#: plinth/modules/syncthing/__init__.py:59
|
#: plinth/modules/syncthing/__init__.py:59
|
||||||
#: plinth/modules/syncthing/manifest.py:12
|
#: plinth/modules/syncthing/manifest.py:12
|
||||||
msgid "Syncthing"
|
msgid "Syncthing"
|
||||||
msgstr ""
|
msgstr "Syncthing"
|
||||||
|
|
||||||
#: plinth/modules/tiddlywiki/__init__.py:25
|
#: plinth/modules/tiddlywiki/__init__.py:25
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
@ -7695,7 +7695,7 @@ msgstr ""
|
|||||||
#: plinth/modules/tiddlywiki/__init__.py:64
|
#: plinth/modules/tiddlywiki/__init__.py:64
|
||||||
#: plinth/modules/tiddlywiki/manifest.py:9
|
#: plinth/modules/tiddlywiki/manifest.py:9
|
||||||
msgid "TiddlyWiki"
|
msgid "TiddlyWiki"
|
||||||
msgstr ""
|
msgstr "TiddlyWiki"
|
||||||
|
|
||||||
#: plinth/modules/tiddlywiki/forms.py:39
|
#: plinth/modules/tiddlywiki/forms.py:39
|
||||||
msgid "A TiddlyWiki file with .html file extension"
|
msgid "A TiddlyWiki file with .html file extension"
|
||||||
@ -7753,7 +7753,7 @@ msgstr ""
|
|||||||
#: plinth/modules/tor/__init__.py:63 plinth/modules/tor/manifest.py:61
|
#: plinth/modules/tor/__init__.py:63 plinth/modules/tor/manifest.py:61
|
||||||
#: plinth/modules/torproxy/manifest.py:58
|
#: plinth/modules/torproxy/manifest.py:58
|
||||||
msgid "Tor"
|
msgid "Tor"
|
||||||
msgstr ""
|
msgstr "Tor"
|
||||||
|
|
||||||
#: plinth/modules/tor/__init__.py:77
|
#: plinth/modules/tor/__init__.py:77
|
||||||
msgid "Tor Onion Service"
|
msgid "Tor Onion Service"
|
||||||
@ -7889,7 +7889,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: plinth/modules/torproxy/__init__.py:57
|
#: plinth/modules/torproxy/__init__.py:57
|
||||||
msgid "Tor Proxy"
|
msgid "Tor Proxy"
|
||||||
msgstr ""
|
msgstr "Tori proksi"
|
||||||
|
|
||||||
#: plinth/modules/torproxy/__init__.py:81
|
#: plinth/modules/torproxy/__init__.py:81
|
||||||
msgid "Tor Socks Proxy"
|
msgid "Tor Socks Proxy"
|
||||||
@ -7970,7 +7970,7 @@ msgstr ""
|
|||||||
#: plinth/modules/transmission/__init__.py:74
|
#: plinth/modules/transmission/__init__.py:74
|
||||||
#: plinth/modules/transmission/manifest.py:8
|
#: plinth/modules/transmission/manifest.py:8
|
||||||
msgid "Transmission"
|
msgid "Transmission"
|
||||||
msgstr ""
|
msgstr "Transmission"
|
||||||
|
|
||||||
#: plinth/modules/transmission/manifest.py:15
|
#: plinth/modules/transmission/manifest.py:15
|
||||||
msgid "Tremotesf"
|
msgid "Tremotesf"
|
||||||
@ -8990,7 +8990,7 @@ msgstr ""
|
|||||||
#: plinth/modules/wordpress/__init__.py:53
|
#: plinth/modules/wordpress/__init__.py:53
|
||||||
#: plinth/modules/wordpress/manifest.py:6
|
#: plinth/modules/wordpress/manifest.py:6
|
||||||
msgid "WordPress"
|
msgid "WordPress"
|
||||||
msgstr ""
|
msgstr "WordPress"
|
||||||
|
|
||||||
#: plinth/modules/wordpress/forms.py:14
|
#: plinth/modules/wordpress/forms.py:14
|
||||||
msgid "Public access"
|
msgid "Public access"
|
||||||
@ -9029,7 +9029,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: plinth/modules/zoph/__init__.py:57 plinth/modules/zoph/manifest.py:6
|
#: plinth/modules/zoph/__init__.py:57 plinth/modules/zoph/manifest.py:6
|
||||||
msgid "Zoph"
|
msgid "Zoph"
|
||||||
msgstr ""
|
msgstr "Zoph"
|
||||||
|
|
||||||
#: plinth/modules/zoph/forms.py:14
|
#: plinth/modules/zoph/forms.py:14
|
||||||
msgid "Enable OpenStreetMap for maps"
|
msgid "Enable OpenStreetMap for maps"
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -109,14 +109,14 @@ class GitwebApp(app_module.App):
|
|||||||
|
|
||||||
def _enable_public_access(self):
|
def _enable_public_access(self):
|
||||||
"""Allow Gitweb app to be accessed by anyone with access."""
|
"""Allow Gitweb app to be accessed by anyone with access."""
|
||||||
if self.auth_webserver.is_conf_enabled():
|
if self.is_enabled():
|
||||||
self.auth_webserver.disable()
|
self.auth_webserver.disable()
|
||||||
|
|
||||||
self.set_shortcut_login_required(False)
|
self.set_shortcut_login_required(False)
|
||||||
|
|
||||||
def _disable_public_access(self):
|
def _disable_public_access(self):
|
||||||
"""Allow Gitweb app to be accessed by logged-in users only."""
|
"""Allow Gitweb app to be accessed by logged-in users only."""
|
||||||
if self.is_enabled() and not self.auth_webserver.is_conf_enabled():
|
if self.is_enabled():
|
||||||
self.auth_webserver.enable()
|
self.auth_webserver.enable()
|
||||||
|
|
||||||
self.set_shortcut_login_required(True)
|
self.set_shortcut_login_required(True)
|
||||||
@ -137,14 +137,7 @@ class GitwebApp(app_module.App):
|
|||||||
class GitwebWebserverAuth(Webserver):
|
class GitwebWebserverAuth(Webserver):
|
||||||
"""Component to handle Gitweb authentication webserver configuration."""
|
"""Component to handle Gitweb authentication webserver configuration."""
|
||||||
|
|
||||||
def is_conf_enabled(self):
|
is_leader = False
|
||||||
"""Check whether Gitweb authentication configuration is enabled."""
|
|
||||||
return super().is_enabled()
|
|
||||||
|
|
||||||
def is_enabled(self):
|
|
||||||
"""Return if configuration is enabled or public access is enabled."""
|
|
||||||
repos = get_repo_list()
|
|
||||||
return have_public_repos(repos) or super().is_enabled()
|
|
||||||
|
|
||||||
def enable(self):
|
def enable(self):
|
||||||
"""Enable apache configuration only if no public repository exists."""
|
"""Enable apache configuration only if no public repository exists."""
|
||||||
|
|||||||
@ -272,7 +272,7 @@ document.addEventListener('DOMContentLoaded', async () => {
|
|||||||
/*
|
/*
|
||||||
* Text areas showing log lines have special behavior.
|
* Text areas showing log lines have special behavior.
|
||||||
*/
|
*/
|
||||||
document.addEventListener('DOMContentLoaded', function(event) {
|
document.addEventListener('DOMContentLoaded', function (event) {
|
||||||
const logElements = document.querySelectorAll('textarea.log');
|
const logElements = document.querySelectorAll('textarea.log');
|
||||||
|
|
||||||
// Scroll the textarea to the bottom so that last lines are visible.
|
// Scroll the textarea to the bottom so that last lines are visible.
|
||||||
@ -280,3 +280,26 @@ document.addEventListener('DOMContentLoaded', function(event) {
|
|||||||
element.scrollTop = element.scrollHeight;
|
element.scrollTop = element.scrollHeight;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Close notifications dropdown when clicking outside, like the other dropdowns.
|
||||||
|
*/
|
||||||
|
document.addEventListener('click', function (event) {
|
||||||
|
// Ignore if notifications dropdown is not open
|
||||||
|
const notifications = document.querySelector('.notifications');
|
||||||
|
if (!notifications?.classList.contains('show')) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Ignore if the click happened inside the notifications area or on the toggle button
|
||||||
|
const toggles = document.querySelectorAll('[data-bs-target=".notifications"]');
|
||||||
|
const clickedInsideToggle = Array.from(toggles).some(toggle => toggle.contains(event.target));
|
||||||
|
if (notifications.contains(event.target) || clickedInsideToggle) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (typeof bootstrap !== 'undefined' && bootstrap.Collapse) {
|
||||||
|
let bsCollapse = bootstrap.Collapse.getInstance(notifications);
|
||||||
|
bsCollapse.hide();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user