diff --git a/.style.yapf b/.style.yapf index d1467c347..04f2f0dfc 100644 --- a/.style.yapf +++ b/.style.yapf @@ -2,3 +2,4 @@ based_on_style = pep8 indent_dictionary_value = true split_before_named_assigns = false +blank_line_before_nested_class_or_def = true diff --git a/Vagrantfile b/Vagrantfile index b795601f7..c4d60e8aa 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -32,7 +32,7 @@ Vagrant.configure(2) do |config| apt-get update # In case new dependencies conflict with old dependencies apt-mark hold freedombox - DEBIAN_FRONTEND=noninteractive apt-get install -y $(plinth --list-dependencies) + DEBIAN_FRONTEND=noninteractive apt-get install --no-upgrade -y $(plinth --list-dependencies) apt-mark unhold freedombox # Install ncurses-term DEBIAN_FRONTEND=noninteractive apt-get install -y ncurses-term diff --git a/actions/infinoted b/actions/infinoted index 156f62afe..8542eabfa 100755 --- a/actions/infinoted +++ b/actions/infinoted @@ -16,9 +16,10 @@ from plinth import action_utils DATA_DIR = '/var/lib/infinoted' KEY_DIR = '/etc/infinoted' +SYNC_DIR = os.path.join(DATA_DIR, 'sync') CONF_PATH = '/etc/xdg/infinoted.conf' -CONF = ''' +CONF = f''' [infinoted] # Possible values : no-tls, allow-tls, require-tls @@ -48,7 +49,7 @@ interval=60 [directory-sync] # Directory to sync plain text files -directory=/var/lib/infinoted/sync +directory={SYNC_DIR} # Synchronize seconds interval=60 @@ -153,13 +154,10 @@ def subcommand_setup(_): 'infinoted' ], check=True) - if not os.path.exists(DATA_DIR): - os.makedirs(DATA_DIR, mode=0o750) - shutil.chown(DATA_DIR, user='infinoted', group='infinoted') - - if not os.path.exists(KEY_DIR): - os.makedirs(KEY_DIR, mode=0o750) - shutil.chown(KEY_DIR, user='infinoted', group='infinoted') + for directory in (DATA_DIR, KEY_DIR, SYNC_DIR): + if not os.path.exists(directory): + os.makedirs(directory, mode=0o750) + shutil.chown(directory, user='infinoted', group='infinoted') if not os.path.exists(KEY_DIR + '/infinoted-cert.pem'): old_umask = os.umask(0o027) diff --git a/actions/packages b/actions/packages index ac609c74e..6f853c0de 100755 --- a/actions/packages +++ b/actions/packages @@ -11,6 +11,7 @@ import os import subprocess import sys from collections import defaultdict +from contextlib import contextmanager from importlib import import_module import apt.cache @@ -54,6 +55,19 @@ def parse_arguments(): return parser.parse_args() +@contextmanager +def _apt_hold(): + """Do not allow freedombox package to be removed during package install.""" + current_hold = subprocess.check_output( + ['apt-mark', 'showhold', 'freedombox']) + try: + yield current_hold or subprocess.run( + ['apt-mark', 'hold', 'freedombox'], check=True) + finally: + if not current_hold: + subprocess.run(['apt-mark', 'unhold', 'freedombox'], check=True) + + def _run_apt_command(arguments): """Run apt-get with provided arguments.""" # Ask apt-get to output its progress to file descriptor 3. @@ -71,12 +85,12 @@ def _run_apt_command(arguments): process = subprocess.run(command, stdin=subprocess.DEVNULL, stdout=subprocess.DEVNULL, close_fds=False, env=env) - sys.exit(process.returncode) + return process.returncode def subcommand_update(arguments): """Update apt package lists.""" - _run_apt_command(['update']) + sys.exit(_run_apt_command(['update'])) def subcommand_install(arguments): @@ -99,7 +113,11 @@ def subcommand_install(arguments): elif arguments.force_configuration == 'new': extra_arguments += ['-o', 'Dpkg::Options::=--force-confnew'] - _run_apt_command(['install'] + extra_arguments + arguments.packages) + with _apt_hold(): + returncode = _run_apt_command(['install'] + extra_arguments + + arguments.packages) + + sys.exit(returncode) def _assert_managed_packages(module, packages): diff --git a/data/etc/plinth/plinth.config b/data/etc/plinth/plinth.config index 4b0ca66ea..f1bd618fe 100644 --- a/data/etc/plinth/plinth.config +++ b/data/etc/plinth/plinth.config @@ -5,7 +5,7 @@ config_dir = /etc/plinth data_dir = /var/lib/plinth server_dir = /plinth actions_dir = /usr/share/plinth/actions -doc_dir = /usr/share/doc/freedombox +doc_dir = /usr/share/freedombox custom_static_dir = /var/www/plinth/custom/static # file locations diff --git a/debian/TODO b/debian/TODO deleted file mode 100644 index de8b174e2..000000000 --- a/debian/TODO +++ /dev/null @@ -1,3 +0,0 @@ -* /var/lib/plinth should be owned by www-data (-R) -* improper installation procedure (see tons of lintian warnings) -* Embedded libraries? diff --git a/debian/changelog b/debian/changelog index 658e27ce6..8ccbdc898 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,133 @@ +plinth (20.6.1) unstable; urgency=medium + + [ James Valleroy ] + * users: Fix regression where form help_text line was dropped + * debian: Add firmware-ath9k-htc to Recommends + * doc: Fetch latest manual + + [ Allan Nordhøy ] + * gitweb: Use proper ellipsis char when showing clone progress + * Translated using Weblate (Norwegian Bokmål) + * Translated using Weblate (German) + + [ Coucouf ] + * Translated using Weblate (French) + * Translated using Weblate (French) + + [ Manuela Silva ] + * Translated using Weblate (Portuguese) + + [ nautilusx ] + * Translated using Weblate (German) + + [ Jeannette L ] + * Translated using Weblate (German) + * Translated using Weblate (French) + * Translated using Weblate (Italian) + + [ wind ] + * Translated using Weblate (Russian) + + [ vihor ] + * Translated using Weblate (Serbian) + + -- James Valleroy Sat, 11 Apr 2020 09:56:43 -0400 + +plinth (20.6) unstable; urgency=medium + + [ wind ] + * Translated using Weblate (Russian) + + [ Thomas Vincent ] + * Translated using Weblate (French) + * Translated using Weblate (French) + + [ Alice Kile ] + * app: Separate app enable/disable form from config form + + [ Sunil Mohan Adapa ] + * pagekite: Fix functional tests + * monkeysphere: Making styling more specific to avoid interference + * networks: Make styling more specific to avoid interference + * syncthing: Update description to mention 'syncthing' group + + [ Michael Breidenbach ] + * Translated using Weblate (German) + + [ Coucouf ] + * Translated using Weblate (French) + * Translated using Weblate (French) + * Translated using Weblate (French) + * Translated using Weblate (French) + * Translated using Weblate (French) + * Translated using Weblate (French) + * Translated using Weblate (French) + * Translated using Weblate (French) + * Translated using Weblate (French) + + [ Pavel Borecki ] + * Translated using Weblate (Czech) + + [ James Valleroy ] + * radicale: Support upgrade to any 2.x version + * packages: Mark freedombox package as held during package installs + * packages: Keep existing hold if already set + * locale: Update translation strings + * doc: Fetch latest manual + * debian: Cleanup overrides for jsxc symlinks + + [ Allan Nordhøy ] + * Translated using Weblate (German) + * Translated using Weblate (French) + * Translated using Weblate (Italian) + * Translated using Weblate (Hindi) + + [ Joseph Nuthalapati ] + * users: Add component for managing users and groups + * yapf: Update conf to add blank line before nested class/def + * cosmetic: Minor yapf and other fixes + * app: Fix grammar in developer documentation string + * ikiwiki: Disable edits. Add moderation of comments + * Translated using Weblate (Telugu) + * vagrant: Skip upgrading freedombox dependencies + * firewalld: Force upgrade anything in [0.7, 0.9) + * infinoted: Fix permissions of sync directory + + [ vihor ] + * Added translation using Weblate (Serbian) + * Translated using Weblate (Serbian) + + [ Luis A. Arizmendi ] + * Translated using Weblate (Spanish) + + -- James Valleroy Mon, 06 Apr 2020 20:40:17 -0400 + +plinth (20.5.1) unstable; urgency=medium + + [ Petter Reinholdtsen ] + * Translated using Weblate (Norwegian Bokmål) + + [ Allan Nordhøy ] + * networks: Update label wording in topology form: Choose → Specify + * Translated using Weblate (Norwegian Bokmål) + + [ Sunil Mohan Adapa ] + * web_server: Introduce component to handle special static file dirs + * jsxc: Fix issue with serving static files + * help: Move custom static file handling into app from central place + * debian: Update doc-base to include PDF + * debian: Prepare for multiple binary packages + * debian: Separate binary packages for each language manual + * debian: Remove outdated TODO file + + [ Michael Breidenbach ] + * Translated using Weblate (German) + + [ James Valleroy ] + * debian: Correct doc package names in Recommends + + -- James Valleroy Thu, 26 Mar 2020 09:13:13 -0400 + plinth (20.5~bpo10+1) buster-backports; urgency=medium * Rebuild for buster-backports. diff --git a/debian/control b/debian/control index ed25e7a03..b92d90825 100644 --- a/debian/control +++ b/debian/control @@ -119,6 +119,11 @@ Recommends: dosfstools, # Priority: standard file, +# Wifi firmware + firmware-ath9k-htc, +# FreedomBox documentation + freedombox-doc-en, + freedombox-doc-es, # Provide entropy using HAVEGE algorithm haveged, # Monitor system resources @@ -176,3 +181,31 @@ Description: easy to manage, privacy oriented home server This package provides the FreedomBox Service (Plinth) which installs, configures and manages all functions of FreedomBox. The service is managed using a web interface available at https://localhost/. + +Package: freedombox-doc-en +Architecture: all +Section: doc +Depends: ${misc:Depends} +Description: easy to manage, privacy oriented home server - user manual (English) + FreedomBox is designed to be your own inexpensive server at home. It runs free + software and offers an increasing number of services ranging from a calendar or + jabber server to a wiki or VPN. A web interface allows you to easily install + and configure your apps. + . + This package contains the English user manual in HTML and PDF formats. It + describes how to setup and use each application in FreedomBox and FreedomBox + itself. It is accessible from Help menu in the FreedomBox web interface. + +Package: freedombox-doc-es +Architecture: all +Section: doc +Depends: ${misc:Depends} +Description: easy to manage, privacy oriented home server - user manual (Spanish) + FreedomBox is designed to be your own inexpensive server at home. It runs free + software and offers an increasing number of services ranging from a calendar or + jabber server to a wiki or VPN. A web interface allows you to easily install + and configure your apps. + . + This package contains the Spanish user manual in HTML and PDF formats. It + describes how to setup and use each application in FreedomBox and FreedomBox + itself. It is accessible from Help menu in the FreedomBox web interface. diff --git a/debian/freedombox-doc-en.doc-base b/debian/freedombox-doc-en.doc-base new file mode 100644 index 000000000..218f92413 --- /dev/null +++ b/debian/freedombox-doc-en.doc-base @@ -0,0 +1,15 @@ +Document: freedombox-doc-en +Title: FreedomBox User Manual - English +Author: FreedomBox Authors +Abstract: easy to manage, privacy oriented home server - English user manual. + This user manual describes how to setup and use each application in FreedomBox + and FreedomBox itself. It is also accessible from Help menu in the FreedomBox + web interface. +Section: Network/Communication + +Format: HTML +Index: /usr/share/doc/freedombox/manual/en/freedombox-manual.part.html +Files: /usr/share/doc/freedombox/manual/en/*.html + +Format: PDF +Files: /usr/share/doc/freedombox/manual/en/freedombox-manual.pdf diff --git a/debian/freedombox-doc-en.install b/debian/freedombox-doc-en.install new file mode 100644 index 000000000..043084281 --- /dev/null +++ b/debian/freedombox-doc-en.install @@ -0,0 +1 @@ +usr/share/freedombox/manual/en/ diff --git a/debian/freedombox-doc-en.links b/debian/freedombox-doc-en.links new file mode 100644 index 000000000..5c12ebb24 --- /dev/null +++ b/debian/freedombox-doc-en.links @@ -0,0 +1 @@ +usr/share/freedombox/manual/en usr/share/doc/freedombox/manual/en diff --git a/debian/freedombox-doc-es.doc-base b/debian/freedombox-doc-es.doc-base new file mode 100644 index 000000000..4167a01b0 --- /dev/null +++ b/debian/freedombox-doc-es.doc-base @@ -0,0 +1,15 @@ +Document: freedombox-doc-es +Title: FreedomBox User Manual - Spanish +Author: FreedomBox Authors +Abstract: easy to manage, privacy oriented home server - Spanish user manual. + This user manual describes how to setup and use each application in FreedomBox + and FreedomBox itself. It is also accessible from Help menu in the FreedomBox + web interface. +Section: Network/Communication + +Format: HTML +Index: /usr/share/doc/freedombox/manual/es/freedombox-manual.part.html +Files: /usr/share/doc/freedombox/manual/es/*.html + +Format: PDF +Files: /usr/share/doc/freedombox/manual/es/freedombox-manual.pdf diff --git a/debian/freedombox-doc-es.install b/debian/freedombox-doc-es.install new file mode 100644 index 000000000..389d7ec4d --- /dev/null +++ b/debian/freedombox-doc-es.install @@ -0,0 +1 @@ +usr/share/freedombox/manual/es/ diff --git a/debian/freedombox-doc-es.links b/debian/freedombox-doc-es.links new file mode 100644 index 000000000..34006452d --- /dev/null +++ b/debian/freedombox-doc-es.links @@ -0,0 +1 @@ +usr/share/freedombox/manual/es usr/share/doc/freedombox/manual/es diff --git a/debian/freedombox.doc-base b/debian/freedombox.doc-base deleted file mode 100644 index 8ee348340..000000000 --- a/debian/freedombox.doc-base +++ /dev/null @@ -1,17 +0,0 @@ -Document: freedombox -Title: FreedomBox Documentation -Author: FreedomBox Authors -Abstract: easy to manage, privacy oriented home server - FreedomBox is designed to be your own inexpensive server at home. It runs free - software and offers an increasing number of services ranging from a calendar or - jabber server to a wiki or VPN. A web interface allows you to easily install - and configure your apps. - . - This package provides the FreedomBox Service (Plinth) which installs, - configures and manages all functions of FreedomBox. The service is managed - using a web interface available at https://localhost/. -Section: Network/Communication - -Format: HTML -Index: /usr/share/doc/freedombox/manual/en/freedombox-manual.part.html -Files: /usr/share/doc/freedombox/* diff --git a/debian/freedombox.install b/debian/freedombox.install new file mode 100644 index 000000000..d853deb19 --- /dev/null +++ b/debian/freedombox.install @@ -0,0 +1,11 @@ +etc +lib +usr/bin +usr/lib +usr/share/augeas +usr/share/dbus-1 +usr/share/man +usr/share/pam-configs +usr/share/plinth +usr/share/polkit-1 +var diff --git a/debian/manpages b/debian/freedombox.manpages similarity index 100% rename from debian/manpages rename to debian/freedombox.manpages diff --git a/debian/postinst b/debian/freedombox.postinst similarity index 100% rename from debian/postinst rename to debian/freedombox.postinst diff --git a/debian/postrm b/debian/freedombox.postrm similarity index 100% rename from debian/postrm rename to debian/freedombox.postrm diff --git a/debian/templates b/debian/freedombox.templates similarity index 100% rename from debian/templates rename to debian/freedombox.templates diff --git a/debian/po/POTFILES.in b/debian/po/POTFILES.in index 98e8416d9..5282eba34 100644 --- a/debian/po/POTFILES.in +++ b/debian/po/POTFILES.in @@ -1 +1 @@ -[type: gettext/rfc822deb] templates \ No newline at end of file +[type: gettext/rfc822deb] freedombox.templates \ No newline at end of file diff --git a/debian/rules b/debian/rules index aecb9872a..ac00ed40f 100755 --- a/debian/rules +++ b/debian/rules @@ -1,7 +1,7 @@ #!/usr/bin/make -f export DH_VERBOSE=1 -export PYBUILD_DESTDIR=debian/freedombox +export PYBUILD_DESTDIR=debian/tmp %: dh $@ --with python3 --buildsystem=pybuild diff --git a/debian/source/lintian-overrides b/debian/source/lintian-overrides index 1cf94f990..c36403a49 100644 --- a/debian/source/lintian-overrides +++ b/debian/source/lintian-overrides @@ -1,11 +1 @@ -# This is a consequnce of bug in jsxc -# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=838183. While it is possible -# to change the upstream FreedomBox code to remove the links and create during -# installation, the jsxc module in FreedomBox will stop working in certain modes -# of development. We believe the proper fix for the problem is to fix the above -# issue. -plinth source: source-contains-unsafe-symlink plinth/modules/jsxc/static/img -plinth source: source-contains-unsafe-symlink plinth/modules/jsxc/static/libjs-jsxc/jsxc.css -plinth source: source-contains-unsafe-symlink plinth/modules/jsxc/static/libjs-jsxc/lib -plinth source: source-contains-unsafe-symlink plinth/modules/jsxc/static/libjs-jsxc/sound plinth source: source-contains-unsafe-symlink static/themes/default/lato/Lato-Regular.ttf diff --git a/doc/Makefile b/doc/Makefile index 722e9f14c..710f24d21 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -10,7 +10,7 @@ MANUAL_URL_RAW="https://wiki.debian.org/{lang-fragment}FreedomBox/Manual?action= MANUAL_PAGE_URL="https://wiki.debian.org/{lang-fragment}FreedomBox/Manual/{page}?action=show&mimetype=text%2Fdocbook" DESTDIR= -INSTALL_DIR=$(DESTDIR)/usr/share/doc/freedombox +INSTALL_DIR=$(DESTDIR)/usr/share/freedombox SCRIPTS_DIR=scripts manual-pdfs=$(foreach lang,$(MANUAL_LANGUAGES),manual/$(lang)/freedombox-manual.pdf) diff --git a/doc/dev/reference/components/index.rst b/doc/dev/reference/components/index.rst index 3e92003b7..3d0d33de5 100644 --- a/doc/dev/reference/components/index.rst +++ b/doc/dev/reference/components/index.rst @@ -14,6 +14,7 @@ Components frontpage domain letsencrypt + staticfiles Base Classes ^^^^^^^^^^^^ diff --git a/doc/dev/reference/components/staticfiles.rst b/doc/dev/reference/components/staticfiles.rst new file mode 100644 index 000000000..92421f7d7 --- /dev/null +++ b/doc/dev/reference/components/staticfiles.rst @@ -0,0 +1,7 @@ +.. SPDX-License-Identifier: CC-BY-SA-4.0 + +StaticFiles +^^^^^^^^^^^ + +.. autoclass:: plinth.web_server.StaticFiles + :members: diff --git a/doc/dev/reference/forms.rst b/doc/dev/reference/forms.rst index 914438e59..bb3a8ccd4 100644 --- a/doc/dev/reference/forms.rst +++ b/doc/dev/reference/forms.rst @@ -3,9 +3,6 @@ Forms ----- -.. autoclass:: plinth.forms.AppForm - :members: - .. autoclass:: plinth.forms.DomainSelectionForm :members: diff --git a/doc/dev/tutorial/components.rst b/doc/dev/tutorial/components.rst index c22b3eaaf..5886fcf23 100644 --- a/doc/dev/tutorial/components.rst +++ b/doc/dev/tutorial/components.rst @@ -163,11 +163,19 @@ with the FreedomBox framework in ``__init.py__``. .. code-block:: python3 - group = ('bit-torrent', 'Download files using BitTorrent applications') + from plinth.modules.users.components import UsersAndGroups - def init(): + class TransmissionApp(app_module.App): ... - register_group(group) + + def __init__(self): + ... + + groups = { 'bit-torrent': _('Download files using BitTorrent applications') } + users_and_groups = UsersAndGroups('users-and-groups-transmission', + groups=groups) + self.add(users_and_groups) + Then in the Apache configuration snippet, we can mandate that only users of this group (and, of course, admin users) should be allowed to access our app. In the diff --git a/doc/dev/tutorial/customizing.rst b/doc/dev/tutorial/customizing.rst index a7738f72c..e68fa4f08 100644 --- a/doc/dev/tutorial/customizing.rst +++ b/doc/dev/tutorial/customizing.rst @@ -63,10 +63,8 @@ provide options to the user. Add the following to ``forms.py``. from django import forms - from plinth.forms import AppForm - - class TransmissionForm(AppForm): # pylint: disable=W0232 + class TransmissionForm(forms.Form): # pylint: disable=W0232 """Transmission configuration form""" download_dir = forms.CharField( label='Download directory', diff --git a/doc/manual/en/DateTime.raw.xml b/doc/manual/en/DateTime.raw.xml index 0c3db3438..76200a8c7 100644 --- a/doc/manual/en/DateTime.raw.xml +++ b/doc/manual/en/DateTime.raw.xml @@ -1 +1 @@ -
FreedomBox/Manual/DateTime22017-03-31 20:20:57DrahtseilScreenshot DateTime12016-08-21 09:26:45DrahtseilCreated Date & Time
Date & TimeThis network time server is a program that maintains the system time in synchronization with servers on the Internet. You can select your time zone by picking a big city nearby (they are sorted by Continent/City) or select directly the zone with respect to GMT (Greenwich Mean Time). DateTime.png Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities FreedomBox Developer Manual HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, April 11th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file +
FreedomBox/Manual/DateTime32020-03-30 00:08:09JamesValleroytoo many #s in front of END_INCLUDE22017-03-31 20:20:57DrahtseilScreenshot DateTime12016-08-21 09:26:45DrahtseilCreated Date & Time
Date & TimeThis network time server is a program that maintains the system time in synchronization with servers on the Internet. You can select your time zone by picking a big city nearby (they are sorted by Continent/City) or select directly the zone with respect to GMT (Greenwich Mean Time). DateTime.png Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities FreedomBox Developer Manual HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, April 11th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/en/SecureShell.raw.xml b/doc/manual/en/SecureShell.raw.xml index a4376f9eb..7be69ef0d 100644 --- a/doc/manual/en/SecureShell.raw.xml +++ b/doc/manual/en/SecureShell.raw.xml @@ -1,4 +1,4 @@ -
FreedomBox/Manual/SecureShell132019-11-11 17:01:45JosephNuthalapatiRename Tor Hidden Service to Tor Onion Service122019-02-26 03:46:55JamesValleroyremove wiki links112018-01-30 07:55:33SunilMohanAdapaUpdate GitHub links with Salsa102017-03-06 23:17:08JamesValleroyadd note92016-10-13 21:49:06David JonesAdded infromation about connecting to the FBX using ssh over Tor82016-10-13 21:09:31David JonesAdded information about admin account for first log in to Plinth72016-09-05 09:42:36ElViroloRemoving my previous contribution, as info already present in original version.62016-09-05 09:39:05ElVirolo52016-09-05 09:26:15ElViroloAdded "Users created via Plinth" paragraph42015-12-21 19:42:10JamesValleroyupdate default account32015-12-21 19:33:56JamesValleroyfix outline level22015-12-15 19:31:18PhilippeBaretAdded definition title12015-09-16 16:22:37SunilMohanAdapaNew manual page for secure shell access
Secure Shell
What is Secure Shell?FreedomBox runs openssh-server server by default allowing remote logins from all interfaces. If your hardware device is connected to a monitor and a keyboard, you may login directly as well. Regular operation of FreedomBox does not require you to use the shell. However, some tasks or identifying a problem may require you to login to a shell.
Setting Up A User Account
Plinth First Log In: Admin AccountWhen creating an account in Plinth for the first time, this user will automatically have administrator capabilities. Admin users are able to log in using ssh (see Logging In below) and have superuser privileges via sudo.
Default User AccountNote: If you can access Plinth, then you don't need to do this. You can use the user account created in Plinth to connect to SSH. The pre-built FreedomBox images have a default user account called "fbx". However the password is not set for this account, so it will not be possible to log in with this account by default. There is a script included in the freedom-maker program, that will allow you to set the password for this account, if it is needed. To set a password for the "fbx" user: 1. Decompress the image file. 2. Get a copy of freedom-maker from . 3. Run sudo ./bin/passwd-in-image <image-file> fbx. 4. Copy the image file to SD card and boot device as normal. The "fbx" user also has superuser privileges via sudo.
Logging In
LocalTo login via SSH, to your FreedomBox: Replace fbx with the name of the user you wish to login as. freedombox should be replaced with the hostname or IP address of you FreedomBox device as found in the Quick Start process. fbx is the default user present on FreedomBox with superuser privileges. Any other user created using Plinth and belonging to the group admin will be able to login. The root account has no password set and will not be able to login. Access will be denied to all other users. fbx and users in admin group will also be able to login on the terminal directly. Other users will be denied access. If you repeatedly try to login as a user and fail, you will be blocked from logging in for some time. This is due to libpam-abl package that FreedomBox installs by default. To control this behavior consult libpam-abl documentation.
SSH over TorIf in Plinth you have enabled onion services via Tor, you can access your FreedomBox using ssh over Tor. On a GNU/Linux computer, install netcat-openbsd. Edit ~/.ssh/config to enable connections over Tor. Add the following:
FreedomBox/Manual/SecureShell152020-04-04 20:22:52fioddorPlinth as FreedomBox's web interface142020-04-04 20:03:23fioddorPlinth as FreedomBox's web interface132019-11-11 17:01:45JosephNuthalapatiRename Tor Hidden Service to Tor Onion Service122019-02-26 03:46:55JamesValleroyremove wiki links112018-01-30 07:55:33SunilMohanAdapaUpdate GitHub links with Salsa102017-03-06 23:17:08JamesValleroyadd note92016-10-13 21:49:06David JonesAdded infromation about connecting to the FBX using ssh over Tor82016-10-13 21:09:31David JonesAdded information about admin account for first log in to Plinth72016-09-05 09:42:36ElViroloRemoving my previous contribution, as info already present in original version.62016-09-05 09:39:05ElVirolo52016-09-05 09:26:15ElViroloAdded "Users created via Plinth" paragraph42015-12-21 19:42:10JamesValleroyupdate default account32015-12-21 19:33:56JamesValleroyfix outline level22015-12-15 19:31:18PhilippeBaretAdded definition title12015-09-16 16:22:37SunilMohanAdapaNew manual page for secure shell access
Secure Shell
What is Secure Shell?FreedomBox runs openssh-server server by default allowing remote logins from all interfaces. If your hardware device is connected to a monitor and a keyboard, you may login directly as well. Regular operation of FreedomBox does not require you to use the shell. However, some tasks or identifying a problem may require you to login to a shell.
Setting Up A User Account
Plinth First Log In: Admin AccountWhen creating an account in FreedomBox's web interface for the first time, this user will automatically have administrator capabilities. Admin users are able to log in using ssh (see Logging In below) and have superuser privileges via sudo.
Default User AccountNote: If you can access FreedomBox's web interface, then you don't need to do this. You can use the user account created in FreedomBox's web interface to connect to SSH. The pre-built FreedomBox images have a default user account called "fbx". However the password is not set for this account, so it will not be possible to log in with this account by default. There is a script included in the freedom-maker program, that will allow you to set the password for this account, if it is needed. To set a password for the "fbx" user: 1. Decompress the image file. 2. Get a copy of freedom-maker from . 3. Run sudo ./bin/passwd-in-image <image-file> fbx. 4. Copy the image file to SD card and boot device as normal. The "fbx" user also has superuser privileges via sudo.
Logging In
LocalTo login via SSH, to your FreedomBox: Replace fbx with the name of the user you wish to login as. freedombox should be replaced with the hostname or IP address of you FreedomBox device as found in the Quick Start process. fbx is the default user present on FreedomBox with superuser privileges. Any other user created using Plinth and belonging to the group admin will be able to login. The root account has no password set and will not be able to login. Access will be denied to all other users. fbx and users in admin group will also be able to login on the terminal directly. Other users will be denied access. If you repeatedly try to login as a user and fail, you will be blocked from logging in for some time. This is due to libpam-abl package that FreedomBox installs by default. To control this behavior consult libpam-abl documentation.
SSH over TorIf in Plinth you have enabled onion services via Tor, you can access your FreedomBox using ssh over Tor. On a GNU/Linux computer, install netcat-openbsd. Edit ~/.ssh/config to enable connections over Tor. Add the following: Replace USERNAME with, e.g., an admin username (see above). Note that in some cases you may need to replace 9050 with 9150. Now to connect to the FreedomBox, open a terminal and type: Replace USERNAME with, e.g., an admin username, and ADDRESS with the onion service address for your FreedomBox.
Becoming SuperuserAfter logging in, if you want to become the superuser for performing administrative activities: Make a habit of logging in as root only when you need to. If you aren't logged in as root, you can't accidentally break everything.
Changing PasswordTo change the password of a user managed by Plinth, use the change password page. However, the fbx default user is not managed by Plinth and its password cannot be changed in the web interface. To change password on the terminal, log in to your FreedomBox as the user whose password you want to change. Then, run the following command: This will ask you for your current password before giving you the opportunity to set a new one. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities FreedomBox Developer Manual HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, April 11th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file + ProxyCommand nc -X 5 -x 127.0.0.1:9050 %h %p]]>
Replace USERNAME with, e.g., an admin username (see above). Note that in some cases you may need to replace 9050 with 9150. Now to connect to the FreedomBox, open a terminal and type: Replace USERNAME with, e.g., an admin username, and ADDRESS with the onion service address for your FreedomBox.
Becoming SuperuserAfter logging in, if you want to become the superuser for performing administrative activities: Make a habit of logging in as root only when you need to. If you aren't logged in as root, you can't accidentally break everything.
Changing PasswordTo change the password of a user managed by FreedomBox's web interface, use the change password page. However, the fbx default user is not managed by FreedomBox's web interface and its password cannot be changed through it. To change password on the terminal, log in to your FreedomBox as the user whose password you want to change. Then, run the following command: This will ask you for your current password before giving you the opportunity to set a new one. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities FreedomBox Developer Manual HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, April 11th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/en/freedombox-manual.raw.xml b/doc/manual/en/freedombox-manual.raw.xml index cce510e46..ae492128c 100644 --- a/doc/manual/en/freedombox-manual.raw.xml +++ b/doc/manual/en/freedombox-manual.raw.xml @@ -493,24 +493,11 @@ FreedomBox: take your online privacy back FreedomBox is a ready made personal server, designed with privacy and data ownership in mind. It is a subset of the Debian universal operating system and includes free software only. You can run it on a small, inexpensive and power-efficient computer box in your home that is dedicated for that use. It can also be installed on any computer running Debian or in a virtual machine. In order to replace third-party communication services that are data mining your entire life, you will be able to host services yourself and use them at home or over the Internet through a browser or specialized apps. These services include chat and voice calls, webmail, file sharing and calendar, address book and news feed synchronization. For example, to start using a private chat service, activate the service from the administration interface and add your friends as authorized users of the service. They will be able to connect to the service hosted on your FreedomBox, using XMPP chat clients such as Conversations on Android, Pidgin on Windows and Linux, or Messages on Mac OS, for encrypted communications. - FreedomBox can also host a Wi-Fi access point, ad blocking proxy and a virtual private network (VPN). More advanced users can replace their router with a FreedomBox. - To set up FreedomBox at home on a specific hardware or on your computer running Debian may require a bit of technical expertise or help from the community. Once installed the interface is easy to use, similar to a smart phone. - Related documentation: + FreedomBox is a product you can just buy, set up and use. Once installed the interface is easy to use, similar to a smart phone. + User documentation: - - FreedomBox applications - - - - - Machines that support FreedomBox - - - - - Download and Install - + List of applications offered by FreedomBox. @@ -522,6 +509,21 @@ Live Help from the community + + FreedomBox can also host a Wi-Fi access point, ad blocking proxy and a virtual private network (VPN). More advanced users can replace their router with a FreedomBox. + Setting up FreedomBox on a specific hardware or on your computer running Debian may require a bit of technical expertise or help from the community. + Related technical documentation: + + + + Machines that support FreedomBox + + + + + Download and Install + + FreedomBox Developer Manual @@ -6714,13 +6716,13 @@ nmcli con modify "" connection.zone internal]]> Setting Up A User Account
Plinth First Log In: Admin Account - When creating an account in Plinth for the first time, this user will automatically have administrator capabilities. Admin users are able to log in using ssh (see Logging In below) and have superuser privileges via sudo. + When creating an account in FreedomBox's web interface for the first time, this user will automatically have administrator capabilities. Admin users are able to log in using ssh (see Logging In below) and have superuser privileges via sudo.
Default User Account - Note: If you can access Plinth, then you don't need to do this. You can use the user account created in Plinth to connect to SSH. + Note: If you can access FreedomBox's web interface, then you don't need to do this. You can use the user account created in FreedomBox's web interface to connect to SSH. The pre-built FreedomBox images have a default user account called "fbx". However the password is not set for this account, so it will not be possible to log in with this account by default. @@ -6772,7 +6774,7 @@ nmcli con modify "" connection.zone internal]]>
Changing Password - To change the password of a user managed by Plinth, use the change password page. However, the fbx default user is not managed by Plinth and its password cannot be changed in the web interface. + To change the password of a user managed by FreedomBox's web interface, use the change password page. However, the fbx default user is not managed by FreedomBox's web interface and its password cannot be changed through it. To change password on the terminal, log in to your FreedomBox as the user whose password you want to change. Then, run the following command: This will ask you for your current password before giving you the opportunity to set a new one. @@ -7164,7 +7166,23 @@ Password: Banana Pro - + + + + + + + + + Orange Pi Zero + + + + + + Orange Pi Zero + + @@ -7826,7 +7844,45 @@ Password: - 10/100/1000 + 1000 + + + + + + + + + {X} + + + + + + + + Orange Pi Zero + + + ?x4 + + + armhf/sunxi + + + ¼,½ + + + - + + + - + + + - + + + 100 @@ -10096,6 +10152,84 @@ wget https://www.thinkpenguin.com/files/ath9k_firmware_free-version/htc_7010.fw]
Release Notes The following are the release notes for each FreedomBox version. +
+ FreedomBox 20.6.1 (2020-04-11) + + + users: Restore line of help text that was accidentally dropped + + + debian: Add firmware-ath9k-htc to Recommends + + + gitweb: Use proper ellipsis char when showing clone progress + + + locale: Update translations for Norwegian Bokmål, German, French, Portuguese, Italian, Russian, and Serbian + + +
+
+ FreedomBox 20.6 (2020-04-06) + + + app: Ensure toggle buttons work independently of configuration form + + + networks, monkeysphere: Make styling more specific to avoid interference + + + syncthing: Update description to mention 'syncthing' group + + + radicale: Support upgrade up to any 2.x version + + + packages: Hold freedombox package during package installs + + + users: Add component for managing users and groups + + + app: Fix grammar in developer documentation string + + + ikiwiki: Disable public edits of blog pages + + + ikiwiki: Add moderation of blog comments + + + firewalld: Support upgrade up to any 0.8.x version + + + infinoted: Fix permissions of sync directory + + + locale: Added Serbian translation + + + locale: Update translations for Russian, French, German, Czech, Italian, Hindi, Telugu, and Spanish + + +
+
+ FreedomBox 20.5.1 (2020-03-26) + + + networks: Update label wording in topology form + + + jsxc: Fix issue with serving static files + + + debian: Separate binary packages for each language manual + + + locale: Update translations for Norwegian Bokmål and German + + +
FreedomBox 20.5 (2020-03-23) diff --git a/doc/manual/en/images/orange-pi-zero_thumb.jpg b/doc/manual/en/images/orange-pi-zero_thumb.jpg new file mode 100644 index 000000000..3ee4cdd18 Binary files /dev/null and b/doc/manual/en/images/orange-pi-zero_thumb.jpg differ diff --git a/doc/manual/es/Backups.raw.xml b/doc/manual/es/Backups.raw.xml index 8195c8f9e..9e7f706a8 100644 --- a/doc/manual/es/Backups.raw.xml +++ b/doc/manual/es/Backups.raw.xml @@ -1 +1 @@ -
es/FreedomBox/Manual/Backups22019-11-14 18:14:48fioddorSe alinea con la versión 31 en inglés del 11 de noviembre de 201912019-06-18 15:14:43fioddorSe crea la versión española.
Copias de respaldo (backups)FreedomBox incluye la posibilidad de copiar y restaurar datos, preferencias, configuración y secretos de la mayoría de las aplicaciones. La funcionalidad de Backups se resuelve con el software de backup Borg. Borg es un programa de backup con deduplicación y compresión. Está diseñado para hacer backups eficientes y seguros. Esta funcionalidad de backups se puede emplear para respaldar y recuperar datos aplicación por aplicación. Las copias de respaldado se pueden almacenar en la propia máquina FreedomBox o en un servidor remoto. Cualquier servidor remoto con acceso por SSH se puede emplear como almacenamiento para los backups de la FreedomBox. Las copias remotas se pueden cifrar para que el servidor remoto no pueda leer los datos que alberga.
Funcionalidad de Estatdos de los Backups App/Funcionalidad Soporte en Versión Notas Avahi - no precisa backup Backups - no precisa backup Bind 0.41 Cockpit - no precisa backup Coquelicot 0.40 incluye ficheros subidos Datetime 0.41 Deluge 0.41 no incluye archivos descargados ni semillas Diagnostics - no precisa backup Dynamic DNS 0.39 ejabberd 0.39 incluye todos los datos y configuración Firewall - no precisa backup ikiwiki 0.39 incluye todos los wikis/blogs y sus contenidos infinoted 0.39 incluye todos los datos y claves JSXC - no precisa backup Let's Encrypt 0.42 Matrix Synapse 0.39 incluye media y cargas MediaWiki 0.39 incluye páginas de wiki y archivos adjuntos Minetest 0.39 MLDonkey 19.0 Monkeysphere 0.42 Mumble 0.40 Names - no precisa backup Networks No sin planes para implementar backup, de momento OpenVPN 0.48 incluye a todos los usuarios y claves de servidor Pagekite 0.40 Power - no precisa backup Privoxy - no precisa backup Quassel 0.40 incluye usuarios y registros de ejeución (logs) Radicale 0.39 incluye calendario y datos de tarjetas de todos los usuarios repro 0.39 incluye a todos los usuarios, datos y claves Roundcube - no precisa backup SearX - no precisa backup Secure Shell (SSH) Server 0.41 incluye las claves del servidor Security 0.41 Shadowsocks 0.40 solo secretos Sharing 0.40 no incluye datos de las carpetas compartidas Snapshot 0.41 solo configuración, no incluye datos de capturas (snapshots) Storage - no precisa backup Syncthing 0.48 no incluye datos de las carpetas compartidas Tahoe-LAFS 0.42 incluye todos los datos y configuración Tiny Tiny RSS 19.2 incluye base de datos con feeds, historias, etc. Tor 0.42 includes configuración y secretos como las claves de servicios Tor Onion Transmission 0.40 no incluye archivos descargados ni semillas Upgrades 0.42 Users No sin planes para implementar backup, de momento
Cómo instalar y usar BackupsPaso 1 Backups: Paso 1 Paso 2 Backups: Paso 2 Paso 3 Backups: Paso 3 Paso 4 Backups: Paso 4 Paso 5 Backups: Paso 5 Paso 6 Backups: Paso 6 Paso 7 Backups: Paso 7 Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades Manual del Desarrolador de FreedomBox AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, April 11th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file +
es/FreedomBox/Manual/Backups82020-04-11 10:33:24fioddorhttps://salsa.debian.org/freedombox-team/plinth/-/issues/1831#note_15425872020-04-04 13:32:23fioddorCorrección menor62020-04-04 13:31:45fioddorImágenes indicativas52020-04-04 13:10:54fioddorCorrección.42020-04-04 13:09:42fioddorSe usan imágenes traducidas y más actuales.32020-04-04 13:06:11fioddorCorrección. Descripción de pasos como texto en los títulos en vez de como imágenes (mejor accesibilidad)22019-11-14 18:14:48fioddorSe alinea con la versión 31 en inglés del 11 de noviembre de 201912019-06-18 15:14:43fioddorSe crea la versión española.
Copias de respaldo (backups)FreedomBox incluye la posibilidad de copiar y restaurar datos, preferencias, configuración y secretos de la mayoría de las aplicaciones. La funcionalidad de Backups se resuelve con el software de backup Borg. Borg es un programa de backup con deduplicación y compresión. Está diseñado para hacer backups eficientes y seguros. Esta funcionalidad de backups se puede emplear para respaldar y recuperar datos aplicación por aplicación. Las copias de respaldado se pueden almacenar en la propia máquina FreedomBox o en un servidor remoto. Cualquier servidor remoto con acceso por SSH se puede emplear como almacenamiento para los backups de la FreedomBox. Las copias remotas se pueden cifrar para que el servidor remoto no pueda leer los datos que alberga.
Estados de la Funcionalidad de Backups App/Funcionalidad Soporte en Versión Notas Avahi - no precisa backup Backups - no precisa backup Bind 0.41 Cockpit - no precisa backup Coquelicot 0.40 incluye ficheros subidos Datetime 0.41 Deluge 0.41 no incluye archivos descargados ni semillas Diagnostics - no precisa backup Dynamic DNS 0.39 ejabberd 0.39 incluye todos los datos y configuración Firewall - no precisa backup ikiwiki 0.39 incluye todos los wikis/blogs y sus contenidos infinoted 0.39 incluye todos los datos y claves JSXC - no precisa backup Let's Encrypt 0.42 Matrix Synapse 0.39 incluye media y cargas MediaWiki 0.39 incluye páginas de wiki y archivos adjuntos Minetest 0.39 MLDonkey 19.0 Monkeysphere 0.42 Mumble 0.40 Names - no precisa backup Networks No sin planes para implementar backup, de momento OpenVPN 0.48 incluye a todos los usuarios y claves de servidor Pagekite 0.40 Power - no precisa backup Privoxy - no precisa backup Quassel 0.40 incluye usuarios y registros de ejeución (logs) Radicale 0.39 incluye calendario y datos de tarjetas de todos los usuarios repro 0.39 incluye a todos los usuarios, datos y claves Roundcube - no precisa backup SearX - no precisa backup Secure Shell (SSH) Server 0.41 incluye las claves del servidor Security 0.41 Shadowsocks 0.40 solo secretos Sharing 0.40 no incluye datos de las carpetas compartidas Snapshot 0.41 solo configuración, no incluye datos de capturas (snapshots) Storage - no precisa backup Syncthing 0.48 no incluye datos de las carpetas compartidas Tahoe-LAFS 0.42 incluye todos los datos y configuración Tiny Tiny RSS 19.2 incluye base de datos con feeds, historias, etc. Tor 0.42 includes configuración y secretos como las claves de servicios Tor Onion Transmission 0.40 no incluye archivos descargados ni semillas Upgrades 0.42 Users No sin planes para implementar backup, de momento
Cómo instalar y usar BackupsPaso 1: Ir a la página de Copias de Seguridad Backups: Paso 1 Paso 2: Pulsar el botón Instalar Backups: Paso 2 Paso 3: Esperar a que se instalen todos los componentes de la aplicación Backups: Paso 3 Paso 4: Pulsar el botón de Crear Copia de Seguridad Backups: Paso 4 Paso 5: Seleccionar las aplicaciones a respaldar y pulsar Enviar Backups: Paso 5 Paso 6: Pulsar en el botón Descargar Backups: Paso 6 Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades Manual del Desarrolador de FreedomBox AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, April 11th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/es/DateTime.raw.xml b/doc/manual/es/DateTime.raw.xml index 0f932db16..725c16da6 100644 --- a/doc/manual/es/DateTime.raw.xml +++ b/doc/manual/es/DateTime.raw.xml @@ -1 +1 @@ -
es/FreedomBox/Manual/DateTime12019-06-19 10:26:32fioddorSe crea la versión española.
Fecha y horaEste servidor de hora de red es un programa que mantiene el tiempo del sistema sincronizado con servidores de Internet. Puedes seleccionar el huso horario escogiendo una capital cercana (están ordenadas por Continente/Ciudad) o seleccionando directamente el huso en relación a GMT (Greenwich Mean Time). DateTime.png Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades Manual del Desarrolador de FreedomBox AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, April 11th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file +
es/FreedomBox/Manual/DateTime42020-04-11 10:24:24fioddorhttps://salsa.debian.org/freedombox-team/plinth/-/issues/1831#note_15425832020-04-03 18:15:29fioddorSe usa imagen traducida y más actual.22020-04-03 17:08:45fioddorSe alinea con la versión 03 en inglés del 30 de marzo de 202012019-06-19 10:26:32fioddorSe crea la versión española.
Fecha y horaEste servidor de hora de red es un programa que mantiene el tiempo del sistema sincronizado con servidores de Internet. Puedes seleccionar el huso horario escogiendo una capital cercana (están ordenadas por Continente/Ciudad) o seleccionando directamente el huso en relación a GMT (Greenwich Mean Time). DateTime_es_v01.png Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades Manual del Desarrolador de FreedomBox AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, April 11th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/es/Firewall.raw.xml b/doc/manual/es/Firewall.raw.xml index ec14f3610..8ddb48ff8 100644 --- a/doc/manual/es/Firewall.raw.xml +++ b/doc/manual/es/Firewall.raw.xml @@ -1,4 +1,4 @@ -
es/FreedomBox/Manual/Firewall72019-10-21 15:03:44fioddorCorrección menor62019-10-21 14:58:42fioddorCorrección menor52019-08-20 12:16:19fioddorS42019-08-20 12:07:57fioddorSe incorpora la traducción de una sección nueva.32019-08-20 11:59:19fioddorSe incorpora la traducción de una sección nueva.22019-08-20 11:54:54fioddorSe incorpora la traducción de una sección nueva.12019-08-20 11:39:24fioddorSe crea la versión española (traducción incompleta).
CortafuegosUn cortafuegos es un sistema de seguridad de red que controla el tráfico de entrada y salida desde/a la red. Mantener un cortafuegos habilitado y apropiadamente configurado reduce el riesgo de amenazas a la seguridad desde Internet. La operación del cortafuegos desde el interfaz web Plinth de FreedomBox es automática. Cuando habilitas un servicio se le abre automáticamente el cortafuegos y cuando lo deshabilitas se le cierra también automáticamente. Para servicios habilitados por defecto en FreedomBox los puertos se abren en el cortafuegos por defecto durante el proceso de la primera ejecución. Firewall La administración del cortafuegos en FreedomBox se hace empleando FirewallD.
InterfacesCada interfaz de red necesita asignarse a 1 (y sólo 1) zona. Las reglas que tenga activas la zona se aplicarán al interfaz. Por ejemplo, si se permite el trafico HTTP en una zona en particular las peticiones web se acceptarán en todas las direcciones configuradas para todos los interfaces asignados a esa zona. Principalmente se emplean 2 zonas de cortafuegos. La zona interna está pensada para servicios ofrecidos a todas las máquinas de la red local. Esto podría incluir servicios como streaming multimedia o compartición simple de archivos. La zona externa está pensada para servicios públicamente expuestos a Internet. Esto podría incluir servicios como blog, sitio web, cliente web de correo electrónico etc. Para más detalles acerca de como se configuran por defecto los interfaces de red mira la sección Networks.
Puertos/ServiciosLa siguiente tabla trata de documentar los puertos, servicios y sus estados por defecto en FreedomBox. Si encuentras esta página desactualizada mira lib/freedombox/first-run.d/90_firewall en el código fuente de Plinth y la página de estado del cortafuegos en Plinth. ServicioPuerto ExternoHabilitado por defectoEstado mostrado en PlinthAdministrado por Plinth Minetest 30000/udp {*} {X} (./) (./) XMPP Client 5222/tcp {*} {X} (./) (./) XMPP Server 5269/tcp {*} {X} (./) (./) XMPP Bosh 5280/tcp {*} {X} (./) (./) NTP 123/udp {o} (./) (./) (./) Plinth 443/tcp {*} (./) (./) {X} Quassel 4242/tcp {*} {X} (./) (./) SIP 5060/tcp {*} {X} (./) (./) SIP 5060/udp {*} {X} (./) (./) SIP-TLS 5061/tcp {*} {X} (./) (./) SIP-TLS 5061/udp {*} {X} (./) (./) RTP 1024-65535/udp {*} {X} (./) (./) SSH 22/tcp {*} (./) (./) {X} mDNS 5353/udp {o} (./) (./) (./) Tor (Socks) 9050/tcp {o} {X} (./) (./) Obfsproxy <random>/tcp {*} {X} (./) (./) OpenVPN 1194/udp {*} {X} (./) (./) Mumble 64378/tcp {*} {X} (./) (./) Mumble 64378/udp {*} {X} (./) (./) Privoxy 8118/tcp {o} {X} (./) (./) JSXC 80/tcp {*} {X} {X} {X} JSXC 443/tcp {*} {X} {X} {X} DNS 53/tcp {o} {X} {X} {X} DNS 53/udp {o} {X} {X} {X} DHCP 67/udp {o} (./) {X} {X} Bootp 67/tcp {o} {X} {X} {X} Bootp 67/udp {o} {X} {X} {X} Bootp 68/tcp {o} {X} {X} {X} Bootp 68/udp {o} {X} {X} {X} LDAP 389/tcp {o} {X} {X} {X} LDAPS 636/tcp {o} {X} {X} {X}
Operación ManualPara completar información acerca de los conceptos basicos o más allá, mira la documentación de FirewallD.
Habilitar/deshabilitar el cortafuegosPara deshabilitar el cortafuegos o con systemd Para vover a habilitar el cortafuegos o con systemd
Modificar servicios/puertosPuedes añadir o eliminar un servicio de una zona manualmente. Para ver la lista de servicios habilitados: --list-services]]>Ejemplo: Para ver la lista de puertos habilitados: --list-ports]]>Ejemplo: Para eliminar un servicio de una zona: --remove-service= +
es/FreedomBox/Manual/Firewall112020-04-11 10:25:56fioddorhttps://salsa.debian.org/freedombox-team/plinth/-/issues/1831#note_154258102020-04-04 16:56:41fioddorMejora menor. Algo más claro.92020-04-04 16:52:56fioddorEnlace a página traducida.82020-04-04 16:49:56fioddorSe usan imágenes traducidas y más actuales.72019-10-21 15:03:44fioddorCorrección menor62019-10-21 14:58:42fioddorCorrección menor52019-08-20 12:16:19fioddorS42019-08-20 12:07:57fioddorSe incorpora la traducción de una sección nueva.32019-08-20 11:59:19fioddorSe incorpora la traducción de una sección nueva.22019-08-20 11:54:54fioddorSe incorpora la traducción de una sección nueva.12019-08-20 11:39:24fioddorSe crea la versión española (traducción incompleta).
CortafuegosUn cortafuegos es un sistema de seguridad de red que controla el tráfico de entrada y salida desde/a la red. Mantener un cortafuegos habilitado y apropiadamente configurado reduce el riesgo de amenazas a la seguridad desde Internet. La operación del cortafuegos desde el interfaz web Plinth de FreedomBox es automática. Cuando habilitas un servicio se le abre automáticamente el cortafuegos y cuando lo deshabilitas se le cierra también automáticamente. Para servicios habilitados por defecto en FreedomBox los puertos se abren en el cortafuegos por defecto durante el proceso de la primera ejecución. Firewall La administración del cortafuegos en FreedomBox se hace empleando FirewallD.
InterfacesCada interfaz de red necesita asignarse a 1 (y sólo 1) zona. Las reglas que tenga activas la zona se aplicarán al interfaz. Por ejemplo, si se permite el trafico HTTP en una zona en particular las peticiones web se acceptarán en todas las direcciones configuradas para todos los interfaces asignados a esa zona. Principalmente se emplean 2 zonas de cortafuegos. La zona interna está pensada para servicios ofrecidos a todas las máquinas de la red local. Esto podría incluir servicios como streaming multimedia o compartición simple de archivos. La zona externa está pensada para servicios públicamente expuestos a Internet. Esto podría incluir servicios como blog, sitio web, cliente web de correo electrónico etc. Para más detalles acerca de como se configuran por defecto los interfaces de red mira la sección Redes.
Puertos/ServiciosLa siguiente tabla trata de documentar los puertos, servicios y sus estados por defecto en FreedomBox. Si encuentras esta página desactualizada mira lib/freedombox/first-run.d/90_firewall en el código fuente de Plinth y la página de estado del cortafuegos en Plinth. ServicioPuerto ExternoHabilitado por defectoEstado mostrado en PlinthAdministrado por Plinth Minetest 30000/udp {*} {X} (./) (./) XMPP Client 5222/tcp {*} {X} (./) (./) XMPP Server 5269/tcp {*} {X} (./) (./) XMPP Bosh 5280/tcp {*} {X} (./) (./) NTP 123/udp {o} (./) (./) (./) Plinth 443/tcp {*} (./) (./) {X} Quassel 4242/tcp {*} {X} (./) (./) SIP 5060/tcp {*} {X} (./) (./) SIP 5060/udp {*} {X} (./) (./) SIP-TLS 5061/tcp {*} {X} (./) (./) SIP-TLS 5061/udp {*} {X} (./) (./) RTP 1024-65535/udp {*} {X} (./) (./) SSH 22/tcp {*} (./) (./) {X} mDNS 5353/udp {o} (./) (./) (./) Tor (Socks) 9050/tcp {o} {X} (./) (./) Obfsproxy <random>/tcp {*} {X} (./) (./) OpenVPN 1194/udp {*} {X} (./) (./) Mumble 64378/tcp {*} {X} (./) (./) Mumble 64378/udp {*} {X} (./) (./) Privoxy 8118/tcp {o} {X} (./) (./) JSXC 80/tcp {*} {X} {X} {X} JSXC 443/tcp {*} {X} {X} {X} DNS 53/tcp {o} {X} {X} {X} DNS 53/udp {o} {X} {X} {X} DHCP 67/udp {o} (./) {X} {X} Bootp 67/tcp {o} {X} {X} {X} Bootp 67/udp {o} {X} {X} {X} Bootp 68/tcp {o} {X} {X} {X} Bootp 68/udp {o} {X} {X} {X} LDAP 389/tcp {o} {X} {X} {X} LDAPS 636/tcp {o} {X} {X} {X}
Operación ManualPara completar información acerca de los conceptos basicos o más allá, mira la documentación de FirewallD.
Habilitar/deshabilitar el cortafuegosPara deshabilitar el cortafuegos o con systemd Para vover a habilitar el cortafuegos o con systemd
Modificar servicios/puertosPuedes añadir o eliminar un servicio de una zona manualmente. Para ver la lista de servicios habilitados: --list-services]]>Ejemplo: Para ver la lista de puertos habilitados: --list-ports]]>Ejemplo: Para eliminar un servicio de una zona: --remove-service= firewall-cmd --permanent --zone= --remove-service=]]>Ejemplo: Para eliminar un puerto de una zona: / firewall-cmd --permanent --zone=internal --remove-port=/]]>Ejemplo: --add-service=]]>Ejemplo: Para añadir un puerto a una zona: / firewall-cmd --permanent --zone=internal --add-port=/]]>Ejemplo:
Modificar la zona de interfacesPuedes cambiar la asignación de zona de cada interfaz de red manualmente tras la asignación automática del proceso de primer arranque. Para ver la asignación actual de interfaces de red a las zonas. Para eliminar un interfaz de una zona: --remove-interface= +firewall-cmd --permanent --zone=internal --add-port=5353/udp]]>
Modificar la zona de los interfacesPuedes cambiar la asignación de zona de cada interfaz de red manualmente tras la asignación automática del proceso de primer arranque. Para ver la asignación actual de interfaces de red a las zonas. Para eliminar un interfaz de una zona: --remove-interface= firewall-cmd --permanent --zone= --remove-interface=]]>Ejemplo: Para añadir un interfaz a una zona: --add-interface= firewall-cmd --permanent --zone= --add-interface=]]>Ejemplo:
es/FreedomBox/Manual/LetsEncrypt22019-08-20 12:56:47fioddorSe incorpora la traducción de una sección nueva.12019-08-20 12:48:05fioddorSe incorpora la traducción de una sección nueva.
Certificados (Let's Encrypt)Un certificado digital permite a los usuarios de un servicio web verificar la identidad del servicio y comunicar con él de modo seguro. FreedomBox puede obtener y configurar automaticamente certificados digitales para cada dominio disponible. Lo hace probando a Let's Encrypt, una authoridad de certificación (CA) ser el dueño de un dominio. Let's Encrypt es una autoridad de certificación abierta, automatizada, libre y gratuita administrada para beneficio público por el Internet Security Research Group (ISRG). Por favor, lee y acepta los términos del Acuerdo de Suscripción de Let's Encrypt antes de usar este servicio.
Por Qué Usar CertificadosLa comunicación con tu FreedomBox se puede asegurar de modo que se imposibilite interceptar los contenidos que tus servicios intercambian con sus usuarios.
Cómo configurarSi tu FreedomBox está detrás de un router, necesitarás configurar la redirección de puertos en tu router. Debes redirigir los siguientes puertos: TCP 80 (http) TCP 443 (https) Publica tu nombre de dominio: En Configurar inserta tu nombre de dominio, p.ej. MiWeb.com Let's Encrypt Verifica que se aceptó tu nombre de dominio Comprueba que está habilitado en Nombres de Servicio Let's Encrypt Name Services Ve a la página de los Certificados (Let's Encrypt) y completa la instalación del modulo si hace falta. Entonces haz clic en el botón "Obtain" de tu nombre de dominio. Tras algunos minutos estará disponible un certificado válido Let's Encrypt Verifica en tu navegador comprobando https://MiWeb.com Let's Encrypt Certificate Screencast: Let's Encrypt
UsarEl certificado es válido por 3 meses. Se renueva automáticamente y también se puede volcer a obtener o revocar manualmente. Ejecutando diagnostics se puede también verificar el certificado. Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades Manual del Desarrolador de FreedomBox AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, April 11th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file +
es/FreedomBox/Manual/LetsEncrypt32020-04-04 17:19:32fioddorCorrección.22019-08-20 12:56:47fioddorSe incorpora la traducción de una sección nueva.12019-08-20 12:48:05fioddorSe incorpora la traducción de una sección nueva.
Certificados (Let's Encrypt)Un certificado digital permite a los usuarios de un servicio web verificar la identidad del servicio y comunicar con él de modo seguro. FreedomBox puede obtener y configurar automaticamente certificados digitales para cada dominio disponible. Lo hace probando a Let's Encrypt, una authoridad de certificación (CA) ser el dueño de un dominio. Let's Encrypt es una autoridad de certificación abierta, automatizada, libre y gratuita administrada para beneficio público por el Internet Security Research Group (ISRG). Por favor, lee y acepta los términos del Acuerdo de Suscripción de Let's Encrypt antes de usar este servicio.
Por Qué Usar CertificadosLa comunicación con tu FreedomBox se puede asegurar de modo que se imposibilite interceptar los contenidos que tus servicios intercambian con sus usuarios.
Cómo configurarSi tu FreedomBox está detrás de un router, necesitarás configurar la redirección de puertos en tu router. Debes redirigir los siguientes puertos: TCP 80 (http) TCP 443 (https) Publica tu nombre de dominio: En Configurar inserta tu nombre de dominio, p.ej. MiWeb.com Let's Encrypt Verifica que se aceptó tu nombre de dominio Comprueba que está habilitado en Servicio de Nombres Let's Encrypt Name Services Ve a la página de los Certificados (Let's Encrypt) y completa la instalación del modulo si hace falta. Entonces haz clic en el botón "Obtain" de tu nombre de dominio. Tras algunos minutos estará disponible un certificado válido Let's Encrypt Verifica en tu navegador comprobando https://MiWeb.com Let's Encrypt Certificate Screencast: Let's Encrypt
UsarEl certificado es válido por 3 meses. Se renueva automáticamente y también se puede volcer a obtener o revocar manualmente. Ejecutando diagnostics se puede también verificar el certificado. Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades Manual del Desarrolador de FreedomBox AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, April 11th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/es/MatrixSynapse.raw.xml b/doc/manual/es/MatrixSynapse.raw.xml index 2eb7b673c..4645ee3ba 100644 --- a/doc/manual/es/MatrixSynapse.raw.xml +++ b/doc/manual/es/MatrixSynapse.raw.xml @@ -1,4 +1,4 @@ -
es/FreedomBox/Manual/MatrixSynapse72020-01-03 12:50:08fioddorSe alinea con la versión 15 en inglés de hoy62019-09-26 06:27:14fioddorSe actualiza a la versión inglesa 11 del 25 de septiembre de 2019.52019-09-11 08:05:05fioddorCorrecciones menores.42019-09-11 07:28:27fioddorSe crea la versión española.32019-09-11 07:20:22fioddorSe crea la versión española (traducción incompleta).22019-09-11 07:19:53fioddor12019-09-11 07:18:36fioddorSe crea la versión española (traducción incompleta).
Servidor de Mensajería Instantánea (chat) (Matrix Synapse)
¿Qué es Matrix?Matrix es un estándar abierto para comunicaciones sobre IP en tiempo real interoperables y descentralizadas. Synapse es la implementación de referencia de un servidor Matrix. Se puede usar para montar mensajería instantánea sobre FreedomBox para albergar grandes salones de chat, comunicaciones cifradas punto a punto y llamadas de audio/vídeo. Matrix Synapse es una aplicación federada en la que puede haber salas de chat en un servidor y los usuarios de cualquier otro servidor de la red federada pueden unirse a ellas. Más información acerca de Matrix. Disponible desde: versión 0.14.0
¿Cómo acceder a tu servidor Matrix Synapse?Para acceder al servidor Matrix Synapse recomendamos el cliente Riot. Puedes descargar Riot para escritorio. Las aplicaciones para Android e iOS están disponibles en sus tiendas (app stores) respectivas.
Configurar Matrix Synapse en tu FreedomBoxPara habilitar Matrix, primero navega a la página de tu servidor de chat (Matrix Synapse) e instálalo. Matrix necesita un nombre de dominio válido configurado. Tras la instalación, se te pedirá que lo configures seleccionandolo de entre un menú desplegable con dominios disponibles. Los dominios se configuran en la página Sistema -> Configuración. Tras configurar un dominio verás que el servicio se está ejecutando. El servicio estará accesible en el dominio de FreedomBox configurado. Todos los usuarios registrados tendrán sus IDs Matrix @usuario:dominio. Actualmente no podrás cambiar el dominio una vez esté configurado.
Federarse con otras instancias MatrixPodrás interactuar con cualquier otra persona que ejecute otra instancia de Matrix. Esto se hace simplemente iniciando una conversación con ellos usando su matrix ID que seguirá el formato @su-usuario:su-dominio. También podrás unirte a salas de otros servidores y tener llamadas de audio/video con contactos de otros servidores.
Uso de MemoriaEl servidor de referencia Synapse implementado en Python es conocido por consumir mucha RAM, especialmente al cargar salones grandes con miles de participantes como #matrix:matrix.org. Se recomienda evitar unirse a estos salones si tu dispositivo FreedomBox solo tiene 1 GiB RAM o menos. Debería ser seguro unirse a salas con hasta 100 participantes. El equipo de Matrix está trabajando en una implementación de servidor Matrix escrita en Go llamada Dendrite que debería tener mejor rendimiento en entornos con poca memoria. Algunos salones públicos muy grandes de la red Matrix están también disponibles como canales IRC (p.ej. #freedombox:matrix.org está disponible también como #freedombox en irc.debian.org). Es mejor usar IRC en vez de Matrix para estos salones tán grandes. Puedes unirte a los canales de IRC usando Quassel.
Uso AvanzadoSi quieres crear una gran cantidad de usuarios en tu servidor de Matrix Synapse usa los siguientes comandos en una shell remota como usuario root: /etc/matrix-synapse/conf.d/registration_shared_secret.yaml +
es/FreedomBox/Manual/MatrixSynapse82020-03-25 19:19:30fioddorSe alinea con la versión 17 en inglés del 21 de marzo de 202072020-01-03 12:50:08fioddorSe alinea con la versión 15 en inglés de hoy62019-09-26 06:27:14fioddorSe actualiza a la versión inglesa 11 del 25 de septiembre de 2019.52019-09-11 08:05:05fioddorCorrecciones menores.42019-09-11 07:28:27fioddorSe crea la versión española.32019-09-11 07:20:22fioddorSe crea la versión española (traducción incompleta).22019-09-11 07:19:53fioddor12019-09-11 07:18:36fioddorSe crea la versión española (traducción incompleta).
Servidor de Mensajería Instantánea (chat) (Matrix Synapse)
¿Qué es Matrix?Matrix es un estándar abierto para comunicaciones sobre IP en tiempo real interoperables y descentralizadas. Synapse es la implementación de referencia de un servidor Matrix. Se puede usar para montar mensajería instantánea sobre FreedomBox para albergar grandes salones de chat, comunicaciones cifradas punto a punto y llamadas de audio/vídeo. Matrix Synapse es una aplicación federada en la que puede haber salas de chat en un servidor y los usuarios de cualquier otro servidor de la red federada pueden unirse a ellas. Más información acerca de Matrix. Disponible desde: versión 0.14.0
¿Cómo acceder a tu servidor Matrix Synapse?Para acceder al servidor Matrix Synapse recomendamos el cliente Riot. Puedes descargar Riot para escritorio. Las aplicaciones para Android e iOS están disponibles en sus tiendas (app stores) respectivas.
Configurar Matrix Synapse en tu FreedomBoxPara habilitar Matrix, primero navega a la página de tu servidor de chat (Matrix Synapse) e instálalo. Matrix necesita un nombre de dominio válido configurado. Tras la instalación, se te pedirá que lo configures seleccionandolo de entre un menú desplegable con dominios disponibles. Los dominios se configuran en la página Sistema -> Configuración y actualmente no podrás cambiar el dominio una vez esté configurado. Tras configurar un dominio verás que el servicio se está ejecutando. El servicio estará accesible en el dominio de FreedomBox configurado. Tendrás que configurar tu router para que reenvíe el puerto 8448 a tu FreedomBox. Todos los usuarios registrados en tu FreedomBox tendrán sus IDs Matrix @usuario:dominio. Si está habilitado el registro público tu cliente se puede usar también para registrar una cuenta de usuario nueva.
Federarse con otras instancias MatrixPodrás interactuar con cualquier otra persona que ejecute otra instancia de Matrix. Esto se hace simplemente iniciando una conversación con ellos usando su matrix ID que seguirá el formato @su-usuario:su-dominio. También podrás unirte a salas de otros servidores y tener llamadas de audio/video con contactos de otros servidores.
Uso de MemoriaEl servidor de referencia Synapse implementado en Python es conocido por consumir mucha RAM, especialmente al cargar salones grandes con miles de participantes como #matrix:matrix.org. Se recomienda evitar unirse a estos salones si tu dispositivo FreedomBox solo tiene 1 GiB RAM o menos. Debería ser seguro unirse a salas con hasta 100 participantes. El equipo de Matrix está trabajando en una implementación de servidor Matrix escrita en Go llamada Dendrite que debería tener mejor rendimiento en entornos con poca memoria. Algunos salones públicos muy grandes de la red Matrix están también disponibles como canales IRC (p.ej. #freedombox:matrix.org está disponible también como #freedombox en irc.debian.org). Es mejor usar IRC en vez de Matrix para estos salones tán grandes. Puedes unirte a los canales de IRC usando Quassel.
Uso AvanzadoSi quieres crear una gran cantidad de usuarios en tu servidor de Matrix Synapse usa los siguientes comandos en una shell remota como usuario root: /etc/matrix-synapse/conf.d/registration_shared_secret.yaml chmod 600 /etc/matrix-synapse/conf.d/registration_shared_secret.yaml chown matrix-synapse:nogroup /etc/matrix-synapse/conf.d/registration_shared_secret.yaml systemctl restart matrix-synapse diff --git a/doc/manual/es/Monkeysphere.raw.xml b/doc/manual/es/Monkeysphere.raw.xml index a3aaa05e0..2e6aa6b76 100644 --- a/doc/manual/es/Monkeysphere.raw.xml +++ b/doc/manual/es/Monkeysphere.raw.xml @@ -1 +1 @@ -
es/FreedomBox/Manual/Monkeysphere12019-08-23 10:48:17fioddorSe crea la versión española.
MonkeysphereCon Monkeysphere se puede generar una clave OpenPGP para cada dominio configurado para servir SSH. La clave pública OpenPGP se puede subir entonces a los servidores de claves OpenPGP. Los usuarios que se conecten mediante SSH podrán verificar que se están conectando a la máquina correcta. Para que los usuarios puedan confiar en la clave alguien (generalmente el dueño de la máquina) tiene que firmarla siguiendo el proceso normal de firmado de claves OpenPGP. Para más detalles, ver la documentación de Monkeysphere SSH. Monkeysphere también puede generar una clave OpenPGP para cada certificado de servidor web seguro (HTTPS) instalado en esta máquina. La clave pública OpenPGP se puede subir entonces a los servidores de claves OpenPGP. Los usuarios que se conecten mediante SSH podrán verificar que se están conectando a la máquina correcta. Para validar el certificado el usuario deberá instalar cierto software disponible en el sitio web de Monkeysphere. Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades Manual del Desarrolador de FreedomBox AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, April 11th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file +
es/FreedomBox/Manual/Monkeysphere22020-04-04 17:28:08fioddorCorrección.12019-08-23 10:48:17fioddorSe crea la versión española.
MonkeysphereCon Monkeysphere se puede generar una clave OpenPGP para cada dominio configurado para servir SSH. La clave pública OpenPGP se puede subir entonces a los servidores de claves OpenPGP. Los usuarios que se conecten mediante SSH podrán verificar que se están conectando a la máquina correcta. Para que los usuarios puedan confiar en la clave alguien (generalmente el dueño de la máquina) tiene que firmarla siguiendo el proceso normal de firmado de claves OpenPGP. Para más detalles, ver la documentación de Monkeysphere SSH. Monkeysphere también puede generar una clave OpenPGP para cada certificado de servidor web seguro (HTTPS) instalado en esta máquina. La clave pública OpenPGP se puede subir entonces a los servidores de claves OpenPGP. Los usuarios que se conecten mediante HTTPS podrán verificar que se están conectando a la máquina correcta. Para validar el certificado el usuario deberá instalar cierto software disponible en el sitio web de Monkeysphere. Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades Manual del Desarrolador de FreedomBox AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, April 11th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/es/Networks.raw.xml b/doc/manual/es/Networks.raw.xml index bae0001e4..dcbad4fb2 100644 --- a/doc/manual/es/Networks.raw.xml +++ b/doc/manual/es/Networks.raw.xml @@ -1,4 +1,4 @@ -
es/FreedomBox/Manual/Networks112019-08-28 07:38:21fioddorCorrección menor102019-08-28 07:34:37fioddorCorrección menor92019-08-28 07:32:06fioddorCorrección menor82019-08-28 07:31:14fioddorSe incorpora la traducción de una sección nueva.72019-08-28 07:12:51fioddorSe incorpora la traducción de una sección nueva.62019-08-27 13:09:22fioddorCorrección menor52019-08-27 13:06:19fioddorSe incorpora la traducción de una sección nueva.42019-08-27 12:27:43fioddorSe incorpora la traducción de una sección nueva.32019-08-23 13:02:33fioddorSe incorpora la traducción de una sección nueva.22019-08-23 12:32:31fioddorSe incorpora la traducción de una sección nueva.12019-08-23 11:53:13fioddorSe crea la versión española (traducción incompleta).
RedesEsta sección describe como se configura por defecto la red en FreedomBox y como se puede adaptar. Ver también la sección Cortafuegos para más información acerca de cómo funciona éste.
Configuración por defectoEn una imágen fresca de FreedomBox la red no está configurada. La configuración se realiza cuando la imágen se graba en una tarjeta SD y el dispositivo arranca. Durante el primer arranque el paquete FreedomBox setup detecta los interfaces (tarjetas) de red e intenta configurarlos automáticamente de modo que la FreedomBox quede disponible para seguir configurandola a través del interfaz web de otra máquina, sin necesidad de conectar un monitor a la FreedomBox. La configuración automática también procura dejar la FreedomBox operativa para sus escenarios de uso más importantes. Trata 2 escenarios: cuando hay 1 único interfaz (tarjeta) ethernet cuando hay múltiples interfaces (tarjetas) ethernet
interfaz (tarjeta) ethernet únicoCuando el dispositivo hardware solo tiene 1 único interfaz (tarjeta) ethernet hay poco margen para que haga de router. En tal caso se asume que el dispositivo es solo una máquina más en la red. En consecuencia el único interfaz (tarjeta) disponible se configura para ser un interfaz interno en modo de configuración automática. Esto significa que se conecta a Internet empleando la configuración provista por un router de la red y que hace todos sus servicios (internos y externos) accesibles a todos los clientes que haya en esta red. network_single.png
Múltiples interfaces (tarjetas) ethernetCuando el dispositivo hardware tiene múltiples interfaces (tarjetas) ethernet el dispositivo puede actuar como router. Entonces los interfaces se configuran para ejecutar esta función. El primer interfaz (tarjeta) de red se configura para ser una WAN o interfaz externo en modo de configuración automático. Esto significa que se conecta a Internet empleando la configuración provista por el proveedor de servicio de internet (ISP). En este interfaz solo se expondrán los servicios concebidos para cosumo desde Internet (servicios externos). Tu conexión a Internet tiene que llegar por el puerto de este interfaz (tarjeta) ethernet. Si quieres que tu router de siempre siga administrando tu conexión por tí conecta un cable desde tu router al puerto de este interfaz. Los demás interfaces de red se configuran como clientes de router, como LAN o interfaces internos en modo de configuración compartido. Esto significa que todos sus servicios (internos y externos) se exponen a todos los clientes que entren desde esta red. Compartido implica además que los clientes podrán recibir detalles conexión automática a la red. En concreto, la configuración DHCP y los servidores DNS se exponen en este interfaz. La conexión a Internet disponible para el dispositivo a través del primer interfaz se compartirá con los clintes que usen este interfaz. Todo esto implica que puedes conectar tus ordenadores a esta interfaz (tarjeta) de red y se configurarán automáticamente pudiendo acceder a Internet a través de tu FreedomBox. Aunque el proceso de asignación es determinista actualmente no está muy claro qué interfaz será WAN (los demás serán LAN). Así que averiguar cual es cual conllevará un poco de prueba y error. En el futuro esto estará bien documentado para cada dispositivo.
Configuración de la Wi-FiTodos los interfaces Wi-Fi se configuran para ser LAN o interfaces internos en modo de configuración compartido. También se configuran para ser puntos de acceso Wi-Fi con los siguientes datos: El nombre de cada punto de acceso será FreedomBox más el nombre del interfaz (para tratar el caso de que haya varios). La contraseña para conectar a los interfaces será freedombox123.
Compartición de la Conexión a InternetAunque la principal obligación de FreedomBox es proporcionar servicios descentralizados también puede ejercer como router casero. Por tanto en la mayoría de los casos FreedomBox se conecta a Internet y proporciona a otras máquinas de la red la posibilidad de usar esa conexión a Internet. FreedomBox puede hacer esto de 2 formas: usando un modo de conexión compartido o empleando una conexión interna. Cuando se configura un interfaz en modo compartido puedes conectarle tu máquina directamente, sea por cable desde este interfaz a tu máquina o conectando a través del punto de acceso Wi-Fi. Este caso es el más facil de usar porque FreedomBox automáticamente proporciona a tu máquina la configuración de red necesaria. Tu máquina conectará automáticamente a la red proporcionada por FreedomBox y podrá conectar a Internet ya que FreedomBox puede a su vez conectarse a Internet. En ocasiones la configuración anterior podría no ser posible porque el dispositivo hardware tenga un único interfaz de red o por otros motivos. Incluso en este caso tu máquina puede todavía conectarse a Internet a través de la FreedomBox. Para que esto funcione asegúrate de que el interfaz de red al que se está conectando tu máquina esté en modo interno. Entonces conecta tu máquina a la red en la que está la FreedomBox. Después de esto configura la red de tu máquina indicando como puerta de enlace la dirección IP de la FreedomBox. FreedomBox aceptará entonces el tráfico de red de tu maquina y lo enviará a Internet. Esto funciona porque los interfaces de red en modo interno están configurados para enmascarar hacia Internet los paquetes que lleguen desde máquinas locales, así como para recibir paquetes desde Internet y reenviarlos hacia las máquinas locales.
AdaptacionesLa configuración por defecto anterior podría no servir para tu caso. Puedes adecuar la configuración para ajustarla a tus necesidades desde el área Redes de la sección Configuración del interfaz web de tu FreedomBox.
Conexiones PPPoESi tu ISP no proporciona configuración de red automática via DHCP y te obliga a conectar por PPPoE, para configurarlo elimina toda conexión de red existente en el interfaz y añade una de tipo PPPoE. Aquí, si procede, indica el usuario y la contraseña que te ha dado tu ISP y activa la conexión.
Conectar a Internet mdiante Wi-FiPor defecto durante el primer arranque los dispositivos Wi-Fi se configurarán como puntos de acceso. Sin embargo se pueden reconfigurar como dispositivos Wi-Fi normales para conectar a la red local o a un router WiFi existente. Para hacer esto haz clic en la conexión Wi-Fi para editarla. Cambia el modo a Infraestructura en vez de Punto de Acceso y Método de direccionamiento IPv4 a Automático (DHCP) en vez de Modo compartido. SSID proporcionado significa el nombre de la red Wi-Fi a la que quieres conectar. Rellena la frase clave.
Problemas con la Funcionalidad de PrivacidadEl gestor de red que emplea FreedomBox para conectar con las redes Wi-Fi tienen una funcionalidad de privacidad que usa una identidad para buscar redes diferente de la que emplea para conectar con el punto de acceso Wi-Fi. Desafortunadamente esto causa problemas con algunos routers que rechazan estas conexiones. Tu conexión no se activará con éxito y se desconectará. Si tienes control sobre el comportamiento del router puedes desactivar esta funcionalidad. Si no la solución es desactivar la funcionalidad de privacidad: Entra a la FreedomBox por SSH o Cockpit. Edita el fichero /etc/NetworkManager/NetworkManager.conf: Añade la linea wifi.scan-rand-mac-address=no en la sección [device]:
es/FreedomBox/Manual/Networks152020-04-04 17:43:48fioddorCorrección menor142020-04-04 17:41:35fioddorCorrección menor132020-04-04 17:40:01fioddorCorrección menor122020-04-04 17:33:37fioddorCorrección.112019-08-28 07:38:21fioddorCorrección menor102019-08-28 07:34:37fioddorCorrección menor92019-08-28 07:32:06fioddorCorrección menor82019-08-28 07:31:14fioddorSe incorpora la traducción de una sección nueva.72019-08-28 07:12:51fioddorSe incorpora la traducción de una sección nueva.62019-08-27 13:09:22fioddorCorrección menor52019-08-27 13:06:19fioddorSe incorpora la traducción de una sección nueva.42019-08-27 12:27:43fioddorSe incorpora la traducción de una sección nueva.32019-08-23 13:02:33fioddorSe incorpora la traducción de una sección nueva.22019-08-23 12:32:31fioddorSe incorpora la traducción de una sección nueva.12019-08-23 11:53:13fioddorSe crea la versión española (traducción incompleta).
RedesEsta sección describe como se configura por defecto la red en FreedomBox y como se puede adaptar. Ver también la sección Cortafuegos para más información acerca de cómo funciona éste.
Configuración por defectoEn una imágen fresca de FreedomBox la red no está configurada. La configuración se realiza cuando la imágen se graba en una tarjeta SD y el dispositivo arranca. Durante el primer arranque el paquete FreedomBox setup detecta los interfaces (tarjetas) de red e intenta configurarlos automáticamente de modo que la FreedomBox quede disponible para seguir configurandola a través del interfaz web desde otra máquina, sin necesidad de conectar un monitor a la FreedomBox. La configuración automática también procura dejar la FreedomBox operativa para sus escenarios de uso más importantes. Trata 2 escenarios: cuando hay 1 único interfaz (tarjeta) ethernet cuando hay múltiples interfaces (tarjetas) ethernet
interfaz (tarjeta) ethernet únicoCuando el dispositivo hardware solo tiene 1 único interfaz (tarjeta) ethernet hay poco margen para que haga de router. En tal caso se asume que el dispositivo es solo una máquina más en la red. En consecuencia el único interfaz (tarjeta) disponible se configura para ser un interfaz interno en modo de configuración automática. Esto significa que se conecta a Internet empleando la configuración provista por un router de la red y que hace todos sus servicios (internos y externos) accesibles a todos los clientes que haya en esta red. network_single.png
Múltiples interfaces (tarjetas) ethernetCuando el dispositivo hardware tiene múltiples interfaces (tarjetas) ethernet el dispositivo puede actuar como router. Entonces los interfaces se configuran para ejecutar esta función. El primer interfaz (tarjeta) de red se configura para ser una WAN o interfaz externo en modo de configuración automático. Esto significa que se conecta a Internet empleando la configuración provista por el proveedor de servicio de internet (ISP). En este interfaz solo se expondrán los servicios concebidos para consumo desde Internet (servicios externos). Tu conexión a Internet tiene que llegar por el puerto de este interfaz (tarjeta) ethernet. Si quieres que tu router de siempre siga administrando tu conexión por tí conecta un cable desde tu router al puerto de este interfaz. Los demás interfaces de red se configuran como clientes de router, como LAN o interfaces internos en modo de configuración compartido. Esto significa que todos sus servicios (internos y externos) se exponen a todos los clientes que entren desde esta red. Compartido implica además que los clientes podrán recibir detalles para conexión automática a la red. En concreto, la configuración DHCP y los servidores DNS se exponen en este interfaz. La conexión a Internet disponible para el dispositivo a través del primer interfaz se compartirá con los clientes que usen este interfaz. Todo esto implica que puedes conectar tus ordenadores a esta interfaz (tarjeta) de red y se configurarán automáticamente pudiendo acceder a Internet a través de tu FreedomBox. Aunque el proceso de asignación es determinista actualmente no está muy claro qué interfaz será WAN (los demás serán LAN). Así que averiguar cual es cual conllevará un poco de prueba y error. En el futuro esto estará bien documentado para cada dispositivo.
Configuración de la Wi-FiTodos los interfaces Wi-Fi se configuran para ser LAN o interfaces internos en modo de configuración compartido. También se configuran para ser puntos de acceso Wi-Fi con los siguientes datos: El nombre de cada punto de acceso será FreedomBox más el nombre del interfaz (para tratar el caso de que haya varios). La contraseña para conectar a los interfaces será freedombox123.
Compartición de la Conexión a InternetAunque la principal obligación de FreedomBox es proporcionar servicios descentralizados también puede ejercer como router casero. Por tanto en la mayoría de los casos FreedomBox se conecta a Internet y proporciona a otras máquinas de la red la posibilidad de usar esa conexión a Internet. FreedomBox puede hacer esto de 2 formas: usando un modo de conexión compartido o empleando una conexión interna. Cuando se configura un interfaz en modo compartido puedes conectarle tu máquina directamente, sea por cable desde este interfaz a tu máquina o conectando a través del punto de acceso Wi-Fi. Este caso es el más facil de usar porque FreedomBox automáticamente proporciona a tu máquina la configuración de red necesaria. Tu máquina conectará automáticamente a la red proporcionada por FreedomBox y podrá conectar a Internet ya que FreedomBox puede a su vez conectarse a Internet. En ocasiones la configuración anterior podría no ser posible porque el dispositivo hardware tenga un único interfaz de red o por otros motivos. Incluso en este caso tu máquina puede todavía conectarse a Internet a través de la FreedomBox. Para que esto funcione asegúrate de que el interfaz de red al que se está conectando tu máquina esté en modo interno. Entonces conecta tu máquina a la red en la que está la FreedomBox. Después de esto configura la red de tu máquina indicando como puerta de enlace la dirección IP de la FreedomBox. FreedomBox aceptará entonces el tráfico de red de tu maquina y lo enviará a Internet. Esto funciona porque los interfaces de red en modo interno están configurados para enmascarar hacia Internet los paquetes que lleguen desde máquinas locales, así como para recibir paquetes desde Internet y reenviarlos hacia las máquinas locales.
AdaptacionesLa configuración por defecto anterior podría no servir para tu caso. Puedes adecuar la configuración para ajustarla a tus necesidades desde el área Redes de la sección Configuración del interfaz web de tu FreedomBox.
Conexiones PPPoESi tu ISP no proporciona configuración de red automática via DHCP y te obliga a conectar por PPPoE, para configurarlo elimina toda conexión de red existente en el interfaz y añade una de tipo PPPoE. Aquí, si procede, indica el usuario y la contraseña que te ha dado tu ISP y activa la conexión.
Conectar a Internet mdiante Wi-FiPor defecto durante el primer arranque los dispositivos Wi-Fi se configurarán como puntos de acceso. Sin embargo se pueden reconfigurar como dispositivos Wi-Fi normales para conectar a la red local o a un router WiFi existente. Para hacer esto haz clic en la conexión Wi-Fi para editarla. Cambia el modo a Infraestructura en vez de Punto de Acceso y Método de direccionamiento IPv4 a Automático (DHCP) en vez de Modo compartido. SSID proporcionado significa el nombre de la red Wi-Fi a la que quieres conectar. Rellena la frase clave.
Problemas con la Funcionalidad de PrivacidadEl gestor de red que emplea FreedomBox para conectar con las redes Wi-Fi tienen una funcionalidad de privacidad que usa una identidad para buscar redes diferente de la que emplea para conectar con el punto de acceso Wi-Fi. Desafortunadamente esto causa problemas con algunos routers que rechazan estas conexiones. Tu conexión no se activará con éxito y se desconectará. Si tienes control sobre el comportamiento del router puedes desactivar esta funcionalidad. Si no la solución es desactivar la funcionalidad de privacidad: Entra a la FreedomBox por SSH o Cockpit. Edita el fichero /etc/NetworkManager/NetworkManager.conf: Añade la linea wifi.scan-rand-mac-address=no en la sección [device]: Luego reinicia la FreedomBox.
Añadir un nuevo dispositivo de redAl añadir un nuevo dispositivo de red network manager lo configurará automáticamente. En la mayoría de los casos esto no funcionará. Borra la configuración creada automáticamente en el interfaz y crea una conexión de red nueva. Selecciona tu interfaz recién creado en la página "añadir conexión". Configura la zona del cortafuegos como corresponda. Puedes configurar los interfaces para conectar a la red o proporcionar configuración de red a cualquier máquina que se le conecte. De modo similar, si es un interfaz Wi-Fi puedes configurarlo para ser un punto de acceso Wi-FI o para conectarse a puntos de acceso existentes en la red.
Configurar una red MeshFreedomBox tiene un soporte rudimentario para participar en redes mesh basadas en BATMAN-Adv. Es posible unirse a una red existe en tu zona o crear una red mesh nueva y compartir tu conexión a Internet con el resto de nodos que se unan a tu red. Tanto para unirte a una red mesh como para crear otra, actualmente hay que crear 2 conexiones y activarlas manualmente.
Unirse a una red MeshPara unirse a una red mesh existente en tu zona primero consulta a sus organizadores y obtén información acerca de la red. Crea una conexión nueva y selecciona el tipo de conexión Wi-Fi. En el siguiente diálogo rellena los valores como se indica: Nombre del campoValor de ejemploExplicación Nombre de la Conexión Mesh Join - BATMAN El nombre tiene que acabar en BATMAN (con mayúsculas). Interfaz físico wlan0 El dispositivo Wi-Fi que quieres usar para conectar a la red mesh. Zona del cortafuegos Externa Ya que no quieres que los participantes en la red mesh usen dispositivos internos de tu FreedomBox. SSID ch1.freifunk.net Tal como te lo hayan dado los operadores de la red mesh. Esta red debería mostrarse en Redes Wi-Fi accesibles. Modo Ad-hoc Porque esta red es una red de pares (peer-to-peer). Banda de Frecuencia 2.4Ghz Tal como te lo hayan dado los operadores de la red mesh. Canal 1 Tal como te lo hayan dado los operadores de la red mesh. BSSID 12:CA:FF:EE:BA:BE Tal como te lo hayan dado los operadores de la red mesh. Autenticación Abierta Déjala abierta salvo que sepas que tu red mesh necesite otro valor. Contraseña Déjala en blanco salvo que sepas el valor que necesite tu red mesh. Método de direccionamiento IPv4 Deshabilitado Todavía no queremos pedir una configuración IP. Graba la conexión y únete a la red mesh activándola. Crea una segunda conexión nueva y selecciona el tipo Genérica. En el siguiente diálogo rellena los valores como se indica: Nombre del campoValor de ejemploExplicación Nombre de la Conexión Mesh Connect Cualquier nombre para identificar ésta conexión. Interfaz físico bat0 Este interfaz solo aparecerá tras activar con éxito la conexión del paso anterior. Zona del cortafuegos Externa Ya que no quieres que los participantes en la red mesh usen dispositivos internos de tu FreedomBox. Método de direccionamiento IPv4 Auto Generalmente las redes mesh tienen un servidor DHCP en algún sitio que le proporciona una configuración IP a tu máquina. Si no, consulta al operador y configura la dirección IP como te diga por el método manual. Graba la conexión. Configura tu maquina para participar en la red activando esta conexión. Actualmente hay que activarla manualmente cada vez que quieras unirte a la red. En el futuro FreedomBox lo hará automáticamente. Ahora debieras poder llegar a otros nodos de la red. También podrás conectar a Internet a través de la red mesh si los operadores han instalado algúna puerta de enlace.
Crear una red MeshPara crear tu propia red mesh y compartir tu conexión a Internet con el resto de los nodos de la red: Sigue las instrucciones del paso 1 de Unirse a una red Mesh empleando los valores válidos para tu red en SSID (un nombre para tu red Mesh), Banda de Frecuencia (generalmente 2.4Ghz), Canal (entre 1 y 11 para la banda de 2.4Ghz) y BSSID (una secuencia hexadecimal como 12:CA:DE:AD:BE:EF). Crea esta conexión y actívala. Sigue las instrucciones del paso 2 de Unirse a una red Mesh seleccionando Compartido para Método de direccionamiento IPv4d. Esto proporcionará automáticamente una configuración IP a otros nodos de la red y compartirá la conexión a Internet de tu maquina (ya sea mediante un segudo interfaz Wi-Fi, Ethernet, etc.) con el otros nodos de la red mesh. Corre la voz entre tus vecinos acerca de tu red mesh y pásales los parámetros que has empleado al crearla. Cuando otros nodos se conecten a esta red mesh tendrán que seguir las instrucciones del paso 1 de Unirse a una red Mesh empleando en SSID, Banda de Frecuencia y Canal los valores que has elegido para tu red mesh al crearla.
Operación de Red ManualFreedomBox configura redes automáticamente por defecto y proporciona un interfaz simplificado para personalizar la configuración a necesidades específicas. En la mayoría de los casos la operación manual no es necesaria. Los siguientes pasos describen cómo operar la configuración de red a mano en caso de que el interfaz de FreedomBox le resulte insuficiente a un usuario para realizar una tarea o para diagnosticar un problema que FreedomBox no identifique. En el interfaz de línea de comandos: Para acceder a un interfaz de configuración de conexiones de red basado en texto: Para ver la lista de dispositivos de red disponibles: Para ver la lista de conexiones configuradas: Para ver el estado actual de una conexión: ']]>Para ver la zona asignada actualmente en el cortafuegos a un interfaz de red: ' | grep zone]]>o Para crear una conexión nueva: " ifname "" type ethernet nmcli con modify "" connection.autoconnect TRUE diff --git a/doc/manual/es/PageKite.raw.xml b/doc/manual/es/PageKite.raw.xml index 0b582aa0d..c0323ba35 100644 --- a/doc/manual/es/PageKite.raw.xml +++ b/doc/manual/es/PageKite.raw.xml @@ -1 +1 @@ -
es/FreedomBox/Manual/PageKite12019-06-20 15:13:14fioddorSe crea la versión española.
Visibilidad Publica (PageKite)
¿Qué es PageKite?PageKite hace inmediata y públicamente accesibles desde internet a los sitios web y servicios locales sin tener que crear tu mismo una dirección IP pública. Lo hace tunelando protocolos como HTTPS o SSH a través de cortafuegos y NAT. Usar PageKite require ana cuenta en un servicio de repetidor de PageKite. es uno de de estos servicios. Un servicio de repetidor de PageKite te permitirá crear cometas (kites). Las cometas son similares a los nombres de dominio pero con ventajas y desventajas diferentes. Una cometa puede tener varios servicios configurados. Se sabe que PageKite funciona con HTTP, HTTPS, y SSH, y muchas funcionan con otros servicios, pero no todas.
Usar PageKiteCréate una cuenta en un servicio de repetidor de PageKite. Añade una cometa a tu cuenta. Anota el nombre y el sectreo de tu cometa. En Plinth, vé a la solapa "Configurar PageKite" de la página Visibilidad Publica (PageKite). Marca la caja "Habilitar PageKite" e introduce el nombre y el secreto de tu cometa. Haz clic en "Grabar propiedades". En la solapa "Servicios Estándar" puedes habilitar HTTP y HTTPS (recomendado) y SSH (opcional). HTTP se necesita para obtener el certificado Let's Encrypt. Puedes deshabilitarlo (HTTPS) más tarde. En la página Certificados (Let's Encrypt) puedes obtener un certificado Let's Encrypt para el nombre de tu cometa. Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades Manual del Desarrolador de FreedomBox AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, April 11th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file +
es/FreedomBox/Manual/PageKite22020-04-04 19:54:42fioddorEnlace a página traducida.12019-06-20 15:13:14fioddorSe crea la versión española.
Visibilidad Publica (PageKite)
¿Qué es PageKite?PageKite hace inmediata y públicamente accesibles desde internet a los sitios web y servicios locales sin tener que crear tu mismo una dirección IP pública. Lo hace tunelando protocolos como HTTPS o SSH a través de cortafuegos y NAT. Usar PageKite require ana cuenta en un servicio de repetidor de PageKite. es uno de de estos servicios. Un servicio de repetidor de PageKite te permitirá crear cometas (kites). Las cometas son similares a los nombres de dominio pero con ventajas y desventajas diferentes. Una cometa puede tener varios servicios configurados. Se sabe que PageKite funciona con HTTP, HTTPS, y SSH, y muchas funcionan con otros servicios, pero no todas.
Usar PageKiteCréate una cuenta en un servicio de repetidor de PageKite. Añade una cometa a tu cuenta. Anota el nombre y el sectreo de tu cometa. En Plinth, vé a la solapa "Configurar PageKite" de la página Visibilidad Publica (PageKite). Marca la caja "Habilitar PageKite" e introduce el nombre y el secreto de tu cometa. Haz clic en "Grabar propiedades". En la solapa "Servicios Estándar" puedes habilitar HTTP y HTTPS (recomendado) y SSH (opcional). HTTP se necesita para obtener el certificado Let's Encrypt. Puedes deshabilitarlo (HTTPS) más tarde. En la página Certificados (Let's Encrypt) puedes obtener un certificado Let's Encrypt para el nombre de tu cometa. Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades Manual del Desarrolador de FreedomBox AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, April 11th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/es/SecureShell.raw.xml b/doc/manual/es/SecureShell.raw.xml index f0527f3f9..a2dc4056b 100644 --- a/doc/manual/es/SecureShell.raw.xml +++ b/doc/manual/es/SecureShell.raw.xml @@ -1,4 +1,4 @@ -
es/FreedomBox/Manual/SecureShell42019-11-14 18:13:56fioddorSe alinea con la versión 13 en inglés del 11 de noviembre de 201932019-08-20 08:32:32fioddorSe incorpora la traducción de una sección nueva.22019-08-20 07:08:46fioddorSe incorpora la traducción de una sección nueva.12019-08-20 07:02:24fioddorSe crea la versión española.
Shell Segura
¿Qué es Shell Segura?FreedomBox ejecuta el servidor openssh-server por defecto permitiendo así accesos remotos desde todos los interfaces. Si tu dispositivo hardware está connectado a un monitor y un teclado, también puedes ingresar directamente. Para la operación habitual de FreedomBox no necesitas usar la shell. No obstante, algunas tareas o identificación de algún problema podrían requerirlo.
Configurando una Cuenta de Usuario
Primer ingreso a Plinth: Cuenta de AdminAl crear una cuenta en Plinth por primera vez, el usuario tendrá automaticamente privilegios de administrador. Los usuarios Admin pueden ingresar mediante ssh (abajo se explica cómo) y escalar sus privilegios a superusuario mediante sudo.
Cuenta de Usuario por DefectoNota: Si puedes acceder a Plinth es que no necesitas hacer esto. Puedes usar la cuenta de usuario de Plinth para conectar por SSH. Las imagenes precompiladas FreedomBox tienen una cuenta de usuario llamada fbx pero no tiene contraseña establecida, así que no se puede ingresar con esta cuenta. Hay un script incluído en el programa freedom-maker que permite establecer la contraseña de esta cuenta si fuera necesario: Descomprime la imagen. Obtén una copia de freedom-maker en . Ejecuta sudo ./bin/passwd-in-image <archivo_de_imagen> fbx. Copia el archivo de la imagen a la tarjeta SD e inicia el dispositivo. El usuario "fbx" también tiene privilegios de superusuario mediante sudo.
Ingresando
LocalPara ingresar mediante SSH a tu FreedomBox: Reemplaza fbx por el usuario con el que quieres ingresar. Hay que reemplazar freedombox por el hostname o dirección IP de tu dispositivo FreedomBox como se indica en el proceso de Inicio rápido. fbx es el usuario de FreedomBox con privilegios de superusuario por defecto. Cualquier otro usuario creado con Plinth que pertenezca al grupo admin podrá ingresar. La cuenta root no tiene contraseña configurada y no podrá ingresar. A todos los demás usuarios se les denegará el acceso. fbx y los otros usuarios del grupo admin podrán ingresar directamente por el terminal. A todos los demás usuarios se les denegará el acceso. Si fallas repetidamente intentando ingresar se te bloqueará el acceso por algún tiempo. Esto se debe al paquete libpam-abl que FreedomBox instala por defecto. Para controlar este comportamiento consulta la documentación de libpam-abl.
SSH via TorSi tienes habilitados en Plinth los servicios Tor Onion puedes acceder a tu FreedomBox mediante ssh sobre Tor. Instala netcat-openbsd. Edita ~/.ssh/config para habilitar conexiones sobre Tor. Añade lo siguiente:
es/FreedomBox/Manual/SecureShell82020-04-04 20:24:38fioddorSe alinea con la versión 15 inglés del 04 de abril de 202072020-04-04 20:18:47fioddorCorrección menor62020-04-04 20:05:06fioddorSe alinea con la versión 14 inglés del 04 de abril de 202052020-04-04 20:00:07fioddorCorrección menor42019-11-14 18:13:56fioddorSe alinea con la versión 13 en inglés del 11 de noviembre de 201932019-08-20 08:32:32fioddorSe incorpora la traducción de una sección nueva.22019-08-20 07:08:46fioddorSe incorpora la traducción de una sección nueva.12019-08-20 07:02:24fioddorSe crea la versión española.
Shell Segura
¿Qué es Shell Segura?FreedomBox ejecuta el servidor openssh-server por defecto permitiendo así accesos remotos desde todos los interfaces. Si tu dispositivo hardware está conectado a un monitor y un teclado, también puedes ingresar directamente. Para la operación habitual de FreedomBox no necesitas usar la shell. No obstante, algunas tareas o identificación de algún problema podrían requerirlo.
Configurando una Cuenta de Usuario
Primer ingreso a Plinth: Cuenta de AdminAl crear una cuenta en Plinth por primera vez, el usuario tendrá automaticamente privilegios de administrador. Los usuarios Admin pueden ingresar mediante ssh (abajo se explica cómo) y escalar sus privilegios a superusuario mediante sudo.
Cuenta de Usuario por DefectoNota: Si puedes acceder al interfaz web de FreedomBox es que no necesitas hacer esto. Puedes usar la cuenta de usuario del interfaz web de FreedomBox para conectar por SSH. Las imagenes precompiladas FreedomBox tienen una cuenta de usuario llamada fbx pero no tiene contraseña establecida, así que no se puede ingresar con esta cuenta. Hay un script incluído en el programa freedom-maker que permite establecer la contraseña de esta cuenta si fuera necesario: Descomprime la imagen. Obtén una copia de freedom-maker en . Ejecuta sudo ./bin/passwd-in-image <archivo_de_imagen> fbx. Copia el archivo de la imagen a la tarjeta SD e inicia el dispositivo. El usuario "fbx" también tiene privilegios de superusuario mediante sudo.
Ingresando
LocalPara ingresar mediante SSH a tu FreedomBox: Reemplaza fbx por el usuario con el que quieres ingresar. Hay que reemplazar freedombox por el hostname o dirección IP de tu dispositivo FreedomBox como se indica en el proceso de Inicio rápido. fbx es el usuario de FreedomBox con privilegios de superusuario por defecto. Cualquier otro usuario creado con Plinth que pertenezca al grupo admin podrá ingresar. La cuenta root no tiene contraseña configurada y no podrá ingresar. A todos los demás usuarios se les denegará el acceso. fbx y los otros usuarios del grupo admin podrán ingresar directamente por el terminal. A todos los demás usuarios se les denegará el acceso. Si fallas repetidamente intentando ingresar se te bloqueará el acceso por algún tiempo. Esto se debe al paquete libpam-abl que FreedomBox instala por defecto. Para controlar este comportamiento consulta la documentación de libpam-abl.
SSH via TorSi tienes habilitados en Plinth los servicios Tor Onion puedes acceder a tu FreedomBox mediante ssh sobre Tor. Instala netcat-openbsd. Edita ~/.ssh/config para habilitar conexiones sobre Tor. Añade lo siguiente: Replace USUARIO por un usuario del grupo admin (ver arriba). En algunos casos podrías necesitar reemplazar 9050 por 9150. Ahora, para conectar a la FreedomBox abre un terminal y teclea: Reemplaza USUARIO por un usuario del grupo admin y DIRECCION por la dirección del servicio Tor Onion para SSH de tu FreedomBox.
Escalar a SuperusuarioSi después de ingresar quieres volverte superusuario para realizar actividades administrativas: Habitúate a ingresar como root solo cuando sea estrictamente necesario. Si no ingresas como root no puedes romperlo todo accidentalmente.
Cambiar ContraseñasPara cambiar la contraseña de un usuario administrado en Plinth usa la página Cambiar contraseña. El usuario por debecto fbx no se administra en Plinth y su contraseña no se puede cambiar desde la interfaz web. Para cambiar la contraseña en el terminal ingresa a tu FreedomBox con el usuario cuya contraseña quieres cambiar y ejecuta el siguiente comando: Esto te preguntará tu contraseña actual antes de darte la oportunidad de establecer la nueva. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades Manual del Desarrolador de FreedomBox AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, April 11th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file + ProxyCommand nc -X 5 -x 127.0.0.1:9050 %h %p]]>
Reemplaza USUARIO por un usuario del grupo admin (ver arriba). En algunos casos podrías necesitar reemplazar 9050 por 9150. Ahora, para conectar a la FreedomBox abre un terminal y teclea: Reemplaza USUARIO por un usuario del grupo admin y DIRECCION por la dirección del servicio Tor Onion para SSH de tu FreedomBox.
Escalar a SuperusuarioSi después de ingresar quieres volverte superusuario para realizar actividades administrativas: Habitúate a ingresar como root solo cuando sea estrictamente necesario. Si no ingresas como root no puedes romperlo todo accidentalmente.
Cambiar ContraseñasPara cambiar la contraseña de un usuario administrado en el interfaz web de FreedomBox usa la página Cambiar clave de acceso. El usuario por debecto fbx no se administra en el interfaz web de FreedomBox y su contraseña no se puede cambiar desde él. Para cambiar la contraseña en el terminal ingresa a tu FreedomBox con el usuario cuya contraseña quieres cambiar y ejecuta el siguiente comando: Esto te preguntará tu contraseña actual antes de darte la oportunidad de establecer la nueva. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades Manual del Desarrolador de FreedomBox AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, April 11th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/es/Security.raw.xml b/doc/manual/es/Security.raw.xml index 6bab2d646..e5e405a86 100644 --- a/doc/manual/es/Security.raw.xml +++ b/doc/manual/es/Security.raw.xml @@ -1 +1 @@ -
es/FreedomBox/Manual/Security22019-10-14 07:25:52fioddorSe actualiza a la versión inglesa 03 del 12 de octubre de 2019.12019-06-19 12:14:30fioddorSe crea la versión española.
SeguridadCuando se habilita esta opción sólo los usuarios del grupo "admin" podrán entrar a la consola o mediante SSH. Los usuarios de consola podrán acceder a algunos servicios sin más autorización. La sección Usuarios explica cómo definir grupos de usuarios. Cuando la opción Restringir ingresos por consola está habilitada, sólo los usuarios del grupo admin podrán ingresar via consola, shell segura (SSH) o interfaz gráfico. Al desactivar esta funcionalidad cualquier usuario con cuenta en FreedomBox podrá ingresar y quizá tener acceso a ciertos servicios sin más autorización. Esta opción solo debería desactivarse si se confía plenamente en todos los usuarios del sistema. Si quieres usar tu máquina FreedomBox también como escritorio y admitir que usuarios no-admin ingresen mediante interfáz gráfica esta opción debe estar desactivada. Puedes determinar la lista de usuarios admin en la sección Users. Security.png Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades Manual del Desarrolador de FreedomBox AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, April 11th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file +
es/FreedomBox/Manual/Security62020-04-11 10:27:12fioddorhttps://salsa.debian.org/freedombox-team/plinth/-/issues/1831#note_15425852020-04-04 20:36:39fioddorSe alinea la traducción del literal con el interfaz web.42020-04-04 20:34:34fioddorSe usa imagen traducida y más actual.32020-04-04 20:32:39fioddorSe alinea la traducción del nombre de la página con el interfaz web.22019-10-14 07:25:52fioddorSe actualiza a la versión inglesa 03 del 12 de octubre de 2019.12019-06-19 12:14:30fioddorSe crea la versión española.
ProtecciónCuando se habilita esta opción sólo los usuarios del grupo "admin" podrán entrar a la consola o mediante SSH. Los usuarios de consola podrán acceder a algunos servicios sin más autorización. La sección Usuarios explica cómo definir grupos de usuarios. Cuando la opción Acceso a consola restringido está habilitada, sólo los usuarios del grupo admin podrán ingresar via consola, shell segura (SSH) o interfaz gráfico. Al desactivar esta funcionalidad cualquier usuario con cuenta en FreedomBox podrá ingresar y quizá tener acceso a ciertos servicios sin más autorización. Esta opción solo debería desactivarse si se confía plenamente en todos los usuarios del sistema. Si quieres usar tu máquina FreedomBox también como escritorio y admitir que usuarios no-admin ingresen mediante interfáz gráfica esta opción debe estar desactivada. Puedes determinar la lista de usuarios admin en la sección Users. Security_es_v01.png Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades Manual del Desarrolador de FreedomBox AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, April 11th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/es/Snapshots.raw.xml b/doc/manual/es/Snapshots.raw.xml index 059dad5a0..26cc0924f 100644 --- a/doc/manual/es/Snapshots.raw.xml +++ b/doc/manual/es/Snapshots.raw.xml @@ -1 +1 @@ -
es/FreedomBox/Manual/Snapshots12019-06-20 14:29:35fioddorSe crea la versión española.
InstantáneasLas Instantáneas te permiten crear instantáneas del sistema de archivos y devolver al sistema a un estado anterior. Nota: Esta funcionalidad requier un sistema de archivos Btrfs. Todas las imágenes de disco de FreedomBox estables usan Btrfs. Instantáneas Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades Manual del Desarrolador de FreedomBox AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, April 11th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file +
es/FreedomBox/Manual/Snapshots22020-04-04 21:17:11fioddorCorrección menor12019-06-20 14:29:35fioddorSe crea la versión española.
InstantáneasLas Instantáneas te permiten crear instantáneas del sistema de archivos y devolver al sistema a un estado anterior. Nota: Esta funcionalidad requiere un sistema de archivos Btrfs. Todas las imágenes de disco de FreedomBox estables usan Btrfs. Instantáneas Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades Manual del Desarrolador de FreedomBox AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, April 11th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/es/Upgrades.raw.xml b/doc/manual/es/Upgrades.raw.xml index 68807bb9b..3c88f802d 100644 --- a/doc/manual/es/Upgrades.raw.xml +++ b/doc/manual/es/Upgrades.raw.xml @@ -1,4 +1,4 @@ -
es/FreedomBox/Manual/Upgrades82019-10-16 15:18:30fioddorEnlace a nueva página traducida.72019-09-06 08:31:27fioddorSe mejoran las referencias a Debian Testing en línea con la nomenclatura de https://www.debian.org/releases/62019-08-22 12:54:06fioddorCorrección menor52019-08-22 12:52:31fioddorCorrección menor42019-08-22 12:51:09fioddorCorrección menor32019-08-22 12:48:59fioddorMejora menor22019-08-22 12:44:27fioddorSe actualiza a la versión inglesa 7 de hoy, 22 de agosto de 2019 03:42h.12019-06-19 07:05:29fioddorSe crea la versión española.
Actualizaciones de SoftwareFreedomBox puede instalar actualizaciones de seguridad automaticamente. Esta funcionalidad viene activada por defecto y no hace falta ninguna acción manual. Puedes activar las actualizaciones automaticas desde Plinth en en la página Actualizaciones de la sección Preferencias. Se recomienda encarecidamente que tengas esta opción habilitada para mantener tu FreedomBox segura. Las actualizaciones se efectúan cada noche. Si quieres apagar tu FreedomBox cada día después de usarla, déjala ejecutando una noche a la semana más o menos para permitir que ocurran las actualizaciones automaticas. Otra posibilidad es ejecutar actualizaciones manuales como se describe más adelante. Nota que una vez comiencen las actualizaciones podría llevarles mucho tiempo completarse. Durante el proceso de actualización (ya sea el automático nocturno o el manual), no podrás instalar aplicaciones desde el interfaz web de FreedomBox. upgrades.png
¿Cuando obtendré las últimas funcionalidades?Aunque las actualizaciones se efectúan a diario por razones de seguridad, las últimas funcionalidades no se propagan a todos los usuarios. A continuación se explica cómo llegan las novedades a los usuarios de las diferentes versiones de Debian: Usuarios de versiones estables: Esta categoria de usuarios incluye a los usuarios que compraron la FreedomBox Pioneer Edition, a los que instalaron FreedomBox sobre una distribución estable de Debian y a los que descargaron las imágenes estables desde freedombox.org. Como regla general a estos usuarios solo se les proporciona actualizaciones de seguridad de determinados paquetes. Cuando una release obtiene la confianza de los desarrolladores el propio servicio FreedomBox se actualiza, lo que supone una excepción a esta regla. Esto implica que las últimas funcionalidades de FreedomBox estarán disponibles para estos usuarios aunque no tán inmediata- o frecuentemente como para los usuarios de las versiones en pruebas (testing). Si una app sólo está disponible en la distribución en pruebas (testing) pero no en la estable la app aparecerá en el interfaz web pero no será instalable para los usuarios de la distribución estable. Algunas apps se actualizan en excepción a la regla de "solo actualizaciones de seguridad" cuando la app esté seriamente rota por algún motivo. Debian libera cada bienio una entrega (release) con las últimas versiones estables de cada paquete de software y los desarrolladores de FreedomBox intentarán actualizar a estos usuarios a la nueva entrega (release) sin necesidad de intervención manual. Usuarios de versiones en pruebas: Esta categoria de usuarios incluye a los usuarios que instalaron FreedomBox sobre una distribución en pruebas (testing) y a los que descargaron las imágenes en pruebas (testing) desde freedombox.org. Estos usuarios asumen la posibilidad de afrontar disrupciones ocasionales en los servicios e incluso tener que intervenir manualmente para arreglarlas. Como regla general estos usuarios reciben las últimas funcionalidades y actualizaciones de seguridad para todos los paquetes instalados. Cada quincena se libera una nueva versión de FreedomBox con todas las últimas funcionalidades y correcciones. Estas versiones llegan a los usuarios de la distribución en pruebas (testing) aproximadamente 2 o 3 días después de la liberación. Usuarios de versiones inestables: Esta categoria de usuarios incluye a los usuarios que instalaron FreedomBox sobre una distribución inestable y a los que descargaron las imágenes inestables desde freedombox.org. Estos usuarios asumen la probabilidad de afrontar disrupciones en los servicios y tener que intervenir manualmente para arreglarlas. Como regla general estos usuarios reciben las últimas funcionalidades y actualizaciones de seguridad para todos los paquetes instalados. Cada quincena se libera una nueva versión de FreedomBox con todas las últimas funcionalidades y correcciones. Estas versiones llegan a los usuarios de la distribución inestable el mismo día de la liberación. Solo los desarrolladores, probadores y contribuyentes al proyecto FreedomBox debieran emplear la distribution inestable. Se advierte y exhorta a los usuarios finales de que no la usen.
Actualizaciones Manuales desde el TerminalAlgunos paquetes de software podrían requerir intervención manual para actualizarlos, generalmente por razones de configuración. En tales casos FreedomBox se actualiza a sí mismo y solicita información nueva necesaria para la actualización del paquete. Después de autoactualizarse FreedomBox actúa en nombre del usuario y actualiza los paquetes con la información recabada. Estos paquetes no se deben actualizar manualmente hasta que FreedomBox tenga a posibilidad de actualizarlos. La actualización que se dispara manualmente desde el interfaz web ya es consciente de estos paquetes y no los actualiza. En situaciones muy extrañas, FreedomBox podría fallar o quedar a expensas de una intervención manual desde el terminal. Para esto, entra a FreedomBox por un terminal, ya sea físico, web (empleando Cockpit) o mediante SSH (ver sección Shell Segura) y ejecuta los siguientes comandos:
es/FreedomBox/Manual/Upgrades132020-04-11 10:28:09fioddorhttps://salsa.debian.org/freedombox-team/plinth/-/issues/1831#note_154258122020-04-04 21:44:54fioddor112020-04-04 21:36:45fioddorSe usan imagen traducida y más actual.102020-04-04 21:32:12fioddor92020-04-04 21:29:18fioddorSe alinean literales con la interfaz gráfica.82019-10-16 15:18:30fioddorEnlace a nueva página traducida.72019-09-06 08:31:27fioddorSe mejoran las referencias a Debian Testing en línea con la nomenclatura de https://www.debian.org/releases/62019-08-22 12:54:06fioddorCorrección menor52019-08-22 12:52:31fioddorCorrección menor42019-08-22 12:51:09fioddorCorrección menor32019-08-22 12:48:59fioddorMejora menor22019-08-22 12:44:27fioddorSe actualiza a la versión inglesa 7 de hoy, 22 de agosto de 2019 03:42h.12019-06-19 07:05:29fioddorSe crea la versión española.
Actualizaciones de SoftwareFreedomBox puede instalar actualizaciones de seguridad automaticamente. Esta funcionalidad viene activada por defecto y no hace falta ninguna acción manual. Puedes activar las actualizaciones automaticas desde el interfaz web de FreedomBox en la página Actualización de la sección Sistema. Se recomienda encarecidamente que tengas esta opción habilitada para mantener tu FreedomBox segura. Las actualizaciones se efectúan cada noche. Si quieres apagar tu FreedomBox cada día después de usarla, déjala ejecutando una noche a la semana más o menos para permitir que ocurran las actualizaciones automaticas. Otra posibilidad es ejecutar actualizaciones manuales como se describe más adelante. Nota que una vez comiencen las actualizaciones podría llevarles mucho tiempo completarse. Durante el proceso de actualización (ya sea el automático nocturno o el manual), no podrás instalar aplicaciones desde el interfaz web de FreedomBox. upgrades_es_v01.png
¿Cuando obtendré las últimas funcionalidades?Aunque las actualizaciones se efectúan a diario por razones de seguridad, las últimas funcionalidades no se propagan a todos los usuarios. A continuación se explica cómo llegan las novedades a los usuarios de las diferentes versiones de Debian: Usuarios de versiones estables: Esta categoria de usuarios incluye a los usuarios que compraron la FreedomBox Pioneer Edition, a los que instalaron FreedomBox sobre una distribución estable de Debian y a los que descargaron las imágenes estables desde freedombox.org. Como regla general a estos usuarios solo se les proporciona actualizaciones de seguridad de determinados paquetes. Cuando una release obtiene la confianza de los desarrolladores el propio servicio FreedomBox se actualiza, lo que supone una excepción a esta regla. Esto implica que las últimas funcionalidades de FreedomBox estarán disponibles para estos usuarios aunque no tán inmediata- o frecuentemente como para los usuarios de las versiones en pruebas (testing). Si una app sólo está disponible en la distribución en pruebas (testing) pero no en la estable la app aparecerá en el interfaz web pero no será instalable para los usuarios de la distribución estable. Algunas apps se actualizan en excepción a la regla de "solo actualizaciones de seguridad" cuando la app esté seriamente rota por algún motivo. Debian libera cada bienio una entrega (release) con las últimas versiones estables de cada paquete de software y los desarrolladores de FreedomBox intentarán actualizar a estos usuarios a la nueva entrega (release) sin necesidad de intervención manual. Usuarios de versiones en pruebas: Esta categoria de usuarios incluye a los usuarios que instalaron FreedomBox sobre una distribución en pruebas (testing) y a los que descargaron las imágenes en pruebas (testing) desde freedombox.org. Estos usuarios asumen la posibilidad de afrontar disrupciones ocasionales en los servicios e incluso tener que intervenir manualmente para arreglarlas. Como regla general estos usuarios reciben las últimas funcionalidades y actualizaciones de seguridad para todos los paquetes instalados. Cada quincena se libera una nueva versión de FreedomBox con todas las últimas funcionalidades y correcciones. Estas versiones llegan a los usuarios de la distribución en pruebas (testing) aproximadamente 2 o 3 días después de la liberación. Usuarios de versiones inestables: Esta categoria de usuarios incluye a los usuarios que instalaron FreedomBox sobre una distribución inestable y a los que descargaron las imágenes inestables desde freedombox.org. Estos usuarios asumen la probabilidad de afrontar disrupciones en los servicios y tener que intervenir manualmente para arreglarlas. Como regla general estos usuarios reciben las últimas funcionalidades y actualizaciones de seguridad para todos los paquetes instalados. Cada quincena se libera una nueva versión de FreedomBox con todas las últimas funcionalidades y correcciones. Estas versiones llegan a los usuarios de la distribución inestable el mismo día de la liberación. Solo los desarrolladores, probadores y contribuyentes al proyecto FreedomBox debieran emplear la distribution inestable. Se advierte y exhorta a los usuarios finales de que no la usen.
Actualizaciones Manuales desde el TerminalAlgunos paquetes de software podrían requerir intervención manual para actualizarlos, generalmente por razones de configuración. En tales casos FreedomBox se actualiza a sí mismo y solicita información nueva necesaria para la actualización del paquete. Después de autoactualizarse FreedomBox actúa en nombre del usuario y actualiza los paquetes con la información recabada. Estos paquetes no se deben actualizar manualmente hasta que FreedomBox tenga la posibilidad de actualizarlos. La actualización que se dispara manualmente desde el interfaz web ya es consciente de estos paquetes y no los actualiza. En situaciones muy extrañas, FreedomBox podría fallar o quedar a expensas de una intervención manual desde el terminal. Para esto, entra a FreedomBox por un terminal, ya sea físico, web (empleando Cockpit) o mediante SSH (ver sección Shell Segura) y ejecuta los siguientes comandos: # dpkg --configure -a # apt update diff --git a/doc/manual/es/freedombox-manual.raw.xml b/doc/manual/es/freedombox-manual.raw.xml index 398cda7b0..1d38eabfe 100644 --- a/doc/manual/es/freedombox-manual.raw.xml +++ b/doc/manual/es/freedombox-manual.raw.xml @@ -4,6 +4,12 @@ es/FreedomBox/Manual + + 60 + 2020-04-04 12:31:29 + fioddor + Enlace a página traducida. + 59 2020-02-21 15:55:40 @@ -359,27 +365,16 @@
FreedomBox: recupera tu privacidad online - FreedomBox es un servidor personal diseñado tomando en cuenta la privacidad y la propiedad de los datos. Es un subconjunto del sistema operativo universal Debian e incluye solo software libre. Puedes ejecutarlo en casa en un ordenador pequeño, barato y energéticamente eficiente dedicado a tal uso. También se puede instalar en cualquier ordenador que ejecute Debian o en una máquina virtual. - Para reeemplazar servicios de comunicaciones de terceros que están espiando toda tu vida, podrás alojar servicios por ti mismo y usarlos en casa o a través de Internet mediante un navegador o aplicaciones especializadas. Estos servicios incluyen chat y audioconferencias, correo electrónico web, compartición de ficheros y calendario, libreta de direcciones y sincronización de feeds de noticias. Por ejemplo, para comenzar a usar un servicio de chat privado activa el servicio desde el interfaz de administración y agrega a tus amistades como usuarios autorizados del servicio. Podrán conectarse al servicio alojado en tu FreedomBox usando clientes de chat XMPP como Conversations para Android, Pidgin para Windows y Linux, o Messages para Mac OS, y acceder a comunicaciones cifradas. - FreedomBox también puede alojar un punto de acceso Wi-Fi, un proxy para bloquear anuncios y una red privada virtual (VPN). Los usuarios más avanzados pueden reemplazar su router por un FreedomBox. - Configurar FreedomBox en casa sobre un hardware específico o en tu ordenador con Debian podría requerir cierto conocimiento técnico o ayuda de la comunidad. Una vez instalado el interfaz es fácil de usar, parecido a un teléfono inteligente. - Documentación relacionada: + FreedomBox es un servidor personal diseñado tomando en cuenta la privacidad y la propiedad de los datos. Es un subconjunto del sistema operativo universal Debian e incluye solo software libre. Puedes ejecutarlo en casa en un ordenador pequeño, barato y energéticamente eficiente dedicado a tal uso. También se puede instalar en cualquier ordenador que ejecute Debian o en una máquina virtual. + Para reeemplazar servicios de comunicaciones de terceros que están espiando toda tu vida, podrás alojar servicios por ti mismo y usarlos en casa o a través de Internet mediante un navegador o aplicaciones especializadas. Estos servicios incluyen chat y audioconferencias, correo electrónico web, compartición de ficheros y calendario, libreta de direcciones y sincronización de feeds de noticias. Por ejemplo, para comenzar a usar un servicio de chat privado activa el servicio desde el interfaz de administración y agrega a tus amistades como usuarios autorizados del servicio. Podrán conectarse al servicio alojado en tu FreedomBox usando clientes de chat XMPP como Conversations para Android, Pidgin para Windows y Linux, o Messages para Mac OS, y acceder a comunicaciones cifradas. + FreedomBox es un producto que puedes comprar, instalar y queda lista para usar. Una vez instalado el interfaz es fácil de usar, parecido a un teléfono inteligente. + Documentación de usuario: Aplicaciones de FreedomBox - - - Máquinas que soportan FreedomBox - - - - - Desgarga e Instalación - - Manual @@ -390,6 +385,21 @@ Ayuda en directo de la comunidad + + FreedomBox también puede alojar un punto de acceso Wi-Fi, un proxy para bloquear anuncios y una red privada virtual (VPN). Los usuarios más avanzados pueden reemplazar su router por un FreedomBox. + Configurar FreedomBox en casa sobre un hardware específico o en tu ordenador con Debian podría requerir cierto conocimiento técnico o ayuda de la comunidad. + Documentación técnica relacionada: + + + + Máquinas que soportan FreedomBox + + + + + Desgarga e Instalación + + Manual del Desarrollador de FreedomBox @@ -1668,7 +1678,9 @@ if [ -f /etc/default/radicale.dpkg-dist ] ; then cp /etc/default/radicale.dpkg-d
Configurar Matrix Synapse en tu FreedomBox - Para habilitar Matrix, primero navega a la página de tu servidor de chat (Matrix Synapse) e instálalo. Matrix necesita un nombre de dominio válido configurado. Tras la instalación, se te pedirá que lo configures seleccionandolo de entre un menú desplegable con dominios disponibles. Los dominios se configuran en la página Sistema -> Configuración. Tras configurar un dominio verás que el servicio se está ejecutando. El servicio estará accesible en el dominio de FreedomBox configurado. Todos los usuarios registrados tendrán sus IDs Matrix @usuario:dominio. Actualmente no podrás cambiar el dominio una vez esté configurado. + Para habilitar Matrix, primero navega a la página de tu servidor de chat (Matrix Synapse) e instálalo. Matrix necesita un nombre de dominio válido configurado. Tras la instalación, se te pedirá que lo configures seleccionandolo de entre un menú desplegable con dominios disponibles. Los dominios se configuran en la página Sistema -> Configuración y actualmente no podrás cambiar el dominio una vez esté configurado. Tras configurar un dominio verás que el servicio se está ejecutando. El servicio estará accesible en el dominio de FreedomBox configurado. + Tendrás que configurar tu router para que reenvíe el puerto 8448 a tu FreedomBox. + Todos los usuarios registrados en tu FreedomBox tendrán sus IDs Matrix @usuario:dominio. Si está habilitado el registro público tu cliente se puede usar también para registrar una cuenta de usuario nueva.
Federarse con otras instancias Matrix @@ -3097,31 +3109,22 @@ echo "nuevacontraseña" | su mumble-server -s /bin/sh -c "/usr/sbin/murmurd -ini
- Simple Git Hosting (GitWeb) - Git is a distributed version-control system for tracking changes in source code during software development. GitWeb provides a web interface to Git repositories. You can browse history and content of source code, use search to find relevant commits and code. You can also clone repositories and upload code changes with a command-line Git client or with multiple available graphical clients. And you can share your code with people around the world. - To learn more on how to use Git visit Git tutorial. - Available since version: 19.19 + Alojamiento Git Simple (GitWeb) + GitWeb proporciona alojamiento Git en FreedomBox. Proporciona un interfaz web simple para realizar acciones comunes como ver archivos, diferencias, descripciones de cambio, etc. + Disponible desde versión: 19.19
- Managing the repositories - After installation of GitWeb, a new repository can be created. It can be marked as private to limit access. -
-
- Access - GitWeb can be accessed after installation e.g. by the web client through -
-
- HTTP basic auth - GitWeb on FreedomBox currently supports HTTP remotes only. To avoid having to enter the password each time you pull/push to the repository, you can edit your remote to include the credentials. + Autenticación básica HTTP + Actualmente el GitWeb de FreedomBox solo soporta remotos HTTP. Para evitar tener que introducir la contraseña cada vez que haces pull/push al repositorio puedes editar tu remoto para incluír credenciales. - Example: - + Ejemplo: + - Your username and password will be encrypted. Someone monitoring the network traffic will notice the domain name only. - Note: If using this method, your password will be stored in plain text in the local repository's .git/config file. For this reason, you should create a FreedomBox user who has only access to the gitweb and never use an admin account. + Tu nombre de usuario y contraseña se cifrarán. Quien monitorize el tráfico de la red solo apreciará el nombre de dominio. + Nota: Al usar este método tu contraseña se almacenará en claro en el fichero .git/config del repositorio local. Por este motivo debes crear un usuario FreedomBox que solo tenga acceso a gitweb y no usar nunca una cuenta de administrador.
- Mirroring - Though your repositories are primarily hosted on your own FreedomBox, you can configure a repository on another Git hosting system like GitLab as a mirror. + Réplicas Espejo + Aunque tus repositorios se albergan principalmente en tu propia FreedomBox puedes configurar un repositorio en otro servicio de alojamiento Git como GitLab a modo de copia espejo.
@@ -3131,7 +3134,7 @@ echo "nuevacontraseña" | su mumble-server -s /bin/sh -c "/usr/sbin/murmurd -ini Copias de respaldo (backups) FreedomBox incluye la posibilidad de copiar y restaurar datos, preferencias, configuración y secretos de la mayoría de las aplicaciones. La funcionalidad de Backups se resuelve con el software de backup Borg. Borg es un programa de backup con deduplicación y compresión. Está diseñado para hacer backups eficientes y seguros. Esta funcionalidad de backups se puede emplear para respaldar y recuperar datos aplicación por aplicación. Las copias de respaldado se pueden almacenar en la propia máquina FreedomBox o en un servidor remoto. Cualquier servidor remoto con acceso por SSH se puede emplear como almacenamiento para los backups de la FreedomBox. Las copias remotas se pueden cifrar para que el servidor remoto no pueda leer los datos que alberga.
- Funcionalidad de Estatdos de los Backups + Estados de la Funcionalidad de Backups @@ -3635,12 +3638,12 @@ echo "nuevacontraseña" | su mumble-server -s /bin/sh -c "/usr/sbin/murmurd -ini
Cómo instalar y usar Backups - Paso 1 + Paso 1: Ir a la página de Copias de Seguridad - + Backups: Paso 1 @@ -3648,7 +3651,7 @@ echo "nuevacontraseña" | su mumble-server -s /bin/sh -c "/usr/sbin/murmurd -ini - Paso 2 + Paso 2: Pulsar el botón Instalar @@ -3661,12 +3664,12 @@ echo "nuevacontraseña" | su mumble-server -s /bin/sh -c "/usr/sbin/murmurd -ini - Paso 3 + Paso 3: Esperar a que se instalen todos los componentes de la aplicación - + Backups: Paso 3 @@ -3674,12 +3677,12 @@ echo "nuevacontraseña" | su mumble-server -s /bin/sh -c "/usr/sbin/murmurd -ini - Paso 4 + Paso 4: Pulsar el botón de Crear Copia de Seguridad - + Backups: Paso 4 @@ -3687,12 +3690,12 @@ echo "nuevacontraseña" | su mumble-server -s /bin/sh -c "/usr/sbin/murmurd -ini - Paso 5 + Paso 5: Seleccionar las aplicaciones a respaldar y pulsar Enviar - + Backups: Paso 5 @@ -3700,31 +3703,18 @@ echo "nuevacontraseña" | su mumble-server -s /bin/sh -c "/usr/sbin/murmurd -ini - Paso 6 + Paso 6: Pulsar en el botón Descargar - + Backups: Paso 6 - - Paso 7 - - - - - - - - Backups: Paso 7 - - -
@@ -4020,10 +4010,10 @@ https://exampletorhs.onion/cockpit/]]> - + - DateTime.png + DateTime_es_v01.png @@ -4173,7 +4163,7 @@ https://exampletorhs.onion/cockpit/]]> - + Firewall @@ -4185,7 +4175,7 @@ https://exampletorhs.onion/cockpit/]]> Interfaces Cada interfaz de red necesita asignarse a 1 (y sólo 1) zona. Las reglas que tenga activas la zona se aplicarán al interfaz. Por ejemplo, si se permite el trafico HTTP en una zona en particular las peticiones web se acceptarán en todas las direcciones configuradas para todos los interfaces asignados a esa zona. Principalmente se emplean 2 zonas de cortafuegos. La zona interna está pensada para servicios ofrecidos a todas las máquinas de la red local. Esto podría incluir servicios como streaming multimedia o compartición simple de archivos. La zona externa está pensada para servicios públicamente expuestos a Internet. Esto podría incluir servicios como blog, sitio web, cliente web de correo electrónico etc. - Para más detalles acerca de como se configuran por defecto los interfaces de red mira la sección Networks. + Para más detalles acerca de como se configuran por defecto los interfaces de red mira la sección Redes.
Puertos/Servicios @@ -6022,7 +6012,7 @@ firewall-cmd --permanent --zone=internal --add-port=/]]>
- Modificar la zona de interfaces + Modificar la zona de los interfaces Puedes cambiar la asignación de zona de cada interfaz de red manualmente tras la asignación automática del proceso de primer arranque. Para ver la asignación actual de interfaces de red a las zonas. @@ -6075,7 +6065,7 @@ firewall-cmd --permanent --zone=internal --add-interface=eth0]]> Verifica que se aceptó tu nombre de dominio - Comprueba que está habilitado en Nombres de Servicio + Comprueba que está habilitado en Servicio de Nombres @@ -6136,7 +6126,7 @@ firewall-cmd --permanent --zone=internal --add-interface=eth0]]>
Monkeysphere Con Monkeysphere se puede generar una clave OpenPGP para cada dominio configurado para servir SSH. La clave pública OpenPGP se puede subir entonces a los servidores de claves OpenPGP. Los usuarios que se conecten mediante SSH podrán verificar que se están conectando a la máquina correcta. Para que los usuarios puedan confiar en la clave alguien (generalmente el dueño de la máquina) tiene que firmarla siguiendo el proceso normal de firmado de claves OpenPGP. Para más detalles, ver la documentación de Monkeysphere SSH. - Monkeysphere también puede generar una clave OpenPGP para cada certificado de servidor web seguro (HTTPS) instalado en esta máquina. La clave pública OpenPGP se puede subir entonces a los servidores de claves OpenPGP. Los usuarios que se conecten mediante SSH podrán verificar que se están conectando a la máquina correcta. Para validar el certificado el usuario deberá instalar cierto software disponible en el sitio web de Monkeysphere. + Monkeysphere también puede generar una clave OpenPGP para cada certificado de servidor web seguro (HTTPS) instalado en esta máquina. La clave pública OpenPGP se puede subir entonces a los servidores de claves OpenPGP. Los usuarios que se conecten mediante HTTPS podrán verificar que se están conectando a la máquina correcta. Para validar el certificado el usuario deberá instalar cierto software disponible en el sitio web de Monkeysphere.
Servicios de Nombre @@ -6147,7 +6137,7 @@ firewall-cmd --permanent --zone=internal --add-interface=eth0]]> Esta sección describe como se configura por defecto la red en FreedomBox y como se puede adaptar. Ver también la sección Cortafuegos para más información acerca de cómo funciona éste.
Configuración por defecto - En una imágen fresca de FreedomBox la red no está configurada. La configuración se realiza cuando la imágen se graba en una tarjeta SD y el dispositivo arranca. Durante el primer arranque el paquete FreedomBox setup detecta los interfaces (tarjetas) de red e intenta configurarlos automáticamente de modo que la FreedomBox quede disponible para seguir configurandola a través del interfaz web de otra máquina, sin necesidad de conectar un monitor a la FreedomBox. La configuración automática también procura dejar la FreedomBox operativa para sus escenarios de uso más importantes. + En una imágen fresca de FreedomBox la red no está configurada. La configuración se realiza cuando la imágen se graba en una tarjeta SD y el dispositivo arranca. Durante el primer arranque el paquete FreedomBox setup detecta los interfaces (tarjetas) de red e intenta configurarlos automáticamente de modo que la FreedomBox quede disponible para seguir configurandola a través del interfaz web desde otra máquina, sin necesidad de conectar un monitor a la FreedomBox. La configuración automática también procura dejar la FreedomBox operativa para sus escenarios de uso más importantes. Trata 2 escenarios: @@ -6176,10 +6166,10 @@ firewall-cmd --permanent --zone=internal --add-interface=eth0]]> Cuando el dispositivo hardware tiene múltiples interfaces (tarjetas) ethernet el dispositivo puede actuar como router. Entonces los interfaces se configuran para ejecutar esta función. - El primer interfaz (tarjeta) de red se configura para ser una WAN o interfaz externo en modo de configuración automático. Esto significa que se conecta a Internet empleando la configuración provista por el proveedor de servicio de internet (ISP). En este interfaz solo se expondrán los servicios concebidos para cosumo desde Internet (servicios externos). Tu conexión a Internet tiene que llegar por el puerto de este interfaz (tarjeta) ethernet. Si quieres que tu router de siempre siga administrando tu conexión por tí conecta un cable desde tu router al puerto de este interfaz. + El primer interfaz (tarjeta) de red se configura para ser una WAN o interfaz externo en modo de configuración automático. Esto significa que se conecta a Internet empleando la configuración provista por el proveedor de servicio de internet (ISP). En este interfaz solo se expondrán los servicios concebidos para consumo desde Internet (servicios externos). Tu conexión a Internet tiene que llegar por el puerto de este interfaz (tarjeta) ethernet. Si quieres que tu router de siempre siga administrando tu conexión por tí conecta un cable desde tu router al puerto de este interfaz. - Los demás interfaces de red se configuran como clientes de router, como LAN o interfaces internos en modo de configuración compartido. Esto significa que todos sus servicios (internos y externos) se exponen a todos los clientes que entren desde esta red. Compartido implica además que los clientes podrán recibir detalles conexión automática a la red. En concreto, la configuración DHCP y los servidores DNS se exponen en este interfaz. La conexión a Internet disponible para el dispositivo a través del primer interfaz se compartirá con los clintes que usen este interfaz. Todo esto implica que puedes conectar tus ordenadores a esta interfaz (tarjeta) de red y se configurarán automáticamente pudiendo acceder a Internet a través de tu FreedomBox. + Los demás interfaces de red se configuran como clientes de router, como LAN o interfaces internos en modo de configuración compartido. Esto significa que todos sus servicios (internos y externos) se exponen a todos los clientes que entren desde esta red. Compartido implica además que los clientes podrán recibir detalles para conexión automática a la red. En concreto, la configuración DHCP y los servidores DNS se exponen en este interfaz. La conexión a Internet disponible para el dispositivo a través del primer interfaz se compartirá con los clientes que usen este interfaz. Todo esto implica que puedes conectar tus ordenadores a esta interfaz (tarjeta) de red y se configurarán automáticamente pudiendo acceder a Internet a través de tu FreedomBox. Aunque el proceso de asignación es determinista actualmente no está muy claro qué interfaz será WAN (los demás serán LAN). Así que averiguar cual es cual conllevará un poco de prueba y error. En el futuro esto estará bien documentado para cada dispositivo. @@ -6583,7 +6573,7 @@ nmcli con modify "" connection.zone internal]]> - En la página Certificados (Let's Encrypt) puedes obtener un certificado Let's Encrypt para el nombre de tu cometa. + En la página Certificados (Let's Encrypt) puedes obtener un certificado Let's Encrypt para el nombre de tu cometa.
@@ -6592,7 +6582,7 @@ nmcli con modify "" connection.zone internal]]> Shell Segura
¿Qué es Shell Segura? - FreedomBox ejecuta el servidor openssh-server por defecto permitiendo así accesos remotos desde todos los interfaces. Si tu dispositivo hardware está connectado a un monitor y un teclado, también puedes ingresar directamente. Para la operación habitual de FreedomBox no necesitas usar la shell. No obstante, algunas tareas o identificación de algún problema podrían requerirlo. + FreedomBox ejecuta el servidor openssh-server por defecto permitiendo así accesos remotos desde todos los interfaces. Si tu dispositivo hardware está conectado a un monitor y un teclado, también puedes ingresar directamente. Para la operación habitual de FreedomBox no necesitas usar la shell. No obstante, algunas tareas o identificación de algún problema podrían requerirlo.
Configurando una Cuenta de Usuario @@ -6604,7 +6594,7 @@ nmcli con modify "" connection.zone internal]]> Cuenta de Usuario por Defecto - Nota: Si puedes acceder a Plinth es que no necesitas hacer esto. Puedes usar la cuenta de usuario de Plinth para conectar por SSH. + Nota: Si puedes acceder al interfaz web de FreedomBox es que no necesitas hacer esto. Puedes usar la cuenta de usuario del interfaz web de FreedomBox para conectar por SSH. Las imagenes precompiladas FreedomBox tienen una cuenta de usuario llamada fbx pero no tiene contraseña establecida, así que no se puede ingresar con esta cuenta. @@ -6648,7 +6638,7 @@ nmcli con modify "" connection.zone internal]]> user USUARIO port 22 ProxyCommand nc -X 5 -x 127.0.0.1:9050 %h %p]]> - Replace USUARIO por un usuario del grupo admin (ver arriba). + Reemplaza USUARIO por un usuario del grupo admin (ver arriba). En algunos casos podrías necesitar reemplazar 9050 por 9150. Ahora, para conectar a la FreedomBox abre un terminal y teclea: @@ -6666,24 +6656,24 @@ nmcli con modify "" connection.zone internal]]>
Cambiar Contraseñas - Para cambiar la contraseña de un usuario administrado en Plinth usa la página Cambiar contraseña. El usuario por debecto fbx no se administra en Plinth y su contraseña no se puede cambiar desde la interfaz web. + Para cambiar la contraseña de un usuario administrado en el interfaz web de FreedomBox usa la página Cambiar clave de acceso. El usuario por debecto fbx no se administra en el interfaz web de FreedomBox y su contraseña no se puede cambiar desde él. Para cambiar la contraseña en el terminal ingresa a tu FreedomBox con el usuario cuya contraseña quieres cambiar y ejecuta el siguiente comando: Esto te preguntará tu contraseña actual antes de darte la oportunidad de establecer la nueva.
- Seguridad + Protección Cuando se habilita esta opción sólo los usuarios del grupo "admin" podrán entrar a la consola o mediante SSH. Los usuarios de consola podrán acceder a algunos servicios sin más autorización. La sección Usuarios explica cómo definir grupos de usuarios. - Cuando la opción Restringir ingresos por consola está habilitada, sólo los usuarios del grupo admin podrán ingresar via consola, shell segura (SSH) o interfaz gráfico. Al desactivar esta funcionalidad cualquier usuario con cuenta en FreedomBox podrá ingresar y quizá tener acceso a ciertos servicios sin más autorización. Esta opción solo debería desactivarse si se confía plenamente en todos los usuarios del sistema. Si quieres usar tu máquina FreedomBox también como escritorio y admitir que usuarios no-admin ingresen mediante interfáz gráfica esta opción debe estar desactivada. Puedes determinar la lista de usuarios admin en la sección Users. + Cuando la opción Acceso a consola restringido está habilitada, sólo los usuarios del grupo admin podrán ingresar via consola, shell segura (SSH) o interfaz gráfico. Al desactivar esta funcionalidad cualquier usuario con cuenta en FreedomBox podrá ingresar y quizá tener acceso a ciertos servicios sin más autorización. Esta opción solo debería desactivarse si se confía plenamente en todos los usuarios del sistema. Si quieres usar tu máquina FreedomBox también como escritorio y admitir que usuarios no-admin ingresen mediante interfáz gráfica esta opción debe estar desactivada. Puedes determinar la lista de usuarios admin en la sección Users. - + - Security.png + Security_es_v01.png @@ -6699,7 +6689,7 @@ nmcli con modify "" connection.zone internal]]> Las Instantáneas te permiten crear instantáneas del sistema de archivos y devolver al sistema a un estado anterior. - Nota: Esta funcionalidad requier un sistema de archivos Btrfs. Todas las imágenes de disco de FreedomBox estables usan Btrfs. + Nota: Esta funcionalidad requiere un sistema de archivos Btrfs. Todas las imágenes de disco de FreedomBox estables usan Btrfs. @@ -6731,16 +6721,16 @@ nmcli con modify "" connection.zone internal]]>
Actualizaciones de Software - FreedomBox puede instalar actualizaciones de seguridad automaticamente. Esta funcionalidad viene activada por defecto y no hace falta ninguna acción manual. Puedes activar las actualizaciones automaticas desde Plinth en en la página Actualizaciones de la sección Preferencias. Se recomienda encarecidamente que tengas esta opción habilitada para mantener tu FreedomBox segura. - Las actualizaciones se efectúan cada noche. Si quieres apagar tu FreedomBox cada día después de usarla, déjala ejecutando una noche a la semana más o menos para permitir que ocurran las actualizaciones automaticas. Otra posibilidad es ejecutar actualizaciones manuales como se describe más adelante. + FreedomBox puede instalar actualizaciones de seguridad automaticamente. Esta funcionalidad viene activada por defecto y no hace falta ninguna acción manual. Puedes activar las actualizaciones automaticas desde el interfaz web de FreedomBox en la página Actualización de la sección Sistema. Se recomienda encarecidamente que tengas esta opción habilitada para mantener tu FreedomBox segura. + Las actualizaciones se efectúan cada noche. Si quieres apagar tu FreedomBox cada día después de usarla, déjala ejecutando una noche a la semana más o menos para permitir que ocurran las actualizaciones automaticas. Otra posibilidad es ejecutar actualizaciones manuales como se describe más adelante. Nota que una vez comiencen las actualizaciones podría llevarles mucho tiempo completarse. Durante el proceso de actualización (ya sea el automático nocturno o el manual), no podrás instalar aplicaciones desde el interfaz web de FreedomBox. - + - upgrades.png + upgrades_es_v01.png @@ -6761,7 +6751,7 @@ nmcli con modify "" connection.zone internal]]>
Actualizaciones Manuales desde el Terminal - Algunos paquetes de software podrían requerir intervención manual para actualizarlos, generalmente por razones de configuración. En tales casos FreedomBox se actualiza a sí mismo y solicita información nueva necesaria para la actualización del paquete. Después de autoactualizarse FreedomBox actúa en nombre del usuario y actualiza los paquetes con la información recabada. Estos paquetes no se deben actualizar manualmente hasta que FreedomBox tenga a posibilidad de actualizarlos. La actualización que se dispara manualmente desde el interfaz web ya es consciente de estos paquetes y no los actualiza. + Algunos paquetes de software podrían requerir intervención manual para actualizarlos, generalmente por razones de configuración. En tales casos FreedomBox se actualiza a sí mismo y solicita información nueva necesaria para la actualización del paquete. Después de autoactualizarse FreedomBox actúa en nombre del usuario y actualiza los paquetes con la información recabada. Estos paquetes no se deben actualizar manualmente hasta que FreedomBox tenga la posibilidad de actualizarlos. La actualización que se dispara manualmente desde el interfaz web ya es consciente de estos paquetes y no los actualiza. En situaciones muy extrañas, FreedomBox podría fallar o quedar a expensas de una intervención manual desde el terminal. Para esto, entra a FreedomBox por un terminal, ya sea físico, web (empleando Cockpit) o mediante SSH (ver sección Shell Segura) y ejecuta los siguientes comandos: @@ -6817,13 +6807,13 @@ Password: - + - + - Pioneer Edition FreedomBox Home Server Kits + Kits de Servidor Casero FreedomBox Pioneer Edition @@ -6852,7 +6842,7 @@ Password: - + A20 OLinuXino Lime2 @@ -6869,7 +6859,7 @@ Password: - + A20 OLinuXino MICRO @@ -6886,7 +6876,7 @@ Password: - + PC Engines APU @@ -6905,7 +6895,7 @@ Password: - + Cubietruck @@ -6922,7 +6912,7 @@ Password: - + Cubieboard 2 @@ -6939,7 +6929,7 @@ Password: - + BeagleBone Black @@ -6958,7 +6948,7 @@ Password: - + pcDuino3 @@ -6975,7 +6965,7 @@ Password: - + Debian @@ -7011,7 +7001,7 @@ Password: - + Pine A64+ @@ -7028,7 +7018,7 @@ Password: - + Banana Pro @@ -7040,7 +7030,23 @@ Password: Banana Pro - + + + + + + + + + Orange Pi Zero + + + + + + Orange Pi Zero + + @@ -7702,7 +7708,45 @@ Password: - 10/100/1000 + 1000 + + + + + + + + + {X} + + + + + + + + Orange Pi Zero + + + ?x4 + + + armhf/sunxi + + + ¼,½ + + + - + + + - + + + - + + + 100 @@ -7737,7 +7781,7 @@ Password: - + Raspberry Pi 2 @@ -7754,7 +7798,7 @@ Password: - + Raspberry Pi 3 Model B @@ -7771,7 +7815,7 @@ Password: - + Raspberry Pi 3 Model B+ @@ -7802,7 +7846,7 @@ Password: - + DreamPlug @@ -7819,7 +7863,7 @@ Password: - + Raspberry Pi @@ -7840,7 +7884,7 @@ Password:
Añadir Soporte a más Hardware Aunque el proyecto se enfoque en soportar determinados dispositivos queremos soportar la mayor cantidad de hardware posible, mientras se adecúe a las necesidades de FreedomBox. Echa un vistazo a la lista de objetivos hardware para más información. - Si eres desarrollador, considera añadir soporte a hardware para tu dispositivo modificando Freedom Maker. Si tienes acceso a algún dispositivo de hardware objeto y quisieras trabajar con nosotros para hacer que funcione con FreedomBox ¡contactanos, por favor! + Si eres desarrollador, considera la posibilidad de añadir soporte a hardware para tu dispositivo modificando Freedom Maker. Si tienes acceso a algún dispositivo de hardware objeto y quisieras trabajar con nosotros para hacer que funcione con FreedomBox ¡contactanos, por favor!
FreedomBox Pioneer Edition @@ -9975,6 +10019,84 @@ wget https://www.thinkpenguin.com/files/ath9k_firmware_free-version/htc_7010.fw]
Release Notes The following are the release notes for each FreedomBox version. +
+ FreedomBox 20.6.1 (2020-04-11) + + + users: Restore line of help text that was accidentally dropped + + + debian: Add firmware-ath9k-htc to Recommends + + + gitweb: Use proper ellipsis char when showing clone progress + + + locale: Update translations for Norwegian Bokmål, German, French, Portuguese, Italian, Russian, and Serbian + + +
+
+ FreedomBox 20.6 (2020-04-06) + + + app: Ensure toggle buttons work independently of configuration form + + + networks, monkeysphere: Make styling more specific to avoid interference + + + syncthing: Update description to mention 'syncthing' group + + + radicale: Support upgrade up to any 2.x version + + + packages: Hold freedombox package during package installs + + + users: Add component for managing users and groups + + + app: Fix grammar in developer documentation string + + + ikiwiki: Disable public edits of blog pages + + + ikiwiki: Add moderation of blog comments + + + firewalld: Support upgrade up to any 0.8.x version + + + infinoted: Fix permissions of sync directory + + + locale: Added Serbian translation + + + locale: Update translations for Russian, French, German, Czech, Italian, Hindi, Telugu, and Spanish + + +
+
+ FreedomBox 20.5.1 (2020-03-26) + + + networks: Update label wording in topology form + + + jsxc: Fix issue with serving static files + + + debian: Separate binary packages for each language manual + + + locale: Update translations for Norwegian Bokmål and German + + +
FreedomBox 20.5 (2020-03-23) diff --git a/doc/manual/es/images/Backups_Step1.es.v02.png b/doc/manual/es/images/Backups_Step1.es.v02.png new file mode 100644 index 000000000..f3073c391 Binary files /dev/null and b/doc/manual/es/images/Backups_Step1.es.v02.png differ diff --git a/doc/manual/es/images/Backups_Step1_es_v02.png b/doc/manual/es/images/Backups_Step1_es_v02.png new file mode 100644 index 000000000..f3073c391 Binary files /dev/null and b/doc/manual/es/images/Backups_Step1_es_v02.png differ diff --git a/doc/manual/es/images/Backups_Step3.es.v01.png b/doc/manual/es/images/Backups_Step3.es.v01.png new file mode 100644 index 000000000..955625ff3 Binary files /dev/null and b/doc/manual/es/images/Backups_Step3.es.v01.png differ diff --git a/doc/manual/es/images/Backups_Step3_es_v01.png b/doc/manual/es/images/Backups_Step3_es_v01.png new file mode 100644 index 000000000..955625ff3 Binary files /dev/null and b/doc/manual/es/images/Backups_Step3_es_v01.png differ diff --git a/doc/manual/es/images/Backups_Step4.es.v02.png b/doc/manual/es/images/Backups_Step4.es.v02.png new file mode 100644 index 000000000..496f6d044 Binary files /dev/null and b/doc/manual/es/images/Backups_Step4.es.v02.png differ diff --git a/doc/manual/es/images/Backups_Step4_es_v02.png b/doc/manual/es/images/Backups_Step4_es_v02.png new file mode 100644 index 000000000..496f6d044 Binary files /dev/null and b/doc/manual/es/images/Backups_Step4_es_v02.png differ diff --git a/doc/manual/es/images/Backups_Step5.es.v02.png b/doc/manual/es/images/Backups_Step5.es.v02.png new file mode 100644 index 000000000..7e3a6d407 Binary files /dev/null and b/doc/manual/es/images/Backups_Step5.es.v02.png differ diff --git a/doc/manual/es/images/Backups_Step5_es_v02.png b/doc/manual/es/images/Backups_Step5_es_v02.png new file mode 100644 index 000000000..7e3a6d407 Binary files /dev/null and b/doc/manual/es/images/Backups_Step5_es_v02.png differ diff --git a/doc/manual/es/images/Backups_Step6.es.v02.png b/doc/manual/es/images/Backups_Step6.es.v02.png new file mode 100644 index 000000000..a543bdd77 Binary files /dev/null and b/doc/manual/es/images/Backups_Step6.es.v02.png differ diff --git a/doc/manual/es/images/Backups_Step6_es_v02.png b/doc/manual/es/images/Backups_Step6_es_v02.png new file mode 100644 index 000000000..a543bdd77 Binary files /dev/null and b/doc/manual/es/images/Backups_Step6_es_v02.png differ diff --git a/doc/manual/es/images/DateTime.es.png b/doc/manual/es/images/DateTime.es.png new file mode 100644 index 000000000..dcccbea49 Binary files /dev/null and b/doc/manual/es/images/DateTime.es.png differ diff --git a/doc/manual/es/images/DateTime_es_v01.png b/doc/manual/es/images/DateTime_es_v01.png new file mode 100644 index 000000000..dcccbea49 Binary files /dev/null and b/doc/manual/es/images/DateTime_es_v01.png differ diff --git a/doc/manual/es/images/Firewall.es.v01.png b/doc/manual/es/images/Firewall.es.v01.png new file mode 100644 index 000000000..487a62cda Binary files /dev/null and b/doc/manual/es/images/Firewall.es.v01.png differ diff --git a/doc/manual/es/images/Firewall_es_v01.png b/doc/manual/es/images/Firewall_es_v01.png new file mode 100644 index 000000000..487a62cda Binary files /dev/null and b/doc/manual/es/images/Firewall_es_v01.png differ diff --git a/doc/manual/es/images/Security.es.png b/doc/manual/es/images/Security.es.png new file mode 100644 index 000000000..55cd26f94 Binary files /dev/null and b/doc/manual/es/images/Security.es.png differ diff --git a/doc/manual/es/images/Security_es_v01.png b/doc/manual/es/images/Security_es_v01.png new file mode 100644 index 000000000..55cd26f94 Binary files /dev/null and b/doc/manual/es/images/Security_es_v01.png differ diff --git a/doc/manual/es/images/orange-pi-zero_thumb.jpg b/doc/manual/es/images/orange-pi-zero_thumb.jpg new file mode 100644 index 000000000..3ee4cdd18 Binary files /dev/null and b/doc/manual/es/images/orange-pi-zero_thumb.jpg differ diff --git a/doc/manual/es/images/upgrades.es.v01.png b/doc/manual/es/images/upgrades.es.v01.png new file mode 100644 index 000000000..fb77728cf Binary files /dev/null and b/doc/manual/es/images/upgrades.es.v01.png differ diff --git a/doc/manual/es/images/upgrades_es_v01.png b/doc/manual/es/images/upgrades_es_v01.png new file mode 100644 index 000000000..fb77728cf Binary files /dev/null and b/doc/manual/es/images/upgrades_es_v01.png differ diff --git a/functional_tests/features/pagekite.feature b/functional_tests/features/pagekite.feature index 872b6071e..ed829e4b5 100644 --- a/functional_tests/features/pagekite.feature +++ b/functional_tests/features/pagekite.feature @@ -11,7 +11,7 @@ Background: Scenario: Enable pagekite application Given the pagekite application is disabled When I enable the pagekite application - Then pagekite should be enabled + Then the pagekite service should be running Scenario: Configure pagekite application Given the pagekite application is enabled @@ -24,10 +24,10 @@ Scenario: Backup and restore pagekite And I create a backup of the pagekite app data And I configure pagekite with host afterbackup.example.com, port 8082, kite name afterbackup.example.com and kite secret afterbackupsecret And I restore the pagekite app data backup - Then pagekite should be enabled + Then the pagekite service should be running And pagekite should be configured with host beforebackup.example.com, port 8081, kite name beforebackup.example.com and kite secret beforebackupsecret Scenario: Disable pagekite application Given the pagekite application is enabled When I disable the pagekite application - Then pagekite should be disabled + Then the pagekite service should not be running diff --git a/functional_tests/step_definitions/system.py b/functional_tests/step_definitions/system.py index dd8e5d2ae..96eb43c80 100644 --- a/functional_tests/step_definitions/system.py +++ b/functional_tests/step_definitions/system.py @@ -197,16 +197,6 @@ def backup_restore_from_upload(session_browser, app_name, os.remove(path) -@then('pagekite should be enabled') -def pagekite_assert_enabled(session_browser): - assert system.pagekite_is_enabled(session_browser) - - -@then('pagekite should be disabled') -def pagekite_assert_disabled(session_browser): - assert not system.pagekite_is_enabled(session_browser) - - @when( parsers.parse( 'I configure pagekite with host {host:S}, port {port:d}, kite name {kite_name:S} and kite secret {kite_secret:w}' diff --git a/functional_tests/support/application.py b/functional_tests/support/application.py index 33553b8e8..3abd8912f 100644 --- a/functional_tests/support/application.py +++ b/functional_tests/support/application.py @@ -41,13 +41,6 @@ def get_app_module(app_name): return module -def get_app_checkbox_id(app_name): - checkbox_id = 'app-toggle-input' - if app_name in app_checkbox_id: - checkbox_id = app_checkbox_id[app_name] - return checkbox_id - - def _find_install_button(browser, app_name): interface.nav_to_module(browser, get_app_module(app_name)) return browser.find_by_css('.form-install input[type=submit]') @@ -91,14 +84,17 @@ def is_installed(browser, app_name): def _change_app_status(browser, app_name, change_status_to='enabled'): """Enable or disable application.""" - button = browser.find_by_id('app-toggle-button') - checkbox_id = get_app_checkbox_id(app_name) - checkbox = browser.find_by_id(checkbox_id) + button = browser.find_by_css('button[name="app_enable_disable_button"]') + if button: - if checkbox.checked and change_status_to == 'disabled' or ( - not checkbox.checked and change_status_to == 'enabled'): + should_enable_field = browser.find_by_id('id_should_enable') + if (should_enable_field.value == 'False' + and change_status_to == 'disabled') or ( + should_enable_field.value == 'True' + and change_status_to == 'enabled'): interface.submit(browser, element=button) else: + checkbox_id = app_checkbox_id[app_name] _change_status(browser, app_name, checkbox_id, change_status_to) if app_name in apps_with_loaders: diff --git a/functional_tests/support/system.py b/functional_tests/support/system.py index 40bcb0afa..82105af31 100644 --- a/functional_tests/support/system.py +++ b/functional_tests/support/system.py @@ -257,12 +257,6 @@ def download_file_logged_in(browser, url, suffix=''): return temp_file.name -def pagekite_is_enabled(browser): - """Return whether pagekite is enabled.""" - nav_to_module(browser, 'pagekite') - return browser.find_by_id('app-toggle-input').checked - - def pagekite_configure(browser, host, port, kite_name, kite_secret): """Configure pagekite basic parameters.""" nav_to_module(browser, 'pagekite') diff --git a/plinth/__init__.py b/plinth/__init__.py index 877976e6b..5a04d99f5 100644 --- a/plinth/__init__.py +++ b/plinth/__init__.py @@ -3,4 +3,4 @@ Package init file. """ -__version__ = '20.5' +__version__ = '20.6.1' diff --git a/plinth/app.py b/plinth/app.py index 2f762b056..8636d2ec3 100644 --- a/plinth/app.py +++ b/plinth/app.py @@ -11,17 +11,24 @@ class App: An app is composed of components which actually performs various tasks. App itself delegates tasks for individual components. Applications can show a - variation their behavior by choosing which components to have and by + variation in their behavior by choosing which components to have and by customizing the components themselves. - 'app_id' property of the app must string that is a globally unique ID. This - is typically also the name of the python module handling the app. So, it - should be all lower-case English alphabet and digits without any special + 'app_id' property of the app must be a string that is a globally unique ID. + This is typically also the name of the python module handling the app. So, + it should be all lower-case English alphabet and digits without any special characters. + 'can_be_disabled' is a boolean indicating whether an app can be disabled by + the user. Enable/disable button for this app will not be shown. Default + value is True, so the app can be disabled. + """ app_id = None + + can_be_disabled = True + _all_apps = collections.OrderedDict() def __init__(self): @@ -173,8 +180,10 @@ class Component: def enable(self): """Run operations to enable the component.""" + def disable(self): """Run operations to disable the component.""" + @staticmethod def diagnose(): """Run diagnostics and return results. @@ -251,6 +260,7 @@ class LeaderComponent(Component): class Info(FollowerComponent): """Component to capture basic information about an app.""" + def __init__(self, app_id, version, is_essential=False, depends=None, name=None, icon=None, icon_filename=None, short_description=None, description=None, manual_page=None, diff --git a/plinth/forms.py b/plinth/forms.py index 8fbda5983..f487b1158 100644 --- a/plinth/forms.py +++ b/plinth/forms.py @@ -17,11 +17,10 @@ from django.utils.translation import ugettext_lazy as _ import plinth -class AppForm(forms.Form): - """Generic configuration form for an app.""" - is_enabled = forms.BooleanField( - widget=CheckboxInput(attrs={'id': 'app-toggle-input'}), - label=_('Enable application'), required=False) +class AppEnableDisableForm(forms.Form): + """Form to enable / disable an app.""" + should_enable = forms.BooleanField(widget=forms.HiddenInput, + required=False) class DomainSelectionForm(forms.Form): diff --git a/plinth/locale/bg/LC_MESSAGES/django.po b/plinth/locale/bg/LC_MESSAGES/django.po index 4ec0f3302..6fe6e4fa7 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: 2020-03-23 18:54-0400\n" +"POT-Creation-Date: 2020-04-06 19:59-0400\n" "PO-Revision-Date: 2019-10-12 14:52+0000\n" "Last-Translator: Nevena Mircheva \n" "Language-Team: Bulgarian web client user with a {box_name} login." msgstr "" -#: plinth/modules/ejabberd/__init__.py:70 +#: plinth/modules/ejabberd/__init__.py:69 msgid "ejabberd" msgstr "" -#: plinth/modules/ejabberd/__init__.py:71 +#: plinth/modules/ejabberd/__init__.py:70 #: plinth/modules/matrixsynapse/__init__.py:68 msgid "Chat Server" msgstr "" -#: plinth/modules/ejabberd/forms.py:17 +#: plinth/modules/ejabberd/forms.py:16 msgid "Enable Message Archive Management" msgstr "" -#: plinth/modules/ejabberd/forms.py:19 +#: plinth/modules/ejabberd/forms.py:18 #, python-brace-format msgid "" "If enabled, your {box_name} will store chat message histories. This allows " @@ -1364,19 +1352,11 @@ msgid "" "Configure page." msgstr "" -#: plinth/modules/ejabberd/templates/ejabberd.html:35 -#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 -#: plinth/modules/snapshot/templates/snapshot.html:12 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:27 -#: plinth/templates/app.html:45 -msgid "Configuration" -msgstr "" - -#: plinth/modules/ejabberd/views.py:58 +#: plinth/modules/ejabberd/views.py:45 msgid "Message Archive Management enabled" msgstr "" -#: plinth/modules/ejabberd/views.py:62 +#: plinth/modules/ejabberd/views.py:49 msgid "Message Archive Management disabled" msgstr "" @@ -1388,7 +1368,7 @@ msgid "" "configured reduces risk of security threat from the Internet." msgstr "" -#: plinth/modules/firewall/__init__.py:63 +#: plinth/modules/firewall/__init__.py:65 msgid "Firewall" msgstr "" @@ -1515,7 +1495,7 @@ msgid "" "gittutorial\">Git tutorial." msgstr "" -#: plinth/modules/gitweb/__init__.py:39 +#: plinth/modules/gitweb/__init__.py:51 msgid "Read-write access to Git repositories" msgstr "" @@ -1648,31 +1628,31 @@ msgstr "" msgid "Could not delete {name}: {error}" msgstr "" -#: plinth/modules/help/__init__.py:30 +#: plinth/modules/help/__init__.py:32 msgid "Documentation" msgstr "" -#: plinth/modules/help/__init__.py:33 plinth/modules/networks/forms.py:47 +#: plinth/modules/help/__init__.py:35 plinth/modules/networks/forms.py:47 #: plinth/modules/networks/forms.py:77 plinth/templates/help-menu.html:20 #: plinth/templates/help-menu.html:21 plinth/templates/index.html:128 msgid "Manual" msgstr "" -#: plinth/modules/help/__init__.py:37 +#: plinth/modules/help/__init__.py:39 #: plinth/modules/help/templates/help_support.html:9 #: plinth/modules/help/views.py:43 plinth/templates/help-menu.html:27 #: plinth/templates/help-menu.html:28 msgid "Get Support" msgstr "" -#: plinth/modules/help/__init__.py:41 +#: plinth/modules/help/__init__.py:43 #: plinth/modules/help/templates/help_feedback.html:9 #: plinth/modules/help/views.py:37 plinth/templates/help-menu.html:33 #: plinth/templates/help-menu.html:34 msgid "Submit Feedback" msgstr "" -#: plinth/modules/help/__init__.py:45 +#: plinth/modules/help/__init__.py:47 #: plinth/modules/help/templates/help_contribute.html:9 #: plinth/modules/help/views.py:31 plinth/templates/help-menu.html:39 #: plinth/templates/help-menu.html:40 @@ -1781,7 +1761,7 @@ msgstr "" #: plinth/modules/help/templates/help_contribute.html:42 #: plinth/modules/power/templates/power_restart.html:27 #: plinth/modules/power/templates/power_shutdown.html:26 -#: plinth/templates/app-header.html:51 +#: plinth/templates/app-header.html:53 msgid "Learn more..." msgstr "" @@ -1925,19 +1905,19 @@ msgid "" "configuration process." msgstr "" -#: plinth/modules/i2p/__init__.py:38 +#: plinth/modules/i2p/__init__.py:62 msgid "Manage I2P application" msgstr "" -#: plinth/modules/i2p/__init__.py:64 plinth/modules/i2p/manifest.py:16 +#: plinth/modules/i2p/__init__.py:65 plinth/modules/i2p/manifest.py:16 msgid "I2P" msgstr "" -#: plinth/modules/i2p/__init__.py:65 plinth/modules/tor/__init__.py:56 +#: plinth/modules/i2p/__init__.py:66 plinth/modules/tor/__init__.py:55 msgid "Anonymity Network" msgstr "" -#: plinth/modules/i2p/__init__.py:87 +#: plinth/modules/i2p/__init__.py:88 msgid "I2P Proxy" msgstr "" @@ -1990,18 +1970,18 @@ msgid "" "Configuration you can change these permissions or add new users." msgstr "" -#: plinth/modules/ikiwiki/__init__.py:39 -msgid "View and edit wiki applications" -msgstr "" - -#: plinth/modules/ikiwiki/__init__.py:53 plinth/modules/ikiwiki/manifest.py:9 +#: plinth/modules/ikiwiki/__init__.py:52 plinth/modules/ikiwiki/manifest.py:9 msgid "ikiwiki" msgstr "" -#: plinth/modules/ikiwiki/__init__.py:54 +#: plinth/modules/ikiwiki/__init__.py:53 msgid "Wiki and Blog" msgstr "" +#: plinth/modules/ikiwiki/__init__.py:73 +msgid "View and edit wiki applications" +msgstr "" + #: plinth/modules/ikiwiki/forms.py:17 msgid "Admin Account Name" msgstr "" @@ -2045,32 +2025,32 @@ msgid "" "history. Delete this wiki or blog permanently?" msgstr "" -#: plinth/modules/ikiwiki/views.py:72 +#: plinth/modules/ikiwiki/views.py:70 #, python-brace-format msgid "Created wiki {name}." msgstr "" -#: plinth/modules/ikiwiki/views.py:75 +#: plinth/modules/ikiwiki/views.py:73 #, python-brace-format msgid "Could not create wiki: {error}" msgstr "" -#: plinth/modules/ikiwiki/views.py:85 +#: plinth/modules/ikiwiki/views.py:83 #, python-brace-format msgid "Created blog {name}." msgstr "" -#: plinth/modules/ikiwiki/views.py:88 +#: plinth/modules/ikiwiki/views.py:86 #, python-brace-format msgid "Could not create blog: {error}" msgstr "" -#: plinth/modules/ikiwiki/views.py:103 +#: plinth/modules/ikiwiki/views.py:101 #, python-brace-format msgid "{title} deleted." msgstr "" -#: plinth/modules/ikiwiki/views.py:107 +#: plinth/modules/ikiwiki/views.py:105 #, python-brace-format msgid "Could not delete {title}: {error}" msgstr "" @@ -2110,17 +2090,17 @@ msgid "" "domain name." msgstr "" -#: plinth/modules/jsxc/__init__.py:22 +#: plinth/modules/jsxc/__init__.py:23 msgid "" "JSXC is a web client for XMPP. Typically it is used with an XMPP server " "running locally." msgstr "" -#: plinth/modules/jsxc/__init__.py:40 plinth/modules/jsxc/manifest.py:10 +#: plinth/modules/jsxc/__init__.py:43 plinth/modules/jsxc/manifest.py:10 msgid "JSXC" msgstr "" -#: plinth/modules/jsxc/__init__.py:41 +#: plinth/modules/jsxc/__init__.py:44 msgid "Chat Client" msgstr "" @@ -2283,11 +2263,11 @@ msgstr "" msgid "Matrix Synapse" msgstr "" -#: plinth/modules/matrixsynapse/forms.py:14 +#: plinth/modules/matrixsynapse/forms.py:12 msgid "Enable Public Registration" msgstr "" -#: plinth/modules/matrixsynapse/forms.py:15 +#: plinth/modules/matrixsynapse/forms.py:13 msgid "" "Enabling public registration means that anyone on the Internet can register " "a new account on your Matrix server. Disable this if you only want existing " @@ -2298,6 +2278,12 @@ msgstr "" msgid "Riot" msgstr "" +#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 +#: plinth/modules/snapshot/templates/snapshot.html:12 +#: plinth/templates/app.html:46 +msgid "Configuration" +msgstr "" + #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:18 msgid "" "Matrix service needs to be configured for a domain. Users on other Matrix " @@ -2342,11 +2328,11 @@ msgid "" "go to Let's Encrypt to obtain one." msgstr "" -#: plinth/modules/matrixsynapse/views.py:98 +#: plinth/modules/matrixsynapse/views.py:86 msgid "Public registration enabled" msgstr "" -#: plinth/modules/matrixsynapse/views.py:103 +#: plinth/modules/matrixsynapse/views.py:91 msgid "Public registration disabled" msgstr "" @@ -2382,71 +2368,71 @@ msgstr "" msgid "Wiki" msgstr "" -#: plinth/modules/mediawiki/forms.py:27 +#: plinth/modules/mediawiki/forms.py:25 msgid "Administrator Password" msgstr "" -#: plinth/modules/mediawiki/forms.py:28 +#: plinth/modules/mediawiki/forms.py:26 msgid "" "Set a new password for MediaWiki's administrator account (admin). Leave this " "field blank to keep the current password." msgstr "" -#: plinth/modules/mediawiki/forms.py:33 +#: plinth/modules/mediawiki/forms.py:31 msgid "Enable public registrations" msgstr "" -#: plinth/modules/mediawiki/forms.py:34 +#: plinth/modules/mediawiki/forms.py:32 msgid "" "If enabled, anyone on the internet will be able to create an account on your " "MediaWiki instance." msgstr "" -#: plinth/modules/mediawiki/forms.py:38 +#: plinth/modules/mediawiki/forms.py:36 msgid "Enable private mode" msgstr "" -#: plinth/modules/mediawiki/forms.py:39 +#: plinth/modules/mediawiki/forms.py:37 msgid "" "If enabled, access will be restricted. Only people who have accounts can " "read/write to the wiki. Public registrations will also be disabled." msgstr "" -#: plinth/modules/mediawiki/forms.py:44 +#: plinth/modules/mediawiki/forms.py:42 msgid "Default Skin" msgstr "" -#: plinth/modules/mediawiki/forms.py:45 +#: plinth/modules/mediawiki/forms.py:43 msgid "" "Choose a default skin for your MediaWiki installation. Users have the option " "to select their preferred skin." msgstr "" -#: plinth/modules/mediawiki/views.py:53 +#: plinth/modules/mediawiki/views.py:48 msgid "Password updated" msgstr "" -#: plinth/modules/mediawiki/views.py:72 +#: plinth/modules/mediawiki/views.py:57 msgid "Public registrations enabled" msgstr "" -#: plinth/modules/mediawiki/views.py:81 +#: plinth/modules/mediawiki/views.py:66 msgid "Public registrations disabled" msgstr "" -#: plinth/modules/mediawiki/views.py:86 +#: plinth/modules/mediawiki/views.py:71 msgid "Private mode enabled" msgstr "" -#: plinth/modules/mediawiki/views.py:93 +#: plinth/modules/mediawiki/views.py:78 msgid "Private mode disabled" msgstr "" -#: plinth/modules/mediawiki/views.py:101 +#: plinth/modules/mediawiki/views.py:86 msgid "Default skin changed" msgstr "" -#: plinth/modules/minetest/__init__.py:37 +#: plinth/modules/minetest/__init__.py:38 #, python-brace-format msgid "" "Minetest is a multiplayer infinite-world block sandbox. This module enables " @@ -2455,48 +2441,48 @@ msgid "" "downloads/\">Minetest client is needed." msgstr "" -#: plinth/modules/minetest/__init__.py:63 +#: plinth/modules/minetest/__init__.py:62 #: plinth/modules/minetest/manifest.py:10 msgid "Minetest" msgstr "" -#: plinth/modules/minetest/__init__.py:64 +#: plinth/modules/minetest/__init__.py:63 msgid "Block Sandbox" msgstr "" -#: plinth/modules/minetest/forms.py:15 +#: plinth/modules/minetest/forms.py:13 msgid "Maximum number of players" msgstr "" -#: plinth/modules/minetest/forms.py:17 +#: plinth/modules/minetest/forms.py:15 msgid "" "You can change the maximum number of players playing minetest at a single " "instance of time." msgstr "" -#: plinth/modules/minetest/forms.py:21 +#: plinth/modules/minetest/forms.py:19 msgid "Enable creative mode" msgstr "" -#: plinth/modules/minetest/forms.py:22 +#: plinth/modules/minetest/forms.py:20 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:27 +#: plinth/modules/minetest/forms.py:25 msgid "Enable PVP" msgstr "" -#: plinth/modules/minetest/forms.py:28 +#: plinth/modules/minetest/forms.py:26 msgid "Enabling Player Vs Player will allow players to damage other players." msgstr "" -#: plinth/modules/minetest/forms.py:32 +#: plinth/modules/minetest/forms.py:30 msgid "Enable damage" msgstr "" -#: plinth/modules/minetest/forms.py:33 +#: plinth/modules/minetest/forms.py:31 msgid "When disabled, players cannot die or receive damage of any kind." msgstr "" @@ -2537,19 +2523,19 @@ msgid "" "Kodi." msgstr "" -#: plinth/modules/minidlna/__init__.py:33 +#: plinth/modules/minidlna/__init__.py:44 msgid "Media streaming server" msgstr "" -#: plinth/modules/minidlna/__init__.py:47 +#: plinth/modules/minidlna/__init__.py:48 msgid "Simple Media Server" msgstr "" -#: plinth/modules/minidlna/forms.py:15 +#: plinth/modules/minidlna/forms.py:13 msgid "Media Files Directory" msgstr "" -#: plinth/modules/minidlna/forms.py:16 +#: plinth/modules/minidlna/forms.py:14 msgid "" "Directory that MiniDLNA Server will read for content. All sub-directories of " "this will be also scanned for media files. If you change the default ensure " @@ -2601,16 +2587,16 @@ msgid "" "On {box_name}, downloaded files can be found in /var/lib/mldonkey/ directory." msgstr "" -#: plinth/modules/mldonkey/__init__.py:40 +#: plinth/modules/mldonkey/__init__.py:50 msgid "Download files using eDonkey applications" msgstr "" -#: plinth/modules/mldonkey/__init__.py:54 +#: plinth/modules/mldonkey/__init__.py:53 #: plinth/modules/mldonkey/manifest.py:12 msgid "MLDonkey" msgstr "" -#: plinth/modules/mldonkey/__init__.py:56 +#: plinth/modules/mldonkey/__init__.py:55 msgid "Peer-to-peer File Sharing" msgstr "" @@ -2622,7 +2608,7 @@ msgstr "" msgid "AMLDonkey" msgstr "" -#: plinth/modules/monkeysphere/__init__.py:18 +#: plinth/modules/monkeysphere/__init__.py:19 msgid "" "With Monkeysphere, an OpenPGP key can be generated for each configured " "domain serving SSH. The OpenPGP public key can then be uploaded to the " @@ -2634,7 +2620,7 @@ msgid "" "for more details." msgstr "" -#: plinth/modules/monkeysphere/__init__.py:26 +#: plinth/modules/monkeysphere/__init__.py:27 msgid "" "Monkeysphere can also generate an OpenPGP key for each Secure Web Server " "(HTTPS) certificate installed on this machine. The OpenPGP public key can " @@ -2645,7 +2631,7 @@ msgid "" "Monkeysphere website." msgstr "" -#: plinth/modules/monkeysphere/__init__.py:50 +#: plinth/modules/monkeysphere/__init__.py:49 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:11 msgid "Monkeysphere" msgstr "" @@ -2694,15 +2680,15 @@ msgstr "" msgid "-" msgstr "" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:128 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:129 msgid "Import Key" msgstr "" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:137 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:139 msgid "Publish Key" msgstr "" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:146 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:149 msgid "Add Domains" msgstr "" @@ -2772,32 +2758,32 @@ msgstr "" msgid "Error occurred while publishing key." msgstr "" -#: plinth/modules/mumble/__init__.py:23 +#: plinth/modules/mumble/__init__.py:24 msgid "" "Mumble is an open source, low-latency, encrypted, high quality voice chat " "software." msgstr "" -#: plinth/modules/mumble/__init__.py:25 +#: plinth/modules/mumble/__init__.py:26 msgid "" "You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your " "desktop and Android devices are available." msgstr "" -#: plinth/modules/mumble/__init__.py:49 plinth/modules/mumble/manifest.py:12 +#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:12 msgid "Mumble" msgstr "" -#: plinth/modules/mumble/__init__.py:50 +#: plinth/modules/mumble/__init__.py:49 msgid "Voice Chat" msgstr "" -#: plinth/modules/mumble/forms.py:16 +#: plinth/modules/mumble/forms.py:14 msgid "Set SuperUser Password" msgstr "" -#: plinth/modules/mumble/forms.py:19 +#: plinth/modules/mumble/forms.py:17 msgid "" "Optional. Leave this field blank to keep the current password. SuperUser " "password can be used to manage permissions in Mumble." @@ -3080,7 +3066,7 @@ msgstr "" #: plinth/modules/networks/forms.py:297 #, python-brace-format -msgid "Choose how your {box_name} is connected to your network" +msgid "Specify how your {box_name} is connected to your network" msgstr "" #: plinth/modules/networks/forms.py:304 @@ -3299,7 +3285,7 @@ msgstr "" #: plinth/modules/networks/templates/connection_show.html:171 #: plinth/modules/networks/templates/connection_show.html:212 -#: plinth/modules/shadowsocks/forms.py:49 +#: plinth/modules/shadowsocks/forms.py:48 msgid "Method" msgstr "" @@ -3315,7 +3301,7 @@ msgstr "" #: plinth/modules/networks/templates/connection_show.html:201 #: plinth/modules/networks/templates/connection_show.html:240 -#: plinth/modules/storage/forms.py:141 +#: plinth/modules/storage/forms.py:139 msgid "Default" msgstr "" @@ -3754,6 +3740,11 @@ msgstr "" msgid "Setup failed." msgstr "" +#: plinth/modules/openvpn/views.py:135 plinth/modules/tor/views.py:136 +#: plinth/views.py:196 +msgid "Setting unchanged" +msgstr "" + #: plinth/modules/pagekite/__init__.py:27 #, python-brace-format msgid "" @@ -3810,75 +3801,75 @@ msgstr "" msgid "PageKite Domain" msgstr "" -#: plinth/modules/pagekite/forms.py:48 +#: plinth/modules/pagekite/forms.py:47 msgid "Server domain" msgstr "" -#: plinth/modules/pagekite/forms.py:50 +#: plinth/modules/pagekite/forms.py:49 msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " "pagekite.net server." msgstr "" -#: plinth/modules/pagekite/forms.py:53 plinth/modules/shadowsocks/forms.py:40 +#: plinth/modules/pagekite/forms.py:52 plinth/modules/shadowsocks/forms.py:39 msgid "Server port" msgstr "" -#: plinth/modules/pagekite/forms.py:54 +#: plinth/modules/pagekite/forms.py:53 msgid "Port of your pagekite server (default: 80)" msgstr "" -#: plinth/modules/pagekite/forms.py:56 +#: plinth/modules/pagekite/forms.py:55 msgid "Kite name" msgstr "" -#: plinth/modules/pagekite/forms.py:57 +#: plinth/modules/pagekite/forms.py:56 msgid "Example: mybox.pagekite.me" msgstr "" -#: plinth/modules/pagekite/forms.py:59 +#: plinth/modules/pagekite/forms.py:58 msgid "Invalid kite name" msgstr "" -#: plinth/modules/pagekite/forms.py:63 +#: plinth/modules/pagekite/forms.py:62 msgid "Kite secret" msgstr "" -#: plinth/modules/pagekite/forms.py:64 +#: plinth/modules/pagekite/forms.py:63 msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." msgstr "" -#: plinth/modules/pagekite/forms.py:101 +#: plinth/modules/pagekite/forms.py:100 msgid "protocol" msgstr "" -#: plinth/modules/pagekite/forms.py:104 +#: plinth/modules/pagekite/forms.py:103 msgid "external (frontend) port" msgstr "" -#: plinth/modules/pagekite/forms.py:107 +#: plinth/modules/pagekite/forms.py:106 msgid "internal (freedombox) port" msgstr "" -#: plinth/modules/pagekite/forms.py:108 +#: plinth/modules/pagekite/forms.py:107 msgid "Enable Subdomains" msgstr "" -#: plinth/modules/pagekite/forms.py:142 +#: plinth/modules/pagekite/forms.py:141 msgid "Deleted custom service" msgstr "" -#: plinth/modules/pagekite/forms.py:175 +#: plinth/modules/pagekite/forms.py:174 msgid "This service is already available as a standard service." msgstr "" -#: plinth/modules/pagekite/forms.py:183 +#: plinth/modules/pagekite/forms.py:182 msgid "Added custom service" msgstr "" -#: plinth/modules/pagekite/forms.py:186 +#: plinth/modules/pagekite/forms.py:185 msgid "This service already exists" msgstr "" @@ -3996,14 +3987,14 @@ msgstr "" msgid "Shut Down Now" msgstr "" -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 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:33 +#: plinth/modules/privoxy/__init__.py:34 #, python-brace-format msgid "" "You can use Privoxy by modifying your browser proxy settings to your " @@ -4013,20 +4004,20 @@ msgid "" "\">http://p.p." msgstr "" -#: plinth/modules/privoxy/__init__.py:56 +#: plinth/modules/privoxy/__init__.py:55 msgid "Privoxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:57 +#: plinth/modules/privoxy/__init__.py:56 msgid "Web Proxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:119 #, python-brace-format msgid "Access {url} with proxy {proxy} on tcp{kind}" msgstr "" -#: plinth/modules/quassel/__init__.py:32 +#: plinth/modules/quassel/__init__.py:33 #, python-brace-format msgid "" "Quassel is an IRC application that is split into two parts, a \"core\" and a " @@ -4037,7 +4028,7 @@ msgid "" "connect and disconnect from it." msgstr "" -#: plinth/modules/quassel/__init__.py:39 +#: plinth/modules/quassel/__init__.py:40 msgid "" "You can connect to your Quassel core on the default Quassel port 4242. " "Clients to connect to Quassel from your mobile devices are available." msgstr "" -#: plinth/modules/quassel/__init__.py:62 plinth/modules/quassel/manifest.py:10 +#: plinth/modules/quassel/__init__.py:61 plinth/modules/quassel/manifest.py:10 msgid "Quassel" msgstr "" -#: plinth/modules/quassel/__init__.py:63 +#: plinth/modules/quassel/__init__.py:62 msgid "IRC Client" msgstr "" -#: plinth/modules/quassel/forms.py:23 +#: plinth/modules/quassel/forms.py:22 msgid "TLS domain" msgstr "" -#: plinth/modules/quassel/forms.py:25 +#: plinth/modules/quassel/forms.py:24 msgid "" "Select a domain to use TLS with. If the list is empty, please configure at " "least one domain with certificates." @@ -4067,7 +4058,7 @@ msgstr "" msgid "Quasseldroid" msgstr "" -#: plinth/modules/radicale/__init__.py:32 +#: plinth/modules/radicale/__init__.py:33 #, python-brace-format msgid "" "Radicale is a CalDAV and CardDAV server. It allows synchronization and " @@ -4076,34 +4067,34 @@ msgid "" "can be accessed by any user with a {box_name} login." msgstr "" -#: plinth/modules/radicale/__init__.py:37 +#: plinth/modules/radicale/__init__.py:38 msgid "" "Radicale provides a basic web interface, which only supports creating new " "calendars and addressbooks. It does not support adding events or contacts, " "which must be done using a separate client." msgstr "" -#: plinth/modules/radicale/__init__.py:62 +#: plinth/modules/radicale/__init__.py:61 #: plinth/modules/radicale/manifest.py:75 msgid "Radicale" msgstr "" -#: plinth/modules/radicale/__init__.py:63 +#: plinth/modules/radicale/__init__.py:62 msgid "Calendar and Addressbook" msgstr "" -#: plinth/modules/radicale/forms.py:15 +#: plinth/modules/radicale/forms.py:14 msgid "Only the owner of a calendar/addressbook can view or make changes." msgstr "" -#: plinth/modules/radicale/forms.py:19 +#: plinth/modules/radicale/forms.py:18 #, python-brace-format msgid "" "Any user with a {box_name} login can view any calendar/addressbook, but only " "the owner can make changes." msgstr "" -#: plinth/modules/radicale/forms.py:24 +#: plinth/modules/radicale/forms.py:23 #, python-brace-format msgid "" "Any user with a {box_name} login can view or make changes to any calendar/" @@ -4219,11 +4210,11 @@ msgid "" "private space." msgstr "" -#: plinth/modules/samba/__init__.py:47 +#: plinth/modules/samba/__init__.py:59 msgid "Access to the private shares" msgstr "" -#: plinth/modules/samba/__init__.py:61 +#: plinth/modules/samba/__init__.py:62 msgid "Samba" msgstr "" @@ -4287,11 +4278,11 @@ msgstr "" msgid "Action" msgstr "" -#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:149 +#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:147 msgid "Open Share" msgstr "" -#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:147 +#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:145 msgid "Group Share" msgstr "" @@ -4331,43 +4322,43 @@ msgid "" "stores no cookies by default." msgstr "" -#: plinth/modules/searx/__init__.py:31 +#: plinth/modules/searx/__init__.py:45 msgid "Search the web" msgstr "" -#: plinth/modules/searx/__init__.py:47 plinth/modules/searx/manifest.py:9 +#: plinth/modules/searx/__init__.py:48 plinth/modules/searx/manifest.py:9 msgid "Searx" msgstr "" -#: plinth/modules/searx/__init__.py:48 +#: plinth/modules/searx/__init__.py:49 msgid "Web Search" msgstr "" -#: plinth/modules/searx/forms.py:15 +#: plinth/modules/searx/forms.py:13 msgid "Safe Search" msgstr "" -#: plinth/modules/searx/forms.py:16 +#: plinth/modules/searx/forms.py:14 msgid "Select the default family filter to apply to your search results." msgstr "" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "None" msgstr "" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "Moderate" msgstr "" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "Strict" msgstr "" -#: plinth/modules/searx/forms.py:20 +#: plinth/modules/searx/forms.py:18 msgid "Allow Public Access" msgstr "" -#: plinth/modules/searx/forms.py:21 +#: plinth/modules/searx/forms.py:19 msgid "Allow this application to be used by anyone who can reach it." msgstr "" @@ -4530,28 +4521,28 @@ msgstr "" msgid "Socks5 Proxy" msgstr "" +#: plinth/modules/shadowsocks/forms.py:12 #: plinth/modules/shadowsocks/forms.py:13 -#: plinth/modules/shadowsocks/forms.py:14 msgid "Recommended" msgstr "" -#: plinth/modules/shadowsocks/forms.py:37 +#: plinth/modules/shadowsocks/forms.py:36 msgid "Server" msgstr "" -#: plinth/modules/shadowsocks/forms.py:38 +#: plinth/modules/shadowsocks/forms.py:37 msgid "Server hostname or IP address" msgstr "" -#: plinth/modules/shadowsocks/forms.py:42 +#: plinth/modules/shadowsocks/forms.py:41 msgid "Server port number" msgstr "" -#: plinth/modules/shadowsocks/forms.py:45 +#: plinth/modules/shadowsocks/forms.py:44 msgid "Password used to encrypt data. Must match server password." msgstr "" -#: plinth/modules/shadowsocks/forms.py:50 +#: plinth/modules/shadowsocks/forms.py:49 msgid "Encryption method. Must match setting on server." msgstr "" @@ -4592,11 +4583,11 @@ msgstr "" msgid "Make files in this folder available to anyone with the link." msgstr "" -#: plinth/modules/sharing/forms.py:33 +#: plinth/modules/sharing/forms.py:34 msgid "User groups that can read the files in the share" msgstr "" -#: plinth/modules/sharing/forms.py:35 +#: plinth/modules/sharing/forms.py:36 msgid "" "Users of the selected user groups will be able to read the files in the " "share." @@ -4867,11 +4858,11 @@ msgstr "" msgid "Secure Shell (SSH) Server" msgstr "" -#: plinth/modules/ssh/forms.py:15 +#: plinth/modules/ssh/forms.py:13 msgid "Disable password authentication" msgstr "" -#: plinth/modules/ssh/forms.py:16 +#: plinth/modules/ssh/forms.py:14 msgid "" "Improves security by preventing password guessing. Ensure that you have " "setup SSH keys in your administrator user account before enabling this " @@ -4920,129 +4911,129 @@ msgid "" "media, expand the root partition etc." msgstr "" -#: plinth/modules/storage/__init__.py:52 plinth/modules/storage/__init__.py:318 +#: plinth/modules/storage/__init__.py:54 plinth/modules/storage/__init__.py:320 msgid "Storage" 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 "" -#: plinth/modules/storage/__init__.py:313 +#: plinth/modules/storage/__init__.py:315 #, no-python-format, python-brace-format msgid "Low space on system partition: {percent_used}% used, {free_space} free." msgstr "" -#: plinth/modules/storage/__init__.py:315 +#: plinth/modules/storage/__init__.py:317 msgid "Low disk space" msgstr "" -#: plinth/modules/storage/forms.py:64 +#: plinth/modules/storage/forms.py:63 msgid "Invalid directory name." msgstr "" -#: plinth/modules/storage/forms.py:82 +#: plinth/modules/storage/forms.py:80 msgid "Directory does not exist." msgstr "" -#: plinth/modules/storage/forms.py:84 +#: plinth/modules/storage/forms.py:83 msgid "Path is not a directory." msgstr "" -#: plinth/modules/storage/forms.py:87 +#: plinth/modules/storage/forms.py:86 msgid "Directory is not readable by the user." msgstr "" -#: plinth/modules/storage/forms.py:90 +#: plinth/modules/storage/forms.py:89 msgid "Directory is not writable by the user." msgstr "" -#: plinth/modules/storage/forms.py:95 +#: plinth/modules/storage/forms.py:94 msgid "Directory" msgstr "" -#: plinth/modules/storage/forms.py:98 +#: plinth/modules/storage/forms.py:96 msgid "Subdirectory (optional)" msgstr "" -#: plinth/modules/storage/forms.py:145 +#: plinth/modules/storage/forms.py:143 msgid "Share" msgstr "" -#: plinth/modules/storage/forms.py:153 +#: plinth/modules/storage/forms.py:151 msgid "Other directory (specify below)" msgstr "" @@ -5123,19 +5114,20 @@ msgid "" "synchronize more often. {box_name} runs a single instance of Syncthing that " "may be used by multiple users. Each user's set of devices may be " "synchronized with a distinct set of folders. The web interface on " -"{box_name} is only available for users belonging to the \"admin\" group." +"{box_name} is only available for users belonging to the \"admin\" or " +"\"syncthing\" group." msgstr "" -#: plinth/modules/syncthing/__init__.py:40 +#: plinth/modules/syncthing/__init__.py:53 msgid "Administer Syncthing application" msgstr "" -#: plinth/modules/syncthing/__init__.py:54 +#: plinth/modules/syncthing/__init__.py:56 #: plinth/modules/syncthing/manifest.py:13 msgid "Syncthing" msgstr "" -#: plinth/modules/syncthing/__init__.py:55 +#: plinth/modules/syncthing/__init__.py:57 msgid "File Synchronization" msgstr "" @@ -5172,33 +5164,33 @@ msgid "" "%(domain_name)s:5678\">https://%(domain_name)s:5678." msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:39 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:29 msgid "Local introducer" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:59 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:76 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:33 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:49 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:66 msgid "Pet Name" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:56 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:46 msgid "Add new introducer" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:67 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:57 msgid "Add" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:72 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:62 msgid "Connected introducers" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:89 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:79 msgid "Remove" msgstr "" -#: plinth/modules/tor/__init__.py:33 +#: plinth/modules/tor/__init__.py:34 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -5207,40 +5199,40 @@ msgid "" "\">Tor Browser." msgstr "" -#: plinth/modules/tor/__init__.py:55 +#: plinth/modules/tor/__init__.py:54 msgid "Tor" msgstr "" -#: plinth/modules/tor/__init__.py:66 +#: plinth/modules/tor/__init__.py:65 msgid "Tor Onion Service" msgstr "" -#: plinth/modules/tor/__init__.py:70 +#: plinth/modules/tor/__init__.py:69 msgid "Tor Socks Proxy" msgstr "" -#: plinth/modules/tor/__init__.py:74 +#: plinth/modules/tor/__init__.py:73 msgid "Tor Bridge Relay" msgstr "" -#: plinth/modules/tor/__init__.py:95 +#: plinth/modules/tor/__init__.py:98 msgid "Tor relay port available" msgstr "" -#: plinth/modules/tor/__init__.py:105 +#: plinth/modules/tor/__init__.py:108 msgid "Obfs3 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:115 +#: plinth/modules/tor/__init__.py:118 msgid "Obfs4 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:208 +#: plinth/modules/tor/__init__.py:211 #, python-brace-format msgid "Access URL {url} on tcp{kind} via Tor" msgstr "" -#: plinth/modules/tor/__init__.py:219 +#: plinth/modules/tor/__init__.py:222 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "" @@ -5366,13 +5358,13 @@ msgstr "" msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050." msgstr "" -#: plinth/modules/transmission/__init__.py:27 +#: plinth/modules/transmission/__init__.py:28 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:48 +#: plinth/modules/transmission/__init__.py:51 #: plinth/modules/transmission/manifest.py:9 msgid "Transmission" msgstr "" @@ -5398,15 +5390,15 @@ msgid "" "connecting." msgstr "" -#: plinth/modules/ttrss/__init__.py:42 +#: plinth/modules/ttrss/__init__.py:54 msgid "Read and subscribe to news feeds" msgstr "" -#: plinth/modules/ttrss/__init__.py:56 plinth/modules/ttrss/manifest.py:19 +#: plinth/modules/ttrss/__init__.py:57 plinth/modules/ttrss/manifest.py:19 msgid "Tiny Tiny RSS" msgstr "" -#: plinth/modules/ttrss/__init__.py:57 +#: plinth/modules/ttrss/__init__.py:58 msgid "News Feed Reader" msgstr "" @@ -5418,11 +5410,11 @@ msgstr "" msgid "Check for and apply the latest software and security updates." msgstr "" -#: plinth/modules/upgrades/__init__.py:38 plinth/templates/setup.html:74 +#: plinth/modules/upgrades/__init__.py:40 plinth/templates/setup.html:74 msgid "Update" msgstr "" -#: plinth/modules/upgrades/__init__.py:76 +#: plinth/modules/upgrades/__init__.py:78 #, fuzzy #| msgid "FreedomBox" msgid "FreedomBox Updated" @@ -5474,43 +5466,39 @@ msgstr "" #: plinth/modules/upgrades/templates/upgrades_configure.html:11 #: plinth/modules/upgrades/templates/upgrades_configure.html:12 -#: plinth/modules/upgrades/views.py:88 +#: plinth/modules/upgrades/views.py:85 msgid "Manual update" msgstr "" -#: plinth/modules/upgrades/views.py:47 +#: plinth/modules/upgrades/views.py:46 #, python-brace-format msgid "Error when configuring unattended-upgrades: {error}" msgstr "" -#: plinth/modules/upgrades/views.py:51 +#: plinth/modules/upgrades/views.py:50 msgid "Automatic upgrades enabled" msgstr "" -#: plinth/modules/upgrades/views.py:54 +#: plinth/modules/upgrades/views.py:53 msgid "Automatic upgrades disabled" msgstr "" -#: plinth/modules/upgrades/views.py:56 -msgid "Settings unchanged" -msgstr "" - -#: plinth/modules/upgrades/views.py:82 +#: plinth/modules/upgrades/views.py:79 msgid "Upgrade process started." msgstr "" -#: plinth/modules/upgrades/views.py:85 +#: plinth/modules/upgrades/views.py:82 msgid "Starting upgrade failed." msgstr "" -#: plinth/modules/users/__init__.py:37 +#: plinth/modules/users/__init__.py:39 msgid "" "Create and managed user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " "account to be part of a group to authorize the user to access the app." msgstr "" -#: plinth/modules/users/__init__.py:42 +#: plinth/modules/users/__init__.py:44 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -5518,102 +5506,101 @@ msgid "" "group may alter apps or system settings." msgstr "" -#: plinth/modules/users/__init__.py:64 +#: plinth/modules/users/__init__.py:65 msgid "Users and Groups" msgstr "" -#: plinth/modules/users/__init__.py:115 +#: plinth/modules/users/__init__.py:78 +msgid "Access to all services and system settings" +msgstr "" + +#: plinth/modules/users/__init__.py:122 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "" -#: plinth/modules/users/forms.py:28 -msgid "Access to all services and system settings" -msgstr "" - -#: plinth/modules/users/forms.py:44 +#: plinth/modules/users/forms.py:36 msgid "Username is taken or is reserved." msgstr "" -#: plinth/modules/users/forms.py:72 +#: plinth/modules/users/forms.py:63 msgid "Enter a valid username." msgstr "" -#: plinth/modules/users/forms.py:78 +#: plinth/modules/users/forms.py:69 msgid "" "Required. 150 characters or fewer. English letters, digits and @/./-/_ only." msgstr "" -#: plinth/modules/users/forms.py:91 plinth/modules/users/forms.py:207 +#: plinth/modules/users/forms.py:83 plinth/modules/users/forms.py:196 msgid "Permissions" msgstr "" -#: plinth/modules/users/forms.py:94 +#: plinth/modules/users/forms.py:85 msgid "" -"Select which services should be available to the new user. The user will be " -"able to log in to services that support single sign-on through LDAP, if they " -"are in the appropriate group.

Users in the admin group will be " -"able to log in to all services. They can also log in to the system through " -"SSH and have administrative privileges (sudo)." +"user. The user will be able to log in to services that support single sign-" +"on through LDAP, if they are in the appropriate group.

Users in " +"the admin group will be able to log in to all services. They can also log in " +"to the system through SSH and have administrative privileges (sudo)." msgstr "" -#: plinth/modules/users/forms.py:133 plinth/modules/users/forms.py:357 +#: plinth/modules/users/forms.py:122 plinth/modules/users/forms.py:345 msgid "Creating LDAP user failed." msgstr "" -#: plinth/modules/users/forms.py:144 +#: plinth/modules/users/forms.py:133 #, python-brace-format msgid "Failed to add new user to {group} group." msgstr "" -#: plinth/modules/users/forms.py:158 +#: plinth/modules/users/forms.py:147 msgid "Authorized SSH Keys" msgstr "" -#: plinth/modules/users/forms.py:160 +#: plinth/modules/users/forms.py:149 msgid "" "Setting an SSH public key will allow this user to securely log in to the " "system without using a password. You may enter multiple keys, one on each " "line. Blank lines and lines starting with # will be ignored." msgstr "" -#: plinth/modules/users/forms.py:244 +#: plinth/modules/users/forms.py:233 msgid "Renaming LDAP user failed." msgstr "" -#: plinth/modules/users/forms.py:256 +#: plinth/modules/users/forms.py:245 msgid "Failed to remove user from group." msgstr "" -#: plinth/modules/users/forms.py:267 +#: plinth/modules/users/forms.py:256 msgid "Failed to add user to group." msgstr "" -#: plinth/modules/users/forms.py:276 +#: plinth/modules/users/forms.py:265 msgid "Unable to set SSH keys." msgstr "" -#: plinth/modules/users/forms.py:291 +#: plinth/modules/users/forms.py:280 msgid "Failed to change user status." msgstr "" -#: plinth/modules/users/forms.py:299 +#: plinth/modules/users/forms.py:288 msgid "Cannot delete the only administrator in the system." msgstr "" -#: plinth/modules/users/forms.py:331 +#: plinth/modules/users/forms.py:319 msgid "Changing LDAP user password failed." msgstr "" -#: plinth/modules/users/forms.py:366 +#: plinth/modules/users/forms.py:354 msgid "Failed to add new user to admin group." msgstr "" -#: plinth/modules/users/forms.py:383 +#: plinth/modules/users/forms.py:371 msgid "Failed to restrict console access." msgstr "" -#: plinth/modules/users/forms.py:395 +#: plinth/modules/users/forms.py:383 msgid "User account created, you are now logged in" msgstr "" @@ -6345,14 +6332,6 @@ msgstr "" msgid "%(percentage)s%% complete" msgstr "" -#: plinth/views.py:184 -msgid "Application enabled" -msgstr "" - -#: plinth/views.py:187 -msgid "Application disabled" -msgstr "" - #: plinth/web_framework.py:107 msgid "Gujarati" msgstr "" diff --git a/plinth/locale/bn/LC_MESSAGES/django.po b/plinth/locale/bn/LC_MESSAGES/django.po index 1084bd648..c36d43496 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: 2020-03-23 18:54-0400\n" +"POT-Creation-Date: 2020-04-06 19:59-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -51,29 +51,25 @@ msgstr "" msgid "Cannot connect to {host}:{port}" msgstr "" -#: plinth/forms.py:24 -msgid "Enable application" -msgstr "" - -#: plinth/forms.py:39 +#: plinth/forms.py:38 msgid "Select a domain name to be used with this application" msgstr "" -#: plinth/forms.py:41 +#: plinth/forms.py:40 msgid "" "Warning! The application may not work properly if domain name is changed " "later." msgstr "" -#: plinth/forms.py:49 +#: plinth/forms.py:48 msgid "Language" msgstr "" -#: plinth/forms.py:50 +#: plinth/forms.py:49 msgid "Language to use for presenting this web interface" msgstr "" -#: plinth/forms.py:57 +#: plinth/forms.py:56 msgid "Use the language preference set in the browser" msgstr "" @@ -595,20 +591,20 @@ msgstr "" msgid "Domain Name Server" msgstr "" -#: plinth/modules/bind/forms.py:22 +#: plinth/modules/bind/forms.py:20 msgid "Forwarders" msgstr "" -#: plinth/modules/bind/forms.py:23 +#: plinth/modules/bind/forms.py:21 msgid "" "A list DNS servers, separated by space, to which requests will be forwarded" msgstr "" -#: plinth/modules/bind/forms.py:27 +#: plinth/modules/bind/forms.py:25 msgid "Enable DNSSEC" msgstr "" -#: plinth/modules/bind/forms.py:28 +#: plinth/modules/bind/forms.py:26 msgid "Enable Domain Name System Security Extensions" msgstr "" @@ -640,10 +636,11 @@ msgstr "" msgid "Refresh IP address and domains" msgstr "" -#: plinth/modules/bind/views.py:72 plinth/modules/deluge/views.py:44 +#: plinth/modules/bind/views.py:72 plinth/modules/deluge/views.py:42 #: plinth/modules/dynamicdns/views.py:150 plinth/modules/openvpn/views.py:133 -#: plinth/modules/pagekite/forms.py:91 plinth/modules/shadowsocks/views.py:59 -#: plinth/modules/transmission/views.py:50 +#: plinth/modules/pagekite/forms.py:90 plinth/modules/quassel/views.py:30 +#: plinth/modules/shadowsocks/views.py:59 +#: plinth/modules/transmission/views.py:47 msgid "Configuration updated" msgstr "" @@ -691,11 +688,11 @@ msgid "" "name, webserver home page etc." msgstr "" -#: plinth/modules/config/__init__.py:50 +#: plinth/modules/config/__init__.py:52 msgid "General Configuration" msgstr "" -#: plinth/modules/config/__init__.py:55 plinth/modules/dynamicdns/views.py:29 +#: plinth/modules/config/__init__.py:57 plinth/modules/dynamicdns/views.py:29 #: plinth/modules/names/templates/names.html:29 #: plinth/modules/names/templates/names.html:43 #: plinth/modules/snapshot/views.py:26 @@ -703,7 +700,7 @@ msgstr "" msgid "Configure" msgstr "" -#: plinth/modules/config/__init__.py:59 plinth/modules/config/forms.py:61 +#: plinth/modules/config/__init__.py:61 plinth/modules/config/forms.py:61 #: plinth/modules/dynamicdns/forms.py:95 msgid "Domain Name" msgstr "" @@ -830,25 +827,25 @@ msgstr "" msgid "Coquelicot" msgstr "" -#: plinth/modules/coquelicot/__init__.py:47 plinth/modules/samba/__init__.py:62 +#: plinth/modules/coquelicot/__init__.py:47 plinth/modules/samba/__init__.py:63 msgid "File Sharing" msgstr "" -#: plinth/modules/coquelicot/forms.py:15 +#: plinth/modules/coquelicot/forms.py:13 msgid "Upload Password" msgstr "" -#: plinth/modules/coquelicot/forms.py:16 +#: plinth/modules/coquelicot/forms.py:14 msgid "" "Set a new upload password for Coquelicot. Leave this field blank to keep the " "current password." msgstr "" -#: plinth/modules/coquelicot/forms.py:20 +#: plinth/modules/coquelicot/forms.py:18 msgid "Maximum File Size (in MiB)" msgstr "" -#: plinth/modules/coquelicot/forms.py:21 +#: plinth/modules/coquelicot/forms.py:19 msgid "Set the maximum size of the files that can be uploaded to Coquelicot." msgstr "" @@ -886,17 +883,17 @@ msgstr "" msgid "Time synchronized to NTP server" msgstr "" -#: plinth/modules/datetime/forms.py:20 +#: plinth/modules/datetime/forms.py:18 msgid "Time Zone" msgstr "" -#: plinth/modules/datetime/forms.py:21 +#: plinth/modules/datetime/forms.py:19 msgid "" "Set your time zone to get accurate timestamps. This will set the system-wide " "time zone." msgstr "" -#: plinth/modules/datetime/forms.py:32 +#: plinth/modules/datetime/forms.py:30 msgid "-- no time zone set --" msgstr "" @@ -909,31 +906,31 @@ msgstr "" msgid "Time zone set" msgstr "" -#: plinth/modules/deluge/__init__.py:25 +#: plinth/modules/deluge/__init__.py:26 msgid "Deluge is a BitTorrent client that features a Web UI." msgstr "" -#: plinth/modules/deluge/__init__.py:26 +#: plinth/modules/deluge/__init__.py:27 msgid "" "The default password is 'deluge', but you should log in and change it " "immediately after enabling this service." msgstr "" -#: plinth/modules/deluge/__init__.py:30 -#: plinth/modules/transmission/__init__.py:34 +#: plinth/modules/deluge/__init__.py:46 +#: plinth/modules/transmission/__init__.py:48 msgid "Download files using BitTorrent applications" msgstr "" -#: plinth/modules/deluge/__init__.py:46 plinth/modules/deluge/manifest.py:9 +#: plinth/modules/deluge/__init__.py:50 plinth/modules/deluge/manifest.py:9 msgid "Deluge" msgstr "" -#: plinth/modules/deluge/__init__.py:47 -#: plinth/modules/transmission/__init__.py:50 +#: plinth/modules/deluge/__init__.py:51 +#: plinth/modules/transmission/__init__.py:53 msgid "BitTorrent Web Client" msgstr "" -#: plinth/modules/deluge/forms.py:20 plinth/modules/transmission/forms.py:20 +#: plinth/modules/deluge/forms.py:20 plinth/modules/transmission/forms.py:21 msgid "Download directory" msgstr "" @@ -1006,7 +1003,7 @@ msgstr "" msgid "Federated Social Network" msgstr "" -#: plinth/modules/diaspora/forms.py:15 +#: plinth/modules/diaspora/forms.py:13 msgid "Enable new user registrations" msgstr "" @@ -1032,32 +1029,23 @@ msgstr "" #: plinth/modules/diaspora/templates/diaspora-pre-setup.html:43 #: plinth/modules/dynamicdns/templates/dynamicdns_configure.html:25 -#: plinth/modules/ejabberd/templates/ejabberd.html:43 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:18 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:47 #: plinth/modules/snapshot/templates/snapshot.html:15 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:35 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:43 -#: plinth/templates/app.html:52 +#: plinth/templates/app.html:54 msgid "Update setup" msgstr "" -#: plinth/modules/diaspora/views.py:76 plinth/modules/ejabberd/views.py:46 -#: plinth/modules/matrixsynapse/views.py:85 -#: plinth/modules/mediawiki/views.py:58 plinth/modules/openvpn/views.py:135 -#: plinth/modules/tor/views.py:136 plinth/views.py:180 -msgid "Setting unchanged" -msgstr "" - -#: plinth/modules/diaspora/views.py:80 +#: plinth/modules/diaspora/views.py:74 msgid "User registrations enabled" msgstr "" -#: plinth/modules/diaspora/views.py:84 +#: plinth/modules/diaspora/views.py:78 msgid "User registrations disabled" msgstr "" -#: plinth/modules/dynamicdns/__init__.py:27 +#: plinth/modules/dynamicdns/__init__.py:28 #, python-brace-format msgid "" "If your Internet provider changes your IP address periodically (i.e. every " @@ -1065,7 +1053,7 @@ msgid "" "prevent others from finding services which are provided by this {box_name}." msgstr "" -#: plinth/modules/dynamicdns/__init__.py:31 +#: plinth/modules/dynamicdns/__init__.py:32 msgid "" "The solution is to assign a DNS name to your IP address and update the DNS " "name every time your IP is changed by your Internet provider. Dynamic DNS " @@ -1076,11 +1064,11 @@ msgid "" "IP address." msgstr "" -#: plinth/modules/dynamicdns/__init__.py:56 +#: plinth/modules/dynamicdns/__init__.py:55 msgid "Dynamic DNS Client" msgstr "" -#: plinth/modules/dynamicdns/__init__.py:66 +#: plinth/modules/dynamicdns/__init__.py:65 msgid "Dynamic Domain Name" msgstr "" @@ -1169,7 +1157,7 @@ msgid "Username" msgstr "" #: plinth/modules/dynamicdns/forms.py:104 plinth/modules/networks/forms.py:200 -#: plinth/modules/shadowsocks/forms.py:45 +#: plinth/modules/shadowsocks/forms.py:44 msgid "Password" msgstr "" @@ -1247,7 +1235,7 @@ msgstr "" msgid "Last update" msgstr "" -#: plinth/modules/dynamicdns/views.py:26 plinth/modules/help/__init__.py:49 +#: plinth/modules/dynamicdns/views.py:26 plinth/modules/help/__init__.py:51 #: plinth/templates/help-menu.html:46 plinth/templates/help-menu.html:47 msgid "About" msgstr "" @@ -1274,13 +1262,13 @@ msgstr "" msgid "Dynamic DNS Status" msgstr "" -#: plinth/modules/ejabberd/__init__.py:36 +#: plinth/modules/ejabberd/__init__.py:37 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:39 +#: plinth/modules/ejabberd/__init__.py:40 #, python-brace-format msgid "" "To actually communicate, you can use the web client user with a {box_name} login." msgstr "" -#: plinth/modules/ejabberd/__init__.py:70 +#: plinth/modules/ejabberd/__init__.py:69 msgid "ejabberd" msgstr "" -#: plinth/modules/ejabberd/__init__.py:71 +#: plinth/modules/ejabberd/__init__.py:70 #: plinth/modules/matrixsynapse/__init__.py:68 msgid "Chat Server" msgstr "" -#: plinth/modules/ejabberd/forms.py:17 +#: plinth/modules/ejabberd/forms.py:16 msgid "Enable Message Archive Management" msgstr "" -#: plinth/modules/ejabberd/forms.py:19 +#: plinth/modules/ejabberd/forms.py:18 #, python-brace-format msgid "" "If enabled, your {box_name} will store chat message histories. This allows " @@ -1357,19 +1345,11 @@ msgid "" "Configure page." msgstr "" -#: plinth/modules/ejabberd/templates/ejabberd.html:35 -#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 -#: plinth/modules/snapshot/templates/snapshot.html:12 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:27 -#: plinth/templates/app.html:45 -msgid "Configuration" -msgstr "" - -#: plinth/modules/ejabberd/views.py:58 +#: plinth/modules/ejabberd/views.py:45 msgid "Message Archive Management enabled" msgstr "" -#: plinth/modules/ejabberd/views.py:62 +#: plinth/modules/ejabberd/views.py:49 msgid "Message Archive Management disabled" msgstr "" @@ -1381,7 +1361,7 @@ msgid "" "configured reduces risk of security threat from the Internet." msgstr "" -#: plinth/modules/firewall/__init__.py:63 +#: plinth/modules/firewall/__init__.py:65 msgid "Firewall" msgstr "" @@ -1508,7 +1488,7 @@ msgid "" "gittutorial\">Git tutorial." msgstr "" -#: plinth/modules/gitweb/__init__.py:39 +#: plinth/modules/gitweb/__init__.py:51 msgid "Read-write access to Git repositories" msgstr "" @@ -1641,31 +1621,31 @@ msgstr "" msgid "Could not delete {name}: {error}" msgstr "" -#: plinth/modules/help/__init__.py:30 +#: plinth/modules/help/__init__.py:32 msgid "Documentation" msgstr "" -#: plinth/modules/help/__init__.py:33 plinth/modules/networks/forms.py:47 +#: plinth/modules/help/__init__.py:35 plinth/modules/networks/forms.py:47 #: plinth/modules/networks/forms.py:77 plinth/templates/help-menu.html:20 #: plinth/templates/help-menu.html:21 plinth/templates/index.html:128 msgid "Manual" msgstr "" -#: plinth/modules/help/__init__.py:37 +#: plinth/modules/help/__init__.py:39 #: plinth/modules/help/templates/help_support.html:9 #: plinth/modules/help/views.py:43 plinth/templates/help-menu.html:27 #: plinth/templates/help-menu.html:28 msgid "Get Support" msgstr "" -#: plinth/modules/help/__init__.py:41 +#: plinth/modules/help/__init__.py:43 #: plinth/modules/help/templates/help_feedback.html:9 #: plinth/modules/help/views.py:37 plinth/templates/help-menu.html:33 #: plinth/templates/help-menu.html:34 msgid "Submit Feedback" msgstr "" -#: plinth/modules/help/__init__.py:45 +#: plinth/modules/help/__init__.py:47 #: plinth/modules/help/templates/help_contribute.html:9 #: plinth/modules/help/views.py:31 plinth/templates/help-menu.html:39 #: plinth/templates/help-menu.html:40 @@ -1774,7 +1754,7 @@ msgstr "" #: plinth/modules/help/templates/help_contribute.html:42 #: plinth/modules/power/templates/power_restart.html:27 #: plinth/modules/power/templates/power_shutdown.html:26 -#: plinth/templates/app-header.html:51 +#: plinth/templates/app-header.html:53 msgid "Learn more..." msgstr "" @@ -1918,19 +1898,19 @@ msgid "" "configuration process." msgstr "" -#: plinth/modules/i2p/__init__.py:38 +#: plinth/modules/i2p/__init__.py:62 msgid "Manage I2P application" msgstr "" -#: plinth/modules/i2p/__init__.py:64 plinth/modules/i2p/manifest.py:16 +#: plinth/modules/i2p/__init__.py:65 plinth/modules/i2p/manifest.py:16 msgid "I2P" msgstr "" -#: plinth/modules/i2p/__init__.py:65 plinth/modules/tor/__init__.py:56 +#: plinth/modules/i2p/__init__.py:66 plinth/modules/tor/__init__.py:55 msgid "Anonymity Network" msgstr "" -#: plinth/modules/i2p/__init__.py:87 +#: plinth/modules/i2p/__init__.py:88 msgid "I2P Proxy" msgstr "" @@ -1983,18 +1963,18 @@ msgid "" "Configuration you can change these permissions or add new users." msgstr "" -#: plinth/modules/ikiwiki/__init__.py:39 -msgid "View and edit wiki applications" -msgstr "" - -#: plinth/modules/ikiwiki/__init__.py:53 plinth/modules/ikiwiki/manifest.py:9 +#: plinth/modules/ikiwiki/__init__.py:52 plinth/modules/ikiwiki/manifest.py:9 msgid "ikiwiki" msgstr "" -#: plinth/modules/ikiwiki/__init__.py:54 +#: plinth/modules/ikiwiki/__init__.py:53 msgid "Wiki and Blog" msgstr "" +#: plinth/modules/ikiwiki/__init__.py:73 +msgid "View and edit wiki applications" +msgstr "" + #: plinth/modules/ikiwiki/forms.py:17 msgid "Admin Account Name" msgstr "" @@ -2038,32 +2018,32 @@ msgid "" "history. Delete this wiki or blog permanently?" msgstr "" -#: plinth/modules/ikiwiki/views.py:72 +#: plinth/modules/ikiwiki/views.py:70 #, python-brace-format msgid "Created wiki {name}." msgstr "" -#: plinth/modules/ikiwiki/views.py:75 +#: plinth/modules/ikiwiki/views.py:73 #, python-brace-format msgid "Could not create wiki: {error}" msgstr "" -#: plinth/modules/ikiwiki/views.py:85 +#: plinth/modules/ikiwiki/views.py:83 #, python-brace-format msgid "Created blog {name}." msgstr "" -#: plinth/modules/ikiwiki/views.py:88 +#: plinth/modules/ikiwiki/views.py:86 #, python-brace-format msgid "Could not create blog: {error}" msgstr "" -#: plinth/modules/ikiwiki/views.py:103 +#: plinth/modules/ikiwiki/views.py:101 #, python-brace-format msgid "{title} deleted." msgstr "" -#: plinth/modules/ikiwiki/views.py:107 +#: plinth/modules/ikiwiki/views.py:105 #, python-brace-format msgid "Could not delete {title}: {error}" msgstr "" @@ -2103,17 +2083,17 @@ msgid "" "domain name." msgstr "" -#: plinth/modules/jsxc/__init__.py:22 +#: plinth/modules/jsxc/__init__.py:23 msgid "" "JSXC is a web client for XMPP. Typically it is used with an XMPP server " "running locally." msgstr "" -#: plinth/modules/jsxc/__init__.py:40 plinth/modules/jsxc/manifest.py:10 +#: plinth/modules/jsxc/__init__.py:43 plinth/modules/jsxc/manifest.py:10 msgid "JSXC" msgstr "" -#: plinth/modules/jsxc/__init__.py:41 +#: plinth/modules/jsxc/__init__.py:44 msgid "Chat Client" msgstr "" @@ -2276,11 +2256,11 @@ msgstr "" msgid "Matrix Synapse" msgstr "" -#: plinth/modules/matrixsynapse/forms.py:14 +#: plinth/modules/matrixsynapse/forms.py:12 msgid "Enable Public Registration" msgstr "" -#: plinth/modules/matrixsynapse/forms.py:15 +#: plinth/modules/matrixsynapse/forms.py:13 msgid "" "Enabling public registration means that anyone on the Internet can register " "a new account on your Matrix server. Disable this if you only want existing " @@ -2291,6 +2271,12 @@ msgstr "" msgid "Riot" msgstr "" +#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 +#: plinth/modules/snapshot/templates/snapshot.html:12 +#: plinth/templates/app.html:46 +msgid "Configuration" +msgstr "" + #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:18 msgid "" "Matrix service needs to be configured for a domain. Users on other Matrix " @@ -2335,11 +2321,11 @@ msgid "" "go to Let's Encrypt to obtain one." msgstr "" -#: plinth/modules/matrixsynapse/views.py:98 +#: plinth/modules/matrixsynapse/views.py:86 msgid "Public registration enabled" msgstr "" -#: plinth/modules/matrixsynapse/views.py:103 +#: plinth/modules/matrixsynapse/views.py:91 msgid "Public registration disabled" msgstr "" @@ -2375,71 +2361,71 @@ msgstr "" msgid "Wiki" msgstr "" -#: plinth/modules/mediawiki/forms.py:27 +#: plinth/modules/mediawiki/forms.py:25 msgid "Administrator Password" msgstr "" -#: plinth/modules/mediawiki/forms.py:28 +#: plinth/modules/mediawiki/forms.py:26 msgid "" "Set a new password for MediaWiki's administrator account (admin). Leave this " "field blank to keep the current password." msgstr "" -#: plinth/modules/mediawiki/forms.py:33 +#: plinth/modules/mediawiki/forms.py:31 msgid "Enable public registrations" msgstr "" -#: plinth/modules/mediawiki/forms.py:34 +#: plinth/modules/mediawiki/forms.py:32 msgid "" "If enabled, anyone on the internet will be able to create an account on your " "MediaWiki instance." msgstr "" -#: plinth/modules/mediawiki/forms.py:38 +#: plinth/modules/mediawiki/forms.py:36 msgid "Enable private mode" msgstr "" -#: plinth/modules/mediawiki/forms.py:39 +#: plinth/modules/mediawiki/forms.py:37 msgid "" "If enabled, access will be restricted. Only people who have accounts can " "read/write to the wiki. Public registrations will also be disabled." msgstr "" -#: plinth/modules/mediawiki/forms.py:44 +#: plinth/modules/mediawiki/forms.py:42 msgid "Default Skin" msgstr "" -#: plinth/modules/mediawiki/forms.py:45 +#: plinth/modules/mediawiki/forms.py:43 msgid "" "Choose a default skin for your MediaWiki installation. Users have the option " "to select their preferred skin." msgstr "" -#: plinth/modules/mediawiki/views.py:53 +#: plinth/modules/mediawiki/views.py:48 msgid "Password updated" msgstr "" -#: plinth/modules/mediawiki/views.py:72 +#: plinth/modules/mediawiki/views.py:57 msgid "Public registrations enabled" msgstr "" -#: plinth/modules/mediawiki/views.py:81 +#: plinth/modules/mediawiki/views.py:66 msgid "Public registrations disabled" msgstr "" -#: plinth/modules/mediawiki/views.py:86 +#: plinth/modules/mediawiki/views.py:71 msgid "Private mode enabled" msgstr "" -#: plinth/modules/mediawiki/views.py:93 +#: plinth/modules/mediawiki/views.py:78 msgid "Private mode disabled" msgstr "" -#: plinth/modules/mediawiki/views.py:101 +#: plinth/modules/mediawiki/views.py:86 msgid "Default skin changed" msgstr "" -#: plinth/modules/minetest/__init__.py:37 +#: plinth/modules/minetest/__init__.py:38 #, python-brace-format msgid "" "Minetest is a multiplayer infinite-world block sandbox. This module enables " @@ -2448,48 +2434,48 @@ msgid "" "downloads/\">Minetest client is needed." msgstr "" -#: plinth/modules/minetest/__init__.py:63 +#: plinth/modules/minetest/__init__.py:62 #: plinth/modules/minetest/manifest.py:10 msgid "Minetest" msgstr "" -#: plinth/modules/minetest/__init__.py:64 +#: plinth/modules/minetest/__init__.py:63 msgid "Block Sandbox" msgstr "" -#: plinth/modules/minetest/forms.py:15 +#: plinth/modules/minetest/forms.py:13 msgid "Maximum number of players" msgstr "" -#: plinth/modules/minetest/forms.py:17 +#: plinth/modules/minetest/forms.py:15 msgid "" "You can change the maximum number of players playing minetest at a single " "instance of time." msgstr "" -#: plinth/modules/minetest/forms.py:21 +#: plinth/modules/minetest/forms.py:19 msgid "Enable creative mode" msgstr "" -#: plinth/modules/minetest/forms.py:22 +#: plinth/modules/minetest/forms.py:20 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:27 +#: plinth/modules/minetest/forms.py:25 msgid "Enable PVP" msgstr "" -#: plinth/modules/minetest/forms.py:28 +#: plinth/modules/minetest/forms.py:26 msgid "Enabling Player Vs Player will allow players to damage other players." msgstr "" -#: plinth/modules/minetest/forms.py:32 +#: plinth/modules/minetest/forms.py:30 msgid "Enable damage" msgstr "" -#: plinth/modules/minetest/forms.py:33 +#: plinth/modules/minetest/forms.py:31 msgid "When disabled, players cannot die or receive damage of any kind." msgstr "" @@ -2530,19 +2516,19 @@ msgid "" "Kodi." msgstr "" -#: plinth/modules/minidlna/__init__.py:33 +#: plinth/modules/minidlna/__init__.py:44 msgid "Media streaming server" msgstr "" -#: plinth/modules/minidlna/__init__.py:47 +#: plinth/modules/minidlna/__init__.py:48 msgid "Simple Media Server" msgstr "" -#: plinth/modules/minidlna/forms.py:15 +#: plinth/modules/minidlna/forms.py:13 msgid "Media Files Directory" msgstr "" -#: plinth/modules/minidlna/forms.py:16 +#: plinth/modules/minidlna/forms.py:14 msgid "" "Directory that MiniDLNA Server will read for content. All sub-directories of " "this will be also scanned for media files. If you change the default ensure " @@ -2594,16 +2580,16 @@ msgid "" "On {box_name}, downloaded files can be found in /var/lib/mldonkey/ directory." msgstr "" -#: plinth/modules/mldonkey/__init__.py:40 +#: plinth/modules/mldonkey/__init__.py:50 msgid "Download files using eDonkey applications" msgstr "" -#: plinth/modules/mldonkey/__init__.py:54 +#: plinth/modules/mldonkey/__init__.py:53 #: plinth/modules/mldonkey/manifest.py:12 msgid "MLDonkey" msgstr "" -#: plinth/modules/mldonkey/__init__.py:56 +#: plinth/modules/mldonkey/__init__.py:55 msgid "Peer-to-peer File Sharing" msgstr "" @@ -2615,7 +2601,7 @@ msgstr "" msgid "AMLDonkey" msgstr "" -#: plinth/modules/monkeysphere/__init__.py:18 +#: plinth/modules/monkeysphere/__init__.py:19 msgid "" "With Monkeysphere, an OpenPGP key can be generated for each configured " "domain serving SSH. The OpenPGP public key can then be uploaded to the " @@ -2627,7 +2613,7 @@ msgid "" "for more details." msgstr "" -#: plinth/modules/monkeysphere/__init__.py:26 +#: plinth/modules/monkeysphere/__init__.py:27 msgid "" "Monkeysphere can also generate an OpenPGP key for each Secure Web Server " "(HTTPS) certificate installed on this machine. The OpenPGP public key can " @@ -2638,7 +2624,7 @@ msgid "" "Monkeysphere website." msgstr "" -#: plinth/modules/monkeysphere/__init__.py:50 +#: plinth/modules/monkeysphere/__init__.py:49 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:11 msgid "Monkeysphere" msgstr "" @@ -2687,15 +2673,15 @@ msgstr "" msgid "-" msgstr "" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:128 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:129 msgid "Import Key" msgstr "" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:137 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:139 msgid "Publish Key" msgstr "" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:146 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:149 msgid "Add Domains" msgstr "" @@ -2765,32 +2751,32 @@ msgstr "" msgid "Error occurred while publishing key." msgstr "" -#: plinth/modules/mumble/__init__.py:23 +#: plinth/modules/mumble/__init__.py:24 msgid "" "Mumble is an open source, low-latency, encrypted, high quality voice chat " "software." msgstr "" -#: plinth/modules/mumble/__init__.py:25 +#: plinth/modules/mumble/__init__.py:26 msgid "" "You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your " "desktop and Android devices are available." msgstr "" -#: plinth/modules/mumble/__init__.py:49 plinth/modules/mumble/manifest.py:12 +#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:12 msgid "Mumble" msgstr "" -#: plinth/modules/mumble/__init__.py:50 +#: plinth/modules/mumble/__init__.py:49 msgid "Voice Chat" msgstr "" -#: plinth/modules/mumble/forms.py:16 +#: plinth/modules/mumble/forms.py:14 msgid "Set SuperUser Password" msgstr "" -#: plinth/modules/mumble/forms.py:19 +#: plinth/modules/mumble/forms.py:17 msgid "" "Optional. Leave this field blank to keep the current password. SuperUser " "password can be used to manage permissions in Mumble." @@ -3073,7 +3059,7 @@ msgstr "" #: plinth/modules/networks/forms.py:297 #, python-brace-format -msgid "Choose how your {box_name} is connected to your network" +msgid "Specify how your {box_name} is connected to your network" msgstr "" #: plinth/modules/networks/forms.py:304 @@ -3292,7 +3278,7 @@ msgstr "" #: plinth/modules/networks/templates/connection_show.html:171 #: plinth/modules/networks/templates/connection_show.html:212 -#: plinth/modules/shadowsocks/forms.py:49 +#: plinth/modules/shadowsocks/forms.py:48 msgid "Method" msgstr "" @@ -3308,7 +3294,7 @@ msgstr "" #: plinth/modules/networks/templates/connection_show.html:201 #: plinth/modules/networks/templates/connection_show.html:240 -#: plinth/modules/storage/forms.py:141 +#: plinth/modules/storage/forms.py:139 msgid "Default" msgstr "" @@ -3747,6 +3733,11 @@ msgstr "" msgid "Setup failed." msgstr "" +#: plinth/modules/openvpn/views.py:135 plinth/modules/tor/views.py:136 +#: plinth/views.py:196 +msgid "Setting unchanged" +msgstr "" + #: plinth/modules/pagekite/__init__.py:27 #, python-brace-format msgid "" @@ -3803,75 +3794,75 @@ msgstr "" msgid "PageKite Domain" msgstr "" -#: plinth/modules/pagekite/forms.py:48 +#: plinth/modules/pagekite/forms.py:47 msgid "Server domain" msgstr "" -#: plinth/modules/pagekite/forms.py:50 +#: plinth/modules/pagekite/forms.py:49 msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " "pagekite.net server." msgstr "" -#: plinth/modules/pagekite/forms.py:53 plinth/modules/shadowsocks/forms.py:40 +#: plinth/modules/pagekite/forms.py:52 plinth/modules/shadowsocks/forms.py:39 msgid "Server port" msgstr "" -#: plinth/modules/pagekite/forms.py:54 +#: plinth/modules/pagekite/forms.py:53 msgid "Port of your pagekite server (default: 80)" msgstr "" -#: plinth/modules/pagekite/forms.py:56 +#: plinth/modules/pagekite/forms.py:55 msgid "Kite name" msgstr "" -#: plinth/modules/pagekite/forms.py:57 +#: plinth/modules/pagekite/forms.py:56 msgid "Example: mybox.pagekite.me" msgstr "" -#: plinth/modules/pagekite/forms.py:59 +#: plinth/modules/pagekite/forms.py:58 msgid "Invalid kite name" msgstr "" -#: plinth/modules/pagekite/forms.py:63 +#: plinth/modules/pagekite/forms.py:62 msgid "Kite secret" msgstr "" -#: plinth/modules/pagekite/forms.py:64 +#: plinth/modules/pagekite/forms.py:63 msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." msgstr "" -#: plinth/modules/pagekite/forms.py:101 +#: plinth/modules/pagekite/forms.py:100 msgid "protocol" msgstr "" -#: plinth/modules/pagekite/forms.py:104 +#: plinth/modules/pagekite/forms.py:103 msgid "external (frontend) port" msgstr "" -#: plinth/modules/pagekite/forms.py:107 +#: plinth/modules/pagekite/forms.py:106 msgid "internal (freedombox) port" msgstr "" -#: plinth/modules/pagekite/forms.py:108 +#: plinth/modules/pagekite/forms.py:107 msgid "Enable Subdomains" msgstr "" -#: plinth/modules/pagekite/forms.py:142 +#: plinth/modules/pagekite/forms.py:141 msgid "Deleted custom service" msgstr "" -#: plinth/modules/pagekite/forms.py:175 +#: plinth/modules/pagekite/forms.py:174 msgid "This service is already available as a standard service." msgstr "" -#: plinth/modules/pagekite/forms.py:183 +#: plinth/modules/pagekite/forms.py:182 msgid "Added custom service" msgstr "" -#: plinth/modules/pagekite/forms.py:186 +#: plinth/modules/pagekite/forms.py:185 msgid "This service already exists" msgstr "" @@ -3989,14 +3980,14 @@ msgstr "" msgid "Shut Down Now" msgstr "" -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 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:33 +#: plinth/modules/privoxy/__init__.py:34 #, python-brace-format msgid "" "You can use Privoxy by modifying your browser proxy settings to your " @@ -4006,20 +3997,20 @@ msgid "" "\">http://p.p." msgstr "" -#: plinth/modules/privoxy/__init__.py:56 +#: plinth/modules/privoxy/__init__.py:55 msgid "Privoxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:57 +#: plinth/modules/privoxy/__init__.py:56 msgid "Web Proxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:119 #, python-brace-format msgid "Access {url} with proxy {proxy} on tcp{kind}" msgstr "" -#: plinth/modules/quassel/__init__.py:32 +#: plinth/modules/quassel/__init__.py:33 #, python-brace-format msgid "" "Quassel is an IRC application that is split into two parts, a \"core\" and a " @@ -4030,7 +4021,7 @@ msgid "" "connect and disconnect from it." msgstr "" -#: plinth/modules/quassel/__init__.py:39 +#: plinth/modules/quassel/__init__.py:40 msgid "" "You can connect to your Quassel core on the default Quassel port 4242. " "Clients to connect to Quassel from your mobile devices are available." msgstr "" -#: plinth/modules/quassel/__init__.py:62 plinth/modules/quassel/manifest.py:10 +#: plinth/modules/quassel/__init__.py:61 plinth/modules/quassel/manifest.py:10 msgid "Quassel" msgstr "" -#: plinth/modules/quassel/__init__.py:63 +#: plinth/modules/quassel/__init__.py:62 msgid "IRC Client" msgstr "" -#: plinth/modules/quassel/forms.py:23 +#: plinth/modules/quassel/forms.py:22 msgid "TLS domain" msgstr "" -#: plinth/modules/quassel/forms.py:25 +#: plinth/modules/quassel/forms.py:24 msgid "" "Select a domain to use TLS with. If the list is empty, please configure at " "least one domain with certificates." @@ -4060,7 +4051,7 @@ msgstr "" msgid "Quasseldroid" msgstr "" -#: plinth/modules/radicale/__init__.py:32 +#: plinth/modules/radicale/__init__.py:33 #, python-brace-format msgid "" "Radicale is a CalDAV and CardDAV server. It allows synchronization and " @@ -4069,34 +4060,34 @@ msgid "" "can be accessed by any user with a {box_name} login." msgstr "" -#: plinth/modules/radicale/__init__.py:37 +#: plinth/modules/radicale/__init__.py:38 msgid "" "Radicale provides a basic web interface, which only supports creating new " "calendars and addressbooks. It does not support adding events or contacts, " "which must be done using a separate client." msgstr "" -#: plinth/modules/radicale/__init__.py:62 +#: plinth/modules/radicale/__init__.py:61 #: plinth/modules/radicale/manifest.py:75 msgid "Radicale" msgstr "" -#: plinth/modules/radicale/__init__.py:63 +#: plinth/modules/radicale/__init__.py:62 msgid "Calendar and Addressbook" msgstr "" -#: plinth/modules/radicale/forms.py:15 +#: plinth/modules/radicale/forms.py:14 msgid "Only the owner of a calendar/addressbook can view or make changes." msgstr "" -#: plinth/modules/radicale/forms.py:19 +#: plinth/modules/radicale/forms.py:18 #, python-brace-format msgid "" "Any user with a {box_name} login can view any calendar/addressbook, but only " "the owner can make changes." msgstr "" -#: plinth/modules/radicale/forms.py:24 +#: plinth/modules/radicale/forms.py:23 #, python-brace-format msgid "" "Any user with a {box_name} login can view or make changes to any calendar/" @@ -4212,11 +4203,11 @@ msgid "" "private space." msgstr "" -#: plinth/modules/samba/__init__.py:47 +#: plinth/modules/samba/__init__.py:59 msgid "Access to the private shares" msgstr "" -#: plinth/modules/samba/__init__.py:61 +#: plinth/modules/samba/__init__.py:62 msgid "Samba" msgstr "" @@ -4280,11 +4271,11 @@ msgstr "" msgid "Action" msgstr "" -#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:149 +#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:147 msgid "Open Share" msgstr "" -#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:147 +#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:145 msgid "Group Share" msgstr "" @@ -4322,43 +4313,43 @@ msgid "" "stores no cookies by default." msgstr "" -#: plinth/modules/searx/__init__.py:31 +#: plinth/modules/searx/__init__.py:45 msgid "Search the web" msgstr "" -#: plinth/modules/searx/__init__.py:47 plinth/modules/searx/manifest.py:9 +#: plinth/modules/searx/__init__.py:48 plinth/modules/searx/manifest.py:9 msgid "Searx" msgstr "" -#: plinth/modules/searx/__init__.py:48 +#: plinth/modules/searx/__init__.py:49 msgid "Web Search" msgstr "" -#: plinth/modules/searx/forms.py:15 +#: plinth/modules/searx/forms.py:13 msgid "Safe Search" msgstr "" -#: plinth/modules/searx/forms.py:16 +#: plinth/modules/searx/forms.py:14 msgid "Select the default family filter to apply to your search results." msgstr "" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "None" msgstr "" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "Moderate" msgstr "" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "Strict" msgstr "" -#: plinth/modules/searx/forms.py:20 +#: plinth/modules/searx/forms.py:18 msgid "Allow Public Access" msgstr "" -#: plinth/modules/searx/forms.py:21 +#: plinth/modules/searx/forms.py:19 msgid "Allow this application to be used by anyone who can reach it." msgstr "" @@ -4521,28 +4512,28 @@ msgstr "" msgid "Socks5 Proxy" msgstr "" +#: plinth/modules/shadowsocks/forms.py:12 #: plinth/modules/shadowsocks/forms.py:13 -#: plinth/modules/shadowsocks/forms.py:14 msgid "Recommended" msgstr "" -#: plinth/modules/shadowsocks/forms.py:37 +#: plinth/modules/shadowsocks/forms.py:36 msgid "Server" msgstr "" -#: plinth/modules/shadowsocks/forms.py:38 +#: plinth/modules/shadowsocks/forms.py:37 msgid "Server hostname or IP address" msgstr "" -#: plinth/modules/shadowsocks/forms.py:42 +#: plinth/modules/shadowsocks/forms.py:41 msgid "Server port number" msgstr "" -#: plinth/modules/shadowsocks/forms.py:45 +#: plinth/modules/shadowsocks/forms.py:44 msgid "Password used to encrypt data. Must match server password." msgstr "" -#: plinth/modules/shadowsocks/forms.py:50 +#: plinth/modules/shadowsocks/forms.py:49 msgid "Encryption method. Must match setting on server." msgstr "" @@ -4583,11 +4574,11 @@ msgstr "" msgid "Make files in this folder available to anyone with the link." msgstr "" -#: plinth/modules/sharing/forms.py:33 +#: plinth/modules/sharing/forms.py:34 msgid "User groups that can read the files in the share" msgstr "" -#: plinth/modules/sharing/forms.py:35 +#: plinth/modules/sharing/forms.py:36 msgid "" "Users of the selected user groups will be able to read the files in the " "share." @@ -4858,11 +4849,11 @@ msgstr "" msgid "Secure Shell (SSH) Server" msgstr "" -#: plinth/modules/ssh/forms.py:15 +#: plinth/modules/ssh/forms.py:13 msgid "Disable password authentication" msgstr "" -#: plinth/modules/ssh/forms.py:16 +#: plinth/modules/ssh/forms.py:14 msgid "" "Improves security by preventing password guessing. Ensure that you have " "setup SSH keys in your administrator user account before enabling this " @@ -4911,129 +4902,129 @@ msgid "" "media, expand the root partition etc." msgstr "" -#: plinth/modules/storage/__init__.py:52 plinth/modules/storage/__init__.py:318 +#: plinth/modules/storage/__init__.py:54 plinth/modules/storage/__init__.py:320 msgid "Storage" 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 "" -#: plinth/modules/storage/__init__.py:313 +#: plinth/modules/storage/__init__.py:315 #, no-python-format, python-brace-format msgid "Low space on system partition: {percent_used}% used, {free_space} free." msgstr "" -#: plinth/modules/storage/__init__.py:315 +#: plinth/modules/storage/__init__.py:317 msgid "Low disk space" msgstr "" -#: plinth/modules/storage/forms.py:64 +#: plinth/modules/storage/forms.py:63 msgid "Invalid directory name." msgstr "" -#: plinth/modules/storage/forms.py:82 +#: plinth/modules/storage/forms.py:80 msgid "Directory does not exist." msgstr "" -#: plinth/modules/storage/forms.py:84 +#: plinth/modules/storage/forms.py:83 msgid "Path is not a directory." msgstr "" -#: plinth/modules/storage/forms.py:87 +#: plinth/modules/storage/forms.py:86 msgid "Directory is not readable by the user." msgstr "" -#: plinth/modules/storage/forms.py:90 +#: plinth/modules/storage/forms.py:89 msgid "Directory is not writable by the user." msgstr "" -#: plinth/modules/storage/forms.py:95 +#: plinth/modules/storage/forms.py:94 msgid "Directory" msgstr "" -#: plinth/modules/storage/forms.py:98 +#: plinth/modules/storage/forms.py:96 msgid "Subdirectory (optional)" msgstr "" -#: plinth/modules/storage/forms.py:145 +#: plinth/modules/storage/forms.py:143 msgid "Share" msgstr "" -#: plinth/modules/storage/forms.py:153 +#: plinth/modules/storage/forms.py:151 msgid "Other directory (specify below)" msgstr "" @@ -5114,19 +5105,20 @@ msgid "" "synchronize more often. {box_name} runs a single instance of Syncthing that " "may be used by multiple users. Each user's set of devices may be " "synchronized with a distinct set of folders. The web interface on " -"{box_name} is only available for users belonging to the \"admin\" group." +"{box_name} is only available for users belonging to the \"admin\" or " +"\"syncthing\" group." msgstr "" -#: plinth/modules/syncthing/__init__.py:40 +#: plinth/modules/syncthing/__init__.py:53 msgid "Administer Syncthing application" msgstr "" -#: plinth/modules/syncthing/__init__.py:54 +#: plinth/modules/syncthing/__init__.py:56 #: plinth/modules/syncthing/manifest.py:13 msgid "Syncthing" msgstr "" -#: plinth/modules/syncthing/__init__.py:55 +#: plinth/modules/syncthing/__init__.py:57 msgid "File Synchronization" msgstr "" @@ -5163,33 +5155,33 @@ msgid "" "%(domain_name)s:5678\">https://%(domain_name)s:5678." msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:39 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:29 msgid "Local introducer" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:59 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:76 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:33 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:49 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:66 msgid "Pet Name" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:56 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:46 msgid "Add new introducer" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:67 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:57 msgid "Add" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:72 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:62 msgid "Connected introducers" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:89 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:79 msgid "Remove" msgstr "" -#: plinth/modules/tor/__init__.py:33 +#: plinth/modules/tor/__init__.py:34 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -5198,40 +5190,40 @@ msgid "" "\">Tor Browser." msgstr "" -#: plinth/modules/tor/__init__.py:55 +#: plinth/modules/tor/__init__.py:54 msgid "Tor" msgstr "" -#: plinth/modules/tor/__init__.py:66 +#: plinth/modules/tor/__init__.py:65 msgid "Tor Onion Service" msgstr "" -#: plinth/modules/tor/__init__.py:70 +#: plinth/modules/tor/__init__.py:69 msgid "Tor Socks Proxy" msgstr "" -#: plinth/modules/tor/__init__.py:74 +#: plinth/modules/tor/__init__.py:73 msgid "Tor Bridge Relay" msgstr "" -#: plinth/modules/tor/__init__.py:95 +#: plinth/modules/tor/__init__.py:98 msgid "Tor relay port available" msgstr "" -#: plinth/modules/tor/__init__.py:105 +#: plinth/modules/tor/__init__.py:108 msgid "Obfs3 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:115 +#: plinth/modules/tor/__init__.py:118 msgid "Obfs4 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:208 +#: plinth/modules/tor/__init__.py:211 #, python-brace-format msgid "Access URL {url} on tcp{kind} via Tor" msgstr "" -#: plinth/modules/tor/__init__.py:219 +#: plinth/modules/tor/__init__.py:222 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "" @@ -5357,13 +5349,13 @@ msgstr "" msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050." msgstr "" -#: plinth/modules/transmission/__init__.py:27 +#: plinth/modules/transmission/__init__.py:28 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:48 +#: plinth/modules/transmission/__init__.py:51 #: plinth/modules/transmission/manifest.py:9 msgid "Transmission" msgstr "" @@ -5389,15 +5381,15 @@ msgid "" "connecting." msgstr "" -#: plinth/modules/ttrss/__init__.py:42 +#: plinth/modules/ttrss/__init__.py:54 msgid "Read and subscribe to news feeds" msgstr "" -#: plinth/modules/ttrss/__init__.py:56 plinth/modules/ttrss/manifest.py:19 +#: plinth/modules/ttrss/__init__.py:57 plinth/modules/ttrss/manifest.py:19 msgid "Tiny Tiny RSS" msgstr "" -#: plinth/modules/ttrss/__init__.py:57 +#: plinth/modules/ttrss/__init__.py:58 msgid "News Feed Reader" msgstr "" @@ -5409,11 +5401,11 @@ msgstr "" msgid "Check for and apply the latest software and security updates." msgstr "" -#: plinth/modules/upgrades/__init__.py:38 plinth/templates/setup.html:74 +#: plinth/modules/upgrades/__init__.py:40 plinth/templates/setup.html:74 msgid "Update" msgstr "" -#: plinth/modules/upgrades/__init__.py:76 +#: plinth/modules/upgrades/__init__.py:78 msgid "FreedomBox Updated" msgstr "" @@ -5463,43 +5455,39 @@ msgstr "" #: plinth/modules/upgrades/templates/upgrades_configure.html:11 #: plinth/modules/upgrades/templates/upgrades_configure.html:12 -#: plinth/modules/upgrades/views.py:88 +#: plinth/modules/upgrades/views.py:85 msgid "Manual update" msgstr "" -#: plinth/modules/upgrades/views.py:47 +#: plinth/modules/upgrades/views.py:46 #, python-brace-format msgid "Error when configuring unattended-upgrades: {error}" msgstr "" -#: plinth/modules/upgrades/views.py:51 +#: plinth/modules/upgrades/views.py:50 msgid "Automatic upgrades enabled" msgstr "" -#: plinth/modules/upgrades/views.py:54 +#: plinth/modules/upgrades/views.py:53 msgid "Automatic upgrades disabled" msgstr "" -#: plinth/modules/upgrades/views.py:56 -msgid "Settings unchanged" -msgstr "" - -#: plinth/modules/upgrades/views.py:82 +#: plinth/modules/upgrades/views.py:79 msgid "Upgrade process started." msgstr "" -#: plinth/modules/upgrades/views.py:85 +#: plinth/modules/upgrades/views.py:82 msgid "Starting upgrade failed." msgstr "" -#: plinth/modules/users/__init__.py:37 +#: plinth/modules/users/__init__.py:39 msgid "" "Create and managed user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " "account to be part of a group to authorize the user to access the app." msgstr "" -#: plinth/modules/users/__init__.py:42 +#: plinth/modules/users/__init__.py:44 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -5507,102 +5495,101 @@ msgid "" "group may alter apps or system settings." msgstr "" -#: plinth/modules/users/__init__.py:64 +#: plinth/modules/users/__init__.py:65 msgid "Users and Groups" msgstr "" -#: plinth/modules/users/__init__.py:115 +#: plinth/modules/users/__init__.py:78 +msgid "Access to all services and system settings" +msgstr "" + +#: plinth/modules/users/__init__.py:122 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "" -#: plinth/modules/users/forms.py:28 -msgid "Access to all services and system settings" -msgstr "" - -#: plinth/modules/users/forms.py:44 +#: plinth/modules/users/forms.py:36 msgid "Username is taken or is reserved." msgstr "" -#: plinth/modules/users/forms.py:72 +#: plinth/modules/users/forms.py:63 msgid "Enter a valid username." msgstr "" -#: plinth/modules/users/forms.py:78 +#: plinth/modules/users/forms.py:69 msgid "" "Required. 150 characters or fewer. English letters, digits and @/./-/_ only." msgstr "" -#: plinth/modules/users/forms.py:91 plinth/modules/users/forms.py:207 +#: plinth/modules/users/forms.py:83 plinth/modules/users/forms.py:196 msgid "Permissions" msgstr "" -#: plinth/modules/users/forms.py:94 +#: plinth/modules/users/forms.py:85 msgid "" -"Select which services should be available to the new user. The user will be " -"able to log in to services that support single sign-on through LDAP, if they " -"are in the appropriate group.

Users in the admin group will be " -"able to log in to all services. They can also log in to the system through " -"SSH and have administrative privileges (sudo)." +"user. The user will be able to log in to services that support single sign-" +"on through LDAP, if they are in the appropriate group.

Users in " +"the admin group will be able to log in to all services. They can also log in " +"to the system through SSH and have administrative privileges (sudo)." msgstr "" -#: plinth/modules/users/forms.py:133 plinth/modules/users/forms.py:357 +#: plinth/modules/users/forms.py:122 plinth/modules/users/forms.py:345 msgid "Creating LDAP user failed." msgstr "" -#: plinth/modules/users/forms.py:144 +#: plinth/modules/users/forms.py:133 #, python-brace-format msgid "Failed to add new user to {group} group." msgstr "" -#: plinth/modules/users/forms.py:158 +#: plinth/modules/users/forms.py:147 msgid "Authorized SSH Keys" msgstr "" -#: plinth/modules/users/forms.py:160 +#: plinth/modules/users/forms.py:149 msgid "" "Setting an SSH public key will allow this user to securely log in to the " "system without using a password. You may enter multiple keys, one on each " "line. Blank lines and lines starting with # will be ignored." msgstr "" -#: plinth/modules/users/forms.py:244 +#: plinth/modules/users/forms.py:233 msgid "Renaming LDAP user failed." msgstr "" -#: plinth/modules/users/forms.py:256 +#: plinth/modules/users/forms.py:245 msgid "Failed to remove user from group." msgstr "" -#: plinth/modules/users/forms.py:267 +#: plinth/modules/users/forms.py:256 msgid "Failed to add user to group." msgstr "" -#: plinth/modules/users/forms.py:276 +#: plinth/modules/users/forms.py:265 msgid "Unable to set SSH keys." msgstr "" -#: plinth/modules/users/forms.py:291 +#: plinth/modules/users/forms.py:280 msgid "Failed to change user status." msgstr "" -#: plinth/modules/users/forms.py:299 +#: plinth/modules/users/forms.py:288 msgid "Cannot delete the only administrator in the system." msgstr "" -#: plinth/modules/users/forms.py:331 +#: plinth/modules/users/forms.py:319 msgid "Changing LDAP user password failed." msgstr "" -#: plinth/modules/users/forms.py:366 +#: plinth/modules/users/forms.py:354 msgid "Failed to add new user to admin group." msgstr "" -#: plinth/modules/users/forms.py:383 +#: plinth/modules/users/forms.py:371 msgid "Failed to restrict console access." msgstr "" -#: plinth/modules/users/forms.py:395 +#: plinth/modules/users/forms.py:383 msgid "User account created, you are now logged in" msgstr "" @@ -6332,14 +6319,6 @@ msgstr "" msgid "%(percentage)s%% complete" msgstr "" -#: plinth/views.py:184 -msgid "Application enabled" -msgstr "" - -#: plinth/views.py:187 -msgid "Application disabled" -msgstr "" - #: plinth/web_framework.py:107 msgid "Gujarati" msgstr "" diff --git a/plinth/locale/cs/LC_MESSAGES/django.po b/plinth/locale/cs/LC_MESSAGES/django.po index ddf87b923..aa2922237 100644 --- a/plinth/locale/cs/LC_MESSAGES/django.po +++ b/plinth/locale/cs/LC_MESSAGES/django.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-23 18:54-0400\n" -"PO-Revision-Date: 2019-10-26 17:53+0000\n" +"POT-Creation-Date: 2020-04-06 19:59-0400\n" +"PO-Revision-Date: 2020-04-01 00:36+0000\n" "Last-Translator: Pavel Borecki \n" "Language-Team: Czech \n" @@ -17,21 +17,20 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" -"X-Generator: Weblate 3.9.1-dev\n" +"X-Generator: Weblate 4.0-dev\n" #: doc/dev/_templates/layout.html:11 msgid "Page source" -msgstr "" +msgstr "Zdrojový kód stránky" #: plinth/context_processors.py:23 plinth/views.py:53 msgid "FreedomBox" msgstr "FreedomBox" #: plinth/daemon.py:70 -#, fuzzy, python-brace-format -#| msgid "Service %(service_name)s is running." +#, python-brace-format msgid "Service {service_name} is running" -msgstr "Služba %(service_name)s je spuštěná." +msgstr "Služba {service_name} je spuštěná" #: plinth/daemon.py:96 #, python-brace-format @@ -53,15 +52,11 @@ msgstr "Připojit k {host}:{port}" msgid "Cannot connect to {host}:{port}" msgstr "Nedaří se připojit k {host}:{port}" -#: plinth/forms.py:24 -msgid "Enable application" -msgstr "Zapnout aplikaci" - -#: plinth/forms.py:39 +#: plinth/forms.py:38 msgid "Select a domain name to be used with this application" msgstr "Vyberte doménový název který použít pro tuto aplikaci" -#: plinth/forms.py:41 +#: plinth/forms.py:40 msgid "" "Warning! The application may not work properly if domain name is changed " "later." @@ -69,15 +64,15 @@ msgstr "" "Varování! Pokud snad později změníte doménový název, může se stát, že " "aplikace nebude správně fungovat." -#: plinth/forms.py:49 +#: plinth/forms.py:48 msgid "Language" msgstr "Jazyk" -#: plinth/forms.py:50 +#: plinth/forms.py:49 msgid "Language to use for presenting this web interface" msgstr "Jazyk pro toto webové rozhraní" -#: plinth/forms.py:57 +#: plinth/forms.py:56 msgid "Use the language preference set in the browser" msgstr "Použít upřednostňovaný jazyk nastavený ve webovém prohlížeči" @@ -399,32 +394,25 @@ msgid "Submit" msgstr "Potvrdit" #: plinth/modules/backups/templates/backups_repository.html:19 -#, fuzzy -#| msgid "Existing repository is not encrypted." msgid "This repository is encrypted" -msgstr "Existující repozitář není šifrován." +msgstr "Tento repozitář je šifrovaný" #: plinth/modules/backups/templates/backups_repository.html:34 -#, fuzzy -#| msgid "Remove Location" msgid "Unmount Location" -msgstr "Odebrat umístění" +msgstr "Odpojit umístění" #: plinth/modules/backups/templates/backups_repository.html:45 -#, fuzzy -#| msgid "Mount Point" msgid "Mount Location" -msgstr "Přípojný bod" +msgstr "Umístění připojení (mount)" #: plinth/modules/backups/templates/backups_repository.html:56 msgid "Remove Backup Location. This will not delete the remote backup." msgstr "" +"Odebrat umístění zálohy. Stávající zálohy budou na protějšku ponechány." #: plinth/modules/backups/templates/backups_repository.html:77 -#, fuzzy -#| msgid "downloading" msgid "Download" -msgstr "stahování" +msgstr "Stáhnout" #: plinth/modules/backups/templates/backups_repository.html:81 #: plinth/modules/backups/templates/backups_restore.html:28 @@ -441,23 +429,12 @@ msgid "Are you sure that you want to remove this repository?" msgstr "Opravdu chcete tento repozitář odebrat?" #: plinth/modules/backups/templates/backups_repository_remove.html:19 -#, fuzzy -#| msgid "" -#| "\n" -#| " The remote repository will not be deleted.\n" -#| " This just removes the repository from the listing on the backup " -#| "page, you\n" -#| " can add it again later on.\n" -#| " " msgid "" "The remote repository will not be deleted. This just removes the repository " "from the listing on the backup page, you can add it again later on." msgstr "" -"\n" -" Repozitář na protějšku nebude smazán.\n" -" Toto repozitář pouze odebere z výpisu na stránce záloh, později\n" -" je možné ho znovu přidat.\n" -" " +"Repozitář na protějšku nebude smazán. Toto repozitář pouze odebere z výpisu " +"na stránce záloh, kdykoli je možné ho znovu přidat." #: plinth/modules/backups/templates/backups_repository_remove.html:31 msgid "Remove Location" @@ -662,21 +639,21 @@ msgstr "BIND" msgid "Domain Name Server" msgstr "Doménový jmenný server" -#: plinth/modules/bind/forms.py:22 +#: plinth/modules/bind/forms.py:20 msgid "Forwarders" msgstr "Přeposílat na" -#: plinth/modules/bind/forms.py:23 +#: plinth/modules/bind/forms.py:21 msgid "" "A list DNS servers, separated by space, to which requests will be forwarded" msgstr "" "Seznam DNS serverů (oddělovaných mezerou) na které přeposílat požadavky" -#: plinth/modules/bind/forms.py:27 +#: plinth/modules/bind/forms.py:25 msgid "Enable DNSSEC" msgstr "Zapnout DNSSEC" -#: plinth/modules/bind/forms.py:28 +#: plinth/modules/bind/forms.py:26 msgid "Enable Domain Name System Security Extensions" msgstr "Zapnout zabezpečovací rozšíření systému doménových názvů" @@ -716,10 +693,11 @@ msgstr "IP adresa" msgid "Refresh IP address and domains" msgstr "" -#: plinth/modules/bind/views.py:72 plinth/modules/deluge/views.py:44 +#: plinth/modules/bind/views.py:72 plinth/modules/deluge/views.py:42 #: plinth/modules/dynamicdns/views.py:150 plinth/modules/openvpn/views.py:133 -#: plinth/modules/pagekite/forms.py:91 plinth/modules/shadowsocks/views.py:59 -#: plinth/modules/transmission/views.py:50 +#: plinth/modules/pagekite/forms.py:90 plinth/modules/quassel/views.py:30 +#: plinth/modules/shadowsocks/views.py:59 +#: plinth/modules/transmission/views.py:47 msgid "Configuration updated" msgstr "Nastavení aktualizováno" @@ -781,11 +759,11 @@ msgid "" "name, webserver home page etc." msgstr "" -#: plinth/modules/config/__init__.py:50 +#: plinth/modules/config/__init__.py:52 msgid "General Configuration" msgstr "Obecná nastavení" -#: plinth/modules/config/__init__.py:55 plinth/modules/dynamicdns/views.py:29 +#: plinth/modules/config/__init__.py:57 plinth/modules/dynamicdns/views.py:29 #: plinth/modules/names/templates/names.html:29 #: plinth/modules/names/templates/names.html:43 #: plinth/modules/snapshot/views.py:26 @@ -793,7 +771,7 @@ msgstr "Obecná nastavení" msgid "Configure" msgstr "Nastavit" -#: plinth/modules/config/__init__.py:59 plinth/modules/config/forms.py:61 +#: plinth/modules/config/__init__.py:61 plinth/modules/config/forms.py:61 #: plinth/modules/dynamicdns/forms.py:95 msgid "Domain Name" msgstr "Doménový název" @@ -948,15 +926,15 @@ msgstr "" msgid "Coquelicot" msgstr "Coquelicot" -#: plinth/modules/coquelicot/__init__.py:47 plinth/modules/samba/__init__.py:62 +#: plinth/modules/coquelicot/__init__.py:47 plinth/modules/samba/__init__.py:63 msgid "File Sharing" msgstr "Sdílení souborů" -#: plinth/modules/coquelicot/forms.py:15 +#: plinth/modules/coquelicot/forms.py:13 msgid "Upload Password" msgstr "Heslo pro nahrávání" -#: plinth/modules/coquelicot/forms.py:16 +#: plinth/modules/coquelicot/forms.py:14 msgid "" "Set a new upload password for Coquelicot. Leave this field blank to keep the " "current password." @@ -964,11 +942,11 @@ msgstr "" "Nastavte nové heslo pro nahrávání na Coquelicot. Pro ponechání stávajícího " "hesla tuto kolonku nevyplňujte." -#: plinth/modules/coquelicot/forms.py:20 +#: plinth/modules/coquelicot/forms.py:18 msgid "Maximum File Size (in MiB)" msgstr "Nejvyšší umožněná velikost souboru (v MiB)" -#: plinth/modules/coquelicot/forms.py:21 +#: plinth/modules/coquelicot/forms.py:19 msgid "Set the maximum size of the files that can be uploaded to Coquelicot." msgstr "" "Nastavte nejvyšší umožněnou velikost jednotlivých souborů, jakou bude možné " @@ -1012,11 +990,11 @@ msgstr "Datum a čas" msgid "Time synchronized to NTP server" msgstr "Čas synchronizován s NTP serverem" -#: plinth/modules/datetime/forms.py:20 +#: plinth/modules/datetime/forms.py:18 msgid "Time Zone" msgstr "Časová zóna" -#: plinth/modules/datetime/forms.py:21 +#: plinth/modules/datetime/forms.py:19 msgid "" "Set your time zone to get accurate timestamps. This will set the system-wide " "time zone." @@ -1024,7 +1002,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:32 +#: plinth/modules/datetime/forms.py:30 msgid "-- no time zone set --" msgstr "-- není nastavena časová zóna --" @@ -1037,12 +1015,12 @@ msgstr "Chyba při nastavování časové zóny: {exception}" msgid "Time zone set" msgstr "Nastavení časové zóny" -#: plinth/modules/deluge/__init__.py:25 +#: plinth/modules/deluge/__init__.py:26 msgid "Deluge is a BitTorrent client that features a Web UI." msgstr "" "Deluge je BitTorrent klient který poskytuje webové uživatelské rozhraní." -#: plinth/modules/deluge/__init__.py:26 +#: plinth/modules/deluge/__init__.py:27 #, fuzzy #| msgid "" #| "When enabled, the Deluge web client will be available from /deluge umístění na webovém serveru. Výchozí heslo je „deluge“, ale " "hned po zapnutí této služby se okamžitě přihlaste a změňte ho." -#: plinth/modules/deluge/__init__.py:30 -#: plinth/modules/transmission/__init__.py:34 +#: plinth/modules/deluge/__init__.py:46 +#: plinth/modules/transmission/__init__.py:48 msgid "Download files using BitTorrent applications" msgstr "Stahovat soubory pomocí BitTorrent aplikací" -#: plinth/modules/deluge/__init__.py:46 plinth/modules/deluge/manifest.py:9 +#: plinth/modules/deluge/__init__.py:50 plinth/modules/deluge/manifest.py:9 msgid "Deluge" msgstr "Deluge" -#: plinth/modules/deluge/__init__.py:47 -#: plinth/modules/transmission/__init__.py:50 +#: plinth/modules/deluge/__init__.py:51 +#: plinth/modules/transmission/__init__.py:53 msgid "BitTorrent Web Client" msgstr "Webový klient sítě BitTorrent" -#: plinth/modules/deluge/forms.py:20 plinth/modules/transmission/forms.py:20 +#: plinth/modules/deluge/forms.py:20 plinth/modules/transmission/forms.py:21 msgid "Download directory" msgstr "Složka pro stahování" @@ -1150,7 +1128,7 @@ msgstr "diaspora*" msgid "Federated Social Network" msgstr "Decentralizovaná společenská síť" -#: plinth/modules/diaspora/forms.py:15 +#: plinth/modules/diaspora/forms.py:13 msgid "Enable new user registrations" msgstr "Umožnit registrování nových uživatelů" @@ -1184,32 +1162,23 @@ msgstr "" #: plinth/modules/diaspora/templates/diaspora-pre-setup.html:43 #: plinth/modules/dynamicdns/templates/dynamicdns_configure.html:25 -#: plinth/modules/ejabberd/templates/ejabberd.html:43 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:18 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:47 #: plinth/modules/snapshot/templates/snapshot.html:15 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:35 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:43 -#: plinth/templates/app.html:52 +#: plinth/templates/app.html:54 msgid "Update setup" msgstr "Aktualizovat nastavení" -#: plinth/modules/diaspora/views.py:76 plinth/modules/ejabberd/views.py:46 -#: plinth/modules/matrixsynapse/views.py:85 -#: plinth/modules/mediawiki/views.py:58 plinth/modules/openvpn/views.py:135 -#: plinth/modules/tor/views.py:136 plinth/views.py:180 -msgid "Setting unchanged" -msgstr "Nastavení se nezměnila" - -#: plinth/modules/diaspora/views.py:80 +#: plinth/modules/diaspora/views.py:74 msgid "User registrations enabled" msgstr "Registrace uživatelů zapnuta" -#: plinth/modules/diaspora/views.py:84 +#: plinth/modules/diaspora/views.py:78 msgid "User registrations disabled" msgstr "Registrace uživatelů vypnuta" -#: plinth/modules/dynamicdns/__init__.py:27 +#: plinth/modules/dynamicdns/__init__.py:28 #, python-brace-format msgid "" "If your Internet provider changes your IP address periodically (i.e. every " @@ -1220,7 +1189,7 @@ msgstr "" "(např. každých 24h), může pro ostatní být být těžké najít vás na Internetu. " "Toto ostatním zabrání nalézt služby, které jsou poskytovány tímto {box_name}." -#: plinth/modules/dynamicdns/__init__.py:31 +#: plinth/modules/dynamicdns/__init__.py:32 msgid "" "The solution is to assign a DNS name to your IP address and update the DNS " "name every time your IP is changed by your Internet provider. Dynamic DNS " @@ -1238,11 +1207,11 @@ msgstr "" "někdo z Internetu zeptá na váš DNS název, dostane odpověď s vaší současnou " "IP adresou." -#: plinth/modules/dynamicdns/__init__.py:56 +#: plinth/modules/dynamicdns/__init__.py:55 msgid "Dynamic DNS Client" msgstr "Klient dynamické DNS" -#: plinth/modules/dynamicdns/__init__.py:66 +#: plinth/modules/dynamicdns/__init__.py:65 msgid "Dynamic Domain Name" msgstr "Název dynamické domény" @@ -1350,7 +1319,7 @@ msgid "Username" msgstr "Uživatelské jméno" #: plinth/modules/dynamicdns/forms.py:104 plinth/modules/networks/forms.py:200 -#: plinth/modules/shadowsocks/forms.py:45 +#: plinth/modules/shadowsocks/forms.py:44 msgid "Password" msgstr "Heslo" @@ -1447,7 +1416,7 @@ msgstr "" msgid "Last update" msgstr "Minulá aktualizace" -#: plinth/modules/dynamicdns/views.py:26 plinth/modules/help/__init__.py:49 +#: plinth/modules/dynamicdns/views.py:26 plinth/modules/help/__init__.py:51 #: plinth/templates/help-menu.html:46 plinth/templates/help-menu.html:47 msgid "About" msgstr "O systému" @@ -1474,7 +1443,7 @@ msgstr "Nastavit dynamický DNS" msgid "Dynamic DNS Status" msgstr "Stav dynamického DNS" -#: plinth/modules/ejabberd/__init__.py:36 +#: plinth/modules/ejabberd/__init__.py:37 msgid "" "XMPP is an open and standardized communication protocol. Here you can run " "and configure your XMPP server, called ejabberd." @@ -1482,7 +1451,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:39 +#: plinth/modules/ejabberd/__init__.py:40 #, python-brace-format msgid "" "To actually communicate, you can use the web clientXMPP klienta. Když je zapnutý, ejabberd je přístupný " "libovolnému uživateli s účtem na {box_name}." -#: plinth/modules/ejabberd/__init__.py:70 +#: plinth/modules/ejabberd/__init__.py:69 msgid "ejabberd" msgstr "ejabberd" -#: plinth/modules/ejabberd/__init__.py:71 +#: plinth/modules/ejabberd/__init__.py:70 #: plinth/modules/matrixsynapse/__init__.py:68 msgid "Chat Server" msgstr "Chat server" -#: plinth/modules/ejabberd/forms.py:17 +#: plinth/modules/ejabberd/forms.py:16 msgid "Enable Message Archive Management" msgstr "Zapnout správu archivu zpráv" -#: plinth/modules/ejabberd/forms.py:19 +#: plinth/modules/ejabberd/forms.py:18 #, python-brace-format msgid "" "If enabled, your {box_name} will store chat message histories. This allows " @@ -1577,19 +1546,11 @@ msgstr "" "%(domainname)s. Doménu je možné nastavit na stránce nastavení systému." -#: plinth/modules/ejabberd/templates/ejabberd.html:35 -#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 -#: plinth/modules/snapshot/templates/snapshot.html:12 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:27 -#: plinth/templates/app.html:45 -msgid "Configuration" -msgstr "Nastavení" - -#: plinth/modules/ejabberd/views.py:58 +#: plinth/modules/ejabberd/views.py:45 msgid "Message Archive Management enabled" msgstr "Správa archivu zpráv zapnuta" -#: plinth/modules/ejabberd/views.py:62 +#: plinth/modules/ejabberd/views.py:49 msgid "Message Archive Management disabled" msgstr "Správa archivu zpráv vypnuta" @@ -1604,7 +1565,7 @@ msgstr "" "provoz na vašem {box_name}. Zapnutá a správně nastavená brána firewall " "snižuje riziko bezpečnostních hrozeb z Internetu." -#: plinth/modules/firewall/__init__.py:63 +#: plinth/modules/firewall/__init__.py:65 msgid "Firewall" msgstr "Brána firewall" @@ -1759,7 +1720,7 @@ msgstr "" "Více o Git se dozvíte navštívením výuky Gitu." -#: plinth/modules/gitweb/__init__.py:39 +#: plinth/modules/gitweb/__init__.py:51 msgid "Read-write access to Git repositories" msgstr "Přístup do Git repozitářů pro čtení a zápis" @@ -1901,31 +1862,31 @@ msgstr "{name} smazáno." msgid "Could not delete {name}: {error}" msgstr "{name} se nepodařilo smazat: {error}" -#: plinth/modules/help/__init__.py:30 +#: plinth/modules/help/__init__.py:32 msgid "Documentation" msgstr "Dokumentace" -#: plinth/modules/help/__init__.py:33 plinth/modules/networks/forms.py:47 +#: plinth/modules/help/__init__.py:35 plinth/modules/networks/forms.py:47 #: plinth/modules/networks/forms.py:77 plinth/templates/help-menu.html:20 #: plinth/templates/help-menu.html:21 plinth/templates/index.html:128 msgid "Manual" msgstr "Příručka" -#: plinth/modules/help/__init__.py:37 +#: plinth/modules/help/__init__.py:39 #: plinth/modules/help/templates/help_support.html:9 #: plinth/modules/help/views.py:43 plinth/templates/help-menu.html:27 #: plinth/templates/help-menu.html:28 msgid "Get Support" msgstr "Získat podporu" -#: plinth/modules/help/__init__.py:41 +#: plinth/modules/help/__init__.py:43 #: plinth/modules/help/templates/help_feedback.html:9 #: plinth/modules/help/views.py:37 plinth/templates/help-menu.html:33 #: plinth/templates/help-menu.html:34 msgid "Submit Feedback" msgstr "Odeslat zpětnou vazbu" -#: plinth/modules/help/__init__.py:45 +#: plinth/modules/help/__init__.py:47 #: plinth/modules/help/templates/help_contribute.html:9 #: plinth/modules/help/views.py:31 plinth/templates/help-menu.html:39 #: plinth/templates/help-menu.html:40 @@ -2061,7 +2022,7 @@ msgstr "" #: plinth/modules/help/templates/help_contribute.html:42 #: plinth/modules/power/templates/power_restart.html:27 #: plinth/modules/power/templates/power_shutdown.html:26 -#: plinth/templates/app-header.html:51 +#: plinth/templates/app-header.html:53 msgid "Learn more..." msgstr "Zjistit více…" @@ -2242,19 +2203,19 @@ msgid "" msgstr "" "První navštívení poskytovaného webového rozhraní spustí proces nastavení." -#: plinth/modules/i2p/__init__.py:38 +#: plinth/modules/i2p/__init__.py:62 msgid "Manage I2P application" msgstr "Spravovat aplikaci I2P" -#: plinth/modules/i2p/__init__.py:64 plinth/modules/i2p/manifest.py:16 +#: plinth/modules/i2p/__init__.py:65 plinth/modules/i2p/manifest.py:16 msgid "I2P" msgstr "I2P" -#: plinth/modules/i2p/__init__.py:65 plinth/modules/tor/__init__.py:56 +#: plinth/modules/i2p/__init__.py:66 plinth/modules/tor/__init__.py:55 msgid "Anonymity Network" msgstr "Anonymní síť" -#: plinth/modules/i2p/__init__.py:87 +#: plinth/modules/i2p/__init__.py:88 msgid "I2P Proxy" msgstr "I2P proxy" @@ -2330,18 +2291,18 @@ 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:39 -msgid "View and edit wiki applications" -msgstr "Zobrazit a upravit wiki aplikace" - -#: plinth/modules/ikiwiki/__init__.py:53 plinth/modules/ikiwiki/manifest.py:9 +#: plinth/modules/ikiwiki/__init__.py:52 plinth/modules/ikiwiki/manifest.py:9 msgid "ikiwiki" msgstr "ikiwiki" -#: plinth/modules/ikiwiki/__init__.py:54 +#: plinth/modules/ikiwiki/__init__.py:53 msgid "Wiki and Blog" msgstr "wiki a blog" +#: plinth/modules/ikiwiki/__init__.py:73 +msgid "View and edit wiki applications" +msgstr "Zobrazit a upravit wiki aplikace" + #: plinth/modules/ikiwiki/forms.py:17 msgid "Admin Account Name" msgstr "Název účtu správce" @@ -2387,32 +2348,32 @@ msgstr "" "Tato akce odebere veškeré příspěvky, stránky a komentáře včetně historie " "verzí. Opravdu chcete nenávratně smazat tuto wiki/blog?" -#: plinth/modules/ikiwiki/views.py:72 +#: plinth/modules/ikiwiki/views.py:70 #, python-brace-format msgid "Created wiki {name}." msgstr "Wiki {name} vytvořena." -#: plinth/modules/ikiwiki/views.py:75 +#: plinth/modules/ikiwiki/views.py:73 #, python-brace-format msgid "Could not create wiki: {error}" msgstr "Wiki se nepodařilo vytvořit: {error}" -#: plinth/modules/ikiwiki/views.py:85 +#: plinth/modules/ikiwiki/views.py:83 #, python-brace-format msgid "Created blog {name}." msgstr "Blog {name} vytvořen." -#: plinth/modules/ikiwiki/views.py:88 +#: plinth/modules/ikiwiki/views.py:86 #, python-brace-format msgid "Could not create blog: {error}" msgstr "Blog se nepodařilo vytvořit: {error}" -#: plinth/modules/ikiwiki/views.py:103 +#: plinth/modules/ikiwiki/views.py:101 #, python-brace-format msgid "{title} deleted." msgstr "{title} dsmazáno." -#: plinth/modules/ikiwiki/views.py:107 +#: plinth/modules/ikiwiki/views.py:105 #, python-brace-format msgid "Could not delete {title}: {error}" msgstr "{title} se nepodařilo smazat: {error}" @@ -2458,7 +2419,7 @@ msgstr "" "Spusťte Goggy a zvolte „Připojit k serveru“ a zadejte doménový název svého " "{box_name}." -#: plinth/modules/jsxc/__init__.py:22 +#: plinth/modules/jsxc/__init__.py:23 msgid "" "JSXC is a web client for XMPP. Typically it is used with an XMPP server " "running locally." @@ -2466,11 +2427,11 @@ msgstr "" "JSXC je webový klient pro XMPP. Typicky je používaný s lokálně provozovaným " "XMPP serverem." -#: plinth/modules/jsxc/__init__.py:40 plinth/modules/jsxc/manifest.py:10 +#: plinth/modules/jsxc/__init__.py:43 plinth/modules/jsxc/manifest.py:10 msgid "JSXC" msgstr "JSXC" -#: plinth/modules/jsxc/__init__.py:41 +#: plinth/modules/jsxc/__init__.py:44 msgid "Chat Client" msgstr "Chatovací klient" @@ -2656,11 +2617,11 @@ msgstr "" msgid "Matrix Synapse" msgstr "Matrix Synapse" -#: plinth/modules/matrixsynapse/forms.py:14 +#: plinth/modules/matrixsynapse/forms.py:12 msgid "Enable Public Registration" msgstr "Umožnit registraci veřejnosti" -#: plinth/modules/matrixsynapse/forms.py:15 +#: plinth/modules/matrixsynapse/forms.py:13 msgid "" "Enabling public registration means that anyone on the Internet can register " "a new account on your Matrix server. Disable this if you only want existing " @@ -2674,6 +2635,12 @@ msgstr "" msgid "Riot" msgstr "Riot" +#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 +#: plinth/modules/snapshot/templates/snapshot.html:12 +#: plinth/templates/app.html:46 +msgid "Configuration" +msgstr "Nastavení" + #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:18 msgid "" "Matrix service needs to be configured for a domain. Users on other Matrix " @@ -2750,11 +2717,11 @@ msgstr "" " Encrypt a získejte takový.\n" " " -#: plinth/modules/matrixsynapse/views.py:98 +#: plinth/modules/matrixsynapse/views.py:86 msgid "Public registration enabled" msgstr "Registrace pro veřejnost otevřena" -#: plinth/modules/matrixsynapse/views.py:103 +#: plinth/modules/matrixsynapse/views.py:91 msgid "Public registration disabled" msgstr "Registrace pro veřejnost zavřena" @@ -2801,11 +2768,11 @@ msgstr "MediaWiki" msgid "Wiki" msgstr "Wiki" -#: plinth/modules/mediawiki/forms.py:27 +#: plinth/modules/mediawiki/forms.py:25 msgid "Administrator Password" msgstr "Heslo k účtu správce" -#: plinth/modules/mediawiki/forms.py:28 +#: plinth/modules/mediawiki/forms.py:26 msgid "" "Set a new password for MediaWiki's administrator account (admin). Leave this " "field blank to keep the current password." @@ -2813,11 +2780,11 @@ msgstr "" "Nastavte nové heslo pro účet správce (admin) MediaWiki. Pro ponechání " "stávajícího hesla tuto kolonku nevyplňujte." -#: plinth/modules/mediawiki/forms.py:33 +#: plinth/modules/mediawiki/forms.py:31 msgid "Enable public registrations" msgstr "Umožnit registraci veřejnosti" -#: plinth/modules/mediawiki/forms.py:34 +#: plinth/modules/mediawiki/forms.py:32 msgid "" "If enabled, anyone on the internet will be able to create an account on your " "MediaWiki instance." @@ -2825,11 +2792,11 @@ msgstr "" "Pokud je zapnuto, kdokoli z Internetu si bude moci vytvořit účet na vaší " "instanci MediaWiki." -#: plinth/modules/mediawiki/forms.py:38 +#: plinth/modules/mediawiki/forms.py:36 msgid "Enable private mode" msgstr "Zapnout soukromý režim" -#: plinth/modules/mediawiki/forms.py:39 +#: plinth/modules/mediawiki/forms.py:37 msgid "" "If enabled, access will be restricted. Only people who have accounts can " "read/write to the wiki. Public registrations will also be disabled." @@ -2837,45 +2804,45 @@ msgstr "" "Když je zapnuto, přístup bude omezen. Pouze lidé kteří zde mají uživatelské " "účty mohou číst/psát do wiki. Registrace veřejnosti jsou také vypnuté." -#: plinth/modules/mediawiki/forms.py:44 +#: plinth/modules/mediawiki/forms.py:42 #, fuzzy #| msgid "Default" msgid "Default Skin" msgstr "Výchozí" -#: plinth/modules/mediawiki/forms.py:45 +#: plinth/modules/mediawiki/forms.py:43 msgid "" "Choose a default skin for your MediaWiki installation. Users have the option " "to select their preferred skin." msgstr "" -#: plinth/modules/mediawiki/views.py:53 +#: plinth/modules/mediawiki/views.py:48 msgid "Password updated" msgstr "Heslo aktualizováno" -#: plinth/modules/mediawiki/views.py:72 +#: plinth/modules/mediawiki/views.py:57 msgid "Public registrations enabled" msgstr "Registrace pro veřejnost otevřené" -#: plinth/modules/mediawiki/views.py:81 +#: plinth/modules/mediawiki/views.py:66 msgid "Public registrations disabled" msgstr "Registrace pro veřejnost zavřené" -#: plinth/modules/mediawiki/views.py:86 +#: plinth/modules/mediawiki/views.py:71 msgid "Private mode enabled" msgstr "Soukromý režim zapnut" -#: plinth/modules/mediawiki/views.py:93 +#: plinth/modules/mediawiki/views.py:78 msgid "Private mode disabled" msgstr "Soukromý režim vypnut" -#: plinth/modules/mediawiki/views.py:101 +#: plinth/modules/mediawiki/views.py:86 #, fuzzy #| msgid "Setting unchanged" msgid "Default skin changed" msgstr "Nastavení se nezměnila" -#: plinth/modules/minetest/__init__.py:37 +#: plinth/modules/minetest/__init__.py:38 #, python-brace-format msgid "" "Minetest is a multiplayer infinite-world block sandbox. This module enables " @@ -2888,20 +2855,20 @@ msgstr "" "serveru je třeba Minetest " "klient." -#: plinth/modules/minetest/__init__.py:63 +#: plinth/modules/minetest/__init__.py:62 #: plinth/modules/minetest/manifest.py:10 msgid "Minetest" msgstr "Minetest" -#: plinth/modules/minetest/__init__.py:64 +#: plinth/modules/minetest/__init__.py:63 msgid "Block Sandbox" msgstr "Pískoviště s kostkami" -#: plinth/modules/minetest/forms.py:15 +#: plinth/modules/minetest/forms.py:13 msgid "Maximum number of players" msgstr "Nejvyšší umožněný počet hráčů" -#: plinth/modules/minetest/forms.py:17 +#: plinth/modules/minetest/forms.py:15 msgid "" "You can change the maximum number of players playing minetest at a single " "instance of time." @@ -2909,11 +2876,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:21 +#: plinth/modules/minetest/forms.py:19 msgid "Enable creative mode" msgstr "Zapnout tvořivý režim" -#: plinth/modules/minetest/forms.py:22 +#: plinth/modules/minetest/forms.py:20 msgid "" "Creative mode changes the rules of the game to make it more suitable for " "creative gameplay, rather than challenging \"survival\" gameplay." @@ -2921,19 +2888,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:27 +#: plinth/modules/minetest/forms.py:25 msgid "Enable PVP" msgstr "Zapnout PVP" -#: plinth/modules/minetest/forms.py:28 +#: plinth/modules/minetest/forms.py:26 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:32 +#: plinth/modules/minetest/forms.py:30 msgid "Enable damage" msgstr "Zapnout poškozování" -#: plinth/modules/minetest/forms.py:33 +#: plinth/modules/minetest/forms.py:31 msgid "When disabled, players cannot die or receive damage of any kind." msgstr "Pokud je vypnuto, postavy hráčů nemohou zemřít nebo se zranit." @@ -2974,19 +2941,19 @@ msgid "" "Kodi." msgstr "" -#: plinth/modules/minidlna/__init__.py:33 +#: plinth/modules/minidlna/__init__.py:44 msgid "Media streaming server" msgstr "" -#: plinth/modules/minidlna/__init__.py:47 +#: plinth/modules/minidlna/__init__.py:48 msgid "Simple Media Server" msgstr "" -#: plinth/modules/minidlna/forms.py:15 +#: plinth/modules/minidlna/forms.py:13 msgid "Media Files Directory" msgstr "" -#: plinth/modules/minidlna/forms.py:16 +#: plinth/modules/minidlna/forms.py:14 msgid "" "Directory that MiniDLNA Server will read for content. All sub-directories of " "this will be also scanned for media files. If you change the default ensure " @@ -3046,16 +3013,16 @@ msgid "" msgstr "" "Na {box_name}, stažené soubory se nacházejí ve složce /var/lib/mldonkey/ ." -#: plinth/modules/mldonkey/__init__.py:40 +#: plinth/modules/mldonkey/__init__.py:50 msgid "Download files using eDonkey applications" msgstr "Stahovat soubory pomocí eDonkey aplikací" -#: plinth/modules/mldonkey/__init__.py:54 +#: plinth/modules/mldonkey/__init__.py:53 #: plinth/modules/mldonkey/manifest.py:12 msgid "MLDonkey" msgstr "MLDonkey" -#: plinth/modules/mldonkey/__init__.py:56 +#: plinth/modules/mldonkey/__init__.py:55 msgid "Peer-to-peer File Sharing" msgstr "Pee-to-peer sdílení souborů" @@ -3067,7 +3034,7 @@ msgstr "KMLDonkey" msgid "AMLDonkey" msgstr "AMLDonkey" -#: plinth/modules/monkeysphere/__init__.py:18 +#: plinth/modules/monkeysphere/__init__.py:19 msgid "" "With Monkeysphere, an OpenPGP key can be generated for each configured " "domain serving SSH. The OpenPGP public key can then be uploaded to the " @@ -3087,7 +3054,7 @@ msgstr "" "naleznete v SSH dokumentaci k Monkeysphere." -#: plinth/modules/monkeysphere/__init__.py:26 +#: plinth/modules/monkeysphere/__init__.py:27 msgid "" "Monkeysphere can also generate an OpenPGP key for each Secure Web Server " "(HTTPS) certificate installed on this machine. The OpenPGP public key can " @@ -3105,7 +3072,7 @@ msgstr "" "nainstalovat nějaký software, který je k dispozici na webové stránce Monkeysphere." -#: plinth/modules/monkeysphere/__init__.py:50 +#: plinth/modules/monkeysphere/__init__.py:49 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:11 msgid "Monkeysphere" msgstr "Monkeysphere" @@ -3154,15 +3121,15 @@ msgstr "Zobrazit podrobnosti klíče %(fingerprint)s" msgid "-" msgstr "-" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:128 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:129 msgid "Import Key" msgstr "Importovat klíč" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:137 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:139 msgid "Publish Key" msgstr "Zveřejnit klíč" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:146 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:149 msgid "Add Domains" msgstr "Přidat domény" @@ -3235,7 +3202,7 @@ 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:23 +#: plinth/modules/mumble/__init__.py:24 msgid "" "Mumble is an open source, low-latency, encrypted, high quality voice chat " "software." @@ -3243,7 +3210,7 @@ msgstr "" "Mumble je open source software pro šifrovanou, vysoce kvalitní hlasovou " "komunikaci s nízkou prodlevou." -#: plinth/modules/mumble/__init__.py:25 +#: plinth/modules/mumble/__init__.py:26 msgid "" "You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your " @@ -3253,21 +3220,21 @@ msgstr "" "dispozici jsou klienti pro připojení z " "desktopu a Android zařízení." -#: plinth/modules/mumble/__init__.py:49 plinth/modules/mumble/manifest.py:12 +#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:12 msgid "Mumble" msgstr "Mumble" -#: plinth/modules/mumble/__init__.py:50 +#: plinth/modules/mumble/__init__.py:49 msgid "Voice Chat" msgstr "Hlasový chat" -#: plinth/modules/mumble/forms.py:16 +#: plinth/modules/mumble/forms.py:14 #, fuzzy #| msgid "SSH server password" msgid "Set SuperUser Password" msgstr "Heslo SSH serveru" -#: plinth/modules/mumble/forms.py:19 +#: plinth/modules/mumble/forms.py:17 msgid "" "Optional. Leave this field blank to keep the current password. SuperUser " "password can be used to manage permissions in Mumble." @@ -3592,7 +3559,7 @@ msgstr "Otevřené" #: plinth/modules/networks/forms.py:297 #, fuzzy, python-brace-format #| msgid "Use upstream bridges to connect to Tor network" -msgid "Choose how your {box_name} is connected to your network" +msgid "Specify how your {box_name} is connected to your network" msgstr "Pro připojení k Tor síti použijte nadřazené mosty" #: plinth/modules/networks/forms.py:304 @@ -3813,7 +3780,7 @@ msgstr "IPv4" #: plinth/modules/networks/templates/connection_show.html:171 #: plinth/modules/networks/templates/connection_show.html:212 -#: plinth/modules/shadowsocks/forms.py:49 +#: plinth/modules/shadowsocks/forms.py:48 msgid "Method" msgstr "Metoda" @@ -3829,7 +3796,7 @@ msgstr "DNS server" #: plinth/modules/networks/templates/connection_show.html:201 #: plinth/modules/networks/templates/connection_show.html:240 -#: plinth/modules/storage/forms.py:141 +#: plinth/modules/storage/forms.py:139 msgid "Default" msgstr "Výchozí" @@ -4312,6 +4279,11 @@ msgstr "Nastavování dokončeno." msgid "Setup failed." msgstr "Nastavování se nezdařilo." +#: plinth/modules/openvpn/views.py:135 plinth/modules/tor/views.py:136 +#: plinth/views.py:196 +msgid "Setting unchanged" +msgstr "Nastavení se nezměnila" + #: plinth/modules/pagekite/__init__.py:27 #, python-brace-format msgid "" @@ -4388,11 +4360,11 @@ msgstr "Viditelnost na veřejnosti" msgid "PageKite Domain" msgstr "PageKite doména" -#: plinth/modules/pagekite/forms.py:48 +#: plinth/modules/pagekite/forms.py:47 msgid "Server domain" msgstr "Doména serveru" -#: plinth/modules/pagekite/forms.py:50 +#: plinth/modules/pagekite/forms.py:49 msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " "pagekite.net server." @@ -4400,31 +4372,31 @@ msgstr "" "Vyberte pagekite server, který chcete používat. Pokud to má být ten výchozí, " "zadejte „pagekite.net“." -#: plinth/modules/pagekite/forms.py:53 plinth/modules/shadowsocks/forms.py:40 +#: plinth/modules/pagekite/forms.py:52 plinth/modules/shadowsocks/forms.py:39 msgid "Server port" msgstr "Port serveru" -#: plinth/modules/pagekite/forms.py:54 +#: plinth/modules/pagekite/forms.py:53 msgid "Port of your pagekite server (default: 80)" msgstr "Port pagekite serveru (výchozí: 80)" -#: plinth/modules/pagekite/forms.py:56 +#: plinth/modules/pagekite/forms.py:55 msgid "Kite name" msgstr "Kite název" -#: plinth/modules/pagekite/forms.py:57 +#: plinth/modules/pagekite/forms.py:56 msgid "Example: mybox.pagekite.me" msgstr "Příklad: mybox.pagekite.me" -#: plinth/modules/pagekite/forms.py:59 +#: plinth/modules/pagekite/forms.py:58 msgid "Invalid kite name" msgstr "Neplatný kite název" -#: plinth/modules/pagekite/forms.py:63 +#: plinth/modules/pagekite/forms.py:62 msgid "Kite secret" msgstr "Kite heslo" -#: plinth/modules/pagekite/forms.py:64 +#: plinth/modules/pagekite/forms.py:63 msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." @@ -4432,27 +4404,27 @@ msgstr "" "Heslo přiřazené ke kite nebo výchozí heslo pro váš účet pokud není na kite " "žádné nastavené." -#: plinth/modules/pagekite/forms.py:101 +#: plinth/modules/pagekite/forms.py:100 msgid "protocol" msgstr "protokol" -#: plinth/modules/pagekite/forms.py:104 +#: plinth/modules/pagekite/forms.py:103 msgid "external (frontend) port" msgstr "vnější (frontend) port" -#: plinth/modules/pagekite/forms.py:107 +#: plinth/modules/pagekite/forms.py:106 msgid "internal (freedombox) port" msgstr "vnitřní (freedombox) port" -#: plinth/modules/pagekite/forms.py:108 +#: plinth/modules/pagekite/forms.py:107 msgid "Enable Subdomains" msgstr "Zapnout podřízené domény" -#: plinth/modules/pagekite/forms.py:142 +#: plinth/modules/pagekite/forms.py:141 msgid "Deleted custom service" msgstr "Uživatelem určená služba smazána" -#: plinth/modules/pagekite/forms.py:175 +#: plinth/modules/pagekite/forms.py:174 #, fuzzy #| msgid "" #| "This service is available as a standard service. Please use the " @@ -4462,11 +4434,11 @@ msgstr "" "Tato služba je k dispozici jako standardní služba. Zapněte ji na stránce " "„Standardní služby“." -#: plinth/modules/pagekite/forms.py:183 +#: plinth/modules/pagekite/forms.py:182 msgid "Added custom service" msgstr "Uživatelem určená služba přidána" -#: plinth/modules/pagekite/forms.py:186 +#: plinth/modules/pagekite/forms.py:185 msgid "This service already exists" msgstr "Tato služba už existuje" @@ -4602,7 +4574,7 @@ msgstr "" msgid "Shut Down Now" msgstr "Vypnout nyní" -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 msgid "" "Privoxy is a non-caching web proxy with advanced filtering capabilities for " "enhancing privacy, modifying web page data and HTTP headers, controlling " @@ -4612,7 +4584,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:33 +#: plinth/modules/privoxy/__init__.py:34 #, python-brace-format msgid "" "You can use Privoxy by modifying your browser proxy settings to your " @@ -4627,20 +4599,20 @@ msgstr "" "privoxy.org\">http://config.privoxy.org/ nebo http://p.p." -#: plinth/modules/privoxy/__init__.py:56 +#: plinth/modules/privoxy/__init__.py:55 msgid "Privoxy" msgstr "Privoxy" -#: plinth/modules/privoxy/__init__.py:57 +#: plinth/modules/privoxy/__init__.py:56 msgid "Web Proxy" msgstr "Webová proxy" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:119 #, 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:32 +#: plinth/modules/quassel/__init__.py:33 #, python-brace-format msgid "" "Quassel is an IRC application that is split into two parts, a \"core\" and a " @@ -4657,7 +4629,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:39 +#: plinth/modules/quassel/__init__.py:40 msgid "" "You can connect to your Quassel core on the default Quassel port 4242. " "Clients to connect to Quassel from your desktopu a mobilních zařízení." -#: plinth/modules/quassel/__init__.py:62 plinth/modules/quassel/manifest.py:10 +#: plinth/modules/quassel/__init__.py:61 plinth/modules/quassel/manifest.py:10 msgid "Quassel" msgstr "Quassel" -#: plinth/modules/quassel/__init__.py:63 +#: plinth/modules/quassel/__init__.py:62 msgid "IRC Client" msgstr "IRC klient" -#: plinth/modules/quassel/forms.py:23 +#: plinth/modules/quassel/forms.py:22 msgid "TLS domain" msgstr "TLS doména" -#: plinth/modules/quassel/forms.py:25 +#: plinth/modules/quassel/forms.py:24 msgid "" "Select a domain to use TLS with. If the list is empty, please configure at " "least one domain with certificates." @@ -4691,7 +4663,7 @@ msgstr "" msgid "Quasseldroid" msgstr "Quasseldroid" -#: plinth/modules/radicale/__init__.py:32 +#: plinth/modules/radicale/__init__.py:33 #, python-brace-format msgid "" "Radicale is a CalDAV and CardDAV server. It allows synchronization and " @@ -4705,7 +4677,7 @@ msgstr "" "a>. K Radicale je možné přistupovat pomocí libovolného uživatelského účtu na " "{box_name}." -#: plinth/modules/radicale/__init__.py:37 +#: plinth/modules/radicale/__init__.py:38 msgid "" "Radicale provides a basic web interface, which only supports creating new " "calendars and addressbooks. It does not support adding events or contacts, " @@ -4715,22 +4687,22 @@ msgstr "" "nových kalendářů a adresářů kontaktů. Nepodporuje přidávání událostí či " "kontaktů, to je třeba dělat v tomu určeném klientovi." -#: plinth/modules/radicale/__init__.py:62 +#: plinth/modules/radicale/__init__.py:61 #: plinth/modules/radicale/manifest.py:75 msgid "Radicale" msgstr "Radicale" -#: plinth/modules/radicale/__init__.py:63 +#: plinth/modules/radicale/__init__.py:62 msgid "Calendar and Addressbook" msgstr "Kalendář a adresář kontaktů" -#: plinth/modules/radicale/forms.py:15 +#: plinth/modules/radicale/forms.py:14 msgid "Only the owner of a calendar/addressbook can view or make changes." msgstr "" "Pouze vlastník kalendáře / adresáře kontaktů může zobrazovat nebo dělat " "změny." -#: plinth/modules/radicale/forms.py:19 +#: plinth/modules/radicale/forms.py:18 #, python-brace-format msgid "" "Any user with a {box_name} login can view any calendar/addressbook, but only " @@ -4739,7 +4711,7 @@ msgstr "" "Jakýkoli uživatel s účtem na {box_name} může zobrazit libovolný kalendář / " "adresář kontaktů, ale pouze vlastník může dělat změny." -#: plinth/modules/radicale/forms.py:24 +#: plinth/modules/radicale/forms.py:23 #, python-brace-format msgid "" "Any user with a {box_name} login can view or make changes to any calendar/" @@ -4889,11 +4861,11 @@ msgid "" "private space." msgstr "" -#: plinth/modules/samba/__init__.py:47 +#: plinth/modules/samba/__init__.py:59 msgid "Access to the private shares" msgstr "" -#: plinth/modules/samba/__init__.py:61 +#: plinth/modules/samba/__init__.py:62 msgid "Samba" msgstr "" @@ -4967,13 +4939,13 @@ msgstr "Sdílení přidáno." msgid "Action" msgstr "Akce" -#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:149 +#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:147 #, fuzzy #| msgid "Add Share" msgid "Open Share" msgstr "Přidat sdílení" -#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:147 +#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:145 #, fuzzy #| msgid "Add Share" msgid "Group Share" @@ -5025,43 +4997,43 @@ msgstr "" "Použitím Searx je možné se vyhnout sledování a profilování vyhledávači. Ve " "výchozím stavu neukládá žádné cookie." -#: plinth/modules/searx/__init__.py:31 +#: plinth/modules/searx/__init__.py:45 msgid "Search the web" msgstr "Hledat na webu" -#: plinth/modules/searx/__init__.py:47 plinth/modules/searx/manifest.py:9 +#: plinth/modules/searx/__init__.py:48 plinth/modules/searx/manifest.py:9 msgid "Searx" msgstr "Searx" -#: plinth/modules/searx/__init__.py:48 +#: plinth/modules/searx/__init__.py:49 msgid "Web Search" msgstr "Vyhledávání na webu" -#: plinth/modules/searx/forms.py:15 +#: plinth/modules/searx/forms.py:13 msgid "Safe Search" msgstr "Bezpečné vyhledávání" -#: plinth/modules/searx/forms.py:16 +#: plinth/modules/searx/forms.py:14 msgid "Select the default family filter to apply to your search results." msgstr "Vyberte výchozí dětský filtr který uplatnit na výsledky vyhledávání." -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "None" msgstr "Žádný" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "Moderate" msgstr "Střední" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "Strict" msgstr "Přísný" -#: plinth/modules/searx/forms.py:20 +#: plinth/modules/searx/forms.py:18 msgid "Allow Public Access" msgstr "Umožnit veřejný přístup" -#: plinth/modules/searx/forms.py:21 +#: plinth/modules/searx/forms.py:19 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." @@ -5259,30 +5231,30 @@ msgstr "Shadowsocks" msgid "Socks5 Proxy" msgstr "Socks5 proxy" +#: plinth/modules/shadowsocks/forms.py:12 #: plinth/modules/shadowsocks/forms.py:13 -#: plinth/modules/shadowsocks/forms.py:14 msgid "Recommended" msgstr "Doporučeno" -#: plinth/modules/shadowsocks/forms.py:37 +#: plinth/modules/shadowsocks/forms.py:36 msgid "Server" msgstr "Server" -#: plinth/modules/shadowsocks/forms.py:38 +#: plinth/modules/shadowsocks/forms.py:37 msgid "Server hostname or IP address" msgstr "Název nebo IP adresa serveru" -#: plinth/modules/shadowsocks/forms.py:42 +#: plinth/modules/shadowsocks/forms.py:41 msgid "Server port number" msgstr "Číslo portu serveru" -#: plinth/modules/shadowsocks/forms.py:45 +#: plinth/modules/shadowsocks/forms.py:44 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:50 +#: plinth/modules/shadowsocks/forms.py:49 msgid "Encryption method. Must match setting on server." msgstr "" "Metoda šifrování. Je třeba, aby byla stejná, jaká je nastavená na serveru." @@ -5330,13 +5302,13 @@ msgstr "Veřejné sdílení" msgid "Make files in this folder available to anyone with the link." msgstr "Zpřístupnit soubory v této složce všem, kteří mají odkaz." -#: plinth/modules/sharing/forms.py:33 +#: plinth/modules/sharing/forms.py:34 #, fuzzy #| msgid "User groups who can read the files in the share" msgid "User groups that can read the files in the share" msgstr "Skupina uživatelů která může číst soubory na sdílení" -#: plinth/modules/sharing/forms.py:35 +#: plinth/modules/sharing/forms.py:36 #, fuzzy #| msgid "" #| "Users who have these permissions will also be able to read the files in " @@ -5641,13 +5613,13 @@ msgstr "" msgid "Secure Shell (SSH) Server" msgstr "Server zabezpečeného shellu (SSH)" -#: plinth/modules/ssh/forms.py:15 +#: plinth/modules/ssh/forms.py:13 #, fuzzy #| msgid "Use HTTP basic authentication" msgid "Disable password authentication" msgstr "Použít základní HTTP ověřování" -#: plinth/modules/ssh/forms.py:16 +#: plinth/modules/ssh/forms.py:14 msgid "" "Improves security by preventing password guessing. Ensure that you have " "setup SSH keys in your administrator user account before enabling this " @@ -5701,88 +5673,88 @@ 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:52 plinth/modules/storage/__init__.py:318 +#: plinth/modules/storage/__init__.py:54 plinth/modules/storage/__init__.py:320 msgid "Storage" msgstr "Úložiště" -#: 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." -#: plinth/modules/storage/__init__.py:313 +#: plinth/modules/storage/__init__.py:315 #, fuzzy, no-python-format, python-brace-format #| msgid "" #| "Warning: Low space on system partition ({percent_used}% used, " @@ -5792,53 +5764,53 @@ msgstr "" "Varování: Dochází volné místo na systémovém oddílu ({percent_used}% využito, " "{free_space} volné)." -#: plinth/modules/storage/__init__.py:315 +#: plinth/modules/storage/__init__.py:317 msgid "Low disk space" msgstr "" -#: plinth/modules/storage/forms.py:64 +#: plinth/modules/storage/forms.py:63 #, fuzzy #| msgid "Invalid repository name." msgid "Invalid directory name." msgstr "Neplatný název repozitáře." -#: plinth/modules/storage/forms.py:82 +#: plinth/modules/storage/forms.py:80 msgid "Directory does not exist." msgstr "" -#: plinth/modules/storage/forms.py:84 +#: plinth/modules/storage/forms.py:83 #, fuzzy #| msgid "Download directory" msgid "Path is not a directory." msgstr "Složka pro stahování" -#: plinth/modules/storage/forms.py:87 +#: plinth/modules/storage/forms.py:86 #, fuzzy #| msgid "The device is mounted by another user." msgid "Directory is not readable by the user." msgstr "Zařízení je připojeno jiným uživatelem." -#: plinth/modules/storage/forms.py:90 +#: plinth/modules/storage/forms.py:89 msgid "Directory is not writable by the user." msgstr "" -#: plinth/modules/storage/forms.py:95 +#: plinth/modules/storage/forms.py:94 #, fuzzy #| msgid "Download directory" msgid "Directory" msgstr "Složka pro stahování" -#: plinth/modules/storage/forms.py:98 +#: plinth/modules/storage/forms.py:96 msgid "Subdirectory (optional)" msgstr "" -#: plinth/modules/storage/forms.py:145 +#: plinth/modules/storage/forms.py:143 #, fuzzy #| msgid "Shared" msgid "Share" msgstr "Sdílené" -#: plinth/modules/storage/forms.py:153 +#: plinth/modules/storage/forms.py:151 msgid "Other directory (specify below)" msgstr "" @@ -5921,14 +5893,22 @@ msgstr "" "zařízení, na kterých také provozujete Syncthing." #: plinth/modules/syncthing/__init__.py:31 -#, python-brace-format +#, fuzzy, python-brace-format +#| msgid "" +#| "Running Syncthing on {box_name} provides an extra synchronization point " +#| "for your data that is available most of the time, allowing your devices " +#| "to synchronize more often. {box_name} runs a single instance of " +#| "Syncthing that may be used by multiple users. Each user's set of devices " +#| "may be synchronized with a distinct set of folders. The web interface on " +#| "{box_name} is only available for users belonging to the \"admin\" group." msgid "" "Running Syncthing on {box_name} provides an extra synchronization point for " "your data that is available most of the time, allowing your devices to " "synchronize more often. {box_name} runs a single instance of Syncthing that " "may be used by multiple users. Each user's set of devices may be " "synchronized with a distinct set of folders. The web interface on " -"{box_name} is only available for users belonging to the \"admin\" group." +"{box_name} is only available for users belonging to the \"admin\" or " +"\"syncthing\" group." msgstr "" "Provozování Syncthing na {box_name} poskytuje další synchronizační bod pro " "vaše data, který je k dispozici po většinu času, což umožní vašim zařízením " @@ -5937,16 +5917,16 @@ 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:40 +#: plinth/modules/syncthing/__init__.py:53 msgid "Administer Syncthing application" msgstr "Spravovat aplikaci Syncthing" -#: plinth/modules/syncthing/__init__.py:54 +#: plinth/modules/syncthing/__init__.py:56 #: plinth/modules/syncthing/manifest.py:13 msgid "Syncthing" msgstr "Syncthing" -#: plinth/modules/syncthing/__init__.py:55 +#: plinth/modules/syncthing/__init__.py:57 msgid "File Synchronization" msgstr "Synchronizace souborů" @@ -5993,33 +5973,33 @@ msgstr "" "ZTRACENA. K Tahoe-LAFS můžete přistupovat na https://%(domain_name)s:5678." -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:39 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:29 msgid "Local introducer" msgstr "Místní uvaděč" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:59 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:76 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:33 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:49 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:66 msgid "Pet Name" msgstr "Jméno domácího mazlíčka" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:56 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:46 msgid "Add new introducer" msgstr "Přidat nový uvaděč" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:67 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:57 msgid "Add" msgstr "Přidat" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:72 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:62 msgid "Connected introducers" msgstr "Připojené uvaděče" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:89 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:79 msgid "Remove" msgstr "Odebrat" -#: plinth/modules/tor/__init__.py:33 +#: plinth/modules/tor/__init__.py:34 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -6033,42 +6013,42 @@ msgstr "" "prohlížeč Tor Browser." -#: plinth/modules/tor/__init__.py:55 +#: plinth/modules/tor/__init__.py:54 msgid "Tor" msgstr "Tor" -#: plinth/modules/tor/__init__.py:66 +#: plinth/modules/tor/__init__.py:65 #, fuzzy #| msgid "Tor Hidden Service" msgid "Tor Onion Service" msgstr "Tor skrytá služba" -#: plinth/modules/tor/__init__.py:70 +#: plinth/modules/tor/__init__.py:69 msgid "Tor Socks Proxy" msgstr "Tor Socks proxy" -#: plinth/modules/tor/__init__.py:74 +#: plinth/modules/tor/__init__.py:73 msgid "Tor Bridge Relay" msgstr "Předávájící Tor most" -#: plinth/modules/tor/__init__.py:95 +#: plinth/modules/tor/__init__.py:98 msgid "Tor relay port available" msgstr "Port Tor předávání k dispozici" -#: plinth/modules/tor/__init__.py:105 +#: plinth/modules/tor/__init__.py:108 msgid "Obfs3 transport registered" msgstr "Obfs3 transport zaregistrován" -#: plinth/modules/tor/__init__.py:115 +#: plinth/modules/tor/__init__.py:118 msgid "Obfs4 transport registered" msgstr "Obfs4 transport zaregistrován" -#: plinth/modules/tor/__init__.py:208 +#: plinth/modules/tor/__init__.py:211 #, 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:219 +#: plinth/modules/tor/__init__.py:222 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "Potvrdit použití Tor na {url} na tcp{kind}" @@ -6224,7 +6204,7 @@ 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:27 +#: plinth/modules/transmission/__init__.py:28 msgid "" "BitTorrent is a peer-to-peer file sharing protocol. Transmission daemon " "handles Bitorrent file sharing. Note that BitTorrent is not anonymous." @@ -6233,7 +6213,7 @@ msgstr "" "Transmision obsluhuje sdílení souborů Bitorrent. Poznamenejme, že BitTorrent " "není anonymní." -#: plinth/modules/transmission/__init__.py:48 +#: plinth/modules/transmission/__init__.py:51 #: plinth/modules/transmission/manifest.py:9 msgid "Transmission" msgstr "Transmission" @@ -6274,15 +6254,15 @@ 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:42 +#: plinth/modules/ttrss/__init__.py:54 msgid "Read and subscribe to news feeds" msgstr "Číst a přihlásit se k odběru novinek" -#: plinth/modules/ttrss/__init__.py:56 plinth/modules/ttrss/manifest.py:19 +#: plinth/modules/ttrss/__init__.py:57 plinth/modules/ttrss/manifest.py:19 msgid "Tiny Tiny RSS" msgstr "Tiny Tiny RSS" -#: plinth/modules/ttrss/__init__.py:57 +#: plinth/modules/ttrss/__init__.py:58 msgid "News Feed Reader" msgstr "Čtečka novinek" @@ -6295,11 +6275,11 @@ msgid "Check for and apply the latest software and security updates." msgstr "" "Zjistit dostupnost a uplatnit nejnovější aktualizace a opravy zabezpečení." -#: plinth/modules/upgrades/__init__.py:38 plinth/templates/setup.html:74 +#: plinth/modules/upgrades/__init__.py:40 plinth/templates/setup.html:74 msgid "Update" msgstr "Aktualizovat" -#: plinth/modules/upgrades/__init__.py:76 +#: plinth/modules/upgrades/__init__.py:78 #, fuzzy #| msgid "FreedomBox Foundation" msgid "FreedomBox Updated" @@ -6360,43 +6340,39 @@ msgstr "Vyp/zap. záznamy událostí při nedávných aktualizacích" #: plinth/modules/upgrades/templates/upgrades_configure.html:11 #: plinth/modules/upgrades/templates/upgrades_configure.html:12 -#: plinth/modules/upgrades/views.py:88 +#: plinth/modules/upgrades/views.py:85 msgid "Manual update" msgstr "Ruční aktualizace" -#: plinth/modules/upgrades/views.py:47 +#: plinth/modules/upgrades/views.py:46 #, 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:51 +#: plinth/modules/upgrades/views.py:50 msgid "Automatic upgrades enabled" msgstr "Automatické aktualizace zapnuty" -#: plinth/modules/upgrades/views.py:54 +#: plinth/modules/upgrades/views.py:53 msgid "Automatic upgrades disabled" msgstr "Automatické aktualizace vypnuty" -#: plinth/modules/upgrades/views.py:56 -msgid "Settings unchanged" -msgstr "Nastavení nezměněna" - -#: plinth/modules/upgrades/views.py:82 +#: plinth/modules/upgrades/views.py:79 msgid "Upgrade process started." msgstr "Proces přechodu na novější verze zahájen." -#: plinth/modules/upgrades/views.py:85 +#: plinth/modules/upgrades/views.py:82 msgid "Starting upgrade failed." msgstr "Spouštění přechodu na novější verzi se nezdařilo." -#: plinth/modules/users/__init__.py:37 +#: plinth/modules/users/__init__.py:39 msgid "" "Create and managed user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " "account to be part of a group to authorize the user to access the app." msgstr "" -#: plinth/modules/users/__init__.py:42 +#: plinth/modules/users/__init__.py:44 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -6404,46 +6380,52 @@ msgid "" "group may alter apps or system settings." msgstr "" -#: plinth/modules/users/__init__.py:64 +#: plinth/modules/users/__init__.py:65 msgid "Users and Groups" msgstr "Uživatelé a skupiny" -#: plinth/modules/users/__init__.py:115 +#: plinth/modules/users/__init__.py:78 +msgid "Access to all services and system settings" +msgstr "Přístup ke všem službám a nastavení systému" + +#: plinth/modules/users/__init__.py:122 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "Zkontrolujte LDAP položku „{search_item}“" -#: plinth/modules/users/forms.py:28 -msgid "Access to all services and system settings" -msgstr "Přístup ke všem službám a nastavení systému" - -#: plinth/modules/users/forms.py:44 +#: plinth/modules/users/forms.py:36 msgid "Username is taken or is reserved." msgstr "" "Toto uživatelské jméno je už používáno někým jiným nebo vyhrazeno pro systém." -#: plinth/modules/users/forms.py:72 +#: plinth/modules/users/forms.py:63 #, fuzzy #| msgid "Invalid server name" msgid "Enter a valid username." msgstr "Neplatný název serveru" -#: plinth/modules/users/forms.py:78 +#: plinth/modules/users/forms.py:69 msgid "" "Required. 150 characters or fewer. English letters, digits and @/./-/_ only." msgstr "" -#: plinth/modules/users/forms.py:91 plinth/modules/users/forms.py:207 +#: plinth/modules/users/forms.py:83 plinth/modules/users/forms.py:196 msgid "Permissions" msgstr "Oprávnění" -#: plinth/modules/users/forms.py:94 +#: plinth/modules/users/forms.py:85 +#, fuzzy +#| msgid "" +#| "Select which services should be available to the new user. The user will " +#| "be able to log in to services that support single sign-on through LDAP, " +#| "if they are in the appropriate group.

Users in the admin group " +#| "will be able to log in to all services. They can also log in to the " +#| "system through SSH and have administrative privileges (sudo)." msgid "" -"Select which services should be available to the new user. The user will be " -"able to log in to services that support single sign-on through LDAP, if they " -"are in the appropriate group.

Users in the admin group will be " -"able to log in to all services. They can also log in to the system through " -"SSH and have administrative privileges (sudo)." +"user. The user will be able to log in to services that support single sign-" +"on through LDAP, if they are in the appropriate group.

Users in " +"the admin group will be able to log in to all services. They can also log in " +"to the system through SSH and have administrative privileges (sudo)." msgstr "" "Vyberte které služby by měly být novému uživateli k dispozici. Uživatel bude " "schopen se přihlásit ke službám, které podporují sdružené přihlašování (SSO) " @@ -6451,20 +6433,20 @@ msgstr "" "skupině správců (admin) se budou moci přihlásit všude. Mohou se k systému " "přihlásit také prostřednictvím SSH a mají práva správy (sudo)." -#: plinth/modules/users/forms.py:133 plinth/modules/users/forms.py:357 +#: plinth/modules/users/forms.py:122 plinth/modules/users/forms.py:345 msgid "Creating LDAP user failed." msgstr "Vytvoření LDAP uživatele se nezdařilo." -#: plinth/modules/users/forms.py:144 +#: plinth/modules/users/forms.py:133 #, python-brace-format msgid "Failed to add new user to {group} group." msgstr "Přidání nového uživatele do skupiny {group} se nezdařilo." -#: plinth/modules/users/forms.py:158 +#: plinth/modules/users/forms.py:147 msgid "Authorized SSH Keys" msgstr "Pověřené SSH klíče" -#: plinth/modules/users/forms.py:160 +#: plinth/modules/users/forms.py:149 msgid "" "Setting an SSH public key will allow this user to securely log in to the " "system without using a password. You may enter multiple keys, one on each " @@ -6474,45 +6456,45 @@ msgstr "" "systému i bez zadávání hesla. Klíčů je možné vložit vícero, každý na vlastní " "řádek. Prázdné řádky a ty, které začínají na znak # budou ignorovány." -#: plinth/modules/users/forms.py:244 +#: plinth/modules/users/forms.py:233 msgid "Renaming LDAP user failed." msgstr "Přejmenování LDAP uživatele se nezdařilo." -#: plinth/modules/users/forms.py:256 +#: plinth/modules/users/forms.py:245 msgid "Failed to remove user from group." msgstr "Odebrání uživatele ze skupiny se nezdařilo." -#: plinth/modules/users/forms.py:267 +#: plinth/modules/users/forms.py:256 msgid "Failed to add user to group." msgstr "Přidání uživatele do skupiny se nezdařilo." -#: plinth/modules/users/forms.py:276 +#: plinth/modules/users/forms.py:265 msgid "Unable to set SSH keys." msgstr "Nepodařilo se vložit SSH klíče." -#: plinth/modules/users/forms.py:291 +#: plinth/modules/users/forms.py:280 #, fuzzy #| msgid "Failed to add user to group." msgid "Failed to change user status." msgstr "Přidání uživatele do skupiny se nezdařilo." -#: plinth/modules/users/forms.py:299 +#: plinth/modules/users/forms.py:288 msgid "Cannot delete the only administrator in the system." msgstr "Není možné smazat účet jediného zbývajícího správce systému." -#: plinth/modules/users/forms.py:331 +#: plinth/modules/users/forms.py:319 msgid "Changing LDAP user password failed." msgstr "Změna hesla LDAP uživatele se nezdařila." -#: plinth/modules/users/forms.py:366 +#: plinth/modules/users/forms.py:354 msgid "Failed to add new user to admin group." msgstr "Přidání nového uživatele do skupiny správců (admin) se nezdařilo." -#: plinth/modules/users/forms.py:383 +#: plinth/modules/users/forms.py:371 msgid "Failed to restrict console access." msgstr "Omezení přístupu ke konzoli se nezdařilo." -#: plinth/modules/users/forms.py:395 +#: plinth/modules/users/forms.py:383 msgid "User account created, you are now logged in" msgstr "Uživatelský účet vytvořen, není jste jím přihlášeni" @@ -7345,18 +7327,22 @@ msgstr "Instalace %(package_names)s: %(status)s" msgid "%(percentage)s%% complete" msgstr "%(percentage)s%% dokončeno" -#: plinth/views.py:184 -msgid "Application enabled" -msgstr "Aplikace zapnuta" - -#: plinth/views.py:187 -msgid "Application disabled" -msgstr "Aplikace vypnuta" - #: plinth/web_framework.py:107 msgid "Gujarati" msgstr "gudžarátština" +#~ msgid "Enable application" +#~ msgstr "Zapnout aplikaci" + +#~ msgid "Settings unchanged" +#~ msgstr "Nastavení nezměněna" + +#~ msgid "Application enabled" +#~ msgstr "Aplikace zapnuta" + +#~ msgid "Application disabled" +#~ msgstr "Aplikace vypnuta" + #~ msgid "Kite details set" #~ msgstr "Nastavit podrobnosti Kite" diff --git a/plinth/locale/da/LC_MESSAGES/django.po b/plinth/locale/da/LC_MESSAGES/django.po index b330de778..fff2bf939 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: 2020-03-23 18:54-0400\n" +"POT-Creation-Date: 2020-04-06 19:59-0400\n" "PO-Revision-Date: 2016-07-03 21:44+0000\n" "Last-Translator: Mikkel Kirkgaard Nielsen \n" "Language-Team: Danish /deluge på webserveren. Standardkodeordet er 'deluge', men du " "bør logge ind og ændre det med det samme du har aktiveret denne tjeneste." -#: plinth/modules/deluge/__init__.py:30 -#: plinth/modules/transmission/__init__.py:34 +#: plinth/modules/deluge/__init__.py:46 +#: plinth/modules/transmission/__init__.py:48 msgid "Download files using BitTorrent applications" msgstr "" -#: plinth/modules/deluge/__init__.py:46 plinth/modules/deluge/manifest.py:9 +#: plinth/modules/deluge/__init__.py:50 plinth/modules/deluge/manifest.py:9 #, fuzzy #| msgid "Enable Deluge" msgid "Deluge" msgstr "Aktiver Deluge" -#: plinth/modules/deluge/__init__.py:47 -#: plinth/modules/transmission/__init__.py:50 +#: plinth/modules/deluge/__init__.py:51 +#: plinth/modules/transmission/__init__.py:53 #, fuzzy #| msgid "BitTorrent Web Client (Deluge)" msgid "BitTorrent Web Client" msgstr "BitTorrent Webklient (Deluge)" -#: plinth/modules/deluge/forms.py:20 plinth/modules/transmission/forms.py:20 +#: plinth/modules/deluge/forms.py:20 plinth/modules/transmission/forms.py:21 msgid "Download directory" msgstr "Download-mappe" @@ -1163,7 +1160,7 @@ msgstr "" msgid "Federated Social Network" msgstr "" -#: plinth/modules/diaspora/forms.py:15 +#: plinth/modules/diaspora/forms.py:13 msgid "Enable new user registrations" msgstr "" @@ -1189,36 +1186,27 @@ msgstr "" #: plinth/modules/diaspora/templates/diaspora-pre-setup.html:43 #: plinth/modules/dynamicdns/templates/dynamicdns_configure.html:25 -#: plinth/modules/ejabberd/templates/ejabberd.html:43 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:18 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:47 #: plinth/modules/snapshot/templates/snapshot.html:15 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:35 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:43 -#: plinth/templates/app.html:52 +#: plinth/templates/app.html:54 msgid "Update setup" msgstr "Opdater indstillinger" -#: plinth/modules/diaspora/views.py:76 plinth/modules/ejabberd/views.py:46 -#: plinth/modules/matrixsynapse/views.py:85 -#: plinth/modules/mediawiki/views.py:58 plinth/modules/openvpn/views.py:135 -#: plinth/modules/tor/views.py:136 plinth/views.py:180 -msgid "Setting unchanged" -msgstr "Indstilling uændret" - -#: plinth/modules/diaspora/views.py:80 +#: plinth/modules/diaspora/views.py:74 #, fuzzy #| msgid "Application enabled" msgid "User registrations enabled" msgstr "Applikation aktiveret" -#: plinth/modules/diaspora/views.py:84 +#: plinth/modules/diaspora/views.py:78 #, fuzzy #| msgid "Application disabled" msgid "User registrations disabled" msgstr "Applikation deaktiveret" -#: plinth/modules/dynamicdns/__init__.py:27 +#: plinth/modules/dynamicdns/__init__.py:28 #, python-brace-format msgid "" "If your Internet provider changes your IP address periodically (i.e. every " @@ -1229,7 +1217,7 @@ msgstr "" "døgnet), kan det være svært for andre at finde dig på internettet. Dette vil " "forhindre andre i at finde de tjenester denne {box_name} udbyder." -#: plinth/modules/dynamicdns/__init__.py:31 +#: plinth/modules/dynamicdns/__init__.py:32 msgid "" "The solution is to assign a DNS name to your IP address and update the DNS " "name every time your IP is changed by your Internet provider. Dynamic DNS " @@ -1246,11 +1234,11 @@ 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:56 +#: plinth/modules/dynamicdns/__init__.py:55 msgid "Dynamic DNS Client" msgstr "Dynamisk DNS Klient" -#: plinth/modules/dynamicdns/__init__.py:66 +#: plinth/modules/dynamicdns/__init__.py:65 #, fuzzy #| msgid "Domain Name" msgid "Dynamic Domain Name" @@ -1356,7 +1344,7 @@ msgid "Username" msgstr "Brugernavn" #: plinth/modules/dynamicdns/forms.py:104 plinth/modules/networks/forms.py:200 -#: plinth/modules/shadowsocks/forms.py:45 +#: plinth/modules/shadowsocks/forms.py:44 msgid "Password" msgstr "Kodeord" @@ -1455,7 +1443,7 @@ msgstr "" msgid "Last update" msgstr "Seneste opdatering" -#: plinth/modules/dynamicdns/views.py:26 plinth/modules/help/__init__.py:49 +#: plinth/modules/dynamicdns/views.py:26 plinth/modules/help/__init__.py:51 #: plinth/templates/help-menu.html:46 plinth/templates/help-menu.html:47 msgid "About" msgstr "Om" @@ -1482,7 +1470,7 @@ msgstr "Konfigurer Dynamisk DNS" msgid "Dynamic DNS Status" msgstr "Dynamisk DNS Status" -#: plinth/modules/ejabberd/__init__.py:36 +#: plinth/modules/ejabberd/__init__.py:37 msgid "" "XMPP is an open and standardized communication protocol. Here you can run " "and configure your XMPP server, called ejabberd." @@ -1490,7 +1478,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:39 +#: plinth/modules/ejabberd/__init__.py:40 #, fuzzy, python-brace-format #| msgid "" #| "To actually communicate, you can use the web client " @@ -1506,22 +1494,22 @@ msgstr "" "klienten eller enhver anden XMPP-klient." -#: plinth/modules/ejabberd/__init__.py:70 +#: plinth/modules/ejabberd/__init__.py:69 msgid "ejabberd" msgstr "" -#: plinth/modules/ejabberd/__init__.py:71 +#: plinth/modules/ejabberd/__init__.py:70 #: plinth/modules/matrixsynapse/__init__.py:68 #, fuzzy #| msgid "Web Server" msgid "Chat Server" msgstr "Webserver" -#: plinth/modules/ejabberd/forms.py:17 +#: plinth/modules/ejabberd/forms.py:16 msgid "Enable Message Archive Management" msgstr "" -#: plinth/modules/ejabberd/forms.py:19 +#: plinth/modules/ejabberd/forms.py:18 #, python-brace-format msgid "" "If enabled, your {box_name} will store chat message histories. This allows " @@ -1583,19 +1571,11 @@ msgstr "" "vil se ud som brugernavn@%(domainname)s. Du kan konfigurere systemets " "domæne på Konfigurer siden." -#: plinth/modules/ejabberd/templates/ejabberd.html:35 -#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 -#: plinth/modules/snapshot/templates/snapshot.html:12 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:27 -#: plinth/templates/app.html:45 -msgid "Configuration" -msgstr "Konfiguration" - -#: plinth/modules/ejabberd/views.py:58 +#: plinth/modules/ejabberd/views.py:45 msgid "Message Archive Management enabled" msgstr "" -#: plinth/modules/ejabberd/views.py:62 +#: plinth/modules/ejabberd/views.py:49 msgid "Message Archive Management disabled" msgstr "" @@ -1610,7 +1590,7 @@ msgstr "" "på din{box_name}. At holde en firewall aktiveret og velkonfigureret " "reducerer risikoen for sikkerhedstrusler fra internettet." -#: plinth/modules/firewall/__init__.py:63 +#: plinth/modules/firewall/__init__.py:65 msgid "Firewall" msgstr "Firewall" @@ -1750,7 +1730,7 @@ msgid "" "gittutorial\">Git tutorial." msgstr "" -#: plinth/modules/gitweb/__init__.py:39 +#: plinth/modules/gitweb/__init__.py:51 msgid "Read-write access to Git repositories" msgstr "" @@ -1914,31 +1894,31 @@ msgstr "{name} slettet." msgid "Could not delete {name}: {error}" msgstr "Kunne ikke slette {name}: {error}" -#: plinth/modules/help/__init__.py:30 +#: plinth/modules/help/__init__.py:32 msgid "Documentation" msgstr "Dokumentation" -#: plinth/modules/help/__init__.py:33 plinth/modules/networks/forms.py:47 +#: plinth/modules/help/__init__.py:35 plinth/modules/networks/forms.py:47 #: plinth/modules/networks/forms.py:77 plinth/templates/help-menu.html:20 #: plinth/templates/help-menu.html:21 plinth/templates/index.html:128 msgid "Manual" msgstr "Brugermanual" -#: plinth/modules/help/__init__.py:37 +#: plinth/modules/help/__init__.py:39 #: plinth/modules/help/templates/help_support.html:9 #: plinth/modules/help/views.py:43 plinth/templates/help-menu.html:27 #: plinth/templates/help-menu.html:28 msgid "Get Support" msgstr "" -#: plinth/modules/help/__init__.py:41 +#: plinth/modules/help/__init__.py:43 #: plinth/modules/help/templates/help_feedback.html:9 #: plinth/modules/help/views.py:37 plinth/templates/help-menu.html:33 #: plinth/templates/help-menu.html:34 msgid "Submit Feedback" msgstr "" -#: plinth/modules/help/__init__.py:45 +#: plinth/modules/help/__init__.py:47 #: plinth/modules/help/templates/help_contribute.html:9 #: plinth/modules/help/views.py:31 plinth/templates/help-menu.html:39 #: plinth/templates/help-menu.html:40 @@ -2070,7 +2050,7 @@ msgstr "" #: plinth/modules/help/templates/help_contribute.html:42 #: plinth/modules/power/templates/power_restart.html:27 #: plinth/modules/power/templates/power_shutdown.html:26 -#: plinth/templates/app-header.html:51 +#: plinth/templates/app-header.html:53 #, fuzzy #| msgid "Learn more »" msgid "Learn more..." @@ -2245,23 +2225,23 @@ msgid "" "configuration process." msgstr "" -#: plinth/modules/i2p/__init__.py:38 +#: plinth/modules/i2p/__init__.py:62 #, fuzzy #| msgid "Enable application" msgid "Manage I2P application" msgstr "Aktiver applikation" -#: plinth/modules/i2p/__init__.py:64 plinth/modules/i2p/manifest.py:16 +#: plinth/modules/i2p/__init__.py:65 plinth/modules/i2p/manifest.py:16 msgid "I2P" msgstr "" -#: plinth/modules/i2p/__init__.py:65 plinth/modules/tor/__init__.py:56 +#: plinth/modules/i2p/__init__.py:66 plinth/modules/tor/__init__.py:55 #, fuzzy #| msgid "Tor Anonymity Network" msgid "Anonymity Network" msgstr "Tor Anonymiseringstjeneste" -#: plinth/modules/i2p/__init__.py:87 +#: plinth/modules/i2p/__init__.py:88 #, fuzzy #| msgid "Privoxy Web Proxy" msgid "I2P Proxy" @@ -2326,24 +2306,24 @@ msgid "" "Configuration you can change these permissions or add new users." msgstr "" -#: plinth/modules/ikiwiki/__init__.py:39 -#, fuzzy -#| msgid "Services and Applications" -msgid "View and edit wiki applications" -msgstr "Tjenester og Applikationer" - -#: plinth/modules/ikiwiki/__init__.py:53 plinth/modules/ikiwiki/manifest.py:9 +#: plinth/modules/ikiwiki/__init__.py:52 plinth/modules/ikiwiki/manifest.py:9 #, fuzzy #| msgid "wiki" msgid "ikiwiki" msgstr "wiki" -#: plinth/modules/ikiwiki/__init__.py:54 +#: plinth/modules/ikiwiki/__init__.py:53 #, fuzzy #| msgid "Wiki & Blog" msgid "Wiki and Blog" msgstr "Wiki & Blog" +#: plinth/modules/ikiwiki/__init__.py:73 +#, fuzzy +#| msgid "Services and Applications" +msgid "View and edit wiki applications" +msgstr "Tjenester og Applikationer" + #: plinth/modules/ikiwiki/forms.py:17 msgid "Admin Account Name" msgstr "Administratorkontonavn" @@ -2389,33 +2369,33 @@ msgstr "" "Denne handling fjerner alle artikler, sider og kommentater inklusiv al " "historik. Slet denne wiki eller blog permanent?" -#: plinth/modules/ikiwiki/views.py:72 +#: plinth/modules/ikiwiki/views.py:70 #, python-brace-format msgid "Created wiki {name}." msgstr "Wiki {name} oprettet." -#: plinth/modules/ikiwiki/views.py:75 +#: plinth/modules/ikiwiki/views.py:73 #, python-brace-format msgid "Could not create wiki: {error}" msgstr "Kunne ikke oprette wiki: {error}" -#: plinth/modules/ikiwiki/views.py:85 +#: plinth/modules/ikiwiki/views.py:83 #, python-brace-format msgid "Created blog {name}." msgstr "Blog {name} oprettet." -#: plinth/modules/ikiwiki/views.py:88 +#: plinth/modules/ikiwiki/views.py:86 #, python-brace-format msgid "Could not create blog: {error}" msgstr "Kunne ikke oprette blog: {error}" -#: plinth/modules/ikiwiki/views.py:103 +#: plinth/modules/ikiwiki/views.py:101 #, fuzzy, python-brace-format #| msgid "{name} deleted." msgid "{title} deleted." msgstr "{name} slettet." -#: plinth/modules/ikiwiki/views.py:107 +#: plinth/modules/ikiwiki/views.py:105 #, fuzzy, python-brace-format #| msgid "Could not delete {name}: {error}" msgid "Could not delete {title}: {error}" @@ -2458,17 +2438,17 @@ msgid "" "domain name." msgstr "" -#: plinth/modules/jsxc/__init__.py:22 +#: plinth/modules/jsxc/__init__.py:23 msgid "" "JSXC is a web client for XMPP. Typically it is used with an XMPP server " "running locally." msgstr "" -#: plinth/modules/jsxc/__init__.py:40 plinth/modules/jsxc/manifest.py:10 +#: plinth/modules/jsxc/__init__.py:43 plinth/modules/jsxc/manifest.py:10 msgid "JSXC" msgstr "" -#: plinth/modules/jsxc/__init__.py:41 +#: plinth/modules/jsxc/__init__.py:44 #, fuzzy #| msgid "IRC Client (Quassel)" msgid "Chat Client" @@ -2674,13 +2654,13 @@ msgstr "" msgid "Matrix Synapse" msgstr "Chat-server (XMPP)" -#: plinth/modules/matrixsynapse/forms.py:14 +#: plinth/modules/matrixsynapse/forms.py:12 #, fuzzy #| msgid "Enable application" msgid "Enable Public Registration" msgstr "Aktiver applikation" -#: plinth/modules/matrixsynapse/forms.py:15 +#: plinth/modules/matrixsynapse/forms.py:13 msgid "" "Enabling public registration means that anyone on the Internet can register " "a new account on your Matrix server. Disable this if you only want existing " @@ -2691,6 +2671,12 @@ msgstr "" msgid "Riot" msgstr "" +#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 +#: plinth/modules/snapshot/templates/snapshot.html:12 +#: plinth/templates/app.html:46 +msgid "Configuration" +msgstr "Konfiguration" + #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:18 msgid "" "Matrix service needs to be configured for a domain. Users on other Matrix " @@ -2742,13 +2728,13 @@ msgid "" "go to Let's Encrypt to obtain one." msgstr "" -#: plinth/modules/matrixsynapse/views.py:98 +#: plinth/modules/matrixsynapse/views.py:86 #, fuzzy #| msgid "Application enabled" msgid "Public registration enabled" msgstr "Applikation aktiveret" -#: plinth/modules/matrixsynapse/views.py:103 +#: plinth/modules/matrixsynapse/views.py:91 #, fuzzy #| msgid "Application disabled" msgid "Public registration disabled" @@ -2786,91 +2772,91 @@ msgstr "" msgid "Wiki" msgstr "" -#: plinth/modules/mediawiki/forms.py:27 +#: plinth/modules/mediawiki/forms.py:25 #, fuzzy #| msgid "Administrator Account" msgid "Administrator Password" msgstr "Administratorkonto" -#: plinth/modules/mediawiki/forms.py:28 +#: plinth/modules/mediawiki/forms.py:26 msgid "" "Set a new password for MediaWiki's administrator account (admin). Leave this " "field blank to keep the current password." msgstr "" -#: plinth/modules/mediawiki/forms.py:33 +#: plinth/modules/mediawiki/forms.py:31 #, fuzzy #| msgid "Enable application" msgid "Enable public registrations" msgstr "Aktiver applikation" -#: plinth/modules/mediawiki/forms.py:34 +#: plinth/modules/mediawiki/forms.py:32 msgid "" "If enabled, anyone on the internet will be able to create an account on your " "MediaWiki instance." msgstr "" -#: plinth/modules/mediawiki/forms.py:38 +#: plinth/modules/mediawiki/forms.py:36 #, fuzzy #| msgid "Enable reStore" msgid "Enable private mode" msgstr "Aktiver reStore" -#: plinth/modules/mediawiki/forms.py:39 +#: plinth/modules/mediawiki/forms.py:37 msgid "" "If enabled, access will be restricted. Only people who have accounts can " "read/write to the wiki. Public registrations will also be disabled." msgstr "" -#: plinth/modules/mediawiki/forms.py:44 +#: plinth/modules/mediawiki/forms.py:42 #, fuzzy #| msgid "Default" msgid "Default Skin" msgstr "Standard" -#: plinth/modules/mediawiki/forms.py:45 +#: plinth/modules/mediawiki/forms.py:43 msgid "" "Choose a default skin for your MediaWiki installation. Users have the option " "to select their preferred skin." msgstr "" -#: plinth/modules/mediawiki/views.py:53 +#: plinth/modules/mediawiki/views.py:48 #, fuzzy #| msgid "Password" msgid "Password updated" msgstr "Kodeord" -#: plinth/modules/mediawiki/views.py:72 +#: plinth/modules/mediawiki/views.py:57 #, fuzzy #| msgid "Application enabled" msgid "Public registrations enabled" msgstr "Applikation aktiveret" -#: plinth/modules/mediawiki/views.py:81 +#: plinth/modules/mediawiki/views.py:66 #, fuzzy #| msgid "Application disabled" msgid "Public registrations disabled" msgstr "Applikation deaktiveret" -#: plinth/modules/mediawiki/views.py:86 +#: plinth/modules/mediawiki/views.py:71 #, fuzzy #| msgid "PageKite enabled" msgid "Private mode enabled" msgstr "PageKite aktiveret" -#: plinth/modules/mediawiki/views.py:93 +#: plinth/modules/mediawiki/views.py:78 #, fuzzy #| msgid "PageKite disabled" msgid "Private mode disabled" msgstr "PageKite deaktiveret" -#: plinth/modules/mediawiki/views.py:101 +#: plinth/modules/mediawiki/views.py:86 #, fuzzy #| msgid "Setting unchanged" msgid "Default skin changed" msgstr "Indstilling uændret" -#: plinth/modules/minetest/__init__.py:37 +#: plinth/modules/minetest/__init__.py:38 #, python-brace-format msgid "" "Minetest is a multiplayer infinite-world block sandbox. This module enables " @@ -2883,56 +2869,56 @@ msgstr "" "For at forbinde til serveren skal der bruges en Minetest klient." -#: plinth/modules/minetest/__init__.py:63 +#: plinth/modules/minetest/__init__.py:62 #: plinth/modules/minetest/manifest.py:10 msgid "Minetest" msgstr "" -#: plinth/modules/minetest/__init__.py:64 +#: plinth/modules/minetest/__init__.py:63 #, fuzzy #| msgid "Block Sandbox (Minetest)" msgid "Block Sandbox" msgstr "Block Testområde (Minetest)" -#: plinth/modules/minetest/forms.py:15 +#: plinth/modules/minetest/forms.py:13 msgid "Maximum number of players" msgstr "" -#: plinth/modules/minetest/forms.py:17 +#: plinth/modules/minetest/forms.py:15 msgid "" "You can change the maximum number of players playing minetest at a single " "instance of time." msgstr "" -#: plinth/modules/minetest/forms.py:21 +#: plinth/modules/minetest/forms.py:19 #, fuzzy #| msgid "Enable reStore" msgid "Enable creative mode" msgstr "Aktiver reStore" -#: plinth/modules/minetest/forms.py:22 +#: plinth/modules/minetest/forms.py:20 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:27 +#: plinth/modules/minetest/forms.py:25 #, fuzzy #| msgid "Enable XMPP" msgid "Enable PVP" msgstr "Aktiver XMPP" -#: plinth/modules/minetest/forms.py:28 +#: plinth/modules/minetest/forms.py:26 msgid "Enabling Player Vs Player will allow players to damage other players." msgstr "" -#: plinth/modules/minetest/forms.py:32 +#: plinth/modules/minetest/forms.py:30 #, fuzzy #| msgid "Enable PageKite" msgid "Enable damage" msgstr "Aktiver PageKite" -#: plinth/modules/minetest/forms.py:33 +#: plinth/modules/minetest/forms.py:31 msgid "When disabled, players cannot die or receive damage of any kind." msgstr "" @@ -2981,21 +2967,21 @@ msgid "" "Kodi." msgstr "" -#: plinth/modules/minidlna/__init__.py:33 +#: plinth/modules/minidlna/__init__.py:44 msgid "Media streaming server" msgstr "" -#: plinth/modules/minidlna/__init__.py:47 +#: plinth/modules/minidlna/__init__.py:48 #, fuzzy #| msgid "Mumble Voice Chat Server" msgid "Simple Media Server" msgstr "Mumble Tale-tjenesteserver" -#: plinth/modules/minidlna/forms.py:15 +#: plinth/modules/minidlna/forms.py:13 msgid "Media Files Directory" msgstr "" -#: plinth/modules/minidlna/forms.py:16 +#: plinth/modules/minidlna/forms.py:14 msgid "" "Directory that MiniDLNA Server will read for content. All sub-directories of " "this will be also scanned for media files. If you change the default ensure " @@ -3047,18 +3033,18 @@ msgid "" "On {box_name}, downloaded files can be found in /var/lib/mldonkey/ directory." msgstr "" -#: plinth/modules/mldonkey/__init__.py:40 +#: plinth/modules/mldonkey/__init__.py:50 msgid "Download files using eDonkey applications" msgstr "" -#: plinth/modules/mldonkey/__init__.py:54 +#: plinth/modules/mldonkey/__init__.py:53 #: plinth/modules/mldonkey/manifest.py:12 #, fuzzy #| msgid "Monkeysphere" msgid "MLDonkey" msgstr "Monkeysphere" -#: plinth/modules/mldonkey/__init__.py:56 +#: plinth/modules/mldonkey/__init__.py:55 #, fuzzy #| msgid "Enable Shaarli" msgid "Peer-to-peer File Sharing" @@ -3076,7 +3062,7 @@ msgstr "Monkeysphere" msgid "AMLDonkey" msgstr "Monkeysphere" -#: plinth/modules/monkeysphere/__init__.py:18 +#: plinth/modules/monkeysphere/__init__.py:19 msgid "" "With Monkeysphere, an OpenPGP key can be generated for each configured " "domain serving SSH. The OpenPGP public key can then be uploaded to the " @@ -3097,7 +3083,7 @@ msgstr "" "info/getting-started-ssh/\">Monkeysphere SSH-dokumentationen for flere " "detaljer." -#: plinth/modules/monkeysphere/__init__.py:26 +#: plinth/modules/monkeysphere/__init__.py:27 msgid "" "Monkeysphere can also generate an OpenPGP key for each Secure Web Server " "(HTTPS) certificate installed on this machine. The OpenPGP public key can " @@ -3116,7 +3102,7 @@ msgstr "" "href=\"https://web.monkeysphere.info/download/\">Monkeysphere hjemmesiden." -#: plinth/modules/monkeysphere/__init__.py:50 +#: plinth/modules/monkeysphere/__init__.py:49 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:11 msgid "Monkeysphere" msgstr "Monkeysphere" @@ -3165,15 +3151,15 @@ msgstr "Vis detaljer for nøgle %(fingerprint)s" msgid "-" msgstr "-" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:128 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:129 msgid "Import Key" msgstr "Importer Nøgle" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:137 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:139 msgid "Publish Key" msgstr "Distribuer Nøgle" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:146 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:149 msgid "Add Domains" msgstr "Tilføj Domæner" @@ -3245,7 +3231,7 @@ 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:23 +#: plinth/modules/mumble/__init__.py:24 msgid "" "Mumble is an open source, low-latency, encrypted, high quality voice chat " "software." @@ -3253,7 +3239,7 @@ msgstr "" "Mumble er open source software der tilbyder en højkvalitets tale-tjeneste " "med lav forsinkelse og kryptering." -#: plinth/modules/mumble/__init__.py:25 +#: plinth/modules/mumble/__init__.py:26 msgid "" "You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your " @@ -3263,23 +3249,23 @@ msgstr "" "Klienter til computere og Android-enheder " "er tilgængelige." -#: plinth/modules/mumble/__init__.py:49 plinth/modules/mumble/manifest.py:12 +#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:12 msgid "Mumble" msgstr "" -#: plinth/modules/mumble/__init__.py:50 +#: plinth/modules/mumble/__init__.py:49 #, fuzzy #| msgid "Voice Chat (Mumble)" msgid "Voice Chat" msgstr "Tale-tjeneste (Mumble)" -#: plinth/modules/mumble/forms.py:16 +#: plinth/modules/mumble/forms.py:14 #, fuzzy #| msgid "Save Password" msgid "Set SuperUser Password" msgstr "Gem Kodeord" -#: plinth/modules/mumble/forms.py:19 +#: plinth/modules/mumble/forms.py:17 msgid "" "Optional. Leave this field blank to keep the current password. SuperUser " "password can be used to manage permissions in Mumble." @@ -3614,9 +3600,10 @@ msgid "Open" msgstr "OpenVPN" #: plinth/modules/networks/forms.py:297 -#, python-brace-format -msgid "Choose how your {box_name} is connected to your network" -msgstr "" +#, fuzzy, python-brace-format +#| msgid "Direct connection to the Internet." +msgid "Specify how your {box_name} is connected to your network" +msgstr "Direkte forbindelse til internettet." #: plinth/modules/networks/forms.py:304 #, python-brace-format @@ -3836,7 +3823,7 @@ msgstr "IPv4" #: plinth/modules/networks/templates/connection_show.html:171 #: plinth/modules/networks/templates/connection_show.html:212 -#: plinth/modules/shadowsocks/forms.py:49 +#: plinth/modules/shadowsocks/forms.py:48 msgid "Method" msgstr "Metode" @@ -3852,7 +3839,7 @@ msgstr "DNS-server" #: plinth/modules/networks/templates/connection_show.html:201 #: plinth/modules/networks/templates/connection_show.html:240 -#: plinth/modules/storage/forms.py:141 +#: plinth/modules/storage/forms.py:139 msgid "Default" msgstr "Standard" @@ -4344,6 +4331,11 @@ msgstr "Opsætning færdig." msgid "Setup failed." msgstr "Opsætning fejlede." +#: plinth/modules/openvpn/views.py:135 plinth/modules/tor/views.py:136 +#: plinth/views.py:196 +msgid "Setting unchanged" +msgstr "Indstilling uændret" + #: plinth/modules/pagekite/__init__.py:27 #, python-brace-format msgid "" @@ -4431,11 +4423,11 @@ msgstr "Offentlig Tilgængelighed (PageKite)" msgid "PageKite Domain" msgstr "PageKite-konto" -#: plinth/modules/pagekite/forms.py:48 +#: plinth/modules/pagekite/forms.py:47 msgid "Server domain" msgstr "Serverdomæne" -#: plinth/modules/pagekite/forms.py:50 +#: plinth/modules/pagekite/forms.py:49 msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " "pagekite.net server." @@ -4443,31 +4435,31 @@ msgstr "" "Vælg din PageKite-server. Brug \"pagekite.net\" hvis du vil bruge " "standardserveren fra pagekite.net." -#: plinth/modules/pagekite/forms.py:53 plinth/modules/shadowsocks/forms.py:40 +#: plinth/modules/pagekite/forms.py:52 plinth/modules/shadowsocks/forms.py:39 msgid "Server port" msgstr "Serverport" -#: plinth/modules/pagekite/forms.py:54 +#: plinth/modules/pagekite/forms.py:53 msgid "Port of your pagekite server (default: 80)" msgstr "PageKite-serverport (standard: 80)" -#: plinth/modules/pagekite/forms.py:56 +#: plinth/modules/pagekite/forms.py:55 msgid "Kite name" msgstr "Kite-navn" -#: plinth/modules/pagekite/forms.py:57 +#: plinth/modules/pagekite/forms.py:56 msgid "Example: mybox.pagekite.me" msgstr "Eksempel: mybox.pagekite.me" -#: plinth/modules/pagekite/forms.py:59 +#: plinth/modules/pagekite/forms.py:58 msgid "Invalid kite name" msgstr "Ugyldigt kite-name" -#: plinth/modules/pagekite/forms.py:63 +#: plinth/modules/pagekite/forms.py:62 msgid "Kite secret" msgstr "Kite-hemmelighed" -#: plinth/modules/pagekite/forms.py:64 +#: plinth/modules/pagekite/forms.py:63 msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." @@ -4475,27 +4467,27 @@ msgstr "" "En hemmelighed tilknyttet denne kite, eller standard-hemmeligheden for din " "konto hvis der ikke er defineret nogen for denne kite." -#: plinth/modules/pagekite/forms.py:101 +#: plinth/modules/pagekite/forms.py:100 msgid "protocol" msgstr "protokol" -#: plinth/modules/pagekite/forms.py:104 +#: plinth/modules/pagekite/forms.py:103 msgid "external (frontend) port" msgstr "ekstern (WAN) port" -#: plinth/modules/pagekite/forms.py:107 +#: plinth/modules/pagekite/forms.py:106 msgid "internal (freedombox) port" msgstr "intern (FreedomBox) port" -#: plinth/modules/pagekite/forms.py:108 +#: plinth/modules/pagekite/forms.py:107 msgid "Enable Subdomains" msgstr "Aktiver Subdomæner" -#: plinth/modules/pagekite/forms.py:142 +#: plinth/modules/pagekite/forms.py:141 msgid "Deleted custom service" msgstr "Brugerdefineret tjeneste slettet" -#: plinth/modules/pagekite/forms.py:175 +#: plinth/modules/pagekite/forms.py:174 #, fuzzy #| msgid "" #| "This service is available as a standard service. Please use the " @@ -4505,11 +4497,11 @@ msgstr "" "Denne tjeneste er tilgængelig som en standardtjeneste. Brug venligst siden " "\"Standardtjenester\" for at aktivere den." -#: plinth/modules/pagekite/forms.py:183 +#: plinth/modules/pagekite/forms.py:182 msgid "Added custom service" msgstr "Tilføjet brugerdefineret tjeneste" -#: plinth/modules/pagekite/forms.py:186 +#: plinth/modules/pagekite/forms.py:185 msgid "This service already exists" msgstr "Denne tjeneste eksisterer allerede" @@ -4641,7 +4633,7 @@ msgstr "" msgid "Shut Down Now" msgstr "Sluk Nu" -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 msgid "" "Privoxy is a non-caching web proxy with advanced filtering capabilities for " "enhancing privacy, modifying web page data and HTTP headers, controlling " @@ -4652,7 +4644,7 @@ msgstr "" "HTTP-headers, styre adgang og fjerne reklamer og andet vedderstyggeligt " "internetskrald. " -#: plinth/modules/privoxy/__init__.py:33 +#: plinth/modules/privoxy/__init__.py:34 #, python-brace-format msgid "" "You can use Privoxy by modifying your browser proxy settings to your " @@ -4667,24 +4659,24 @@ msgstr "" "på http://config.privoxy.org/ " "eller http://p.p." -#: plinth/modules/privoxy/__init__.py:56 +#: plinth/modules/privoxy/__init__.py:55 #, fuzzy #| msgid "Enable Privoxy" msgid "Privoxy" msgstr "Aktiver Privoxy" -#: plinth/modules/privoxy/__init__.py:57 +#: plinth/modules/privoxy/__init__.py:56 #, fuzzy #| msgid "Privoxy Web Proxy" msgid "Web Proxy" msgstr "Privoxy Webproxy" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:119 #, 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:32 +#: plinth/modules/quassel/__init__.py:33 #, python-brace-format msgid "" "Quassel is an IRC application that is split into two parts, a \"core\" and a " @@ -4701,7 +4693,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:39 +#: plinth/modules/quassel/__init__.py:40 msgid "" "You can connect to your Quassel core on the default Quassel port 4242. " "Clients to connect to Quassel from your computer og mobile enhed er tilgængelige." -#: plinth/modules/quassel/__init__.py:62 plinth/modules/quassel/manifest.py:10 +#: plinth/modules/quassel/__init__.py:61 plinth/modules/quassel/manifest.py:10 msgid "Quassel" msgstr "" -#: plinth/modules/quassel/__init__.py:63 +#: plinth/modules/quassel/__init__.py:62 #, fuzzy #| msgid "Quassel IRC Client" msgid "IRC Client" msgstr "Quassel IRC-klient" -#: plinth/modules/quassel/forms.py:23 +#: plinth/modules/quassel/forms.py:22 #, fuzzy #| msgid "Subdomain" msgid "TLS domain" msgstr "Subdomæne" -#: plinth/modules/quassel/forms.py:25 +#: plinth/modules/quassel/forms.py:24 msgid "" "Select a domain to use TLS with. If the list is empty, please configure at " "least one domain with certificates." @@ -4739,7 +4731,7 @@ msgstr "" msgid "Quasseldroid" msgstr "" -#: plinth/modules/radicale/__init__.py:32 +#: plinth/modules/radicale/__init__.py:33 #, fuzzy, python-brace-format #| msgid "" #| "Radicale is a CalDAV and CardDAV server. It allows synchronization and " @@ -4759,36 +4751,36 @@ msgstr "" "carddav-clients\">understøttet klient-applikation. Radicale kan tilgås " "af enhver bruger der har et log ind til {box_name}." -#: plinth/modules/radicale/__init__.py:37 +#: plinth/modules/radicale/__init__.py:38 msgid "" "Radicale provides a basic web interface, which only supports creating new " "calendars and addressbooks. It does not support adding events or contacts, " "which must be done using a separate client." msgstr "" -#: plinth/modules/radicale/__init__.py:62 +#: plinth/modules/radicale/__init__.py:61 #: plinth/modules/radicale/manifest.py:75 msgid "Radicale" msgstr "" -#: plinth/modules/radicale/__init__.py:63 +#: plinth/modules/radicale/__init__.py:62 #, fuzzy #| msgid "Calendar and Addressbook (Radicale)" msgid "Calendar and Addressbook" msgstr "Kalender og Adressebog (Radicale)" -#: plinth/modules/radicale/forms.py:15 +#: plinth/modules/radicale/forms.py:14 msgid "Only the owner of a calendar/addressbook can view or make changes." msgstr "" -#: plinth/modules/radicale/forms.py:19 +#: plinth/modules/radicale/forms.py:18 #, python-brace-format msgid "" "Any user with a {box_name} login can view any calendar/addressbook, but only " "the owner can make changes." msgstr "" -#: plinth/modules/radicale/forms.py:24 +#: plinth/modules/radicale/forms.py:23 #, python-brace-format msgid "" "Any user with a {box_name} login can view or make changes to any calendar/" @@ -4933,11 +4925,11 @@ msgid "" "private space." msgstr "" -#: plinth/modules/samba/__init__.py:47 +#: plinth/modules/samba/__init__.py:59 msgid "Access to the private shares" msgstr "" -#: plinth/modules/samba/__init__.py:61 +#: plinth/modules/samba/__init__.py:62 msgid "Samba" msgstr "" @@ -5011,13 +5003,13 @@ msgstr "Kite-navn" msgid "Action" msgstr "Handlinger" -#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:149 +#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:147 #, fuzzy #| msgid "Add Service" msgid "Open Share" msgstr "Tilføj Service" -#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:147 +#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:145 #, fuzzy #| msgid "Add Service" msgid "Group Share" @@ -5065,49 +5057,49 @@ msgid "" "stores no cookies by default." msgstr "" -#: plinth/modules/searx/__init__.py:31 +#: plinth/modules/searx/__init__.py:45 msgid "Search the web" msgstr "" -#: plinth/modules/searx/__init__.py:47 plinth/modules/searx/manifest.py:9 +#: plinth/modules/searx/__init__.py:48 plinth/modules/searx/manifest.py:9 msgid "Searx" msgstr "" -#: plinth/modules/searx/__init__.py:48 +#: plinth/modules/searx/__init__.py:49 #, fuzzy #| msgid "Web Server" msgid "Web Search" msgstr "Webserver" -#: plinth/modules/searx/forms.py:15 +#: plinth/modules/searx/forms.py:13 #, fuzzy #| msgid "Save Services" msgid "Safe Search" msgstr "Gem Tjenester" -#: plinth/modules/searx/forms.py:16 +#: plinth/modules/searx/forms.py:14 msgid "Select the default family filter to apply to your search results." msgstr "" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "None" msgstr "" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 #, fuzzy #| msgid "Mode" msgid "Moderate" msgstr "Tilstand" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "Strict" msgstr "" -#: plinth/modules/searx/forms.py:20 +#: plinth/modules/searx/forms.py:18 msgid "Allow Public Access" msgstr "" -#: plinth/modules/searx/forms.py:21 +#: plinth/modules/searx/forms.py:19 msgid "Allow this application to be used by anyone who can reach it." msgstr "" @@ -5297,32 +5289,32 @@ msgstr "" msgid "Socks5 Proxy" msgstr "" +#: plinth/modules/shadowsocks/forms.py:12 #: plinth/modules/shadowsocks/forms.py:13 -#: plinth/modules/shadowsocks/forms.py:14 msgid "Recommended" msgstr "" -#: plinth/modules/shadowsocks/forms.py:37 +#: plinth/modules/shadowsocks/forms.py:36 #, fuzzy #| msgid "Service" msgid "Server" msgstr "Tjeneste" -#: plinth/modules/shadowsocks/forms.py:38 +#: plinth/modules/shadowsocks/forms.py:37 msgid "Server hostname or IP address" msgstr "" -#: plinth/modules/shadowsocks/forms.py:42 +#: plinth/modules/shadowsocks/forms.py:41 #, fuzzy #| msgid "Server port" msgid "Server port number" msgstr "Serverport" -#: plinth/modules/shadowsocks/forms.py:45 +#: plinth/modules/shadowsocks/forms.py:44 msgid "Password used to encrypt data. Must match server password." msgstr "" -#: plinth/modules/shadowsocks/forms.py:50 +#: plinth/modules/shadowsocks/forms.py:49 msgid "Encryption method. Must match setting on server." msgstr "" @@ -5367,11 +5359,11 @@ msgstr "Distribuer Nøgle" msgid "Make files in this folder available to anyone with the link." msgstr "" -#: plinth/modules/sharing/forms.py:33 +#: plinth/modules/sharing/forms.py:34 msgid "User groups that can read the files in the share" msgstr "" -#: plinth/modules/sharing/forms.py:35 +#: plinth/modules/sharing/forms.py:36 msgid "" "Users of the selected user groups will be able to read the files in the " "share." @@ -5682,13 +5674,13 @@ msgstr "" msgid "Secure Shell (SSH) Server" msgstr "Secure Shell (SSH) Server" -#: plinth/modules/ssh/forms.py:15 +#: plinth/modules/ssh/forms.py:13 #, fuzzy #| msgid "Use HTTP basic authentication" msgid "Disable password authentication" msgstr "Brug basal (\"basic\") HTTP-autentifikation" -#: plinth/modules/ssh/forms.py:16 +#: plinth/modules/ssh/forms.py:14 msgid "" "Improves security by preventing password guessing. Ensure that you have " "setup SSH keys in your administrator user account before enabling this " @@ -5741,150 +5733,150 @@ msgid "" "media, expand the root partition etc." msgstr "" -#: plinth/modules/storage/__init__.py:52 plinth/modules/storage/__init__.py:318 +#: plinth/modules/storage/__init__.py:54 plinth/modules/storage/__init__.py:320 #, fuzzy #| msgid "reStore" msgid "Storage" msgstr "reStore" -#: 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 "" -#: plinth/modules/storage/__init__.py:313 +#: plinth/modules/storage/__init__.py:315 #, no-python-format, python-brace-format msgid "Low space on system partition: {percent_used}% used, {free_space} free." msgstr "" -#: plinth/modules/storage/__init__.py:315 +#: plinth/modules/storage/__init__.py:317 msgid "Low disk space" msgstr "" -#: plinth/modules/storage/forms.py:64 +#: plinth/modules/storage/forms.py:63 #, fuzzy #| msgid "Invalid hostname" msgid "Invalid directory name." msgstr "Ugyldigt værtsnavn" -#: plinth/modules/storage/forms.py:82 +#: plinth/modules/storage/forms.py:80 msgid "Directory does not exist." msgstr "" -#: plinth/modules/storage/forms.py:84 +#: plinth/modules/storage/forms.py:83 #, fuzzy #| msgid "Download directory" msgid "Path is not a directory." msgstr "Download-mappe" -#: plinth/modules/storage/forms.py:87 +#: plinth/modules/storage/forms.py:86 msgid "Directory is not readable by the user." msgstr "" -#: plinth/modules/storage/forms.py:90 +#: plinth/modules/storage/forms.py:89 msgid "Directory is not writable by the user." msgstr "" -#: plinth/modules/storage/forms.py:95 +#: plinth/modules/storage/forms.py:94 #, fuzzy #| msgid "Download directory" msgid "Directory" msgstr "Download-mappe" -#: plinth/modules/storage/forms.py:98 +#: plinth/modules/storage/forms.py:96 msgid "Subdirectory (optional)" msgstr "" -#: plinth/modules/storage/forms.py:145 +#: plinth/modules/storage/forms.py:143 #, fuzzy #| msgid "Add Service" msgid "Share" msgstr "Tilføj Service" -#: plinth/modules/storage/forms.py:153 +#: plinth/modules/storage/forms.py:151 msgid "Other directory (specify below)" msgstr "" @@ -5973,21 +5965,22 @@ msgid "" "synchronize more often. {box_name} runs a single instance of Syncthing that " "may be used by multiple users. Each user's set of devices may be " "synchronized with a distinct set of folders. The web interface on " -"{box_name} is only available for users belonging to the \"admin\" group." +"{box_name} is only available for users belonging to the \"admin\" or " +"\"syncthing\" group." msgstr "" -#: plinth/modules/syncthing/__init__.py:40 +#: plinth/modules/syncthing/__init__.py:53 #, fuzzy #| msgid "Install this application?" msgid "Administer Syncthing application" msgstr "Installer denne applikation?" -#: plinth/modules/syncthing/__init__.py:54 +#: plinth/modules/syncthing/__init__.py:56 #: plinth/modules/syncthing/manifest.py:13 msgid "Syncthing" msgstr "" -#: plinth/modules/syncthing/__init__.py:55 +#: plinth/modules/syncthing/__init__.py:57 msgid "File Synchronization" msgstr "" @@ -6024,37 +6017,37 @@ msgid "" "%(domain_name)s:5678\">https://%(domain_name)s:5678." msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:39 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:29 msgid "Local introducer" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:59 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:76 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:33 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:49 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:66 #, fuzzy #| msgid "Name" msgid "Pet Name" msgstr "Navn" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:56 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:46 msgid "Add new introducer" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:67 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:57 #, fuzzy #| msgid "Address" msgid "Add" msgstr "Adresse" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:72 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:62 msgid "Connected introducers" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:89 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:79 msgid "Remove" msgstr "" -#: plinth/modules/tor/__init__.py:33 +#: plinth/modules/tor/__init__.py:34 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -6068,43 +6061,43 @@ msgstr "" "du bruger Tor-browseren." -#: plinth/modules/tor/__init__.py:55 +#: plinth/modules/tor/__init__.py:54 msgid "Tor" msgstr "" -#: plinth/modules/tor/__init__.py:66 +#: plinth/modules/tor/__init__.py:65 #, fuzzy #| msgid "Tor Hidden Service" msgid "Tor Onion Service" msgstr "Tor Skjult Tjeneste" -#: plinth/modules/tor/__init__.py:70 +#: plinth/modules/tor/__init__.py:69 msgid "Tor Socks Proxy" msgstr "" -#: plinth/modules/tor/__init__.py:74 +#: plinth/modules/tor/__init__.py:73 #, fuzzy msgid "Tor Bridge Relay" msgstr "Tor Bridge Relay" -#: plinth/modules/tor/__init__.py:95 +#: plinth/modules/tor/__init__.py:98 msgid "Tor relay port available" msgstr "Tor videresendelsesport tilgængelig" -#: plinth/modules/tor/__init__.py:105 +#: plinth/modules/tor/__init__.py:108 msgid "Obfs3 transport registered" msgstr "Obfs3 transport registreret" -#: plinth/modules/tor/__init__.py:115 +#: plinth/modules/tor/__init__.py:118 msgid "Obfs4 transport registered" msgstr "Obfs4 transport registreret" -#: plinth/modules/tor/__init__.py:208 +#: plinth/modules/tor/__init__.py:211 #, 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:219 +#: plinth/modules/tor/__init__.py:222 #, 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}" @@ -6254,7 +6247,7 @@ 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:27 +#: plinth/modules/transmission/__init__.py:28 msgid "" "BitTorrent is a peer-to-peer file sharing protocol. Transmission daemon " "handles Bitorrent file sharing. Note that BitTorrent is not anonymous." @@ -6263,7 +6256,7 @@ msgstr "" "Transmission håndterer BitTorrent fildeling. Bemærk at BitTorrent ikke " "anonymiserer trafik." -#: plinth/modules/transmission/__init__.py:48 +#: plinth/modules/transmission/__init__.py:51 #: plinth/modules/transmission/manifest.py:9 #, fuzzy #| msgid "Transmission BitTorrent" @@ -6299,15 +6292,15 @@ msgid "" "connecting." msgstr "" -#: plinth/modules/ttrss/__init__.py:42 +#: plinth/modules/ttrss/__init__.py:54 msgid "Read and subscribe to news feeds" msgstr "" -#: plinth/modules/ttrss/__init__.py:56 plinth/modules/ttrss/manifest.py:19 +#: plinth/modules/ttrss/__init__.py:57 plinth/modules/ttrss/manifest.py:19 msgid "Tiny Tiny RSS" msgstr "" -#: plinth/modules/ttrss/__init__.py:57 +#: plinth/modules/ttrss/__init__.py:58 #, fuzzy #| msgid "News Feed Reader (Tiny Tiny RSS)" msgid "News Feed Reader" @@ -6321,11 +6314,11 @@ msgstr "" msgid "Check for and apply the latest software and security updates." msgstr "" -#: plinth/modules/upgrades/__init__.py:38 plinth/templates/setup.html:74 +#: plinth/modules/upgrades/__init__.py:40 plinth/templates/setup.html:74 msgid "Update" msgstr "Opdater" -#: plinth/modules/upgrades/__init__.py:76 +#: plinth/modules/upgrades/__init__.py:78 #, fuzzy #| msgid "FreedomBox Manual" msgid "FreedomBox Updated" @@ -6393,46 +6386,42 @@ msgstr "" #: plinth/modules/upgrades/templates/upgrades_configure.html:11 #: plinth/modules/upgrades/templates/upgrades_configure.html:12 -#: plinth/modules/upgrades/views.py:88 +#: plinth/modules/upgrades/views.py:85 #, fuzzy #| msgid "Last update" msgid "Manual update" msgstr "Seneste opdatering" -#: plinth/modules/upgrades/views.py:47 +#: plinth/modules/upgrades/views.py:46 #, python-brace-format msgid "Error when configuring unattended-upgrades: {error}" msgstr "" "Kunne ikke konfigurere automatisk opdatering (unattended-upgrades): {error}" -#: plinth/modules/upgrades/views.py:51 +#: plinth/modules/upgrades/views.py:50 msgid "Automatic upgrades enabled" msgstr "Automatisk opdatering aktiveret" -#: plinth/modules/upgrades/views.py:54 +#: plinth/modules/upgrades/views.py:53 msgid "Automatic upgrades disabled" msgstr "Automatisk opdatering deaktiveret" -#: plinth/modules/upgrades/views.py:56 -msgid "Settings unchanged" -msgstr "Indstillinger uændret" - -#: plinth/modules/upgrades/views.py:82 +#: plinth/modules/upgrades/views.py:79 msgid "Upgrade process started." msgstr "Opdateringsprocessen er startet." -#: plinth/modules/upgrades/views.py:85 +#: plinth/modules/upgrades/views.py:82 msgid "Starting upgrade failed." msgstr "Kunne ikke starte opdatering." -#: plinth/modules/users/__init__.py:37 +#: plinth/modules/users/__init__.py:39 msgid "" "Create and managed user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " "account to be part of a group to authorize the user to access the app." msgstr "" -#: plinth/modules/users/__init__.py:42 +#: plinth/modules/users/__init__.py:44 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -6440,47 +6429,53 @@ msgid "" "group may alter apps or system settings." msgstr "" -#: plinth/modules/users/__init__.py:64 +#: plinth/modules/users/__init__.py:65 msgid "Users and Groups" msgstr "Brugere og Grupper" -#: plinth/modules/users/__init__.py:115 +#: plinth/modules/users/__init__.py:78 +msgid "Access to all services and system settings" +msgstr "" + +#: plinth/modules/users/__init__.py:122 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "Kontrol af LDAP-konfiguration \"{search_item}\"" -#: plinth/modules/users/forms.py:28 -msgid "Access to all services and system settings" -msgstr "" - -#: plinth/modules/users/forms.py:44 +#: plinth/modules/users/forms.py:36 msgid "Username is taken or is reserved." msgstr "" -#: plinth/modules/users/forms.py:72 +#: plinth/modules/users/forms.py:63 #, fuzzy #| msgid "Invalid server name" msgid "Enter a valid username." msgstr "Ugyldigt servernavn" -#: plinth/modules/users/forms.py:78 +#: plinth/modules/users/forms.py:69 msgid "" "Required. 150 characters or fewer. English letters, digits and @/./-/_ only." msgstr "" -#: plinth/modules/users/forms.py:91 plinth/modules/users/forms.py:207 +#: plinth/modules/users/forms.py:83 plinth/modules/users/forms.py:196 #, fuzzy #| msgid "Transmission BitTorrent" msgid "Permissions" msgstr "Transmission BitTorrent" -#: plinth/modules/users/forms.py:94 +#: plinth/modules/users/forms.py:85 +#, fuzzy +#| msgid "" +#| "Select which services should be available to the new user. The user will " +#| "be able to log in to services that support single sign-on through LDAP, " +#| "if they are in the appropriate group.

Users in the admin group " +#| "will be able to log in to all services. They can also log in to the " +#| "system through SSH and have administrative privileges (sudo)." msgid "" -"Select which services should be available to the new user. The user will be " -"able to log in to services that support single sign-on through LDAP, if they " -"are in the appropriate group.

Users in the admin group will be " -"able to log in to all services. They can also log in to the system through " -"SSH and have administrative privileges (sudo)." +"user. The user will be able to log in to services that support single sign-" +"on through LDAP, if they are in the appropriate group.

Users in " +"the admin group will be able to log in to all services. They can also log in " +"to the system through SSH and have administrative privileges (sudo)." msgstr "" "Vælg hvilke tjenester der skal være tilgængelige for den nye bruger. " "Brugeren vil være i stand til at logge ind på tjenester som understøtter " @@ -6489,20 +6484,20 @@ msgstr "" "tjenester. De kan også logge ind på systemet gennem SSH og har " "administratorprivilegier (sudo)." -#: plinth/modules/users/forms.py:133 plinth/modules/users/forms.py:357 +#: plinth/modules/users/forms.py:122 plinth/modules/users/forms.py:345 msgid "Creating LDAP user failed." msgstr "Kunne ikke oprette LDAP-bruger." -#: plinth/modules/users/forms.py:144 +#: plinth/modules/users/forms.py:133 #, python-brace-format msgid "Failed to add new user to {group} group." msgstr "Kunne ikke tilføje ny bruger til gruppen {group}." -#: plinth/modules/users/forms.py:158 +#: plinth/modules/users/forms.py:147 msgid "Authorized SSH Keys" msgstr "" -#: plinth/modules/users/forms.py:160 +#: plinth/modules/users/forms.py:149 msgid "" "Setting an SSH public key will allow this user to securely log in to the " "system without using a password. You may enter multiple keys, one on each " @@ -6512,45 +6507,45 @@ msgstr "" "sikkert ind på systemet uden et kodeord. Der kan defineres flere nøgler, en " "på hver linje. Tomme linjer og linjer som starter med # bliver ignoreret." -#: plinth/modules/users/forms.py:244 +#: plinth/modules/users/forms.py:233 msgid "Renaming LDAP user failed." msgstr "Kunne ikke omdøbe LDAP-bruger." -#: plinth/modules/users/forms.py:256 +#: plinth/modules/users/forms.py:245 msgid "Failed to remove user from group." msgstr "Kunne ikke fjerne bruger fra gruppe." -#: plinth/modules/users/forms.py:267 +#: plinth/modules/users/forms.py:256 msgid "Failed to add user to group." msgstr "Kunne ikke tilføje bruger til gruppe." -#: plinth/modules/users/forms.py:276 +#: plinth/modules/users/forms.py:265 msgid "Unable to set SSH keys." msgstr "" -#: plinth/modules/users/forms.py:291 +#: plinth/modules/users/forms.py:280 #, fuzzy #| msgid "Failed to add user to group." msgid "Failed to change user status." msgstr "Kunne ikke tilføje bruger til gruppe." -#: plinth/modules/users/forms.py:299 +#: plinth/modules/users/forms.py:288 msgid "Cannot delete the only administrator in the system." msgstr "" -#: plinth/modules/users/forms.py:331 +#: plinth/modules/users/forms.py:319 msgid "Changing LDAP user password failed." msgstr "Kunne ikke ændre LDAP-kodeord." -#: plinth/modules/users/forms.py:366 +#: plinth/modules/users/forms.py:354 msgid "Failed to add new user to admin group." msgstr "Kunne ikke tilføje ny bruger til admin-gruppen." -#: plinth/modules/users/forms.py:383 +#: plinth/modules/users/forms.py:371 msgid "Failed to restrict console access." msgstr "" -#: plinth/modules/users/forms.py:395 +#: plinth/modules/users/forms.py:383 msgid "User account created, you are now logged in" msgstr "Brugerkonto oprettet, du er nu logget ind" @@ -7379,18 +7374,22 @@ msgstr "Installerer %(package_names)s: %(status)s" msgid "%(percentage)s%% complete" msgstr "%(percentage)s%% færdig" -#: plinth/views.py:184 -msgid "Application enabled" -msgstr "Applikation aktiveret" - -#: plinth/views.py:187 -msgid "Application disabled" -msgstr "Applikation deaktiveret" - #: plinth/web_framework.py:107 msgid "Gujarati" msgstr "" +#~ msgid "Enable application" +#~ msgstr "Aktiver applikation" + +#~ msgid "Settings unchanged" +#~ msgstr "Indstillinger uændret" + +#~ msgid "Application enabled" +#~ msgstr "Applikation aktiveret" + +#~ msgid "Application disabled" +#~ msgstr "Applikation deaktiveret" + #~ msgid "Kite details set" #~ msgstr "Kite-detaljer gemt" diff --git a/plinth/locale/de/LC_MESSAGES/django.po b/plinth/locale/de/LC_MESSAGES/django.po index bd49ac547..ed1dd94f7 100644 --- a/plinth/locale/de/LC_MESSAGES/django.po +++ b/plinth/locale/de/LC_MESSAGES/django.po @@ -9,9 +9,9 @@ msgid "" msgstr "" "Project-Id-Version: FreedomBox UI\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-23 18:54-0400\n" -"PO-Revision-Date: 2020-02-24 21:32+0000\n" -"Last-Translator: Michael Breidenbach \n" +"POT-Creation-Date: 2020-04-06 19:59-0400\n" +"PO-Revision-Date: 2020-04-11 13:36+0000\n" +"Last-Translator: Jeannette L \n" "Language-Team: German \n" "Language: de\n" @@ -54,15 +54,11 @@ msgstr "Verbinden mit {host}:{port}" msgid "Cannot connect to {host}:{port}" msgstr "Verbindung mit {host}:{port} fehlgeschlagen" -#: plinth/forms.py:24 -msgid "Enable application" -msgstr "Anwendung aktivieren" - -#: plinth/forms.py:39 +#: plinth/forms.py:38 msgid "Select a domain name to be used with this application" msgstr "Einen Domainnamen für die Nutzung dieser Anwendung wählen" -#: plinth/forms.py:41 +#: plinth/forms.py:40 msgid "" "Warning! The application may not work properly if domain name is changed " "later." @@ -70,15 +66,15 @@ msgstr "" "Achtung! Die Anwendung könnte fehlerhaft laufen, falls der Domainname später " "geändert wird." -#: plinth/forms.py:49 +#: plinth/forms.py:48 msgid "Language" msgstr "Sprache" -#: plinth/forms.py:50 +#: plinth/forms.py:49 msgid "Language to use for presenting this web interface" msgstr "Sprache für die Darstellung dieser Weboberfläche" -#: plinth/forms.py:57 +#: plinth/forms.py:56 msgid "Use the language preference set in the browser" msgstr "Die im Browser festgelegte Sprache verwenden" @@ -401,32 +397,26 @@ msgid "Submit" msgstr "Absenden" #: plinth/modules/backups/templates/backups_repository.html:19 -#, fuzzy -#| msgid "Existing repository is not encrypted." msgid "This repository is encrypted" -msgstr "Vorhandenes Repository ist nicht verschlüsselt." +msgstr "Dieses Repository ist verschlüsselt" #: plinth/modules/backups/templates/backups_repository.html:34 -#, fuzzy -#| msgid "Remove Location" msgid "Unmount Location" -msgstr "Standort entfernen" +msgstr "Standort aushängen" #: plinth/modules/backups/templates/backups_repository.html:45 -#, fuzzy -#| msgid "Mount Point" msgid "Mount Location" -msgstr "Einhängepunkt" +msgstr "Standort einhängen" #: plinth/modules/backups/templates/backups_repository.html:56 msgid "Remove Backup Location. This will not delete the remote backup." msgstr "" +"Sicherungsspeicherort entfernen. Dadurch wird die Remote-Sicherung nicht " +"gelöscht." #: plinth/modules/backups/templates/backups_repository.html:77 -#, fuzzy -#| msgid "downloading" msgid "Download" -msgstr "herunterladen" +msgstr "Herunterladen" #: plinth/modules/backups/templates/backups_repository.html:81 #: plinth/modules/backups/templates/backups_restore.html:28 @@ -657,30 +647,28 @@ msgstr "BIND" msgid "Domain Name Server" msgstr "DNS-Server" -#: plinth/modules/bind/forms.py:22 +#: plinth/modules/bind/forms.py:20 msgid "Forwarders" msgstr "Weiterleiter" -#: plinth/modules/bind/forms.py:23 +#: plinth/modules/bind/forms.py:21 msgid "" "A list DNS servers, separated by space, to which requests will be forwarded" msgstr "" "Eine Liste von DNS-Servern, getrennt durch Leerzeichen, an welche die " "Anfragen weitergeleitet werden" -#: plinth/modules/bind/forms.py:27 +#: plinth/modules/bind/forms.py:25 msgid "Enable DNSSEC" msgstr "DNSSEC einschalten" -#: plinth/modules/bind/forms.py:28 +#: plinth/modules/bind/forms.py:26 msgid "Enable Domain Name System Security Extensions" msgstr "Domain-Name-System-Sicherheitserweiterungen (DNSSEC) aktivieren" #: plinth/modules/bind/templates/bind.html:11 -#, fuzzy -#| msgid "Server domain" msgid "Serving Domains" -msgstr "Serverdomain" +msgstr "Bedienen von Domains" #: plinth/modules/bind/templates/bind.html:16 #: plinth/modules/ikiwiki/forms.py:12 @@ -690,32 +678,27 @@ msgid "Type" msgstr "Typ" #: plinth/modules/bind/templates/bind.html:17 -#, fuzzy -#| msgid "Domain Name" msgid "Domain Names" -msgstr "Domain-Name" +msgstr "Domain Namen" #: plinth/modules/bind/templates/bind.html:18 -#, fuzzy -#| msgid "Service" msgid "Serving" -msgstr "Dienst" +msgstr "Bedienen" #: plinth/modules/bind/templates/bind.html:19 -#, fuzzy -#| msgid "IP address" msgid "IP addresses" -msgstr "IP-Adresse" +msgstr "IP-Adressen" #: plinth/modules/bind/templates/bind.html:35 #: plinth/modules/bind/templates/bind.html:37 msgid "Refresh IP address and domains" -msgstr "" +msgstr "IP-Adresse und Domänen aktualisieren" -#: plinth/modules/bind/views.py:72 plinth/modules/deluge/views.py:44 +#: plinth/modules/bind/views.py:72 plinth/modules/deluge/views.py:42 #: plinth/modules/dynamicdns/views.py:150 plinth/modules/openvpn/views.py:133 -#: plinth/modules/pagekite/forms.py:91 plinth/modules/shadowsocks/views.py:59 -#: plinth/modules/transmission/views.py:50 +#: plinth/modules/pagekite/forms.py:90 plinth/modules/quassel/views.py:30 +#: plinth/modules/shadowsocks/views.py:59 +#: plinth/modules/transmission/views.py:47 msgid "Configuration updated" msgstr "Konfiguration aktualisiert" @@ -777,11 +760,11 @@ msgstr "" "Hier können Sie einige allgemeine Konfigurationsoptionen wie Hostname, " "Domainname, Webserver-Homepage usw. festlegen." -#: plinth/modules/config/__init__.py:50 +#: plinth/modules/config/__init__.py:52 msgid "General Configuration" msgstr "Allgemeine Konfiguration" -#: plinth/modules/config/__init__.py:55 plinth/modules/dynamicdns/views.py:29 +#: plinth/modules/config/__init__.py:57 plinth/modules/dynamicdns/views.py:29 #: plinth/modules/names/templates/names.html:29 #: plinth/modules/names/templates/names.html:43 #: plinth/modules/snapshot/views.py:26 @@ -789,7 +772,7 @@ msgstr "Allgemeine Konfiguration" msgid "Configure" msgstr "Konfigurieren" -#: plinth/modules/config/__init__.py:59 plinth/modules/config/forms.py:61 +#: plinth/modules/config/__init__.py:61 plinth/modules/config/forms.py:61 #: plinth/modules/dynamicdns/forms.py:95 msgid "Domain Name" msgstr "Domain-Name" @@ -932,35 +915,35 @@ msgid "" "password is \"test\"." msgstr "" "Der Coquelicot-Dialog ist öffentlich zugänglich. Um unberechtigten Zugriff " -"zu verhindern, wird ein Upload-Passwort benötigt. Sie können ein neues " -"Upload-Passwort in dem Formular festlegen, das nach der Installation unten " -"angezeigt wird. Das voreingestellte Upload-Passwort ist \"test\"." +"zu verhindern, wird ein Hochladen-Passwort benötigt. Sie können ein neues " +"Hochladen-Passwort in dem Formular festlegen, das nach der Installation " +"unten angezeigt wird. Das voreingestellte Hochladen-Passwort ist „test“." #: plinth/modules/coquelicot/__init__.py:45 msgid "Coquelicot" msgstr "Coquelicot" -#: plinth/modules/coquelicot/__init__.py:47 plinth/modules/samba/__init__.py:62 +#: plinth/modules/coquelicot/__init__.py:47 plinth/modules/samba/__init__.py:63 msgid "File Sharing" -msgstr "Filesharing/Dateien teilen" +msgstr "Dateifreigabe" -#: plinth/modules/coquelicot/forms.py:15 +#: plinth/modules/coquelicot/forms.py:13 msgid "Upload Password" -msgstr "Upload-Passwort" +msgstr "Hochladen-Passwort" -#: plinth/modules/coquelicot/forms.py:16 +#: plinth/modules/coquelicot/forms.py:14 msgid "" "Set a new upload password for Coquelicot. Leave this field blank to keep the " "current password." msgstr "" -"Ein neues Upload-Passwort für Coquelicot eingeben. Dieses Feld leerlassen, " -"um das derzeitige Passwort beizubehalten." +"Ein neues Hochladen-Passwort für Coquelicot eingeben. Dieses Feld " +"leerlassen, um das derzeitige Passwort beizubehalten." -#: plinth/modules/coquelicot/forms.py:20 +#: plinth/modules/coquelicot/forms.py:18 msgid "Maximum File Size (in MiB)" msgstr "Maximale Dateigröße (in MiB)" -#: plinth/modules/coquelicot/forms.py:21 +#: plinth/modules/coquelicot/forms.py:19 msgid "Set the maximum size of the files that can be uploaded to Coquelicot." msgstr "" "Die maximale Größe der Dateien festlegen, die per Coquelicot hochgeladen " @@ -972,11 +955,11 @@ msgstr "Coquelicot" #: plinth/modules/coquelicot/views.py:36 msgid "Upload password updated" -msgstr "Upload-Passwort geändert" +msgstr "Hochladen-Passwort geändert" #: plinth/modules/coquelicot/views.py:39 msgid "Failed to update upload password" -msgstr "Upload-Passwort konnte nicht aktualisiert werden" +msgstr "Hochalden-Passwort konnte nicht aktualisiert werden" #: plinth/modules/coquelicot/views.py:47 msgid "Maximum file size updated" @@ -1002,11 +985,11 @@ msgstr "Datum und Uhrzeit" msgid "Time synchronized to NTP server" msgstr "Zeit synchronisiert mit NTP-Server" -#: plinth/modules/datetime/forms.py:20 +#: plinth/modules/datetime/forms.py:18 msgid "Time Zone" msgstr "Zeitzone" -#: plinth/modules/datetime/forms.py:21 +#: plinth/modules/datetime/forms.py:19 msgid "" "Set your time zone to get accurate timestamps. This will set the system-wide " "time zone." @@ -1014,7 +997,7 @@ msgstr "" "Die Zeitzone festlegen, um korrekte Zeitstempel erhalten. Sie als " "systemweite Zeitzone festgelegt." -#: plinth/modules/datetime/forms.py:32 +#: plinth/modules/datetime/forms.py:30 msgid "-- no time zone set --" msgstr "-- keine Zeitzone gesetzt --" @@ -1027,11 +1010,11 @@ msgstr "Fehler beim Setzen der Zeitzone: {exception}" msgid "Time zone set" msgstr "Zeitzone gesetzt" -#: plinth/modules/deluge/__init__.py:25 +#: plinth/modules/deluge/__init__.py:26 msgid "Deluge is a BitTorrent client that features a Web UI." msgstr "Deluge ist ein BitTorrent-Client mit einer Weboberfläche." -#: plinth/modules/deluge/__init__.py:26 +#: plinth/modules/deluge/__init__.py:27 msgid "" "The default password is 'deluge', but you should log in and change it " "immediately after enabling this service." @@ -1039,21 +1022,21 @@ msgstr "" "Das Standardkennwort ist 'deluge', aber Sie sollten sich anmelden und es " "sofort ändern, nachdem Sie diesen Dienst aktiviert haben." -#: plinth/modules/deluge/__init__.py:30 -#: plinth/modules/transmission/__init__.py:34 +#: plinth/modules/deluge/__init__.py:46 +#: plinth/modules/transmission/__init__.py:48 msgid "Download files using BitTorrent applications" msgstr "Dateien mit BitTorrent herunterladen" -#: plinth/modules/deluge/__init__.py:46 plinth/modules/deluge/manifest.py:9 +#: plinth/modules/deluge/__init__.py:50 plinth/modules/deluge/manifest.py:9 msgid "Deluge" msgstr "Deluge" -#: plinth/modules/deluge/__init__.py:47 -#: plinth/modules/transmission/__init__.py:50 +#: plinth/modules/deluge/__init__.py:51 +#: plinth/modules/transmission/__init__.py:53 msgid "BitTorrent Web Client" msgstr "BitTorrent-Webclient" -#: plinth/modules/deluge/forms.py:20 plinth/modules/transmission/forms.py:20 +#: plinth/modules/deluge/forms.py:20 plinth/modules/transmission/forms.py:21 msgid "Download directory" msgstr "Download-Ordner" @@ -1130,7 +1113,7 @@ msgstr "diaspora*" msgid "Federated Social Network" msgstr "Verteiltes Soziales Netzwerk" -#: plinth/modules/diaspora/forms.py:15 +#: plinth/modules/diaspora/forms.py:13 msgid "Enable new user registrations" msgstr "Registrierung neuer Benutzer aktivieren" @@ -1164,32 +1147,23 @@ msgstr "" #: plinth/modules/diaspora/templates/diaspora-pre-setup.html:43 #: plinth/modules/dynamicdns/templates/dynamicdns_configure.html:25 -#: plinth/modules/ejabberd/templates/ejabberd.html:43 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:18 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:47 #: plinth/modules/snapshot/templates/snapshot.html:15 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:35 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:43 -#: plinth/templates/app.html:52 +#: plinth/templates/app.html:54 msgid "Update setup" msgstr "Update-Einstellungen" -#: plinth/modules/diaspora/views.py:76 plinth/modules/ejabberd/views.py:46 -#: plinth/modules/matrixsynapse/views.py:85 -#: plinth/modules/mediawiki/views.py:58 plinth/modules/openvpn/views.py:135 -#: plinth/modules/tor/views.py:136 plinth/views.py:180 -msgid "Setting unchanged" -msgstr "Einstellung unverändert" - -#: plinth/modules/diaspora/views.py:80 +#: plinth/modules/diaspora/views.py:74 msgid "User registrations enabled" msgstr "Registrierung neuer Benutzer aktiviert" -#: plinth/modules/diaspora/views.py:84 +#: plinth/modules/diaspora/views.py:78 msgid "User registrations disabled" msgstr "Registrierung neuer Benutzer deaktiviert" -#: plinth/modules/dynamicdns/__init__.py:27 +#: plinth/modules/dynamicdns/__init__.py:28 #, python-brace-format msgid "" "If your Internet provider changes your IP address periodically (i.e. every " @@ -1201,7 +1175,7 @@ msgstr "" "zu finden. Dadurch werden andere daran gehindert, jene Dienste zu finden, " "die von Ihrer {box_name} angeboten werden." -#: plinth/modules/dynamicdns/__init__.py:31 +#: plinth/modules/dynamicdns/__init__.py:32 msgid "" "The solution is to assign a DNS name to your IP address and update the DNS " "name every time your IP is changed by your Internet provider. Dynamic DNS " @@ -1219,11 +1193,11 @@ msgstr "" "der neuen IP zuweisen, und wenn jemand aus dem Internet nach Ihrem DNS-Namen " "fragt, erhält er eine Antwort mit Ihrer aktuellen IP-Adresse." -#: plinth/modules/dynamicdns/__init__.py:56 +#: plinth/modules/dynamicdns/__init__.py:55 msgid "Dynamic DNS Client" msgstr "Dynamischer DNS-Client" -#: plinth/modules/dynamicdns/__init__.py:66 +#: plinth/modules/dynamicdns/__init__.py:65 msgid "Dynamic Domain Name" msgstr "Dynamischer Domain-Name" @@ -1331,7 +1305,7 @@ msgid "Username" msgstr "Benutzername" #: plinth/modules/dynamicdns/forms.py:104 plinth/modules/networks/forms.py:200 -#: plinth/modules/shadowsocks/forms.py:45 +#: plinth/modules/shadowsocks/forms.py:44 msgid "Password" msgstr "Passwort" @@ -1428,7 +1402,7 @@ msgstr "" msgid "Last update" msgstr "Letztes Update" -#: plinth/modules/dynamicdns/views.py:26 plinth/modules/help/__init__.py:49 +#: plinth/modules/dynamicdns/views.py:26 plinth/modules/help/__init__.py:51 #: plinth/templates/help-menu.html:46 plinth/templates/help-menu.html:47 msgid "About" msgstr "Über" @@ -1455,7 +1429,7 @@ msgstr "Dynamisches DNS konfigurieren" msgid "Dynamic DNS Status" msgstr "Status für Dynamisches DNS" -#: plinth/modules/ejabberd/__init__.py:36 +#: plinth/modules/ejabberd/__init__.py:37 msgid "" "XMPP is an open and standardized communication protocol. Here you can run " "and configure your XMPP server, called ejabberd." @@ -1463,7 +1437,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:39 +#: plinth/modules/ejabberd/__init__.py:40 #, python-brace-format msgid "" "To actually communicate, you can use the web client Benutzer mit einem " "{box_name} Login aufgerufen werden." -#: plinth/modules/ejabberd/__init__.py:70 +#: plinth/modules/ejabberd/__init__.py:69 msgid "ejabberd" msgstr "ejabberd" -#: plinth/modules/ejabberd/__init__.py:71 +#: plinth/modules/ejabberd/__init__.py:70 #: plinth/modules/matrixsynapse/__init__.py:68 msgid "Chat Server" msgstr "Chatserver" -#: plinth/modules/ejabberd/forms.py:17 +#: plinth/modules/ejabberd/forms.py:16 msgid "Enable Message Archive Management" msgstr "Nachrichten-Archiv-Management aktivieren" -#: plinth/modules/ejabberd/forms.py:19 +#: plinth/modules/ejabberd/forms.py:18 #, python-brace-format msgid "" "If enabled, your {box_name} will store chat message histories. This allows " @@ -1561,19 +1535,11 @@ msgstr "" "auf der Seite Systemeinstellungen " "konfigurieren." -#: plinth/modules/ejabberd/templates/ejabberd.html:35 -#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 -#: plinth/modules/snapshot/templates/snapshot.html:12 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:27 -#: plinth/templates/app.html:45 -msgid "Configuration" -msgstr "Konfiguration" - -#: plinth/modules/ejabberd/views.py:58 +#: plinth/modules/ejabberd/views.py:45 msgid "Message Archive Management enabled" msgstr "Nachrichten-Archiv-Verwaltung aktiviert" -#: plinth/modules/ejabberd/views.py:62 +#: plinth/modules/ejabberd/views.py:49 msgid "Message Archive Management disabled" msgstr "Nachrichten-Archiv-Verwaltung deaktiviert" @@ -1589,7 +1555,7 @@ msgstr "" "korrekt konfiguriert zu halten, reduziert Sicherheitsrisiken aus dem " "Internet." -#: plinth/modules/firewall/__init__.py:63 +#: plinth/modules/firewall/__init__.py:65 msgid "Firewall" msgstr "Firewall" @@ -1740,7 +1706,7 @@ msgstr "" "Um weiter über Git Betrieb zu lernen, schauen Sie sich die Gitanleitung an." -#: plinth/modules/gitweb/__init__.py:39 +#: plinth/modules/gitweb/__init__.py:51 msgid "Read-write access to Git repositories" msgstr "Lese- und Schreibberechtigung auf Git respositories" @@ -1877,31 +1843,31 @@ msgstr "{name} gelöscht." msgid "Could not delete {name}: {error}" msgstr "{name} konnte nicht gelöscht werden: {error}" -#: plinth/modules/help/__init__.py:30 +#: plinth/modules/help/__init__.py:32 msgid "Documentation" msgstr "Dokumentation" -#: plinth/modules/help/__init__.py:33 plinth/modules/networks/forms.py:47 +#: plinth/modules/help/__init__.py:35 plinth/modules/networks/forms.py:47 #: plinth/modules/networks/forms.py:77 plinth/templates/help-menu.html:20 #: plinth/templates/help-menu.html:21 plinth/templates/index.html:128 msgid "Manual" msgstr "Handbuch" -#: plinth/modules/help/__init__.py:37 +#: plinth/modules/help/__init__.py:39 #: plinth/modules/help/templates/help_support.html:9 #: plinth/modules/help/views.py:43 plinth/templates/help-menu.html:27 #: plinth/templates/help-menu.html:28 msgid "Get Support" msgstr "Unterstützung erhalten" -#: plinth/modules/help/__init__.py:41 +#: plinth/modules/help/__init__.py:43 #: plinth/modules/help/templates/help_feedback.html:9 #: plinth/modules/help/views.py:37 plinth/templates/help-menu.html:33 #: plinth/templates/help-menu.html:34 msgid "Submit Feedback" msgstr "Feedback abgeben" -#: plinth/modules/help/__init__.py:45 +#: plinth/modules/help/__init__.py:47 #: plinth/modules/help/templates/help_contribute.html:9 #: plinth/modules/help/views.py:31 plinth/templates/help-menu.html:39 #: plinth/templates/help-menu.html:40 @@ -2048,7 +2014,7 @@ msgstr "" #: plinth/modules/help/templates/help_contribute.html:42 #: plinth/modules/power/templates/power_restart.html:27 #: plinth/modules/power/templates/power_shutdown.html:26 -#: plinth/templates/app-header.html:51 +#: plinth/templates/app-header.html:53 msgid "Learn more..." msgstr "Mehr erfahren …" @@ -2236,19 +2202,19 @@ msgstr "" "Der erste Besuch der bereitgestellten Weboberfläche leitet den " "Konfigurationsprozess ein." -#: plinth/modules/i2p/__init__.py:38 +#: plinth/modules/i2p/__init__.py:62 msgid "Manage I2P application" msgstr "I2P-Anwendung verwalten" -#: plinth/modules/i2p/__init__.py:64 plinth/modules/i2p/manifest.py:16 +#: plinth/modules/i2p/__init__.py:65 plinth/modules/i2p/manifest.py:16 msgid "I2P" msgstr "I2P" -#: plinth/modules/i2p/__init__.py:65 plinth/modules/tor/__init__.py:56 +#: plinth/modules/i2p/__init__.py:66 plinth/modules/tor/__init__.py:55 msgid "Anonymity Network" msgstr "Anonymisierungsnetzwerk" -#: plinth/modules/i2p/__init__.py:87 +#: plinth/modules/i2p/__init__.py:88 msgid "I2P Proxy" msgstr "I2P Proxy" @@ -2318,18 +2284,18 @@ msgstr "" "\"{users_url}\">Benutzerkonfiguration können diese Rechte geändert oder " "neue Benutzer angelegt werden." -#: plinth/modules/ikiwiki/__init__.py:39 -msgid "View and edit wiki applications" -msgstr "Wiki-Anwendungen ansehen und bearbeiten" - -#: plinth/modules/ikiwiki/__init__.py:53 plinth/modules/ikiwiki/manifest.py:9 +#: plinth/modules/ikiwiki/__init__.py:52 plinth/modules/ikiwiki/manifest.py:9 msgid "ikiwiki" msgstr "ikiwiki" -#: plinth/modules/ikiwiki/__init__.py:54 +#: plinth/modules/ikiwiki/__init__.py:53 msgid "Wiki and Blog" msgstr "Wiki und Blog" +#: plinth/modules/ikiwiki/__init__.py:73 +msgid "View and edit wiki applications" +msgstr "Wiki-Anwendungen ansehen und bearbeiten" + #: plinth/modules/ikiwiki/forms.py:17 msgid "Admin Account Name" msgstr "Admin-Konto-Name" @@ -2375,32 +2341,32 @@ msgstr "" "Diese Aktion wird alle Posts, Seiten und Kommentare einschließlich der " "Historie löschen. Dieses Wiki oder den Blog dauerhaft löschen?" -#: plinth/modules/ikiwiki/views.py:72 +#: plinth/modules/ikiwiki/views.py:70 #, python-brace-format msgid "Created wiki {name}." msgstr "Wiki {name} angelegt." -#: plinth/modules/ikiwiki/views.py:75 +#: plinth/modules/ikiwiki/views.py:73 #, python-brace-format msgid "Could not create wiki: {error}" msgstr "Wiki konnte nicht angelegt werden: {error}" -#: plinth/modules/ikiwiki/views.py:85 +#: plinth/modules/ikiwiki/views.py:83 #, python-brace-format msgid "Created blog {name}." msgstr "Blog {name} angelegt." -#: plinth/modules/ikiwiki/views.py:88 +#: plinth/modules/ikiwiki/views.py:86 #, python-brace-format msgid "Could not create blog: {error}" msgstr "Blog konnte nicht angelegt werden: {error}" -#: plinth/modules/ikiwiki/views.py:103 +#: plinth/modules/ikiwiki/views.py:101 #, python-brace-format msgid "{title} deleted." msgstr "{title} gelöscht." -#: plinth/modules/ikiwiki/views.py:107 +#: plinth/modules/ikiwiki/views.py:105 #, python-brace-format msgid "Could not delete {title}: {error}" msgstr "{title} konnte nicht gelöscht werden: {error}" @@ -2445,7 +2411,7 @@ msgstr "" "Gobby starten und „Mit Server verbinden“ auswählen und den Domainnamen Ihrer " "FreedomBox {box_name} eingeben." -#: plinth/modules/jsxc/__init__.py:22 +#: plinth/modules/jsxc/__init__.py:23 msgid "" "JSXC is a web client for XMPP. Typically it is used with an XMPP server " "running locally." @@ -2453,11 +2419,11 @@ msgstr "" "JSXC ist ein XMPP-Webclient. Er wird meist mit einem lokalen XMPP-Server " "genutzt." -#: plinth/modules/jsxc/__init__.py:40 plinth/modules/jsxc/manifest.py:10 +#: plinth/modules/jsxc/__init__.py:43 plinth/modules/jsxc/manifest.py:10 msgid "JSXC" msgstr "JSXC" -#: plinth/modules/jsxc/__init__.py:41 +#: plinth/modules/jsxc/__init__.py:44 msgid "Chat Client" msgstr "Chatclient" @@ -2648,11 +2614,11 @@ msgstr "" msgid "Matrix Synapse" msgstr "Matrix Synapse" -#: plinth/modules/matrixsynapse/forms.py:14 +#: plinth/modules/matrixsynapse/forms.py:12 msgid "Enable Public Registration" msgstr "Öffentliche Registrierung aktivieren" -#: plinth/modules/matrixsynapse/forms.py:15 +#: plinth/modules/matrixsynapse/forms.py:13 msgid "" "Enabling public registration means that anyone on the Internet can register " "a new account on your Matrix server. Disable this if you only want existing " @@ -2667,6 +2633,12 @@ msgstr "" msgid "Riot" msgstr "Riot" +#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 +#: plinth/modules/snapshot/templates/snapshot.html:12 +#: plinth/templates/app.html:46 +msgid "Configuration" +msgstr "Konfiguration" + #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:18 msgid "" "Matrix service needs to be configured for a domain. Users on other Matrix " @@ -2731,11 +2703,11 @@ msgstr "" "Zertifikat. Bitte gehen Sie zu Let's " "Encrypt, um eines zu beziehen." -#: plinth/modules/matrixsynapse/views.py:98 +#: plinth/modules/matrixsynapse/views.py:86 msgid "Public registration enabled" msgstr "Öffentliche Registrierung aktiviert" -#: plinth/modules/matrixsynapse/views.py:103 +#: plinth/modules/matrixsynapse/views.py:91 msgid "Public registration disabled" msgstr "Öffentliche Registrierung deaktiviert" @@ -2784,11 +2756,11 @@ msgstr "MediaWiki" msgid "Wiki" msgstr "Wiki" -#: plinth/modules/mediawiki/forms.py:27 +#: plinth/modules/mediawiki/forms.py:25 msgid "Administrator Password" msgstr "Administrator-Passwort" -#: plinth/modules/mediawiki/forms.py:28 +#: plinth/modules/mediawiki/forms.py:26 msgid "" "Set a new password for MediaWiki's administrator account (admin). Leave this " "field blank to keep the current password." @@ -2796,11 +2768,11 @@ msgstr "" "Geben Sie ein neues Passwort für den MediaWiki-Administrator ein (admin). " "Lassen Sie das Feld leer, bleibt das derzeitige Passwort bestehen." -#: plinth/modules/mediawiki/forms.py:33 +#: plinth/modules/mediawiki/forms.py:31 msgid "Enable public registrations" msgstr "Öffentliche Registrierung aktivieren" -#: plinth/modules/mediawiki/forms.py:34 +#: plinth/modules/mediawiki/forms.py:32 msgid "" "If enabled, anyone on the internet will be able to create an account on your " "MediaWiki instance." @@ -2808,11 +2780,11 @@ msgstr "" "Falls aktiviert, kann jeder im Internet ein Nutzerkonto für Ihre MediaWiki-" "Instanz anlegen." -#: plinth/modules/mediawiki/forms.py:38 +#: plinth/modules/mediawiki/forms.py:36 msgid "Enable private mode" msgstr "Privaten Modus einschalten" -#: plinth/modules/mediawiki/forms.py:39 +#: plinth/modules/mediawiki/forms.py:37 msgid "" "If enabled, access will be restricted. Only people who have accounts can " "read/write to the wiki. Public registrations will also be disabled." @@ -2821,11 +2793,11 @@ msgstr "" "können das Wiki lesen oder ändern. Außerdem wird die öffentliche " "Registrierung deaktiviert." -#: plinth/modules/mediawiki/forms.py:44 +#: plinth/modules/mediawiki/forms.py:42 msgid "Default Skin" msgstr "Standard Thema" -#: plinth/modules/mediawiki/forms.py:45 +#: plinth/modules/mediawiki/forms.py:43 msgid "" "Choose a default skin for your MediaWiki installation. Users have the option " "to select their preferred skin." @@ -2833,31 +2805,31 @@ msgstr "" "Wählen Sie eine Standard-Thema für Ihre MediaWiki-Installation. Benutzer " "haben die Möglichkeit, ihr bevorzugtes Thema auszuwählen." -#: plinth/modules/mediawiki/views.py:53 +#: plinth/modules/mediawiki/views.py:48 msgid "Password updated" msgstr "Passwort geändert" -#: plinth/modules/mediawiki/views.py:72 +#: plinth/modules/mediawiki/views.py:57 msgid "Public registrations enabled" msgstr "Öffentliche Registrierung aktiviert" -#: plinth/modules/mediawiki/views.py:81 +#: plinth/modules/mediawiki/views.py:66 msgid "Public registrations disabled" msgstr "Öffentliche Registrierung deaktiviert" -#: plinth/modules/mediawiki/views.py:86 +#: plinth/modules/mediawiki/views.py:71 msgid "Private mode enabled" msgstr "Privater Modus aktiviert" -#: plinth/modules/mediawiki/views.py:93 +#: plinth/modules/mediawiki/views.py:78 msgid "Private mode disabled" msgstr "Privater Modus ausgeschaltet" -#: plinth/modules/mediawiki/views.py:101 +#: plinth/modules/mediawiki/views.py:86 msgid "Default skin changed" msgstr "Standard-Thema geändert" -#: plinth/modules/minetest/__init__.py:37 +#: plinth/modules/minetest/__init__.py:38 #, python-brace-format msgid "" "Minetest is a multiplayer infinite-world block sandbox. This module enables " @@ -2870,20 +2842,20 @@ msgstr "" "Standardport (30000). Um auf dem Server zu spielen, wird ein Minetest-Client benötigt." -#: plinth/modules/minetest/__init__.py:63 +#: plinth/modules/minetest/__init__.py:62 #: plinth/modules/minetest/manifest.py:10 msgid "Minetest" msgstr "Minetest" -#: plinth/modules/minetest/__init__.py:64 +#: plinth/modules/minetest/__init__.py:63 msgid "Block Sandbox" msgstr "Block-Sandkasten" -#: plinth/modules/minetest/forms.py:15 +#: plinth/modules/minetest/forms.py:13 msgid "Maximum number of players" msgstr "Maximale Spielerzahl" -#: plinth/modules/minetest/forms.py:17 +#: plinth/modules/minetest/forms.py:15 msgid "" "You can change the maximum number of players playing minetest at a single " "instance of time." @@ -2891,11 +2863,11 @@ msgstr "" "Sie können die maximale Anzahl der Spieler ändern, die Minetest gleichzeitig " "spielen können." -#: plinth/modules/minetest/forms.py:21 +#: plinth/modules/minetest/forms.py:19 msgid "Enable creative mode" msgstr "Kreativ-Modus einschalten" -#: plinth/modules/minetest/forms.py:22 +#: plinth/modules/minetest/forms.py:20 msgid "" "Creative mode changes the rules of the game to make it more suitable for " "creative gameplay, rather than challenging \"survival\" gameplay." @@ -2903,21 +2875,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:27 +#: plinth/modules/minetest/forms.py:25 msgid "Enable PVP" msgstr "Spieler-gegen-Spieler einschalten" -#: plinth/modules/minetest/forms.py:28 +#: plinth/modules/minetest/forms.py:26 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:32 +#: plinth/modules/minetest/forms.py:30 msgid "Enable damage" msgstr "Schaden einschalten" -#: plinth/modules/minetest/forms.py:33 +#: plinth/modules/minetest/forms.py:31 msgid "When disabled, players cannot die or receive damage of any kind." msgstr "" "Wenn deaktiviert, können Spieler weder sterben noch irgendwelche Schäden " @@ -2967,19 +2939,19 @@ msgstr "" "Smartphones, Fernseher und Gaming-Systeme (wie PS3 und Xbox 360) oder " "Anwendungen wie Totem und Kodi." -#: plinth/modules/minidlna/__init__.py:33 +#: plinth/modules/minidlna/__init__.py:44 msgid "Media streaming server" msgstr "Medien-Streaming-Server" -#: plinth/modules/minidlna/__init__.py:47 +#: plinth/modules/minidlna/__init__.py:48 msgid "Simple Media Server" msgstr "Einfacher Medienserver" -#: plinth/modules/minidlna/forms.py:15 +#: plinth/modules/minidlna/forms.py:13 msgid "Media Files Directory" msgstr "Verzeichnis für Mediendateien" -#: plinth/modules/minidlna/forms.py:16 +#: plinth/modules/minidlna/forms.py:14 msgid "" "Directory that MiniDLNA Server will read for content. All sub-directories of " "this will be also scanned for media files. If you change the default ensure " @@ -3046,16 +3018,16 @@ msgstr "" "Auf {box_name} können heruntergeladene Dateien im Verzeichnis /var/lib/" "mldonkey/ gefunden werden." -#: plinth/modules/mldonkey/__init__.py:40 +#: plinth/modules/mldonkey/__init__.py:50 msgid "Download files using eDonkey applications" msgstr "Dateien mit eDonkey herunterladen" -#: plinth/modules/mldonkey/__init__.py:54 +#: plinth/modules/mldonkey/__init__.py:53 #: plinth/modules/mldonkey/manifest.py:12 msgid "MLDonkey" msgstr "MLDonkey" -#: plinth/modules/mldonkey/__init__.py:56 +#: plinth/modules/mldonkey/__init__.py:55 msgid "Peer-to-peer File Sharing" msgstr "Peer-to-Peer-Datenaustausch" @@ -3067,7 +3039,7 @@ msgstr "KMLDonkey" msgid "AMLDonkey" msgstr "AMLDonkey" -#: plinth/modules/monkeysphere/__init__.py:18 +#: plinth/modules/monkeysphere/__init__.py:19 msgid "" "With Monkeysphere, an OpenPGP key can be generated for each configured " "domain serving SSH. The OpenPGP public key can then be uploaded to the " @@ -3088,7 +3060,7 @@ msgstr "" "die Monkeysphere-SSH-Dokumentation für weitere Details." -#: plinth/modules/monkeysphere/__init__.py:26 +#: plinth/modules/monkeysphere/__init__.py:27 msgid "" "Monkeysphere can also generate an OpenPGP key for each Secure Web Server " "(HTTPS) certificate installed on this machine. The OpenPGP public key can " @@ -3107,7 +3079,7 @@ msgstr "" "monkeysphere.info/download/\">Monkeysphere-Webseite zur Verfügung steht, " "installieren." -#: plinth/modules/monkeysphere/__init__.py:50 +#: plinth/modules/monkeysphere/__init__.py:49 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:11 msgid "Monkeysphere" msgstr "Monkeysphere" @@ -3156,15 +3128,15 @@ msgstr "Details von Schlüssel %(fingerprint)s anzeigen" msgid "-" msgstr "-" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:128 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:129 msgid "Import Key" msgstr "Schlüssel importieren" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:137 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:139 msgid "Publish Key" msgstr "Schlüssel veröffentlichen" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:146 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:149 msgid "Add Domains" msgstr "Domains hinzufügen" @@ -3237,7 +3209,7 @@ 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:23 +#: plinth/modules/mumble/__init__.py:24 msgid "" "Mumble is an open source, low-latency, encrypted, high quality voice chat " "software." @@ -3245,7 +3217,7 @@ msgstr "" "Mumble ist eine hochwertige quelloffene Software für Telefonie und Chat, mit " "Verschlüsselung und geringer Latenz." -#: plinth/modules/mumble/__init__.py:25 +#: plinth/modules/mumble/__init__.py:26 msgid "" "You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your " @@ -3255,19 +3227,19 @@ msgstr "" "verbinden. Auf Mumble finden Sie " "Anwendungen, um sich vom Desktop oder Android-Gerät mit Mumble zu verbinden." -#: plinth/modules/mumble/__init__.py:49 plinth/modules/mumble/manifest.py:12 +#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:12 msgid "Mumble" msgstr "Mumble" -#: plinth/modules/mumble/__init__.py:50 +#: plinth/modules/mumble/__init__.py:49 msgid "Voice Chat" msgstr "Sprachkonferenz" -#: plinth/modules/mumble/forms.py:16 +#: plinth/modules/mumble/forms.py:14 msgid "Set SuperUser Password" msgstr "SuperUser-Kennwort festlegen" -#: plinth/modules/mumble/forms.py:19 +#: plinth/modules/mumble/forms.py:17 msgid "" "Optional. Leave this field blank to keep the current password. SuperUser " "password can be used to manage permissions in Mumble." @@ -3590,23 +3562,20 @@ msgid "Open" msgstr "Offen" #: plinth/modules/networks/forms.py:297 -#, fuzzy, python-brace-format -#| msgid "Use upstream bridges to connect to Tor network" -msgid "Choose how your {box_name} is connected to your network" -msgstr "Upstream-Bridges zur Verbindung mit dem Tor-Netzwerk nutzen" +#, python-brace-format +msgid "Specify how your {box_name} is connected to your network" +msgstr "Geben Sie an, wie Ihre {box_name} mit Ihrem Netzwerk verbunden ist" #: plinth/modules/networks/forms.py:304 -#, fuzzy, python-brace-format -#| msgid "" -#| "Your %(box_name)s gets its internet connection from your router via Wi-Fi " -#| "or Ethernet cable. This is a typical home setup." +#, python-brace-format msgid "" "Connected to a router

Your {box_name} gets its " "Internet connection from your router via Wi-Fi or Ethernet cable. This is a " "typical home setup.

" msgstr "" -"Ihre %(box_name)s erhält eine Internetverbindung über WLAN oder Ethernet-" -"Kabel von Ihrem Router. Dies ist ein typisches Home-Setup." +"Bei Anschluss an einen Router

Ihr {box_name} erhält " +"die Internetverbindung von Ihrem Router über Wi-Fi oder Ethernet-Kabel. Dies " +"ist eine typische Einrichtung für zu Hause.

" #: plinth/modules/networks/forms.py:311 #, python-brace-format @@ -3616,6 +3585,11 @@ msgid "" "adapter. {box_name} is directly connected to the Internet and all your " "devices connect to {box_name} for their Internet connectivity.

" msgstr "" +"{box_name} ist Ihr Router

Ihr {box_name} verfügt " +"über mehrere Netzwerkschnittstellen, z. B. mehrere Ethernet-Ports oder einen " +"WLAN-Adapter. Die {box_name} ist direkt mit dem Internet verbunden, und alle " +"Ihre Geräte stellen eine Verbindung mit der Internetverbindung von " +"{box_name} her.

" #: plinth/modules/networks/forms.py:320 #, python-brace-format @@ -3624,10 +3598,14 @@ msgid "" "connection is directly attached to your {box_name} and there are no other " "devices on the network. This can happen on community or cloud setups.

" msgstr "" +"Direkt mit dem Internet verbunden,

Ihre " +"Internetverbindung ist direkt an Ihren {box_name} angeschlossen, und es gibt " +"keine anderen Geräte im Netzwerk. Dies kann bei Community- oder Cloud-Setups " +"passieren.

" #: plinth/modules/networks/forms.py:339 msgid "Choose your internet connection type" -msgstr "" +msgstr "Wählen Sie die Art Ihrer Internetverbindung" #: plinth/modules/networks/forms.py:343 msgid "" @@ -3639,6 +3617,15 @@ msgid "" "connectivity. If you have a public IP address but are unsure if it changes " "over time or not, it is safer to choose this option.

" msgstr "" +"Ich habe eine öffentliche IP-Adresse, die sich im Laufe der Zeit ändern " +"kann

Das bedeutet, dass Geräte im Internet Sie " +"erreichen können, wenn Sie mit dem Internet verbunden sind. Jedes Mal, wenn " +"Sie sich mit Ihrem Internet Service Provider (ISP) mit dem Internet " +"verbinden, erhalten Sie möglicherweise eine andere IP-Adresse, insbesondere " +"nach einiger Zeit der Offline-Nutzung. Viele ISPs bieten diese Art der " +"Konnektivität an. Wenn Sie eine öffentliche IP-Adresse haben, aber nicht " +"sicher sind, ob sie sich im Laufe der Zeit ändert, ist es sicherer, diese " +"Option zu wählen.

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

" msgstr "" +"Ich habe eine feste öffentliche IP-Adresse, die sich nicht ändert " +"(empfohlen).

Jedes Mal, wenn Sie mit Ihrem Internet " +"Dienstanbieter eine Verbindung zum Internet herstellen, erhalten Sie immer " +"die gleiche IP-Adresse. Dies ist die störungsfreieste Einrichtung für viele " +"Dienste von {box_name}, aber nur sehr wenige ISPs bieten dies an. " +"Möglicherweise können Sie diesen Service von Ihrem ISP erhalten, indem Sie " +"eine zusätzliche Zahlung leisten.

" #: plinth/modules/networks/forms.py:368 #, python-brace-format @@ -3663,26 +3657,29 @@ msgid "" "troublesome situation for hosting services at home. {box_name} provides many " "workaround solutions but each solution has some limitations.

" msgstr "" +"Ich habe keine öffentliche IP-Adresse

Das bedeutet, " +"dass Geräte im Internet Sie nicht erreichen können, wenn Sie mit dem " +"Internet verbunden sind. Jedes Mal, wenn Sie sich mit Ihrem Internet Service " +"Provider (ISP) mit dem Internet verbinden, erhalten Sie eine IP-Adresse, die " +"nur für lokale Netzwerke relevant ist. Viele ISPs bieten diese Art der " +"Konnektivität an. Dies ist die problematischste Situation für Hosting-" +"Dienste zu Hause. {box_name} bietet viele Umgehungslösungen, aber jede " +"Lösung hat einige Einschränkungen.

" #: plinth/modules/networks/forms.py:381 msgid "" "I do not know the type of connection my ISP provides

You will be suggested the most conservative actions.

" msgstr "" +"Ich weiss nicht, welche Art von Verbindung mein ISP anbietet

Es werden Ihnen die konservativsten Massnahmen vorgeschlagen.

" #: plinth/modules/networks/forms.py:398 msgid "Preferred router configuration" msgstr "Bevorzugte Routerkonfiguration" #: plinth/modules/networks/forms.py:403 -#, fuzzy, python-brace-format -#| msgid "" -#| "Use DMZ feature to forward all traffic

Most " -#| "routers provide a configuration setting called DMZ. This will allow the " -#| "router to forward all incoming traffic from the internet to a single IP " -#| "address such as the {box_name}'s address. First remember to configure a " -#| "static local IP address for your {box_name} in your router's " -#| "configuration.

" +#, python-brace-format msgid "" "Use DMZ feature to forward all traffic (recommended)

Most routers provide a configuration setting called DMZ. This will allow " @@ -3691,24 +3688,16 @@ msgid "" "static local IP address for your {box_name} in your router's configuration." msgstr "" -"Verwenden Sie die DMZ-Funktion, um den gesamten Datenverkehr

weiterzuleiten. Dadurch kann der Router den gesamten eingehenden " -"Datenverkehr aus dem Internet an eine einzelne IP-Adresse weiterleiten, z. " -"B. die Adresse der {box_name}. Denken Sie zunächst daran, eine statische " -"lokale IP-Adresse für Ihre {box_name} in der Konfiguration Ihres Routers zu " -"konfigurieren.

" +"Verwenden Sie die DMZ-Funktion, um den gesamten Datenverkehr weiterzuleiten " +"(empfohlen)

Die meisten Router bieten eine " +"Konfigurationseinstellung namens DMZ. Dadurch kann der Router den gesamten " +"eingehenden Datenverkehr aus dem Internet an eine einzelne IP-Adresse " +"weiterleiten, z. B. die IP-Adresse von {box_name}. Denken Sie zunächst " +"daran, eine statische lokale IP-Adresse für Ihre box_name in der " +"Konfiguration Ihres Routers zu konfigurieren.

" #: plinth/modules/networks/forms.py:415 -#, fuzzy, python-brace-format -#| msgid "" -#| "Forward Specific Traffic as needed by each application

You may alternatively choose to forward only specific traffic to " -#| "your {box_name}. This is ideal if you have other servers like {box_name} " -#| "in your network or if your router does not support DMZ feature. All " -#| "applications that provide a web interface need you to forward traffic " -#| "from ports 80 and 443 to work. Each of the other applications will " -#| "suggest which port(s) need to be forwarded for that application to work." +#, python-brace-format msgid "" "Forward specific traffic as needed by each application

You may alternatively choose to forward only specific traffic to your " @@ -3718,31 +3707,27 @@ msgid "" "443 to work. Each of the other applications will suggest which port(s) need " "to be forwarded for that application to work.

" msgstr "" -"Weiterleiten von spezifiziertem Datenverkehr für jede Anwendung

Alternativ können Sie nur bestimmten Datenverkehr an Ihre " -"{box_name} weiterleiten. Dies ist ideal, wenn Sie andere Server wie " -"{box_name} in Ihrem Netzwerk haben oder wenn Ihr Router die DMZ-Funktion " -"nicht unterstützt. Alle Anwendungen, die eine Weboberfläche bereitstellen, " -"müssen den Datenverkehr von den Ports 80 und 443 weiterleiten. Jede der " -"anderen Anwendungen schlägt vor, welche Ports für diese Anwendung " -"weitergeleitet werden müssen.

" +"Leiten Sie den spezifischen Datenverkehr weiter, wie von jeder Anwendung " +"benötigt

Sie können alternativ wählen, nur den " +"spezifischen Datenverkehr an Ihren {box_name} weiterzuleiten. Dies ist " +"ideal, wenn Sie andere Server wie {box_name} in Ihrem Netzwerk haben oder " +"wenn Ihr Router die DMZ-Funktion nicht unterstützt. Alle Anwendungen, die " +"eine Webschnittstelle bereitstellen, müssen den Datenverkehr von den Ports " +"80 und 443 weiterleiten, damit sie funktionieren. Jede der anderen " +"Anwendungen schlägt vor, welche(r) Port(s) weitergeleitet werden müssen, " +"damit diese Anwendung funktioniert.

" #: plinth/modules/networks/forms.py:429 -#, fuzzy -#| msgid "" -#| "Router is currently unconfigured

Choose this if " -#| "you have not configured or are unable to configure the router currently " -#| "and wish to be reminded later. Some of the other configuration steps may " -#| "fail.

" msgid "" "Router is currently unconfigured

Choose this if you " "have not configured or are unable to configure the router currently and wish " "to be reminded later. Some of the other configuration steps may fail.

" msgstr "" -"Router ist derzeit nicht konfiguriert

Wählen Sie " -"diese Option, wenn Sie den Router nicht konfiguriert haben oder nicht " -"konfigurieren können und später daran erinnert werden möchten. Einige der " -"anderen Konfigurationsschritte können fehlschlagen.

" +"Der Router ist derzeit unkonfiguriert

Wählen Sie " +"diese Option, wenn Sie den Router nicht konfiguriert haben oder nicht in der " +"Lage sind, den Router derzeit zu konfigurieren, und Sie später daran " +"erinnert werden möchten. Einige der anderen Konfigurationsschritte können " +"fehlschlagen.

" #: plinth/modules/networks/templates/connection_show.html:28 msgid "Edit connection" @@ -3856,7 +3841,7 @@ msgstr "IPv4" #: plinth/modules/networks/templates/connection_show.html:171 #: plinth/modules/networks/templates/connection_show.html:212 -#: plinth/modules/shadowsocks/forms.py:49 +#: plinth/modules/shadowsocks/forms.py:48 msgid "Method" msgstr "Methode" @@ -3872,7 +3857,7 @@ msgstr "DNS-Server" #: plinth/modules/networks/templates/connection_show.html:201 #: plinth/modules/networks/templates/connection_show.html:240 -#: plinth/modules/storage/forms.py:141 +#: plinth/modules/storage/forms.py:139 msgid "Default" msgstr "Standard" @@ -4020,29 +4005,21 @@ msgstr "Anlegen …" #: plinth/modules/networks/templates/internet_connectivity_content.html:10 msgid "What Type Of Internet Connection Do You Have?" -msgstr "" +msgstr "Welche Art von Internetverbindung haben Sie?" #: plinth/modules/networks/templates/internet_connectivity_content.html:16 -#, fuzzy -#| msgid "" -#| "The following best describes how your %(box_name)s is connected in your " -#| "network. This information is used only to suggest necessary configuration " -#| "actions." msgid "" "Select an option that best describes the type of Internet connection. This " "information is used only to guide you with further setup." msgstr "" -"Im Folgenden wird am besten beschrieben, wie Ihre %(box_name)s in Ihrem " -"Netzwerk verbunden ist. Diese Informationen werden nur verwendet, um " -"erforderliche Konfigurationsaktionen vorzuschlagen." +"Wählen Sie eine Option aus, die den Typ der Internetverbindung am besten " +"beschreibt. Diese Informationen dienen nur zur weiteren Einrichtung." #: plinth/modules/networks/templates/internet_connectivity_firstboot.html:19 #: plinth/modules/networks/templates/network_topology_firstboot.html:19 #: plinth/modules/networks/templates/router_configuration_firstboot.html:19 -#, fuzzy -#| msgid "skip this step" msgid "Skip this step" -msgstr "Überspringen Sie diesen Schritt" +msgstr "Überspringen Sie diesen Schritt" #: plinth/modules/networks/templates/internet_connectivity_firstboot.html:21 #: plinth/modules/networks/templates/network_topology_firstboot.html:21 @@ -4051,41 +4028,39 @@ msgid "Next" msgstr "Weiter" #: plinth/modules/networks/templates/internet_connectivity_main.html:9 -#, fuzzy -#| msgid "Connection Type" msgid "Your Internet Connection Type" -msgstr "Verbindungstyp" +msgstr "Ihr Internetverbindungstyp" #: plinth/modules/networks/templates/internet_connectivity_main.html:14 -#, fuzzy -#| msgid "" -#| "The following best describes how your %(box_name)s is connected in your " -#| "network. This information is used only to suggest necessary configuration " -#| "actions." msgid "" "The following best describes the type of Internet connection provided by " "your ISP. This information is only used to suggest you necessary " "configuration actions." msgstr "" -"Im Folgenden wird am besten beschrieben, wie Ihre %(box_name)s in Ihrem " -"Netzwerk verbunden ist. Diese Informationen werden nur verwendet, um " -"erforderliche Konfigurationsaktionen vorzuschlagen." +"Im Folgenden wird am besten beschrieben, welche Art von Internetverbindung " +"von Ihrem Internetdienstanbieter bereitgestellt wird. Diese Informationen " +"werden nur verwendet, um Ihnen die erforderlichen Konfigurationsaktionen " +"vorzuschlagen." #: plinth/modules/networks/templates/internet_connectivity_main.html:23 msgid "My ISP provides a public IP address that does not change over time." msgstr "" +"Mein ISP stellt eine öffentliche IP-Adresse bereit, die sich im Laufe der " +"Zeit nicht ändert." #: plinth/modules/networks/templates/internet_connectivity_main.html:27 msgid "My ISP provides a public IP address that may change over time." msgstr "" +"Mein ISP stellt eine öffentliche IP-Adresse bereit, die sich im Laufe der " +"Zeit ändern kann." #: plinth/modules/networks/templates/internet_connectivity_main.html:31 msgid "My ISP does not provide a public IP address." -msgstr "" +msgstr "Mein ISP stellt keine öffentliche IP-Adresse zur Verfügung." #: plinth/modules/networks/templates/internet_connectivity_main.html:35 msgid "I do not know the type of connection my ISP provides." -msgstr "" +msgstr "Ich weiss nicht, welche Art von Verbindung mein ISP anbietet." #: plinth/modules/networks/templates/internet_connectivity_main.html:41 #: plinth/modules/networks/templates/network_topology_main.html:41 @@ -4093,25 +4068,21 @@ msgid "Update..." msgstr "aktualisieren..." #: plinth/modules/networks/templates/network_topology_content.html:10 -#, fuzzy, python-format -#| msgid "Direct connection to the Internet." +#, python-format msgid "How is Your %(box_name)s Connected to the Internet?" -msgstr "Direkte Verbindung zum Internet." +msgstr "Wie ist Ihr %(box_name)s mit dem Internet verbunden?" #: plinth/modules/networks/templates/network_topology_content.html:16 -#, fuzzy, python-format -#| msgid "" -#| "The following best describes how your %(box_name)s is connected in your " -#| "network. This information is used only to suggest necessary configuration " -#| "actions." +#, python-format msgid "" "Select an option that best describes how your %(box_name)s is connected in " "your network. This information is used to guide you with further setup. It " "can be changed later." msgstr "" -"Im Folgenden wird am besten beschrieben, wie Ihre %(box_name)s in Ihrem " -"Netzwerk verbunden ist. Diese Informationen werden nur verwendet, um " -"erforderliche Konfigurationsaktionen vorzuschlagen." +"Wählen Sie eine Option aus, die am besten beschreibt, wie Ihre %(box_name)s " +"in Ihrem Netzwerk verbunden sind. Diese Informationen werden verwendet, um " +"Sie bei der weiteren Einrichtung zu begleiten. Sie kann später geändert " +"werden." #: plinth/modules/networks/templates/network_topology_main.html:9 #, python-format @@ -4130,15 +4101,12 @@ msgstr "" "erforderliche Konfigurationsaktionen vorzuschlagen." #: plinth/modules/networks/templates/network_topology_main.html:24 -#, fuzzy, python-format -#| msgid "" -#| "Your %(box_name)s gets its internet connection from your router via Wi-Fi " -#| "or Ethernet cable. This is a typical home setup." +#, python-format msgid "" "Your %(box_name)s gets its Internet connection from your router via Wi-Fi or " "Ethernet cable. This is a typical home setup." msgstr "" -"Ihre %(box_name)s erhält eine Internetverbindung über WLAN oder Ethernet-" +"Ihre %(box_name)s erhält seine Internetverbindung über WLAN oder Ethernet-" "Kabel von Ihrem Router. Dies ist ein typisches Home-Setup." #: plinth/modules/networks/templates/network_topology_main.html:29 @@ -4147,6 +4115,8 @@ msgid "" "Your %(box_name)s is directly connected to the Internet and all your devices " "connect to %(box_name)s for their Internet connectivity." msgstr "" +"Ihre %(box_name)s ist direkt mit dem Internet verbunden und alle Ihre Geräte " +"stellen eine Verbindung mit %(box_name)s für ihre Internetverbindung her." #: plinth/modules/networks/templates/network_topology_main.html:34 #, python-format @@ -4154,6 +4124,8 @@ msgid "" "Your Internet connection is directly attached to your %(box_name)s and there " "are no other devices on the network." msgstr "" +"Ihre Internetverbindung ist direkt mit Ihren %(box_name)s verbunden und es " +"gibt keine anderen Geräte im Netzwerk." #: plinth/modules/networks/templates/router_configuration_content.html:10 #, python-format @@ -4183,20 +4155,15 @@ msgstr "" "weiterleitet, damit %(box_name)s die Dienste bereitstellt." #: plinth/modules/networks/templates/router_configuration_content.html:32 -#, fuzzy -#| msgid "" -#| "If you don't have control over your router, choose not to configure it. " -#| "To see options, to overcome this limitation, choose 'no public address' " -#| "option in Internet connection type selection." msgid "" "If you don't have control over your router, choose not to configure it. To " "see options to overcome this limitation, choose 'no public address' option " "in Internet connection type selection." msgstr "" -"Wenn Sie keine Kontrolle über Ihren Router haben, wählen Sie ihn nicht " -"konfigurieren. Um Optionen anzuzeigen, wählen Sie in der Auswahl des " -"Internetverbindungstyps die Option \"Keine öffentliche Adresse\" aus, um " -"Optionen zu sehen diese Einschränkung zu überwinden." +"Wenn Sie keine Kontrolle über Ihren Router haben, können Sie ihn nicht " +"konfigurieren. Um Optionen zur Überwindung dieser Einschränkung zu sehen, " +"wählen Sie die Option 'keine öffentliche Adresse' in der Auswahl der " +"Internetverbindungsart." #: plinth/modules/networks/templates/router_configuration_content.html:39 msgid "Choose How You Wish to Configure Your Router" @@ -4336,10 +4303,8 @@ msgid "Enable OpenVPN server" msgstr "OpenVPN-Server einschalten" #: plinth/modules/openvpn/manifest.py:48 -#, fuzzy -#| msgid "TunnelBlick" msgid "Tunnelblick" -msgstr "TunnelBlick" +msgstr "Tunnelblick" #: plinth/modules/openvpn/templates/openvpn.html:27 #, python-format @@ -4409,6 +4374,11 @@ msgstr "Einrichtung beendet." msgid "Setup failed." msgstr "Einrichtung fehlgeschlagen." +#: plinth/modules/openvpn/views.py:135 plinth/modules/tor/views.py:136 +#: plinth/views.py:196 +msgid "Setting unchanged" +msgstr "Einstellung unverändert" + #: plinth/modules/pagekite/__init__.py:27 #, python-brace-format msgid "" @@ -4480,11 +4450,11 @@ msgstr "Öffentliche Sichtbarkeit" msgid "PageKite Domain" msgstr "PageKite Domäne" -#: plinth/modules/pagekite/forms.py:48 +#: plinth/modules/pagekite/forms.py:47 msgid "Server domain" msgstr "Serverdomain" -#: plinth/modules/pagekite/forms.py:50 +#: plinth/modules/pagekite/forms.py:49 msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " "pagekite.net server." @@ -4492,31 +4462,31 @@ msgstr "" "Wählen Sie Ihren PageKite-Server aus. „pagekite.net“ festlegen, um den " "Standardserver zu verwenden." -#: plinth/modules/pagekite/forms.py:53 plinth/modules/shadowsocks/forms.py:40 +#: plinth/modules/pagekite/forms.py:52 plinth/modules/shadowsocks/forms.py:39 msgid "Server port" msgstr "Serverport" -#: plinth/modules/pagekite/forms.py:54 +#: plinth/modules/pagekite/forms.py:53 msgid "Port of your pagekite server (default: 80)" msgstr "Port Ihres PageKite-Servers (standard: 80)" -#: plinth/modules/pagekite/forms.py:56 +#: plinth/modules/pagekite/forms.py:55 msgid "Kite name" msgstr "Kite-Name" -#: plinth/modules/pagekite/forms.py:57 +#: plinth/modules/pagekite/forms.py:56 msgid "Example: mybox.pagekite.me" msgstr "Beispiel: meinebox.pagekite.me" -#: plinth/modules/pagekite/forms.py:59 +#: plinth/modules/pagekite/forms.py:58 msgid "Invalid kite name" msgstr "Ungültiger kite-Name" -#: plinth/modules/pagekite/forms.py:63 +#: plinth/modules/pagekite/forms.py:62 msgid "Kite secret" msgstr "Kite secret" -#: plinth/modules/pagekite/forms.py:64 +#: plinth/modules/pagekite/forms.py:63 msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." @@ -4524,41 +4494,35 @@ msgstr "" "Ein secret assoziiert mit dem kite oder das Standard-secret für Ihr Konto, " "wenn kein secret dem kite zugeordnet ist." -#: plinth/modules/pagekite/forms.py:101 +#: plinth/modules/pagekite/forms.py:100 msgid "protocol" msgstr "Protokoll" -#: plinth/modules/pagekite/forms.py:104 +#: plinth/modules/pagekite/forms.py:103 msgid "external (frontend) port" msgstr "externer (frontend) Port" -#: plinth/modules/pagekite/forms.py:107 +#: plinth/modules/pagekite/forms.py:106 msgid "internal (freedombox) port" msgstr "interner (FreedomBox) Port" -#: plinth/modules/pagekite/forms.py:108 +#: plinth/modules/pagekite/forms.py:107 msgid "Enable Subdomains" msgstr "Sub-Domainen einschalten" -#: plinth/modules/pagekite/forms.py:142 +#: plinth/modules/pagekite/forms.py:141 msgid "Deleted custom service" msgstr "Spezieller Dienst gelöscht" -#: plinth/modules/pagekite/forms.py:175 -#, fuzzy -#| msgid "" -#| "This service is available as a standard service. Please use the " -#| "\"Standard Services\" page to enable it." +#: plinth/modules/pagekite/forms.py:174 msgid "This service is already available as a standard service." -msgstr "" -"Dieser Dienst steht als Standarddienst zur Verfügung. Bitte verwenden Sie " -"die Seite „Standarddienste“, um ihn zu aktivieren." +msgstr "Dieser Service ist bereits als Standard-Service verfügbar." -#: plinth/modules/pagekite/forms.py:183 +#: plinth/modules/pagekite/forms.py:182 msgid "Added custom service" msgstr "Spezieller Dienst hinzugefügt" -#: plinth/modules/pagekite/forms.py:186 +#: plinth/modules/pagekite/forms.py:185 msgid "This service already exists" msgstr "Dieser Dienst existiert bereits" @@ -4695,7 +4659,7 @@ msgstr "" msgid "Shut Down Now" msgstr "Jetzt herunterfahren" -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 msgid "" "Privoxy is a non-caching web proxy with advanced filtering capabilities for " "enhancing privacy, modifying web page data and HTTP headers, controlling " @@ -4706,7 +4670,7 @@ msgstr "" "kontrolliert den Zugang und entfernt Reklame und anderen abscheulichen " "Internet-Müll. " -#: plinth/modules/privoxy/__init__.py:33 +#: plinth/modules/privoxy/__init__.py:34 #, python-brace-format msgid "" "You can use Privoxy by modifying your browser proxy settings to your " @@ -4721,20 +4685,20 @@ msgstr "" "unter http://config.privoxy.org/ " "oder http://p.p einsehen." -#: plinth/modules/privoxy/__init__.py:56 +#: plinth/modules/privoxy/__init__.py:55 msgid "Privoxy" msgstr "Privoxy" -#: plinth/modules/privoxy/__init__.py:57 +#: plinth/modules/privoxy/__init__.py:56 msgid "Web Proxy" msgstr "Web Proxy" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:119 #, 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:32 +#: plinth/modules/quassel/__init__.py:33 #, python-brace-format msgid "" "Quassel is an IRC application that is split into two parts, a \"core\" and a " @@ -4752,7 +4716,7 @@ msgstr "" "mobilen App können verwendet werden, um sich mit ihm zu verbinden und oder " "zu trennen." -#: plinth/modules/quassel/__init__.py:39 +#: plinth/modules/quassel/__init__.py:40 msgid "" "You can connect to your Quassel core on the default Quassel port 4242. " "Clients to connect to Quassel from your Desktop und mobile Telefone zur Verfügung." -#: plinth/modules/quassel/__init__.py:62 plinth/modules/quassel/manifest.py:10 +#: plinth/modules/quassel/__init__.py:61 plinth/modules/quassel/manifest.py:10 msgid "Quassel" msgstr "Quassel" -#: plinth/modules/quassel/__init__.py:63 +#: plinth/modules/quassel/__init__.py:62 msgid "IRC Client" msgstr "IRC-Client" -#: plinth/modules/quassel/forms.py:23 +#: plinth/modules/quassel/forms.py:22 msgid "TLS domain" msgstr "TLS Domain" -#: plinth/modules/quassel/forms.py:25 +#: plinth/modules/quassel/forms.py:24 msgid "" "Select a domain to use TLS with. If the list is empty, please configure at " "least one domain with certificates." @@ -4788,7 +4752,7 @@ msgstr "" msgid "Quasseldroid" msgstr "Quasseldroid" -#: plinth/modules/radicale/__init__.py:32 +#: plinth/modules/radicale/__init__.py:33 #, python-brace-format msgid "" "Radicale is a CalDAV and CardDAV server. It allows synchronization and " @@ -4802,7 +4766,7 @@ msgstr "" "Client Software notwendig. Radicale kann von jedem Benutzer mit einem " "{box_name}-Konto verwendet werden." -#: plinth/modules/radicale/__init__.py:37 +#: plinth/modules/radicale/__init__.py:38 msgid "" "Radicale provides a basic web interface, which only supports creating new " "calendars and addressbooks. It does not support adding events or contacts, " @@ -4813,22 +4777,22 @@ msgstr "" "und zu bearbeiten, benötigst du ein entsprechendes Programm (z. B. " "Thunderbird Lightning, KOrganizer …)." -#: plinth/modules/radicale/__init__.py:62 +#: plinth/modules/radicale/__init__.py:61 #: plinth/modules/radicale/manifest.py:75 msgid "Radicale" msgstr "Radicale" -#: plinth/modules/radicale/__init__.py:63 +#: plinth/modules/radicale/__init__.py:62 msgid "Calendar and Addressbook" msgstr "Kalender und Adressbuch" -#: plinth/modules/radicale/forms.py:15 +#: plinth/modules/radicale/forms.py:14 msgid "Only the owner of a calendar/addressbook can view or make changes." msgstr "" "Nur der Eigentümer eines Kalenders/Adressbuches kann dieses einsehen oder " "Änderungen durchführen." -#: plinth/modules/radicale/forms.py:19 +#: plinth/modules/radicale/forms.py:18 #, python-brace-format msgid "" "Any user with a {box_name} login can view any calendar/addressbook, but only " @@ -4837,7 +4801,7 @@ msgstr "" "Jeder mit einem {box_name}-Benutzerkonto kann jeden Kalender/Adressbuch " "sehen, aber nur der Eigentümer kann Änderungen durchführen." -#: plinth/modules/radicale/forms.py:24 +#: plinth/modules/radicale/forms.py:23 #, python-brace-format msgid "" "Any user with a {box_name} login can view or make changes to any calendar/" @@ -4992,11 +4956,11 @@ msgstr "" "Home Share - jeder Benutzer in der freedombox-share-Gruppe kann seinen " "eigenen privaten Raum haben." -#: plinth/modules/samba/__init__.py:47 +#: plinth/modules/samba/__init__.py:59 msgid "Access to the private shares" msgstr "Zugriff auf die privaten Freigaben" -#: plinth/modules/samba/__init__.py:61 +#: plinth/modules/samba/__init__.py:62 msgid "Samba" msgstr "Samba" @@ -5070,11 +5034,11 @@ msgstr "Freigabename" msgid "Action" msgstr "Aktion" -#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:149 +#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:147 msgid "Open Share" msgstr "Open Share" -#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:147 +#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:145 msgid "Group Share" msgstr "Group Share" @@ -5116,45 +5080,45 @@ msgstr "" "Searx kann verwendet werden, um Nachverfolgung und Profiling durch " "Suchmaschinen zu vermeiden. Standardmäßig werden keine Cookies gespeichert." -#: plinth/modules/searx/__init__.py:31 +#: plinth/modules/searx/__init__.py:45 msgid "Search the web" msgstr "Suche im Web" -#: plinth/modules/searx/__init__.py:47 plinth/modules/searx/manifest.py:9 +#: plinth/modules/searx/__init__.py:48 plinth/modules/searx/manifest.py:9 msgid "Searx" msgstr "Searx" -#: plinth/modules/searx/__init__.py:48 +#: plinth/modules/searx/__init__.py:49 msgid "Web Search" msgstr "Websuche" -#: plinth/modules/searx/forms.py:15 +#: plinth/modules/searx/forms.py:13 msgid "Safe Search" msgstr "Sichere Suche" -#: plinth/modules/searx/forms.py:16 +#: plinth/modules/searx/forms.py:14 msgid "Select the default family filter to apply to your search results." msgstr "" "Wählen Sie den standardmäßigen Familienfilter, der auf Ihre Suchergebnisse " "angewendet werden soll." -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "None" msgstr "Keiner" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "Moderate" msgstr "Moderat" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "Strict" msgstr "Streng" -#: plinth/modules/searx/forms.py:20 +#: plinth/modules/searx/forms.py:18 msgid "Allow Public Access" msgstr "Öffentlichen Zugang erlauben" -#: plinth/modules/searx/forms.py:21 +#: plinth/modules/searx/forms.py:19 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." @@ -5235,8 +5199,8 @@ msgid "" "from the rest of the system. It is only displayed while the service is " "running." msgstr "" -"Die \"Sandbox-Abdeckung\" ist ein Maß dafür, wie effektiv der Dienst vom " -"Rest des Systems isoliert ist. Sie wird nur angezeigt, wenn der Dienst läuft." +"Die „Sandbox-Abdeckung“ ist ein Maß dafür, wie effektiv der Dienst vom Rest " +"des Systems isoliert ist. Sie wird nur angezeigt, wenn der Dienst läuft." #: plinth/modules/security/templates/security_report.html:40 msgid "App Name" @@ -5347,30 +5311,30 @@ msgstr "Shadowsocks" msgid "Socks5 Proxy" msgstr "Socks5-Proxy" +#: plinth/modules/shadowsocks/forms.py:12 #: plinth/modules/shadowsocks/forms.py:13 -#: plinth/modules/shadowsocks/forms.py:14 msgid "Recommended" msgstr "Empfohlen" -#: plinth/modules/shadowsocks/forms.py:37 +#: plinth/modules/shadowsocks/forms.py:36 msgid "Server" msgstr "Server" -#: plinth/modules/shadowsocks/forms.py:38 +#: plinth/modules/shadowsocks/forms.py:37 msgid "Server hostname or IP address" msgstr "Servername oder IP-Adresse" -#: plinth/modules/shadowsocks/forms.py:42 +#: plinth/modules/shadowsocks/forms.py:41 msgid "Server port number" msgstr "Server-Portnummer" -#: plinth/modules/shadowsocks/forms.py:45 +#: plinth/modules/shadowsocks/forms.py:44 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:50 +#: plinth/modules/shadowsocks/forms.py:49 msgid "Encryption method. Must match setting on server." msgstr "" "Verschlüsselungsverfahren. Muss mit der Einstellung des Servers " @@ -5418,11 +5382,11 @@ msgstr "Öffentlich freigeben" msgid "Make files in this folder available to anyone with the link." msgstr "Dateien in diesem Ordner für jeden mit dem Link zur Verfügung stellen." -#: plinth/modules/sharing/forms.py:33 +#: plinth/modules/sharing/forms.py:34 msgid "User groups that can read the files in the share" msgstr "Benutzergruppen, die Dateien in der Freigabe lesen können" -#: plinth/modules/sharing/forms.py:35 +#: plinth/modules/sharing/forms.py:36 msgid "" "Users of the selected user groups will be able to read the files in the " "share." @@ -5729,11 +5693,11 @@ msgstr "" msgid "Secure Shell (SSH) Server" msgstr "Secure Shell (SSH) Server" -#: plinth/modules/ssh/forms.py:15 +#: plinth/modules/ssh/forms.py:13 msgid "Disable password authentication" msgstr "Passwortauthentifizierung deaktivieren" -#: plinth/modules/ssh/forms.py:16 +#: plinth/modules/ssh/forms.py:14 msgid "" "Improves security by preventing password guessing. Ensure that you have " "setup SSH keys in your administrator user account before enabling this " @@ -5792,134 +5756,134 @@ msgstr "" "Speichermedien einsehen, Wechselmedien einbinden und aushängen, die Root-" "Partition erweitern usw." -#: plinth/modules/storage/__init__.py:52 plinth/modules/storage/__init__.py:318 +#: plinth/modules/storage/__init__.py:54 plinth/modules/storage/__init__.py:320 msgid "Storage" msgstr "Speicher" -#: 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." -#: plinth/modules/storage/__init__.py:313 +#: plinth/modules/storage/__init__.py:315 #, no-python-format, python-brace-format msgid "Low space on system partition: {percent_used}% used, {free_space} free." msgstr "" "Geringer Speicherplatz auf der Systempartition: {percent_used}% belegt, " "{free_space} verfügbar." -#: plinth/modules/storage/__init__.py:315 +#: plinth/modules/storage/__init__.py:317 msgid "Low disk space" msgstr "Wenig Plattenspeicherplatz" -#: plinth/modules/storage/forms.py:64 +#: plinth/modules/storage/forms.py:63 msgid "Invalid directory name." msgstr "Ungültiger Verzeichnisname." -#: plinth/modules/storage/forms.py:82 +#: plinth/modules/storage/forms.py:80 msgid "Directory does not exist." msgstr "Verzeichnis ist nicht vorhanden." -#: plinth/modules/storage/forms.py:84 +#: plinth/modules/storage/forms.py:83 msgid "Path is not a directory." msgstr "Pfad ist kein Verzeichnis." -#: plinth/modules/storage/forms.py:87 +#: plinth/modules/storage/forms.py:86 msgid "Directory is not readable by the user." msgstr "Verzeichnis ist für den Benutzer nicht lesbar." -#: plinth/modules/storage/forms.py:90 +#: plinth/modules/storage/forms.py:89 msgid "Directory is not writable by the user." msgstr "Das Verzeichnis ist für den Benutzer nicht beschreibbar." -#: plinth/modules/storage/forms.py:95 +#: plinth/modules/storage/forms.py:94 msgid "Directory" msgstr "Verzeichnis" -#: plinth/modules/storage/forms.py:98 +#: plinth/modules/storage/forms.py:96 msgid "Subdirectory (optional)" msgstr "Unterverzeichnis (optional)" -#: plinth/modules/storage/forms.py:145 +#: plinth/modules/storage/forms.py:143 msgid "Share" msgstr "Freigeben" -#: plinth/modules/storage/forms.py:153 +#: plinth/modules/storage/forms.py:151 msgid "Other directory (specify below)" msgstr "Anderes Verzeichnis (unten angeben)" @@ -6011,7 +5975,8 @@ msgid "" "synchronize more often. {box_name} runs a single instance of Syncthing that " "may be used by multiple users. Each user's set of devices may be " "synchronized with a distinct set of folders. The web interface on " -"{box_name} is only available for users belonging to the \"admin\" group." +"{box_name} is only available for users belonging to the \"admin\" or " +"\"syncthing\" group." msgstr "" "Das Ausführen von Syncthing auf {box_name} stellt ein weiteres Gerät zur " "Synchronisation Ihrer Dateien zur Verfügung, welches die meiste Zeit " @@ -6019,18 +5984,19 @@ msgstr "" "{box_name} läuft eine einzige Instanz von Syncthing, welche von mehreren " "Benutzern genutzt werden kann. Die Geräte jedes einzelnen Benutzers können " "mit unterschiedlichen Ordnern synchronisiert werden. Die Weboberfläche auf " -"{box_name} ist nur für Benutzer der „admin“-Gruppe zugänglich." +"{box_name} ist nur für Benutzer der \"Admin\" oder \"Syncthing\"-Gruppe " +"zugänglich." -#: plinth/modules/syncthing/__init__.py:40 +#: plinth/modules/syncthing/__init__.py:53 msgid "Administer Syncthing application" msgstr "Syncthing-Anwendung einstellen" -#: plinth/modules/syncthing/__init__.py:54 +#: plinth/modules/syncthing/__init__.py:56 #: plinth/modules/syncthing/manifest.py:13 msgid "Syncthing" msgstr "Syncthing" -#: plinth/modules/syncthing/__init__.py:55 +#: plinth/modules/syncthing/__init__.py:57 msgid "File Synchronization" msgstr "Dateisynchronisation" @@ -6080,33 +6046,33 @@ msgstr "" "Sie können Tahoe-LAFS auf https://" "%(domain_name)s:5678 erreichen." -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:39 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:29 msgid "Local introducer" msgstr "Lokaler Vermittler" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:59 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:76 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:33 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:49 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:66 msgid "Pet Name" msgstr "Pet-Name" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:56 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:46 msgid "Add new introducer" msgstr "Neuen Vermittler hinzufügen" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:67 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:57 msgid "Add" msgstr "Hinzufügen" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:72 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:62 msgid "Connected introducers" msgstr "Verbundene Vermittler" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:89 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:79 msgid "Remove" msgstr "Entfernen" -#: plinth/modules/tor/__init__.py:33 +#: plinth/modules/tor/__init__.py:34 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -6120,40 +6086,40 @@ msgstr "" "Sie den Tor Browser verwenden." -#: plinth/modules/tor/__init__.py:55 +#: plinth/modules/tor/__init__.py:54 msgid "Tor" msgstr "Tor" -#: plinth/modules/tor/__init__.py:66 +#: plinth/modules/tor/__init__.py:65 msgid "Tor Onion Service" msgstr "Tor-Onion-Dienste" -#: plinth/modules/tor/__init__.py:70 +#: plinth/modules/tor/__init__.py:69 msgid "Tor Socks Proxy" msgstr "Tor-Socks-Proxy" -#: plinth/modules/tor/__init__.py:74 +#: plinth/modules/tor/__init__.py:73 msgid "Tor Bridge Relay" msgstr "Tor-Bridge-Relay" -#: plinth/modules/tor/__init__.py:95 +#: plinth/modules/tor/__init__.py:98 msgid "Tor relay port available" msgstr "Tor-Relay-Port ist verfügbar" -#: plinth/modules/tor/__init__.py:105 +#: plinth/modules/tor/__init__.py:108 msgid "Obfs3 transport registered" msgstr "Obfs3-Transport registriert" -#: plinth/modules/tor/__init__.py:115 +#: plinth/modules/tor/__init__.py:118 msgid "Obfs4 transport registered" msgstr "Obfs4-Transport registriert" -#: plinth/modules/tor/__init__.py:208 +#: plinth/modules/tor/__init__.py:211 #, 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:219 +#: plinth/modules/tor/__init__.py:222 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "Tor-Nutzung auf {url} über TCP{kind} bestätigen" @@ -6307,7 +6273,7 @@ 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:27 +#: plinth/modules/transmission/__init__.py:28 msgid "" "BitTorrent is a peer-to-peer file sharing protocol. Transmission daemon " "handles Bitorrent file sharing. Note that BitTorrent is not anonymous." @@ -6316,7 +6282,7 @@ msgstr "" "Transmission-Daemon verarbeitet BitTorrent-Dateien. Es gilt zu beachten: " "BitTorrent ist nicht anonym!" -#: plinth/modules/transmission/__init__.py:48 +#: plinth/modules/transmission/__init__.py:51 #: plinth/modules/transmission/manifest.py:9 msgid "Transmission" msgstr "Transmission" @@ -6349,15 +6315,15 @@ msgstr "" "nutzen, tragen Sie die URL /tt-rss-app ein." -#: plinth/modules/ttrss/__init__.py:42 +#: plinth/modules/ttrss/__init__.py:54 msgid "Read and subscribe to news feeds" msgstr "Lesen und Abonnieren von Neuigkeiten-Feeds" -#: plinth/modules/ttrss/__init__.py:56 plinth/modules/ttrss/manifest.py:19 +#: plinth/modules/ttrss/__init__.py:57 plinth/modules/ttrss/manifest.py:19 msgid "Tiny Tiny RSS" msgstr "Tiny Tiny RSS" -#: plinth/modules/ttrss/__init__.py:57 +#: plinth/modules/ttrss/__init__.py:58 msgid "News Feed Reader" msgstr "Feedreader" @@ -6371,11 +6337,11 @@ msgstr "" "Prüfen Sie die neuesten Software- und Sicherheitsupdates und installieren " "Sie diese." -#: plinth/modules/upgrades/__init__.py:38 plinth/templates/setup.html:74 +#: plinth/modules/upgrades/__init__.py:40 plinth/templates/setup.html:74 msgid "Update" msgstr "Aktualisieren" -#: plinth/modules/upgrades/__init__.py:76 +#: plinth/modules/upgrades/__init__.py:78 msgid "FreedomBox Updated" msgstr "FreedomBox aktualisiert" @@ -6432,36 +6398,32 @@ msgstr "Umschalten der letzten Update-Protokolle" #: plinth/modules/upgrades/templates/upgrades_configure.html:11 #: plinth/modules/upgrades/templates/upgrades_configure.html:12 -#: plinth/modules/upgrades/views.py:88 +#: plinth/modules/upgrades/views.py:85 msgid "Manual update" msgstr "Manuelles Update" -#: plinth/modules/upgrades/views.py:47 +#: plinth/modules/upgrades/views.py:46 #, python-brace-format msgid "Error when configuring unattended-upgrades: {error}" msgstr "Fehler beim Konfigurieren von automatischen Aktualisierungen: {error}" -#: plinth/modules/upgrades/views.py:51 +#: plinth/modules/upgrades/views.py:50 msgid "Automatic upgrades enabled" msgstr "Automatische Systemaktualisierung aktivieren" -#: plinth/modules/upgrades/views.py:54 +#: plinth/modules/upgrades/views.py:53 msgid "Automatic upgrades disabled" msgstr "Automatische Aktualisierungen ausgeschaltet" -#: plinth/modules/upgrades/views.py:56 -msgid "Settings unchanged" -msgstr "Einstellungen unverändert" - -#: plinth/modules/upgrades/views.py:82 +#: plinth/modules/upgrades/views.py:79 msgid "Upgrade process started." msgstr "Aktualisierung gestartet." -#: plinth/modules/upgrades/views.py:85 +#: plinth/modules/upgrades/views.py:82 msgid "Starting upgrade failed." msgstr "Starten der Aktualisierung fehlgeschlagen." -#: plinth/modules/users/__init__.py:37 +#: plinth/modules/users/__init__.py:39 msgid "" "Create and managed user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " @@ -6472,7 +6434,7 @@ msgstr "" "muss ein Benutzerkonto Teil einer Gruppe sein, damit ein Benutzer auf die " "App zugreifen kann." -#: plinth/modules/users/__init__.py:42 +#: plinth/modules/users/__init__.py:44 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -6481,48 +6443,54 @@ msgid "" msgstr "" "Jeder Benutzer kann sich auf der {box_name} Weboberfläche anmelden, um eine " "Liste der für ihn relevanten Apps auf der Hauptseite anzuzeigen. Allerdings " -"dürfen nur Mitglieder der Gruppe admin Apps oder " +"dürfen nur Mitglieder der Gruppe admin Apps oder " "Systemeinstellungen ändern." -#: plinth/modules/users/__init__.py:64 +#: plinth/modules/users/__init__.py:65 msgid "Users and Groups" msgstr "Benutzer und Gruppen" -#: plinth/modules/users/__init__.py:115 +#: plinth/modules/users/__init__.py:78 +msgid "Access to all services and system settings" +msgstr "Zugriff auf alle Anwendungen und Systemeinstellungen" + +#: plinth/modules/users/__init__.py:122 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "LDAP-Eintrag „{search_item}“ prüfen" -#: plinth/modules/users/forms.py:28 -msgid "Access to all services and system settings" -msgstr "Zugriff auf alle Anwendungen und Systemeinstellungen" - -#: plinth/modules/users/forms.py:44 +#: plinth/modules/users/forms.py:36 msgid "Username is taken or is reserved." msgstr "Benutzername wird bereits verwendet oder ist reserviert." -#: plinth/modules/users/forms.py:72 +#: plinth/modules/users/forms.py:63 msgid "Enter a valid username." msgstr "Einen gültigen Benutzernamen eingeben." -#: plinth/modules/users/forms.py:78 +#: plinth/modules/users/forms.py:69 msgid "" "Required. 150 characters or fewer. English letters, digits and @/./-/_ only." msgstr "" "Erforderlich. 150 Zeichen oder weniger. Nur englische Buchstaben, Ziffern " "und @/./-/_." -#: plinth/modules/users/forms.py:91 plinth/modules/users/forms.py:207 +#: plinth/modules/users/forms.py:83 plinth/modules/users/forms.py:196 msgid "Permissions" msgstr "Berechtigungen" -#: plinth/modules/users/forms.py:94 +#: plinth/modules/users/forms.py:85 +#, fuzzy +#| msgid "" +#| "Select which services should be available to the new user. The user will " +#| "be able to log in to services that support single sign-on through LDAP, " +#| "if they are in the appropriate group.

Users in the admin group " +#| "will be able to log in to all services. They can also log in to the " +#| "system through SSH and have administrative privileges (sudo)." msgid "" -"Select which services should be available to the new user. The user will be " -"able to log in to services that support single sign-on through LDAP, if they " -"are in the appropriate group.

Users in the admin group will be " -"able to log in to all services. They can also log in to the system through " -"SSH and have administrative privileges (sudo)." +"user. The user will be able to log in to services that support single sign-" +"on through LDAP, if they are in the appropriate group.

Users in " +"the admin group will be able to log in to all services. They can also log in " +"to the system through SSH and have administrative privileges (sudo)." msgstr "" "Wählen Sie aus, welche Dienste dem neuen Benutzer zur Verfügung stehen " "sollen. Je nach Gruppe wird der Benutzer in der Lage sein, sich bei diesen " @@ -6531,20 +6499,20 @@ msgstr "" "allen Diensten anmelden und sie können sich auch über SSH im System anmelden " "und besitzen Administratorrechte (sudo)." -#: plinth/modules/users/forms.py:133 plinth/modules/users/forms.py:357 +#: plinth/modules/users/forms.py:122 plinth/modules/users/forms.py:345 msgid "Creating LDAP user failed." msgstr "Erstellen des LDAP-Benutzers ist fehlgeschlagen." -#: plinth/modules/users/forms.py:144 +#: plinth/modules/users/forms.py:133 #, python-brace-format msgid "Failed to add new user to {group} group." msgstr "Der Benutzer konnte nicht der Gruppe {group} hinzugefügt werden." -#: plinth/modules/users/forms.py:158 +#: plinth/modules/users/forms.py:147 msgid "Authorized SSH Keys" msgstr "Autorisierte SSH-Schlüssel" -#: plinth/modules/users/forms.py:160 +#: plinth/modules/users/forms.py:149 msgid "" "Setting an SSH public key will allow this user to securely log in to the " "system without using a password. You may enter multiple keys, one on each " @@ -6555,43 +6523,43 @@ msgstr "" "eingeben, einen pro Zeile. Leerzeilen und Zeilen, die mit # beginnen, werden " "ignoriert." -#: plinth/modules/users/forms.py:244 +#: plinth/modules/users/forms.py:233 msgid "Renaming LDAP user failed." msgstr "Umbenennen des LDAP-Benutzers fehlgeschlagen." -#: plinth/modules/users/forms.py:256 +#: plinth/modules/users/forms.py:245 msgid "Failed to remove user from group." msgstr "Entfernen des Benutzers von der Gruppe fehlgeschlagen." -#: plinth/modules/users/forms.py:267 +#: plinth/modules/users/forms.py:256 msgid "Failed to add user to group." msgstr "Hinzufügen eines Benutzers zur Gruppe ist fehlgeschlagen." -#: plinth/modules/users/forms.py:276 +#: plinth/modules/users/forms.py:265 msgid "Unable to set SSH keys." msgstr "SSH-Schlüssel kann nicht gesetzt werden." -#: plinth/modules/users/forms.py:291 +#: plinth/modules/users/forms.py:280 msgid "Failed to change user status." msgstr "Fehler beim Ändern des Benutzerstatus." -#: plinth/modules/users/forms.py:299 +#: plinth/modules/users/forms.py:288 msgid "Cannot delete the only administrator in the system." msgstr "Der einzige Administrator des Systems kann nicht gelöscht werden." -#: plinth/modules/users/forms.py:331 +#: plinth/modules/users/forms.py:319 msgid "Changing LDAP user password failed." msgstr "Ändern des LDAP-Benutzerpassworts ist fehlgeschlagen." -#: plinth/modules/users/forms.py:366 +#: plinth/modules/users/forms.py:354 msgid "Failed to add new user to admin group." msgstr "Hinzufügen eines neuen Benutzers zur admin-Gruppe ist fehlgeschlagen." -#: plinth/modules/users/forms.py:383 +#: plinth/modules/users/forms.py:371 msgid "Failed to restrict console access." msgstr "Einschränken des Konsolenzugriffs fehlgeschlagen." -#: plinth/modules/users/forms.py:395 +#: plinth/modules/users/forms.py:383 msgid "User account created, you are now logged in" msgstr "Benutzerkonto wurde erstellt, Sie sind jetzt angemeldet" @@ -7395,18 +7363,22 @@ msgstr "%(package_names)s wird installiert: %(status)s" msgid "%(percentage)s%% complete" msgstr "%(percentage)s %% abgeschlossen" -#: plinth/views.py:184 -msgid "Application enabled" -msgstr "Anwendung aktiviert" - -#: plinth/views.py:187 -msgid "Application disabled" -msgstr "Anwendung deaktiviert" - #: plinth/web_framework.py:107 msgid "Gujarati" msgstr "Gujarati" +#~ msgid "Enable application" +#~ msgstr "Anwendung aktivieren" + +#~ msgid "Settings unchanged" +#~ msgstr "Einstellungen unverändert" + +#~ msgid "Application enabled" +#~ msgstr "Anwendung aktiviert" + +#~ msgid "Application disabled" +#~ msgstr "Anwendung deaktiviert" + #~ msgid "Kite details set" #~ msgstr "Kite-Details eingerichtet" diff --git a/plinth/locale/django.pot b/plinth/locale/django.pot index e273770b0..9f6482a1e 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: 2020-03-23 18:54-0400\n" +"POT-Creation-Date: 2020-04-06 19:59-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -50,29 +50,25 @@ msgstr "" msgid "Cannot connect to {host}:{port}" msgstr "" -#: plinth/forms.py:24 -msgid "Enable application" -msgstr "" - -#: plinth/forms.py:39 +#: plinth/forms.py:38 msgid "Select a domain name to be used with this application" msgstr "" -#: plinth/forms.py:41 +#: plinth/forms.py:40 msgid "" "Warning! The application may not work properly if domain name is changed " "later." msgstr "" -#: plinth/forms.py:49 +#: plinth/forms.py:48 msgid "Language" msgstr "" -#: plinth/forms.py:50 +#: plinth/forms.py:49 msgid "Language to use for presenting this web interface" msgstr "" -#: plinth/forms.py:57 +#: plinth/forms.py:56 msgid "Use the language preference set in the browser" msgstr "" @@ -594,20 +590,20 @@ msgstr "" msgid "Domain Name Server" msgstr "" -#: plinth/modules/bind/forms.py:22 +#: plinth/modules/bind/forms.py:20 msgid "Forwarders" msgstr "" -#: plinth/modules/bind/forms.py:23 +#: plinth/modules/bind/forms.py:21 msgid "" "A list DNS servers, separated by space, to which requests will be forwarded" msgstr "" -#: plinth/modules/bind/forms.py:27 +#: plinth/modules/bind/forms.py:25 msgid "Enable DNSSEC" msgstr "" -#: plinth/modules/bind/forms.py:28 +#: plinth/modules/bind/forms.py:26 msgid "Enable Domain Name System Security Extensions" msgstr "" @@ -639,10 +635,11 @@ msgstr "" msgid "Refresh IP address and domains" msgstr "" -#: plinth/modules/bind/views.py:72 plinth/modules/deluge/views.py:44 +#: plinth/modules/bind/views.py:72 plinth/modules/deluge/views.py:42 #: plinth/modules/dynamicdns/views.py:150 plinth/modules/openvpn/views.py:133 -#: plinth/modules/pagekite/forms.py:91 plinth/modules/shadowsocks/views.py:59 -#: plinth/modules/transmission/views.py:50 +#: plinth/modules/pagekite/forms.py:90 plinth/modules/quassel/views.py:30 +#: plinth/modules/shadowsocks/views.py:59 +#: plinth/modules/transmission/views.py:47 msgid "Configuration updated" msgstr "" @@ -690,11 +687,11 @@ msgid "" "name, webserver home page etc." msgstr "" -#: plinth/modules/config/__init__.py:50 +#: plinth/modules/config/__init__.py:52 msgid "General Configuration" msgstr "" -#: plinth/modules/config/__init__.py:55 plinth/modules/dynamicdns/views.py:29 +#: plinth/modules/config/__init__.py:57 plinth/modules/dynamicdns/views.py:29 #: plinth/modules/names/templates/names.html:29 #: plinth/modules/names/templates/names.html:43 #: plinth/modules/snapshot/views.py:26 @@ -702,7 +699,7 @@ msgstr "" msgid "Configure" msgstr "" -#: plinth/modules/config/__init__.py:59 plinth/modules/config/forms.py:61 +#: plinth/modules/config/__init__.py:61 plinth/modules/config/forms.py:61 #: plinth/modules/dynamicdns/forms.py:95 msgid "Domain Name" msgstr "" @@ -829,25 +826,25 @@ msgstr "" msgid "Coquelicot" msgstr "" -#: plinth/modules/coquelicot/__init__.py:47 plinth/modules/samba/__init__.py:62 +#: plinth/modules/coquelicot/__init__.py:47 plinth/modules/samba/__init__.py:63 msgid "File Sharing" msgstr "" -#: plinth/modules/coquelicot/forms.py:15 +#: plinth/modules/coquelicot/forms.py:13 msgid "Upload Password" msgstr "" -#: plinth/modules/coquelicot/forms.py:16 +#: plinth/modules/coquelicot/forms.py:14 msgid "" "Set a new upload password for Coquelicot. Leave this field blank to keep the " "current password." msgstr "" -#: plinth/modules/coquelicot/forms.py:20 +#: plinth/modules/coquelicot/forms.py:18 msgid "Maximum File Size (in MiB)" msgstr "" -#: plinth/modules/coquelicot/forms.py:21 +#: plinth/modules/coquelicot/forms.py:19 msgid "Set the maximum size of the files that can be uploaded to Coquelicot." msgstr "" @@ -885,17 +882,17 @@ msgstr "" msgid "Time synchronized to NTP server" msgstr "" -#: plinth/modules/datetime/forms.py:20 +#: plinth/modules/datetime/forms.py:18 msgid "Time Zone" msgstr "" -#: plinth/modules/datetime/forms.py:21 +#: plinth/modules/datetime/forms.py:19 msgid "" "Set your time zone to get accurate timestamps. This will set the system-wide " "time zone." msgstr "" -#: plinth/modules/datetime/forms.py:32 +#: plinth/modules/datetime/forms.py:30 msgid "-- no time zone set --" msgstr "" @@ -908,31 +905,31 @@ msgstr "" msgid "Time zone set" msgstr "" -#: plinth/modules/deluge/__init__.py:25 +#: plinth/modules/deluge/__init__.py:26 msgid "Deluge is a BitTorrent client that features a Web UI." msgstr "" -#: plinth/modules/deluge/__init__.py:26 +#: plinth/modules/deluge/__init__.py:27 msgid "" "The default password is 'deluge', but you should log in and change it " "immediately after enabling this service." msgstr "" -#: plinth/modules/deluge/__init__.py:30 -#: plinth/modules/transmission/__init__.py:34 +#: plinth/modules/deluge/__init__.py:46 +#: plinth/modules/transmission/__init__.py:48 msgid "Download files using BitTorrent applications" msgstr "" -#: plinth/modules/deluge/__init__.py:46 plinth/modules/deluge/manifest.py:9 +#: plinth/modules/deluge/__init__.py:50 plinth/modules/deluge/manifest.py:9 msgid "Deluge" msgstr "" -#: plinth/modules/deluge/__init__.py:47 -#: plinth/modules/transmission/__init__.py:50 +#: plinth/modules/deluge/__init__.py:51 +#: plinth/modules/transmission/__init__.py:53 msgid "BitTorrent Web Client" msgstr "" -#: plinth/modules/deluge/forms.py:20 plinth/modules/transmission/forms.py:20 +#: plinth/modules/deluge/forms.py:20 plinth/modules/transmission/forms.py:21 msgid "Download directory" msgstr "" @@ -1005,7 +1002,7 @@ msgstr "" msgid "Federated Social Network" msgstr "" -#: plinth/modules/diaspora/forms.py:15 +#: plinth/modules/diaspora/forms.py:13 msgid "Enable new user registrations" msgstr "" @@ -1031,32 +1028,23 @@ msgstr "" #: plinth/modules/diaspora/templates/diaspora-pre-setup.html:43 #: plinth/modules/dynamicdns/templates/dynamicdns_configure.html:25 -#: plinth/modules/ejabberd/templates/ejabberd.html:43 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:18 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:47 #: plinth/modules/snapshot/templates/snapshot.html:15 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:35 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:43 -#: plinth/templates/app.html:52 +#: plinth/templates/app.html:54 msgid "Update setup" msgstr "" -#: plinth/modules/diaspora/views.py:76 plinth/modules/ejabberd/views.py:46 -#: plinth/modules/matrixsynapse/views.py:85 -#: plinth/modules/mediawiki/views.py:58 plinth/modules/openvpn/views.py:135 -#: plinth/modules/tor/views.py:136 plinth/views.py:180 -msgid "Setting unchanged" -msgstr "" - -#: plinth/modules/diaspora/views.py:80 +#: plinth/modules/diaspora/views.py:74 msgid "User registrations enabled" msgstr "" -#: plinth/modules/diaspora/views.py:84 +#: plinth/modules/diaspora/views.py:78 msgid "User registrations disabled" msgstr "" -#: plinth/modules/dynamicdns/__init__.py:27 +#: plinth/modules/dynamicdns/__init__.py:28 #, python-brace-format msgid "" "If your Internet provider changes your IP address periodically (i.e. every " @@ -1064,7 +1052,7 @@ msgid "" "prevent others from finding services which are provided by this {box_name}." msgstr "" -#: plinth/modules/dynamicdns/__init__.py:31 +#: plinth/modules/dynamicdns/__init__.py:32 msgid "" "The solution is to assign a DNS name to your IP address and update the DNS " "name every time your IP is changed by your Internet provider. Dynamic DNS " @@ -1075,11 +1063,11 @@ msgid "" "IP address." msgstr "" -#: plinth/modules/dynamicdns/__init__.py:56 +#: plinth/modules/dynamicdns/__init__.py:55 msgid "Dynamic DNS Client" msgstr "" -#: plinth/modules/dynamicdns/__init__.py:66 +#: plinth/modules/dynamicdns/__init__.py:65 msgid "Dynamic Domain Name" msgstr "" @@ -1168,7 +1156,7 @@ msgid "Username" msgstr "" #: plinth/modules/dynamicdns/forms.py:104 plinth/modules/networks/forms.py:200 -#: plinth/modules/shadowsocks/forms.py:45 +#: plinth/modules/shadowsocks/forms.py:44 msgid "Password" msgstr "" @@ -1246,7 +1234,7 @@ msgstr "" msgid "Last update" msgstr "" -#: plinth/modules/dynamicdns/views.py:26 plinth/modules/help/__init__.py:49 +#: plinth/modules/dynamicdns/views.py:26 plinth/modules/help/__init__.py:51 #: plinth/templates/help-menu.html:46 plinth/templates/help-menu.html:47 msgid "About" msgstr "" @@ -1273,13 +1261,13 @@ msgstr "" msgid "Dynamic DNS Status" msgstr "" -#: plinth/modules/ejabberd/__init__.py:36 +#: plinth/modules/ejabberd/__init__.py:37 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:39 +#: plinth/modules/ejabberd/__init__.py:40 #, python-brace-format msgid "" "To actually communicate, you can use the web client user with a {box_name} login." msgstr "" -#: plinth/modules/ejabberd/__init__.py:70 +#: plinth/modules/ejabberd/__init__.py:69 msgid "ejabberd" msgstr "" -#: plinth/modules/ejabberd/__init__.py:71 +#: plinth/modules/ejabberd/__init__.py:70 #: plinth/modules/matrixsynapse/__init__.py:68 msgid "Chat Server" msgstr "" -#: plinth/modules/ejabberd/forms.py:17 +#: plinth/modules/ejabberd/forms.py:16 msgid "Enable Message Archive Management" msgstr "" -#: plinth/modules/ejabberd/forms.py:19 +#: plinth/modules/ejabberd/forms.py:18 #, python-brace-format msgid "" "If enabled, your {box_name} will store chat message histories. This allows " @@ -1356,19 +1344,11 @@ msgid "" "Configure page." msgstr "" -#: plinth/modules/ejabberd/templates/ejabberd.html:35 -#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 -#: plinth/modules/snapshot/templates/snapshot.html:12 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:27 -#: plinth/templates/app.html:45 -msgid "Configuration" -msgstr "" - -#: plinth/modules/ejabberd/views.py:58 +#: plinth/modules/ejabberd/views.py:45 msgid "Message Archive Management enabled" msgstr "" -#: plinth/modules/ejabberd/views.py:62 +#: plinth/modules/ejabberd/views.py:49 msgid "Message Archive Management disabled" msgstr "" @@ -1380,7 +1360,7 @@ msgid "" "configured reduces risk of security threat from the Internet." msgstr "" -#: plinth/modules/firewall/__init__.py:63 +#: plinth/modules/firewall/__init__.py:65 msgid "Firewall" msgstr "" @@ -1507,7 +1487,7 @@ msgid "" "gittutorial\">Git tutorial." msgstr "" -#: plinth/modules/gitweb/__init__.py:39 +#: plinth/modules/gitweb/__init__.py:51 msgid "Read-write access to Git repositories" msgstr "" @@ -1640,31 +1620,31 @@ msgstr "" msgid "Could not delete {name}: {error}" msgstr "" -#: plinth/modules/help/__init__.py:30 +#: plinth/modules/help/__init__.py:32 msgid "Documentation" msgstr "" -#: plinth/modules/help/__init__.py:33 plinth/modules/networks/forms.py:47 +#: plinth/modules/help/__init__.py:35 plinth/modules/networks/forms.py:47 #: plinth/modules/networks/forms.py:77 plinth/templates/help-menu.html:20 #: plinth/templates/help-menu.html:21 plinth/templates/index.html:128 msgid "Manual" msgstr "" -#: plinth/modules/help/__init__.py:37 +#: plinth/modules/help/__init__.py:39 #: plinth/modules/help/templates/help_support.html:9 #: plinth/modules/help/views.py:43 plinth/templates/help-menu.html:27 #: plinth/templates/help-menu.html:28 msgid "Get Support" msgstr "" -#: plinth/modules/help/__init__.py:41 +#: plinth/modules/help/__init__.py:43 #: plinth/modules/help/templates/help_feedback.html:9 #: plinth/modules/help/views.py:37 plinth/templates/help-menu.html:33 #: plinth/templates/help-menu.html:34 msgid "Submit Feedback" msgstr "" -#: plinth/modules/help/__init__.py:45 +#: plinth/modules/help/__init__.py:47 #: plinth/modules/help/templates/help_contribute.html:9 #: plinth/modules/help/views.py:31 plinth/templates/help-menu.html:39 #: plinth/templates/help-menu.html:40 @@ -1773,7 +1753,7 @@ msgstr "" #: plinth/modules/help/templates/help_contribute.html:42 #: plinth/modules/power/templates/power_restart.html:27 #: plinth/modules/power/templates/power_shutdown.html:26 -#: plinth/templates/app-header.html:51 +#: plinth/templates/app-header.html:53 msgid "Learn more..." msgstr "" @@ -1917,19 +1897,19 @@ msgid "" "configuration process." msgstr "" -#: plinth/modules/i2p/__init__.py:38 +#: plinth/modules/i2p/__init__.py:62 msgid "Manage I2P application" msgstr "" -#: plinth/modules/i2p/__init__.py:64 plinth/modules/i2p/manifest.py:16 +#: plinth/modules/i2p/__init__.py:65 plinth/modules/i2p/manifest.py:16 msgid "I2P" msgstr "" -#: plinth/modules/i2p/__init__.py:65 plinth/modules/tor/__init__.py:56 +#: plinth/modules/i2p/__init__.py:66 plinth/modules/tor/__init__.py:55 msgid "Anonymity Network" msgstr "" -#: plinth/modules/i2p/__init__.py:87 +#: plinth/modules/i2p/__init__.py:88 msgid "I2P Proxy" msgstr "" @@ -1982,18 +1962,18 @@ msgid "" "Configuration you can change these permissions or add new users." msgstr "" -#: plinth/modules/ikiwiki/__init__.py:39 -msgid "View and edit wiki applications" -msgstr "" - -#: plinth/modules/ikiwiki/__init__.py:53 plinth/modules/ikiwiki/manifest.py:9 +#: plinth/modules/ikiwiki/__init__.py:52 plinth/modules/ikiwiki/manifest.py:9 msgid "ikiwiki" msgstr "" -#: plinth/modules/ikiwiki/__init__.py:54 +#: plinth/modules/ikiwiki/__init__.py:53 msgid "Wiki and Blog" msgstr "" +#: plinth/modules/ikiwiki/__init__.py:73 +msgid "View and edit wiki applications" +msgstr "" + #: plinth/modules/ikiwiki/forms.py:17 msgid "Admin Account Name" msgstr "" @@ -2037,32 +2017,32 @@ msgid "" "history. Delete this wiki or blog permanently?" msgstr "" -#: plinth/modules/ikiwiki/views.py:72 +#: plinth/modules/ikiwiki/views.py:70 #, python-brace-format msgid "Created wiki {name}." msgstr "" -#: plinth/modules/ikiwiki/views.py:75 +#: plinth/modules/ikiwiki/views.py:73 #, python-brace-format msgid "Could not create wiki: {error}" msgstr "" -#: plinth/modules/ikiwiki/views.py:85 +#: plinth/modules/ikiwiki/views.py:83 #, python-brace-format msgid "Created blog {name}." msgstr "" -#: plinth/modules/ikiwiki/views.py:88 +#: plinth/modules/ikiwiki/views.py:86 #, python-brace-format msgid "Could not create blog: {error}" msgstr "" -#: plinth/modules/ikiwiki/views.py:103 +#: plinth/modules/ikiwiki/views.py:101 #, python-brace-format msgid "{title} deleted." msgstr "" -#: plinth/modules/ikiwiki/views.py:107 +#: plinth/modules/ikiwiki/views.py:105 #, python-brace-format msgid "Could not delete {title}: {error}" msgstr "" @@ -2102,17 +2082,17 @@ msgid "" "domain name." msgstr "" -#: plinth/modules/jsxc/__init__.py:22 +#: plinth/modules/jsxc/__init__.py:23 msgid "" "JSXC is a web client for XMPP. Typically it is used with an XMPP server " "running locally." msgstr "" -#: plinth/modules/jsxc/__init__.py:40 plinth/modules/jsxc/manifest.py:10 +#: plinth/modules/jsxc/__init__.py:43 plinth/modules/jsxc/manifest.py:10 msgid "JSXC" msgstr "" -#: plinth/modules/jsxc/__init__.py:41 +#: plinth/modules/jsxc/__init__.py:44 msgid "Chat Client" msgstr "" @@ -2275,11 +2255,11 @@ msgstr "" msgid "Matrix Synapse" msgstr "" -#: plinth/modules/matrixsynapse/forms.py:14 +#: plinth/modules/matrixsynapse/forms.py:12 msgid "Enable Public Registration" msgstr "" -#: plinth/modules/matrixsynapse/forms.py:15 +#: plinth/modules/matrixsynapse/forms.py:13 msgid "" "Enabling public registration means that anyone on the Internet can register " "a new account on your Matrix server. Disable this if you only want existing " @@ -2290,6 +2270,12 @@ msgstr "" msgid "Riot" msgstr "" +#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 +#: plinth/modules/snapshot/templates/snapshot.html:12 +#: plinth/templates/app.html:46 +msgid "Configuration" +msgstr "" + #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:18 msgid "" "Matrix service needs to be configured for a domain. Users on other Matrix " @@ -2334,11 +2320,11 @@ msgid "" "go to Let's Encrypt to obtain one." msgstr "" -#: plinth/modules/matrixsynapse/views.py:98 +#: plinth/modules/matrixsynapse/views.py:86 msgid "Public registration enabled" msgstr "" -#: plinth/modules/matrixsynapse/views.py:103 +#: plinth/modules/matrixsynapse/views.py:91 msgid "Public registration disabled" msgstr "" @@ -2374,71 +2360,71 @@ msgstr "" msgid "Wiki" msgstr "" -#: plinth/modules/mediawiki/forms.py:27 +#: plinth/modules/mediawiki/forms.py:25 msgid "Administrator Password" msgstr "" -#: plinth/modules/mediawiki/forms.py:28 +#: plinth/modules/mediawiki/forms.py:26 msgid "" "Set a new password for MediaWiki's administrator account (admin). Leave this " "field blank to keep the current password." msgstr "" -#: plinth/modules/mediawiki/forms.py:33 +#: plinth/modules/mediawiki/forms.py:31 msgid "Enable public registrations" msgstr "" -#: plinth/modules/mediawiki/forms.py:34 +#: plinth/modules/mediawiki/forms.py:32 msgid "" "If enabled, anyone on the internet will be able to create an account on your " "MediaWiki instance." msgstr "" -#: plinth/modules/mediawiki/forms.py:38 +#: plinth/modules/mediawiki/forms.py:36 msgid "Enable private mode" msgstr "" -#: plinth/modules/mediawiki/forms.py:39 +#: plinth/modules/mediawiki/forms.py:37 msgid "" "If enabled, access will be restricted. Only people who have accounts can " "read/write to the wiki. Public registrations will also be disabled." msgstr "" -#: plinth/modules/mediawiki/forms.py:44 +#: plinth/modules/mediawiki/forms.py:42 msgid "Default Skin" msgstr "" -#: plinth/modules/mediawiki/forms.py:45 +#: plinth/modules/mediawiki/forms.py:43 msgid "" "Choose a default skin for your MediaWiki installation. Users have the option " "to select their preferred skin." msgstr "" -#: plinth/modules/mediawiki/views.py:53 +#: plinth/modules/mediawiki/views.py:48 msgid "Password updated" msgstr "" -#: plinth/modules/mediawiki/views.py:72 +#: plinth/modules/mediawiki/views.py:57 msgid "Public registrations enabled" msgstr "" -#: plinth/modules/mediawiki/views.py:81 +#: plinth/modules/mediawiki/views.py:66 msgid "Public registrations disabled" msgstr "" -#: plinth/modules/mediawiki/views.py:86 +#: plinth/modules/mediawiki/views.py:71 msgid "Private mode enabled" msgstr "" -#: plinth/modules/mediawiki/views.py:93 +#: plinth/modules/mediawiki/views.py:78 msgid "Private mode disabled" msgstr "" -#: plinth/modules/mediawiki/views.py:101 +#: plinth/modules/mediawiki/views.py:86 msgid "Default skin changed" msgstr "" -#: plinth/modules/minetest/__init__.py:37 +#: plinth/modules/minetest/__init__.py:38 #, python-brace-format msgid "" "Minetest is a multiplayer infinite-world block sandbox. This module enables " @@ -2447,48 +2433,48 @@ msgid "" "downloads/\">Minetest client is needed." msgstr "" -#: plinth/modules/minetest/__init__.py:63 +#: plinth/modules/minetest/__init__.py:62 #: plinth/modules/minetest/manifest.py:10 msgid "Minetest" msgstr "" -#: plinth/modules/minetest/__init__.py:64 +#: plinth/modules/minetest/__init__.py:63 msgid "Block Sandbox" msgstr "" -#: plinth/modules/minetest/forms.py:15 +#: plinth/modules/minetest/forms.py:13 msgid "Maximum number of players" msgstr "" -#: plinth/modules/minetest/forms.py:17 +#: plinth/modules/minetest/forms.py:15 msgid "" "You can change the maximum number of players playing minetest at a single " "instance of time." msgstr "" -#: plinth/modules/minetest/forms.py:21 +#: plinth/modules/minetest/forms.py:19 msgid "Enable creative mode" msgstr "" -#: plinth/modules/minetest/forms.py:22 +#: plinth/modules/minetest/forms.py:20 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:27 +#: plinth/modules/minetest/forms.py:25 msgid "Enable PVP" msgstr "" -#: plinth/modules/minetest/forms.py:28 +#: plinth/modules/minetest/forms.py:26 msgid "Enabling Player Vs Player will allow players to damage other players." msgstr "" -#: plinth/modules/minetest/forms.py:32 +#: plinth/modules/minetest/forms.py:30 msgid "Enable damage" msgstr "" -#: plinth/modules/minetest/forms.py:33 +#: plinth/modules/minetest/forms.py:31 msgid "When disabled, players cannot die or receive damage of any kind." msgstr "" @@ -2529,19 +2515,19 @@ msgid "" "Kodi." msgstr "" -#: plinth/modules/minidlna/__init__.py:33 +#: plinth/modules/minidlna/__init__.py:44 msgid "Media streaming server" msgstr "" -#: plinth/modules/minidlna/__init__.py:47 +#: plinth/modules/minidlna/__init__.py:48 msgid "Simple Media Server" msgstr "" -#: plinth/modules/minidlna/forms.py:15 +#: plinth/modules/minidlna/forms.py:13 msgid "Media Files Directory" msgstr "" -#: plinth/modules/minidlna/forms.py:16 +#: plinth/modules/minidlna/forms.py:14 msgid "" "Directory that MiniDLNA Server will read for content. All sub-directories of " "this will be also scanned for media files. If you change the default ensure " @@ -2593,16 +2579,16 @@ msgid "" "On {box_name}, downloaded files can be found in /var/lib/mldonkey/ directory." msgstr "" -#: plinth/modules/mldonkey/__init__.py:40 +#: plinth/modules/mldonkey/__init__.py:50 msgid "Download files using eDonkey applications" msgstr "" -#: plinth/modules/mldonkey/__init__.py:54 +#: plinth/modules/mldonkey/__init__.py:53 #: plinth/modules/mldonkey/manifest.py:12 msgid "MLDonkey" msgstr "" -#: plinth/modules/mldonkey/__init__.py:56 +#: plinth/modules/mldonkey/__init__.py:55 msgid "Peer-to-peer File Sharing" msgstr "" @@ -2614,7 +2600,7 @@ msgstr "" msgid "AMLDonkey" msgstr "" -#: plinth/modules/monkeysphere/__init__.py:18 +#: plinth/modules/monkeysphere/__init__.py:19 msgid "" "With Monkeysphere, an OpenPGP key can be generated for each configured " "domain serving SSH. The OpenPGP public key can then be uploaded to the " @@ -2626,7 +2612,7 @@ msgid "" "for more details." msgstr "" -#: plinth/modules/monkeysphere/__init__.py:26 +#: plinth/modules/monkeysphere/__init__.py:27 msgid "" "Monkeysphere can also generate an OpenPGP key for each Secure Web Server " "(HTTPS) certificate installed on this machine. The OpenPGP public key can " @@ -2637,7 +2623,7 @@ msgid "" "Monkeysphere website." msgstr "" -#: plinth/modules/monkeysphere/__init__.py:50 +#: plinth/modules/monkeysphere/__init__.py:49 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:11 msgid "Monkeysphere" msgstr "" @@ -2686,15 +2672,15 @@ msgstr "" msgid "-" msgstr "" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:128 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:129 msgid "Import Key" msgstr "" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:137 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:139 msgid "Publish Key" msgstr "" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:146 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:149 msgid "Add Domains" msgstr "" @@ -2764,32 +2750,32 @@ msgstr "" msgid "Error occurred while publishing key." msgstr "" -#: plinth/modules/mumble/__init__.py:23 +#: plinth/modules/mumble/__init__.py:24 msgid "" "Mumble is an open source, low-latency, encrypted, high quality voice chat " "software." msgstr "" -#: plinth/modules/mumble/__init__.py:25 +#: plinth/modules/mumble/__init__.py:26 msgid "" "You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your " "desktop and Android devices are available." msgstr "" -#: plinth/modules/mumble/__init__.py:49 plinth/modules/mumble/manifest.py:12 +#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:12 msgid "Mumble" msgstr "" -#: plinth/modules/mumble/__init__.py:50 +#: plinth/modules/mumble/__init__.py:49 msgid "Voice Chat" msgstr "" -#: plinth/modules/mumble/forms.py:16 +#: plinth/modules/mumble/forms.py:14 msgid "Set SuperUser Password" msgstr "" -#: plinth/modules/mumble/forms.py:19 +#: plinth/modules/mumble/forms.py:17 msgid "" "Optional. Leave this field blank to keep the current password. SuperUser " "password can be used to manage permissions in Mumble." @@ -3072,7 +3058,7 @@ msgstr "" #: plinth/modules/networks/forms.py:297 #, python-brace-format -msgid "Choose how your {box_name} is connected to your network" +msgid "Specify how your {box_name} is connected to your network" msgstr "" #: plinth/modules/networks/forms.py:304 @@ -3291,7 +3277,7 @@ msgstr "" #: plinth/modules/networks/templates/connection_show.html:171 #: plinth/modules/networks/templates/connection_show.html:212 -#: plinth/modules/shadowsocks/forms.py:49 +#: plinth/modules/shadowsocks/forms.py:48 msgid "Method" msgstr "" @@ -3307,7 +3293,7 @@ msgstr "" #: plinth/modules/networks/templates/connection_show.html:201 #: plinth/modules/networks/templates/connection_show.html:240 -#: plinth/modules/storage/forms.py:141 +#: plinth/modules/storage/forms.py:139 msgid "Default" msgstr "" @@ -3746,6 +3732,11 @@ msgstr "" msgid "Setup failed." msgstr "" +#: plinth/modules/openvpn/views.py:135 plinth/modules/tor/views.py:136 +#: plinth/views.py:196 +msgid "Setting unchanged" +msgstr "" + #: plinth/modules/pagekite/__init__.py:27 #, python-brace-format msgid "" @@ -3802,75 +3793,75 @@ msgstr "" msgid "PageKite Domain" msgstr "" -#: plinth/modules/pagekite/forms.py:48 +#: plinth/modules/pagekite/forms.py:47 msgid "Server domain" msgstr "" -#: plinth/modules/pagekite/forms.py:50 +#: plinth/modules/pagekite/forms.py:49 msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " "pagekite.net server." msgstr "" -#: plinth/modules/pagekite/forms.py:53 plinth/modules/shadowsocks/forms.py:40 +#: plinth/modules/pagekite/forms.py:52 plinth/modules/shadowsocks/forms.py:39 msgid "Server port" msgstr "" -#: plinth/modules/pagekite/forms.py:54 +#: plinth/modules/pagekite/forms.py:53 msgid "Port of your pagekite server (default: 80)" msgstr "" -#: plinth/modules/pagekite/forms.py:56 +#: plinth/modules/pagekite/forms.py:55 msgid "Kite name" msgstr "" -#: plinth/modules/pagekite/forms.py:57 +#: plinth/modules/pagekite/forms.py:56 msgid "Example: mybox.pagekite.me" msgstr "" -#: plinth/modules/pagekite/forms.py:59 +#: plinth/modules/pagekite/forms.py:58 msgid "Invalid kite name" msgstr "" -#: plinth/modules/pagekite/forms.py:63 +#: plinth/modules/pagekite/forms.py:62 msgid "Kite secret" msgstr "" -#: plinth/modules/pagekite/forms.py:64 +#: plinth/modules/pagekite/forms.py:63 msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." msgstr "" -#: plinth/modules/pagekite/forms.py:101 +#: plinth/modules/pagekite/forms.py:100 msgid "protocol" msgstr "" -#: plinth/modules/pagekite/forms.py:104 +#: plinth/modules/pagekite/forms.py:103 msgid "external (frontend) port" msgstr "" -#: plinth/modules/pagekite/forms.py:107 +#: plinth/modules/pagekite/forms.py:106 msgid "internal (freedombox) port" msgstr "" -#: plinth/modules/pagekite/forms.py:108 +#: plinth/modules/pagekite/forms.py:107 msgid "Enable Subdomains" msgstr "" -#: plinth/modules/pagekite/forms.py:142 +#: plinth/modules/pagekite/forms.py:141 msgid "Deleted custom service" msgstr "" -#: plinth/modules/pagekite/forms.py:175 +#: plinth/modules/pagekite/forms.py:174 msgid "This service is already available as a standard service." msgstr "" -#: plinth/modules/pagekite/forms.py:183 +#: plinth/modules/pagekite/forms.py:182 msgid "Added custom service" msgstr "" -#: plinth/modules/pagekite/forms.py:186 +#: plinth/modules/pagekite/forms.py:185 msgid "This service already exists" msgstr "" @@ -3988,14 +3979,14 @@ msgstr "" msgid "Shut Down Now" msgstr "" -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 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:33 +#: plinth/modules/privoxy/__init__.py:34 #, python-brace-format msgid "" "You can use Privoxy by modifying your browser proxy settings to your " @@ -4005,20 +3996,20 @@ msgid "" "\">http://p.p." msgstr "" -#: plinth/modules/privoxy/__init__.py:56 +#: plinth/modules/privoxy/__init__.py:55 msgid "Privoxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:57 +#: plinth/modules/privoxy/__init__.py:56 msgid "Web Proxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:119 #, python-brace-format msgid "Access {url} with proxy {proxy} on tcp{kind}" msgstr "" -#: plinth/modules/quassel/__init__.py:32 +#: plinth/modules/quassel/__init__.py:33 #, python-brace-format msgid "" "Quassel is an IRC application that is split into two parts, a \"core\" and a " @@ -4029,7 +4020,7 @@ msgid "" "connect and disconnect from it." msgstr "" -#: plinth/modules/quassel/__init__.py:39 +#: plinth/modules/quassel/__init__.py:40 msgid "" "You can connect to your Quassel core on the default Quassel port 4242. " "Clients to connect to Quassel from your mobile devices are available." msgstr "" -#: plinth/modules/quassel/__init__.py:62 plinth/modules/quassel/manifest.py:10 +#: plinth/modules/quassel/__init__.py:61 plinth/modules/quassel/manifest.py:10 msgid "Quassel" msgstr "" -#: plinth/modules/quassel/__init__.py:63 +#: plinth/modules/quassel/__init__.py:62 msgid "IRC Client" msgstr "" -#: plinth/modules/quassel/forms.py:23 +#: plinth/modules/quassel/forms.py:22 msgid "TLS domain" msgstr "" -#: plinth/modules/quassel/forms.py:25 +#: plinth/modules/quassel/forms.py:24 msgid "" "Select a domain to use TLS with. If the list is empty, please configure at " "least one domain with certificates." @@ -4059,7 +4050,7 @@ msgstr "" msgid "Quasseldroid" msgstr "" -#: plinth/modules/radicale/__init__.py:32 +#: plinth/modules/radicale/__init__.py:33 #, python-brace-format msgid "" "Radicale is a CalDAV and CardDAV server. It allows synchronization and " @@ -4068,34 +4059,34 @@ msgid "" "can be accessed by any user with a {box_name} login." msgstr "" -#: plinth/modules/radicale/__init__.py:37 +#: plinth/modules/radicale/__init__.py:38 msgid "" "Radicale provides a basic web interface, which only supports creating new " "calendars and addressbooks. It does not support adding events or contacts, " "which must be done using a separate client." msgstr "" -#: plinth/modules/radicale/__init__.py:62 +#: plinth/modules/radicale/__init__.py:61 #: plinth/modules/radicale/manifest.py:75 msgid "Radicale" msgstr "" -#: plinth/modules/radicale/__init__.py:63 +#: plinth/modules/radicale/__init__.py:62 msgid "Calendar and Addressbook" msgstr "" -#: plinth/modules/radicale/forms.py:15 +#: plinth/modules/radicale/forms.py:14 msgid "Only the owner of a calendar/addressbook can view or make changes." msgstr "" -#: plinth/modules/radicale/forms.py:19 +#: plinth/modules/radicale/forms.py:18 #, python-brace-format msgid "" "Any user with a {box_name} login can view any calendar/addressbook, but only " "the owner can make changes." msgstr "" -#: plinth/modules/radicale/forms.py:24 +#: plinth/modules/radicale/forms.py:23 #, python-brace-format msgid "" "Any user with a {box_name} login can view or make changes to any calendar/" @@ -4211,11 +4202,11 @@ msgid "" "private space." msgstr "" -#: plinth/modules/samba/__init__.py:47 +#: plinth/modules/samba/__init__.py:59 msgid "Access to the private shares" msgstr "" -#: plinth/modules/samba/__init__.py:61 +#: plinth/modules/samba/__init__.py:62 msgid "Samba" msgstr "" @@ -4279,11 +4270,11 @@ msgstr "" msgid "Action" msgstr "" -#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:149 +#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:147 msgid "Open Share" msgstr "" -#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:147 +#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:145 msgid "Group Share" msgstr "" @@ -4321,43 +4312,43 @@ msgid "" "stores no cookies by default." msgstr "" -#: plinth/modules/searx/__init__.py:31 +#: plinth/modules/searx/__init__.py:45 msgid "Search the web" msgstr "" -#: plinth/modules/searx/__init__.py:47 plinth/modules/searx/manifest.py:9 +#: plinth/modules/searx/__init__.py:48 plinth/modules/searx/manifest.py:9 msgid "Searx" msgstr "" -#: plinth/modules/searx/__init__.py:48 +#: plinth/modules/searx/__init__.py:49 msgid "Web Search" msgstr "" -#: plinth/modules/searx/forms.py:15 +#: plinth/modules/searx/forms.py:13 msgid "Safe Search" msgstr "" -#: plinth/modules/searx/forms.py:16 +#: plinth/modules/searx/forms.py:14 msgid "Select the default family filter to apply to your search results." msgstr "" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "None" msgstr "" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "Moderate" msgstr "" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "Strict" msgstr "" -#: plinth/modules/searx/forms.py:20 +#: plinth/modules/searx/forms.py:18 msgid "Allow Public Access" msgstr "" -#: plinth/modules/searx/forms.py:21 +#: plinth/modules/searx/forms.py:19 msgid "Allow this application to be used by anyone who can reach it." msgstr "" @@ -4520,28 +4511,28 @@ msgstr "" msgid "Socks5 Proxy" msgstr "" +#: plinth/modules/shadowsocks/forms.py:12 #: plinth/modules/shadowsocks/forms.py:13 -#: plinth/modules/shadowsocks/forms.py:14 msgid "Recommended" msgstr "" -#: plinth/modules/shadowsocks/forms.py:37 +#: plinth/modules/shadowsocks/forms.py:36 msgid "Server" msgstr "" -#: plinth/modules/shadowsocks/forms.py:38 +#: plinth/modules/shadowsocks/forms.py:37 msgid "Server hostname or IP address" msgstr "" -#: plinth/modules/shadowsocks/forms.py:42 +#: plinth/modules/shadowsocks/forms.py:41 msgid "Server port number" msgstr "" -#: plinth/modules/shadowsocks/forms.py:45 +#: plinth/modules/shadowsocks/forms.py:44 msgid "Password used to encrypt data. Must match server password." msgstr "" -#: plinth/modules/shadowsocks/forms.py:50 +#: plinth/modules/shadowsocks/forms.py:49 msgid "Encryption method. Must match setting on server." msgstr "" @@ -4582,11 +4573,11 @@ msgstr "" msgid "Make files in this folder available to anyone with the link." msgstr "" -#: plinth/modules/sharing/forms.py:33 +#: plinth/modules/sharing/forms.py:34 msgid "User groups that can read the files in the share" msgstr "" -#: plinth/modules/sharing/forms.py:35 +#: plinth/modules/sharing/forms.py:36 msgid "" "Users of the selected user groups will be able to read the files in the " "share." @@ -4857,11 +4848,11 @@ msgstr "" msgid "Secure Shell (SSH) Server" msgstr "" -#: plinth/modules/ssh/forms.py:15 +#: plinth/modules/ssh/forms.py:13 msgid "Disable password authentication" msgstr "" -#: plinth/modules/ssh/forms.py:16 +#: plinth/modules/ssh/forms.py:14 msgid "" "Improves security by preventing password guessing. Ensure that you have " "setup SSH keys in your administrator user account before enabling this " @@ -4910,129 +4901,129 @@ msgid "" "media, expand the root partition etc." msgstr "" -#: plinth/modules/storage/__init__.py:52 plinth/modules/storage/__init__.py:318 +#: plinth/modules/storage/__init__.py:54 plinth/modules/storage/__init__.py:320 msgid "Storage" 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 "" -#: plinth/modules/storage/__init__.py:313 +#: plinth/modules/storage/__init__.py:315 #, no-python-format, python-brace-format msgid "Low space on system partition: {percent_used}% used, {free_space} free." msgstr "" -#: plinth/modules/storage/__init__.py:315 +#: plinth/modules/storage/__init__.py:317 msgid "Low disk space" msgstr "" -#: plinth/modules/storage/forms.py:64 +#: plinth/modules/storage/forms.py:63 msgid "Invalid directory name." msgstr "" -#: plinth/modules/storage/forms.py:82 +#: plinth/modules/storage/forms.py:80 msgid "Directory does not exist." msgstr "" -#: plinth/modules/storage/forms.py:84 +#: plinth/modules/storage/forms.py:83 msgid "Path is not a directory." msgstr "" -#: plinth/modules/storage/forms.py:87 +#: plinth/modules/storage/forms.py:86 msgid "Directory is not readable by the user." msgstr "" -#: plinth/modules/storage/forms.py:90 +#: plinth/modules/storage/forms.py:89 msgid "Directory is not writable by the user." msgstr "" -#: plinth/modules/storage/forms.py:95 +#: plinth/modules/storage/forms.py:94 msgid "Directory" msgstr "" -#: plinth/modules/storage/forms.py:98 +#: plinth/modules/storage/forms.py:96 msgid "Subdirectory (optional)" msgstr "" -#: plinth/modules/storage/forms.py:145 +#: plinth/modules/storage/forms.py:143 msgid "Share" msgstr "" -#: plinth/modules/storage/forms.py:153 +#: plinth/modules/storage/forms.py:151 msgid "Other directory (specify below)" msgstr "" @@ -5113,19 +5104,20 @@ msgid "" "synchronize more often. {box_name} runs a single instance of Syncthing that " "may be used by multiple users. Each user's set of devices may be " "synchronized with a distinct set of folders. The web interface on " -"{box_name} is only available for users belonging to the \"admin\" group." +"{box_name} is only available for users belonging to the \"admin\" or " +"\"syncthing\" group." msgstr "" -#: plinth/modules/syncthing/__init__.py:40 +#: plinth/modules/syncthing/__init__.py:53 msgid "Administer Syncthing application" msgstr "" -#: plinth/modules/syncthing/__init__.py:54 +#: plinth/modules/syncthing/__init__.py:56 #: plinth/modules/syncthing/manifest.py:13 msgid "Syncthing" msgstr "" -#: plinth/modules/syncthing/__init__.py:55 +#: plinth/modules/syncthing/__init__.py:57 msgid "File Synchronization" msgstr "" @@ -5162,33 +5154,33 @@ msgid "" "%(domain_name)s:5678\">https://%(domain_name)s:5678." msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:39 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:29 msgid "Local introducer" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:59 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:76 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:33 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:49 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:66 msgid "Pet Name" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:56 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:46 msgid "Add new introducer" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:67 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:57 msgid "Add" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:72 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:62 msgid "Connected introducers" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:89 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:79 msgid "Remove" msgstr "" -#: plinth/modules/tor/__init__.py:33 +#: plinth/modules/tor/__init__.py:34 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -5197,40 +5189,40 @@ msgid "" "\">Tor Browser." msgstr "" -#: plinth/modules/tor/__init__.py:55 +#: plinth/modules/tor/__init__.py:54 msgid "Tor" msgstr "" -#: plinth/modules/tor/__init__.py:66 +#: plinth/modules/tor/__init__.py:65 msgid "Tor Onion Service" msgstr "" -#: plinth/modules/tor/__init__.py:70 +#: plinth/modules/tor/__init__.py:69 msgid "Tor Socks Proxy" msgstr "" -#: plinth/modules/tor/__init__.py:74 +#: plinth/modules/tor/__init__.py:73 msgid "Tor Bridge Relay" msgstr "" -#: plinth/modules/tor/__init__.py:95 +#: plinth/modules/tor/__init__.py:98 msgid "Tor relay port available" msgstr "" -#: plinth/modules/tor/__init__.py:105 +#: plinth/modules/tor/__init__.py:108 msgid "Obfs3 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:115 +#: plinth/modules/tor/__init__.py:118 msgid "Obfs4 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:208 +#: plinth/modules/tor/__init__.py:211 #, python-brace-format msgid "Access URL {url} on tcp{kind} via Tor" msgstr "" -#: plinth/modules/tor/__init__.py:219 +#: plinth/modules/tor/__init__.py:222 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "" @@ -5356,13 +5348,13 @@ msgstr "" msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050." msgstr "" -#: plinth/modules/transmission/__init__.py:27 +#: plinth/modules/transmission/__init__.py:28 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:48 +#: plinth/modules/transmission/__init__.py:51 #: plinth/modules/transmission/manifest.py:9 msgid "Transmission" msgstr "" @@ -5388,15 +5380,15 @@ msgid "" "connecting." msgstr "" -#: plinth/modules/ttrss/__init__.py:42 +#: plinth/modules/ttrss/__init__.py:54 msgid "Read and subscribe to news feeds" msgstr "" -#: plinth/modules/ttrss/__init__.py:56 plinth/modules/ttrss/manifest.py:19 +#: plinth/modules/ttrss/__init__.py:57 plinth/modules/ttrss/manifest.py:19 msgid "Tiny Tiny RSS" msgstr "" -#: plinth/modules/ttrss/__init__.py:57 +#: plinth/modules/ttrss/__init__.py:58 msgid "News Feed Reader" msgstr "" @@ -5408,11 +5400,11 @@ msgstr "" msgid "Check for and apply the latest software and security updates." msgstr "" -#: plinth/modules/upgrades/__init__.py:38 plinth/templates/setup.html:74 +#: plinth/modules/upgrades/__init__.py:40 plinth/templates/setup.html:74 msgid "Update" msgstr "" -#: plinth/modules/upgrades/__init__.py:76 +#: plinth/modules/upgrades/__init__.py:78 msgid "FreedomBox Updated" msgstr "" @@ -5462,43 +5454,39 @@ msgstr "" #: plinth/modules/upgrades/templates/upgrades_configure.html:11 #: plinth/modules/upgrades/templates/upgrades_configure.html:12 -#: plinth/modules/upgrades/views.py:88 +#: plinth/modules/upgrades/views.py:85 msgid "Manual update" msgstr "" -#: plinth/modules/upgrades/views.py:47 +#: plinth/modules/upgrades/views.py:46 #, python-brace-format msgid "Error when configuring unattended-upgrades: {error}" msgstr "" -#: plinth/modules/upgrades/views.py:51 +#: plinth/modules/upgrades/views.py:50 msgid "Automatic upgrades enabled" msgstr "" -#: plinth/modules/upgrades/views.py:54 +#: plinth/modules/upgrades/views.py:53 msgid "Automatic upgrades disabled" msgstr "" -#: plinth/modules/upgrades/views.py:56 -msgid "Settings unchanged" -msgstr "" - -#: plinth/modules/upgrades/views.py:82 +#: plinth/modules/upgrades/views.py:79 msgid "Upgrade process started." msgstr "" -#: plinth/modules/upgrades/views.py:85 +#: plinth/modules/upgrades/views.py:82 msgid "Starting upgrade failed." msgstr "" -#: plinth/modules/users/__init__.py:37 +#: plinth/modules/users/__init__.py:39 msgid "" "Create and managed user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " "account to be part of a group to authorize the user to access the app." msgstr "" -#: plinth/modules/users/__init__.py:42 +#: plinth/modules/users/__init__.py:44 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -5506,102 +5494,101 @@ msgid "" "group may alter apps or system settings." msgstr "" -#: plinth/modules/users/__init__.py:64 +#: plinth/modules/users/__init__.py:65 msgid "Users and Groups" msgstr "" -#: plinth/modules/users/__init__.py:115 +#: plinth/modules/users/__init__.py:78 +msgid "Access to all services and system settings" +msgstr "" + +#: plinth/modules/users/__init__.py:122 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "" -#: plinth/modules/users/forms.py:28 -msgid "Access to all services and system settings" -msgstr "" - -#: plinth/modules/users/forms.py:44 +#: plinth/modules/users/forms.py:36 msgid "Username is taken or is reserved." msgstr "" -#: plinth/modules/users/forms.py:72 +#: plinth/modules/users/forms.py:63 msgid "Enter a valid username." msgstr "" -#: plinth/modules/users/forms.py:78 +#: plinth/modules/users/forms.py:69 msgid "" "Required. 150 characters or fewer. English letters, digits and @/./-/_ only." msgstr "" -#: plinth/modules/users/forms.py:91 plinth/modules/users/forms.py:207 +#: plinth/modules/users/forms.py:83 plinth/modules/users/forms.py:196 msgid "Permissions" msgstr "" -#: plinth/modules/users/forms.py:94 +#: plinth/modules/users/forms.py:85 msgid "" -"Select which services should be available to the new user. The user will be " -"able to log in to services that support single sign-on through LDAP, if they " -"are in the appropriate group.

Users in the admin group will be " -"able to log in to all services. They can also log in to the system through " -"SSH and have administrative privileges (sudo)." +"user. The user will be able to log in to services that support single sign-" +"on through LDAP, if they are in the appropriate group.

Users in " +"the admin group will be able to log in to all services. They can also log in " +"to the system through SSH and have administrative privileges (sudo)." msgstr "" -#: plinth/modules/users/forms.py:133 plinth/modules/users/forms.py:357 +#: plinth/modules/users/forms.py:122 plinth/modules/users/forms.py:345 msgid "Creating LDAP user failed." msgstr "" -#: plinth/modules/users/forms.py:144 +#: plinth/modules/users/forms.py:133 #, python-brace-format msgid "Failed to add new user to {group} group." msgstr "" -#: plinth/modules/users/forms.py:158 +#: plinth/modules/users/forms.py:147 msgid "Authorized SSH Keys" msgstr "" -#: plinth/modules/users/forms.py:160 +#: plinth/modules/users/forms.py:149 msgid "" "Setting an SSH public key will allow this user to securely log in to the " "system without using a password. You may enter multiple keys, one on each " "line. Blank lines and lines starting with # will be ignored." msgstr "" -#: plinth/modules/users/forms.py:244 +#: plinth/modules/users/forms.py:233 msgid "Renaming LDAP user failed." msgstr "" -#: plinth/modules/users/forms.py:256 +#: plinth/modules/users/forms.py:245 msgid "Failed to remove user from group." msgstr "" -#: plinth/modules/users/forms.py:267 +#: plinth/modules/users/forms.py:256 msgid "Failed to add user to group." msgstr "" -#: plinth/modules/users/forms.py:276 +#: plinth/modules/users/forms.py:265 msgid "Unable to set SSH keys." msgstr "" -#: plinth/modules/users/forms.py:291 +#: plinth/modules/users/forms.py:280 msgid "Failed to change user status." msgstr "" -#: plinth/modules/users/forms.py:299 +#: plinth/modules/users/forms.py:288 msgid "Cannot delete the only administrator in the system." msgstr "" -#: plinth/modules/users/forms.py:331 +#: plinth/modules/users/forms.py:319 msgid "Changing LDAP user password failed." msgstr "" -#: plinth/modules/users/forms.py:366 +#: plinth/modules/users/forms.py:354 msgid "Failed to add new user to admin group." msgstr "" -#: plinth/modules/users/forms.py:383 +#: plinth/modules/users/forms.py:371 msgid "Failed to restrict console access." msgstr "" -#: plinth/modules/users/forms.py:395 +#: plinth/modules/users/forms.py:383 msgid "User account created, you are now logged in" msgstr "" @@ -6331,14 +6318,6 @@ msgstr "" msgid "%(percentage)s%% complete" msgstr "" -#: plinth/views.py:184 -msgid "Application enabled" -msgstr "" - -#: plinth/views.py:187 -msgid "Application disabled" -msgstr "" - #: plinth/web_framework.py:107 msgid "Gujarati" msgstr "" diff --git a/plinth/locale/el/LC_MESSAGES/django.po b/plinth/locale/el/LC_MESSAGES/django.po index 20e6b4af5..d7157e7a2 100644 --- a/plinth/locale/el/LC_MESSAGES/django.po +++ b/plinth/locale/el/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-23 18:54-0400\n" +"POT-Creation-Date: 2020-04-06 19:59-0400\n" "PO-Revision-Date: 2020-01-25 17:21+0000\n" "Last-Translator: Nektarios Katakis \n" "Language-Team: Greek web clientπιστοποιητικά για το {box_name}." -#: plinth/modules/ejabberd/__init__.py:70 +#: plinth/modules/ejabberd/__init__.py:69 msgid "ejabberd" msgstr "ejabberd" -#: plinth/modules/ejabberd/__init__.py:71 +#: plinth/modules/ejabberd/__init__.py:70 #: plinth/modules/matrixsynapse/__init__.py:68 msgid "Chat Server" msgstr "Διακομιστής συνομιλίας" -#: plinth/modules/ejabberd/forms.py:17 +#: plinth/modules/ejabberd/forms.py:16 msgid "Enable Message Archive Management" msgstr "Ενεργοποίηση διαχείρισης αρχειοθέτησης μηνυμάτων" -#: plinth/modules/ejabberd/forms.py:19 +#: plinth/modules/ejabberd/forms.py:18 #, python-brace-format msgid "" "If enabled, your {box_name} will store chat message histories. This allows " @@ -1593,19 +1581,11 @@ msgstr "" "%(domainname)s. Μπορείτε να ρυθμίσετε το όνομα της υπηρεσίας στο Ρυθμίστε page." -#: plinth/modules/ejabberd/templates/ejabberd.html:35 -#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 -#: plinth/modules/snapshot/templates/snapshot.html:12 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:27 -#: plinth/templates/app.html:45 -msgid "Configuration" -msgstr "Ρύθμισης παραμέτρων" - -#: plinth/modules/ejabberd/views.py:58 +#: plinth/modules/ejabberd/views.py:45 msgid "Message Archive Management enabled" msgstr "Η Διαχείριση αρχειοθέτησης μηνυμάτων ενεργοποιήθηκε" -#: plinth/modules/ejabberd/views.py:62 +#: plinth/modules/ejabberd/views.py:49 msgid "Message Archive Management disabled" msgstr "Η Διαχείριση αρχειοθέτησης μηνυμάτων απενεργοποιήθηκε" @@ -1621,7 +1601,7 @@ msgstr "" "προστασίας ενεργοποιημένο και η σωστή ρύθμιση παραμέτρων μειώνει τον κίνδυνο " "απειλών προερχόμενων από το Internet." -#: plinth/modules/firewall/__init__.py:63 +#: plinth/modules/firewall/__init__.py:65 msgid "Firewall" msgstr "Firewall (τείχος προστασίας)" @@ -1772,7 +1752,7 @@ msgstr "" "Για να μάθετε περισσότερα για το git μάθημα git." -#: plinth/modules/gitweb/__init__.py:39 +#: plinth/modules/gitweb/__init__.py:51 msgid "Read-write access to Git repositories" msgstr "Πρόσβαση ανάγνωσης και εγγραφής σε αποθετήρια Git" @@ -1911,31 +1891,31 @@ msgstr "το {name} διαγράφηκε." msgid "Could not delete {name}: {error}" msgstr "Δεν ήταν δυνατή η διαγραφή του {name}: {error}" -#: plinth/modules/help/__init__.py:30 +#: plinth/modules/help/__init__.py:32 msgid "Documentation" msgstr "Boηθητικά έγγραφα" -#: plinth/modules/help/__init__.py:33 plinth/modules/networks/forms.py:47 +#: plinth/modules/help/__init__.py:35 plinth/modules/networks/forms.py:47 #: plinth/modules/networks/forms.py:77 plinth/templates/help-menu.html:20 #: plinth/templates/help-menu.html:21 plinth/templates/index.html:128 msgid "Manual" msgstr "Εγχειρίδιο" -#: plinth/modules/help/__init__.py:37 +#: plinth/modules/help/__init__.py:39 #: plinth/modules/help/templates/help_support.html:9 #: plinth/modules/help/views.py:43 plinth/templates/help-menu.html:27 #: plinth/templates/help-menu.html:28 msgid "Get Support" msgstr "Λάβετε Υποστήριξη" -#: plinth/modules/help/__init__.py:41 +#: plinth/modules/help/__init__.py:43 #: plinth/modules/help/templates/help_feedback.html:9 #: plinth/modules/help/views.py:37 plinth/templates/help-menu.html:33 #: plinth/templates/help-menu.html:34 msgid "Submit Feedback" msgstr "Υποβάλετε σχόλια" -#: plinth/modules/help/__init__.py:45 +#: plinth/modules/help/__init__.py:47 #: plinth/modules/help/templates/help_contribute.html:9 #: plinth/modules/help/views.py:31 plinth/templates/help-menu.html:39 #: plinth/templates/help-menu.html:40 @@ -2085,7 +2065,7 @@ msgstr "" #: plinth/modules/help/templates/help_contribute.html:42 #: plinth/modules/power/templates/power_restart.html:27 #: plinth/modules/power/templates/power_shutdown.html:26 -#: plinth/templates/app-header.html:51 +#: plinth/templates/app-header.html:53 msgid "Learn more..." msgstr "Μάθε περισσότερα..." @@ -2276,19 +2256,19 @@ msgstr "" "Η πρώτη επίσκεψη στο παρεχόμενο δικτυακό περιβάλλον θα ξεκινήσει τη " "διαδικασία ρύθμισης." -#: plinth/modules/i2p/__init__.py:38 +#: plinth/modules/i2p/__init__.py:62 msgid "Manage I2P application" msgstr "Διαχείριση εφαρμογής I2P" -#: plinth/modules/i2p/__init__.py:64 plinth/modules/i2p/manifest.py:16 +#: plinth/modules/i2p/__init__.py:65 plinth/modules/i2p/manifest.py:16 msgid "I2P" msgstr "I2P" -#: plinth/modules/i2p/__init__.py:65 plinth/modules/tor/__init__.py:56 +#: plinth/modules/i2p/__init__.py:66 plinth/modules/tor/__init__.py:55 msgid "Anonymity Network" msgstr "Δίκτυο ανωνυμίας" -#: plinth/modules/i2p/__init__.py:87 +#: plinth/modules/i2p/__init__.py:88 msgid "I2P Proxy" msgstr "Διακομιστής μεσολάβησης I2P" @@ -2359,18 +2339,18 @@ msgstr "" "\"{users_url}\">ρυθμίσεις μπορεί να γίνει ρύθμιση παραμέτρων χρήστη και " "να αλλάξετε τα δικαιώματα ή να προσθέσετε νέους χρήστες." -#: plinth/modules/ikiwiki/__init__.py:39 -msgid "View and edit wiki applications" -msgstr "Προβολή και επεξεργασία εφαρμογών wiki" - -#: plinth/modules/ikiwiki/__init__.py:53 plinth/modules/ikiwiki/manifest.py:9 +#: plinth/modules/ikiwiki/__init__.py:52 plinth/modules/ikiwiki/manifest.py:9 msgid "ikiwiki" msgstr "ikiwiki" -#: plinth/modules/ikiwiki/__init__.py:54 +#: plinth/modules/ikiwiki/__init__.py:53 msgid "Wiki and Blog" msgstr "Wiki και Blog" +#: plinth/modules/ikiwiki/__init__.py:73 +msgid "View and edit wiki applications" +msgstr "Προβολή και επεξεργασία εφαρμογών wiki" + #: plinth/modules/ikiwiki/forms.py:17 msgid "Admin Account Name" msgstr "Όνομα λογαριασμού διαχειριστή" @@ -2417,32 +2397,32 @@ msgstr "" "σχόλια, συμπεριλαμβανομένου του ιστορικού αναθεωρήσεων. Να διαγραφεί " "οριστικά αυτό το wiki ή το blog;" -#: plinth/modules/ikiwiki/views.py:72 +#: plinth/modules/ikiwiki/views.py:70 #, python-brace-format msgid "Created wiki {name}." msgstr "Δημιουργήθηκε το wiki {name}." -#: plinth/modules/ikiwiki/views.py:75 +#: plinth/modules/ikiwiki/views.py:73 #, python-brace-format msgid "Could not create wiki: {error}" msgstr "Δεν ήταν δυνατή η δημιουργία wiki: {error}" -#: plinth/modules/ikiwiki/views.py:85 +#: plinth/modules/ikiwiki/views.py:83 #, python-brace-format msgid "Created blog {name}." msgstr "Δημιουργήθηκε το blog {name}." -#: plinth/modules/ikiwiki/views.py:88 +#: plinth/modules/ikiwiki/views.py:86 #, python-brace-format msgid "Could not create blog: {error}" msgstr "Δεν ήταν δυνατή η δημιουργία ιστολογίου: {error}" -#: plinth/modules/ikiwiki/views.py:103 +#: plinth/modules/ikiwiki/views.py:101 #, python-brace-format msgid "{title} deleted." msgstr "{title} διαγράφηκε." -#: plinth/modules/ikiwiki/views.py:107 +#: plinth/modules/ikiwiki/views.py:105 #, python-brace-format msgid "Could not delete {title}: {error}" msgstr "Δεν ήταν δυνατή η διαγραφή του {title}: {error}" @@ -2490,7 +2470,7 @@ msgstr "" "Ξεκινήστε το gobby και επιλέξτε \"σύνδεση στο διακομιστή\" και " "πληκτρολογήστε το όνομα domain σας {box_name}." -#: plinth/modules/jsxc/__init__.py:22 +#: plinth/modules/jsxc/__init__.py:23 msgid "" "JSXC is a web client for XMPP. Typically it is used with an XMPP server " "running locally." @@ -2498,11 +2478,11 @@ msgstr "" "Το JSXC είναι ένα πρόγραμμα-πελάτης Web για το XMPP Συνήθως χρησιμοποιείται " "με ένα διακομιστή ΧΜPP που εκτελείται στο ίδιο δίκτυο." -#: plinth/modules/jsxc/__init__.py:40 plinth/modules/jsxc/manifest.py:10 +#: plinth/modules/jsxc/__init__.py:43 plinth/modules/jsxc/manifest.py:10 msgid "JSXC" msgstr "JSXC" -#: plinth/modules/jsxc/__init__.py:41 +#: plinth/modules/jsxc/__init__.py:44 msgid "Chat Client" msgstr "Πρόγραμμα-πελάτης συνομιλίας" @@ -2693,11 +2673,11 @@ msgstr "" msgid "Matrix Synapse" msgstr "Matrix Synapse" -#: plinth/modules/matrixsynapse/forms.py:14 +#: plinth/modules/matrixsynapse/forms.py:12 msgid "Enable Public Registration" msgstr "Ενεργοποίηση εγγραφών νέων χρηστών" -#: plinth/modules/matrixsynapse/forms.py:15 +#: plinth/modules/matrixsynapse/forms.py:13 msgid "" "Enabling public registration means that anyone on the Internet can register " "a new account on your Matrix server. Disable this if you only want existing " @@ -2712,6 +2692,12 @@ msgstr "" msgid "Riot" msgstr "Riot" +#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 +#: plinth/modules/snapshot/templates/snapshot.html:12 +#: plinth/templates/app.html:46 +msgid "Configuration" +msgstr "Ρύθμισης παραμέτρων" + #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:18 msgid "" "Matrix service needs to be configured for a domain. Users on other Matrix " @@ -2791,11 +2777,11 @@ msgstr "" "\"> Lets Encrypt για να αποκτήσετε ένα.\n" " " -#: plinth/modules/matrixsynapse/views.py:98 +#: plinth/modules/matrixsynapse/views.py:86 msgid "Public registration enabled" msgstr "Η δημόσια εγγραφή ενεργοποιήθηκε" -#: plinth/modules/matrixsynapse/views.py:103 +#: plinth/modules/matrixsynapse/views.py:91 msgid "Public registration disabled" msgstr "Η δημόσια εγγραφή απενεργοποιήθηκε" @@ -2844,11 +2830,11 @@ msgstr "Mediawiki" msgid "Wiki" msgstr "Wiki" -#: plinth/modules/mediawiki/forms.py:27 +#: plinth/modules/mediawiki/forms.py:25 msgid "Administrator Password" msgstr "Κωδικός Πρόσβασης Διαχειριστή" -#: plinth/modules/mediawiki/forms.py:28 +#: plinth/modules/mediawiki/forms.py:26 msgid "" "Set a new password for MediaWiki's administrator account (admin). Leave this " "field blank to keep the current password." @@ -2857,11 +2843,11 @@ msgstr "" "wiki. Αφήστε αυτό το πεδίο κενό για να διατηρήσετε τον τρέχοντα κωδικό " "πρόσβασης." -#: plinth/modules/mediawiki/forms.py:33 +#: plinth/modules/mediawiki/forms.py:31 msgid "Enable public registrations" msgstr "Ενεργοποίηση εγγραφών νέων χρηστών" -#: plinth/modules/mediawiki/forms.py:34 +#: plinth/modules/mediawiki/forms.py:32 msgid "" "If enabled, anyone on the internet will be able to create an account on your " "MediaWiki instance." @@ -2869,11 +2855,11 @@ msgstr "" "Εάν ενεργοποιηθεί, οποιοσδήποτε στο Internet θα μπορεί να δημιουργήσει ένα " "λογαριασμό στον διακομιστή σας wiki." -#: plinth/modules/mediawiki/forms.py:38 +#: plinth/modules/mediawiki/forms.py:36 msgid "Enable private mode" msgstr "Ενεργοποίηση ιδιωτικής λειτουργίας" -#: plinth/modules/mediawiki/forms.py:39 +#: plinth/modules/mediawiki/forms.py:37 msgid "" "If enabled, access will be restricted. Only people who have accounts can " "read/write to the wiki. Public registrations will also be disabled." @@ -2882,11 +2868,11 @@ msgstr "" "που έχουν λογαριασμούς μπορεί να διαβάσουν/γράψουν στο wiki. Δημόσιες " "εγγραφές θα είναι επίσης απενεργοποιημένες." -#: plinth/modules/mediawiki/forms.py:44 +#: plinth/modules/mediawiki/forms.py:42 msgid "Default Skin" msgstr "Προεπιλεγμένη εμφάνιση" -#: plinth/modules/mediawiki/forms.py:45 +#: plinth/modules/mediawiki/forms.py:43 msgid "" "Choose a default skin for your MediaWiki installation. Users have the option " "to select their preferred skin." @@ -2894,31 +2880,31 @@ msgstr "" "Επιλέξτε μια προκαθορισμένη εμφάνιση για την εγκατάσταση του wiki σας. Οι " "χρήστες έχουν την επιλογή να επιλέξουν την εμφάνιση που προτιμούν." -#: plinth/modules/mediawiki/views.py:53 +#: plinth/modules/mediawiki/views.py:48 msgid "Password updated" msgstr "Ενημερώθηκε ο κωδικός πρόσβασης" -#: plinth/modules/mediawiki/views.py:72 +#: plinth/modules/mediawiki/views.py:57 msgid "Public registrations enabled" msgstr "Η δημόσια εγγραφή ενεργοποιήθηκε" -#: plinth/modules/mediawiki/views.py:81 +#: plinth/modules/mediawiki/views.py:66 msgid "Public registrations disabled" msgstr "Οι δημόσιες εγγραφές είναι απενεργοποιημένες" -#: plinth/modules/mediawiki/views.py:86 +#: plinth/modules/mediawiki/views.py:71 msgid "Private mode enabled" msgstr "Η ιδιωτική λειτουργία είναι ενεργοποιημένη" -#: plinth/modules/mediawiki/views.py:93 +#: plinth/modules/mediawiki/views.py:78 msgid "Private mode disabled" msgstr "Η ιδιωτική λειτουργία απενεργοποιήθηκε" -#: plinth/modules/mediawiki/views.py:101 +#: plinth/modules/mediawiki/views.py:86 msgid "Default skin changed" msgstr "Η προεπιλεγμένη εμφάνιση άλλαξε" -#: plinth/modules/minetest/__init__.py:37 +#: plinth/modules/minetest/__init__.py:38 #, python-brace-format msgid "" "Minetest is a multiplayer infinite-world block sandbox. This module enables " @@ -2932,20 +2918,20 @@ msgstr "" "συνδεθείτε με το διακομιστή, ένας Minetest πελάτη είναι απαραίτητος." -#: plinth/modules/minetest/__init__.py:63 +#: plinth/modules/minetest/__init__.py:62 #: plinth/modules/minetest/manifest.py:10 msgid "Minetest" msgstr "Minetest" -#: plinth/modules/minetest/__init__.py:64 +#: plinth/modules/minetest/__init__.py:63 msgid "Block Sandbox" msgstr "Μπλοκ Sandbox" -#: plinth/modules/minetest/forms.py:15 +#: plinth/modules/minetest/forms.py:13 msgid "Maximum number of players" msgstr "Μέγιστος αριθμός παικτών" -#: plinth/modules/minetest/forms.py:17 +#: plinth/modules/minetest/forms.py:15 msgid "" "You can change the maximum number of players playing minetest at a single " "instance of time." @@ -2953,11 +2939,11 @@ msgstr "" "Μπορείτε να αλλάξετε το μέγιστο αριθμό των παικτών που παίζουν το minetest " "σε μια συγκεκριμένη χρονική περίοδο." -#: plinth/modules/minetest/forms.py:21 +#: plinth/modules/minetest/forms.py:19 msgid "Enable creative mode" msgstr "Ενεργοποίηση δημιουργικής λειτουργίας" -#: plinth/modules/minetest/forms.py:22 +#: plinth/modules/minetest/forms.py:20 msgid "" "Creative mode changes the rules of the game to make it more suitable for " "creative gameplay, rather than challenging \"survival\" gameplay." @@ -2966,21 +2952,21 @@ msgstr "" "πιο κατάλληλο για δημιουργικό παιχνίδι, αντί για ένα δύσκολο παιχνίδι " "\"επιβίωσης\"." -#: plinth/modules/minetest/forms.py:27 +#: plinth/modules/minetest/forms.py:25 msgid "Enable PVP" msgstr "Ενεργοποίηση PVP" -#: plinth/modules/minetest/forms.py:28 +#: plinth/modules/minetest/forms.py:26 msgid "Enabling Player Vs Player will allow players to damage other players." msgstr "" "Η ενεργοποίηση του PVP (παίκτης εναντίον παίκτη) θα επιτρέψει στους παίκτες " "να βλάψουν άλλους παίκτες." -#: plinth/modules/minetest/forms.py:32 +#: plinth/modules/minetest/forms.py:30 msgid "Enable damage" msgstr "Ενεργοποίηση ζημιών" -#: plinth/modules/minetest/forms.py:33 +#: plinth/modules/minetest/forms.py:31 msgid "When disabled, players cannot die or receive damage of any kind." msgstr "" "Όταν είναι απενεργοποιημένη, οι παίκτες δεν μπορούν να πεθάνουν ή να λάβουν " @@ -3031,19 +3017,19 @@ msgstr "" "βίντεο παιχνιδιών (όπως το PS3 και το Xbox 360) ή εφαρμογές όπως το Totem " "και Kodi." -#: plinth/modules/minidlna/__init__.py:33 +#: plinth/modules/minidlna/__init__.py:44 msgid "Media streaming server" msgstr "Διακομιστής ροής πολυμέσων" -#: plinth/modules/minidlna/__init__.py:47 +#: plinth/modules/minidlna/__init__.py:48 msgid "Simple Media Server" msgstr "Απλός διακομιστής πολυμέσων" -#: plinth/modules/minidlna/forms.py:15 +#: plinth/modules/minidlna/forms.py:13 msgid "Media Files Directory" msgstr "Κατάλογος αρχείων πολυμέσων" -#: plinth/modules/minidlna/forms.py:16 +#: plinth/modules/minidlna/forms.py:14 msgid "" "Directory that MiniDLNA Server will read for content. All sub-directories of " "this will be also scanned for media files. If you change the default ensure " @@ -3110,16 +3096,16 @@ msgstr "" "Στο {box_name}, τα ληφθέντα αρχεία μπορούν να βρεθούν στον κατάλογο/var/lib/" "mldonkey/." -#: plinth/modules/mldonkey/__init__.py:40 +#: plinth/modules/mldonkey/__init__.py:50 msgid "Download files using eDonkey applications" msgstr "Λήψη αρχείων με χρήση των εφαρμογών eDonkey" -#: plinth/modules/mldonkey/__init__.py:54 +#: plinth/modules/mldonkey/__init__.py:53 #: plinth/modules/mldonkey/manifest.py:12 msgid "MLDonkey" msgstr "MLDonkey" -#: plinth/modules/mldonkey/__init__.py:56 +#: plinth/modules/mldonkey/__init__.py:55 msgid "Peer-to-peer File Sharing" msgstr "Διαμοιρασμός αρχείων σε ομότιμο δίκτυο (peer-to-peer)" @@ -3131,7 +3117,7 @@ msgstr "KMLDonkey" msgid "AMLDonkey" msgstr "AMLDonkey" -#: plinth/modules/monkeysphere/__init__.py:18 +#: plinth/modules/monkeysphere/__init__.py:19 msgid "" "With Monkeysphere, an OpenPGP key can be generated for each configured " "domain serving SSH. The OpenPGP public key can then be uploaded to the " @@ -3153,7 +3139,7 @@ msgstr "" "\"http://web.monkeysphere.info/getting-started-ssh/\">Monkeysphere έγγραφα για περισσότερες λεπτομέρειες." -#: plinth/modules/monkeysphere/__init__.py:26 +#: plinth/modules/monkeysphere/__init__.py:27 msgid "" "Monkeysphere can also generate an OpenPGP key for each Secure Web Server " "(HTTPS) certificate installed on this machine. The OpenPGP public key can " @@ -3173,7 +3159,7 @@ msgstr "" "ιστότοπο Monkeysphere." -#: plinth/modules/monkeysphere/__init__.py:50 +#: plinth/modules/monkeysphere/__init__.py:49 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:11 msgid "Monkeysphere" msgstr "Monkeysphere" @@ -3222,15 +3208,15 @@ msgstr "Εμφάνιση λεπτομερειών για το κλειδί %(fin msgid "-" msgstr "-" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:128 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:129 msgid "Import Key" msgstr "Εισαγωγή κλειδιού" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:137 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:139 msgid "Publish Key" msgstr "Δημοσίευση κλειδιού" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:146 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:149 msgid "Add Domains" msgstr "Προσθήκη ονόματος διαδικτύου" @@ -3303,7 +3289,7 @@ msgstr "Δημοσιεύθηκε το κλειδί στο διακομιστή msgid "Error occurred while publishing key." msgstr "Παρουσιάστηκε σφάλμα κατά τη δημοσίευση του κλειδιού." -#: plinth/modules/mumble/__init__.py:23 +#: plinth/modules/mumble/__init__.py:24 msgid "" "Mumble is an open source, low-latency, encrypted, high quality voice chat " "software." @@ -3311,7 +3297,7 @@ msgstr "" "Το mumble είναι ένα ανοικτού πηγαίου κώδικα, χαμηλής καθυστέρησης, " "κρυπτογραφημένο και υπηλής ποιότητας προγραμμα φωνητικής συνομιλίας." -#: plinth/modules/mumble/__init__.py:25 +#: plinth/modules/mumble/__init__.py:26 msgid "" "You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your " @@ -3321,19 +3307,19 @@ msgstr "" "href=\"http://mumble.info\"> Πελάτες για να συνδεθείτε με το Mumble από " "τον υπολογιστή και τις συσκευές Android είναι διαθέσιμες." -#: plinth/modules/mumble/__init__.py:49 plinth/modules/mumble/manifest.py:12 +#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:12 msgid "Mumble" msgstr "Mumble" -#: plinth/modules/mumble/__init__.py:50 +#: plinth/modules/mumble/__init__.py:49 msgid "Voice Chat" msgstr "Φωνητική συνομιλία" -#: plinth/modules/mumble/forms.py:16 +#: plinth/modules/mumble/forms.py:14 msgid "Set SuperUser Password" msgstr "Ορισμός κωδικού πρόσβασης SuperUser" -#: plinth/modules/mumble/forms.py:19 +#: plinth/modules/mumble/forms.py:17 msgid "" "Optional. Leave this field blank to keep the current password. SuperUser " "password can be used to manage permissions in Mumble." @@ -3662,7 +3648,7 @@ msgstr "Ανοιχτό" #: plinth/modules/networks/forms.py:297 #, fuzzy, python-brace-format #| msgid "Use upstream bridges to connect to Tor network" -msgid "Choose how your {box_name} is connected to your network" +msgid "Specify how your {box_name} is connected to your network" msgstr "Χρησιμοποιήστε εξωτερικές γέφυρες για να συνδεθείτε στο δίκτυο Tor" #: plinth/modules/networks/forms.py:304 @@ -3883,7 +3869,7 @@ msgstr "IPv4" #: plinth/modules/networks/templates/connection_show.html:171 #: plinth/modules/networks/templates/connection_show.html:212 -#: plinth/modules/shadowsocks/forms.py:49 +#: plinth/modules/shadowsocks/forms.py:48 msgid "Method" msgstr "Μέθοδος" @@ -3899,7 +3885,7 @@ msgstr "Διακομιστής DNS" #: plinth/modules/networks/templates/connection_show.html:201 #: plinth/modules/networks/templates/connection_show.html:240 -#: plinth/modules/storage/forms.py:141 +#: plinth/modules/storage/forms.py:139 msgid "Default" msgstr "Προεπιλεγμένο" @@ -4383,6 +4369,11 @@ msgstr "Η εγκατάσταση ολοκληρώθηκε." msgid "Setup failed." msgstr "Η εγκατάσταση απέτυχε." +#: plinth/modules/openvpn/views.py:135 plinth/modules/tor/views.py:136 +#: plinth/views.py:196 +msgid "Setting unchanged" +msgstr "Οι ρυθμίσεις δεν άλλαξαν" + #: plinth/modules/pagekite/__init__.py:27 #, python-brace-format msgid "" @@ -4454,11 +4445,11 @@ msgstr "Δημόσια ορατότητα" msgid "PageKite Domain" msgstr "Όνομα διαδικτύου Pagekite" -#: plinth/modules/pagekite/forms.py:48 +#: plinth/modules/pagekite/forms.py:47 msgid "Server domain" msgstr "Όνομα διαδικτύου διακομιστή" -#: plinth/modules/pagekite/forms.py:50 +#: plinth/modules/pagekite/forms.py:49 msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " "pagekite.net server." @@ -4466,31 +4457,31 @@ msgstr "" "Επιλέξτε το διακομιστή pagekite. Ορίστε το \"pagekite.net\" για να " "χρησιμοποιήσετε τον προεπιλεγμένο διακομιστή pagekite.net." -#: plinth/modules/pagekite/forms.py:53 plinth/modules/shadowsocks/forms.py:40 +#: plinth/modules/pagekite/forms.py:52 plinth/modules/shadowsocks/forms.py:39 msgid "Server port" msgstr "Θύρα διακομιστή" -#: plinth/modules/pagekite/forms.py:54 +#: plinth/modules/pagekite/forms.py:53 msgid "Port of your pagekite server (default: 80)" msgstr "Θύρα του διακομιστή σελιδοποίησης (προεπιλογή: 80)" -#: plinth/modules/pagekite/forms.py:56 +#: plinth/modules/pagekite/forms.py:55 msgid "Kite name" msgstr "Kite όνομα" -#: plinth/modules/pagekite/forms.py:57 +#: plinth/modules/pagekite/forms.py:56 msgid "Example: mybox.pagekite.me" msgstr "Παράδειγμα: mybox.pagekite.me" -#: plinth/modules/pagekite/forms.py:59 +#: plinth/modules/pagekite/forms.py:58 msgid "Invalid kite name" msgstr "Μη έγκυρο όνομα kite" -#: plinth/modules/pagekite/forms.py:63 +#: plinth/modules/pagekite/forms.py:62 msgid "Kite secret" msgstr "Kite μυστικό" -#: plinth/modules/pagekite/forms.py:64 +#: plinth/modules/pagekite/forms.py:63 msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." @@ -4498,27 +4489,27 @@ msgstr "" "Ένα μυστικό που σχετίζεται με το kite ή το προεπιλεγμένο μυστικό για το " "λογαριασμό σας, εάν δεν αναθέσετε καινούριο." -#: plinth/modules/pagekite/forms.py:101 +#: plinth/modules/pagekite/forms.py:100 msgid "protocol" msgstr "Πρωτόκολλο" -#: plinth/modules/pagekite/forms.py:104 +#: plinth/modules/pagekite/forms.py:103 msgid "external (frontend) port" msgstr "εξωτερική (frontend) θύρα" -#: plinth/modules/pagekite/forms.py:107 +#: plinth/modules/pagekite/forms.py:106 msgid "internal (freedombox) port" msgstr "εσωτερική (freedombox) θύρα" -#: plinth/modules/pagekite/forms.py:108 +#: plinth/modules/pagekite/forms.py:107 msgid "Enable Subdomains" msgstr "Ενεργοποίηση δευτερευόντων ονομάτων διαδικτύου" -#: plinth/modules/pagekite/forms.py:142 +#: plinth/modules/pagekite/forms.py:141 msgid "Deleted custom service" msgstr "Διαγράφηκε η διαμορφωμένη υπηρεσία" -#: plinth/modules/pagekite/forms.py:175 +#: plinth/modules/pagekite/forms.py:174 #, fuzzy #| msgid "" #| "This service is available as a standard service. Please use the " @@ -4528,11 +4519,11 @@ msgstr "" "Αυτή η υπηρεσία είναι διαθέσιμη ως πρότυπη υπηρεσία. Παρακαλούμε να " "χρησιμοποιήσετε την σελίδα \"Πρότυπες Υπηρεσίες\" για να το ενεργοποιήσετε." -#: plinth/modules/pagekite/forms.py:183 +#: plinth/modules/pagekite/forms.py:182 msgid "Added custom service" msgstr "Προστέθηκε τροποποιημένη υπηρεσία" -#: plinth/modules/pagekite/forms.py:186 +#: plinth/modules/pagekite/forms.py:185 msgid "This service already exists" msgstr "Αυτή η υπηρεσία υπάρχει ήδη" @@ -4669,7 +4660,7 @@ msgstr "" msgid "Shut Down Now" msgstr "Τερματισμός τώρα" -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 msgid "" "Privoxy is a non-caching web proxy with advanced filtering capabilities for " "enhancing privacy, modifying web page data and HTTP headers, controlling " @@ -4681,7 +4672,7 @@ msgstr "" "τον έλεγχο της πρόσβασης και την κατάργηση διαφημίσεων και άλλων " "ανεπιθύμητων μηνυμάτων στο Internet. " -#: plinth/modules/privoxy/__init__.py:33 +#: plinth/modules/privoxy/__init__.py:34 #, python-brace-format msgid "" "You can use Privoxy by modifying your browser proxy settings to your " @@ -4697,22 +4688,22 @@ msgstr "" "\"http://config.privoxy.org\">http://config.privoxy.org/ ή http://p.p." -#: plinth/modules/privoxy/__init__.py:56 +#: plinth/modules/privoxy/__init__.py:55 msgid "Privoxy" msgstr "Privoxy" -#: plinth/modules/privoxy/__init__.py:57 +#: plinth/modules/privoxy/__init__.py:56 msgid "Web Proxy" msgstr "Διακομιστής μεσολάβησης διαδικτύου" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:119 #, python-brace-format msgid "Access {url} with proxy {proxy} on tcp{kind}" msgstr "" "Πρόσβαση στη διεύθυνση URL {url} με διακομιστή μεσολάβησης {proxy} στο TCP " "{kind}" -#: plinth/modules/quassel/__init__.py:32 +#: plinth/modules/quassel/__init__.py:33 #, python-brace-format msgid "" "Quassel is an IRC application that is split into two parts, a \"core\" and a " @@ -4730,7 +4721,7 @@ msgstr "" "πελάτες Κουάσελ από ένα υπολογιστή ή ένα κινητό μπορούν να χρησιμοποιηθούν " "για τη σύνδεση και την αποσύνδεση από αυτό." -#: plinth/modules/quassel/__init__.py:39 +#: plinth/modules/quassel/__init__.py:40 msgid "" "You can connect to your Quassel core on the default Quassel port 4242. " "Clients to connect to Quassel from your υπολογιστή και κινητό είναι διαθέσιμοι." -#: plinth/modules/quassel/__init__.py:62 plinth/modules/quassel/manifest.py:10 +#: plinth/modules/quassel/__init__.py:61 plinth/modules/quassel/manifest.py:10 msgid "Quassel" msgstr "Quassel" -#: plinth/modules/quassel/__init__.py:63 +#: plinth/modules/quassel/__init__.py:62 msgid "IRC Client" msgstr "Πελάτης IRC" -#: plinth/modules/quassel/forms.py:23 +#: plinth/modules/quassel/forms.py:22 msgid "TLS domain" msgstr "ΤLS όνομα διαδικτύου" -#: plinth/modules/quassel/forms.py:25 +#: plinth/modules/quassel/forms.py:24 msgid "" "Select a domain to use TLS with. If the list is empty, please configure at " "least one domain with certificates." @@ -4766,7 +4757,7 @@ msgstr "" msgid "Quasseldroid" msgstr "Quasseldroid" -#: plinth/modules/radicale/__init__.py:32 +#: plinth/modules/radicale/__init__.py:33 #, python-brace-format msgid "" "Radicale is a CalDAV and CardDAV server. It allows synchronization and " @@ -4780,7 +4771,7 @@ msgstr "" "clients/\">πελάτη . Το Radicale μπορεί να προσεγγιστεί από οποιονδήποτε " "χρήστη με {box_name} πιστοποιητικά." -#: plinth/modules/radicale/__init__.py:37 +#: plinth/modules/radicale/__init__.py:38 msgid "" "Radicale provides a basic web interface, which only supports creating new " "calendars and addressbooks. It does not support adding events or contacts, " @@ -4791,22 +4782,22 @@ msgstr "" "γεγονότων ή επαφών, το οποίο πρέπει να γίνει χρησιμοποιώντας ένα ξεχωριστό " "πελάτη." -#: plinth/modules/radicale/__init__.py:62 +#: plinth/modules/radicale/__init__.py:61 #: plinth/modules/radicale/manifest.py:75 msgid "Radicale" msgstr "Radicale" -#: plinth/modules/radicale/__init__.py:63 +#: plinth/modules/radicale/__init__.py:62 msgid "Calendar and Addressbook" msgstr "Ημερολόγιο και βιβλίο διευθύνσεων" -#: plinth/modules/radicale/forms.py:15 +#: plinth/modules/radicale/forms.py:14 msgid "Only the owner of a calendar/addressbook can view or make changes." msgstr "" "Μόνο ο κάτοχος ενός ημερολογίου/βιβλίου διευθύνσεων μπορεί να προβάλει ή να " "κάνει αλλαγές." -#: plinth/modules/radicale/forms.py:19 +#: plinth/modules/radicale/forms.py:18 #, python-brace-format msgid "" "Any user with a {box_name} login can view any calendar/addressbook, but only " @@ -4815,7 +4806,7 @@ msgstr "" "Οποιοσδήποτε χρήστης με σύνδεση {box_name} μπορεί να προβάλει οποιοδήποτε " "ημερολόγιο/βιβλίο επαφών, αλλά μόνο ο κάτοχος μπορεί να κάνει αλλαγές." -#: plinth/modules/radicale/forms.py:24 +#: plinth/modules/radicale/forms.py:23 #, python-brace-format msgid "" "Any user with a {box_name} login can view or make changes to any calendar/" @@ -4978,11 +4969,11 @@ msgstr "" "Οικιακό μέρισμα - κάθε χρήστης στην ομάδα freedombox-share μπορεί να έχει το " "δικό του προσωπικό διαμέρισμα στο δίσκο." -#: plinth/modules/samba/__init__.py:47 +#: plinth/modules/samba/__init__.py:59 msgid "Access to the private shares" msgstr "Πρόσβαση στα ιδιωτικά μερίσματα" -#: plinth/modules/samba/__init__.py:61 +#: plinth/modules/samba/__init__.py:62 msgid "Samba" msgstr "Samba" @@ -5067,11 +5058,11 @@ msgstr "Όνομα μερίσματος" msgid "Action" msgstr "Ενέργεια" -#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:149 +#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:147 msgid "Open Share" msgstr "Aνοικτό μέρισμα" -#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:147 +#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:145 msgid "Group Share" msgstr "Ομαδικό μέρισμα" @@ -5115,45 +5106,45 @@ msgstr "" "δημιουργία προφίλ χρήστη από τις μηχανές αναζήτησης. Δεν αποθηκεύει cookies " "από προεπιλογή." -#: plinth/modules/searx/__init__.py:31 +#: plinth/modules/searx/__init__.py:45 msgid "Search the web" msgstr "Αναζήτηση στο διαδίκτυο" -#: plinth/modules/searx/__init__.py:47 plinth/modules/searx/manifest.py:9 +#: plinth/modules/searx/__init__.py:48 plinth/modules/searx/manifest.py:9 msgid "Searx" msgstr "Searx" -#: plinth/modules/searx/__init__.py:48 +#: plinth/modules/searx/__init__.py:49 msgid "Web Search" msgstr "Διαδικτυακή αναζήτηση" -#: plinth/modules/searx/forms.py:15 +#: plinth/modules/searx/forms.py:13 msgid "Safe Search" msgstr "Ασφαλής αναζήτηση" -#: plinth/modules/searx/forms.py:16 +#: plinth/modules/searx/forms.py:14 msgid "Select the default family filter to apply to your search results." msgstr "" "Επιλέξτε το οικογενειακό φίλτρο που θα εφαρμοστεί στα αποτελέσματα " "αναζήτησης." -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "None" msgstr "Κανένα" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "Moderate" msgstr "Μέτριο" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "Strict" msgstr "Αυστηρό" -#: plinth/modules/searx/forms.py:20 +#: plinth/modules/searx/forms.py:18 msgid "Allow Public Access" msgstr "Να επιτρέπεται δημόσια πρόσβαση" -#: plinth/modules/searx/forms.py:21 +#: plinth/modules/searx/forms.py:19 msgid "Allow this application to be used by anyone who can reach it." msgstr "" "Να επιτρέπεται η χρήση αυτής της εφαρμογής από οποιονδήποτε μπορεί να την " @@ -5352,30 +5343,30 @@ msgstr "Shadowsocks" msgid "Socks5 Proxy" msgstr "Διακομιστής μεσολάβησης τύπου socks5" +#: plinth/modules/shadowsocks/forms.py:12 #: plinth/modules/shadowsocks/forms.py:13 -#: plinth/modules/shadowsocks/forms.py:14 msgid "Recommended" msgstr "Συνιστάται" -#: plinth/modules/shadowsocks/forms.py:37 +#: plinth/modules/shadowsocks/forms.py:36 msgid "Server" msgstr "Διακομιστής" -#: plinth/modules/shadowsocks/forms.py:38 +#: plinth/modules/shadowsocks/forms.py:37 msgid "Server hostname or IP address" msgstr "Όνομα διακομιστή ή διεύθυνση IP" -#: plinth/modules/shadowsocks/forms.py:42 +#: plinth/modules/shadowsocks/forms.py:41 msgid "Server port number" msgstr "Αριθμός θύρας διακομιστή" -#: plinth/modules/shadowsocks/forms.py:45 +#: plinth/modules/shadowsocks/forms.py:44 msgid "Password used to encrypt data. Must match server password." msgstr "" "Κωδικός πρόσβασης που χρησιμοποιείται για την κρυπτογράφηση δεδομένων. " "Πρέπει να ταιριάζει με τον κωδικό πρόσβασης του διακομιστή." -#: plinth/modules/shadowsocks/forms.py:50 +#: plinth/modules/shadowsocks/forms.py:49 msgid "Encryption method. Must match setting on server." msgstr "" "Μέθοδος κρυπτογράφησης. Πρέπει να ταιριάζει με τη ρύθμιση στο διακομιστή." @@ -5423,11 +5414,11 @@ msgstr "" "Κάνουν τα αρχεία σε αυτόν το φάκελο διαθέσιμα σε οποιονδήποτε διαθέτει το " "σύνδεσμο." -#: plinth/modules/sharing/forms.py:33 +#: plinth/modules/sharing/forms.py:34 msgid "User groups that can read the files in the share" msgstr "Ομάδες χρηστών που μπορούν να διαβάσουν τα αρχεία στο μέρισμα" -#: plinth/modules/sharing/forms.py:35 +#: plinth/modules/sharing/forms.py:36 msgid "" "Users of the selected user groups will be able to read the files in the " "share." @@ -5736,11 +5727,11 @@ msgstr "" msgid "Secure Shell (SSH) Server" msgstr "Διακομιστής SSH" -#: plinth/modules/ssh/forms.py:15 +#: plinth/modules/ssh/forms.py:13 msgid "Disable password authentication" msgstr "Απενεργοποίηση ελέγχου ταυτότητας με κωδικό πρόσβασης" -#: plinth/modules/ssh/forms.py:16 +#: plinth/modules/ssh/forms.py:14 msgid "" "Improves security by preventing password guessing. Ensure that you have " "setup SSH keys in your administrator user account before enabling this " @@ -5799,89 +5790,89 @@ msgstr "" "χρησιμοποιούνται προς το παρόν, να προσθέσετε και να αφαιρέσετε αφαιρούμενα " "μέσα, επεκτείνετε το root διαμέρισμα κλπ." -#: plinth/modules/storage/__init__.py:52 plinth/modules/storage/__init__.py:318 +#: plinth/modules/storage/__init__.py:54 plinth/modules/storage/__init__.py:320 msgid "Storage" 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 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 "Η συσκευή έχει ήδη προστεθεί από άλλο χρήστη." -#: plinth/modules/storage/__init__.py:313 +#: plinth/modules/storage/__init__.py:315 #, fuzzy, no-python-format, python-brace-format #| msgid "" #| "Warning: Low space on system partition ({percent_used}% used, " @@ -5891,43 +5882,43 @@ msgstr "" "Προειδοποίηση: χαμηλός χώρος στο διαμέρισμα του συστήματος ({percent_used}% " "χρησιμοποιείται, {free_space} είναι ελεύθερος)." -#: plinth/modules/storage/__init__.py:315 +#: plinth/modules/storage/__init__.py:317 msgid "Low disk space" msgstr "" -#: plinth/modules/storage/forms.py:64 +#: plinth/modules/storage/forms.py:63 msgid "Invalid directory name." msgstr "Το όνομα καταλόγου δεν είναι έγκυρο." -#: plinth/modules/storage/forms.py:82 +#: plinth/modules/storage/forms.py:80 msgid "Directory does not exist." msgstr "Ο κατάλογος δεν υπάρχει." -#: plinth/modules/storage/forms.py:84 +#: plinth/modules/storage/forms.py:83 msgid "Path is not a directory." msgstr "Το μονοπάτι δεν είναι κατάλογος." -#: plinth/modules/storage/forms.py:87 +#: plinth/modules/storage/forms.py:86 msgid "Directory is not readable by the user." msgstr "Ο κατάλογος δεν είναι αναγνώσιμος από τον χρήστη." -#: plinth/modules/storage/forms.py:90 +#: plinth/modules/storage/forms.py:89 msgid "Directory is not writable by the user." msgstr "Ο κατάλογος δεν είναι εγγράψιμος από το χρήστη." -#: plinth/modules/storage/forms.py:95 +#: plinth/modules/storage/forms.py:94 msgid "Directory" msgstr "Κατάλογος" -#: plinth/modules/storage/forms.py:98 +#: plinth/modules/storage/forms.py:96 msgid "Subdirectory (optional)" msgstr "Υποκατάλογος (προαιρετικό)" -#: plinth/modules/storage/forms.py:145 +#: plinth/modules/storage/forms.py:143 msgid "Share" msgstr "Μέρισμα" -#: plinth/modules/storage/forms.py:153 +#: plinth/modules/storage/forms.py:151 msgid "Other directory (specify below)" msgstr "Άλλος κατάλογος (Καθορίστε παρακάτω)" @@ -6011,14 +6002,22 @@ msgstr "" "αυτόματα σε όλες τις άλλες συσκευές που εκτελούν επίσης το Syncthing." #: plinth/modules/syncthing/__init__.py:31 -#, python-brace-format +#, fuzzy, python-brace-format +#| msgid "" +#| "Running Syncthing on {box_name} provides an extra synchronization point " +#| "for your data that is available most of the time, allowing your devices " +#| "to synchronize more often. {box_name} runs a single instance of " +#| "Syncthing that may be used by multiple users. Each user's set of devices " +#| "may be synchronized with a distinct set of folders. The web interface on " +#| "{box_name} is only available for users belonging to the \"admin\" group." msgid "" "Running Syncthing on {box_name} provides an extra synchronization point for " "your data that is available most of the time, allowing your devices to " "synchronize more often. {box_name} runs a single instance of Syncthing that " "may be used by multiple users. Each user's set of devices may be " "synchronized with a distinct set of folders. The web interface on " -"{box_name} is only available for users belonging to the \"admin\" group." +"{box_name} is only available for users belonging to the \"admin\" or " +"\"syncthing\" group." msgstr "" "Η εκτέλεση του Syncthing στο {box_name} παρέχει ένα επιπλέον σημείο " "συγχρονισμού για τα δεδομένα σας, το οποίο είναι διαθέσιμο τον περισσότερο " @@ -6029,16 +6028,16 @@ msgstr "" "{box_name} είναι διαθέσιμη μόνο για χρήστες που ανήκουν στην ομάδα \"admin" "\" (διαχειριστών)." -#: plinth/modules/syncthing/__init__.py:40 +#: plinth/modules/syncthing/__init__.py:53 msgid "Administer Syncthing application" msgstr "Διαχειριστείτε την εφαρμογή Syncthing" -#: plinth/modules/syncthing/__init__.py:54 +#: plinth/modules/syncthing/__init__.py:56 #: plinth/modules/syncthing/manifest.py:13 msgid "Syncthing" msgstr "Syncthing" -#: plinth/modules/syncthing/__init__.py:55 +#: plinth/modules/syncthing/__init__.py:57 msgid "File Synchronization" msgstr "Συγχρονισμός αρχείων" @@ -6088,33 +6087,33 @@ msgstr "" "Tahoe-LAFS στη διεύθυνση URL https://%(domain_name)s:5678." -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:39 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:29 msgid "Local introducer" msgstr "Τοπικός εισαγωγέας" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:59 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:76 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:33 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:49 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:66 msgid "Pet Name" msgstr "Όνομα \"κατοικίδιου\"" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:56 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:46 msgid "Add new introducer" msgstr "Προσθέστε νέο εισαγωγέα" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:67 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:57 msgid "Add" msgstr "Προσθήκη" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:72 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:62 msgid "Connected introducers" msgstr "Συνδεδεμένοι εισαγωγείς" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:89 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:79 msgid "Remove" msgstr "Καταργήστε" -#: plinth/modules/tor/__init__.py:33 +#: plinth/modules/tor/__init__.py:34 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -6128,40 +6127,40 @@ msgstr "" "Project συνιστά να χρησιμοποιήσετε το πρόγραμμα περιήγησης διαδικτύου Tor." -#: plinth/modules/tor/__init__.py:55 +#: plinth/modules/tor/__init__.py:54 msgid "Tor" msgstr "Tor" -#: plinth/modules/tor/__init__.py:66 +#: plinth/modules/tor/__init__.py:65 msgid "Tor Onion Service" msgstr "Υπηρεσία κρεμυδιού Tor" -#: plinth/modules/tor/__init__.py:70 +#: plinth/modules/tor/__init__.py:69 msgid "Tor Socks Proxy" msgstr "Tor διακομιστής μεσολάβησης τύπου socks5" -#: plinth/modules/tor/__init__.py:74 +#: plinth/modules/tor/__init__.py:73 msgid "Tor Bridge Relay" msgstr "Γέφυρα/μεσολαβητής Tor" -#: plinth/modules/tor/__init__.py:95 +#: plinth/modules/tor/__init__.py:98 msgid "Tor relay port available" msgstr "Θύρα μεσολαβητή Tor διαθέσιμη" -#: plinth/modules/tor/__init__.py:105 +#: plinth/modules/tor/__init__.py:108 msgid "Obfs3 transport registered" msgstr "Obfs3 μεταφορά καταχωρήθηκε" -#: plinth/modules/tor/__init__.py:115 +#: plinth/modules/tor/__init__.py:118 msgid "Obfs4 transport registered" msgstr "Obfs4 μεταφορά καταχωρήθηκε" -#: plinth/modules/tor/__init__.py:208 +#: plinth/modules/tor/__init__.py:211 #, python-brace-format msgid "Access URL {url} on tcp{kind} via Tor" msgstr "Πρόσβαση στη διεύθυνση URL {url} με tcp {kind} μέσω του Tor" -#: plinth/modules/tor/__init__.py:219 +#: plinth/modules/tor/__init__.py:222 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "Επιβεβαίωση χρήσης του Tor στο {url} στο προτόκολλο TCP {kind}" @@ -6315,7 +6314,7 @@ msgstr "SOCKS" msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050." msgstr "Μια θύρα Tor SOCKS είναι διαθέσιμη στη θύρα 9050 του %(box_name)s σας." -#: plinth/modules/transmission/__init__.py:27 +#: plinth/modules/transmission/__init__.py:28 msgid "" "BitTorrent is a peer-to-peer file sharing protocol. Transmission daemon " "handles Bitorrent file sharing. Note that BitTorrent is not anonymous." @@ -6324,7 +6323,7 @@ msgstr "" "πρόγραμμα Transmission χειρίζεται την κοινή χρήση αρχείων bitorrent. " "Σημειώστε ότι το BitTorrent δεν είναι ανώνυμο." -#: plinth/modules/transmission/__init__.py:48 +#: plinth/modules/transmission/__init__.py:51 #: plinth/modules/transmission/manifest.py:9 msgid "Transmission" msgstr "Transmission" @@ -6358,15 +6357,15 @@ msgstr "" "Tiny Tiny RSS, χρησιμοποιήστε τη διεύθυνση URL /tt-rss-app για τη σύνδεση." -#: plinth/modules/ttrss/__init__.py:42 +#: plinth/modules/ttrss/__init__.py:54 msgid "Read and subscribe to news feeds" msgstr "Διαβάστε και εγγραφείτε τροφοδοσίες ειδήσεων" -#: plinth/modules/ttrss/__init__.py:56 plinth/modules/ttrss/manifest.py:19 +#: plinth/modules/ttrss/__init__.py:57 plinth/modules/ttrss/manifest.py:19 msgid "Tiny Tiny RSS" msgstr "Tiny Tiny RSS" -#: plinth/modules/ttrss/__init__.py:57 +#: plinth/modules/ttrss/__init__.py:58 msgid "News Feed Reader" msgstr "Αναγνώστης ειδήσεων" @@ -6379,11 +6378,11 @@ msgid "Check for and apply the latest software and security updates." msgstr "" "Ελέγξτε και εφαρμόστε τις πιο πρόσφατες ενημερώσεις λογισμικού και ασφαλείας." -#: plinth/modules/upgrades/__init__.py:38 plinth/templates/setup.html:74 +#: plinth/modules/upgrades/__init__.py:40 plinth/templates/setup.html:74 msgid "Update" msgstr "Ενημερωμένη έκδοση" -#: plinth/modules/upgrades/__init__.py:76 +#: plinth/modules/upgrades/__init__.py:78 #, fuzzy #| msgid "FreedomBox Foundation" msgid "FreedomBox Updated" @@ -6443,36 +6442,32 @@ msgstr "Ενεργοποίηση αρχείων καταγραφής πρόσφ #: plinth/modules/upgrades/templates/upgrades_configure.html:11 #: plinth/modules/upgrades/templates/upgrades_configure.html:12 -#: plinth/modules/upgrades/views.py:88 +#: plinth/modules/upgrades/views.py:85 msgid "Manual update" msgstr "Μη αυτόματη ενημέρωση" -#: plinth/modules/upgrades/views.py:47 +#: plinth/modules/upgrades/views.py:46 #, python-brace-format msgid "Error when configuring unattended-upgrades: {error}" msgstr "Σφάλμα κατά τη ρύθμιση των αυτόματων ενημερώσεων: {error}" -#: plinth/modules/upgrades/views.py:51 +#: plinth/modules/upgrades/views.py:50 msgid "Automatic upgrades enabled" msgstr "Oι αυτόματες ενημερώσεις ενεργοποιήθηκαν" -#: plinth/modules/upgrades/views.py:54 +#: plinth/modules/upgrades/views.py:53 msgid "Automatic upgrades disabled" msgstr "Oι αυτόματες ενημερώσεις απενεργοποιήθηκαν" -#: plinth/modules/upgrades/views.py:56 -msgid "Settings unchanged" -msgstr "Οι ρυθμίσεις δεν άλλαξαν" - -#: plinth/modules/upgrades/views.py:82 +#: plinth/modules/upgrades/views.py:79 msgid "Upgrade process started." msgstr "Ξεκίνησε η διαδικασία αναβάθμισης." -#: plinth/modules/upgrades/views.py:85 +#: plinth/modules/upgrades/views.py:82 msgid "Starting upgrade failed." msgstr "Η εκκίνηση της αναβάθμισης απέτυχε." -#: plinth/modules/users/__init__.py:37 +#: plinth/modules/users/__init__.py:39 msgid "" "Create and managed user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " @@ -6484,7 +6479,7 @@ msgstr "" "είναι μέρος μιας ομάδας για να εξουσιοδοτήσουν το χρήστη να αποκτήσει " "πρόσβαση στην εφαρμογή." -#: plinth/modules/users/__init__.py:42 +#: plinth/modules/users/__init__.py:44 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -6496,45 +6491,51 @@ msgstr "" "σελίδα. Ωστόσο, μόνο οι χρήστες της ομάδας admin μπορούν να " "τροποποιήσουν τις εφαρμογές ή τις ρυθμίσεις του συστήματος." -#: plinth/modules/users/__init__.py:64 +#: plinth/modules/users/__init__.py:65 msgid "Users and Groups" msgstr "Χρήστες και ομάδες" -#: plinth/modules/users/__init__.py:115 +#: plinth/modules/users/__init__.py:78 +msgid "Access to all services and system settings" +msgstr "Πρόσβαση σε όλες τις υπηρεσίες και τις ρυθμίσεις συστήματος" + +#: plinth/modules/users/__init__.py:122 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "Ελέγξτε την καταχώρηση LDAP \"{search_item}\"" -#: plinth/modules/users/forms.py:28 -msgid "Access to all services and system settings" -msgstr "Πρόσβαση σε όλες τις υπηρεσίες και τις ρυθμίσεις συστήματος" - -#: plinth/modules/users/forms.py:44 +#: plinth/modules/users/forms.py:36 msgid "Username is taken or is reserved." msgstr "Το όνομα χρήστη είναι δεσμευμένο." -#: plinth/modules/users/forms.py:72 +#: plinth/modules/users/forms.py:63 #, fuzzy #| msgid "Invalid server name" msgid "Enter a valid username." msgstr "Μη έγκυρο όνομα διακομιστή" -#: plinth/modules/users/forms.py:78 +#: plinth/modules/users/forms.py:69 msgid "" "Required. 150 characters or fewer. English letters, digits and @/./-/_ only." msgstr "" -#: plinth/modules/users/forms.py:91 plinth/modules/users/forms.py:207 +#: plinth/modules/users/forms.py:83 plinth/modules/users/forms.py:196 msgid "Permissions" msgstr "Δικαιώματα" -#: plinth/modules/users/forms.py:94 +#: plinth/modules/users/forms.py:85 +#, fuzzy +#| msgid "" +#| "Select which services should be available to the new user. The user will " +#| "be able to log in to services that support single sign-on through LDAP, " +#| "if they are in the appropriate group.

Users in the admin group " +#| "will be able to log in to all services. They can also log in to the " +#| "system through SSH and have administrative privileges (sudo)." msgid "" -"Select which services should be available to the new user. The user will be " -"able to log in to services that support single sign-on through LDAP, if they " -"are in the appropriate group.

Users in the admin group will be " -"able to log in to all services. They can also log in to the system through " -"SSH and have administrative privileges (sudo)." +"user. The user will be able to log in to services that support single sign-" +"on through LDAP, if they are in the appropriate group.

Users in " +"the admin group will be able to log in to all services. They can also log in " +"to the system through SSH and have administrative privileges (sudo)." msgstr "" "Επιλέξτε ποιες υπηρεσίες πρέπει να είναι διαθέσιμες στον νέο χρήστη. Ο " "χρήστης θα μπορεί να συνδεθεί σε υπηρεσίες που υποστηρίζουν την ενιαία " @@ -6543,20 +6544,20 @@ msgstr "" "υπηρεσίες. Μπορούν επίσης να συνδεθούν στο σύστημα μέσω του SSH και να έχουν " "δικαιώματα διαχειριστή (sudo)." -#: plinth/modules/users/forms.py:133 plinth/modules/users/forms.py:357 +#: plinth/modules/users/forms.py:122 plinth/modules/users/forms.py:345 msgid "Creating LDAP user failed." msgstr "Η δημιουργία χρήστη LDAP απέτυχε." -#: plinth/modules/users/forms.py:144 +#: plinth/modules/users/forms.py:133 #, python-brace-format msgid "Failed to add new user to {group} group." msgstr "Απέτυχε η προσθήκη νέου χρήστη στην ομάδα {group}." -#: plinth/modules/users/forms.py:158 +#: plinth/modules/users/forms.py:147 msgid "Authorized SSH Keys" msgstr "Εξουσιοδοτημένα κλειδιά SSH" -#: plinth/modules/users/forms.py:160 +#: plinth/modules/users/forms.py:149 msgid "" "Setting an SSH public key will allow this user to securely log in to the " "system without using a password. You may enter multiple keys, one on each " @@ -6567,43 +6568,43 @@ msgstr "" "Μπορείτε να εισαγάγετε πολλαπλά κλειδιά, ένα σε κάθε γραμμή. Οι κενές " "γραμμές και οι γραμμές που ξεκινούν με # θα αγνοηθούν." -#: plinth/modules/users/forms.py:244 +#: plinth/modules/users/forms.py:233 msgid "Renaming LDAP user failed." msgstr "Η μετονομασία του χρήστη LDAP απέτυχε." -#: plinth/modules/users/forms.py:256 +#: plinth/modules/users/forms.py:245 msgid "Failed to remove user from group." msgstr "Απέτυχε η κατάργηση του χρήστη από την ομάδα." -#: plinth/modules/users/forms.py:267 +#: plinth/modules/users/forms.py:256 msgid "Failed to add user to group." msgstr "Απέτυχε η προσθήκη χρήστη στην ομάδα." -#: plinth/modules/users/forms.py:276 +#: plinth/modules/users/forms.py:265 msgid "Unable to set SSH keys." msgstr "Δεν ήταν δυνατό να προστεθούν τα κλειδιά SSH." -#: plinth/modules/users/forms.py:291 +#: plinth/modules/users/forms.py:280 msgid "Failed to change user status." msgstr "Απέτυχε η αλλαγή της κατάστασης χρήστη." -#: plinth/modules/users/forms.py:299 +#: plinth/modules/users/forms.py:288 msgid "Cannot delete the only administrator in the system." msgstr "Δεν είναι δυνατή η διαγραφή του μοναδικού διαχειριστή στο σύστημα." -#: plinth/modules/users/forms.py:331 +#: plinth/modules/users/forms.py:319 msgid "Changing LDAP user password failed." msgstr "Η αλλαγή του κωδικού πρόσβασης χρήστη LDAP απέτυχε." -#: plinth/modules/users/forms.py:366 +#: plinth/modules/users/forms.py:354 msgid "Failed to add new user to admin group." msgstr "Αποτυχία προσθήκης νέου χρήστη στην ομάδα διαχειριστών." -#: plinth/modules/users/forms.py:383 +#: plinth/modules/users/forms.py:371 msgid "Failed to restrict console access." msgstr "Απέτυχε ο περιορισμός της πρόσβασης στην κονσόλα." -#: plinth/modules/users/forms.py:395 +#: plinth/modules/users/forms.py:383 msgid "User account created, you are now logged in" msgstr "Ο λογαριασμός χρήστη δημιουργήθηκε, τώρα είστε συνδεδεμένοι" @@ -7439,18 +7440,22 @@ msgstr "Εγκατάσταση του %(package_names)s: %(status)s" msgid "%(percentage)s%% complete" msgstr "ολοκληρώθηκε το %(percentage)s%%" -#: plinth/views.py:184 -msgid "Application enabled" -msgstr "Η εφαρμογή ενεργοποιήθηκε" - -#: plinth/views.py:187 -msgid "Application disabled" -msgstr "Η εφαρμογή απενεργοποιήθηκε" - #: plinth/web_framework.py:107 msgid "Gujarati" msgstr "Gujarati" +#~ msgid "Enable application" +#~ msgstr "Ενεργοποίηση εφαρμογής" + +#~ msgid "Settings unchanged" +#~ msgstr "Οι ρυθμίσεις δεν άλλαξαν" + +#~ msgid "Application enabled" +#~ msgstr "Η εφαρμογή ενεργοποιήθηκε" + +#~ msgid "Application disabled" +#~ msgstr "Η εφαρμογή απενεργοποιήθηκε" + #~ msgid "Kite details set" #~ msgstr "Οι λεπτομέρειες του kite ρυθμίστηκαν" diff --git a/plinth/locale/es/LC_MESSAGES/django.po b/plinth/locale/es/LC_MESSAGES/django.po index 2a259f5fc..abed5c263 100644 --- a/plinth/locale/es/LC_MESSAGES/django.po +++ b/plinth/locale/es/LC_MESSAGES/django.po @@ -7,9 +7,9 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-23 18:54-0400\n" -"PO-Revision-Date: 2020-03-16 18:36+0000\n" -"Last-Translator: Fioddor Superconcentrado \n" +"POT-Creation-Date: 2020-04-06 19:59-0400\n" +"PO-Revision-Date: 2020-04-06 23:58+0000\n" +"Last-Translator: Luis A. Arizmendi \n" "Language-Team: Spanish \n" "Language: es\n" @@ -52,15 +52,11 @@ msgstr "Conectar a {host}:{port}" msgid "Cannot connect to {host}:{port}" msgstr "No se pudo conectar a {host}:{port}" -#: plinth/forms.py:24 -msgid "Enable application" -msgstr "Activar aplicación" - -#: plinth/forms.py:39 +#: plinth/forms.py:38 msgid "Select a domain name to be used with this application" msgstr "Seleccione el nombre de dominio que usará esta aplicación" -#: plinth/forms.py:41 +#: plinth/forms.py:40 msgid "" "Warning! The application may not work properly if domain name is changed " "later." @@ -68,15 +64,15 @@ msgstr "" "¡Atención! Puede que la aplicación no funcione correctamente si cambia el " "nombre de dominio más adelante." -#: plinth/forms.py:49 +#: plinth/forms.py:48 msgid "Language" msgstr "Idioma" -#: plinth/forms.py:50 +#: plinth/forms.py:49 msgid "Language to use for presenting this web interface" msgstr "Idioma para mostrar esta interfaz web" -#: plinth/forms.py:57 +#: plinth/forms.py:56 msgid "Use the language preference set in the browser" msgstr "Configure la preferencia de idioma en el navegador" @@ -647,22 +643,22 @@ msgstr "BIND" msgid "Domain Name Server" msgstr "Servidor de Nombres de Dominio" -#: plinth/modules/bind/forms.py:22 +#: plinth/modules/bind/forms.py:20 msgid "Forwarders" msgstr "Reenviadores" -#: plinth/modules/bind/forms.py:23 +#: plinth/modules/bind/forms.py:21 msgid "" "A list DNS servers, separated by space, to which requests will be forwarded" msgstr "" "Lista de servidores DNS, separados por espacio, a los que se enviarán las " "peticiones de búsqueda" -#: plinth/modules/bind/forms.py:27 +#: plinth/modules/bind/forms.py:25 msgid "Enable DNSSEC" msgstr "Activar DNSSEC" -#: plinth/modules/bind/forms.py:28 +#: plinth/modules/bind/forms.py:26 msgid "Enable Domain Name System Security Extensions" msgstr "Activar Extensiones de Seguridad del Sistema de Nombre de Dominios" @@ -694,10 +690,11 @@ msgstr "Direcciones IP" msgid "Refresh IP address and domains" msgstr "Actualizar direcciones IP y dominios" -#: plinth/modules/bind/views.py:72 plinth/modules/deluge/views.py:44 +#: plinth/modules/bind/views.py:72 plinth/modules/deluge/views.py:42 #: plinth/modules/dynamicdns/views.py:150 plinth/modules/openvpn/views.py:133 -#: plinth/modules/pagekite/forms.py:91 plinth/modules/shadowsocks/views.py:59 -#: plinth/modules/transmission/views.py:50 +#: plinth/modules/pagekite/forms.py:90 plinth/modules/quassel/views.py:30 +#: plinth/modules/shadowsocks/views.py:59 +#: plinth/modules/transmission/views.py:47 msgid "Configuration updated" msgstr "Configuración actualizada" @@ -755,11 +752,11 @@ msgstr "" "Opciones de configuración general como el nombre del host, el del dominio, " "la página de inicio del servidor web, etc." -#: plinth/modules/config/__init__.py:50 +#: plinth/modules/config/__init__.py:52 msgid "General Configuration" msgstr "Configuración general" -#: plinth/modules/config/__init__.py:55 plinth/modules/dynamicdns/views.py:29 +#: plinth/modules/config/__init__.py:57 plinth/modules/dynamicdns/views.py:29 #: plinth/modules/names/templates/names.html:29 #: plinth/modules/names/templates/names.html:43 #: plinth/modules/snapshot/views.py:26 @@ -767,7 +764,7 @@ msgstr "Configuración general" msgid "Configure" msgstr "Configurar" -#: plinth/modules/config/__init__.py:59 plinth/modules/config/forms.py:61 +#: plinth/modules/config/__init__.py:61 plinth/modules/config/forms.py:61 #: plinth/modules/dynamicdns/forms.py:95 msgid "Domain Name" msgstr "Nombre de dominio" @@ -919,15 +916,15 @@ msgstr "" msgid "Coquelicot" msgstr "Coquelicot" -#: plinth/modules/coquelicot/__init__.py:47 plinth/modules/samba/__init__.py:62 +#: plinth/modules/coquelicot/__init__.py:47 plinth/modules/samba/__init__.py:63 msgid "File Sharing" msgstr "Compartir archivos" -#: plinth/modules/coquelicot/forms.py:15 +#: plinth/modules/coquelicot/forms.py:13 msgid "Upload Password" msgstr "Clave para compartir" -#: plinth/modules/coquelicot/forms.py:16 +#: plinth/modules/coquelicot/forms.py:14 msgid "" "Set a new upload password for Coquelicot. Leave this field blank to keep the " "current password." @@ -935,11 +932,11 @@ msgstr "" "Definir una clave nueva para Coquelicot. Deje este campo en blanco para " "conservar la clave actual." -#: plinth/modules/coquelicot/forms.py:20 +#: plinth/modules/coquelicot/forms.py:18 msgid "Maximum File Size (in MiB)" msgstr "Tamaño máximo de archivo (en MiB)" -#: plinth/modules/coquelicot/forms.py:21 +#: plinth/modules/coquelicot/forms.py:19 msgid "Set the maximum size of the files that can be uploaded to Coquelicot." msgstr "" "Define el tamaño máximo de los archivos que pueden compartirse con " @@ -981,11 +978,11 @@ msgstr "Fecha y hora" msgid "Time synchronized to NTP server" msgstr "Hora sincronizada con el servidor NTP" -#: plinth/modules/datetime/forms.py:20 +#: plinth/modules/datetime/forms.py:18 msgid "Time Zone" msgstr "Zona horaria" -#: plinth/modules/datetime/forms.py:21 +#: plinth/modules/datetime/forms.py:19 msgid "" "Set your time zone to get accurate timestamps. This will set the system-wide " "time zone." @@ -993,7 +990,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:32 +#: plinth/modules/datetime/forms.py:30 msgid "-- no time zone set --" msgstr "-- Zona horaria no definida --" @@ -1006,11 +1003,11 @@ msgstr "Error al definir zona horaria: {exception}" msgid "Time zone set" msgstr "Zona horaria asignada" -#: plinth/modules/deluge/__init__.py:25 +#: plinth/modules/deluge/__init__.py:26 msgid "Deluge is a BitTorrent client that features a Web UI." msgstr "Deluge es un cliente BitTorrent con interfaz web." -#: plinth/modules/deluge/__init__.py:26 +#: plinth/modules/deluge/__init__.py:27 msgid "" "The default password is 'deluge', but you should log in and change it " "immediately after enabling this service." @@ -1018,21 +1015,21 @@ msgstr "" "La clave de acceso por defecto es 'deluge' pero es muy recomendable que nada " "más activar el servicio acceda al mismo y la cambie." -#: plinth/modules/deluge/__init__.py:30 -#: plinth/modules/transmission/__init__.py:34 +#: plinth/modules/deluge/__init__.py:46 +#: plinth/modules/transmission/__init__.py:48 msgid "Download files using BitTorrent applications" msgstr "Descargar archivos usando aplicaciones BitTorrent" -#: plinth/modules/deluge/__init__.py:46 plinth/modules/deluge/manifest.py:9 +#: plinth/modules/deluge/__init__.py:50 plinth/modules/deluge/manifest.py:9 msgid "Deluge" msgstr "Deluge" -#: plinth/modules/deluge/__init__.py:47 -#: plinth/modules/transmission/__init__.py:50 +#: plinth/modules/deluge/__init__.py:51 +#: plinth/modules/transmission/__init__.py:53 msgid "BitTorrent Web Client" msgstr "Cliente web de BitTorrent" -#: plinth/modules/deluge/forms.py:20 plinth/modules/transmission/forms.py:20 +#: plinth/modules/deluge/forms.py:20 plinth/modules/transmission/forms.py:21 msgid "Download directory" msgstr "Directorio de descarga" @@ -1109,7 +1106,7 @@ msgstr "diaspora*" msgid "Federated Social Network" msgstr "Red Social Federada" -#: plinth/modules/diaspora/forms.py:15 +#: plinth/modules/diaspora/forms.py:13 msgid "Enable new user registrations" msgstr "Activar registro de nuevas/os usuarias/os" @@ -1143,32 +1140,23 @@ msgstr "" #: plinth/modules/diaspora/templates/diaspora-pre-setup.html:43 #: plinth/modules/dynamicdns/templates/dynamicdns_configure.html:25 -#: plinth/modules/ejabberd/templates/ejabberd.html:43 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:18 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:47 #: plinth/modules/snapshot/templates/snapshot.html:15 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:35 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:43 -#: plinth/templates/app.html:52 +#: plinth/templates/app.html:54 msgid "Update setup" msgstr "Actualizar configuración" -#: plinth/modules/diaspora/views.py:76 plinth/modules/ejabberd/views.py:46 -#: plinth/modules/matrixsynapse/views.py:85 -#: plinth/modules/mediawiki/views.py:58 plinth/modules/openvpn/views.py:135 -#: plinth/modules/tor/views.py:136 plinth/views.py:180 -msgid "Setting unchanged" -msgstr "Configuración sin cambio" - -#: plinth/modules/diaspora/views.py:80 +#: plinth/modules/diaspora/views.py:74 msgid "User registrations enabled" msgstr "Registro de usuarias/os activado" -#: plinth/modules/diaspora/views.py:84 +#: plinth/modules/diaspora/views.py:78 msgid "User registrations disabled" msgstr "Registro de usuarias/os desactivado" -#: plinth/modules/dynamicdns/__init__.py:27 +#: plinth/modules/dynamicdns/__init__.py:28 #, python-brace-format msgid "" "If your Internet provider changes your IP address periodically (i.e. every " @@ -1179,7 +1167,7 @@ msgstr "" "24h) será muy difícil para los demás encontrarle en Internet. Este servicio " "permitirá a otros encontrar los servicios que ofrece {box_name}." -#: plinth/modules/dynamicdns/__init__.py:31 +#: plinth/modules/dynamicdns/__init__.py:32 msgid "" "The solution is to assign a DNS name to your IP address and update the DNS " "name every time your IP is changed by your Internet provider. Dynamic DNS " @@ -1196,11 +1184,11 @@ 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:56 +#: plinth/modules/dynamicdns/__init__.py:55 msgid "Dynamic DNS Client" msgstr "Cliente de DNS dinámico" -#: plinth/modules/dynamicdns/__init__.py:66 +#: plinth/modules/dynamicdns/__init__.py:65 msgid "Dynamic Domain Name" msgstr "Nombre de dominio dinámico" @@ -1305,7 +1293,7 @@ msgid "Username" msgstr "Nombre de usuaria/o" #: plinth/modules/dynamicdns/forms.py:104 plinth/modules/networks/forms.py:200 -#: plinth/modules/shadowsocks/forms.py:45 +#: plinth/modules/shadowsocks/forms.py:44 msgid "Password" msgstr "Clave de acceso" @@ -1403,7 +1391,7 @@ msgstr "" msgid "Last update" msgstr "Última actualización" -#: plinth/modules/dynamicdns/views.py:26 plinth/modules/help/__init__.py:49 +#: plinth/modules/dynamicdns/views.py:26 plinth/modules/help/__init__.py:51 #: plinth/templates/help-menu.html:46 plinth/templates/help-menu.html:47 msgid "About" msgstr "Acerca de" @@ -1430,7 +1418,7 @@ msgstr "Configurar DNS dinámico" msgid "Dynamic DNS Status" msgstr "Estado del DNS dinámico" -#: plinth/modules/ejabberd/__init__.py:36 +#: plinth/modules/ejabberd/__init__.py:37 msgid "" "XMPP is an open and standardized communication protocol. Here you can run " "and configure your XMPP server, called ejabberd." @@ -1438,7 +1426,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:39 +#: plinth/modules/ejabberd/__init__.py:40 #, python-brace-format msgid "" "To actually communicate, you can use the web clientcliente XMPP. Cuando se activa, ejabberd está disponible " "para cualquier usuario con acceso a {box_name}." -#: plinth/modules/ejabberd/__init__.py:70 +#: plinth/modules/ejabberd/__init__.py:69 msgid "ejabberd" msgstr "ejabberd" -#: plinth/modules/ejabberd/__init__.py:71 +#: plinth/modules/ejabberd/__init__.py:70 #: plinth/modules/matrixsynapse/__init__.py:68 msgid "Chat Server" msgstr "Servidor de Chat" -#: plinth/modules/ejabberd/forms.py:17 +#: plinth/modules/ejabberd/forms.py:16 msgid "Enable Message Archive Management" msgstr "Activar la gestión activa de mensajes" -#: plinth/modules/ejabberd/forms.py:19 +#: plinth/modules/ejabberd/forms.py:18 #, python-brace-format msgid "" "If enabled, your {box_name} will store chat message histories. This allows " @@ -1533,19 +1521,11 @@ msgstr "" "será parecida a username@%(domainname)s. Puede configurar su dominio " "en la página de sistema Configurar." -#: plinth/modules/ejabberd/templates/ejabberd.html:35 -#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 -#: plinth/modules/snapshot/templates/snapshot.html:12 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:27 -#: plinth/templates/app.html:45 -msgid "Configuration" -msgstr "Configuración" - -#: plinth/modules/ejabberd/views.py:58 +#: plinth/modules/ejabberd/views.py:45 msgid "Message Archive Management enabled" msgstr "Gestión activa de mensajes activada" -#: plinth/modules/ejabberd/views.py:62 +#: plinth/modules/ejabberd/views.py:49 msgid "Message Archive Management disabled" msgstr "Gestión activa de mensajes desactivada" @@ -1560,7 +1540,7 @@ msgstr "" "de su {box_name}. Mantenerlo activado y correctamente configurado reduce el " "riesgo de amenazas de seguridad desde Internet." -#: plinth/modules/firewall/__init__.py:63 +#: plinth/modules/firewall/__init__.py:65 msgid "Firewall" msgstr "Firewall" @@ -1709,7 +1689,7 @@ msgstr "" "Para aprender más acerca de cómo usar Git visita el tutorial de Git." -#: plinth/modules/gitweb/__init__.py:39 +#: plinth/modules/gitweb/__init__.py:51 msgid "Read-write access to Git repositories" msgstr "Acceso de lectura y escritura para repositorios Git" @@ -1843,31 +1823,31 @@ msgstr "{name} eliminado." msgid "Could not delete {name}: {error}" msgstr "No se pudo eliminar {name}: {error}" -#: plinth/modules/help/__init__.py:30 +#: plinth/modules/help/__init__.py:32 msgid "Documentation" msgstr "Documentación" -#: plinth/modules/help/__init__.py:33 plinth/modules/networks/forms.py:47 +#: plinth/modules/help/__init__.py:35 plinth/modules/networks/forms.py:47 #: plinth/modules/networks/forms.py:77 plinth/templates/help-menu.html:20 #: plinth/templates/help-menu.html:21 plinth/templates/index.html:128 msgid "Manual" msgstr "Manual" -#: plinth/modules/help/__init__.py:37 +#: plinth/modules/help/__init__.py:39 #: plinth/modules/help/templates/help_support.html:9 #: plinth/modules/help/views.py:43 plinth/templates/help-menu.html:27 #: plinth/templates/help-menu.html:28 msgid "Get Support" msgstr "Obtener Soporte" -#: plinth/modules/help/__init__.py:41 +#: plinth/modules/help/__init__.py:43 #: plinth/modules/help/templates/help_feedback.html:9 #: plinth/modules/help/views.py:37 plinth/templates/help-menu.html:33 #: plinth/templates/help-menu.html:34 msgid "Submit Feedback" msgstr "Enviar Comentarios" -#: plinth/modules/help/__init__.py:45 +#: plinth/modules/help/__init__.py:47 #: plinth/modules/help/templates/help_contribute.html:9 #: plinth/modules/help/views.py:31 plinth/templates/help-menu.html:39 #: plinth/templates/help-menu.html:40 @@ -2011,7 +1991,7 @@ msgstr "" #: plinth/modules/help/templates/help_contribute.html:42 #: plinth/modules/power/templates/power_restart.html:27 #: plinth/modules/power/templates/power_shutdown.html:26 -#: plinth/templates/app-header.html:51 +#: plinth/templates/app-header.html:53 msgid "Learn more..." msgstr "Aprenda más..." @@ -2199,19 +2179,19 @@ msgstr "" "La primer visita a la interfaz web provista iniciará el proceso de " "configuración." -#: plinth/modules/i2p/__init__.py:38 +#: plinth/modules/i2p/__init__.py:62 msgid "Manage I2P application" msgstr "Administrar la aplicación I2P" -#: plinth/modules/i2p/__init__.py:64 plinth/modules/i2p/manifest.py:16 +#: plinth/modules/i2p/__init__.py:65 plinth/modules/i2p/manifest.py:16 msgid "I2P" msgstr "I2P" -#: plinth/modules/i2p/__init__.py:65 plinth/modules/tor/__init__.py:56 +#: plinth/modules/i2p/__init__.py:66 plinth/modules/tor/__init__.py:55 msgid "Anonymity Network" msgstr "Red anónima" -#: plinth/modules/i2p/__init__.py:87 +#: plinth/modules/i2p/__init__.py:88 msgid "I2P Proxy" msgstr "Proxy I2P" @@ -2281,18 +2261,18 @@ msgstr "" "\"{users_url}\">configuración de usuarios puede modificar estos permisos " "o añadir nuevos usuarios." -#: plinth/modules/ikiwiki/__init__.py:39 -msgid "View and edit wiki applications" -msgstr "Aplicaciones wiki para ver y editar" - -#: plinth/modules/ikiwiki/__init__.py:53 plinth/modules/ikiwiki/manifest.py:9 +#: plinth/modules/ikiwiki/__init__.py:52 plinth/modules/ikiwiki/manifest.py:9 msgid "ikiwiki" msgstr "ikiwiki" -#: plinth/modules/ikiwiki/__init__.py:54 +#: plinth/modules/ikiwiki/__init__.py:53 msgid "Wiki and Blog" msgstr "Wiki y Blog" +#: plinth/modules/ikiwiki/__init__.py:73 +msgid "View and edit wiki applications" +msgstr "Aplicaciones wiki para ver y editar" + #: plinth/modules/ikiwiki/forms.py:17 msgid "Admin Account Name" msgstr "Nombre de la cuenta de administración" @@ -2338,32 +2318,32 @@ msgstr "" "Esta acción borrará todas las entradas, páginas y comentarios incluido el " "historial. ¿Eliminar este wiki o blog definitivamente?" -#: plinth/modules/ikiwiki/views.py:72 +#: plinth/modules/ikiwiki/views.py:70 #, python-brace-format msgid "Created wiki {name}." msgstr "Wiki {name} creado." -#: plinth/modules/ikiwiki/views.py:75 +#: plinth/modules/ikiwiki/views.py:73 #, python-brace-format msgid "Could not create wiki: {error}" msgstr "No se pudo crear el wiki: {error}" -#: plinth/modules/ikiwiki/views.py:85 +#: plinth/modules/ikiwiki/views.py:83 #, python-brace-format msgid "Created blog {name}." msgstr "Blog {name} creado." -#: plinth/modules/ikiwiki/views.py:88 +#: plinth/modules/ikiwiki/views.py:86 #, python-brace-format msgid "Could not create blog: {error}" msgstr "No se pudo crear el blog: {error}" -#: plinth/modules/ikiwiki/views.py:103 +#: plinth/modules/ikiwiki/views.py:101 #, python-brace-format msgid "{title} deleted." msgstr "{title} eliminado." -#: plinth/modules/ikiwiki/views.py:107 +#: plinth/modules/ikiwiki/views.py:105 #, python-brace-format msgid "Could not delete {title}: {error}" msgstr "No se pudo eliminar {title}: {error}" @@ -2409,7 +2389,7 @@ msgstr "" "Inicie Gobby, seleccione \"Conectar al servidor\" e introduzca el nombre de " "dominio de su {box_name}." -#: plinth/modules/jsxc/__init__.py:22 +#: plinth/modules/jsxc/__init__.py:23 msgid "" "JSXC is a web client for XMPP. Typically it is used with an XMPP server " "running locally." @@ -2417,11 +2397,11 @@ msgstr "" "JSXC es un cliente web para XMPP. Se usa habitualmente con un servidor XMPP " "local." -#: plinth/modules/jsxc/__init__.py:40 plinth/modules/jsxc/manifest.py:10 +#: plinth/modules/jsxc/__init__.py:43 plinth/modules/jsxc/manifest.py:10 msgid "JSXC" msgstr "JSXC" -#: plinth/modules/jsxc/__init__.py:41 +#: plinth/modules/jsxc/__init__.py:44 msgid "Chat Client" msgstr "Cliente de Chat" @@ -2608,11 +2588,11 @@ msgstr "" msgid "Matrix Synapse" msgstr "Matrix Synapse" -#: plinth/modules/matrixsynapse/forms.py:14 +#: plinth/modules/matrixsynapse/forms.py:12 msgid "Enable Public Registration" msgstr "Activar el registro público" -#: plinth/modules/matrixsynapse/forms.py:15 +#: plinth/modules/matrixsynapse/forms.py:13 msgid "" "Enabling public registration means that anyone on the Internet can register " "a new account on your Matrix server. Disable this if you only want existing " @@ -2626,6 +2606,12 @@ msgstr "" msgid "Riot" msgstr "Riot" +#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 +#: plinth/modules/snapshot/templates/snapshot.html:12 +#: plinth/templates/app.html:46 +msgid "Configuration" +msgstr "Configuración" + #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:18 msgid "" "Matrix service needs to be configured for a domain. Users on other Matrix " @@ -2690,11 +2676,11 @@ msgstr "" "TLS válido. Vaya a Let's Encrypt para " "obtener uno." -#: plinth/modules/matrixsynapse/views.py:98 +#: plinth/modules/matrixsynapse/views.py:86 msgid "Public registration enabled" msgstr "Registro público activado" -#: plinth/modules/matrixsynapse/views.py:103 +#: plinth/modules/matrixsynapse/views.py:91 msgid "Public registration disabled" msgstr "Registro público desactivado" @@ -2741,11 +2727,11 @@ msgstr "MediaWiki" msgid "Wiki" msgstr "Wiki" -#: plinth/modules/mediawiki/forms.py:27 +#: plinth/modules/mediawiki/forms.py:25 msgid "Administrator Password" msgstr "Clave de Administración" -#: plinth/modules/mediawiki/forms.py:28 +#: plinth/modules/mediawiki/forms.py:26 msgid "" "Set a new password for MediaWiki's administrator account (admin). Leave this " "field blank to keep the current password." @@ -2753,11 +2739,11 @@ msgstr "" "Definir una clave nueva para la cuenta de administración de MediaWiki " "(admin). Déjelo en blanco para conservar la clave actual." -#: plinth/modules/mediawiki/forms.py:33 +#: plinth/modules/mediawiki/forms.py:31 msgid "Enable public registrations" msgstr "Habilitar el registro público" -#: plinth/modules/mediawiki/forms.py:34 +#: plinth/modules/mediawiki/forms.py:32 msgid "" "If enabled, anyone on the internet will be able to create an account on your " "MediaWiki instance." @@ -2765,11 +2751,11 @@ msgstr "" "Si está habilitado, cualquiera en internet podrá crear una cuenta en su " "instancia de MediaWiki." -#: plinth/modules/mediawiki/forms.py:38 +#: plinth/modules/mediawiki/forms.py:36 msgid "Enable private mode" msgstr "Activar modo privado" -#: plinth/modules/mediawiki/forms.py:39 +#: plinth/modules/mediawiki/forms.py:37 msgid "" "If enabled, access will be restricted. Only people who have accounts can " "read/write to the wiki. Public registrations will also be disabled." @@ -2778,11 +2764,11 @@ msgstr "" "una cuenta pueden leer/escribir en el wiki. El registro público también será " "desactivado." -#: plinth/modules/mediawiki/forms.py:44 +#: plinth/modules/mediawiki/forms.py:42 msgid "Default Skin" msgstr "Tema por defecto" -#: plinth/modules/mediawiki/forms.py:45 +#: plinth/modules/mediawiki/forms.py:43 msgid "" "Choose a default skin for your MediaWiki installation. Users have the option " "to select their preferred skin." @@ -2790,31 +2776,31 @@ msgstr "" "Elija un tema por defecto para su instalación de MediaWiki. Los usuarios " "podrán elegir su propio tema." -#: plinth/modules/mediawiki/views.py:53 +#: plinth/modules/mediawiki/views.py:48 msgid "Password updated" msgstr "Clave actualizada" -#: plinth/modules/mediawiki/views.py:72 +#: plinth/modules/mediawiki/views.py:57 msgid "Public registrations enabled" msgstr "Habilitado el registro público" -#: plinth/modules/mediawiki/views.py:81 +#: plinth/modules/mediawiki/views.py:66 msgid "Public registrations disabled" msgstr "Inhabilitado el registro público" -#: plinth/modules/mediawiki/views.py:86 +#: plinth/modules/mediawiki/views.py:71 msgid "Private mode enabled" msgstr "Activado el modo privado" -#: plinth/modules/mediawiki/views.py:93 +#: plinth/modules/mediawiki/views.py:78 msgid "Private mode disabled" msgstr "Desactivado el modo privado" -#: plinth/modules/mediawiki/views.py:101 +#: plinth/modules/mediawiki/views.py:86 msgid "Default skin changed" msgstr "Tema por defecto cambiado" -#: plinth/modules/minetest/__init__.py:37 +#: plinth/modules/minetest/__init__.py:38 #, python-brace-format msgid "" "Minetest is a multiplayer infinite-world block sandbox. This module enables " @@ -2827,20 +2813,20 @@ msgstr "" "defecto (30000). Para acceder al servidor necesitará un Cliente Minetest." -#: plinth/modules/minetest/__init__.py:63 +#: plinth/modules/minetest/__init__.py:62 #: plinth/modules/minetest/manifest.py:10 msgid "Minetest" msgstr "Minetest" -#: plinth/modules/minetest/__init__.py:64 +#: plinth/modules/minetest/__init__.py:63 msgid "Block Sandbox" msgstr "Sandbox de bloques" -#: plinth/modules/minetest/forms.py:15 +#: plinth/modules/minetest/forms.py:13 msgid "Maximum number of players" msgstr "Número máximo de jugadoras/es" -#: plinth/modules/minetest/forms.py:17 +#: plinth/modules/minetest/forms.py:15 msgid "" "You can change the maximum number of players playing minetest at a single " "instance of time." @@ -2848,11 +2834,11 @@ msgstr "" "Puede cambiar el número máximo de jugadoras/es minetest en una sola " "instancia de tiempo." -#: plinth/modules/minetest/forms.py:21 +#: plinth/modules/minetest/forms.py:19 msgid "Enable creative mode" msgstr "Activar modo creativo" -#: plinth/modules/minetest/forms.py:22 +#: plinth/modules/minetest/forms.py:20 msgid "" "Creative mode changes the rules of the game to make it more suitable for " "creative gameplay, rather than challenging \"survival\" gameplay." @@ -2860,21 +2846,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:27 +#: plinth/modules/minetest/forms.py:25 msgid "Enable PVP" msgstr "Activar PVP" -#: plinth/modules/minetest/forms.py:28 +#: plinth/modules/minetest/forms.py:26 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:32 +#: plinth/modules/minetest/forms.py:30 msgid "Enable damage" msgstr "Activar daño" -#: plinth/modules/minetest/forms.py:33 +#: plinth/modules/minetest/forms.py:31 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 " @@ -2923,19 +2909,19 @@ msgstr "" "reproductores portátiles, teléfonos móviles, televisores, consolas como PS3 " "y Xbox o aplicaciones como Totem y Kodi." -#: plinth/modules/minidlna/__init__.py:33 +#: plinth/modules/minidlna/__init__.py:44 msgid "Media streaming server" msgstr "Servidor de emisión multimedia" -#: plinth/modules/minidlna/__init__.py:47 +#: plinth/modules/minidlna/__init__.py:48 msgid "Simple Media Server" msgstr "Servidor multimedia básico" -#: plinth/modules/minidlna/forms.py:15 +#: plinth/modules/minidlna/forms.py:13 msgid "Media Files Directory" msgstr "Directorio de archivos multimedia" -#: plinth/modules/minidlna/forms.py:16 +#: plinth/modules/minidlna/forms.py:14 msgid "" "Directory that MiniDLNA Server will read for content. All sub-directories of " "this will be also scanned for media files. If you change the default ensure " @@ -3000,16 +2986,16 @@ msgstr "" "Los archivos descargados en {box_name} se encuentran en el directorio «/var/" "lib/mldonkey/»." -#: plinth/modules/mldonkey/__init__.py:40 +#: plinth/modules/mldonkey/__init__.py:50 msgid "Download files using eDonkey applications" msgstr "Descargar archivos usando aplicaciones para eDonkey" -#: plinth/modules/mldonkey/__init__.py:54 +#: plinth/modules/mldonkey/__init__.py:53 #: plinth/modules/mldonkey/manifest.py:12 msgid "MLDonkey" msgstr "MLDonkey" -#: plinth/modules/mldonkey/__init__.py:56 +#: plinth/modules/mldonkey/__init__.py:55 msgid "Peer-to-peer File Sharing" msgstr "Compartir archivos entre pares" @@ -3021,7 +3007,7 @@ msgstr "KMLDonkey" msgid "AMLDonkey" msgstr "AMLDonkey" -#: plinth/modules/monkeysphere/__init__.py:18 +#: plinth/modules/monkeysphere/__init__.py:19 msgid "" "With Monkeysphere, an OpenPGP key can be generated for each configured " "domain serving SSH. The OpenPGP public key can then be uploaded to the " @@ -3041,7 +3027,7 @@ msgstr "" "\"http://web.monkeysphere.info/getting-started-ssh/\">Documentación de " "Monkeysphere SSH para más detalles." -#: plinth/modules/monkeysphere/__init__.py:26 +#: plinth/modules/monkeysphere/__init__.py:27 msgid "" "Monkeysphere can also generate an OpenPGP key for each Secure Web Server " "(HTTPS) certificate installed on this machine. The OpenPGP public key can " @@ -3059,7 +3045,7 @@ msgstr "" "necesitará instalar el software disponible en Sitio Monkeysphere." -#: plinth/modules/monkeysphere/__init__.py:50 +#: plinth/modules/monkeysphere/__init__.py:49 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:11 msgid "Monkeysphere" msgstr "Monkeysphere" @@ -3108,15 +3094,15 @@ msgstr "Mostrar detalles de la clave %(fingerprint)s" msgid "-" msgstr "-" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:128 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:129 msgid "Import Key" msgstr "Importar clave" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:137 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:139 msgid "Publish Key" msgstr "Publicar clave" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:146 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:149 msgid "Add Domains" msgstr "Añadir dominios" @@ -3188,7 +3174,7 @@ 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:23 +#: plinth/modules/mumble/__init__.py:24 msgid "" "Mumble is an open source, low-latency, encrypted, high quality voice chat " "software." @@ -3196,7 +3182,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:25 +#: plinth/modules/mumble/__init__.py:26 msgid "" "You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your " @@ -3206,19 +3192,19 @@ msgstr "" "disponibles Clientes para conectar desde " "sus dispositivos de escritorio o Android." -#: plinth/modules/mumble/__init__.py:49 plinth/modules/mumble/manifest.py:12 +#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:12 msgid "Mumble" msgstr "Mumble" -#: plinth/modules/mumble/__init__.py:50 +#: plinth/modules/mumble/__init__.py:49 msgid "Voice Chat" msgstr "Chat de voz" -#: plinth/modules/mumble/forms.py:16 +#: plinth/modules/mumble/forms.py:14 msgid "Set SuperUser Password" msgstr "Definir clave para administración" -#: plinth/modules/mumble/forms.py:19 +#: plinth/modules/mumble/forms.py:17 msgid "" "Optional. Leave this field blank to keep the current password. SuperUser " "password can be used to manage permissions in Mumble." @@ -3535,8 +3521,9 @@ msgid "Open" msgstr "Abierto" #: plinth/modules/networks/forms.py:297 -#, python-brace-format -msgid "Choose how your {box_name} is connected to your network" +#, fuzzy, python-brace-format +#| msgid "Choose how your {box_name} is connected to your network" +msgid "Specify how your {box_name} is connected to your network" msgstr "Elija cómo conectar su {box_name} a su red" #: plinth/modules/networks/forms.py:304 @@ -3806,7 +3793,7 @@ msgstr "IPv4" #: plinth/modules/networks/templates/connection_show.html:171 #: plinth/modules/networks/templates/connection_show.html:212 -#: plinth/modules/shadowsocks/forms.py:49 +#: plinth/modules/shadowsocks/forms.py:48 msgid "Method" msgstr "Método" @@ -3822,7 +3809,7 @@ msgstr "Servidor DNS" #: plinth/modules/networks/templates/connection_show.html:201 #: plinth/modules/networks/templates/connection_show.html:240 -#: plinth/modules/storage/forms.py:141 +#: plinth/modules/storage/forms.py:139 msgid "Default" msgstr "Por defecto" @@ -4328,6 +4315,11 @@ msgstr "Configuración completada." msgid "Setup failed." msgstr "Ha fallado la configuración." +#: plinth/modules/openvpn/views.py:135 plinth/modules/tor/views.py:136 +#: plinth/views.py:196 +msgid "Setting unchanged" +msgstr "Configuración sin cambio" + #: plinth/modules/pagekite/__init__.py:27 #, python-brace-format msgid "" @@ -4397,11 +4389,11 @@ msgstr "Visibilidad pública" msgid "PageKite Domain" msgstr "Dominio PageKite" -#: plinth/modules/pagekite/forms.py:48 +#: plinth/modules/pagekite/forms.py:47 msgid "Server domain" msgstr "Dominio del servidor" -#: plinth/modules/pagekite/forms.py:50 +#: plinth/modules/pagekite/forms.py:49 msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " "pagekite.net server." @@ -4409,31 +4401,31 @@ msgstr "" "Seleccione su servidor pagekite. Elija \"pagekite.net\" para usar el " "servidor pagekite por defecto." -#: plinth/modules/pagekite/forms.py:53 plinth/modules/shadowsocks/forms.py:40 +#: plinth/modules/pagekite/forms.py:52 plinth/modules/shadowsocks/forms.py:39 msgid "Server port" msgstr "Puerto del servidor" -#: plinth/modules/pagekite/forms.py:54 +#: plinth/modules/pagekite/forms.py:53 msgid "Port of your pagekite server (default: 80)" msgstr "Puerto de su servidor pagekite (por defecto es 80)" -#: plinth/modules/pagekite/forms.py:56 +#: plinth/modules/pagekite/forms.py:55 msgid "Kite name" msgstr "Nombre Kite" -#: plinth/modules/pagekite/forms.py:57 +#: plinth/modules/pagekite/forms.py:56 msgid "Example: mybox.pagekite.me" msgstr "Ejemplo: mybox.pagekite.me" -#: plinth/modules/pagekite/forms.py:59 +#: plinth/modules/pagekite/forms.py:58 msgid "Invalid kite name" msgstr "Nombre de kite inválido" -#: plinth/modules/pagekite/forms.py:63 +#: plinth/modules/pagekite/forms.py:62 msgid "Kite secret" msgstr "Clave para Kite" -#: plinth/modules/pagekite/forms.py:64 +#: plinth/modules/pagekite/forms.py:63 msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." @@ -4441,41 +4433,35 @@ msgstr "" "Una clave asociada al Kite o la clave por defecto para su cuenta si no se " "especifica ninguna." -#: plinth/modules/pagekite/forms.py:101 +#: plinth/modules/pagekite/forms.py:100 msgid "protocol" msgstr "protocolo" -#: plinth/modules/pagekite/forms.py:104 +#: plinth/modules/pagekite/forms.py:103 msgid "external (frontend) port" msgstr "puerto externo (frontend)" -#: plinth/modules/pagekite/forms.py:107 +#: plinth/modules/pagekite/forms.py:106 msgid "internal (freedombox) port" msgstr "puerto interno (freedombox)" -#: plinth/modules/pagekite/forms.py:108 +#: plinth/modules/pagekite/forms.py:107 msgid "Enable Subdomains" msgstr "Activar subdominios" -#: plinth/modules/pagekite/forms.py:142 +#: plinth/modules/pagekite/forms.py:141 msgid "Deleted custom service" msgstr "Servicio personalizado eliminado" -#: plinth/modules/pagekite/forms.py:175 -#, fuzzy -#| msgid "" -#| "This service is available as a standard service. Please use the " -#| "\"Standard Services\" page to enable it." +#: plinth/modules/pagekite/forms.py:174 msgid "This service is already available as a standard service." -msgstr "" -"Este servicio está disponible como servicio estándar. Por favor use los " -"\"Servicios estándar\" para activarlo." +msgstr "Este servicio ya está disponible como servicio estándar." -#: plinth/modules/pagekite/forms.py:183 +#: plinth/modules/pagekite/forms.py:182 msgid "Added custom service" msgstr "Servicio personalizado añadido" -#: plinth/modules/pagekite/forms.py:186 +#: plinth/modules/pagekite/forms.py:185 msgid "This service already exists" msgstr "Este servicio ya existe" @@ -4609,7 +4595,7 @@ msgstr "" msgid "Shut Down Now" msgstr "Apagar ahora" -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 msgid "" "Privoxy is a non-caching web proxy with advanced filtering capabilities for " "enhancing privacy, modifying web page data and HTTP headers, controlling " @@ -4620,7 +4606,7 @@ msgstr "" "cabeceras HTTP, controlar el acceso y eliminar publicidad y otra basura de " "Internet. " -#: plinth/modules/privoxy/__init__.py:33 +#: plinth/modules/privoxy/__init__.py:34 #, python-brace-format msgid "" "You can use Privoxy by modifying your browser proxy settings to your " @@ -4635,20 +4621,20 @@ msgstr "" "documentación en http://config." "privoxy.org/ o http://p.p." -#: plinth/modules/privoxy/__init__.py:56 +#: plinth/modules/privoxy/__init__.py:55 msgid "Privoxy" msgstr "Privoxy" -#: plinth/modules/privoxy/__init__.py:57 +#: plinth/modules/privoxy/__init__.py:56 msgid "Web Proxy" msgstr "Proxy Web" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:119 #, 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:32 +#: plinth/modules/quassel/__init__.py:33 #, python-brace-format msgid "" "Quassel is an IRC application that is split into two parts, a \"core\" and a " @@ -4665,7 +4651,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:39 +#: plinth/modules/quassel/__init__.py:40 msgid "" "You can connect to your Quassel core on the default Quassel port 4242. " "Clients to connect to Quassel from your escritorio y móvil." -#: plinth/modules/quassel/__init__.py:62 plinth/modules/quassel/manifest.py:10 +#: plinth/modules/quassel/__init__.py:61 plinth/modules/quassel/manifest.py:10 msgid "Quassel" msgstr "Quassel" -#: plinth/modules/quassel/__init__.py:63 +#: plinth/modules/quassel/__init__.py:62 msgid "IRC Client" msgstr "Cliente IRC" -#: plinth/modules/quassel/forms.py:23 +#: plinth/modules/quassel/forms.py:22 msgid "TLS domain" msgstr "Dominio TLS" -#: plinth/modules/quassel/forms.py:25 +#: plinth/modules/quassel/forms.py:24 msgid "" "Select a domain to use TLS with. If the list is empty, please configure at " "least one domain with certificates." @@ -4701,7 +4687,7 @@ msgstr "" msgid "Quasseldroid" msgstr "Quasseldroid" -#: plinth/modules/radicale/__init__.py:32 +#: plinth/modules/radicale/__init__.py:33 #, python-brace-format msgid "" "Radicale is a CalDAV and CardDAV server. It allows synchronization and " @@ -4715,7 +4701,7 @@ msgstr "" "soportada. Cualquier persona autenticada en {box_name} puede acceder a " "Radicale." -#: plinth/modules/radicale/__init__.py:37 +#: plinth/modules/radicale/__init__.py:38 msgid "" "Radicale provides a basic web interface, which only supports creating new " "calendars and addressbooks. It does not support adding events or contacts, " @@ -4725,21 +4711,21 @@ msgstr "" "de nuevos calendarios y agendas. No soporta añadir eventos o contactos, que " "debe hacerse usando un cliente separado." -#: plinth/modules/radicale/__init__.py:62 +#: plinth/modules/radicale/__init__.py:61 #: plinth/modules/radicale/manifest.py:75 msgid "Radicale" msgstr "Radicale" -#: plinth/modules/radicale/__init__.py:63 +#: plinth/modules/radicale/__init__.py:62 msgid "Calendar and Addressbook" msgstr "Calendario y Contactos" -#: plinth/modules/radicale/forms.py:15 +#: plinth/modules/radicale/forms.py:14 msgid "Only the owner of a calendar/addressbook can view or make changes." msgstr "" "Solo el o la propietaria del calendario/agenda puede verlo o hacer cambios." -#: plinth/modules/radicale/forms.py:19 +#: plinth/modules/radicale/forms.py:18 #, python-brace-format msgid "" "Any user with a {box_name} login can view any calendar/addressbook, but only " @@ -4748,7 +4734,7 @@ msgstr "" "Cualquier persona autenticada de {box_name} puede ver el calendario/agenda, " "pero solo el o la propietaria puede hacer cambios." -#: plinth/modules/radicale/forms.py:24 +#: plinth/modules/radicale/forms.py:23 #, python-brace-format msgid "" "Any user with a {box_name} login can view or make changes to any calendar/" @@ -4901,11 +4887,11 @@ msgstr "" "Compartir en mi cuenta - todos los miembros del grupo freedombox-share " "disponen de un espacio privado propio." -#: plinth/modules/samba/__init__.py:47 +#: plinth/modules/samba/__init__.py:59 msgid "Access to the private shares" msgstr "Acceso a los elementos compartidos privados" -#: plinth/modules/samba/__init__.py:61 +#: plinth/modules/samba/__init__.py:62 msgid "Samba" msgstr "Samba" @@ -4980,11 +4966,11 @@ msgstr "Nombre de compartición" msgid "Action" msgstr "Acción" -#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:149 +#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:147 msgid "Open Share" msgstr "Compartir en abierto" -#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:147 +#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:145 msgid "Group Share" msgstr "Compartir con grupo" @@ -5026,45 +5012,45 @@ msgstr "" "Searx se puede usar para evitar el rastreo y la creación de perfiles que " "realizan los buscadores. Por defecto no almacena cookies." -#: plinth/modules/searx/__init__.py:31 +#: plinth/modules/searx/__init__.py:45 msgid "Search the web" msgstr "Buscar en la web" -#: plinth/modules/searx/__init__.py:47 plinth/modules/searx/manifest.py:9 +#: plinth/modules/searx/__init__.py:48 plinth/modules/searx/manifest.py:9 msgid "Searx" msgstr "Searx" -#: plinth/modules/searx/__init__.py:48 +#: plinth/modules/searx/__init__.py:49 msgid "Web Search" msgstr "Buscador web" -#: plinth/modules/searx/forms.py:15 +#: plinth/modules/searx/forms.py:13 msgid "Safe Search" msgstr "Búsqueda segura" -#: plinth/modules/searx/forms.py:16 +#: plinth/modules/searx/forms.py:14 msgid "Select the default family filter to apply to your search results." msgstr "" "Seleccione la familia de filtros que se aplicarán por defecto a los " "resultados de su búsqueda." -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "None" msgstr "Ninguno" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "Moderate" msgstr "Moderado" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "Strict" msgstr "Estricto" -#: plinth/modules/searx/forms.py:20 +#: plinth/modules/searx/forms.py:18 msgid "Allow Public Access" msgstr "Permitir acceso público" -#: plinth/modules/searx/forms.py:21 +#: plinth/modules/searx/forms.py:19 msgid "Allow this application to be used by anyone who can reach it." msgstr "" "Permitir que esta aplicación la use cualquiera que pueda acceder a ella." @@ -5257,28 +5243,28 @@ msgstr "Shadowsocks" msgid "Socks5 Proxy" msgstr "Proxy Socks5" +#: plinth/modules/shadowsocks/forms.py:12 #: plinth/modules/shadowsocks/forms.py:13 -#: plinth/modules/shadowsocks/forms.py:14 msgid "Recommended" msgstr "Recomendado" -#: plinth/modules/shadowsocks/forms.py:37 +#: plinth/modules/shadowsocks/forms.py:36 msgid "Server" msgstr "Servidor" -#: plinth/modules/shadowsocks/forms.py:38 +#: plinth/modules/shadowsocks/forms.py:37 msgid "Server hostname or IP address" msgstr "Nombre del servidor o dirección IP" -#: plinth/modules/shadowsocks/forms.py:42 +#: plinth/modules/shadowsocks/forms.py:41 msgid "Server port number" msgstr "Número de puerto del servidor" -#: plinth/modules/shadowsocks/forms.py:45 +#: plinth/modules/shadowsocks/forms.py:44 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:50 +#: plinth/modules/shadowsocks/forms.py:49 msgid "Encryption method. Must match setting on server." msgstr "Método de cifrado. Debe coincidir con la configuración del servidor." @@ -5325,11 +5311,11 @@ msgstr "Carpeta pública" msgid "Make files in this folder available to anyone with the link." msgstr "Dar acceso a los archivos de esta carpeta a quien tenga el enlace." -#: plinth/modules/sharing/forms.py:33 +#: plinth/modules/sharing/forms.py:34 msgid "User groups that can read the files in the share" msgstr "Grupos de usuarias/os que pueden leer los archivos compartidos" -#: plinth/modules/sharing/forms.py:35 +#: plinth/modules/sharing/forms.py:36 msgid "" "Users of the selected user groups will be able to read the files in the " "share." @@ -5635,11 +5621,11 @@ msgstr "" msgid "Secure Shell (SSH) Server" msgstr "Servidor de intérprete de órdenes seguro (SSH)" -#: plinth/modules/ssh/forms.py:15 +#: plinth/modules/ssh/forms.py:13 msgid "Disable password authentication" msgstr "Desactivar autentificación de clave" -#: plinth/modules/ssh/forms.py:16 +#: plinth/modules/ssh/forms.py:14 msgid "" "Improves security by preventing password guessing. Ensure that you have " "setup SSH keys in your administrator user account before enabling this " @@ -5696,131 +5682,131 @@ 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:52 plinth/modules/storage/__init__.py:318 +#: plinth/modules/storage/__init__.py:54 plinth/modules/storage/__init__.py:320 msgid "Storage" msgstr "Almacén" -#: 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." -#: plinth/modules/storage/__init__.py:313 +#: plinth/modules/storage/__init__.py:315 #, no-python-format, python-brace-format msgid "Low space on system partition: {percent_used}% used, {free_space} free." msgstr "" "Poco espacio en la partición del sistema: {percent_used}% usado, " "{free_space} libre." -#: plinth/modules/storage/__init__.py:315 +#: plinth/modules/storage/__init__.py:317 msgid "Low disk space" msgstr "Poco espacio en disco" -#: plinth/modules/storage/forms.py:64 +#: plinth/modules/storage/forms.py:63 msgid "Invalid directory name." msgstr "Nombre de carpeta no válido." -#: plinth/modules/storage/forms.py:82 +#: plinth/modules/storage/forms.py:80 msgid "Directory does not exist." msgstr "La carpeta no existe." -#: plinth/modules/storage/forms.py:84 +#: plinth/modules/storage/forms.py:83 msgid "Path is not a directory." msgstr "No es una carpeta." -#: plinth/modules/storage/forms.py:87 +#: plinth/modules/storage/forms.py:86 msgid "Directory is not readable by the user." msgstr "El usuario no tiene permiso de lectura en esta carpeta." -#: plinth/modules/storage/forms.py:90 +#: plinth/modules/storage/forms.py:89 msgid "Directory is not writable by the user." msgstr "El usuario no tiene permiso de escritura en esta carpeta." -#: plinth/modules/storage/forms.py:95 +#: plinth/modules/storage/forms.py:94 msgid "Directory" msgstr "Carpeta" -#: plinth/modules/storage/forms.py:98 +#: plinth/modules/storage/forms.py:96 msgid "Subdirectory (optional)" msgstr "Subcarpeta (opcional)" -#: plinth/modules/storage/forms.py:145 +#: plinth/modules/storage/forms.py:143 msgid "Share" msgstr "Compartir" -#: plinth/modules/storage/forms.py:153 +#: plinth/modules/storage/forms.py:151 msgid "Other directory (specify below)" msgstr "Otra carpeta (especifique más abajo)" @@ -5904,14 +5890,22 @@ msgstr "" "automáticamente en todos los demás que también estén ejecutando Syncthing." #: plinth/modules/syncthing/__init__.py:31 -#, python-brace-format +#, fuzzy, python-brace-format +#| msgid "" +#| "Running Syncthing on {box_name} provides an extra synchronization point " +#| "for your data that is available most of the time, allowing your devices " +#| "to synchronize more often. {box_name} runs a single instance of " +#| "Syncthing that may be used by multiple users. Each user's set of devices " +#| "may be synchronized with a distinct set of folders. The web interface on " +#| "{box_name} is only available for users belonging to the \"admin\" group." msgid "" "Running Syncthing on {box_name} provides an extra synchronization point for " "your data that is available most of the time, allowing your devices to " "synchronize more often. {box_name} runs a single instance of Syncthing that " "may be used by multiple users. Each user's set of devices may be " "synchronized with a distinct set of folders. The web interface on " -"{box_name} is only available for users belonging to the \"admin\" group." +"{box_name} is only available for users belonging to the \"admin\" or " +"\"syncthing\" group." msgstr "" "Ejecutar Syncthing en {box_name} proporciona una sincronización extra para " "sus datos permitiendo que sus dispositivos se sincronicen más a menudo. " @@ -5920,16 +5914,16 @@ 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:40 +#: plinth/modules/syncthing/__init__.py:53 msgid "Administer Syncthing application" msgstr "Administrar Syncthing" -#: plinth/modules/syncthing/__init__.py:54 +#: plinth/modules/syncthing/__init__.py:56 #: plinth/modules/syncthing/manifest.py:13 msgid "Syncthing" msgstr "Syncthing" -#: plinth/modules/syncthing/__init__.py:55 +#: plinth/modules/syncthing/__init__.py:57 msgid "File Synchronization" msgstr "Sincronización de archivos" @@ -5978,33 +5972,33 @@ msgstr "" "implica que PERDERÁ SUS DATOS. Puede acceder a Tahoe-LAFS en https://%(domain_name)s:5678." -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:39 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:29 msgid "Local introducer" msgstr "Presentador local" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:59 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:76 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:33 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:49 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:66 msgid "Pet Name" msgstr "Nombre de alias" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:56 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:46 msgid "Add new introducer" msgstr "Añadir nuevo presentador" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:67 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:57 msgid "Add" msgstr "Añadir" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:72 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:62 msgid "Connected introducers" msgstr "Presentadores conectados" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:89 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:79 msgid "Remove" msgstr "Eliminar" -#: plinth/modules/tor/__init__.py:33 +#: plinth/modules/tor/__init__.py:34 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -6018,40 +6012,40 @@ msgstr "" "download/download-easy.html.en\">Navegador Tor para tener la mejor " "protección cuando navega por la red." -#: plinth/modules/tor/__init__.py:55 +#: plinth/modules/tor/__init__.py:54 msgid "Tor" msgstr "Tor" -#: plinth/modules/tor/__init__.py:66 +#: plinth/modules/tor/__init__.py:65 msgid "Tor Onion Service" msgstr "Servicio Tor Onion" -#: plinth/modules/tor/__init__.py:70 +#: plinth/modules/tor/__init__.py:69 msgid "Tor Socks Proxy" msgstr "Proxy Socks para Tor" -#: plinth/modules/tor/__init__.py:74 +#: plinth/modules/tor/__init__.py:73 msgid "Tor Bridge Relay" msgstr "Puente de retransmisión Tor" -#: plinth/modules/tor/__init__.py:95 +#: plinth/modules/tor/__init__.py:98 msgid "Tor relay port available" msgstr "Puerto de servidor Tor disponible" -#: plinth/modules/tor/__init__.py:105 +#: plinth/modules/tor/__init__.py:108 msgid "Obfs3 transport registered" msgstr "Transporte Obfs3 registrado" -#: plinth/modules/tor/__init__.py:115 +#: plinth/modules/tor/__init__.py:118 msgid "Obfs4 transport registered" msgstr "Transporte Obfs4 registrado" -#: plinth/modules/tor/__init__.py:208 +#: plinth/modules/tor/__init__.py:211 #, 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:219 +#: plinth/modules/tor/__init__.py:222 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "Confirmar uso de Tor en {url} sobre tcp {kind}" @@ -6205,7 +6199,7 @@ msgstr "" "Un puerto SOCKS de Tor está disponible en su %(box_name)s en el puerto TCP " "9050." -#: plinth/modules/transmission/__init__.py:27 +#: plinth/modules/transmission/__init__.py:28 msgid "" "BitTorrent is a peer-to-peer file sharing protocol. Transmission daemon " "handles Bitorrent file sharing. Note that BitTorrent is not anonymous." @@ -6214,7 +6208,7 @@ msgstr "" "Transmission controla la compartición de archivos. Recuerde que BitTorrent " "no es anónimo." -#: plinth/modules/transmission/__init__.py:48 +#: plinth/modules/transmission/__init__.py:51 #: plinth/modules/transmission/manifest.py:9 msgid "Transmission" msgstr "Transmission" @@ -6248,15 +6242,15 @@ msgstr "" "use la URL /tt-rss-app para conectar." -#: plinth/modules/ttrss/__init__.py:42 +#: plinth/modules/ttrss/__init__.py:54 msgid "Read and subscribe to news feeds" msgstr "Leer y suscribirse a nuevos agregadores" -#: plinth/modules/ttrss/__init__.py:56 plinth/modules/ttrss/manifest.py:19 +#: plinth/modules/ttrss/__init__.py:57 plinth/modules/ttrss/manifest.py:19 msgid "Tiny Tiny RSS" msgstr "Tiny Tiny RSS" -#: plinth/modules/ttrss/__init__.py:57 +#: plinth/modules/ttrss/__init__.py:58 msgid "News Feed Reader" msgstr "Lector de noticias" @@ -6269,11 +6263,11 @@ msgid "Check for and apply the latest software and security updates." msgstr "" "Buscar y aplicar las últimas actualizaciones del software y de seguridad." -#: plinth/modules/upgrades/__init__.py:38 plinth/templates/setup.html:74 +#: plinth/modules/upgrades/__init__.py:40 plinth/templates/setup.html:74 msgid "Update" msgstr "Actualización" -#: plinth/modules/upgrades/__init__.py:76 +#: plinth/modules/upgrades/__init__.py:78 msgid "FreedomBox Updated" msgstr "FreedomBox actualizado" @@ -6330,36 +6324,32 @@ msgstr "Alternar los registros de las actualizaciones recientes" #: plinth/modules/upgrades/templates/upgrades_configure.html:11 #: plinth/modules/upgrades/templates/upgrades_configure.html:12 -#: plinth/modules/upgrades/views.py:88 +#: plinth/modules/upgrades/views.py:85 msgid "Manual update" msgstr "Actualización manual" -#: plinth/modules/upgrades/views.py:47 +#: plinth/modules/upgrades/views.py:46 #, python-brace-format msgid "Error when configuring unattended-upgrades: {error}" msgstr "Error al configurar las actualizaciones desatendidas: {error}" -#: plinth/modules/upgrades/views.py:51 +#: plinth/modules/upgrades/views.py:50 msgid "Automatic upgrades enabled" msgstr "Actualizaciones automáticas activadas" -#: plinth/modules/upgrades/views.py:54 +#: plinth/modules/upgrades/views.py:53 msgid "Automatic upgrades disabled" msgstr "Actualizaciones automáticas desactivadas" -#: plinth/modules/upgrades/views.py:56 -msgid "Settings unchanged" -msgstr "Configuración sin cambio" - -#: plinth/modules/upgrades/views.py:82 +#: plinth/modules/upgrades/views.py:79 msgid "Upgrade process started." msgstr "Proceso de actualización iniciado." -#: plinth/modules/upgrades/views.py:85 +#: plinth/modules/upgrades/views.py:82 msgid "Starting upgrade failed." msgstr "No se ha podido iniciar la actualización." -#: plinth/modules/users/__init__.py:37 +#: plinth/modules/users/__init__.py:39 msgid "" "Create and managed user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " @@ -6370,7 +6360,7 @@ msgstr "" "requieren que además la cuenta de usuario conste en un grupo para " "autorizarles a acceder." -#: plinth/modules/users/__init__.py:42 +#: plinth/modules/users/__init__.py:44 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -6382,43 +6372,49 @@ msgstr "" "sólo los usuarios del grupo admin pueden cambiar configuraciones de " "apps o del sistema." -#: plinth/modules/users/__init__.py:64 +#: plinth/modules/users/__init__.py:65 msgid "Users and Groups" msgstr "Usuarias/os y grupos" -#: plinth/modules/users/__init__.py:115 +#: plinth/modules/users/__init__.py:78 +msgid "Access to all services and system settings" +msgstr "Acceso a todos los servicios y configuraciones del sistema" + +#: plinth/modules/users/__init__.py:122 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "Comprobar la entrada LDAP \"{search_item}\"" -#: plinth/modules/users/forms.py:28 -msgid "Access to all services and system settings" -msgstr "Acceso a todos los servicios y configuraciones del sistema" - -#: plinth/modules/users/forms.py:44 +#: plinth/modules/users/forms.py:36 msgid "Username is taken or is reserved." msgstr "El nombre de usuaria/o está en uso o reservado." -#: plinth/modules/users/forms.py:72 +#: plinth/modules/users/forms.py:63 msgid "Enter a valid username." msgstr "Indique un nombre de usuario válido." -#: plinth/modules/users/forms.py:78 +#: plinth/modules/users/forms.py:69 msgid "" "Required. 150 characters or fewer. English letters, digits and @/./-/_ only." msgstr "Obligatorio. Hasta 150 caracteres. Solo letras, números y @/./-/_ ." -#: plinth/modules/users/forms.py:91 plinth/modules/users/forms.py:207 +#: plinth/modules/users/forms.py:83 plinth/modules/users/forms.py:196 msgid "Permissions" msgstr "Permisos" -#: plinth/modules/users/forms.py:94 +#: plinth/modules/users/forms.py:85 +#, fuzzy +#| msgid "" +#| "Select which services should be available to the new user. The user will " +#| "be able to log in to services that support single sign-on through LDAP, " +#| "if they are in the appropriate group.

Users in the admin group " +#| "will be able to log in to all services. They can also log in to the " +#| "system through SSH and have administrative privileges (sudo)." msgid "" -"Select which services should be available to the new user. The user will be " -"able to log in to services that support single sign-on through LDAP, if they " -"are in the appropriate group.

Users in the admin group will be " -"able to log in to all services. They can also log in to the system through " -"SSH and have administrative privileges (sudo)." +"user. The user will be able to log in to services that support single sign-" +"on through LDAP, if they are in the appropriate group.

Users in " +"the admin group will be able to log in to all services. They can also log in " +"to the system through SSH and have administrative privileges (sudo)." msgstr "" "Seleccione los servicios que deberían estar disponibles para la nueva " "cuenta. Ésta podrá acceder a los servicios que soportan inicio de sesión " @@ -6427,20 +6423,20 @@ msgstr "" "servicios, también podrán acceder al sistema por SSH con privilegios de " "administración (sudo)." -#: plinth/modules/users/forms.py:133 plinth/modules/users/forms.py:357 +#: plinth/modules/users/forms.py:122 plinth/modules/users/forms.py:345 msgid "Creating LDAP user failed." msgstr "Ha fallado la creación de usuaria/o LDAP." -#: plinth/modules/users/forms.py:144 +#: plinth/modules/users/forms.py:133 #, python-brace-format msgid "Failed to add new user to {group} group." msgstr "Ha fallado añadir usuaria/o nuevo al grupo {group}." -#: plinth/modules/users/forms.py:158 +#: plinth/modules/users/forms.py:147 msgid "Authorized SSH Keys" msgstr "Claves de SSH autorizadas" -#: plinth/modules/users/forms.py:160 +#: plinth/modules/users/forms.py:149 msgid "" "Setting an SSH public key will allow this user to securely log in to the " "system without using a password. You may enter multiple keys, one on each " @@ -6450,43 +6446,43 @@ msgstr "" "de una clave. Puede introducir más de una clave, cada una en una línea. Las " "líneas en blanco y las que empiecen por # se ignorarán." -#: plinth/modules/users/forms.py:244 +#: plinth/modules/users/forms.py:233 msgid "Renaming LDAP user failed." msgstr "Ha fallado renombrar al o la usuaria LDAP." -#: plinth/modules/users/forms.py:256 +#: plinth/modules/users/forms.py:245 msgid "Failed to remove user from group." msgstr "Ha fallado la eliminación del o de la usuaria del grupo." -#: plinth/modules/users/forms.py:267 +#: plinth/modules/users/forms.py:256 msgid "Failed to add user to group." msgstr "Ha fallado añadir al o la usuaria al grupo." -#: plinth/modules/users/forms.py:276 +#: plinth/modules/users/forms.py:265 msgid "Unable to set SSH keys." msgstr "No es posible configurar las claves SSH." -#: plinth/modules/users/forms.py:291 +#: plinth/modules/users/forms.py:280 msgid "Failed to change user status." msgstr "Ha fallado al cambiar el estado del usuario." -#: plinth/modules/users/forms.py:299 +#: plinth/modules/users/forms.py:288 msgid "Cannot delete the only administrator in the system." msgstr "No se puede eliminar la única cuenta de administración del sistema." -#: plinth/modules/users/forms.py:331 +#: plinth/modules/users/forms.py:319 msgid "Changing LDAP user password failed." msgstr "Ha fallado cambiar la clave del o de la usuaria LDAP." -#: plinth/modules/users/forms.py:366 +#: plinth/modules/users/forms.py:354 msgid "Failed to add new user to admin group." msgstr "Ha fallado añadir usuaria/o nueva/o al grupo admin." -#: plinth/modules/users/forms.py:383 +#: plinth/modules/users/forms.py:371 msgid "Failed to restrict console access." msgstr "Falló al restringir el acceso a la consola." -#: plinth/modules/users/forms.py:395 +#: plinth/modules/users/forms.py:383 msgid "User account created, you are now logged in" msgstr "Creada cuenta de usuaria/o, ya está usted en el sistema" @@ -7276,18 +7272,22 @@ msgstr "Instalando %(package_names)s: %(status)s" msgid "%(percentage)s%% complete" msgstr "%(percentage)s%% completado" -#: plinth/views.py:184 -msgid "Application enabled" -msgstr "Aplicación activada" - -#: plinth/views.py:187 -msgid "Application disabled" -msgstr "Aplicación desactivada" - #: plinth/web_framework.py:107 msgid "Gujarati" msgstr "Gujarati" +#~ msgid "Enable application" +#~ msgstr "Activar aplicación" + +#~ msgid "Settings unchanged" +#~ msgstr "Configuración sin cambio" + +#~ msgid "Application enabled" +#~ msgstr "Aplicación activada" + +#~ msgid "Application disabled" +#~ msgstr "Aplicación desactivada" + #~ msgid "Kite details set" #~ msgstr "Ajustar detalles de Kite" diff --git a/plinth/locale/fa/LC_MESSAGES/django.po b/plinth/locale/fa/LC_MESSAGES/django.po index 36d081ddc..93714e166 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: 2020-03-23 18:54-0400\n" +"POT-Creation-Date: 2020-04-06 19:59-0400\n" "PO-Revision-Date: 2016-08-12 15:51+0000\n" "Last-Translator: Masoud Abkenar \n" "Language-Team: Persian web client user with a {box_name} login
." msgstr "" -#: plinth/modules/ejabberd/__init__.py:70 +#: plinth/modules/ejabberd/__init__.py:69 msgid "ejabberd" msgstr "" -#: plinth/modules/ejabberd/__init__.py:71 +#: plinth/modules/ejabberd/__init__.py:70 #: plinth/modules/matrixsynapse/__init__.py:68 #, fuzzy #| msgid "Web Server" msgid "Chat Server" msgstr "سرور وب" -#: plinth/modules/ejabberd/forms.py:17 +#: plinth/modules/ejabberd/forms.py:16 msgid "Enable Message Archive Management" msgstr "" -#: plinth/modules/ejabberd/forms.py:19 +#: plinth/modules/ejabberd/forms.py:18 #, python-brace-format msgid "" "If enabled, your {box_name} will store chat message histories. This allows " @@ -1539,19 +1526,11 @@ msgid "" "Configure page." msgstr "" -#: plinth/modules/ejabberd/templates/ejabberd.html:35 -#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 -#: plinth/modules/snapshot/templates/snapshot.html:12 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:27 -#: plinth/templates/app.html:45 -msgid "Configuration" -msgstr "" - -#: plinth/modules/ejabberd/views.py:58 +#: plinth/modules/ejabberd/views.py:45 msgid "Message Archive Management enabled" msgstr "" -#: plinth/modules/ejabberd/views.py:62 +#: plinth/modules/ejabberd/views.py:49 msgid "Message Archive Management disabled" msgstr "" @@ -1566,7 +1545,7 @@ msgstr "" "خروجی شبکه را در {box_name} شما کنترل می‌کند. فعال نگه‌داشتن فایروال و تنظیم " "درست آن خطر تهدیدهای امنیتی از طرف اینترنت را کم می‌کند." -#: plinth/modules/firewall/__init__.py:63 +#: plinth/modules/firewall/__init__.py:65 msgid "Firewall" msgstr "فایروال" @@ -1702,7 +1681,7 @@ msgid "" "gittutorial\">Git tutorial." msgstr "" -#: plinth/modules/gitweb/__init__.py:39 +#: plinth/modules/gitweb/__init__.py:51 msgid "Read-write access to Git repositories" msgstr "" @@ -1858,31 +1837,31 @@ msgstr "{name} پاک شد." msgid "Could not delete {name}: {error}" msgstr "نشد که {name} پاک شود: {error}" -#: plinth/modules/help/__init__.py:30 +#: plinth/modules/help/__init__.py:32 msgid "Documentation" msgstr "راهنما" -#: plinth/modules/help/__init__.py:33 plinth/modules/networks/forms.py:47 +#: plinth/modules/help/__init__.py:35 plinth/modules/networks/forms.py:47 #: plinth/modules/networks/forms.py:77 plinth/templates/help-menu.html:20 #: plinth/templates/help-menu.html:21 plinth/templates/index.html:128 msgid "Manual" msgstr "کتاب راهنما" -#: plinth/modules/help/__init__.py:37 +#: plinth/modules/help/__init__.py:39 #: plinth/modules/help/templates/help_support.html:9 #: plinth/modules/help/views.py:43 plinth/templates/help-menu.html:27 #: plinth/templates/help-menu.html:28 msgid "Get Support" msgstr "" -#: plinth/modules/help/__init__.py:41 +#: plinth/modules/help/__init__.py:43 #: plinth/modules/help/templates/help_feedback.html:9 #: plinth/modules/help/views.py:37 plinth/templates/help-menu.html:33 #: plinth/templates/help-menu.html:34 msgid "Submit Feedback" msgstr "" -#: plinth/modules/help/__init__.py:45 +#: plinth/modules/help/__init__.py:47 #: plinth/modules/help/templates/help_contribute.html:9 #: plinth/modules/help/views.py:31 plinth/templates/help-menu.html:39 #: plinth/templates/help-menu.html:40 @@ -2014,7 +1993,7 @@ msgstr "" #: plinth/modules/help/templates/help_contribute.html:42 #: plinth/modules/power/templates/power_restart.html:27 #: plinth/modules/power/templates/power_shutdown.html:26 -#: plinth/templates/app-header.html:51 +#: plinth/templates/app-header.html:53 #, fuzzy msgid "Learn more..." msgstr "بیشتر بدانید »" @@ -2181,21 +2160,21 @@ msgid "" "configuration process." msgstr "" -#: plinth/modules/i2p/__init__.py:38 +#: plinth/modules/i2p/__init__.py:62 #, fuzzy msgid "Manage I2P application" msgstr "فعال‌سازی برنامه" -#: plinth/modules/i2p/__init__.py:64 plinth/modules/i2p/manifest.py:16 +#: plinth/modules/i2p/__init__.py:65 plinth/modules/i2p/manifest.py:16 msgid "I2P" msgstr "" -#: plinth/modules/i2p/__init__.py:65 plinth/modules/tor/__init__.py:56 +#: plinth/modules/i2p/__init__.py:66 plinth/modules/tor/__init__.py:55 #, fuzzy msgid "Anonymity Network" msgstr "رفتن به تنظیمات شبکه" -#: plinth/modules/i2p/__init__.py:87 +#: plinth/modules/i2p/__init__.py:88 msgid "I2P Proxy" msgstr "" @@ -2258,21 +2237,21 @@ msgid "" "Configuration you can change these permissions or add new users." msgstr "" -#: plinth/modules/ikiwiki/__init__.py:39 -#, fuzzy -msgid "View and edit wiki applications" -msgstr "سرویس‌ها و برنامه‌ها" - -#: plinth/modules/ikiwiki/__init__.py:53 plinth/modules/ikiwiki/manifest.py:9 +#: plinth/modules/ikiwiki/__init__.py:52 plinth/modules/ikiwiki/manifest.py:9 msgid "ikiwiki" msgstr "" -#: plinth/modules/ikiwiki/__init__.py:54 +#: plinth/modules/ikiwiki/__init__.py:53 #, fuzzy #| msgid "Manage Wikis and Blogs" msgid "Wiki and Blog" msgstr "مدیریت ویکی‌ها و وبلاگ‌ها" +#: plinth/modules/ikiwiki/__init__.py:73 +#, fuzzy +msgid "View and edit wiki applications" +msgstr "سرویس‌ها و برنامه‌ها" + #: plinth/modules/ikiwiki/forms.py:17 msgid "Admin Account Name" msgstr "نام حساب مدیر" @@ -2318,33 +2297,33 @@ msgstr "" "این کار همهٔ نوشته‌ها، صفحه‌ها، نظرها، و تاریخچهٔ آن‌ها را حذف می‌کند. آیا به " "پاک‌کردن ویکی یا وبلاگ ادامه می‌دهید؟" -#: plinth/modules/ikiwiki/views.py:72 +#: plinth/modules/ikiwiki/views.py:70 #, python-brace-format msgid "Created wiki {name}." msgstr "ویکی {name} ساخته شد." -#: plinth/modules/ikiwiki/views.py:75 +#: plinth/modules/ikiwiki/views.py:73 #, python-brace-format msgid "Could not create wiki: {error}" msgstr "ساختن ویکی شکست خورد: {error}" -#: plinth/modules/ikiwiki/views.py:85 +#: plinth/modules/ikiwiki/views.py:83 #, python-brace-format msgid "Created blog {name}." msgstr "وبلاگ {name} ساخته شد." -#: plinth/modules/ikiwiki/views.py:88 +#: plinth/modules/ikiwiki/views.py:86 #, python-brace-format msgid "Could not create blog: {error}" msgstr "ساختن وبلاگ شکست خورد: {error}" -#: plinth/modules/ikiwiki/views.py:103 +#: plinth/modules/ikiwiki/views.py:101 #, fuzzy, python-brace-format #| msgid "{name} deleted." msgid "{title} deleted." msgstr "{name} پاک شد." -#: plinth/modules/ikiwiki/views.py:107 +#: plinth/modules/ikiwiki/views.py:105 #, fuzzy, python-brace-format #| msgid "Could not delete {name}: {error}" msgid "Could not delete {title}: {error}" @@ -2387,17 +2366,17 @@ msgid "" "domain name." msgstr "" -#: plinth/modules/jsxc/__init__.py:22 +#: plinth/modules/jsxc/__init__.py:23 msgid "" "JSXC is a web client for XMPP. Typically it is used with an XMPP server " "running locally." msgstr "" -#: plinth/modules/jsxc/__init__.py:40 plinth/modules/jsxc/manifest.py:10 +#: plinth/modules/jsxc/__init__.py:43 plinth/modules/jsxc/manifest.py:10 msgid "JSXC" msgstr "" -#: plinth/modules/jsxc/__init__.py:41 +#: plinth/modules/jsxc/__init__.py:44 msgid "Chat Client" msgstr "" @@ -2596,12 +2575,12 @@ msgstr "" msgid "Matrix Synapse" msgstr "" -#: plinth/modules/matrixsynapse/forms.py:14 +#: plinth/modules/matrixsynapse/forms.py:12 #, fuzzy msgid "Enable Public Registration" msgstr "فعال‌سازی برنامه" -#: plinth/modules/matrixsynapse/forms.py:15 +#: plinth/modules/matrixsynapse/forms.py:13 msgid "" "Enabling public registration means that anyone on the Internet can register " "a new account on your Matrix server. Disable this if you only want existing " @@ -2612,6 +2591,12 @@ msgstr "" msgid "Riot" msgstr "" +#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 +#: plinth/modules/snapshot/templates/snapshot.html:12 +#: plinth/templates/app.html:46 +msgid "Configuration" +msgstr "" + #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:18 msgid "" "Matrix service needs to be configured for a domain. Users on other Matrix " @@ -2656,11 +2641,11 @@ msgid "" "go to Let's Encrypt to obtain one." msgstr "" -#: plinth/modules/matrixsynapse/views.py:98 +#: plinth/modules/matrixsynapse/views.py:86 msgid "Public registration enabled" msgstr "" -#: plinth/modules/matrixsynapse/views.py:103 +#: plinth/modules/matrixsynapse/views.py:91 #, fuzzy msgid "Public registration disabled" msgstr "برنامه نصب شد." @@ -2697,82 +2682,82 @@ msgstr "" msgid "Wiki" msgstr "" -#: plinth/modules/mediawiki/forms.py:27 +#: plinth/modules/mediawiki/forms.py:25 #, fuzzy #| msgid "Administrator Account" msgid "Administrator Password" msgstr "حساب مدیر" -#: plinth/modules/mediawiki/forms.py:28 +#: plinth/modules/mediawiki/forms.py:26 msgid "" "Set a new password for MediaWiki's administrator account (admin). Leave this " "field blank to keep the current password." msgstr "" -#: plinth/modules/mediawiki/forms.py:33 +#: plinth/modules/mediawiki/forms.py:31 #, fuzzy msgid "Enable public registrations" msgstr "فعال‌سازی برنامه" -#: plinth/modules/mediawiki/forms.py:34 +#: plinth/modules/mediawiki/forms.py:32 msgid "" "If enabled, anyone on the internet will be able to create an account on your " "MediaWiki instance." msgstr "" -#: plinth/modules/mediawiki/forms.py:38 +#: plinth/modules/mediawiki/forms.py:36 #, fuzzy msgid "Enable private mode" msgstr "فعال‌سازی برنامه" -#: plinth/modules/mediawiki/forms.py:39 +#: plinth/modules/mediawiki/forms.py:37 msgid "" "If enabled, access will be restricted. Only people who have accounts can " "read/write to the wiki. Public registrations will also be disabled." msgstr "" -#: plinth/modules/mediawiki/forms.py:44 +#: plinth/modules/mediawiki/forms.py:42 #, fuzzy #| msgid "Default" msgid "Default Skin" msgstr "پیش‌فرض" -#: plinth/modules/mediawiki/forms.py:45 +#: plinth/modules/mediawiki/forms.py:43 msgid "" "Choose a default skin for your MediaWiki installation. Users have the option " "to select their preferred skin." msgstr "" -#: plinth/modules/mediawiki/views.py:53 +#: plinth/modules/mediawiki/views.py:48 #, fuzzy #| msgid "Password" msgid "Password updated" msgstr "رمز" -#: plinth/modules/mediawiki/views.py:72 +#: plinth/modules/mediawiki/views.py:57 #, fuzzy msgid "Public registrations enabled" msgstr "برنامه نصب شد." -#: plinth/modules/mediawiki/views.py:81 +#: plinth/modules/mediawiki/views.py:66 #, fuzzy msgid "Public registrations disabled" msgstr "برنامه نصب شد." -#: plinth/modules/mediawiki/views.py:86 +#: plinth/modules/mediawiki/views.py:71 msgid "Private mode enabled" msgstr "" -#: plinth/modules/mediawiki/views.py:93 +#: plinth/modules/mediawiki/views.py:78 #, fuzzy msgid "Private mode disabled" msgstr "برنامه نصب شد." -#: plinth/modules/mediawiki/views.py:101 +#: plinth/modules/mediawiki/views.py:86 msgid "Default skin changed" msgstr "" -#: plinth/modules/minetest/__init__.py:37 +#: plinth/modules/minetest/__init__.py:38 #, fuzzy, python-brace-format msgid "" "Minetest is a multiplayer infinite-world block sandbox. This module enables " @@ -2785,54 +2770,54 @@ msgstr "" "برای اتصال به سرور به یک برنامهٔ ماین‌تست نیاز است." -#: plinth/modules/minetest/__init__.py:63 +#: plinth/modules/minetest/__init__.py:62 #: plinth/modules/minetest/manifest.py:10 msgid "Minetest" msgstr "" -#: plinth/modules/minetest/__init__.py:64 +#: plinth/modules/minetest/__init__.py:63 #, fuzzy msgid "Block Sandbox" msgstr "بازی مکعب‌ها (Minetest)" -#: plinth/modules/minetest/forms.py:15 +#: plinth/modules/minetest/forms.py:13 msgid "Maximum number of players" msgstr "" -#: plinth/modules/minetest/forms.py:17 +#: plinth/modules/minetest/forms.py:15 msgid "" "You can change the maximum number of players playing minetest at a single " "instance of time." msgstr "" -#: plinth/modules/minetest/forms.py:21 +#: plinth/modules/minetest/forms.py:19 #, fuzzy msgid "Enable creative mode" msgstr "فعال‌سازی برنامه" -#: plinth/modules/minetest/forms.py:22 +#: plinth/modules/minetest/forms.py:20 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:27 +#: plinth/modules/minetest/forms.py:25 #, fuzzy #| msgid "Enabled" msgid "Enable PVP" msgstr "فعال" -#: plinth/modules/minetest/forms.py:28 +#: plinth/modules/minetest/forms.py:26 msgid "Enabling Player Vs Player will allow players to damage other players." msgstr "" -#: plinth/modules/minetest/forms.py:32 +#: plinth/modules/minetest/forms.py:30 #, fuzzy #| msgid "Enabled" msgid "Enable damage" msgstr "فعال" -#: plinth/modules/minetest/forms.py:33 +#: plinth/modules/minetest/forms.py:31 msgid "When disabled, players cannot die or receive damage of any kind." msgstr "" @@ -2881,19 +2866,19 @@ msgid "" "Kodi." msgstr "" -#: plinth/modules/minidlna/__init__.py:33 +#: plinth/modules/minidlna/__init__.py:44 msgid "Media streaming server" msgstr "" -#: plinth/modules/minidlna/__init__.py:47 +#: plinth/modules/minidlna/__init__.py:48 msgid "Simple Media Server" msgstr "" -#: plinth/modules/minidlna/forms.py:15 +#: plinth/modules/minidlna/forms.py:13 msgid "Media Files Directory" msgstr "" -#: plinth/modules/minidlna/forms.py:16 +#: plinth/modules/minidlna/forms.py:14 msgid "" "Directory that MiniDLNA Server will read for content. All sub-directories of " "this will be also scanned for media files. If you change the default ensure " @@ -2945,17 +2930,17 @@ msgid "" "On {box_name}, downloaded files can be found in /var/lib/mldonkey/ directory." msgstr "" -#: plinth/modules/mldonkey/__init__.py:40 +#: plinth/modules/mldonkey/__init__.py:50 msgid "Download files using eDonkey applications" msgstr "" -#: plinth/modules/mldonkey/__init__.py:54 +#: plinth/modules/mldonkey/__init__.py:53 #: plinth/modules/mldonkey/manifest.py:12 #, fuzzy msgid "MLDonkey" msgstr "مانکی‌اسفیر" -#: plinth/modules/mldonkey/__init__.py:56 +#: plinth/modules/mldonkey/__init__.py:55 msgid "Peer-to-peer File Sharing" msgstr "" @@ -2969,7 +2954,7 @@ msgstr "مانکی‌اسفیر" msgid "AMLDonkey" msgstr "مانکی‌اسفیر" -#: plinth/modules/monkeysphere/__init__.py:18 +#: plinth/modules/monkeysphere/__init__.py:19 msgid "" "With Monkeysphere, an OpenPGP key can be generated for each configured " "domain serving SSH. The OpenPGP public key can then be uploaded to the " @@ -2988,7 +2973,7 @@ msgstr "" "برای اطلاعات بیشتر راهنمای SSH مانکی‌اسفیر را بخوانید." -#: plinth/modules/monkeysphere/__init__.py:26 +#: plinth/modules/monkeysphere/__init__.py:27 msgid "" "Monkeysphere can also generate an OpenPGP key for each Secure Web Server " "(HTTPS) certificate installed on this machine. The OpenPGP public key can " @@ -3005,7 +2990,7 @@ msgstr "" "در وبسایت مانکی‌اسفیر " "است نصب کند." -#: plinth/modules/monkeysphere/__init__.py:50 +#: plinth/modules/monkeysphere/__init__.py:49 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:11 #, fuzzy msgid "Monkeysphere" @@ -3056,15 +3041,15 @@ msgstr "نمایش جزئیات برای کلید %(fingerprint)s" msgid "-" msgstr "-" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:128 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:129 msgid "Import Key" msgstr "درون‌ریزی کلید" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:137 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:139 msgid "Publish Key" msgstr "انتشار کلید" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:146 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:149 msgid "Add Domains" msgstr "افزودن دامنه" @@ -3136,13 +3121,13 @@ msgstr "کلید در پایگاه کلیدها منتشر شد." msgid "Error occurred while publishing key." msgstr "هنگام انتشار کلید خطایی رخ داد." -#: plinth/modules/mumble/__init__.py:23 +#: plinth/modules/mumble/__init__.py:24 msgid "" "Mumble is an open source, low-latency, encrypted, high quality voice chat " "software." msgstr "مامبل (Mumble) یک نرم‌افزار چت صوتی متن‌باز، کم‌تأخیر، و باکیفیت است." -#: plinth/modules/mumble/__init__.py:25 +#: plinth/modules/mumble/__init__.py:26 msgid "" "You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your " @@ -3152,23 +3137,23 @@ msgstr "" "\"http://mumble.info\">نرم‌افزارهایی برای اتصال به سرور مامبل برای " "کامپیوتر رومیزی و دستگاه‌های اندروید در دسترس است." -#: plinth/modules/mumble/__init__.py:49 plinth/modules/mumble/manifest.py:12 +#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:12 msgid "Mumble" msgstr "" -#: plinth/modules/mumble/__init__.py:50 +#: plinth/modules/mumble/__init__.py:49 #, fuzzy #| msgid "Voice Chat (Mumble)" msgid "Voice Chat" msgstr "چت صوتی (Mumble)" -#: plinth/modules/mumble/forms.py:16 +#: plinth/modules/mumble/forms.py:14 #, fuzzy #| msgid "Please provide a password" msgid "Set SuperUser Password" msgstr "لطفاً یک رمز وارد کنید" -#: plinth/modules/mumble/forms.py:19 +#: plinth/modules/mumble/forms.py:17 msgid "" "Optional. Leave this field blank to keep the current password. SuperUser " "password can be used to manage permissions in Mumble." @@ -3492,9 +3477,10 @@ msgid "Open" msgstr "باز" #: plinth/modules/networks/forms.py:297 -#, python-brace-format -msgid "Choose how your {box_name} is connected to your network" -msgstr "" +#, fuzzy, python-brace-format +#| msgid "Direct connection to the Internet." +msgid "Specify how your {box_name} is connected to your network" +msgstr "اتصال مستقیم به اینترنت." #: plinth/modules/networks/forms.py:304 #, python-brace-format @@ -3714,7 +3700,7 @@ msgstr "آی‌پی ن۴" #: plinth/modules/networks/templates/connection_show.html:171 #: plinth/modules/networks/templates/connection_show.html:212 -#: plinth/modules/shadowsocks/forms.py:49 +#: plinth/modules/shadowsocks/forms.py:48 msgid "Method" msgstr "روش" @@ -3730,7 +3716,7 @@ msgstr "دی‌ان‌اس" #: plinth/modules/networks/templates/connection_show.html:201 #: plinth/modules/networks/templates/connection_show.html:240 -#: plinth/modules/storage/forms.py:141 +#: plinth/modules/storage/forms.py:139 msgid "Default" msgstr "پیش‌فرض" @@ -4189,6 +4175,11 @@ msgstr "" msgid "Setup failed." msgstr "" +#: plinth/modules/openvpn/views.py:135 plinth/modules/tor/views.py:136 +#: plinth/views.py:196 +msgid "Setting unchanged" +msgstr "" + #: plinth/modules/pagekite/__init__.py:27 #, python-brace-format msgid "" @@ -4247,75 +4238,75 @@ msgstr "" msgid "PageKite Domain" msgstr "دامنه‌های موجود" -#: plinth/modules/pagekite/forms.py:48 +#: plinth/modules/pagekite/forms.py:47 msgid "Server domain" msgstr "" -#: plinth/modules/pagekite/forms.py:50 +#: plinth/modules/pagekite/forms.py:49 msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " "pagekite.net server." msgstr "" -#: plinth/modules/pagekite/forms.py:53 plinth/modules/shadowsocks/forms.py:40 +#: plinth/modules/pagekite/forms.py:52 plinth/modules/shadowsocks/forms.py:39 msgid "Server port" msgstr "" -#: plinth/modules/pagekite/forms.py:54 +#: plinth/modules/pagekite/forms.py:53 msgid "Port of your pagekite server (default: 80)" msgstr "" -#: plinth/modules/pagekite/forms.py:56 +#: plinth/modules/pagekite/forms.py:55 msgid "Kite name" msgstr "" -#: plinth/modules/pagekite/forms.py:57 +#: plinth/modules/pagekite/forms.py:56 msgid "Example: mybox.pagekite.me" msgstr "" -#: plinth/modules/pagekite/forms.py:59 +#: plinth/modules/pagekite/forms.py:58 msgid "Invalid kite name" msgstr "" -#: plinth/modules/pagekite/forms.py:63 +#: plinth/modules/pagekite/forms.py:62 msgid "Kite secret" msgstr "" -#: plinth/modules/pagekite/forms.py:64 +#: plinth/modules/pagekite/forms.py:63 msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." msgstr "" -#: plinth/modules/pagekite/forms.py:101 +#: plinth/modules/pagekite/forms.py:100 msgid "protocol" msgstr "" -#: plinth/modules/pagekite/forms.py:104 +#: plinth/modules/pagekite/forms.py:103 msgid "external (frontend) port" msgstr "" -#: plinth/modules/pagekite/forms.py:107 +#: plinth/modules/pagekite/forms.py:106 msgid "internal (freedombox) port" msgstr "" -#: plinth/modules/pagekite/forms.py:108 +#: plinth/modules/pagekite/forms.py:107 msgid "Enable Subdomains" msgstr "" -#: plinth/modules/pagekite/forms.py:142 +#: plinth/modules/pagekite/forms.py:141 msgid "Deleted custom service" msgstr "" -#: plinth/modules/pagekite/forms.py:175 +#: plinth/modules/pagekite/forms.py:174 msgid "This service is already available as a standard service." msgstr "" -#: plinth/modules/pagekite/forms.py:183 +#: plinth/modules/pagekite/forms.py:182 msgid "Added custom service" msgstr "" -#: plinth/modules/pagekite/forms.py:186 +#: plinth/modules/pagekite/forms.py:185 msgid "This service already exists" msgstr "" @@ -4433,14 +4424,14 @@ msgstr "" msgid "Shut Down Now" msgstr "" -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 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:33 +#: plinth/modules/privoxy/__init__.py:34 #, python-brace-format msgid "" "You can use Privoxy by modifying your browser proxy settings to your " @@ -4450,20 +4441,20 @@ msgid "" "\">http://p.p." msgstr "" -#: plinth/modules/privoxy/__init__.py:56 +#: plinth/modules/privoxy/__init__.py:55 msgid "Privoxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:57 +#: plinth/modules/privoxy/__init__.py:56 msgid "Web Proxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:119 #, python-brace-format msgid "Access {url} with proxy {proxy} on tcp{kind}" msgstr "" -#: plinth/modules/quassel/__init__.py:32 +#: plinth/modules/quassel/__init__.py:33 #, python-brace-format msgid "" "Quassel is an IRC application that is split into two parts, a \"core\" and a " @@ -4474,7 +4465,7 @@ msgid "" "connect and disconnect from it." msgstr "" -#: plinth/modules/quassel/__init__.py:39 +#: plinth/modules/quassel/__init__.py:40 msgid "" "You can connect to your Quassel core on the default Quassel port 4242. " "Clients to connect to Quassel from your mobile devices are available." msgstr "" -#: plinth/modules/quassel/__init__.py:62 plinth/modules/quassel/manifest.py:10 +#: plinth/modules/quassel/__init__.py:61 plinth/modules/quassel/manifest.py:10 msgid "Quassel" msgstr "" -#: plinth/modules/quassel/__init__.py:63 +#: plinth/modules/quassel/__init__.py:62 msgid "IRC Client" msgstr "" -#: plinth/modules/quassel/forms.py:23 +#: plinth/modules/quassel/forms.py:22 #, fuzzy #| msgid "Subdomain" msgid "TLS domain" msgstr "زیردامنه" -#: plinth/modules/quassel/forms.py:25 +#: plinth/modules/quassel/forms.py:24 msgid "" "Select a domain to use TLS with. If the list is empty, please configure at " "least one domain with certificates." @@ -4506,7 +4497,7 @@ msgstr "" msgid "Quasseldroid" msgstr "" -#: plinth/modules/radicale/__init__.py:32 +#: plinth/modules/radicale/__init__.py:33 #, python-brace-format msgid "" "Radicale is a CalDAV and CardDAV server. It allows synchronization and " @@ -4515,34 +4506,34 @@ msgid "" "can be accessed by any user with a {box_name} login." msgstr "" -#: plinth/modules/radicale/__init__.py:37 +#: plinth/modules/radicale/__init__.py:38 msgid "" "Radicale provides a basic web interface, which only supports creating new " "calendars and addressbooks. It does not support adding events or contacts, " "which must be done using a separate client." msgstr "" -#: plinth/modules/radicale/__init__.py:62 +#: plinth/modules/radicale/__init__.py:61 #: plinth/modules/radicale/manifest.py:75 msgid "Radicale" msgstr "" -#: plinth/modules/radicale/__init__.py:63 +#: plinth/modules/radicale/__init__.py:62 msgid "Calendar and Addressbook" msgstr "" -#: plinth/modules/radicale/forms.py:15 +#: plinth/modules/radicale/forms.py:14 msgid "Only the owner of a calendar/addressbook can view or make changes." msgstr "" -#: plinth/modules/radicale/forms.py:19 +#: plinth/modules/radicale/forms.py:18 #, python-brace-format msgid "" "Any user with a {box_name} login can view any calendar/addressbook, but only " "the owner can make changes." msgstr "" -#: plinth/modules/radicale/forms.py:24 +#: plinth/modules/radicale/forms.py:23 #, python-brace-format msgid "" "Any user with a {box_name} login can view or make changes to any calendar/" @@ -4661,11 +4652,11 @@ msgid "" "private space." msgstr "" -#: plinth/modules/samba/__init__.py:47 +#: plinth/modules/samba/__init__.py:59 msgid "Access to the private shares" msgstr "" -#: plinth/modules/samba/__init__.py:61 +#: plinth/modules/samba/__init__.py:62 msgid "Samba" msgstr "" @@ -4740,13 +4731,13 @@ msgstr "مشترک" msgid "Action" msgstr "کنش‌ها" -#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:149 +#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:147 #, fuzzy #| msgid "Shared" msgid "Open Share" msgstr "مشترک" -#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:147 +#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:145 #, fuzzy #| msgid "Shared" msgid "Group Share" @@ -4794,47 +4785,47 @@ msgid "" "stores no cookies by default." msgstr "" -#: plinth/modules/searx/__init__.py:31 +#: plinth/modules/searx/__init__.py:45 msgid "Search the web" msgstr "" -#: plinth/modules/searx/__init__.py:47 plinth/modules/searx/manifest.py:9 +#: plinth/modules/searx/__init__.py:48 plinth/modules/searx/manifest.py:9 msgid "Searx" msgstr "" -#: plinth/modules/searx/__init__.py:48 +#: plinth/modules/searx/__init__.py:49 #, fuzzy #| msgid "Web Server" msgid "Web Search" msgstr "سرور وب" -#: plinth/modules/searx/forms.py:15 +#: plinth/modules/searx/forms.py:13 msgid "Safe Search" msgstr "" -#: plinth/modules/searx/forms.py:16 +#: plinth/modules/searx/forms.py:14 msgid "Select the default family filter to apply to your search results." msgstr "" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "None" msgstr "" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 #, fuzzy #| msgid "Mode" msgid "Moderate" msgstr "حالت" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "Strict" msgstr "" -#: plinth/modules/searx/forms.py:20 +#: plinth/modules/searx/forms.py:18 msgid "Allow Public Access" msgstr "" -#: plinth/modules/searx/forms.py:21 +#: plinth/modules/searx/forms.py:19 msgid "Allow this application to be used by anyone who can reach it." msgstr "" @@ -5010,30 +5001,30 @@ msgstr "" msgid "Socks5 Proxy" msgstr "" +#: plinth/modules/shadowsocks/forms.py:12 #: plinth/modules/shadowsocks/forms.py:13 -#: plinth/modules/shadowsocks/forms.py:14 msgid "Recommended" msgstr "" -#: plinth/modules/shadowsocks/forms.py:37 +#: plinth/modules/shadowsocks/forms.py:36 #, fuzzy #| msgid "Service" msgid "Server" msgstr "سرویس" -#: plinth/modules/shadowsocks/forms.py:38 +#: plinth/modules/shadowsocks/forms.py:37 msgid "Server hostname or IP address" msgstr "" -#: plinth/modules/shadowsocks/forms.py:42 +#: plinth/modules/shadowsocks/forms.py:41 msgid "Server port number" msgstr "" -#: plinth/modules/shadowsocks/forms.py:45 +#: plinth/modules/shadowsocks/forms.py:44 msgid "Password used to encrypt data. Must match server password." msgstr "" -#: plinth/modules/shadowsocks/forms.py:50 +#: plinth/modules/shadowsocks/forms.py:49 msgid "Encryption method. Must match setting on server." msgstr "" @@ -5078,11 +5069,11 @@ msgstr "انتشار کلید" msgid "Make files in this folder available to anyone with the link." msgstr "" -#: plinth/modules/sharing/forms.py:33 +#: plinth/modules/sharing/forms.py:34 msgid "User groups that can read the files in the share" msgstr "" -#: plinth/modules/sharing/forms.py:35 +#: plinth/modules/sharing/forms.py:36 msgid "" "Users of the selected user groups will be able to read the files in the " "share." @@ -5387,13 +5378,13 @@ msgstr "" msgid "Secure Shell (SSH) Server" msgstr "" -#: plinth/modules/ssh/forms.py:15 +#: plinth/modules/ssh/forms.py:13 #, fuzzy #| msgid "Use HTTP basic authentication" msgid "Disable password authentication" msgstr "به‌کاربردن تأیید هویت سادهٔ تحت وب" -#: plinth/modules/ssh/forms.py:16 +#: plinth/modules/ssh/forms.py:14 msgid "" "Improves security by preventing password guessing. Ensure that you have " "setup SSH keys in your administrator user account before enabling this " @@ -5446,139 +5437,139 @@ msgid "" "media, expand the root partition etc." msgstr "" -#: plinth/modules/storage/__init__.py:52 plinth/modules/storage/__init__.py:318 +#: plinth/modules/storage/__init__.py:54 plinth/modules/storage/__init__.py:320 msgid "Storage" 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 "" -#: plinth/modules/storage/__init__.py:313 +#: plinth/modules/storage/__init__.py:315 #, no-python-format, python-brace-format msgid "Low space on system partition: {percent_used}% used, {free_space} free." msgstr "" -#: plinth/modules/storage/__init__.py:315 +#: plinth/modules/storage/__init__.py:317 msgid "Low disk space" msgstr "" -#: plinth/modules/storage/forms.py:64 +#: plinth/modules/storage/forms.py:63 #, fuzzy #| msgid "Invalid hostname" msgid "Invalid directory name." msgstr "نام میزبان معتبر نیست" -#: plinth/modules/storage/forms.py:82 +#: plinth/modules/storage/forms.py:80 msgid "Directory does not exist." msgstr "" -#: plinth/modules/storage/forms.py:84 +#: plinth/modules/storage/forms.py:83 msgid "Path is not a directory." msgstr "" -#: plinth/modules/storage/forms.py:87 +#: plinth/modules/storage/forms.py:86 msgid "Directory is not readable by the user." msgstr "" -#: plinth/modules/storage/forms.py:90 +#: plinth/modules/storage/forms.py:89 msgid "Directory is not writable by the user." msgstr "" -#: plinth/modules/storage/forms.py:95 +#: plinth/modules/storage/forms.py:94 msgid "Directory" msgstr "" -#: plinth/modules/storage/forms.py:98 +#: plinth/modules/storage/forms.py:96 msgid "Subdirectory (optional)" msgstr "" -#: plinth/modules/storage/forms.py:145 +#: plinth/modules/storage/forms.py:143 #, fuzzy #| msgid "Shared" msgid "Share" msgstr "مشترک" -#: plinth/modules/storage/forms.py:153 +#: plinth/modules/storage/forms.py:151 msgid "Other directory (specify below)" msgstr "" @@ -5667,19 +5658,20 @@ msgid "" "synchronize more often. {box_name} runs a single instance of Syncthing that " "may be used by multiple users. Each user's set of devices may be " "synchronized with a distinct set of folders. The web interface on " -"{box_name} is only available for users belonging to the \"admin\" group." +"{box_name} is only available for users belonging to the \"admin\" or " +"\"syncthing\" group." msgstr "" -#: plinth/modules/syncthing/__init__.py:40 +#: plinth/modules/syncthing/__init__.py:53 msgid "Administer Syncthing application" msgstr "" -#: plinth/modules/syncthing/__init__.py:54 +#: plinth/modules/syncthing/__init__.py:56 #: plinth/modules/syncthing/manifest.py:13 msgid "Syncthing" msgstr "" -#: plinth/modules/syncthing/__init__.py:55 +#: plinth/modules/syncthing/__init__.py:57 msgid "File Synchronization" msgstr "" @@ -5716,37 +5708,37 @@ msgid "" "%(domain_name)s:5678\">https://%(domain_name)s:5678." msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:39 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:29 msgid "Local introducer" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:59 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:76 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:33 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:49 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:66 #, fuzzy #| msgid "Name" msgid "Pet Name" msgstr "نام" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:56 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:46 msgid "Add new introducer" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:67 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:57 #, fuzzy #| msgid "Address" msgid "Add" msgstr "نشانی" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:72 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:62 msgid "Connected introducers" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:89 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:79 msgid "Remove" msgstr "" -#: plinth/modules/tor/__init__.py:33 +#: plinth/modules/tor/__init__.py:34 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -5755,40 +5747,40 @@ msgid "" "\">Tor Browser." msgstr "" -#: plinth/modules/tor/__init__.py:55 +#: plinth/modules/tor/__init__.py:54 msgid "Tor" msgstr "" -#: plinth/modules/tor/__init__.py:66 +#: plinth/modules/tor/__init__.py:65 msgid "Tor Onion Service" msgstr "" -#: plinth/modules/tor/__init__.py:70 +#: plinth/modules/tor/__init__.py:69 msgid "Tor Socks Proxy" msgstr "" -#: plinth/modules/tor/__init__.py:74 +#: plinth/modules/tor/__init__.py:73 msgid "Tor Bridge Relay" msgstr "" -#: plinth/modules/tor/__init__.py:95 +#: plinth/modules/tor/__init__.py:98 msgid "Tor relay port available" msgstr "" -#: plinth/modules/tor/__init__.py:105 +#: plinth/modules/tor/__init__.py:108 msgid "Obfs3 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:115 +#: plinth/modules/tor/__init__.py:118 msgid "Obfs4 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:208 +#: plinth/modules/tor/__init__.py:211 #, python-brace-format msgid "Access URL {url} on tcp{kind} via Tor" msgstr "" -#: plinth/modules/tor/__init__.py:219 +#: plinth/modules/tor/__init__.py:222 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "" @@ -5916,13 +5908,13 @@ msgstr "" msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050." msgstr "" -#: plinth/modules/transmission/__init__.py:27 +#: plinth/modules/transmission/__init__.py:28 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:48 +#: plinth/modules/transmission/__init__.py:51 #: plinth/modules/transmission/manifest.py:9 msgid "Transmission" msgstr "" @@ -5948,15 +5940,15 @@ msgid "" "connecting." msgstr "" -#: plinth/modules/ttrss/__init__.py:42 +#: plinth/modules/ttrss/__init__.py:54 msgid "Read and subscribe to news feeds" msgstr "" -#: plinth/modules/ttrss/__init__.py:56 plinth/modules/ttrss/manifest.py:19 +#: plinth/modules/ttrss/__init__.py:57 plinth/modules/ttrss/manifest.py:19 msgid "Tiny Tiny RSS" msgstr "" -#: plinth/modules/ttrss/__init__.py:57 +#: plinth/modules/ttrss/__init__.py:58 msgid "News Feed Reader" msgstr "" @@ -5968,11 +5960,11 @@ msgstr "" msgid "Check for and apply the latest software and security updates." msgstr "" -#: plinth/modules/upgrades/__init__.py:38 plinth/templates/setup.html:74 +#: plinth/modules/upgrades/__init__.py:40 plinth/templates/setup.html:74 msgid "Update" msgstr "" -#: plinth/modules/upgrades/__init__.py:76 +#: plinth/modules/upgrades/__init__.py:78 #, fuzzy msgid "FreedomBox Updated" msgstr "FreedomBox" @@ -6027,45 +6019,41 @@ msgstr "" #: plinth/modules/upgrades/templates/upgrades_configure.html:11 #: plinth/modules/upgrades/templates/upgrades_configure.html:12 -#: plinth/modules/upgrades/views.py:88 +#: plinth/modules/upgrades/views.py:85 #, fuzzy #| msgid "Last update" msgid "Manual update" msgstr "آخرین به‌روزرسانی" -#: plinth/modules/upgrades/views.py:47 +#: plinth/modules/upgrades/views.py:46 #, python-brace-format msgid "Error when configuring unattended-upgrades: {error}" msgstr "" -#: plinth/modules/upgrades/views.py:51 +#: plinth/modules/upgrades/views.py:50 msgid "Automatic upgrades enabled" msgstr "" -#: plinth/modules/upgrades/views.py:54 +#: plinth/modules/upgrades/views.py:53 msgid "Automatic upgrades disabled" msgstr "" -#: plinth/modules/upgrades/views.py:56 -msgid "Settings unchanged" -msgstr "" - -#: plinth/modules/upgrades/views.py:82 +#: plinth/modules/upgrades/views.py:79 msgid "Upgrade process started." msgstr "" -#: plinth/modules/upgrades/views.py:85 +#: plinth/modules/upgrades/views.py:82 msgid "Starting upgrade failed." msgstr "" -#: plinth/modules/users/__init__.py:37 +#: plinth/modules/users/__init__.py:39 msgid "" "Create and managed user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " "account to be part of a group to authorize the user to access the app." msgstr "" -#: plinth/modules/users/__init__.py:42 +#: plinth/modules/users/__init__.py:44 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -6073,106 +6061,105 @@ msgid "" "group may alter apps or system settings." msgstr "" -#: plinth/modules/users/__init__.py:64 +#: plinth/modules/users/__init__.py:65 msgid "Users and Groups" msgstr "" -#: plinth/modules/users/__init__.py:115 +#: plinth/modules/users/__init__.py:78 +msgid "Access to all services and system settings" +msgstr "" + +#: plinth/modules/users/__init__.py:122 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "" -#: plinth/modules/users/forms.py:28 -msgid "Access to all services and system settings" -msgstr "" - -#: plinth/modules/users/forms.py:44 +#: plinth/modules/users/forms.py:36 msgid "Username is taken or is reserved." msgstr "" -#: plinth/modules/users/forms.py:72 +#: plinth/modules/users/forms.py:63 #, fuzzy #| msgid "Invalid server name" msgid "Enter a valid username." msgstr "نام کاربری معتبر نیست" -#: plinth/modules/users/forms.py:78 +#: plinth/modules/users/forms.py:69 msgid "" "Required. 150 characters or fewer. English letters, digits and @/./-/_ only." msgstr "" -#: plinth/modules/users/forms.py:91 plinth/modules/users/forms.py:207 +#: plinth/modules/users/forms.py:83 plinth/modules/users/forms.py:196 msgid "Permissions" msgstr "" -#: plinth/modules/users/forms.py:94 +#: plinth/modules/users/forms.py:85 msgid "" -"Select which services should be available to the new user. The user will be " -"able to log in to services that support single sign-on through LDAP, if they " -"are in the appropriate group.

Users in the admin group will be " -"able to log in to all services. They can also log in to the system through " -"SSH and have administrative privileges (sudo)." +"user. The user will be able to log in to services that support single sign-" +"on through LDAP, if they are in the appropriate group.

Users in " +"the admin group will be able to log in to all services. They can also log in " +"to the system through SSH and have administrative privileges (sudo)." msgstr "" -#: plinth/modules/users/forms.py:133 plinth/modules/users/forms.py:357 +#: plinth/modules/users/forms.py:122 plinth/modules/users/forms.py:345 msgid "Creating LDAP user failed." msgstr "ساختن کاربر LDAP شکست خورد." -#: plinth/modules/users/forms.py:144 +#: plinth/modules/users/forms.py:133 #, python-brace-format msgid "Failed to add new user to {group} group." msgstr "" -#: plinth/modules/users/forms.py:158 +#: plinth/modules/users/forms.py:147 msgid "Authorized SSH Keys" msgstr "" -#: plinth/modules/users/forms.py:160 +#: plinth/modules/users/forms.py:149 msgid "" "Setting an SSH public key will allow this user to securely log in to the " "system without using a password. You may enter multiple keys, one on each " "line. Blank lines and lines starting with # will be ignored." msgstr "" -#: plinth/modules/users/forms.py:244 +#: plinth/modules/users/forms.py:233 msgid "Renaming LDAP user failed." msgstr "" -#: plinth/modules/users/forms.py:256 +#: plinth/modules/users/forms.py:245 msgid "Failed to remove user from group." msgstr "" -#: plinth/modules/users/forms.py:267 +#: plinth/modules/users/forms.py:256 msgid "Failed to add user to group." msgstr "" -#: plinth/modules/users/forms.py:276 +#: plinth/modules/users/forms.py:265 msgid "Unable to set SSH keys." msgstr "" -#: plinth/modules/users/forms.py:291 +#: plinth/modules/users/forms.py:280 #, fuzzy #| msgid "Failed to add new user to admin group." msgid "Failed to change user status." msgstr "افزودن کاربر به گروه مدیران شکست خورد." -#: plinth/modules/users/forms.py:299 +#: plinth/modules/users/forms.py:288 msgid "Cannot delete the only administrator in the system." msgstr "" -#: plinth/modules/users/forms.py:331 +#: plinth/modules/users/forms.py:319 msgid "Changing LDAP user password failed." msgstr "" -#: plinth/modules/users/forms.py:366 +#: plinth/modules/users/forms.py:354 msgid "Failed to add new user to admin group." msgstr "افزودن کاربر به گروه مدیران شکست خورد." -#: plinth/modules/users/forms.py:383 +#: plinth/modules/users/forms.py:371 msgid "Failed to restrict console access." msgstr "" -#: plinth/modules/users/forms.py:395 +#: plinth/modules/users/forms.py:383 msgid "User account created, you are now logged in" msgstr "حساب کاربری ساخته شد، شما الان وارد سیستم هستید" @@ -6957,18 +6944,14 @@ msgstr "" msgid "%(percentage)s%% complete" msgstr "" -#: plinth/views.py:184 -msgid "Application enabled" -msgstr "" - -#: plinth/views.py:187 -msgid "Application disabled" -msgstr "" - #: plinth/web_framework.py:107 msgid "Gujarati" msgstr "" +#, fuzzy +#~ msgid "Enable application" +#~ msgstr "فعال‌سازی برنامه" + #~ msgid "Setup a freedombox.me subdomain with your voucher" #~ msgstr "با کوپنی که دارید، یک زیردامنهٔ freedombox.me بسازید" diff --git a/plinth/locale/fake/LC_MESSAGES/django.po b/plinth/locale/fake/LC_MESSAGES/django.po index 2aa84ea67..deab38b2c 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: 2020-03-23 18:54-0400\n" +"POT-Creation-Date: 2020-04-06 19:59-0400\n" "PO-Revision-Date: 2016-01-31 22:24+0530\n" "Last-Translator: Sunil Mohan Adapa \n" "Language-Team: Plinth Developers /DELUGE PATH ON THE WEB SERVER. THE DEFAULT PASSWORD IS 'DELUGE', BUT " "YOU SHOULD LOG IN AND CHANGE IT IMMEDIATELY AFTER ENABLING THIS SERVICE." -#: plinth/modules/deluge/__init__.py:30 -#: plinth/modules/transmission/__init__.py:34 +#: plinth/modules/deluge/__init__.py:46 +#: plinth/modules/transmission/__init__.py:48 msgid "Download files using BitTorrent applications" msgstr "" -#: plinth/modules/deluge/__init__.py:46 plinth/modules/deluge/manifest.py:9 +#: plinth/modules/deluge/__init__.py:50 plinth/modules/deluge/manifest.py:9 #, fuzzy #| msgid "Enable Deluge" msgid "Deluge" msgstr "ENABLE DELUGE" -#: plinth/modules/deluge/__init__.py:47 -#: plinth/modules/transmission/__init__.py:50 +#: plinth/modules/deluge/__init__.py:51 +#: plinth/modules/transmission/__init__.py:53 #, fuzzy #| msgid "BitTorrent Web Client (Deluge)" msgid "BitTorrent Web Client" msgstr "BITTORRENT WEB CLIENT (DELUGE)" -#: plinth/modules/deluge/forms.py:20 plinth/modules/transmission/forms.py:20 +#: plinth/modules/deluge/forms.py:20 plinth/modules/transmission/forms.py:21 msgid "Download directory" msgstr "DOWNLOAD DIRECTORY" @@ -1173,7 +1168,7 @@ msgstr "" msgid "Federated Social Network" msgstr "" -#: plinth/modules/diaspora/forms.py:15 +#: plinth/modules/diaspora/forms.py:13 msgid "Enable new user registrations" msgstr "" @@ -1199,36 +1194,27 @@ msgstr "" #: plinth/modules/diaspora/templates/diaspora-pre-setup.html:43 #: plinth/modules/dynamicdns/templates/dynamicdns_configure.html:25 -#: plinth/modules/ejabberd/templates/ejabberd.html:43 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:18 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:47 #: plinth/modules/snapshot/templates/snapshot.html:15 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:35 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:43 -#: plinth/templates/app.html:52 +#: plinth/templates/app.html:54 msgid "Update setup" msgstr "UPDATE SETUP" -#: plinth/modules/diaspora/views.py:76 plinth/modules/ejabberd/views.py:46 -#: plinth/modules/matrixsynapse/views.py:85 -#: plinth/modules/mediawiki/views.py:58 plinth/modules/openvpn/views.py:135 -#: plinth/modules/tor/views.py:136 plinth/views.py:180 -msgid "Setting unchanged" -msgstr "SETTING UNCHANGED" - -#: plinth/modules/diaspora/views.py:80 +#: plinth/modules/diaspora/views.py:74 #, fuzzy #| msgid "Applications" msgid "User registrations enabled" msgstr "APPLICATIONS" -#: plinth/modules/diaspora/views.py:84 +#: plinth/modules/diaspora/views.py:78 #, fuzzy #| msgid "Applications" msgid "User registrations disabled" msgstr "APPLICATIONS" -#: plinth/modules/dynamicdns/__init__.py:27 +#: plinth/modules/dynamicdns/__init__.py:28 #, fuzzy, python-brace-format #| msgid "" #| "If your internet provider changes your IP address periodic (i.e. every " @@ -1244,7 +1230,7 @@ msgstr "" "IT MAY BE HARD FOR OTHERS TO FIND YOU IN THE WEB. AND FOR THIS REASON NOBODY " "MAY FIND THE SERVICES WHICH ARE PROVIDED BY %(box_name)s, SUCH AS OWNCLOUD." -#: plinth/modules/dynamicdns/__init__.py:31 +#: plinth/modules/dynamicdns/__init__.py:32 #, fuzzy #| msgid "" #| "The solution is to assign a DNS name to your IP address and update the " @@ -1270,11 +1256,11 @@ 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:56 +#: plinth/modules/dynamicdns/__init__.py:55 msgid "Dynamic DNS Client" msgstr "DYNAMIC DNS CLIENT" -#: plinth/modules/dynamicdns/__init__.py:66 +#: plinth/modules/dynamicdns/__init__.py:65 #, fuzzy #| msgid "Domain Name" msgid "Dynamic Domain Name" @@ -1399,7 +1385,7 @@ msgid "Username" msgstr "USERNAME" #: plinth/modules/dynamicdns/forms.py:104 plinth/modules/networks/forms.py:200 -#: plinth/modules/shadowsocks/forms.py:45 +#: plinth/modules/shadowsocks/forms.py:44 msgid "Password" msgstr "PASSWORD" @@ -1518,7 +1504,7 @@ msgstr "" msgid "Last update" msgstr "LAST UPDATE" -#: plinth/modules/dynamicdns/views.py:26 plinth/modules/help/__init__.py:49 +#: plinth/modules/dynamicdns/views.py:26 plinth/modules/help/__init__.py:51 #: plinth/templates/help-menu.html:46 plinth/templates/help-menu.html:47 msgid "About" msgstr "ABOUT" @@ -1547,7 +1533,7 @@ msgstr "CONFIGURE DYNAMIC DNS" msgid "Dynamic DNS Status" msgstr "DYNAMIC DNS" -#: plinth/modules/ejabberd/__init__.py:36 +#: plinth/modules/ejabberd/__init__.py:37 msgid "" "XMPP is an open and standardized communication protocol. Here you can run " "and configure your XMPP server, called ejabberd." @@ -1555,7 +1541,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:39 +#: plinth/modules/ejabberd/__init__.py:40 #, fuzzy, python-brace-format #| msgid "" #| "To actually communicate, you can use the web client " @@ -1571,22 +1557,22 @@ msgstr "" "ANY OTHER XMPP CLIENT." -#: plinth/modules/ejabberd/__init__.py:70 +#: plinth/modules/ejabberd/__init__.py:69 msgid "ejabberd" msgstr "" -#: plinth/modules/ejabberd/__init__.py:71 +#: plinth/modules/ejabberd/__init__.py:70 #: plinth/modules/matrixsynapse/__init__.py:68 #, fuzzy #| msgid "Web Server" msgid "Chat Server" msgstr "WEB SERVER" -#: plinth/modules/ejabberd/forms.py:17 +#: plinth/modules/ejabberd/forms.py:16 msgid "Enable Message Archive Management" msgstr "" -#: plinth/modules/ejabberd/forms.py:19 +#: plinth/modules/ejabberd/forms.py:18 #, python-brace-format msgid "" "If enabled, your {box_name} will store chat message histories. This allows " @@ -1648,19 +1634,11 @@ msgstr "" "LIKE USERNAME@%(domainname)s. YOU CAN SETUP YOUR DOMAIN ON THE SYSTEM " "CONFIGURE PAGE." -#: plinth/modules/ejabberd/templates/ejabberd.html:35 -#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 -#: plinth/modules/snapshot/templates/snapshot.html:12 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:27 -#: plinth/templates/app.html:45 -msgid "Configuration" -msgstr "CONFIGURATION" - -#: plinth/modules/ejabberd/views.py:58 +#: plinth/modules/ejabberd/views.py:45 msgid "Message Archive Management enabled" msgstr "" -#: plinth/modules/ejabberd/views.py:62 +#: plinth/modules/ejabberd/views.py:49 msgid "Message Archive Management disabled" msgstr "" @@ -1679,7 +1657,7 @@ msgstr "" "NETWORK TRAFFIC ON YOUR %(box_name)s. KEEPING A FIREWALL ENABLED AND " "PROPERLY CONFIGURED REDUCES RISK OF SECURITY THREAT FROM THE INTERNET." -#: plinth/modules/firewall/__init__.py:63 +#: plinth/modules/firewall/__init__.py:65 msgid "Firewall" msgstr "FIREWALL" @@ -1819,7 +1797,7 @@ msgid "" "gittutorial\">Git tutorial." msgstr "" -#: plinth/modules/gitweb/__init__.py:39 +#: plinth/modules/gitweb/__init__.py:51 msgid "Read-write access to Git repositories" msgstr "" @@ -1983,31 +1961,31 @@ msgstr "{name} DELETED." msgid "Could not delete {name}: {error}" msgstr "COULD NOT DELETE {name}: {error}" -#: plinth/modules/help/__init__.py:30 +#: plinth/modules/help/__init__.py:32 msgid "Documentation" msgstr "DOCUMENTATION" -#: plinth/modules/help/__init__.py:33 plinth/modules/networks/forms.py:47 +#: plinth/modules/help/__init__.py:35 plinth/modules/networks/forms.py:47 #: plinth/modules/networks/forms.py:77 plinth/templates/help-menu.html:20 #: plinth/templates/help-menu.html:21 plinth/templates/index.html:128 msgid "Manual" msgstr "MANUAL" -#: plinth/modules/help/__init__.py:37 +#: plinth/modules/help/__init__.py:39 #: plinth/modules/help/templates/help_support.html:9 #: plinth/modules/help/views.py:43 plinth/templates/help-menu.html:27 #: plinth/templates/help-menu.html:28 msgid "Get Support" msgstr "" -#: plinth/modules/help/__init__.py:41 +#: plinth/modules/help/__init__.py:43 #: plinth/modules/help/templates/help_feedback.html:9 #: plinth/modules/help/views.py:37 plinth/templates/help-menu.html:33 #: plinth/templates/help-menu.html:34 msgid "Submit Feedback" msgstr "" -#: plinth/modules/help/__init__.py:45 +#: plinth/modules/help/__init__.py:47 #: plinth/modules/help/templates/help_contribute.html:9 #: plinth/modules/help/views.py:31 plinth/templates/help-menu.html:39 #: plinth/templates/help-menu.html:40 @@ -2138,7 +2116,7 @@ msgstr "" #: plinth/modules/help/templates/help_contribute.html:42 #: plinth/modules/power/templates/power_restart.html:27 #: plinth/modules/power/templates/power_shutdown.html:26 -#: plinth/templates/app-header.html:51 +#: plinth/templates/app-header.html:53 #, fuzzy #| msgid "Learn more »" msgid "Learn more..." @@ -2313,23 +2291,23 @@ msgid "" "configuration process." msgstr "" -#: plinth/modules/i2p/__init__.py:38 +#: plinth/modules/i2p/__init__.py:62 #, fuzzy #| msgid "Applications" msgid "Manage I2P application" msgstr "APPLICATIONS" -#: plinth/modules/i2p/__init__.py:64 plinth/modules/i2p/manifest.py:16 +#: plinth/modules/i2p/__init__.py:65 plinth/modules/i2p/manifest.py:16 msgid "I2P" msgstr "" -#: plinth/modules/i2p/__init__.py:65 plinth/modules/tor/__init__.py:56 +#: plinth/modules/i2p/__init__.py:66 plinth/modules/tor/__init__.py:55 #, fuzzy #| msgid "Tor Anonymity Network" msgid "Anonymity Network" msgstr "TOR ANONYMITY NETWORK" -#: plinth/modules/i2p/__init__.py:87 +#: plinth/modules/i2p/__init__.py:88 #, fuzzy #| msgid "Privoxy Web Proxy" msgid "I2P Proxy" @@ -2384,22 +2362,22 @@ msgid "" "Configuration you can change these permissions or add new users." msgstr "" -#: plinth/modules/ikiwiki/__init__.py:39 -#, fuzzy -#| msgid "Services and Applications" -msgid "View and edit wiki applications" -msgstr "SERVICES AND APPLICATIONS" - -#: plinth/modules/ikiwiki/__init__.py:53 plinth/modules/ikiwiki/manifest.py:9 +#: plinth/modules/ikiwiki/__init__.py:52 plinth/modules/ikiwiki/manifest.py:9 #, fuzzy #| msgid "wiki" msgid "ikiwiki" msgstr "WIKI" -#: plinth/modules/ikiwiki/__init__.py:54 +#: plinth/modules/ikiwiki/__init__.py:53 msgid "Wiki and Blog" msgstr "WIKI AND BLOG" +#: plinth/modules/ikiwiki/__init__.py:73 +#, fuzzy +#| msgid "Services and Applications" +msgid "View and edit wiki applications" +msgstr "SERVICES AND APPLICATIONS" + #: plinth/modules/ikiwiki/forms.py:17 msgid "Admin Account Name" msgstr "ADMIN ACCOUNT NAME" @@ -2445,33 +2423,33 @@ msgstr "" "THIS ACTION WILL REMOVE ALL THE POSTS, PAGES AND COMMENTS INCLUDING REVISION " "HISTORY. DELETE THIS WIKI OR BLOG PERMANENTLY?" -#: plinth/modules/ikiwiki/views.py:72 +#: plinth/modules/ikiwiki/views.py:70 #, python-brace-format msgid "Created wiki {name}." msgstr "CREATED WIKI {name}." -#: plinth/modules/ikiwiki/views.py:75 +#: plinth/modules/ikiwiki/views.py:73 #, python-brace-format msgid "Could not create wiki: {error}" msgstr "COULD NOT CREATE WIKI: {error}" -#: plinth/modules/ikiwiki/views.py:85 +#: plinth/modules/ikiwiki/views.py:83 #, python-brace-format msgid "Created blog {name}." msgstr "CREATED BLOG {name}." -#: plinth/modules/ikiwiki/views.py:88 +#: plinth/modules/ikiwiki/views.py:86 #, python-brace-format msgid "Could not create blog: {error}" msgstr "COULD NOT CREATE BLOG: {error}" -#: plinth/modules/ikiwiki/views.py:103 +#: plinth/modules/ikiwiki/views.py:101 #, fuzzy, python-brace-format #| msgid "{name} deleted." msgid "{title} deleted." msgstr "{name} DELETED." -#: plinth/modules/ikiwiki/views.py:107 +#: plinth/modules/ikiwiki/views.py:105 #, fuzzy, python-brace-format #| msgid "Could not delete {name}: {error}" msgid "Could not delete {title}: {error}" @@ -2514,17 +2492,17 @@ msgid "" "domain name." msgstr "" -#: plinth/modules/jsxc/__init__.py:22 +#: plinth/modules/jsxc/__init__.py:23 msgid "" "JSXC is a web client for XMPP. Typically it is used with an XMPP server " "running locally." msgstr "" -#: plinth/modules/jsxc/__init__.py:40 plinth/modules/jsxc/manifest.py:10 +#: plinth/modules/jsxc/__init__.py:43 plinth/modules/jsxc/manifest.py:10 msgid "JSXC" msgstr "" -#: plinth/modules/jsxc/__init__.py:41 +#: plinth/modules/jsxc/__init__.py:44 #, fuzzy #| msgid "IRC Client (Quassel)" msgid "Chat Client" @@ -2728,13 +2706,13 @@ msgstr "" msgid "Matrix Synapse" msgstr "CHAT SERVER (XMPP)" -#: plinth/modules/matrixsynapse/forms.py:14 +#: plinth/modules/matrixsynapse/forms.py:12 #, fuzzy #| msgid "Applications" msgid "Enable Public Registration" msgstr "APPLICATIONS" -#: plinth/modules/matrixsynapse/forms.py:15 +#: plinth/modules/matrixsynapse/forms.py:13 msgid "" "Enabling public registration means that anyone on the Internet can register " "a new account on your Matrix server. Disable this if you only want existing " @@ -2745,6 +2723,12 @@ msgstr "" msgid "Riot" msgstr "" +#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 +#: plinth/modules/snapshot/templates/snapshot.html:12 +#: plinth/templates/app.html:46 +msgid "Configuration" +msgstr "CONFIGURATION" + #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:18 msgid "" "Matrix service needs to be configured for a domain. Users on other Matrix " @@ -2796,13 +2780,13 @@ msgid "" "go to Let's Encrypt to obtain one." msgstr "" -#: plinth/modules/matrixsynapse/views.py:98 +#: plinth/modules/matrixsynapse/views.py:86 #, fuzzy #| msgid "Applications" msgid "Public registration enabled" msgstr "APPLICATIONS" -#: plinth/modules/matrixsynapse/views.py:103 +#: plinth/modules/matrixsynapse/views.py:91 #, fuzzy #| msgid "Applications" msgid "Public registration disabled" @@ -2840,91 +2824,91 @@ msgstr "" msgid "Wiki" msgstr "" -#: plinth/modules/mediawiki/forms.py:27 +#: plinth/modules/mediawiki/forms.py:25 #, fuzzy #| msgid "Administrator Account" msgid "Administrator Password" msgstr "ADMINISTRATOR ACCOUNT" -#: plinth/modules/mediawiki/forms.py:28 +#: plinth/modules/mediawiki/forms.py:26 msgid "" "Set a new password for MediaWiki's administrator account (admin). Leave this " "field blank to keep the current password." msgstr "" -#: plinth/modules/mediawiki/forms.py:33 +#: plinth/modules/mediawiki/forms.py:31 #, fuzzy #| msgid "Applications" msgid "Enable public registrations" msgstr "APPLICATIONS" -#: plinth/modules/mediawiki/forms.py:34 +#: plinth/modules/mediawiki/forms.py:32 msgid "" "If enabled, anyone on the internet will be able to create an account on your " "MediaWiki instance." msgstr "" -#: plinth/modules/mediawiki/forms.py:38 +#: plinth/modules/mediawiki/forms.py:36 #, fuzzy #| msgid "Enable reStore" msgid "Enable private mode" msgstr "ENABLE RESTORE" -#: plinth/modules/mediawiki/forms.py:39 +#: plinth/modules/mediawiki/forms.py:37 msgid "" "If enabled, access will be restricted. Only people who have accounts can " "read/write to the wiki. Public registrations will also be disabled." msgstr "" -#: plinth/modules/mediawiki/forms.py:44 +#: plinth/modules/mediawiki/forms.py:42 #, fuzzy #| msgid "Default" msgid "Default Skin" msgstr "DEFAULT" -#: plinth/modules/mediawiki/forms.py:45 +#: plinth/modules/mediawiki/forms.py:43 msgid "" "Choose a default skin for your MediaWiki installation. Users have the option " "to select their preferred skin." msgstr "" -#: plinth/modules/mediawiki/views.py:53 +#: plinth/modules/mediawiki/views.py:48 #, fuzzy #| msgid "Password" msgid "Password updated" msgstr "PASSWORD" -#: plinth/modules/mediawiki/views.py:72 +#: plinth/modules/mediawiki/views.py:57 #, fuzzy #| msgid "Applications" msgid "Public registrations enabled" msgstr "APPLICATIONS" -#: plinth/modules/mediawiki/views.py:81 +#: plinth/modules/mediawiki/views.py:66 #, fuzzy #| msgid "Applications" msgid "Public registrations disabled" msgstr "APPLICATIONS" -#: plinth/modules/mediawiki/views.py:86 +#: plinth/modules/mediawiki/views.py:71 #, fuzzy #| msgid "PageKite enabled" msgid "Private mode enabled" msgstr "PAGEKITE ENABLED" -#: plinth/modules/mediawiki/views.py:93 +#: plinth/modules/mediawiki/views.py:78 #, fuzzy #| msgid "PageKite disabled" msgid "Private mode disabled" msgstr "PAGEKITE DISABLED" -#: plinth/modules/mediawiki/views.py:101 +#: plinth/modules/mediawiki/views.py:86 #, fuzzy #| msgid "Setting unchanged" msgid "Default skin changed" msgstr "SETTING UNCHANGED" -#: plinth/modules/minetest/__init__.py:37 +#: plinth/modules/minetest/__init__.py:38 #, python-brace-format msgid "" "Minetest is a multiplayer infinite-world block sandbox. This module enables " @@ -2933,56 +2917,56 @@ msgid "" "downloads/\">Minetest client is needed." msgstr "" -#: plinth/modules/minetest/__init__.py:63 +#: plinth/modules/minetest/__init__.py:62 #: plinth/modules/minetest/manifest.py:10 msgid "Minetest" msgstr "" -#: plinth/modules/minetest/__init__.py:64 +#: plinth/modules/minetest/__init__.py:63 #, fuzzy #| msgid "Blocked" msgid "Block Sandbox" msgstr "BLOCKED" -#: plinth/modules/minetest/forms.py:15 +#: plinth/modules/minetest/forms.py:13 msgid "Maximum number of players" msgstr "" -#: plinth/modules/minetest/forms.py:17 +#: plinth/modules/minetest/forms.py:15 msgid "" "You can change the maximum number of players playing minetest at a single " "instance of time." msgstr "" -#: plinth/modules/minetest/forms.py:21 +#: plinth/modules/minetest/forms.py:19 #, fuzzy #| msgid "Enable reStore" msgid "Enable creative mode" msgstr "ENABLE RESTORE" -#: plinth/modules/minetest/forms.py:22 +#: plinth/modules/minetest/forms.py:20 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:27 +#: plinth/modules/minetest/forms.py:25 #, fuzzy #| msgid "Enable XMPP" msgid "Enable PVP" msgstr "ENABLE XMPP" -#: plinth/modules/minetest/forms.py:28 +#: plinth/modules/minetest/forms.py:26 msgid "Enabling Player Vs Player will allow players to damage other players." msgstr "" -#: plinth/modules/minetest/forms.py:32 +#: plinth/modules/minetest/forms.py:30 #, fuzzy #| msgid "Enable PageKite" msgid "Enable damage" msgstr "ENABLE PAGEKITE" -#: plinth/modules/minetest/forms.py:33 +#: plinth/modules/minetest/forms.py:31 msgid "When disabled, players cannot die or receive damage of any kind." msgstr "" @@ -3031,21 +3015,21 @@ msgid "" "Kodi." msgstr "" -#: plinth/modules/minidlna/__init__.py:33 +#: plinth/modules/minidlna/__init__.py:44 msgid "Media streaming server" msgstr "" -#: plinth/modules/minidlna/__init__.py:47 +#: plinth/modules/minidlna/__init__.py:48 #, fuzzy #| msgid "Mumble Voice Chat Server" msgid "Simple Media Server" msgstr "MUMBLE VOICE CHAT SERVER" -#: plinth/modules/minidlna/forms.py:15 +#: plinth/modules/minidlna/forms.py:13 msgid "Media Files Directory" msgstr "" -#: plinth/modules/minidlna/forms.py:16 +#: plinth/modules/minidlna/forms.py:14 msgid "" "Directory that MiniDLNA Server will read for content. All sub-directories of " "this will be also scanned for media files. If you change the default ensure " @@ -3097,18 +3081,18 @@ msgid "" "On {box_name}, downloaded files can be found in /var/lib/mldonkey/ directory." msgstr "" -#: plinth/modules/mldonkey/__init__.py:40 +#: plinth/modules/mldonkey/__init__.py:50 msgid "Download files using eDonkey applications" msgstr "" -#: plinth/modules/mldonkey/__init__.py:54 +#: plinth/modules/mldonkey/__init__.py:53 #: plinth/modules/mldonkey/manifest.py:12 #, fuzzy #| msgid "Monkeysphere" msgid "MLDonkey" msgstr "MONKEYSPHERE" -#: plinth/modules/mldonkey/__init__.py:56 +#: plinth/modules/mldonkey/__init__.py:55 #, fuzzy #| msgid "Enable Shaarli" msgid "Peer-to-peer File Sharing" @@ -3126,7 +3110,7 @@ msgstr "MONKEYSPHERE" msgid "AMLDonkey" msgstr "MONKEYSPHERE" -#: plinth/modules/monkeysphere/__init__.py:18 +#: plinth/modules/monkeysphere/__init__.py:19 #, fuzzy #| msgid "" #| "With Monkeysphere, a PGP key can be generated for each configured domain " @@ -3156,7 +3140,7 @@ msgstr "" "getting-started-ssh/\\\"> MONKEYSPHERE SSH DOCUMENTATION FOR MORE " "DETAILS." -#: plinth/modules/monkeysphere/__init__.py:26 +#: plinth/modules/monkeysphere/__init__.py:27 #, fuzzy #| msgid "" #| "With Monkeysphere, a PGP key can be generated for each configured domain " @@ -3185,7 +3169,7 @@ msgstr "" "getting-started-ssh/\\\"> MONKEYSPHERE SSH DOCUMENTATION FOR MORE " "DETAILS." -#: plinth/modules/monkeysphere/__init__.py:50 +#: plinth/modules/monkeysphere/__init__.py:49 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:11 msgid "Monkeysphere" msgstr "MONKEYSPHERE" @@ -3242,15 +3226,15 @@ msgstr "" msgid "-" msgstr "" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:128 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:129 msgid "Import Key" msgstr "" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:137 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:139 msgid "Publish Key" msgstr "PUBLISH KEY" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:146 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:149 #, fuzzy #| msgid "Domain" msgid "Add Domains" @@ -3336,7 +3320,7 @@ msgstr "PUBLISHED KEY TO KEYSERVER." msgid "Error occurred while publishing key." msgstr "ERROR OCCURRED WHILE PUBLISHING KEY." -#: plinth/modules/mumble/__init__.py:23 +#: plinth/modules/mumble/__init__.py:24 msgid "" "Mumble is an open source, low-latency, encrypted, high quality voice chat " "software." @@ -3344,7 +3328,7 @@ msgstr "" "MUMBLE IS AN OPEN SOURCE, LOW-LATENCY, ENCRYPTED, HIGH QUALITY VOICE CHAT " "SOFTWARE." -#: plinth/modules/mumble/__init__.py:25 +#: plinth/modules/mumble/__init__.py:26 msgid "" "You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your " @@ -3354,23 +3338,23 @@ msgstr "" "href=\"http://mumble.info\">CLIENTS TO CONNECT TO MUMBLE FROM YOUR " "DESKTOP AND ANDROID DEVICES ARE AVAILABLE." -#: plinth/modules/mumble/__init__.py:49 plinth/modules/mumble/manifest.py:12 +#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:12 msgid "Mumble" msgstr "" -#: plinth/modules/mumble/__init__.py:50 +#: plinth/modules/mumble/__init__.py:49 #, fuzzy #| msgid "Voice Chat (Mumble)" msgid "Voice Chat" msgstr "VOICE CHAT (MUMBLE)" -#: plinth/modules/mumble/forms.py:16 +#: plinth/modules/mumble/forms.py:14 #, fuzzy #| msgid "Save Password" msgid "Set SuperUser Password" msgstr "SAVE PASSWORD" -#: plinth/modules/mumble/forms.py:19 +#: plinth/modules/mumble/forms.py:17 msgid "" "Optional. Leave this field blank to keep the current password. SuperUser " "password can be used to manage permissions in Mumble." @@ -3688,9 +3672,10 @@ msgid "Open" msgstr "OPENVPN" #: plinth/modules/networks/forms.py:297 -#, python-brace-format -msgid "Choose how your {box_name} is connected to your network" -msgstr "" +#, fuzzy, python-brace-format +#| msgid "Direct connection to the Internet." +msgid "Specify how your {box_name} is connected to your network" +msgstr "DIRECT CONNECTION TO THE INTERNET." #: plinth/modules/networks/forms.py:304 #, python-brace-format @@ -3910,7 +3895,7 @@ msgstr "IPV4" #: plinth/modules/networks/templates/connection_show.html:171 #: plinth/modules/networks/templates/connection_show.html:212 -#: plinth/modules/shadowsocks/forms.py:49 +#: plinth/modules/shadowsocks/forms.py:48 msgid "Method" msgstr "METHOD" @@ -3926,7 +3911,7 @@ msgstr "DNS SERVER" #: plinth/modules/networks/templates/connection_show.html:201 #: plinth/modules/networks/templates/connection_show.html:240 -#: plinth/modules/storage/forms.py:141 +#: plinth/modules/storage/forms.py:139 msgid "Default" msgstr "DEFAULT" @@ -4423,6 +4408,11 @@ msgstr "SETUP COMPLETED." msgid "Setup failed." msgstr "SETUP FAILED." +#: plinth/modules/openvpn/views.py:135 plinth/modules/tor/views.py:136 +#: plinth/views.py:196 +msgid "Setting unchanged" +msgstr "SETTING UNCHANGED" + #: plinth/modules/pagekite/__init__.py:27 #, fuzzy, python-brace-format #| msgid "" @@ -4516,11 +4506,11 @@ msgstr "PUBLIC VISIBILITY (PAGEKITE)" msgid "PageKite Domain" msgstr "PAGEKITE ACCOUNT" -#: plinth/modules/pagekite/forms.py:48 +#: plinth/modules/pagekite/forms.py:47 msgid "Server domain" msgstr "SERVER DOMAIN" -#: plinth/modules/pagekite/forms.py:50 +#: plinth/modules/pagekite/forms.py:49 msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " "pagekite.net server." @@ -4528,31 +4518,31 @@ msgstr "" "SELECT YOUR PAGEKITE SERVER. SET \"PAGEKITE.NET\" TO USE THE DEFAULT " "PAGEKITE.NET SERVER." -#: plinth/modules/pagekite/forms.py:53 plinth/modules/shadowsocks/forms.py:40 +#: plinth/modules/pagekite/forms.py:52 plinth/modules/shadowsocks/forms.py:39 msgid "Server port" msgstr "SERVER PORT" -#: plinth/modules/pagekite/forms.py:54 +#: plinth/modules/pagekite/forms.py:53 msgid "Port of your pagekite server (default: 80)" msgstr "PORT OF YOUR PAGEKITE SERVER (DEFAULT: 80)" -#: plinth/modules/pagekite/forms.py:56 +#: plinth/modules/pagekite/forms.py:55 msgid "Kite name" msgstr "KITE NAME" -#: plinth/modules/pagekite/forms.py:57 +#: plinth/modules/pagekite/forms.py:56 msgid "Example: mybox.pagekite.me" msgstr "EXAMPLE: MYBOX.PAGEKITE.ME" -#: plinth/modules/pagekite/forms.py:59 +#: plinth/modules/pagekite/forms.py:58 msgid "Invalid kite name" msgstr "INVALID KITE NAME" -#: plinth/modules/pagekite/forms.py:63 +#: plinth/modules/pagekite/forms.py:62 msgid "Kite secret" msgstr "KITE SECRET" -#: plinth/modules/pagekite/forms.py:64 +#: plinth/modules/pagekite/forms.py:63 msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." @@ -4560,27 +4550,27 @@ msgstr "" "A SECRET ASSOCIATED WITH THE KITE OR THE DEFAULT SECRET FOR YOUR ACCOUNT IF " "NO SECRET IS SET ON THE KITE." -#: plinth/modules/pagekite/forms.py:101 +#: plinth/modules/pagekite/forms.py:100 msgid "protocol" msgstr "PROTOCOL" -#: plinth/modules/pagekite/forms.py:104 +#: plinth/modules/pagekite/forms.py:103 msgid "external (frontend) port" msgstr "EXTERNAL (FRONTEND) PORT" -#: plinth/modules/pagekite/forms.py:107 +#: plinth/modules/pagekite/forms.py:106 msgid "internal (freedombox) port" msgstr "INTERNAL (FREEDOMBOX) PORT" -#: plinth/modules/pagekite/forms.py:108 +#: plinth/modules/pagekite/forms.py:107 msgid "Enable Subdomains" msgstr "ENABLE SUBDOMAINS" -#: plinth/modules/pagekite/forms.py:142 +#: plinth/modules/pagekite/forms.py:141 msgid "Deleted custom service" msgstr "DELETED CUSTOM SERVICE" -#: plinth/modules/pagekite/forms.py:175 +#: plinth/modules/pagekite/forms.py:174 #, fuzzy #| msgid "" #| "This service is available as a standard service. Please use the " @@ -4590,11 +4580,11 @@ msgstr "" "THIS SERVICE IS AVAILABLE AS A STANDARD SERVICE. PLEASE USE THE \"STANDARD " "SERVICES\" PAGE TO ENABLE IT. " -#: plinth/modules/pagekite/forms.py:183 +#: plinth/modules/pagekite/forms.py:182 msgid "Added custom service" msgstr "ADDED CUSTOM SERVICE" -#: plinth/modules/pagekite/forms.py:186 +#: plinth/modules/pagekite/forms.py:185 msgid "This service already exists" msgstr "THIS SERVICE ALREADY EXISTS" @@ -4725,7 +4715,7 @@ msgstr "" msgid "Shut Down Now" msgstr "SHUT DOWN NOW" -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 #, fuzzy #| msgid "" #| "Privoxy is a non-caching web proxy with advanced filtering capabilities " @@ -4740,7 +4730,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:33 +#: plinth/modules/privoxy/__init__.py:34 #, fuzzy, python-brace-format #| msgid "" #| "You can use Privoxy by modifying your browser proxy settings to your " @@ -4761,24 +4751,24 @@ msgstr "" "config.privoxy.org\">HTTP://CONFIG.PRIVOXY.ORG/ OR HTTP://P.P.\"" -#: plinth/modules/privoxy/__init__.py:56 +#: plinth/modules/privoxy/__init__.py:55 #, fuzzy #| msgid "Enable Privoxy" msgid "Privoxy" msgstr "ENABLE PRIVOXY" -#: plinth/modules/privoxy/__init__.py:57 +#: plinth/modules/privoxy/__init__.py:56 #, fuzzy #| msgid "Privoxy Web Proxy" msgid "Web Proxy" msgstr "PRIVOXY WEB PROXY" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:119 #, 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:32 +#: plinth/modules/quassel/__init__.py:33 #, fuzzy, python-brace-format #| msgid "" #| "Quassel is an IRC application that is split into two parts, a \"core\" " @@ -4802,7 +4792,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:39 +#: plinth/modules/quassel/__init__.py:40 msgid "" "You can connect to your Quassel core on the default Quassel port 4242. " "Clients to connect to Quassel from your DESKTOP AND MOBILE DEVICES ARE AVAILABLE." -#: plinth/modules/quassel/__init__.py:62 plinth/modules/quassel/manifest.py:10 +#: plinth/modules/quassel/__init__.py:61 plinth/modules/quassel/manifest.py:10 msgid "Quassel" msgstr "" -#: plinth/modules/quassel/__init__.py:63 +#: plinth/modules/quassel/__init__.py:62 #, fuzzy #| msgid "Quassel IRC Client" msgid "IRC Client" msgstr "QUASSEL IRC CLIENT" -#: plinth/modules/quassel/forms.py:23 +#: plinth/modules/quassel/forms.py:22 #, fuzzy #| msgid "Enable Subdomains" msgid "TLS domain" msgstr "ENABLE SUBDOMAINS" -#: plinth/modules/quassel/forms.py:25 +#: plinth/modules/quassel/forms.py:24 msgid "" "Select a domain to use TLS with. If the list is empty, please configure at " "least one domain with certificates." @@ -4840,7 +4830,7 @@ msgstr "" msgid "Quasseldroid" msgstr "" -#: plinth/modules/radicale/__init__.py:32 +#: plinth/modules/radicale/__init__.py:33 #, python-brace-format msgid "" "Radicale is a CalDAV and CardDAV server. It allows synchronization and " @@ -4849,34 +4839,34 @@ msgid "" "can be accessed by any user with a {box_name} login." msgstr "" -#: plinth/modules/radicale/__init__.py:37 +#: plinth/modules/radicale/__init__.py:38 msgid "" "Radicale provides a basic web interface, which only supports creating new " "calendars and addressbooks. It does not support adding events or contacts, " "which must be done using a separate client." msgstr "" -#: plinth/modules/radicale/__init__.py:62 +#: plinth/modules/radicale/__init__.py:61 #: plinth/modules/radicale/manifest.py:75 msgid "Radicale" msgstr "" -#: plinth/modules/radicale/__init__.py:63 +#: plinth/modules/radicale/__init__.py:62 msgid "Calendar and Addressbook" msgstr "" -#: plinth/modules/radicale/forms.py:15 +#: plinth/modules/radicale/forms.py:14 msgid "Only the owner of a calendar/addressbook can view or make changes." msgstr "" -#: plinth/modules/radicale/forms.py:19 +#: plinth/modules/radicale/forms.py:18 #, python-brace-format msgid "" "Any user with a {box_name} login can view any calendar/addressbook, but only " "the owner can make changes." msgstr "" -#: plinth/modules/radicale/forms.py:24 +#: plinth/modules/radicale/forms.py:23 #, python-brace-format msgid "" "Any user with a {box_name} login can view or make changes to any calendar/" @@ -5028,11 +5018,11 @@ msgid "" "private space." msgstr "" -#: plinth/modules/samba/__init__.py:47 +#: plinth/modules/samba/__init__.py:59 msgid "Access to the private shares" msgstr "" -#: plinth/modules/samba/__init__.py:61 +#: plinth/modules/samba/__init__.py:62 msgid "Samba" msgstr "" @@ -5106,13 +5096,13 @@ msgstr "KITE NAME" msgid "Action" msgstr "ACTIONS" -#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:149 +#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:147 #, fuzzy #| msgid "Add Service" msgid "Open Share" msgstr "ADD SERVICE" -#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:147 +#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:145 #, fuzzy #| msgid "Add Service" msgid "Group Share" @@ -5160,49 +5150,49 @@ msgid "" "stores no cookies by default." msgstr "" -#: plinth/modules/searx/__init__.py:31 +#: plinth/modules/searx/__init__.py:45 msgid "Search the web" msgstr "" -#: plinth/modules/searx/__init__.py:47 plinth/modules/searx/manifest.py:9 +#: plinth/modules/searx/__init__.py:48 plinth/modules/searx/manifest.py:9 msgid "Searx" msgstr "" -#: plinth/modules/searx/__init__.py:48 +#: plinth/modules/searx/__init__.py:49 #, fuzzy #| msgid "Web Server" msgid "Web Search" msgstr "WEB SERVER" -#: plinth/modules/searx/forms.py:15 +#: plinth/modules/searx/forms.py:13 #, fuzzy #| msgid "Save Services" msgid "Safe Search" msgstr "SAVE SERVICES" -#: plinth/modules/searx/forms.py:16 +#: plinth/modules/searx/forms.py:14 msgid "Select the default family filter to apply to your search results." msgstr "" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "None" msgstr "" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 #, fuzzy #| msgid "Mode" msgid "Moderate" msgstr "MODE" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "Strict" msgstr "" -#: plinth/modules/searx/forms.py:20 +#: plinth/modules/searx/forms.py:18 msgid "Allow Public Access" msgstr "" -#: plinth/modules/searx/forms.py:21 +#: plinth/modules/searx/forms.py:19 msgid "Allow this application to be used by anyone who can reach it." msgstr "" @@ -5392,32 +5382,32 @@ msgstr "" msgid "Socks5 Proxy" msgstr "" +#: plinth/modules/shadowsocks/forms.py:12 #: plinth/modules/shadowsocks/forms.py:13 -#: plinth/modules/shadowsocks/forms.py:14 msgid "Recommended" msgstr "" -#: plinth/modules/shadowsocks/forms.py:37 +#: plinth/modules/shadowsocks/forms.py:36 #, fuzzy #| msgid "Service" msgid "Server" msgstr "SERVICE" -#: plinth/modules/shadowsocks/forms.py:38 +#: plinth/modules/shadowsocks/forms.py:37 msgid "Server hostname or IP address" msgstr "" -#: plinth/modules/shadowsocks/forms.py:42 +#: plinth/modules/shadowsocks/forms.py:41 #, fuzzy #| msgid "Server port" msgid "Server port number" msgstr "SERVER PORT" -#: plinth/modules/shadowsocks/forms.py:45 +#: plinth/modules/shadowsocks/forms.py:44 msgid "Password used to encrypt data. Must match server password." msgstr "" -#: plinth/modules/shadowsocks/forms.py:50 +#: plinth/modules/shadowsocks/forms.py:49 msgid "Encryption method. Must match setting on server." msgstr "" @@ -5462,11 +5452,11 @@ msgstr "PUBLISH KEY" msgid "Make files in this folder available to anyone with the link." msgstr "" -#: plinth/modules/sharing/forms.py:33 +#: plinth/modules/sharing/forms.py:34 msgid "User groups that can read the files in the share" msgstr "" -#: plinth/modules/sharing/forms.py:35 +#: plinth/modules/sharing/forms.py:36 msgid "" "Users of the selected user groups will be able to read the files in the " "share." @@ -5777,13 +5767,13 @@ msgstr "" msgid "Secure Shell (SSH) Server" msgstr "SECURE SHELL (SSH) SERVER" -#: plinth/modules/ssh/forms.py:15 +#: plinth/modules/ssh/forms.py:13 #, fuzzy #| msgid "Use HTTP basic authentication" msgid "Disable password authentication" msgstr "USE HTTP BASIC AUTHENTICATION" -#: plinth/modules/ssh/forms.py:16 +#: plinth/modules/ssh/forms.py:14 msgid "" "Improves security by preventing password guessing. Ensure that you have " "setup SSH keys in your administrator user account before enabling this " @@ -5836,145 +5826,145 @@ msgid "" "media, expand the root partition etc." msgstr "" -#: plinth/modules/storage/__init__.py:52 plinth/modules/storage/__init__.py:318 +#: plinth/modules/storage/__init__.py:54 plinth/modules/storage/__init__.py:320 #, fuzzy #| msgid "reStore" msgid "Storage" msgstr "RESTORE" -#: 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 "" -#: plinth/modules/storage/__init__.py:313 +#: plinth/modules/storage/__init__.py:315 #, no-python-format, python-brace-format msgid "Low space on system partition: {percent_used}% used, {free_space} free." msgstr "" -#: plinth/modules/storage/__init__.py:315 +#: plinth/modules/storage/__init__.py:317 msgid "Low disk space" msgstr "" -#: plinth/modules/storage/forms.py:64 +#: plinth/modules/storage/forms.py:63 #, fuzzy #| msgid "Invalid hostname" msgid "Invalid directory name." msgstr "INVALID HOSTNAME" -#: plinth/modules/storage/forms.py:82 +#: plinth/modules/storage/forms.py:80 msgid "Directory does not exist." msgstr "" -#: plinth/modules/storage/forms.py:84 +#: plinth/modules/storage/forms.py:83 #, fuzzy #| msgid "Download directory" msgid "Path is not a directory." msgstr "DOWNLOAD DIRECTORY" -#: plinth/modules/storage/forms.py:87 +#: plinth/modules/storage/forms.py:86 msgid "Directory is not readable by the user." msgstr "" -#: plinth/modules/storage/forms.py:90 +#: plinth/modules/storage/forms.py:89 msgid "Directory is not writable by the user." msgstr "" -#: plinth/modules/storage/forms.py:95 +#: plinth/modules/storage/forms.py:94 #, fuzzy #| msgid "Download directory" msgid "Directory" msgstr "DOWNLOAD DIRECTORY" -#: plinth/modules/storage/forms.py:98 +#: plinth/modules/storage/forms.py:96 msgid "Subdirectory (optional)" msgstr "" -#: plinth/modules/storage/forms.py:145 +#: plinth/modules/storage/forms.py:143 #, fuzzy #| msgid "Add Service" msgid "Share" msgstr "ADD SERVICE" -#: plinth/modules/storage/forms.py:153 +#: plinth/modules/storage/forms.py:151 msgid "Other directory (specify below)" msgstr "" @@ -6060,21 +6050,22 @@ msgid "" "synchronize more often. {box_name} runs a single instance of Syncthing that " "may be used by multiple users. Each user's set of devices may be " "synchronized with a distinct set of folders. The web interface on " -"{box_name} is only available for users belonging to the \"admin\" group." +"{box_name} is only available for users belonging to the \"admin\" or " +"\"syncthing\" group." msgstr "" -#: plinth/modules/syncthing/__init__.py:40 +#: plinth/modules/syncthing/__init__.py:53 #, fuzzy #| msgid "Installation" msgid "Administer Syncthing application" msgstr "INSTALLATION" -#: plinth/modules/syncthing/__init__.py:54 +#: plinth/modules/syncthing/__init__.py:56 #: plinth/modules/syncthing/manifest.py:13 msgid "Syncthing" msgstr "" -#: plinth/modules/syncthing/__init__.py:55 +#: plinth/modules/syncthing/__init__.py:57 msgid "File Synchronization" msgstr "" @@ -6111,37 +6102,37 @@ msgid "" "%(domain_name)s:5678\">https://%(domain_name)s:5678." msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:39 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:29 msgid "Local introducer" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:59 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:76 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:33 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:49 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:66 #, fuzzy #| msgid "Name" msgid "Pet Name" msgstr "NAME" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:56 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:46 msgid "Add new introducer" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:67 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:57 #, fuzzy #| msgid "Address" msgid "Add" msgstr "ADDRESS" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:72 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:62 msgid "Connected introducers" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:89 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:79 msgid "Remove" msgstr "" -#: plinth/modules/tor/__init__.py:33 +#: plinth/modules/tor/__init__.py:34 #, fuzzy #| msgid "" #| "Tor is an anonymous communication system. You can learn more about it " @@ -6162,42 +6153,42 @@ msgstr "" "THE " "TOR BROWSER." -#: plinth/modules/tor/__init__.py:55 +#: plinth/modules/tor/__init__.py:54 msgid "Tor" msgstr "" -#: plinth/modules/tor/__init__.py:66 +#: plinth/modules/tor/__init__.py:65 #, fuzzy #| msgid "Tor Hidden Service" msgid "Tor Onion Service" msgstr "TOR HIDDEN SERVICE" -#: plinth/modules/tor/__init__.py:70 +#: plinth/modules/tor/__init__.py:69 msgid "Tor Socks Proxy" msgstr "" -#: plinth/modules/tor/__init__.py:74 +#: plinth/modules/tor/__init__.py:73 msgid "Tor Bridge Relay" msgstr "TOR BRIDGE RELAY" -#: plinth/modules/tor/__init__.py:95 +#: plinth/modules/tor/__init__.py:98 msgid "Tor relay port available" msgstr "TOR RELAY PORT AVAILABLE" -#: plinth/modules/tor/__init__.py:105 +#: plinth/modules/tor/__init__.py:108 msgid "Obfs3 transport registered" msgstr "OBFS3 TRANSPORT REGISTERED" -#: plinth/modules/tor/__init__.py:115 +#: plinth/modules/tor/__init__.py:118 msgid "Obfs4 transport registered" msgstr "OBFS4 TRANSPORT REGISTERED" -#: plinth/modules/tor/__init__.py:208 +#: plinth/modules/tor/__init__.py:211 #, 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:219 +#: plinth/modules/tor/__init__.py:222 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "CONFIRM TOR USAGE AT {url} ON TCP{kind}" @@ -6350,7 +6341,7 @@ 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:27 +#: plinth/modules/transmission/__init__.py:28 msgid "" "BitTorrent is a peer-to-peer file sharing protocol. Transmission daemon " "handles Bitorrent file sharing. Note that BitTorrent is not anonymous." @@ -6358,7 +6349,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:48 +#: plinth/modules/transmission/__init__.py:51 #: plinth/modules/transmission/manifest.py:9 #, fuzzy #| msgid "Transmission BitTorrent" @@ -6391,15 +6382,15 @@ msgid "" "connecting." msgstr "" -#: plinth/modules/ttrss/__init__.py:42 +#: plinth/modules/ttrss/__init__.py:54 msgid "Read and subscribe to news feeds" msgstr "" -#: plinth/modules/ttrss/__init__.py:56 plinth/modules/ttrss/manifest.py:19 +#: plinth/modules/ttrss/__init__.py:57 plinth/modules/ttrss/manifest.py:19 msgid "Tiny Tiny RSS" msgstr "" -#: plinth/modules/ttrss/__init__.py:57 +#: plinth/modules/ttrss/__init__.py:58 msgid "News Feed Reader" msgstr "" @@ -6411,13 +6402,13 @@ msgstr "" msgid "Check for and apply the latest software and security updates." msgstr "" -#: plinth/modules/upgrades/__init__.py:38 plinth/templates/setup.html:74 +#: plinth/modules/upgrades/__init__.py:40 plinth/templates/setup.html:74 #, fuzzy #| msgid "Update URL" msgid "Update" msgstr "UPDATE URL" -#: plinth/modules/upgrades/__init__.py:76 +#: plinth/modules/upgrades/__init__.py:78 #, fuzzy #| msgid "FreedomBox Manual" msgid "FreedomBox Updated" @@ -6484,47 +6475,41 @@ msgstr "" #: plinth/modules/upgrades/templates/upgrades_configure.html:11 #: plinth/modules/upgrades/templates/upgrades_configure.html:12 -#: plinth/modules/upgrades/views.py:88 +#: plinth/modules/upgrades/views.py:85 #, fuzzy #| msgid "Last update" msgid "Manual update" msgstr "LAST UPDATE" -#: plinth/modules/upgrades/views.py:47 +#: plinth/modules/upgrades/views.py:46 #, python-brace-format msgid "Error when configuring unattended-upgrades: {error}" msgstr "ERROR WHEN CONFIGURING UNATTENDED-UPGRADES: {error}" -#: plinth/modules/upgrades/views.py:51 +#: plinth/modules/upgrades/views.py:50 msgid "Automatic upgrades enabled" msgstr "AUTOMATIC UPGRADES ENABLED" -#: plinth/modules/upgrades/views.py:54 +#: plinth/modules/upgrades/views.py:53 msgid "Automatic upgrades disabled" msgstr "AUTOMATIC UPGRADES DISABLED" -#: plinth/modules/upgrades/views.py:56 -#, fuzzy -#| msgid "Setting unchanged" -msgid "Settings unchanged" -msgstr "SETTING UNCHANGED" - -#: plinth/modules/upgrades/views.py:82 +#: plinth/modules/upgrades/views.py:79 msgid "Upgrade process started." msgstr "UPGRADE PROCESS STARTED." -#: plinth/modules/upgrades/views.py:85 +#: plinth/modules/upgrades/views.py:82 msgid "Starting upgrade failed." msgstr "STARTING UPGRADE FAILED." -#: plinth/modules/users/__init__.py:37 +#: plinth/modules/users/__init__.py:39 msgid "" "Create and managed user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " "account to be part of a group to authorize the user to access the app." msgstr "" -#: plinth/modules/users/__init__.py:42 +#: plinth/modules/users/__init__.py:44 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -6532,47 +6517,53 @@ msgid "" "group may alter apps or system settings." msgstr "" -#: plinth/modules/users/__init__.py:64 +#: plinth/modules/users/__init__.py:65 msgid "Users and Groups" msgstr "USERS AND GROUPS" -#: plinth/modules/users/__init__.py:115 +#: plinth/modules/users/__init__.py:78 +msgid "Access to all services and system settings" +msgstr "" + +#: plinth/modules/users/__init__.py:122 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "CHECK LDAP ENTRY \"{search_item}\"" -#: plinth/modules/users/forms.py:28 -msgid "Access to all services and system settings" -msgstr "" - -#: plinth/modules/users/forms.py:44 +#: plinth/modules/users/forms.py:36 msgid "Username is taken or is reserved." msgstr "" -#: plinth/modules/users/forms.py:72 +#: plinth/modules/users/forms.py:63 #, fuzzy #| msgid "Invalid server name" msgid "Enter a valid username." msgstr "INVALID SERVER NAME" -#: plinth/modules/users/forms.py:78 +#: plinth/modules/users/forms.py:69 msgid "" "Required. 150 characters or fewer. English letters, digits and @/./-/_ only." msgstr "" -#: plinth/modules/users/forms.py:91 plinth/modules/users/forms.py:207 +#: plinth/modules/users/forms.py:83 plinth/modules/users/forms.py:196 #, fuzzy #| msgid "Transmission BitTorrent" msgid "Permissions" msgstr "TRANSMISSION BITTORRENT" -#: plinth/modules/users/forms.py:94 +#: plinth/modules/users/forms.py:85 +#, fuzzy +#| msgid "" +#| "Select which services should be available to the new user. The user will " +#| "be able to log in to services that support single sign-on through LDAP, " +#| "if they are in the appropriate group.

Users in the admin group " +#| "will be able to log in to all services. They can also log in to the " +#| "system through SSH and have administrative privileges (sudo)." msgid "" -"Select which services should be available to the new user. The user will be " -"able to log in to services that support single sign-on through LDAP, if they " -"are in the appropriate group.

Users in the admin group will be " -"able to log in to all services. They can also log in to the system through " -"SSH and have administrative privileges (sudo)." +"user. The user will be able to log in to services that support single sign-" +"on through LDAP, if they are in the appropriate group.

Users in " +"the admin group will be able to log in to all services. They can also log in " +"to the system through SSH and have administrative privileges (sudo)." msgstr "" "SELECT WHICH SERVICES SHOULD BE AVAILABLE TO THE NEW USER. THE USER WILL BE " "ABLE TO LOG IN TO SERVICES THAT SUPPORT SINGLE SIGN-ON THROUGH LDAP, IF THEY " @@ -6580,20 +6571,20 @@ msgstr "" "ABLE TO LOG IN TO ALL SERVICES. THEY CAN ALSO LOG IN TO THE SYSTEM THROUGH " "SSH AND HAVE ADMINISTRATIVE PRIVILEGES (SUDO)." -#: plinth/modules/users/forms.py:133 plinth/modules/users/forms.py:357 +#: plinth/modules/users/forms.py:122 plinth/modules/users/forms.py:345 msgid "Creating LDAP user failed." msgstr "CREATING LDAP USER FAILED." -#: plinth/modules/users/forms.py:144 +#: plinth/modules/users/forms.py:133 #, python-brace-format msgid "Failed to add new user to {group} group." msgstr "FAILED TO ADD NEW USER TO {group} GROUP." -#: plinth/modules/users/forms.py:158 +#: plinth/modules/users/forms.py:147 msgid "Authorized SSH Keys" msgstr "" -#: plinth/modules/users/forms.py:160 +#: plinth/modules/users/forms.py:149 msgid "" "Setting an SSH public key will allow this user to securely log in to the " "system without using a password. You may enter multiple keys, one on each " @@ -6603,45 +6594,45 @@ msgstr "" "SYSTEM WITHOUT USING A PASSWORD. YOU MAY ENTER MULTIPLE KEYS, ONE ON EACH " "LINE. BLANK LINES AND LINES STARTING WITH # WILL BE IGNORED." -#: plinth/modules/users/forms.py:244 +#: plinth/modules/users/forms.py:233 msgid "Renaming LDAP user failed." msgstr "RENAMING LDAP USER FAILED." -#: plinth/modules/users/forms.py:256 +#: plinth/modules/users/forms.py:245 msgid "Failed to remove user from group." msgstr "FAILED TO REMOVE USER FROM GROUP." -#: plinth/modules/users/forms.py:267 +#: plinth/modules/users/forms.py:256 msgid "Failed to add user to group." msgstr "FAILED TO ADD USER TO GROUP." -#: plinth/modules/users/forms.py:276 +#: plinth/modules/users/forms.py:265 msgid "Unable to set SSH keys." msgstr "" -#: plinth/modules/users/forms.py:291 +#: plinth/modules/users/forms.py:280 #, fuzzy #| msgid "Failed to add user to group." msgid "Failed to change user status." msgstr "FAILED TO ADD USER TO GROUP." -#: plinth/modules/users/forms.py:299 +#: plinth/modules/users/forms.py:288 msgid "Cannot delete the only administrator in the system." msgstr "" -#: plinth/modules/users/forms.py:331 +#: plinth/modules/users/forms.py:319 msgid "Changing LDAP user password failed." msgstr "CHANGING LDAP USER PASSWORD FAILED." -#: plinth/modules/users/forms.py:366 +#: plinth/modules/users/forms.py:354 msgid "Failed to add new user to admin group." msgstr "FAILED TO ADD NEW USER TO ADMIN GROUP." -#: plinth/modules/users/forms.py:383 +#: plinth/modules/users/forms.py:371 msgid "Failed to restrict console access." msgstr "" -#: plinth/modules/users/forms.py:395 +#: plinth/modules/users/forms.py:383 msgid "User account created, you are now logged in" msgstr "USER ACCOUNT CREATED, YOU ARE NOW LOGGED IN" @@ -7477,22 +7468,30 @@ msgstr "INSTALLING %(package_names)s: %(status)s" msgid "%(percentage)s%% complete" msgstr "%(percentage)s%% COMPLETE" -#: plinth/views.py:184 -#, fuzzy -#| msgid "Applications" -msgid "Application enabled" -msgstr "APPLICATIONS" - -#: plinth/views.py:187 -#, fuzzy -#| msgid "Applications" -msgid "Application disabled" -msgstr "APPLICATIONS" - #: plinth/web_framework.py:107 msgid "Gujarati" msgstr "" +#, fuzzy +#~| msgid "Applications" +#~ msgid "Enable application" +#~ msgstr "APPLICATIONS" + +#, fuzzy +#~| msgid "Setting unchanged" +#~ msgid "Settings unchanged" +#~ msgstr "SETTING UNCHANGED" + +#, fuzzy +#~| msgid "Applications" +#~ msgid "Application enabled" +#~ msgstr "APPLICATIONS" + +#, fuzzy +#~| msgid "Applications" +#~ msgid "Application disabled" +#~ msgstr "APPLICATIONS" + #~ msgid "Kite details set" #~ msgstr "KITE DETAILS SET" diff --git a/plinth/locale/fr/LC_MESSAGES/django.po b/plinth/locale/fr/LC_MESSAGES/django.po index c0fc79d01..8e46826e4 100644 --- a/plinth/locale/fr/LC_MESSAGES/django.po +++ b/plinth/locale/fr/LC_MESSAGES/django.po @@ -7,9 +7,9 @@ msgid "" msgstr "" "Project-Id-Version: FreedomBox UI\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-23 18:54-0400\n" -"PO-Revision-Date: 2020-03-19 22:36+0000\n" -"Last-Translator: Thomas Vincent \n" +"POT-Creation-Date: 2020-04-06 19:59-0400\n" +"PO-Revision-Date: 2020-04-11 13:36+0000\n" +"Last-Translator: Jeannette L \n" "Language-Team: French \n" "Language: fr\n" @@ -30,17 +30,17 @@ msgstr "FreedomBox" #: plinth/daemon.py:70 #, python-brace-format msgid "Service {service_name} is running" -msgstr "Le service {service_name} est en fonctionnement." +msgstr "Le service {service_name} est actif" #: plinth/daemon.py:96 #, python-brace-format msgid "Listening on {kind} port {listen_address}:{port}" -msgstr "Écoute sur le port {listen_address}:{port} ({kind})" +msgstr "Écoute sur le port {kind} {listen_address}:{port}" #: plinth/daemon.py:99 #, python-brace-format msgid "Listening on {kind} port {port}" -msgstr "Écoute sur le port {port}, type {kind}" +msgstr "Écoute sur le port {kind} {port}" #: plinth/daemon.py:167 #, python-brace-format @@ -52,31 +52,27 @@ msgstr "Connexion à {host}:{port}" msgid "Cannot connect to {host}:{port}" msgstr "Impossible de se connecter à {host}:{port}" -#: plinth/forms.py:24 -msgid "Enable application" -msgstr "Activer l'application" - -#: plinth/forms.py:39 +#: plinth/forms.py:38 msgid "Select a domain name to be used with this application" msgstr "Sélectionnez un nom de domaine à utiliser avec cette application" -#: plinth/forms.py:41 +#: plinth/forms.py:40 msgid "" "Warning! The application may not work properly if domain name is changed " "later." msgstr "" "Attention ! Cette application peut ne peut pas fonctionner correctement si " -"le nom de domaine est modifié plus tard." +"le nom de domaine est modifié ultérieurement." -#: plinth/forms.py:49 +#: plinth/forms.py:48 msgid "Language" msgstr "Langue" -#: plinth/forms.py:50 +#: plinth/forms.py:49 msgid "Language to use for presenting this web interface" msgstr "Langue de cette interface web" -#: plinth/forms.py:57 +#: plinth/forms.py:56 msgid "Use the language preference set in the browser" msgstr "Utiliser les préférences de langue du navigateur" @@ -98,12 +94,12 @@ msgstr "Erreur lors de l’installation de l'application : {error}" #: plinth/modules/monkeysphere/templates/monkeysphere.html:73 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:45 msgid "Web Server" -msgstr "Serveur Web" +msgstr "Serveur web" #: plinth/modules/apache/__init__.py:46 #, python-brace-format msgid "{box_name} Web Interface (Plinth)" -msgstr "Interface web de {box_name} (Plinth)" +msgstr "Interface web de la {box_name} (Plinth)" #: plinth/modules/apache/components.py:120 #, python-brace-format @@ -125,12 +121,13 @@ msgid "" "disabled to improve security especially when connecting to a hostile local " "network." msgstr "" -"Le service Découverte permet aux autres machines du réseau de découvrir " -"votre {box_name} et les services qu'il propose. Il permet aussi à {box_name} " -"de découvrir d'autres machines et services opérant sur votre réseau local. " -"Le service Découverte n'est pas essentiel et fonctionne seulement sur les " -"réseaux internes. Il peut être désactiver pour améliorer la sécurité " -"particulièrement lors d'une connexion à un réseau local hostile." +"La découverte de services permet aux autres machines du réseau de découvrir " +"votre {box_name} et les services qu’elle propose. Elle permet aussi à la " +"{box_name} de découvrir d’autres machines et services opérant sur votre " +"réseau local. La découverte de services n’est pas essentielle et fonctionne " +"uniquement sur les réseaux internes. Elle peut être désactivée pour " +"améliorer la sécurité en particulier dans le cas d’une connexion à un réseau " +"local hostile." #: plinth/modules/avahi/__init__.py:58 msgid "Service Discovery" @@ -167,7 +164,7 @@ msgstr "Sélectionnez les applications que vous souhaitez restaurer." #: plinth/modules/backups/forms.py:79 msgid "Upload File" -msgstr "Téléverser un fichier" +msgstr "Charger un fichier" #: plinth/modules/backups/forms.py:81 msgid "Backup files have to be in .tar.gz format" @@ -175,7 +172,7 @@ msgstr "Les fichiers de sauvegarde doivent être au format .tar.gz" #: plinth/modules/backups/forms.py:82 msgid "Select the backup file you want to upload" -msgstr "Selectionner le fichier de sauvegarde que vous voulez charger" +msgstr "Sélectionnez le fichier de sauvegarde que vous souhaitez charger" #: plinth/modules/backups/forms.py:88 msgid "Repository path format incorrect." @@ -189,12 +186,12 @@ msgstr "Nom d'utilisateur invalide : {username}" #: plinth/modules/backups/forms.py:105 #, python-brace-format msgid "Invalid hostname: {hostname}" -msgstr "Nom d'hôte invalide : {hostname}" +msgstr "Nom de machine invalide : {hostname}" #: plinth/modules/backups/forms.py:109 #, python-brace-format msgid "Invalid directory path: {dir_path}" -msgstr "Chemin du dossier invalide : {dir_path}" +msgstr "Chemin de répertoire invalide : {dir_path}" #: plinth/modules/backups/forms.py:115 msgid "Encryption" @@ -215,7 +212,8 @@ msgstr "Phrase secrète" #: plinth/modules/backups/forms.py:121 msgid "Passphrase; Only needed when using encryption." msgstr "" -"Phrase secrète ; nécessaire uniquement lors de l'utilisation du chiffrement." +"Phrase secrète ; nécessaire uniquement dans le cas où le chiffrement est " +"utilisé." #: plinth/modules/backups/forms.py:124 msgid "Confirm Passphrase" @@ -231,7 +229,7 @@ msgstr "Les phrases secrètes de chiffrement entrées ne correspondent pas" #: plinth/modules/backups/forms.py:139 msgid "Passphrase is needed for encryption." -msgstr "La phrase de passe est nécessaire pour le chiffrement." +msgstr "La phrase secrète est nécessaire pour le chiffrement." #: plinth/modules/backups/forms.py:174 msgid "Select Disk or Partition" @@ -250,8 +248,8 @@ msgid "" "Path of a new or existing repository. Example: user@host:~/path/to/repo/" msgstr "" -"Chemin d'un dépôt nouveau ou existant. Exemple: utilisateur@hôte:~/chemin/" -"vers/dépôt/" +"Chemin d'un dépôt, nouveau ou existant. Exemple : utilisateur@machine:~/" +"chemin/vers/le/dépôt/" #: plinth/modules/backups/forms.py:189 msgid "SSH server password" @@ -262,24 +260,24 @@ msgid "" "Password of the SSH Server.
SSH key-based authentication is not yet " "possible." msgstr "" -"Mot de passe du serveur SSH.
L'authentification par clé SSH n'est pas " -"encore possible." +"Mot de passe du serveur SSH.
L’authentification par clé SSH n'est pas " +"encore supportée." #: plinth/modules/backups/forms.py:209 msgid "Remote backup repository already exists." -msgstr "Un dépôt de sauvegarde distant existe déjà." +msgstr "Ce dépôt de sauvegarde distant existe déjà." #: plinth/modules/backups/forms.py:215 msgid "Select verified SSH public key" -msgstr "Sélectionnez une clé SS publique vérifiée" +msgstr "Sélectionnez une clé publique SSH vérifiée" #: plinth/modules/backups/repository.py:33 msgid "" "Connection refused - make sure you provided correct credentials and the " "server is running." msgstr "" -"Connexion refusée - assurez-vous que vous avez fourni les informations " -"d'identification correctes et que le serveur est en cours d'exécution." +"Connexion refusée – assurez-vous que vous avez fourni les informations " +"d’identification correctes et que le serveur est démarré." #: plinth/modules/backups/repository.py:40 msgid "Connection refused" @@ -310,7 +308,7 @@ msgstr "Le dépôt existant n’est pas chiffré." #: plinth/modules/backups/repository.py:322 #, python-brace-format msgid "{box_name} storage" -msgstr "Stockage {box_name}" +msgstr "Stockage de la {box_name}" #: plinth/modules/backups/templates/backups.html:30 #: plinth/modules/backups/views.py:60 @@ -327,7 +325,7 @@ msgstr "Charger et restaurer une archive de sauvegarde" #: plinth/modules/backups/templates/backups.html:41 msgid "Upload and Restore" -msgstr "Charger et Restaurer" +msgstr "Charger et restaurer" #: plinth/modules/backups/templates/backups.html:44 msgid "Add a backup location" @@ -356,9 +354,9 @@ msgid "" "To restore a backup on a new %(box_name)s you need the ssh credentials and, " "if chosen, the encryption passphrase." msgstr "" -"Les informations d'identification de ce dépôt sont stockées sur votre " +"Les informations d’identification pour ce dépôt sont stockées sur votre " "%(box_name)s.
Pour restaurer une sauvegarde sur une nouvelle " -"%(box_name)s, vous devez disposer des informations d'identification SSH et, " +"%(box_name)s, vous devrez disposer des informations d’identification SSH et, " "le cas échéant, de la phrase secrète de chiffrement." #: plinth/modules/backups/templates/backups_add_remote_repository.html:28 @@ -415,12 +413,12 @@ msgstr "Monter l'emplacement" #: plinth/modules/backups/templates/backups_repository.html:56 msgid "Remove Backup Location. This will not delete the remote backup." msgstr "" -"Supprimer l'emplacement de sauvegarde. Cela ne supprimera pas la sauvegarde " -"distante." +"Supprimer l'emplacement de sauvegarde. Cette action ne supprimera pas la " +"sauvegarde distante." #: plinth/modules/backups/templates/backups_repository.html:77 msgid "Download" -msgstr "télécharger" +msgstr "Télécharger" #: plinth/modules/backups/templates/backups_repository.html:81 #: plinth/modules/backups/templates/backups_restore.html:28 @@ -430,7 +428,7 @@ msgstr "Restaurer" #: plinth/modules/backups/templates/backups_repository.html:103 msgid "No archives currently exist." -msgstr "Aucune archive n'existe actuellement." +msgstr "Aucune archive existante." #: plinth/modules/backups/templates/backups_repository_remove.html:13 msgid "Are you sure that you want to remove this repository?" @@ -441,9 +439,9 @@ msgid "" "The remote repository will not be deleted. This just removes the repository " "from the listing on the backup page, you can add it again later on." msgstr "" -"Le dépôt distant ne sera pas supprimé. Cela va juste supprimer le dépôt de " -"votre liste sur la page de sauvegarde, vous pourrez l’ajouter à nouveau " -"ultérieurement." +"Le dépôt distant ne sera pas supprimé. Cette action va juste supprimer le " +"dépôt de votre liste sur la page de sauvegarde, vous pourrez l’ajouter à " +"nouveau ultérieurement." #: plinth/modules/backups/templates/backups_repository_remove.html:31 msgid "Remove Location" @@ -455,7 +453,7 @@ msgstr "Restaurer les données depuis" #: plinth/modules/backups/templates/backups_restore.html:32 msgid "Restoring" -msgstr "Restauration" +msgstr "Restauration en cours" #: plinth/modules/backups/templates/backups_upload.html:17 #, python-format @@ -469,11 +467,11 @@ msgid "" " " msgstr "" "\n" -" Mettre en ligne un fichier de sauvegarde depuis un autre %(box_name)s " +" Charger un fichier de sauvegarde créé depuis une autre %(box_name)s " "pour restaurer\n" -" son contenu. Vous pouvez choisir les applications que vous souhaitez " -"restaurer après avoir mis en ligne un\n" -" fichier de retour.\n" +" son contenu. Vous pourrez choisir les applications que vous souhaitez " +"restaurer après avoir chargé le\n" +" fichier de sauvegarde.\n" " " #: plinth/modules/backups/templates/backups_upload.html:27 @@ -487,8 +485,8 @@ msgid "" "You have %(max_filesize)s available to restore a backup. Exceeding this " "limit can leave your %(box_name)s unusable." msgstr "" -"Vous avez %(max_filesize)s disponible pour restaurer les données. Dépasser " -"cette limite peut rendre votre %(box_name)s inutilisable." +"Vous avez %(max_filesize)s disponibles pour la restauration de données. Un " +"dépassement de cette limite peut rendre votre %(box_name)s inutilisable." #: plinth/modules/backups/templates/backups_upload.html:41 msgid "Upload file" @@ -500,8 +498,8 @@ msgid "" "Could not reach SSH host %(hostname)s. Please verify that the host is up and " "accepting connections." msgstr "" -"Impossible d’atteindre l’hôte SSH %(hostname)s. Veuillez vérifier que l’hôte " -"est démarré et qu’il accepte les connexions." +"Impossible de joindre le serveur SSH %(hostname)s. Veuillez vérifier que la " +"machine est démarrée et qu’elle accepte les connexions." #: plinth/modules/backups/templates/verify_ssh_hostkey.html:28 #, python-format @@ -509,7 +507,7 @@ msgid "" "The authenticity of SSH host %(hostname)s could not be established. The host " "advertises the following SSH public keys. Please verify any one of them." msgstr "" -"L’authenticité de l’hôte SSH %(hostname)s n’a pu être établie. L’hôte " +"L’authenticité du serveur SSH %(hostname)s n’a pu être établie. Le serveur " "présente les clés publiques SSH suivantes. Veuillez les vérifier." #: plinth/modules/backups/templates/verify_ssh_hostkey.html:40 @@ -522,14 +520,14 @@ msgid "" "one of the provided options. You can also use dsa, ecdsa, ed25519 etc. " "instead of rsa, by choosing the corresponding file." msgstr "" -"Lancez la commande suivante sur la machine hôte SSH. Sa sortie devrait " -"correspondre à l’une des options fournies. Vous pouvez également utiliser " -"dsa, ecdsa, ed25519, etc., à la place de rsa, en sélectionnant le fichier " -"correspondant." +"Lancez la commande suivante sur la machine hébergeant le serveur SSH. La " +"sortie devrait correspondre à l’une des valeurs affichées ci-dessus. Vous " +"pouvez également utiliser dsa, ecdsa, ed25519, etc. à la place de rsa en " +"sélectionnant le fichier correspondant dans la commande." #: plinth/modules/backups/templates/verify_ssh_hostkey.html:60 msgid "Verify Host" -msgstr "Vérifier l’hôte" +msgstr "Vérifier le serveur" #: plinth/modules/backups/views.py:55 msgid "Archive created." @@ -545,7 +543,7 @@ msgstr "Archive supprimée." #: plinth/modules/backups/views.py:107 msgid "Upload and restore a backup" -msgstr "Téléverser et restaurer une sauvegarde" +msgstr "Charger et restaurer une sauvegarde" #: plinth/modules/backups/views.py:142 msgid "Restored files from backup." @@ -577,27 +575,27 @@ msgstr "Ajouter un nouveau dépôt SSH distant." #: plinth/modules/backups/views.py:310 msgid "Verify SSH hostkey" -msgstr "Vérifier la clé SSH de l’hôte" +msgstr "Vérifier la clé d’authenticité du serveur SSH" #: plinth/modules/backups/views.py:336 msgid "SSH host already verified." -msgstr "Hôte SSH déjà vérifié." +msgstr "Serveur SSH déjà vérifié." #: plinth/modules/backups/views.py:346 msgid "SSH host verified." -msgstr "Hôte SSH vérifié." +msgstr "Serveur SSH vérifié." #: plinth/modules/backups/views.py:360 msgid "SSH host public key could not be verified." -msgstr "La clé publique de l'hôte SSH n'a pas pu être vérifiée." +msgstr "La clé publique d’authenticité du serveur SSH n’a pu être vérifiée." #: plinth/modules/backups/views.py:362 msgid "Authentication to remote server failed." -msgstr "Échec de l'authentification sur le serveur distant." +msgstr "L'authentification sur le serveur distant a échoué." #: plinth/modules/backups/views.py:364 msgid "Error establishing connection to server: {}" -msgstr "Erreur en établissant la connexion au serveur : {}" +msgstr "Erreur lors de la connexion au serveur : {}" #: plinth/modules/backups/views.py:375 msgid "Repository removed." @@ -635,9 +633,9 @@ msgid "" "machines on local network. It is also incompatible with sharing Internet " "connection from {box_name}." msgstr "" -"Actuellement sur {box_name} BIND est utilisé uniquement pour résoudre les " -"requêtes DNS des autres appareils du réseau local. Il est également " -"incompatible avec le partage de connexion Internet depuis {box_name}." +"Actuellement sur la {box_name}, BIND est utilisé uniquement pour résoudre " +"les requêtes DNS des autres appareils du réseau local. Il est également " +"incompatible avec le partage de connexion Internet par la {box_name}." #: plinth/modules/bind/__init__.py:82 msgid "BIND" @@ -647,22 +645,22 @@ msgstr "BIND" msgid "Domain Name Server" msgstr "Serveur de nom de domaine" -#: plinth/modules/bind/forms.py:22 +#: plinth/modules/bind/forms.py:20 msgid "Forwarders" msgstr "Transitaires" -#: plinth/modules/bind/forms.py:23 +#: plinth/modules/bind/forms.py:21 msgid "" "A list DNS servers, separated by space, to which requests will be forwarded" msgstr "" -"Une liste des serveurs DNS, séparé par ESPACE, vers lesquels les requêtes " -"seront transmises" +"Une liste des serveurs DNS, séparés par des espaces, vers lesquels les " +"requêtes seront transmises" -#: plinth/modules/bind/forms.py:27 +#: plinth/modules/bind/forms.py:25 msgid "Enable DNSSEC" msgstr "Activer DNSSEC" -#: plinth/modules/bind/forms.py:28 +#: plinth/modules/bind/forms.py:26 msgid "Enable Domain Name System Security Extensions" msgstr "Activer les extensions de sécurité DNS (DNSSEC)" @@ -694,10 +692,11 @@ msgstr "Adresses IP" msgid "Refresh IP address and domains" msgstr "Rafraîchir l’adresse IP et les domaines" -#: plinth/modules/bind/views.py:72 plinth/modules/deluge/views.py:44 +#: plinth/modules/bind/views.py:72 plinth/modules/deluge/views.py:42 #: plinth/modules/dynamicdns/views.py:150 plinth/modules/openvpn/views.py:133 -#: plinth/modules/pagekite/forms.py:91 plinth/modules/shadowsocks/views.py:59 -#: plinth/modules/transmission/views.py:50 +#: plinth/modules/pagekite/forms.py:90 plinth/modules/quassel/views.py:30 +#: plinth/modules/shadowsocks/views.py:59 +#: plinth/modules/transmission/views.py:47 msgid "Configuration updated" msgstr "Configuration mise à jour" @@ -710,9 +709,9 @@ msgid "" "console operations is also available." msgstr "" "Cockpit est un gestionnaire de serveur qui simplifie l'administration de " -"serveurs GNU/Linux à l'aide d'un navigateur Web. Sur une {box_name}, des " +"serveurs GNU/Linux à l'aide d'un navigateur web. Sur une {box_name}, des " "contrôles sont disponibles pour des fonctions avancées qui ne sont pas " -"nécessaires habituellement. Un terminal Web est également disponible pour " +"nécessaires habituellement. Un terminal web est également disponible pour " "des opérations depuis une console." #: plinth/modules/cockpit/__init__.py:38 @@ -722,7 +721,7 @@ msgid "" "belonging to the admin group." msgstr "" "Il peut être consulté par tout utilisateur " -"faisant partie du groupe admin sur {box_name}." +"faisant partie du groupe admin sur la {box_name}." #: plinth/modules/cockpit/__init__.py:42 msgid "" @@ -753,14 +752,14 @@ msgid "" "Here you can set some general configuration options like hostname, domain " "name, webserver home page etc." msgstr "" -"Vous pouvez ici configurer quelques options comme le nom d’hôte, le nom de " -"domaine, la page d’accueil du serveur web, etc." +"Vous pouvez ici configurer quelques options générales comme le nom de " +"machine, le nom de domaine, la page d’accueil du serveur web, etc." -#: plinth/modules/config/__init__.py:50 +#: plinth/modules/config/__init__.py:52 msgid "General Configuration" msgstr "Configuration générale" -#: plinth/modules/config/__init__.py:55 plinth/modules/dynamicdns/views.py:29 +#: plinth/modules/config/__init__.py:57 plinth/modules/dynamicdns/views.py:29 #: plinth/modules/names/templates/names.html:29 #: plinth/modules/names/templates/names.html:43 #: plinth/modules/snapshot/views.py:26 @@ -768,7 +767,7 @@ msgstr "Configuration générale" msgid "Configure" msgstr "Configurer" -#: plinth/modules/config/__init__.py:59 plinth/modules/config/forms.py:61 +#: plinth/modules/config/__init__.py:61 plinth/modules/config/forms.py:61 #: plinth/modules/dynamicdns/forms.py:95 msgid "Domain Name" msgstr "Nom de domaine" @@ -784,11 +783,11 @@ msgstr "Valeur par défaut pour Apache" #: plinth/modules/config/forms.py:36 msgid "FreedomBox Service (Plinth)" -msgstr "Service FreedomBox (Plinth)" +msgstr "Gestion de la FreedomBox (Plinth)" #: plinth/modules/config/forms.py:48 msgid "Hostname" -msgstr "Nom de Machine" +msgstr "Nom de machine" #: plinth/modules/config/forms.py:50 #, python-brace-format @@ -798,11 +797,11 @@ msgid "" "and have as interior characters only alphabets, digits and hyphens. Total " "length must be 63 characters or less." msgstr "" -"Le Nom de Machine est le nom local par lequel les autres machines sur le " -"réseau local atteindront votre {box_name}. Le nom doit débuter et finir par " -"une lettre de l'alphabet ou un chiffre. Il doit contenir entre le début et " -"la fin seulement des lettres de l'alphabet, des chiffres ou des traits " -"d’union « - ». Sa longueur maximum est de 63 signes." +"Le nom de machine est le nom local par lequel les autres machines sur le " +"réseau local joindront votre {box_name}. Le nom doit commencer et se " +"terminer par une lettre de l'alphabet ou un chiffre et contenir seulement " +"des lettres de l'alphabet, des chiffres ou des traits d’union « - ». Sa " +"longueur maximum est de 63 signes." #: plinth/modules/config/forms.py:57 msgid "Invalid hostname" @@ -818,18 +817,17 @@ msgid "" "63 characters or less. Total length of domain name must be 253 characters " "or less." msgstr "" -"Le Nom de Domaine est le nom global par lequel les autres machines sur " -"Internet peuvent atteindre votre {box_name}. Le nom ne doit contenir que des " -"mots ou labels séparés par des points. Chaque label doit débuter et se " -"terminer par une lettre de l'alphabet ou un chiffre. Chaque label doit " -"contenir entre le début et la fin seulement des lettres de l'alphabet, des " -"chiffres ou des traits d'union « - ». La longueur maximum d'un label est de " -"63 signes. La longueur totale du nom de domaine ne doit pas excéder 253 " -"signes." +"Le nom de domaine est le nom global par lequel les autres machines sur " +"Internet peuvent joindre votre {box_name}. Le nom ne doit contenir que des " +"mots ou « labels » séparés par des points. Chaque label doit commencer et se " +"terminer par une lettre de l'alphabet ou un chiffre et contenir uniquement " +"des lettres de l'alphabet, des chiffres ou des traits d’union « - ». La " +"longueur maximum d'un label est de 63 signes. La longueur totale du nom de " +"domaine ne doit pas excéder 253 signes." #: plinth/modules/config/forms.py:78 msgid "Webserver Home Page" -msgstr "Page d’accueil du serveur Web" +msgstr "Page d’accueil du serveur web" #: plinth/modules/config/forms.py:80 #, python-brace-format @@ -840,17 +838,17 @@ msgid "" "is set to something other than {box_name} Service (Plinth), your users must " "explicitly type /plinth or /freedombox to reach {box_name} Service (Plinth)." msgstr "" -"Sélectionnez la page par défaut qui sera affichée lorsque quelqu’un visitera " -"votre {box_name} sur le web. Un cas d’usage classique est de mettre votre " -"blog ou votre wiki en page d’accueil lorsque quelqu’un visite le nom de " -"domaine. Veuillez noter que dès que la page d’accueil est réglée sur autre " -"chose que le service (Plinth) de {box_name}, vos utilisateurs doivent " -"explicitement taper /plinth ou /freedombox pour atteindre le service " -"(Plinth) the {box_name}." +"Sélectionnez la page qui sera affichée par défaut lorsque quelqu’un visite " +"votre {box_name} sur le Web. Une utilisation classique est de mettre votre " +"blogue ou votre wiki en page d’accueil lorsque quelqu’un visite le nom de " +"domaine. Veuillez noter qu’en sélectionnant une page d’accueil différente de " +"« Gestion de la {box_name} (Plinth) », vos utilisateurs devront " +"explicitement ajouter le chemin /plinth ou /freedombox à l’adresse de la " +"{box_name} pour accéder à cette interface." #: plinth/modules/config/forms.py:91 msgid "Show advanced apps and features" -msgstr "Montrer les applications et fonctionnalités avancées" +msgstr "Afficher les applications et fonctionnalités avancées" #: plinth/modules/config/forms.py:92 msgid "Show apps and features that require more technical knowledge." @@ -861,31 +859,30 @@ msgstr "" #: plinth/modules/config/views.py:46 #, python-brace-format msgid "Error setting hostname: {exception}" -msgstr "Erreur lors de l'établissement du nom de machine : {exception}" +msgstr "Erreur lors de la définition du nom de machine : {exception}" #: plinth/modules/config/views.py:49 msgid "Hostname set" -msgstr "Nom de machine établi" +msgstr "Nom de machine configuré" #: plinth/modules/config/views.py:58 #, python-brace-format msgid "Error setting domain name: {exception}" -msgstr "Erreur lors de l'établissement du nom de domaine : {exception}" +msgstr "Erreur lors de la définition du nom de domaine : {exception}" #: plinth/modules/config/views.py:61 msgid "Domain name set" -msgstr "Nom de domaine établi" +msgstr "Nom de domaine paramétré" #: plinth/modules/config/views.py:69 #, python-brace-format msgid "Error setting webserver home page: {exception}" msgstr "" -"Erreur lors de l'établissement de la page d’accueil du serveur Web : " -"{exception}" +"Erreur lors du changement de page d’accueil du serveur web : {exception}" #: plinth/modules/config/views.py:72 msgid "Webserver home page set" -msgstr "Page d’accueil du serveur Web établie" +msgstr "Page d’accueil du serveur web modifiée" #: plinth/modules/config/views.py:80 #, python-brace-format @@ -894,11 +891,11 @@ msgstr "Erreur lors du changement de mode avancé : {exception}" #: plinth/modules/config/views.py:85 msgid "Showing advanced apps and features" -msgstr "Affichage des applications et fonctionnalités avancées" +msgstr "Les applications et fonctionnalités avancées seront affichées" #: plinth/modules/config/views.py:88 msgid "Hiding advanced apps and features" -msgstr "Cacher les applications et les fonctionnalités avancées" +msgstr "Les applications et les fonctionnalités avancées seront masquées" #: plinth/modules/coquelicot/__init__.py:24 msgid "" @@ -907,8 +904,8 @@ msgid "" "file. " msgstr "" "Coquelicot est une application web de partage de fichiers « en un clic » se " -"concentrant sur la protection de la vie privée des utilisateurs. C'est idéal " -"pour partager rapidement un seul fichier. " +"concentrant sur la protection de la vie privée des utilisateurs. C’est l’" +"outil idéal pour partager rapidement un fichier. " #: plinth/modules/coquelicot/__init__.py:27 msgid "" @@ -918,8 +915,8 @@ msgid "" "password is \"test\"." msgstr "" "Cette instance de Coquelicot est à disposition du public mais nécessite un " -"mot de passe de mise en ligne pour prévenir des accès non-autorisés. Vous " -"pouvez configurer un nouveau mot de passe de mise en ligne dans le " +"mot de passe de téléversement pour prévenir des accès non-autorisés. Vous " +"pouvez configurer un nouveau mot de passe de téléversement dans le " "formulaire qui apparaîtra ci-dessous après installation. Le mot de passe pas " "défaut est « test »." @@ -927,27 +924,27 @@ msgstr "" msgid "Coquelicot" msgstr "Coquelicot" -#: plinth/modules/coquelicot/__init__.py:47 plinth/modules/samba/__init__.py:62 +#: plinth/modules/coquelicot/__init__.py:47 plinth/modules/samba/__init__.py:63 msgid "File Sharing" msgstr "Partage de fichiers" -#: plinth/modules/coquelicot/forms.py:15 +#: plinth/modules/coquelicot/forms.py:13 msgid "Upload Password" -msgstr "Téléverser le mot de passe" +msgstr "Mot de passe de téléversement" -#: plinth/modules/coquelicot/forms.py:16 +#: plinth/modules/coquelicot/forms.py:14 msgid "" "Set a new upload password for Coquelicot. Leave this field blank to keep the " "current password." msgstr "" -"Paramétrez un nouveau mot de passe de téléversement pour Coquelicot. Laissez " -"ce champ vide pour conserver le mot de passe actuel." +"Définir un nouveau mot de passe de téléversement pour Coquelicot. Laissez ce " +"champ vide pour conserver le mot de passe actuel." -#: plinth/modules/coquelicot/forms.py:20 +#: plinth/modules/coquelicot/forms.py:18 msgid "Maximum File Size (in MiB)" -msgstr "Taille de fichier maximale (en MiB)" +msgstr "Taille de fichier maximale (en Mio)" -#: plinth/modules/coquelicot/forms.py:21 +#: plinth/modules/coquelicot/forms.py:19 msgid "Set the maximum size of the files that can be uploaded to Coquelicot." msgstr "" "Réglez la taille maximale des fichiers pouvant être téléversés vers " @@ -959,7 +956,7 @@ msgstr "coquelicot" #: plinth/modules/coquelicot/views.py:36 msgid "Upload password updated" -msgstr "Mise à jour du mot de passe de téléversement" +msgstr "Mot de passe de téléversement mis à jour" #: plinth/modules/coquelicot/views.py:39 msgid "Failed to update upload password" @@ -967,7 +964,7 @@ msgstr "Échec de la mise à jour du mot de passe de téléversement" #: plinth/modules/coquelicot/views.py:47 msgid "Maximum file size updated" -msgstr "Mise à jour de la taille maximale des fichiers" +msgstr "Taille maximale des fichiers mise à jour" #: plinth/modules/coquelicot/views.py:50 msgid "Failed to update maximum file size" @@ -987,60 +984,61 @@ msgstr "Date et heure" #: plinth/modules/datetime/__init__.py:85 msgid "Time synchronized to NTP server" -msgstr "Synchroniser l'heure avec un serveur NTP" +msgstr "Heure synchronisée avec le serveur de temps NTP" -#: plinth/modules/datetime/forms.py:20 +#: plinth/modules/datetime/forms.py:18 msgid "Time Zone" msgstr "Fuseau horaire" -#: plinth/modules/datetime/forms.py:21 +#: plinth/modules/datetime/forms.py:19 msgid "" "Set your time zone to get accurate timestamps. This will set the system-wide " "time zone." msgstr "" -"Paramétrer votre fuseau horaire pour obtenir un horodatage précis. Cela " -"définira le fuseau horaire pour tout le système." +"Renseignez votre fuseau horaire pour obtenir les horodatages appropriés. Ce " +"paramètre s’appliquera à l’ensemble du système." -#: plinth/modules/datetime/forms.py:32 +#: plinth/modules/datetime/forms.py:30 msgid "-- no time zone set --" -msgstr "-- pas de fuseau horaire établi --" +msgstr "-- fuseau horaire non renseigné --" #: plinth/modules/datetime/views.py:45 #, python-brace-format msgid "Error setting time zone: {exception}" -msgstr "Erreur lors de l'établissement du fuseau horaire : {exception}" +msgstr "Erreur lors du paramétrage du fuseau horaire : {exception}" #: plinth/modules/datetime/views.py:48 msgid "Time zone set" -msgstr "Fuseau horaire établi" - -#: plinth/modules/deluge/__init__.py:25 -msgid "Deluge is a BitTorrent client that features a Web UI." -msgstr "Deluge est un client BitTorrent avec une interface utilisateur Web." +msgstr "Fuseau horaire paramétré" #: plinth/modules/deluge/__init__.py:26 +msgid "Deluge is a BitTorrent client that features a Web UI." +msgstr "Deluge est un client BitTorrent avec une interface utilisateur web." + +#: plinth/modules/deluge/__init__.py:27 msgid "" "The default password is 'deluge', but you should log in and change it " "immediately after enabling this service." msgstr "" -"Le mot de passe par défaut est 'deluge'. Vous devrez toutefois vous " -"connecter et le changer tout de suite après l'activation du service." +"Par défaut vous pourrez vous connecter avec le mot de passe « deluge », mais " +"il est fortement recommandé de le modifier immédiatement après l’activation " +"du service." -#: plinth/modules/deluge/__init__.py:30 -#: plinth/modules/transmission/__init__.py:34 +#: plinth/modules/deluge/__init__.py:46 +#: plinth/modules/transmission/__init__.py:48 msgid "Download files using BitTorrent applications" msgstr "Télécharger des fichiers avec des applications BitTorrent" -#: plinth/modules/deluge/__init__.py:46 plinth/modules/deluge/manifest.py:9 +#: plinth/modules/deluge/__init__.py:50 plinth/modules/deluge/manifest.py:9 msgid "Deluge" msgstr "Deluge" -#: plinth/modules/deluge/__init__.py:47 -#: plinth/modules/transmission/__init__.py:50 +#: plinth/modules/deluge/__init__.py:51 +#: plinth/modules/transmission/__init__.py:53 msgid "BitTorrent Web Client" msgstr "Client web pour BitTorrent" -#: plinth/modules/deluge/forms.py:20 plinth/modules/transmission/forms.py:20 +#: plinth/modules/deluge/forms.py:20 plinth/modules/transmission/forms.py:21 msgid "Download directory" msgstr "Répertoire de téléchargement" @@ -1059,7 +1057,7 @@ msgstr "" #: plinth/modules/diagnostics/__init__.py:48 msgid "Diagnostics" -msgstr "Diagnostics" +msgstr "Diagnostiques" #: plinth/modules/diagnostics/templates/diagnostics.html:28 #: plinth/modules/diagnostics/templates/diagnostics_button.html:13 @@ -1069,7 +1067,7 @@ msgstr "Lancer les diagnostics" #: plinth/modules/diagnostics/templates/diagnostics.html:31 msgid "Diagnostics test is currently running" -msgstr "Les tests de diagnostic sont en cours" +msgstr "Le test de diagnostic est en cours" #: plinth/modules/diagnostics/templates/diagnostics.html:44 msgid "Results" @@ -1106,8 +1104,8 @@ msgid "" "diaspora* is a decentralized social network where you can store and control " "your own data." msgstr "" -"diaspora* est un réseau social décentralisé où vous pouvez enregistrer et " -"contrôler les donnés qui vous appartiennent." +"diaspora* est un réseau social décentralisé avec lequel vous pouvez vous-" +"même stocker et contrôler vos donnés personnelles." #: plinth/modules/diaspora/__init__.py:69 #: plinth/modules/diaspora/manifest.py:23 @@ -1118,9 +1116,9 @@ msgstr "diaspora*" msgid "Federated Social Network" msgstr "Réseau social fédéré" -#: plinth/modules/diaspora/forms.py:15 +#: plinth/modules/diaspora/forms.py:13 msgid "Enable new user registrations" -msgstr "Activer l'enregistrement de nouveaux utilisateurs" +msgstr "Activer l'inscription de nouveaux utilisateurs" #: plinth/modules/diaspora/manifest.py:11 msgid "dandelion*" @@ -1143,41 +1141,33 @@ msgid "" "podname wouldn't be accessible.
You can access the diaspora* pod at diaspora.%(domain_name)s " msgstr "" -"Le domaine du pod diaspora* (noeud) est défini sur %(domain_name)s. " -"L'ID utilisateur ressemblera à username@diaspora.%(domain_name)s
" -"Si le nom de domaine FreedomBox est modifié, toutes les données des " -"utilisateurs enregistrés auprès du pod précédent ne serong plus accessibles." -"
Vous pouvez accéder au pod diaspora* à diaspora.%(domain_name)s" +"Le domaine du nœud diaspora* (pod) est défini comme %(domain_name)s. " +"Les identifiants utilisateur seront du type username@diaspora." +"%(domain_name)s
Si le nom de domaine de la FreedomBox est modifié, " +"toutes les données des utilisateurs enregistrés auprès du nœud avec l’ancien " +"nom seront rendues inaccessibles.
Vous pouvez accéder au nœud diaspora* " +"à l’adresse diaspora." +"%(domain_name)s" #: plinth/modules/diaspora/templates/diaspora-pre-setup.html:43 #: plinth/modules/dynamicdns/templates/dynamicdns_configure.html:25 -#: plinth/modules/ejabberd/templates/ejabberd.html:43 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:18 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:47 #: plinth/modules/snapshot/templates/snapshot.html:15 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:35 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:43 -#: plinth/templates/app.html:52 +#: plinth/templates/app.html:54 msgid "Update setup" -msgstr "Actualiser la configuration" +msgstr "Appliquer les changements" -#: plinth/modules/diaspora/views.py:76 plinth/modules/ejabberd/views.py:46 -#: plinth/modules/matrixsynapse/views.py:85 -#: plinth/modules/mediawiki/views.py:58 plinth/modules/openvpn/views.py:135 -#: plinth/modules/tor/views.py:136 plinth/views.py:180 -msgid "Setting unchanged" -msgstr "Paramètre inchangé" - -#: plinth/modules/diaspora/views.py:80 +#: plinth/modules/diaspora/views.py:74 msgid "User registrations enabled" -msgstr "L'enregistrement des utilisateurs est activé" +msgstr "L’inscription d’utilisateurs est activée" -#: plinth/modules/diaspora/views.py:84 +#: plinth/modules/diaspora/views.py:78 msgid "User registrations disabled" -msgstr "L'enregistrement des utilisateurs est désactivé" +msgstr "L’inscription d’utilisateurs est désactivée" -#: plinth/modules/dynamicdns/__init__.py:27 +#: plinth/modules/dynamicdns/__init__.py:28 #, python-brace-format msgid "" "If your Internet provider changes your IP address periodically (i.e. every " @@ -1185,11 +1175,11 @@ msgid "" "prevent others from finding services which are provided by this {box_name}." msgstr "" "Si votre fournisseur d'accès change régulièrement votre adresse IP (par ex. " -"toutes les 24h), il est difficile de vous retrouver sur le Web. Les services " -"fournis par {box_name} ne pourront pas être découverts par les autres " -"utilisateurs." +"toutes les 24 h), il pourrait être difficile de vous retrouver sur Internet. " +"Et ceci empêchera d’autres utilisateurs de découvrir les services proposés " +"par cette {box_name}." -#: plinth/modules/dynamicdns/__init__.py:31 +#: plinth/modules/dynamicdns/__init__.py:32 msgid "" "The solution is to assign a DNS name to your IP address and update the DNS " "name every time your IP is changed by your Internet provider. Dynamic DNS " @@ -1199,19 +1189,20 @@ msgid "" "Internet asks for your DNS name, they will get a response with your current " "IP address." msgstr "" -"La solution est d'assigner un nom DNS à votre adresse IP et d'actualiser le " -"nom DNS à chaque fois que votre IP est modifiée par votre fournisseur " -"d'accès. Le DNS dynamique vous permet de publier votre adresse IP actuelle " -"vers un serveur GnuDIP. Ensuite, le serveur assignera votre nom DNS avec " -"la nouvelle IP. Si quelqu'un sur Internet demande votre nom DNS, il " -"obtiendra votre adresse IP actuelle." +"La solution consiste à assigner un nom DNS à votre adresse IP et d’" +"actualiser le nom DNS à chaque fois que votre IP est modifiée par votre " +"fournisseur d'accès. Le système de DNS dynamique vous permet de publier " +"votre adresse IP courante vers un serveur GnuDIP. Le " +"serveur se charge ensuite d’assigner votre nom DNS à la nouvelle IP, de " +"sorte que si quelqu’un sur Internet demande votre nom DNS, il obtiendra bien " +"votre adresse IP courante." -#: plinth/modules/dynamicdns/__init__.py:56 +#: plinth/modules/dynamicdns/__init__.py:55 msgid "Dynamic DNS Client" msgstr "Client DNS dynamique" -#: plinth/modules/dynamicdns/__init__.py:66 +#: plinth/modules/dynamicdns/__init__.py:65 msgid "Dynamic Domain Name" msgstr "Nom de domaine dynamique" @@ -1231,24 +1222,24 @@ msgid "" "provider does not support the GnuDIP protocol or your provider is not listed " "you may use the update URL of your provider." msgstr "" -"Choisissez un protocole d'actualisation selon votre fournisseur. Si votre " -"fournisseur ne propose pas de compatibilité avec le protocole GnuDIP ou si " -"votre fournisseur n'est pas listé, vous pouvez utiliser la mise à jour URL " -"de votre fournisseur." +"Choisissez le protocole d’actualisation correspondant à votre fournisseur. " +"Si votre fournisseur n’est pas compatible avec le protocole GnuDIP et n’est " +"pas dans la liste, vous pouvez utiliser l’URL d’actualitation qu’il vous " +"aura communiquée." #: plinth/modules/dynamicdns/forms.py:36 msgid "" "Please do not enter a URL here (like \"https://example.com/\") but only the " "hostname of the GnuDIP server (like \"example.com\")." msgstr "" -"Veuillez ne pas entrer une URL (comme \"https://example.com/\"), mais " +"Vous ne devez pas saisir une URL (comme \"https://example.com/\"), mais " "seulement le nom de machine du serveur GnuDIP (comme \"example.com\")." #: plinth/modules/dynamicdns/forms.py:40 #, python-brace-format msgid "The public domain name you want to use to reach your {box_name}." msgstr "" -"Le nom de domaine public que vous désirez utiliser pour atteindre votre " +"Le nom de domaine public que vous désirez utiliser pour joindre votre " "{box_name}." #: plinth/modules/dynamicdns/forms.py:43 @@ -1266,9 +1257,7 @@ msgstr "" #: plinth/modules/dynamicdns/forms.py:49 msgid "Leave this field empty if you want to keep your current password." -msgstr "" -"Laissez ce champ vide si vous ne désirez pas changer le mot de passe entré " -"précédemment." +msgstr "Laissez ce champ vide pour conserver le mot de passe précédent." #: plinth/modules/dynamicdns/forms.py:52 #, python-brace-format @@ -1278,15 +1267,16 @@ msgid "" "address. The URL should simply return the IP where the client comes from " "(example: http://myip.datasystems24.de)." msgstr "" -"Facultatif. Entrer une URL montrant automatiquement votre IP publique " -"réelle. Si vous ne savez pas, prenez par exemple : http://myip.datasystems24." -"de. Cette URL sera utilisée si votre {box_name} n'est pas connectée " -"directement à l'Internet (si par exemple votre routeur est sur le mode « NAT " -"»)." +"Paramètre optionnel. Entrer l’URL d’un service qui détecte automatiquement " +"votre adresse IP publique réelle et la retourne en réponse (par exemple : " +"http://myip.datasystems24.de). Cette URL sera utilisée si votre {box_name} " +"n'est pas connectée directement à Internet (par exemple lorsqu’elle est " +"connectée à un routeur à translation d’adresse réseau « NAT »)." #: plinth/modules/dynamicdns/forms.py:60 msgid "The username that was used when the account was created." -msgstr "Le nom d’utilisateur choisi lors de la création du compte dynamique." +msgstr "" +"Le nom d’utilisateur choisi lors de la création du compte DNS dynamique." #: plinth/modules/dynamicdns/forms.py:68 msgid "Enable Dynamic DNS" @@ -1318,16 +1308,16 @@ msgstr "Utiliser une authentification HTTP basique" #: plinth/modules/dynamicdns/forms.py:101 plinth/modules/networks/forms.py:199 msgid "Username" -msgstr "Nom Utilisateur" +msgstr "Nom d’utilisateur" #: plinth/modules/dynamicdns/forms.py:104 plinth/modules/networks/forms.py:200 -#: plinth/modules/shadowsocks/forms.py:45 +#: plinth/modules/shadowsocks/forms.py:44 msgid "Password" msgstr "Mot de passe" #: plinth/modules/dynamicdns/forms.py:108 plinth/modules/networks/forms.py:202 msgid "Show password" -msgstr "Montrer le mot de passe" +msgstr "Afficher le mot de passe" #: plinth/modules/dynamicdns/forms.py:112 msgid "URL to look up public IP" @@ -1358,10 +1348,10 @@ msgid "" "freedns.afraid.org." msgstr "" "Si vous cherchez un compte DNS dynamique gratuit, vous pourrez sans doute " -"trouver un service GnuDIP sur gnudip.datasystems24.net ou un service d'URL mise à jour " -"sur freedns.afraid." -"org." +"trouver un service compatible GnuDIP sur gnudip.datasystems24.net ou un " +"service à base d'URL d’actualisation sur freedns.afraid.org." #: plinth/modules/dynamicdns/templates/dynamicdns.html:23 #, python-format @@ -1370,10 +1360,11 @@ msgid "" "port forwarding for standard ports, including TCP port 80 (HTTP) and TCP " "port 443 (HTTPS)." msgstr "" -"Si votre %(box_name)s est connectée derrière un routeur réalisant du NAT, " -"n'oubliez pas d'ajouter une redirection pour les ports 80 (serveur http) et " -"443 (serveur sécurisé https) vers l'IP de votre FreedomBox. La redirection " -"se configure sur l'interface web de votre routeur." +"Si votre %(box_name)s est connectée derrière un routeur à translation d’" +"adresse réseau (NAT), n'oubliez pas d'ajouter une redirection pour les ports " +"80 (serveur http) et 443 (serveur sécurisé https) vers l'IP de votre " +"%(box_name)s. La redirection se configure sur l'interface web de votre " +"routeur." #: plinth/modules/dynamicdns/templates/dynamicdns_configure.html:15 msgid "" @@ -1393,9 +1384,9 @@ msgid "" "NAT type was not detected yet. If you do not provide an \"IP Check URL\", we " "will not detect a NAT type." msgstr "" -"Le type de NAT n'est pas encore détecté. Si vous ne fournissez pas une " -"résolution IP/URL ou \"IP check URL\", nous ne pourrons pas détecter le type " -"de NAT." +"Le type de translation d’adresse réseau (NAT) n’a pas encore été détecté. Si " +"vous ne fournissez pas une URL de vérification d’IP, nous ne pourrons pas " +"détecter le type de NAT." #: plinth/modules/dynamicdns/templates/dynamicdns_status.html:19 msgid "Direct connection to the Internet." @@ -1420,7 +1411,7 @@ msgstr "" msgid "Last update" msgstr "Dernière mise à jour" -#: plinth/modules/dynamicdns/views.py:26 plinth/modules/help/__init__.py:49 +#: plinth/modules/dynamicdns/views.py:26 plinth/modules/help/__init__.py:51 #: plinth/templates/help-menu.html:46 plinth/templates/help-menu.html:47 msgid "About" msgstr "À propos" @@ -1447,7 +1438,7 @@ msgstr "Configurer le DNS Dynamique" msgid "Dynamic DNS Status" msgstr "Etat du DNS Dynamique" -#: plinth/modules/ejabberd/__init__.py:36 +#: plinth/modules/ejabberd/__init__.py:37 msgid "" "XMPP is an open and standardized communication protocol. Here you can run " "and configure your XMPP server, called ejabberd." @@ -1455,7 +1446,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:39 +#: plinth/modules/ejabberd/__init__.py:40 #, python-brace-format msgid "" "To actually communicate, you can use the web clientclient web ou tout autre client XMPP. Une fois activé, ejabberd peut être joint " -"par tout utilisateur avec un compte {box_name}." +"target='_blank'>client XMPP. Une fois activé, ejabberd est accessible " +"par tout utilisateur disposant d’un compte sur la " +"{box_name}." -#: plinth/modules/ejabberd/__init__.py:70 +#: plinth/modules/ejabberd/__init__.py:69 msgid "ejabberd" msgstr "ejabberd" -#: plinth/modules/ejabberd/__init__.py:71 +#: plinth/modules/ejabberd/__init__.py:70 #: plinth/modules/matrixsynapse/__init__.py:68 msgid "Chat Server" msgstr "Serveur de discussion" -#: plinth/modules/ejabberd/forms.py:17 +#: plinth/modules/ejabberd/forms.py:16 msgid "Enable Message Archive Management" msgstr "Activer la gestion des archives de messages" -#: plinth/modules/ejabberd/forms.py:19 +#: plinth/modules/ejabberd/forms.py:18 #, python-brace-format msgid "" "If enabled, your {box_name} will store chat message histories. This allows " @@ -1489,11 +1481,11 @@ msgid "" "history of a multi-user chat room. It depends on the client settings whether " "the histories are stored as plain text or encrypted." msgstr "" -"Si activé, votre {box_name} stockera historique des messages de chat. Cela " -"permet la synchronisation des conversations entre plusieurs clients et lire " -"l’historique d’un salon de chat multi-utilisateur. Cela dépend des " -"paramètres du client si les historiques sont stockés en texte clair ou " -"crypté." +"Si activé, votre {box_name} conservera historique des messages de tchat. " +"Cette option permet la synchronisation des conversations entre plusieurs " +"logiciels clients, ainsi que la consultation de l’historique des salons de " +"tchat multiutilisateurs. Le choix de la conservation de l’historique en " +"texte clair ou chiffré dépend de la configuration du client." #: plinth/modules/ejabberd/manifest.py:11 msgid "Conversations" @@ -1547,24 +1539,16 @@ msgid "" "like username@%(domainname)s. You can setup your domain on the system " "Configure page." msgstr "" -"Le domaine de votre serveur XMPP est réglé sur %(domainname)s. Les " -"identités utilisateur ressembleront à ceci : username@%(domainname)s. " +"Le domaine de votre serveur XMPP est défini comme %(domainname)s. Les " +"identifiants utilisateur seront du type : username@%(domainname)s. " "Vous pouvez configurer le domaine de votre système sur la page Configurer." -#: plinth/modules/ejabberd/templates/ejabberd.html:35 -#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 -#: plinth/modules/snapshot/templates/snapshot.html:12 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:27 -#: plinth/templates/app.html:45 -msgid "Configuration" -msgstr "Configuration" - -#: plinth/modules/ejabberd/views.py:58 +#: plinth/modules/ejabberd/views.py:45 msgid "Message Archive Management enabled" msgstr "Gestion des archives de messages activée" -#: plinth/modules/ejabberd/views.py:62 +#: plinth/modules/ejabberd/views.py:49 msgid "Message Archive Management disabled" msgstr "Gestion des archives de messages désactivée" @@ -1575,12 +1559,12 @@ msgid "" "network traffic on your {box_name}. Keeping a firewall enabled and properly " "configured reduces risk of security threat from the Internet." msgstr "" -"Un pare-feu ou « firewall » est un système de sécurité permettant de " -"contrôler le trafic réseau entrant et sortant sur {box_name}. Garder un pare-" -"feu activé et correctement configuré réduit le risque de menaces depuis " -"Internet." +"Le pare-feu ou « firewall » est un système de sécurité permettant de " +"contrôler le trafic réseau entrant et sortant sur votre {box_name}. Garder " +"un pare-feu activé et correctement configuré réduit le risque des menaces " +"provenant d’Internet." -#: plinth/modules/firewall/__init__.py:63 +#: plinth/modules/firewall/__init__.py:65 msgid "Firewall" msgstr "Pare-feu" @@ -1607,11 +1591,11 @@ msgid "" "you may run it using the command 'service firewalld start' or in case of a " "system with systemd 'systemctl start firewalld'." msgstr "" -"Le daemon du pare-feu n'est pas actif. Activez-le. Le pare-feu est activé " -"par défaut sur %(box_name)s. Sur chaque système basé sur Debian (comme " -"%(box_name)s), vous pouvez le mettre en marche en utilisant la commande « " -"démarrage du service pare-feu » ou « service firewalld start » et dans le " -"cas d'un système avec systemd, « systemctl start firewalld »." +"Le démon du pare-feu est arrêté. Veuillez le démarrer. Dans la configuration " +"d’origine de la %(box_name)s, le pare-feu est activé. Sur les systèmes basés " +"sur Debian (tels que la %(box_name)s), vous pouvez démarrer le pare-feu en " +"utilisant la commande « service firewalld start » ou dans le cas d’un " +"système avec systemd, « systemctl start firewalld »." #: plinth/modules/firewall/templates/firewall.html:28 msgid "Show Ports" @@ -1665,9 +1649,9 @@ msgid "" "also be obtained by running the command \"sudo cat /var/lib/plinth/firstboot-" "wizard-secret\" on your {box_name}" msgstr "" -"Entrez le mot de passe généré durant l'installation de FreedomBox. Il peut " -"être également obtenu en lançant la commande \"sudo cat /var/lib/plinth/" -"firstboot-wizard-secret\" sur votre {box_name}" +"Entrez le code secret généré durant l’installation de la FreedomBox. Il peut " +"également être obtenu en lançant la commande \"sudo cat /var/lib/plinth/" +"firstboot-wizard-secret\" sur votre {box_name}." #: plinth/modules/first_boot/forms.py:19 msgid "Firstboot Wizard Secret" @@ -1680,7 +1664,7 @@ msgstr "Configuration terminée !" #: plinth/modules/first_boot/templates/firstboot_complete.html:14 #, python-format msgid "Without any apps, your %(box_name)s cannot do very much." -msgstr "Sans applications, vos %(box_name)s ne peuvent faire beaucoup." +msgstr "Sans application, votre %(box_name)s ne peut pas faire grand chose." #: plinth/modules/first_boot/templates/firstboot_complete.html:21 msgid "Install Apps" @@ -1713,14 +1697,15 @@ msgid "" "available graphical clients. And you can share your code with people around " "the world." msgstr "" -"Git est un système décentralisé de gestion de versions permettant de gérer " +"Git est un système décentralisé de gestion de versions permettant de suivre " "les changements dans du code-source pendant son développement. Gitweb " -"fournit une interface internet à des dépôts Git. Vous pouvez naviguer dans " -"l'historique des modifications et du contenu du code-source et y effectuer " -"des recherches. Vous pouvez aussi récupérer une copie (« clone ») d'un dépôt " -"et envoyer des changements dans le code avec un client Git en ligne de " -"commande ou avec l'un des nombreux clients graphiques. Vous pouvez ainsi " -"partager votre code avec des gens partout dans le monde." +"fournit une interface web à des dépôts Git. Vous pouvez naviguer dans " +"l’historique des révisions et le contenu du code source, utiliser la " +"recherche pour trouver des révisions et du code spécifiques. Vous pouvez " +"aussi récupérer une copie (« clone ») d’un dépôt et envoyer vos changements " +"de code à l’aide d’un client Git en ligne de commande ou de l'un des " +"nombreux clients graphiques existants. Vous pouvez ainsi partager votre code " +"source avec d’autres, tout autour du monde." #: plinth/modules/gitweb/__init__.py:35 msgid "" @@ -1730,7 +1715,7 @@ msgstr "" "Pour en apprendre plus sur l'utilisation de Git, consultez ce tutoriel Git." -#: plinth/modules/gitweb/__init__.py:39 +#: plinth/modules/gitweb/__init__.py:51 msgid "Read-write access to Git repositories" msgstr "Modification des dépôts Git autorisées" @@ -1753,7 +1738,7 @@ msgstr "Nom de dépôt invalide." #: plinth/modules/gitweb/forms.py:62 msgid "Name of a new repository or URL to import an existing repository." msgstr "" -"Nom d'un nouveau dépôt ou adresse (URL) pour importer un dépôt existant." +"Nom du dépôt à créer, ou adresse (URL) d’un dépôt existant pour l’importer." #: plinth/modules/gitweb/forms.py:68 msgid "Description of the repository" @@ -1761,7 +1746,7 @@ msgstr "Description du dépôt" #: plinth/modules/gitweb/forms.py:69 plinth/modules/gitweb/forms.py:73 msgid "Optional, for displaying on Gitweb." -msgstr "Optionnel, pour l'affichage dans Gitweb." +msgstr "Paramètre optionnel, pour affichage dans Gitweb." #: plinth/modules/gitweb/forms.py:71 msgid "Repository's owner name" @@ -1785,7 +1770,7 @@ msgstr "Nom du dépôt" #: plinth/modules/gitweb/forms.py:115 msgid "An alpha-numeric string that uniquely identifies a repository." -msgstr "Une chaîne alpha-numérique qui identifie de manière unique un dépôt." +msgstr "Une chaîne alpha-numérique qui identifie de manière unique le dépôt." #: plinth/modules/gitweb/manifest.py:21 msgid "Git" @@ -1847,7 +1832,7 @@ msgstr "Dépôt modifié." #: plinth/modules/gitweb/views.py:84 msgid "Edit repository" -msgstr "Modifier un dépôt" +msgstr "Modifier le dépôt" #: plinth/modules/gitweb/views.py:112 plinth/modules/searx/views.py:41 #: plinth/modules/searx/views.py:52 plinth/modules/tor/views.py:158 @@ -1864,31 +1849,31 @@ msgstr "{name} supprimé." msgid "Could not delete {name}: {error}" msgstr "La suppression de {name} n'a pas abouti : {error}" -#: plinth/modules/help/__init__.py:30 +#: plinth/modules/help/__init__.py:32 msgid "Documentation" msgstr "Documentation" -#: plinth/modules/help/__init__.py:33 plinth/modules/networks/forms.py:47 +#: plinth/modules/help/__init__.py:35 plinth/modules/networks/forms.py:47 #: plinth/modules/networks/forms.py:77 plinth/templates/help-menu.html:20 #: plinth/templates/help-menu.html:21 plinth/templates/index.html:128 msgid "Manual" msgstr "Manuel" -#: plinth/modules/help/__init__.py:37 +#: plinth/modules/help/__init__.py:39 #: plinth/modules/help/templates/help_support.html:9 #: plinth/modules/help/views.py:43 plinth/templates/help-menu.html:27 #: plinth/templates/help-menu.html:28 msgid "Get Support" msgstr "Obtenir de l'aide" -#: plinth/modules/help/__init__.py:41 +#: plinth/modules/help/__init__.py:43 #: plinth/modules/help/templates/help_feedback.html:9 #: plinth/modules/help/views.py:37 plinth/templates/help-menu.html:33 #: plinth/templates/help-menu.html:34 msgid "Submit Feedback" msgstr "Faire un retour d'utilisation" -#: plinth/modules/help/__init__.py:45 +#: plinth/modules/help/__init__.py:47 #: plinth/modules/help/templates/help_contribute.html:9 #: plinth/modules/help/views.py:31 plinth/templates/help-menu.html:39 #: plinth/templates/help-menu.html:40 @@ -1908,13 +1893,13 @@ msgid "" msgstr "" "%(box_name)s est un projet communautaire consacré au développement, à la " "conception et à la promotion de serveurs personnels utilisant des logiciels " -"libres pour les communications privées. Il s'agit d'un programme réseau " -"conçu comme une interface entre vous et le reste de l'Internet afin de " -"protéger votre vie privée et vos données. %(box_name)s intègre des " -"applications permettant notamment de publier un blog, un wiki, un site " -"Internet, un réseau social, de gérer des emails, un serveur mandataire Web " -"et un relais Tor sur une machine pouvant remplacer votre routeur Wi-Fi. Vos " -"données restent donc avec vous." +"libres pour les communications privées. Il est pensé comme un appareil " +"réseau faisant l’interface entre vous et le reste de l’Internet tout en " +"protégeant votre vie privée et vos données. %(box_name)s intègre des " +"applications permettant d’héberger par exemple un blogue, un wiki, un site " +"Internet, un réseau social, de gérer des courriels, un serveur mandataire " +"web ou un relais Tor, sur une machine qui peut également remplacer votre " +"routeur Wi-Fi. De cette manière vos données restent sous votre contrôle." #: plinth/modules/help/templates/help_about.html:30 msgid "" @@ -1925,13 +1910,15 @@ msgid "" "giving back power to the users over their networks and machines, we are " "returning the Internet to its intended peer-to-peer architecture." msgstr "" -"Nous vivons dans un monde où notre utilisation du réseau passe forcément par " -"des organismes qui souvent n'ont pas nos intérêts à cœur. En construisant un " -"logiciel qui ne repose pas sur un service centralisé, nous pouvons reprendre " -"le contrôle et notre intimité. En conservant nos données à la maison, nous " -"obtenons une protection légale utile sur ces données. En rendant le contrôle " -"aux utilisateurs sur leurs réseaux et leurs machines, nous ramenons Internet " -"à l'architecture pair-à-pair qui a présidé à sa conception." +"Dans notre monde contemporain, l’utilisation du réseau passe par la " +"médiation d’acteurs qui ont souvent bien d’autres intérêts à cœur que nos " +"intérêts d’utilisateurs. En construisant des logiciels ne reposant pas sur " +"ce genre de services centralisés, nous pouvons reprendre le contrôle et " +"regagner notre intimité. En conservant physiquement nos données dans notre " +"foyer, nous bénéficions d’une protection légale supplémentaire sur celles-" +"ci. En rendant le contrôle aux utilisateurs sur leurs réseaux et leurs " +"machines, nous ramenons Internet à l’architecture pair à pair qui a présidé " +"à sa conception." #: plinth/modules/help/templates/help_about.html:43 #, python-format @@ -1941,8 +1928,8 @@ msgid "" "package." msgstr "" "Il existe de nombreux projets dont le but est de développer une architecture " -"distribuée de l'Internet. %(box_name)s vise à les réunir sur des serveurs " -"personnels." +"distribuée de l'Internet. %(box_name)s vise à intégrer ces différents " +"projets dans un système unique et facile à utiliser." #: plinth/modules/help/templates/help_about.html:51 #, python-format @@ -1970,7 +1957,7 @@ msgstr "Une nouvelle version de %(box_name)s est disponible." #: plinth/modules/help/templates/help_about.html:72 #, python-format msgid "%(box_name)s is up to date." -msgstr "%(box_name)s est à jour." +msgstr "Votre %(box_name)s est à jour." #: plinth/modules/help/templates/help_about.html:79 msgid "Security Notice" @@ -1992,7 +1979,7 @@ msgstr "" #: plinth/modules/help/templates/help_index.html:61 #, python-format msgid "%(box_name)s Setup" -msgstr "Configuration de %(box_name)s" +msgstr "Configuration de la %(box_name)s" #: plinth/modules/help/templates/help_contribute.html:12 msgid "The FreedomBox project welcomes contributions of all kinds." @@ -2006,12 +1993,12 @@ msgid "" "into your language, hosting hackathons or install fests, and by spreading " "the word." msgstr "" -"Vous pouvez aider en écrivant du code-source, en effectuant des tests et en " -"remontant des bogues, par des discussions sur des nouveaux cas d'usage et de " -"nouvelles applications, en dessinant des logos et graphismes, en aidant vos " -"pairs, en traduisant FreedomBox et ses applications dans votre langue, en " -"accueillant des hackathlons ou des manifestations d'aide à l'installation, " -"et en parlant du projet autour de vous." +"Vous pouvez aider en écrivant du code source, en effectuant des tests et en " +"remontant des bogues, par des discussions sur de nouveaux cas d’usage et de " +"nouvelles applications, en participant à la création des logos et au design " +"graphique, en aidant vos pairs, en traduisant FreedomBox et ses applications " +"dans votre langue, en accueillant des hackathlons ou des événements d’aide à " +"l’installation, et en parlant du projet autour de vous." #: plinth/modules/help/templates/help_contribute.html:28 msgid "" @@ -2024,19 +2011,20 @@ msgid "" "throughout the world. The FreedomBox Foundation would not exist without its " "supporters." msgstr "" -"Vous pouvez également aider le projet financièrement en effectuant un don à la fondation (à " -"but non-lucratif) FreedomBox. Fondée en 2011, la Fondation Freedombox est " -"une organisation à but non-lucratif avec des status « 501(c) (3) » localisée " -"à New York, destinée à aider le projet FreedomBox. Elle procure une " -"infrastructure technique et des services juridiques au projet, noue des " -"partenariats et fait connaître le projet FreedomBox à travers le monde. La " -"Fondation Freedombox ne pourrait exister sans ses soutiens." +"Vous pouvez également aider financièrement le projet en effectuant un don à la fondation à " +"but non-lucratif « FreedomBox Foundation ». Fondée en 2011, la fondation " +"FreedomBox est une organisation à but non-lucratif au statut américain « " +"501(c)(3) » localisée à New York et ayant pour objet le soutien et le " +"développement du projet FreedomBox. Elle procure une infrastructure " +"technique et des services juridiques au projet, noue des partenariats et " +"fait connaître le projet FreedomBox à travers le monde. La fondation " +"Freedombox ne pourrait exister sans ses soutiens." #: plinth/modules/help/templates/help_contribute.html:42 #: plinth/modules/power/templates/power_restart.html:27 #: plinth/modules/power/templates/power_shutdown.html:26 -#: plinth/templates/app-header.html:51 +#: plinth/templates/app-header.html:53 msgid "Learn more..." msgstr "En savoir plus..." @@ -2051,9 +2039,9 @@ msgid "" "improve them on our discussion forum." msgstr "" -"Faites-nous part de fonctionnalités manquantes, de vos applications " -"favorites et comment les améliorer sur notre forum de discussions." +"Faites-nous part de fonctionnalités qui vous manquent, de vos applications " +"favorites et de vos idées pour les améliorer sur notre forum de discussions." #: plinth/modules/help/templates/help_feedback.html:26 msgid "" @@ -2062,11 +2050,12 @@ msgid "" "a> to let our developers know. To report, first check if the issue is " "already reported and then use the \"New issue\" button." msgstr "" -"Si vous rencontrez des bogues ou problèmes, merci d'utiliser notre outil de suivi des problèmes pour que nos développeurs en soient " -"informés. Avant cela, vérifiez d'abord que cela n'a pas déjà été décrit " -"auparavant, si ce n'est pas le cas, cliquez sur le bouton « New issue »." +"Si vous rencontrez des bogues ou problèmes, merci d’utiliser notre " +"outil de suivi des problèmes (en anglais) pour que nos développeurs en " +"soient informés. Avant cela veuillez vérifiez que le problème n'a pas déjà " +"été remonté auparavant, et, si ce n’est pas le cas, cliquez sur le bouton « " +"New issue »." #: plinth/modules/help/templates/help_feedback.html:36 msgid "Thank you!" @@ -2083,8 +2072,8 @@ msgid "" "The %(box_name)s Manual is the best place to " "start for information regarding %(box_name)s." msgstr "" -"Le Manuel %(box_name)s propose des " -"informations de base sur %(box_name)s." +"Le Manuel %(box_name)s est le meilleur point " +"d’entrée vers la documentation %(box_name)s." #: plinth/modules/help/templates/help_index.html:23 #, python-format @@ -2107,8 +2096,8 @@ msgstr "" "questions en anglais sur la liste de discussion du projet. " "Les archives de la liste contiennent aussi des informations sur les " -"problèmes rencontrés par les utilisateurs ainsi que les solutions " -"probablement apportées." +"problèmes rencontrés par d’autres utilisateurs ainsi que des solutions " +"possibles." #: plinth/modules/help/templates/help_index.html:40 #, python-format @@ -2119,13 +2108,14 @@ msgid "" "channel using the IRC web interface." msgstr "" "De nombreux contributeurs et utilisateurs de %(box_name)s sont également " -"disponibles sur le réseau IRC irc.oftc.net. Rejoignez le canal " -"#freedombox et demandez de l'aide en utilisant l'interface web pour IRC." +"présents sur le réseau IRC irc.oftc.net. Rejoignez le canal (en anglais) #freedombox en utilisant " +"l'interface web pour IRC et demandez de l'aide." #: plinth/modules/help/templates/help_manual.html:25 msgid "Download as PDF" -msgstr "Télécharger en tant que PDF" +msgstr "Télécharger au format PDF" #: plinth/modules/help/templates/help_support.html:12 #, python-format @@ -2134,9 +2124,9 @@ msgid "" "using %(box_name)s, you can ask for help from our community of users and " "contributors." msgstr "" -"Si vous avez besoin d'aide pour faire une action ou si vous faites face à un " -"problème en utilisant %(box_name)s, vous pouvez demander de l'aide de la " -"part de la communauté d'utilisateurs et contributeurs." +"Si vous avez besoin d’aide pour réaliser une action ou si vous faites face à " +"un problème en utilisant la %(box_name)s, vous pouvez demander de l'aide à " +"la communauté d’utilisateurs et de contributeurs." #: plinth/modules/help/templates/help_support.html:20 msgid "" @@ -2155,9 +2145,10 @@ msgid "" "debian.net\">mailing list." msgstr "" "Vous pouvez également discuter avec nous sur nos canaux (couplés) IRC et " -"Matrix :
  • #freedombox sur irc.oftc.net
  • #freedombox:matrix." -"org
ou envoyer un courriel à notre liste de diffusion." +"Matrix :
  • #freedombox sur irc.oftc.net
  • " +"
  • #freedombox:matrix.org
ou envoyer un courriel à notre liste de discussion" +". Tous ces canaux sont en anglais." #: plinth/modules/help/templates/statuslog.html:10 msgid "Status Log" @@ -2192,7 +2183,7 @@ msgstr "Documentation et FAQ" #: plinth/modules/help/views.py:51 #, python-brace-format msgid "About {box_name}" -msgstr "À Propos de {box_name}" +msgstr "À propos de la {box_name}" #: plinth/modules/help/views.py:86 #, python-brace-format @@ -2208,7 +2199,7 @@ msgid "" msgstr "" "I2P (« Invisible Internet Project ») est une couche-réseau anonyme destinée " "à protéger les communications de la censure et de la surveillance. I2P " -"fournit un anonymat en envoyant du trafic chiffré sur un réseau distribué " +"fournit de l’anonymat en envoyant du trafic chiffré sur un réseau distribué " "actionné par des volontaires partout sur la planète." #: plinth/modules/i2p/__init__.py:32 @@ -2216,8 +2207,8 @@ msgid "" "Find more information about I2P on their project homepage." msgstr "" -"Vous trouverez plus d'informations à propos d'I2P sur la page principale de leur projet." +"Vous trouverez plus d’informations à propos d'I2P sur le site web de leur projet." #: plinth/modules/i2p/__init__.py:34 msgid "" @@ -2227,19 +2218,19 @@ msgstr "" "La configuration aura lieu lors de la première visite à l'interface web " "fournie." -#: plinth/modules/i2p/__init__.py:38 +#: plinth/modules/i2p/__init__.py:62 msgid "Manage I2P application" msgstr "Gérer l'application I2P" -#: plinth/modules/i2p/__init__.py:64 plinth/modules/i2p/manifest.py:16 +#: plinth/modules/i2p/__init__.py:65 plinth/modules/i2p/manifest.py:16 msgid "I2P" msgstr "I2P" -#: plinth/modules/i2p/__init__.py:65 plinth/modules/tor/__init__.py:56 +#: plinth/modules/i2p/__init__.py:66 plinth/modules/tor/__init__.py:55 msgid "Anonymity Network" -msgstr "Réseau d'anonymat" +msgstr "Réseau d'anonymisation" -#: plinth/modules/i2p/__init__.py:87 +#: plinth/modules/i2p/__init__.py:88 msgid "I2P Proxy" msgstr "Serveur mandataire I2P" @@ -2263,7 +2254,7 @@ msgid "" "a proxy." msgstr "" "I2P vous permet de naviguer sur Internet et sur des services cachés " -"(eepsites) de manière anonyme. Pour cela, votre navigateur, un Navigateur " +"(eepsites) de manière anonyme. Pour cela, votre navigateur, le Navigateur " "Tor de préférence, doit être configuré pour utiliser un mandataire (proxy)." #: plinth/modules/i2p/views.py:19 @@ -2271,7 +2262,7 @@ msgid "" "By default HTTP, HTTPS and IRC proxies are available. Additional proxies and " "tunnels may be configured using the tunnel configuration interface." msgstr "" -"Par défaut, des mandataires HTTP, HTTPS et IRC sont disponibles. Des " +"Par défaut des mandataires HTTP, HTTPS et IRC sont disponibles. Des " "mandataires et tunnels additionnels peuvent être configurés grâce à " "l'interface de configuration des tunnels." @@ -2282,7 +2273,7 @@ msgid "" "a file." msgstr "" "I2P fournit une application pour télécharger des fichiers anonymement dans " -"un réseau pair-à-pair. Téléchargez des fichiers en ajoutant des torrents ou " +"un réseau pair à pair. Téléchargez des fichiers en ajoutant des torrents ou " "en créant un nouveau torrent pour partager un fichier." #: plinth/modules/ikiwiki/__init__.py:27 @@ -2291,9 +2282,10 @@ msgid "" "lightweight markup languages, including Markdown, and common blogging " "functionality such as comments and RSS feeds." msgstr "" -"ikiwiki est une application simple de wiki et de blogs. Il prend en charge " -"plusieurs langages de balisage légers, y compris Markdown, et les " -"fonctionnalités de blog habituels tels que les commentaires et les flux RSS." +"ikiwiki est une application simple de wiki et de blogues. Elle prend en " +"charge plusieurs langages de balisage légers, dont Markdown, et les " +"fonctionnalités de blogue habituelles telles que les commentaires et les " +"flux RSS." #: plinth/modules/ikiwiki/__init__.py:31 #, python-brace-format @@ -2303,41 +2295,42 @@ msgid "" "edit existing ones. In the User " "Configuration you can change these permissions or add new users." msgstr "" -"Seuls les utilisateurs de {box_name} du groupe admin peuvent " -"créer et gérer les blogs et les wikis mais tout utilisateur du " -"groupe wiki peut éditer ceux déjà existants. Vous pouvez " -"modifier ces autorisations ou ajouter de nouveaux utilisateurs dans la configuration des utilisateurs." +"Seuls les utilisateurs de la {box_name} membres du groupe admin " +"peuvent créer et gérer les blogues et les wikis mais tout " +"utilisateur du groupe wiki peut éditer ceux précédemment " +"créés. Vous pouvez modifier ces autorisations ou ajouter de nouveaux " +"utilisateurs dans la configuration des " +"utilisateurs." -#: plinth/modules/ikiwiki/__init__.py:39 -msgid "View and edit wiki applications" -msgstr "Afficher et modifier des applications wiki" - -#: plinth/modules/ikiwiki/__init__.py:53 plinth/modules/ikiwiki/manifest.py:9 +#: plinth/modules/ikiwiki/__init__.py:52 plinth/modules/ikiwiki/manifest.py:9 msgid "ikiwiki" msgstr "ikiwiki" -#: plinth/modules/ikiwiki/__init__.py:54 +#: plinth/modules/ikiwiki/__init__.py:53 msgid "Wiki and Blog" -msgstr "Wiki et Blogue" +msgstr "Wiki et blogue" + +#: plinth/modules/ikiwiki/__init__.py:73 +msgid "View and edit wiki applications" +msgstr "Afficher et modifier des applications wiki" #: plinth/modules/ikiwiki/forms.py:17 msgid "Admin Account Name" -msgstr "Nom Compte Admin" +msgstr "Nom de compte admin" #: plinth/modules/ikiwiki/forms.py:19 msgid "Admin Account Password" -msgstr "Mot de Passe Compte Admin" +msgstr "Mot de passe du compte admin" #: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:12 msgid "Manage Wikis and Blogs" -msgstr "Gestion Wikis et Blogues" +msgstr "Gestion des wikis et blogues" #: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:16 #: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:18 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:10 msgid "Create Wiki or Blog" -msgstr "Créer un Wiki ou un Blogue" +msgstr "Créer un wiki ou un blogue" #: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:25 msgid "No wikis or blogs available." @@ -2356,7 +2349,7 @@ msgstr "Aller au site %(site)s" #: plinth/modules/ikiwiki/templates/ikiwiki_delete.html:12 #, python-format msgid "Delete Wiki or Blog %(name)s" -msgstr "Supprimer le wki ou blogue %(name)s" +msgstr "Supprimer le wiki ou blogue %(name)s" #: plinth/modules/ikiwiki/templates/ikiwiki_delete.html:18 msgid "" @@ -2367,32 +2360,32 @@ msgstr "" "commentaires, ainsi que l'historique des révisions. Voulez-vous supprimer ce " "wiki ou blogue de façon permanente ?" -#: plinth/modules/ikiwiki/views.py:72 +#: plinth/modules/ikiwiki/views.py:70 #, python-brace-format msgid "Created wiki {name}." msgstr "Wiki {name} créé." -#: plinth/modules/ikiwiki/views.py:75 +#: plinth/modules/ikiwiki/views.py:73 #, python-brace-format msgid "Could not create wiki: {error}" msgstr "Le wiki n'a pu être créé : {error}" -#: plinth/modules/ikiwiki/views.py:85 +#: plinth/modules/ikiwiki/views.py:83 #, python-brace-format msgid "Created blog {name}." msgstr "Blogue {name} créé." -#: plinth/modules/ikiwiki/views.py:88 +#: plinth/modules/ikiwiki/views.py:86 #, python-brace-format msgid "Could not create blog: {error}" msgstr "Le blogue n'a pu être créé : {error}" -#: plinth/modules/ikiwiki/views.py:103 +#: plinth/modules/ikiwiki/views.py:101 #, python-brace-format msgid "{title} deleted." msgstr "{title} supprimé." -#: plinth/modules/ikiwiki/views.py:107 +#: plinth/modules/ikiwiki/views.py:105 #, python-brace-format msgid "Could not delete {title}: {error}" msgstr "La suppression de {title} n'a pas abouti : {error}" @@ -2409,8 +2402,8 @@ msgid "" "enter your {box_name}'s domain name." msgstr "" "Pour l'utiliser, téléchargez le client " -"Gobby et installez-le. Ensuite, démarrez-le puis sélectionnez \"Connect " -"to Server\". Saisissez le nom de domaine de {box_name}." +"Gobby et installez-le. Lancez ensuite Gobby, sélectionnez \"Connect to " +"Server\" et saisissez le nom de domaine de la {box_name}." #: plinth/modules/infinoted/__init__.py:47 msgid "infinoted" @@ -2434,22 +2427,22 @@ msgid "" "Start Gobby and select \"Connect to Server\" and enter your {box_name}'s " "domain name." msgstr "" -"Démarrez Gobby et sélectionnez « Connect to Server ». Saisissez le nom de " -"domaine de {box_name}." +"Lancez Gobby, sélectionnez « Connect to Server » et saisissez le nom de " +"domaine de la {box_name}." -#: plinth/modules/jsxc/__init__.py:22 +#: plinth/modules/jsxc/__init__.py:23 msgid "" "JSXC is a web client for XMPP. Typically it is used with an XMPP server " "running locally." msgstr "" -"JSXC est un client Web pour XMPP. Il s'utilise typiquement avec un serveur " +"JSXC est un client web pour XMPP. Il s'utilise typiquement avec un serveur " "XMPP tournant sur la même machine." -#: plinth/modules/jsxc/__init__.py:40 plinth/modules/jsxc/manifest.py:10 +#: plinth/modules/jsxc/__init__.py:43 plinth/modules/jsxc/manifest.py:10 msgid "JSXC" msgstr "JSXC" -#: plinth/modules/jsxc/__init__.py:41 +#: plinth/modules/jsxc/__init__.py:44 msgid "Chat Client" msgstr "Client de discussion" @@ -2467,11 +2460,11 @@ msgid "" "domain. It does so by proving itself to be the owner of a domain to Let's " "Encrypt, a certificate authority (CA)." msgstr "" -"Un certificat numérique permet aux utilisateurs d'un service web de vérifier " -"l'identité du service et de communiquer de façon sécurisée avec le service " -"en question. {box_name} peut automatiquement obtenir et configurer des " -"certificats pour chaque domaine disponible. Il le fait en prouvant qu'il est " -"le propriétaire du domaine auprès de l'autorité de certification « Let's " +"Un certificat numérique permet aux utilisateurs d’un service web de vérifier " +"l’identité du service et de communiquer de façon sécurisée avec le service " +"en question. La {box_name} peut automatiquement obtenir et configurer des " +"certificats pour chaque domaine disponible. Elle le fait en prouvant qu’elle " +"est propriétaire du domaine auprès de l’autorité de certification « Let’s " "Encrypt »." #: plinth/modules/letsencrypt/__init__.py:41 @@ -2576,8 +2569,8 @@ msgid "" "Certificate successfully revoked for domain {domain}.This may take a few " "moments to take effect." msgstr "" -"Certificat révoqué avec succès pour le domaine {domain}. Cela peut prendre " -"un moment pour prendre effet." +"Certificat révoqué avec succès pour le domaine {domain}. Cette modification " +"peut nécessiter quelques instants avant de prendre effet." #: plinth/modules/letsencrypt/views.py:47 #, python-brace-format @@ -2619,7 +2612,7 @@ msgid "" msgstr "" " Matrix est un " "nouvel écosystème pour la messagerie instantanée ouverte fédérée et la VoIP. " -"SYNAPSE est un serveur implémentant le protocole Matrix. Il fournit des " +"Synapse est un serveur mettant en œuvre le protocole Matrix. Il fournit des " "groupes de discussion, des appels audio/vidéo, chiffrage de bout à bout, " "synchronisation de plusieurs périphériques et ne nécessite pas de numéros de " "téléphone pour fonctionner. Les utilisateurs sur un serveur Matrix donné " @@ -2633,42 +2626,47 @@ msgid "" "riot.im/\">Riot client is recommended." msgstr "" "Pour communiquer, vous pouvez utiliser les clients disponibles pour mobile, desktop et le web. Le " -"client Riot est recommandé." +"projects/\">les clients disponibles pour mobile, ordinateur de bureau et " +"web. Le client Riot est recommandé." #: plinth/modules/matrixsynapse/__init__.py:66 msgid "Matrix Synapse" msgstr "Matrix Synapse" -#: plinth/modules/matrixsynapse/forms.py:14 +#: plinth/modules/matrixsynapse/forms.py:12 msgid "Enable Public Registration" -msgstr "Activer l'enregistrement public" +msgstr "Activer l’inscription publique" -#: plinth/modules/matrixsynapse/forms.py:15 +#: plinth/modules/matrixsynapse/forms.py:13 msgid "" "Enabling public registration means that anyone on the Internet can register " "a new account on your Matrix server. Disable this if you only want existing " "users to be able to use it." msgstr "" -"Activer l'enregistrement public signifie que n'importe qui sur Internet " -"pourra enregistrer un nouveau compte sur votre serveur Matrix. Désactivez " -"ceci si vous souhaitez que seuls les utilisateurs existants puissent " -"l'utiliser." +"Activer l’inscription publique signifie que n’importe qui sur Internet " +"pourra créer un nouveau compte sur votre serveur Matrix. Désactivez-la si " +"vous souhaitez que seuls les utilisateurs existants puissent se connecter." #: plinth/modules/matrixsynapse/manifest.py:13 msgid "Riot" msgstr "Riot" +#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 +#: plinth/modules/snapshot/templates/snapshot.html:12 +#: plinth/templates/app.html:46 +msgid "Configuration" +msgstr "Configuration" + #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:18 msgid "" "Matrix service needs to be configured for a domain. Users on other Matrix " "servers will be able to reach users on this server using this domain name. " "Matrix user IDs will look like @username:domainname." msgstr "" -"Le service Matrix doit être configuré pour un domaine. Les utilisateurs sur " -"d’autres serveurs Matrix seront en mesure d’atteindre les utilisateurs de ce " -"serveur grâce à ce nom de domaine. L'ID utilisateur Matrix ressemblera à " -"@nomUtilisateur:nomDeDomaine." +"Le service Matrix doit être configuré pour un domaine défini. Les " +"utilisateurs sur d’autres serveurs Matrix seront en mesure de joindre les " +"utilisateurs de ce serveur grâce à ce nom de domaine. Les identifiants " +"utilisateur Matrix seront du type @identifiant:nomdedomaine." #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:26 msgid "" @@ -2678,9 +2676,9 @@ msgid "" " " msgstr "" "\n" -" Attention ! Changer le nom de domaine après " -"l’installation initiale\n" -" n’est actuellement pas pris en charge.\n" +" Attention ! Le changement du nom de domaine après l’" +"installation initiale\n" +" n’est actuellement pas supporté.\n" " " #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:35 @@ -2699,18 +2697,18 @@ msgid "" "look like @username:%(domain_name)s. Changing the domain name after " "the initial setup is currently not supported." msgstr "" -"Le domaine de votre serveur Matrix est configuré sur %(domain_name)s. Les identités utilisateur ressembleront à : %(domain_name)s. " -"Changer le nom de domaine après la configuration initiale n'est actuellement " -"pas prise en charge." +"Le domaine de votre serveur Matrix est défini comme %(domain_name)s" +". Les identifiants utilisateur seront du type " +"@identifiant:%(domain_name)s. Le changement du nom de domaine après " +"la configuration initiale n’est actuellement pas supporté." #: plinth/modules/matrixsynapse/templates/matrix-synapse.html:21 msgid "" "New users can be registered from any client if public registration is " "enabled." msgstr "" -"De nouveaux utilisateurs peuvent s'inscrire de n'importe quel client si les " -"inscriptions publiques sont activées." +"De nouveaux utilisateurs peuvent créer un compte depuis n’importe quel " +"client si l’inscription publique est activée." #: plinth/modules/matrixsynapse/templates/matrix-synapse.html:30 #, python-format @@ -2724,13 +2722,13 @@ msgstr "" "valide. Rendez-vous sur Let's Encrypt " "pour en obtenir un." -#: plinth/modules/matrixsynapse/views.py:98 +#: plinth/modules/matrixsynapse/views.py:86 msgid "Public registration enabled" -msgstr "Enregistrement public activé" +msgstr "Inscription publique activée" -#: plinth/modules/matrixsynapse/views.py:103 +#: plinth/modules/matrixsynapse/views.py:91 msgid "Public registration disabled" -msgstr "Enregistrement public désactivé" +msgstr "Inscription publique désactivée" #: plinth/modules/mediawiki/__init__.py:26 msgid "" @@ -2739,11 +2737,12 @@ msgid "" "website. You can use MediaWiki to host a wiki-like website, take notes or " "collaborate with friends on projects." msgstr "" -"MediaWiki est l'outil collaboratif utilisé par Wikipedia et d'autres projets " -"WikiMedia. Un wiki permet à plusieurs utilisateurs de modifier le contenu " -"d'un site web. Vous pouvez utiliser MediaWiki pour héberger un site web " -"contenant un wiki, prendre des notes ou collaborer entre amis sur des " -"projets." +"MediaWiki est le moteur de wiki qui propulse Wikipedia ainsi que d’autres " +"projets de la fondation WikiMedia. Un moteur de wiki est un logiciel " +"permettant à plusieurs utilisateurs de modifier le contenu d’un site web de " +"manière collaborative. Vous pouvez utiliser MediaWiki pour héberger un site " +"web de type wiki, pour prendre des notes ou pour collaborer sur des projets " +"entre amis." #: plinth/modules/mediawiki/__init__.py:30 msgid "" @@ -2755,9 +2754,9 @@ msgid "" msgstr "" "Cette instance MediaWiki est livrée avec un mot de passe administrateur " "généré aléatoirement. Vous pouvez changer ce mot de passe dans la section " -"« Configuration », en se loguant avec le compte « admin ». Vous pourrez " -"ensuite créer d'autres comptes-utilisateur directement dans MediaWiki en " -"allant à la page Special:CreateAccount." #: plinth/modules/mediawiki/__init__.py:36 @@ -2765,8 +2764,8 @@ msgid "" "Anyone with a link to this wiki can read it. Only users that are logged in " "can make changes to the content." msgstr "" -"N'importe qui ayant un lien vers ce wiki peut le lire. Seuls les " -"utilisateurs connectés peuvent faire des changements dans son contenu." +"Toute personne ayant le lien vers ce wiki peut le consulter. Seuls les " +"utilisateurs connectés avec leur compte peuvent y apporter des modifications." #: plinth/modules/mediawiki/__init__.py:54 #: plinth/modules/mediawiki/manifest.py:9 @@ -2777,47 +2776,48 @@ msgstr "MediaWiki" msgid "Wiki" msgstr "Wiki" -#: plinth/modules/mediawiki/forms.py:27 +#: plinth/modules/mediawiki/forms.py:25 msgid "Administrator Password" msgstr "Mot de passe administrateur" -#: plinth/modules/mediawiki/forms.py:28 +#: plinth/modules/mediawiki/forms.py:26 msgid "" "Set a new password for MediaWiki's administrator account (admin). Leave this " "field blank to keep the current password." msgstr "" -"Mettre un nouveau mot de passe pour le compte d'administration de MediaWiki " -"(admin). Laissez ce champ vide pour garder le mot de passe actuel." +"Définir un nouveau mot de passe pour le compte d'administration de MediaWiki " +"(admin). Laissez ce champ vide pour conserver le mot de passe actuel." -#: plinth/modules/mediawiki/forms.py:33 +#: plinth/modules/mediawiki/forms.py:31 msgid "Enable public registrations" msgstr "Activer les inscriptions publiques" -#: plinth/modules/mediawiki/forms.py:34 +#: plinth/modules/mediawiki/forms.py:32 msgid "" "If enabled, anyone on the internet will be able to create an account on your " "MediaWiki instance." msgstr "" -"Permet à n'importe qui depuis Internet de créer un compte sur votre instance " +"Permet à n’importe qui depuis Internet de créer un compte sur votre instance " "MediaWiki." -#: plinth/modules/mediawiki/forms.py:38 +#: plinth/modules/mediawiki/forms.py:36 msgid "Enable private mode" msgstr "Activer le mode privé" -#: plinth/modules/mediawiki/forms.py:39 +#: plinth/modules/mediawiki/forms.py:37 msgid "" "If enabled, access will be restricted. Only people who have accounts can " "read/write to the wiki. Public registrations will also be disabled." msgstr "" -"Verrouille l'accès. Seul les utilisateurs avec un compte peuvent lire/écrire " -"sur ce wiki. Les inscriptions publiques sont également désactivées." +"Verrouille l’accès. Seuls les utilisateurs avec un compte existant pourront " +"lire/écrire sur ce wiki. Les inscriptions publiques sont également " +"désactivées." -#: plinth/modules/mediawiki/forms.py:44 +#: plinth/modules/mediawiki/forms.py:42 msgid "Default Skin" msgstr "Thème par défaut" -#: plinth/modules/mediawiki/forms.py:45 +#: plinth/modules/mediawiki/forms.py:43 msgid "" "Choose a default skin for your MediaWiki installation. Users have the option " "to select their preferred skin." @@ -2825,31 +2825,31 @@ msgstr "" "Choisissez un thème par défaut pour votre installation de MediaWiki. Les " "utilisateurs peuvent sélectionner leur thème préféré." -#: plinth/modules/mediawiki/views.py:53 +#: plinth/modules/mediawiki/views.py:48 msgid "Password updated" msgstr "Mot de passe mis à jour" -#: plinth/modules/mediawiki/views.py:72 +#: plinth/modules/mediawiki/views.py:57 msgid "Public registrations enabled" msgstr "Inscriptions publiques activées" -#: plinth/modules/mediawiki/views.py:81 +#: plinth/modules/mediawiki/views.py:66 msgid "Public registrations disabled" msgstr "Inscriptions publiques désactivées" -#: plinth/modules/mediawiki/views.py:86 +#: plinth/modules/mediawiki/views.py:71 msgid "Private mode enabled" msgstr "Mode privé activé" -#: plinth/modules/mediawiki/views.py:93 +#: plinth/modules/mediawiki/views.py:78 msgid "Private mode disabled" msgstr "Mode privé désactivé" -#: plinth/modules/mediawiki/views.py:101 +#: plinth/modules/mediawiki/views.py:86 msgid "Default skin changed" -msgstr "Thème par défaut changé" +msgstr "Thème par défaut modifié" -#: plinth/modules/minetest/__init__.py:37 +#: plinth/modules/minetest/__init__.py:38 #, python-brace-format msgid "" "Minetest is a multiplayer infinite-world block sandbox. This module enables " @@ -2857,59 +2857,60 @@ msgid "" "(30000). To connect to the server, a Minetest client is needed." msgstr "" -"Minetest est un jeu bac à sable multi-joueur. Ce module active un serveur " -"Minetest sur {box_name} avec port par défaut (30000). Pour se connecter au " -"serveur, vous devez disposer d'un client Minetest." -#: plinth/modules/minetest/__init__.py:63 +#: plinth/modules/minetest/__init__.py:62 #: plinth/modules/minetest/manifest.py:10 msgid "Minetest" msgstr "Minetest" -#: plinth/modules/minetest/__init__.py:64 +#: plinth/modules/minetest/__init__.py:63 msgid "Block Sandbox" msgstr "Bac à sable cubique" -#: plinth/modules/minetest/forms.py:15 +#: plinth/modules/minetest/forms.py:13 msgid "Maximum number of players" msgstr "Nombre maximum de joueurs" -#: plinth/modules/minetest/forms.py:17 +#: plinth/modules/minetest/forms.py:15 msgid "" "You can change the maximum number of players playing minetest at a single " "instance of time." msgstr "" -"Il est possible de modifier le nombre maximum de personnes jouant à minetest " -"à un moment donné." +"Vous permet de modifier le nombre maximum de joueurs autorisés à se " +"connecter à minetest à un instant donné." -#: plinth/modules/minetest/forms.py:21 +#: plinth/modules/minetest/forms.py:19 msgid "Enable creative mode" msgstr "Activer le mode créatif" -#: plinth/modules/minetest/forms.py:22 +#: plinth/modules/minetest/forms.py:20 msgid "" "Creative mode changes the rules of the game to make it more suitable for " "creative gameplay, rather than challenging \"survival\" gameplay." 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." +"Le mode créatif modifie les règles du jeu et le rend propice aux activités " +"de création, contrairement à la lutte pour la survie que constitue le mode " +"par défaut." -#: plinth/modules/minetest/forms.py:27 +#: plinth/modules/minetest/forms.py:25 msgid "Enable PVP" msgstr "Activer PVP" -#: plinth/modules/minetest/forms.py:28 +#: plinth/modules/minetest/forms.py:26 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:32 +#: plinth/modules/minetest/forms.py:30 msgid "Enable damage" msgstr "Activer les blessures" -#: plinth/modules/minetest/forms.py:33 +#: plinth/modules/minetest/forms.py:31 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 " @@ -2951,38 +2952,39 @@ msgid "" "gaming systems (such as PS3 and Xbox 360) or applications such as totem and " "Kodi." msgstr "" -"MiniDLNA est un serveur logiciel de média simple ayant pour but d’être " -"entièrement compatible avec les clients DLNA et UPnP-AV. Le démon MiniDNLA " -"sert des fichiers de médias (musique, photos et vidéos) à des clients sur un " -"réseau. DNLA/UPnP est un protocole sans configuration et est compatible avec " -"tout périphérique ayant la certification DLNA comme les lecteurs portables, " -"les smartphones, les télévisions et les systèmes de jeu (comme PS3 et " -"Xbox360) ou les applications comme totem et Kodi." +"MiniDLNA est un serveur de médias simple ayant pour but d’être entièrement " +"compatible avec les clients DLNA et UPnP-AV. Le démon MiniDNLA est capable " +"de servir des fichiers de médias (musique, photos et vidéos) à des clients " +"sur un réseau. DNLA/UPnP est un protocole sans configuration et est " +"compatible avec tout périphérique ayant la certification DLNA comme les " +"lecteurs portables, les smartphones, les télévisions et les systèmes de jeu (" +"comme la PS3 ou la Xbox 360) ainsi que les applications telles que Totem ou " +"Kodi." -#: plinth/modules/minidlna/__init__.py:33 +#: plinth/modules/minidlna/__init__.py:44 msgid "Media streaming server" -msgstr "Serveur de streaming de média" +msgstr "Serveur de streaming de médias" -#: plinth/modules/minidlna/__init__.py:47 +#: plinth/modules/minidlna/__init__.py:48 msgid "Simple Media Server" -msgstr "Serveur média simple" +msgstr "Serveur de médias simple" -#: plinth/modules/minidlna/forms.py:15 +#: plinth/modules/minidlna/forms.py:13 msgid "Media Files Directory" msgstr "Répertoire des fichiers multimédia" -#: plinth/modules/minidlna/forms.py:16 +#: plinth/modules/minidlna/forms.py:14 msgid "" "Directory that MiniDLNA Server will read for content. All sub-directories of " "this will be also scanned for media files. If you change the default ensure " "that the new directory exists and that is readable from the \"minidlna\" " "user. Any user media directories (\"/home/username/\") will usually work." msgstr "" -"Répertoire utilisé par MiniDLNA pour lire le contenu. Tous les sous-" -"répertoires seront également analysés à la recherche de fichiers multimédia. " -"Si vous changez le répertoire par défaut, assurez-vous que celui-ci existe " -"et que l’utilisateur \"minidlna\" puisse le lire. Tout répertoire " -"d’utilisateur (\"/home/utilisateur\") fonctionnera en général." +"Répertoire utilisé par MiniDLNA pour trouver les contenus. Tous les sous-" +"répertoires sont également analysés à la recherche de fichiers multimédia. " +"Si vous choisissez un répertoire autre que celui par défaut, assurez-vous " +"qu’il existe et que l’utilisateur \"minidlna\" puisse le lire. Les " +"répertoires utilisateur (\"/home/utilisateur\") fonctionnent en général." #: plinth/modules/minidlna/manifest.py:10 msgid "vlc" @@ -3014,10 +3016,9 @@ msgid "" "files. It can participate in multiple peer-to-peer networks including " "eDonkey, Kademlia, Overnet, BitTorrent and DirectConnect." msgstr "" -"MLDonkey est une application de partage de fichiers en pair à pair (sans " -"serveur intermédiaire) utilisé pour s'échanger de gros fichiers. Il peut " -"participer à de nombreux réseaux pairs-à-pairs dont eDonkey, Kademlia, " -"Overnet, BitTorrent et DirectConnect." +"MLDonkey est une application de partage de fichiers en pair à pair utilisée " +"pour s'échanger de gros fichiers. Elle peut participer à de nombreux réseaux " +"pair à pair dont eDonkey, Kademlia, Overnet, BitTorrent et DirectConnect." #: plinth/modules/mldonkey/__init__.py:29 msgid "" @@ -3025,31 +3026,31 @@ msgid "" "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 "" -"Les utilisateurs membres des groupes admin ou ed2k peuvent l'utiliser via " -"l'interface web. Les utilisateurs du groupe admin peuvent également " -"l'utiliser depuis n'importe quel client sur téléphone ou ordinateur, ou " -"depuis une interface telnet. Consultez le manuel." +"Les utilisateurs membres des groupes admin ou ed2k peuvent l’utiliser au " +"travers de l’interface web. Les utilisateurs du groupe admin peuvent " +"également l’utiliser depuis n'importe quel client sur téléphone ou " +"ordinateur, ou depuis une interface telnet. Consultez le manuel." #: plinth/modules/mldonkey/__init__.py:34 #, python-brace-format msgid "" "On {box_name}, downloaded files can be found in /var/lib/mldonkey/ directory." msgstr "" -"Sur {box_name}, les fichiers sont téléchargés dans le répertoire /var/lib/" +"Sur la {box_name}, les fichiers sont téléchargés dans le répertoire /var/lib/" "mldonkey/." -#: plinth/modules/mldonkey/__init__.py:40 +#: plinth/modules/mldonkey/__init__.py:50 msgid "Download files using eDonkey applications" msgstr "Fichiers téléchargés avec les applications eDonkey" -#: plinth/modules/mldonkey/__init__.py:54 +#: plinth/modules/mldonkey/__init__.py:53 #: plinth/modules/mldonkey/manifest.py:12 msgid "MLDonkey" msgstr "MLDonkey" -#: plinth/modules/mldonkey/__init__.py:56 +#: plinth/modules/mldonkey/__init__.py:55 msgid "Peer-to-peer File Sharing" -msgstr "Partage de fichiers en pair-à-pair, sans [serveur] intermédiaire" +msgstr "Partage de fichiers de pair à pair" #: plinth/modules/mldonkey/manifest.py:19 msgid "KMLDonkey" @@ -3059,7 +3060,7 @@ msgstr "KMLDonkey" msgid "AMLDonkey" msgstr "AMLDonkey" -#: plinth/modules/monkeysphere/__init__.py:18 +#: plinth/modules/monkeysphere/__init__.py:19 msgid "" "With Monkeysphere, an OpenPGP key can be generated for each configured " "domain serving SSH. The OpenPGP public key can then be uploaded to the " @@ -3071,16 +3072,16 @@ msgid "" "for more details." msgstr "" "Avec Monkeysphere, une clef OpenPGP peut être générée pour chaque domaine " -"configuré sous SSH. La clef publique OpenPGP peut alors être téléversé sur " -"les serveurs de clefs OpenPGP. Les utilisateurs se connectant à cette " -"machine via SSH peuvent ainsi vérifier qu'ils se connectent au bon hôte. " -"Pour que les utilisateurs puissent faire confiance à la clef, au moins une " -"personne (habituellement le propriétaire de la machine) doit la signer en " -"utilisant le processus habituel de signature de clef OpenPGP. Pour plus de " -"détails, voir la documentation SSH de Monkeysphere." +"configuré pour les connexions SSH. La clef publique OpenPGP peut alors être " +"téléversée sur les serveurs de clefs OpenPGP. Les utilisateurs se connectant " +"à cette machine via SSH pourront ainsi vérifier qu’ils se connectent au bon " +"serveur. Pour que les utilisateurs puissent faire confiance à la clef, au " +"moins une personne (habituellement le propriétaire de la machine) doit la " +"signer en utilisant le processus habituel de signature de clef OpenPGP. Pour " +"plus de détails, voir la documentation SSH de Monkeysphere." -#: plinth/modules/monkeysphere/__init__.py:26 +#: plinth/modules/monkeysphere/__init__.py:27 msgid "" "Monkeysphere can also generate an OpenPGP key for each Secure Web Server " "(HTTPS) certificate installed on this machine. The OpenPGP public key can " @@ -3092,13 +3093,14 @@ msgid "" msgstr "" "Monkeysphere peut également générer une clé OpenPGP pour chaque certificat " "de serveur web sécurisé (HTTPS) installé sur cette machine. La clé publique " -"OpenPGP peut être téléchargée par la suite sur les serveurs de clés OpenPGP. " -"Les utilisateurs accédant au serveur avec une adresse HTTPS peuvent ainsi " -"s'assurer qu'ils se connectent bien au bon hôte. Pour valider le certificat, " -"l'utilisateur aura besoin d'installer une série de programmes depuis le site Monkeysphere." +"OpenPGP peut ensuite être téléversée sur les serveurs de clés OpenPGP. Les " +"utilisateurs accédant au serveur web avec une adresse HTTPS pourront ainsi " +"s'assurer qu'ils se connectent bien au bon serveur. Pour valider le " +"certificat, l'utilisateur aura besoin d'installer une série de programmes " +"depuis le site " +"Monkeysphere." -#: plinth/modules/monkeysphere/__init__.py:50 +#: plinth/modules/monkeysphere/__init__.py:49 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:11 msgid "Monkeysphere" msgstr "Monkeysphere" @@ -3141,21 +3143,21 @@ msgstr "Autre" #: plinth/modules/monkeysphere/templates/monkeysphere.html:112 #, python-format msgid "Show details for key %(fingerprint)s" -msgstr "Montrer les détails de la clé %(fingerprint)s" +msgstr "Afficher les détails de la clé %(fingerprint)s" #: plinth/modules/monkeysphere/templates/monkeysphere.html:118 msgid "-" msgstr "-" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:128 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:129 msgid "Import Key" msgstr "Importer la clé" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:137 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:139 msgid "Publish Key" msgstr "Publier la clef" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:146 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:149 msgid "Add Domains" msgstr "Ajouter des domaines" @@ -3173,7 +3175,7 @@ msgstr "Type de clé SSH" #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:32 msgid "SSH Key Size" -msgstr "Taille Clé SSH" +msgstr "Taille de clé SSH" #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:36 msgid "SSH Fingerprint" @@ -3228,15 +3230,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:23 +#: plinth/modules/mumble/__init__.py:24 msgid "" "Mumble is an open source, low-latency, encrypted, high quality voice chat " "software." msgstr "" -"Mumble est un logiciel de chat vocal de haute qualité, open source, crypté " +"Mumble est un logiciel de tchat vocal de haute qualité, open source, crypté " "et à faible temps de latence." -#: plinth/modules/mumble/__init__.py:25 +#: plinth/modules/mumble/__init__.py:26 msgid "" "You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your " @@ -3247,26 +3249,26 @@ msgstr "" "de se connecter à Mumble depuis un ordinateur ou un appareil tournant sous " "Android." -#: plinth/modules/mumble/__init__.py:49 plinth/modules/mumble/manifest.py:12 +#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:12 msgid "Mumble" msgstr "Mumble" -#: plinth/modules/mumble/__init__.py:50 +#: plinth/modules/mumble/__init__.py:49 msgid "Voice Chat" -msgstr "Chat vocal" +msgstr "Tchat vocal" -#: plinth/modules/mumble/forms.py:16 +#: plinth/modules/mumble/forms.py:14 msgid "Set SuperUser Password" msgstr "Régler le mot de passe du super utilisateur" -#: plinth/modules/mumble/forms.py:19 +#: plinth/modules/mumble/forms.py:17 msgid "" "Optional. Leave this field blank to keep the current password. SuperUser " "password can be used to manage permissions in Mumble." msgstr "" -"Optionnel. Laissez ce champ vide pour conserver le mot de passe actuel. Le " -"mot de passe du super utilisateur peut servir à gérer les permissions dans " -"Mumble." +"Paramètre optionnel. Laissez ce champ vide pour conserver le mot de passe " +"actuel. Le mot de passe du super utilisateur peut servir à gérer les " +"permissions dans Mumble." #: plinth/modules/mumble/manifest.py:37 msgid "Plumble" @@ -3288,14 +3290,15 @@ msgid "" "each type of name, it is shown whether the HTTP, HTTPS, and SSH services are " "enabled or disabled for incoming connections through the given name." msgstr "" -"Le serveur de noms affiche un résumé des manières dont {box_name} peut être " -"accédée depuis l'Internet public : nom de domaine, service Tor onion et " -"Pagekite. Pour chaque type de nom, il indique si les services HTTP, HTTPS et " -"SSH sont activés ou non pour les connexions entrantes sur le nom donné." +"La page des services de nommage affiche un résumé des manières dont la " +"{box_name} peut être jointe depuis l'Internet public : nom de domaine, " +"service onion Tor, et Pagekite. Pour chaque type de nom, il est indiqué si " +"les services HTTP, HTTPS et SSH sont activés ou pas pour les connexions " +"entrantes via le nom en question." #: plinth/modules/names/__init__.py:46 msgid "Name Services" -msgstr "Serveur de Noms" +msgstr "Services de nommage" #: plinth/modules/names/components.py:12 msgid "All" @@ -3333,7 +3336,7 @@ msgstr "Utilise DNSSEC sur IPv{kind}" #: plinth/modules/networks/forms.py:16 msgid "Connection Type" -msgstr "Type de Connexion" +msgstr "Type de connexion" #: plinth/modules/networks/forms.py:28 msgid "Connection Name" @@ -3380,10 +3383,10 @@ msgid "" "network making it a client. \"Shared\" method will make {box_name} act as a " "router, configure clients on this network and share its Internet connection." msgstr "" -"La méthode « automatique » fera en sorte que {box_name} acquière la " -"configuration de ce réseau, en en faisant un client. La méthode « partagée » " -"fera agir {box_name} en tant que routeur, lui fera configurer les clients " -"sur ce réseau et partagera sa connexion Internet." +"La méthode « automatique » fera de la {box_name} un client qui obtient sa " +"configuration depuis ce réseau. La méthode « partagée » fera de la {box_name}" +" un routeur, en charge de configurer les clients sur ce réseau et de " +"partager sa connexion à Internet." #: plinth/modules/networks/forms.py:46 msgid "Automatic (DHCP)" @@ -3402,8 +3405,8 @@ msgid "" "Optional value. If left blank, a default netmask based on the address will " "be used." msgstr "" -"Valeur optionnelle. Si laissée vide, un masque de sous-réseau basé sur " -"l'adresse sera utilisé par défaut." +"Paramètre optionnel. Si laissée vide, un masque de sous-réseau basé sur l’" +"adresse sera utilisé par défaut." #: plinth/modules/networks/forms.py:57 plinth/modules/networks/forms.py:86 #: plinth/modules/networks/templates/connection_show.html:187 @@ -3413,7 +3416,7 @@ msgstr "Passerelle" #: plinth/modules/networks/forms.py:57 plinth/modules/networks/forms.py:86 msgid "Optional value." -msgstr "Valeur optionnelle." +msgstr "Paramètre optionnel." #: plinth/modules/networks/forms.py:60 plinth/modules/networks/forms.py:89 msgid "DNS Server" @@ -3424,9 +3427,9 @@ msgid "" "Optional value. If this value is given and IPv4 addressing method is " "\"Automatic\", the DNS Servers provided by a DHCP server will be ignored." msgstr "" -"Valeur optionnelle. Si cette valeur est renseignée et que la méthode " -"d'adressage IPv4 est « Automatique », les serveurs DNS fournis par le " -"serveur DHCP seront ignorés." +"Paramètre optionnel. Si ce champ valeur est renseigné et que la méthode d’" +"adressage IPv4 est « Automatique », les serveurs DNS obtenus via DHCP seront " +"ignorés." #: plinth/modules/networks/forms.py:66 plinth/modules/networks/forms.py:95 msgid "Second DNS Server" @@ -3437,9 +3440,9 @@ msgid "" "Optional value. If this value is given and IPv4 Addressing Method is " "\"Automatic\", the DNS Servers provided by a DHCP server will be ignored." msgstr "" -"Valeur optionnelle. Si cette valeur est renseignée et que la méthode " -"d'adressage IPv4 est « Automatique », les serveurs DNS fournis par le " -"serveur DHCP seront ignorés." +"Paramètre optionnel. Si ce champ est renseignée et que la méthode d’" +"adressage IPv4 est « Automatique », les serveurs DNS obtenus via DHCP seront " +"ignorés." #: plinth/modules/networks/forms.py:72 msgid "IPv6 Addressing Method" @@ -3451,7 +3454,7 @@ msgid "" "\"Automatic\" methods will make {box_name} acquire configuration from this " "network making it a client." msgstr "" -"Les méthodes « automatiques » feront en sorte que {box_name} obtienne sa " +"Les méthodes « automatiques » feront en sorte que la {box_name} obtienne sa " "configuration depuis ce réseau en tant que client." #: plinth/modules/networks/forms.py:76 plinth/modules/networks/forms.py:241 @@ -3479,18 +3482,16 @@ msgid "" "Optional value. If this value is given and IPv6 addressing method is " "\"Automatic\", the DNS Servers provided by a DHCP server will be ignored." msgstr "" -"Valeur optionnelle. Si cette valeur est renseignée et que la méthode " -"d'adressage IPv6 est « Automatique », les serveurs DNS fournis par le " -"serveur DHCP seront ignorés." +"Paramètre optionnel. Si ce champ est renseigné et que la méthode d’adressage " +"IPv6 est « Automatique », les serveurs DNS obtenus via DHCP seront ignorés." #: plinth/modules/networks/forms.py:96 msgid "" "Optional value. If this value is given and IPv6 Addressing Method is " "\"Automatic\", the DNS Servers provided by a DHCP server will be ignored." msgstr "" -"Valeur optionnelle. Si cette valeur est renseignée et que la méthode " -"d'adressage IPv6 est « Automatique », les serveurs DNS fournis par le " -"serveur DHCP seront ignorés." +"Paramètre optionnel. Si ce champ est renseigné et que la méthode d’adressage " +"IPv6 est « Automatique », les serveurs DNS obtenus via DHCP seront ignorés." #: plinth/modules/networks/forms.py:109 msgid "-- select --" @@ -3544,9 +3545,9 @@ msgid "" "Optional value. Wireless channel in the selected frequency band to restrict " "to. Blank or 0 value means automatic selection." msgstr "" -"Valeur facultative. Sert à restreindre à la chaîne sans fil dans la bande de " -"fréquence sélectionnée. Une valeur vide ou égale à 0 signifie une sélection " -"automatique." +"Paramètre optionnel. Forcer l’utilisation de ce canal dans la bande de " +"fréquence sélectionnée. Une valeur vide ou égale à 0 correspond à une " +"sélection automatique." #: plinth/modules/networks/forms.py:251 msgid "BSSID" @@ -3558,9 +3559,9 @@ msgid "" "an access point, connect only if the BSSID of the access point matches the " "one provided. Example: 00:11:22:aa:bb:cc." msgstr "" -"Valeur facultative. Identifiant unique pour le point d'accès. Lors de la " -"connexion à un point d'accès, connectez-vous seulement si la BSSID du point " -"d'accès correspond à celle fournie. Exemple : 00:11:22:aa:bb:cc." +"Paramètre optionnel. Identifiant unique du point d’accès. Lors de la " +"connexion à un point d'accès, ne se connecter que si le BSSID du point d’" +"accès correspond à celui saisi ici. Exemple : 00:11:22:aa:bb:cc." #: plinth/modules/networks/forms.py:258 msgid "Authentication Mode" @@ -3584,8 +3585,8 @@ msgstr "Ouvert" #: plinth/modules/networks/forms.py:297 #, python-brace-format -msgid "Choose how your {box_name} is connected to your network" -msgstr "Choisissez comment votre {box_name} est connecté à votre réseau" +msgid "Specify how your {box_name} is connected to your network" +msgstr "Précisez comment votre {box_name} est connectée à votre réseau" #: plinth/modules/networks/forms.py:304 #, python-brace-format @@ -3606,11 +3607,11 @@ msgid "" "adapter. {box_name} is directly connected to the Internet and all your " "devices connect to {box_name} for their Internet connectivity.

" msgstr "" -"{box_name} est votre routeur

Votre {box_name} " -"possède plusieurs interfaces-réseaux comme de multiples ports Ethernet ou un " -"adaptateur Wi-Fi. Votre {box_name} est directement connecté à Internet et " -"tous vos périphériques se connectent à {box_name} pour leur connectivité " -"internet.

" +"La {box_name} est votre routeur

Votre {box_name} " +"possède plusieurs interfaces réseau comme de multiples ports Ethernet ou un " +"adaptateur Wi-Fi. Votre {box_name} est directement connectée à Internet et " +"tous vos périphériques se connectent à la {box_name} pour leur connectivité " +"Internet.

" #: plinth/modules/networks/forms.py:320 #, python-brace-format @@ -3620,9 +3621,9 @@ msgid "" "devices on the network. This can happen on community or cloud setups.

" msgstr "" "Directement connectée à Internet

Votre {box_name} " -"est directement connectée à Internet et il n'y a pas d'autre périphérique " -"sur le réseau. Cela arrive avec une configuration communautaire ou sur une " -"machine virtuelle.

" +"est directement connectée à Internet et il n’y a pas d'autre périphérique " +"sur le réseau. C’est le cas en général avec une installation communautaire " +"ou dans les nuages (« cloud »).

" #: plinth/modules/networks/forms.py:339 msgid "Choose your internet connection type" @@ -3658,14 +3659,13 @@ msgid "" "but very few ISPs offer this. You may be able to get this service from your " "ISP by making an additional payment.

" msgstr "" -"J’ai une adresse IP publique ne pouvant pas changer avec le temps " -"(recommandé)

Cela signifie que les appareils sur " -"Internet peuvent vous joindre quand vous êtes connecté à Internet. À chaque " -"connexion avec votre fournisseur d’accès à Internet (FAI), vous avez " -"toujours la même adresse IP. Il s’agit de la situation la moins " -"problématique pour beaucoup des services de {box_name} mais très peu de FAI " -"proposent cela. Il se peut que vous puissiez en bénéficier contre un surcoût " -"auprès de votre FAI.

" +"J’ai une adresse IP publique ne changeant pas avec le temps (recommandé)

Cela signifie que les appareils sur Internet peuvent " +"vous joindre quand vous êtes connecté à Internet. À chaque connexion avec " +"votre fournisseur d’accès à Internet (FAI), vous avez toujours la même " +"adresse IP. Il s’agit de la situation la moins problématique pour beaucoup " +"des services de la {box_name} mais très peu de FAI proposent cela. Il est " +"possible que votre FAI propose cette option moyennant un surcoût.

" #: plinth/modules/networks/forms.py:368 #, python-brace-format @@ -3681,11 +3681,11 @@ msgstr "" "Je n’ai d’adresse IP publique

Cela signifie que les " "appareils sur Internet ne peuvent pas vous joindre quand vous êtes " "connecté à Internet. À chaque connexion avec votre fournisseur d’accès à " -"Internet (FAI), vous n’obtenez qu’une adresse IP utilisables dans vos " -"réseaux locaux. De nombreux FAI proposent ce type de connectivité. Il s’agit " -"de la situation la plus problématique pour héberger des services à domicile. " -"{box_name} fournit plusieurs solutions de contournement mais chaque solution " -"a des limitations.

" +"Internet (FAI), vous obtenez une adresse IP qui n’est utilisable que " +"localement sur son réseau. De nombreux FAI proposent ce type de " +"connectivité. Il s’agit de la situation la plus problématique pour héberger " +"des services à domicile. La {box_name} fournit plusieurs solutions de " +"contournement mais chaque solution a des limitations.

" #: plinth/modules/networks/forms.py:381 msgid "" @@ -3710,12 +3710,13 @@ msgid "" "static local IP address for your {box_name} in your router's configuration." msgstr "" -"Utiliser la fonction de réseau isolé (DMZ) pour transférer tout le trafic " +"Utiliser la fonction de réseau isolé (DMZ) pour rediriger tout le trafic " "(recommandé)

La plupart des routeurs proposent une " -"configuration appelée DMZ. Celle-ci vous permet de transférer tout le trafic " -"entrant depuis Internet vers une adresse IP unique telle que l’adresse IP de " -"{box_name}. Pensez d’abord à configurer une adresse IP locale statique pour " -"votre {box_name} dans la configuration de votre router.

" +"configuration appelée DMZ pour DeMilitarized Zone (zone démilitarisée). " +"Celle-ci vous permet de rediriger tout le trafic entrant depuis Internet " +"vers une adresse IP unique telle que l’adresse IP de la {box_name}. Pensez d’" +"abord à assigner une adresse IP locale statique à votre {box_name} dans la " +"configuration de votre router.

" #: plinth/modules/networks/forms.py:415 #, python-brace-format @@ -3728,14 +3729,15 @@ msgid "" "443 to work. Each of the other applications will suggest which port(s) need " "to be forwarded for that application to work.

" msgstr "" -"Transférer le trafic spécifique tel que requis par chaque application

Vous pourriez aussi choisir de transférer uniquement un " -"trafic spécifique vers votre {box_name}. Cela est idéal si vous avez " -"d’autres serveurs tels que {box_name} dans votre réseau ou si votre routeur " -"ne gère pas les fonctions de DMZ. Toutes les applications qui fournissent " -"une interface web ont besoin que vous transfériez le trafic des ports 80 et " -"443 pour fonctionner. Les autres applications suggéreront quel(s) port(s) " -"transférer pour qu’elles fonctionnent.

" +"Rediriger spécifiquement le trafic en fonction des besoins de chaque " +"application

Vous pouvez aussi choisir de ne " +"transférer qu’une partie spécifique du trafic vers votre {box_name}. C’est " +"l’option idéale si vous avez d’autres serveurs similaires à la {box_name} " +"sur votre réseau ou si votre routeur ne gère pas les fonctions de DMZ. " +"Toutes les applications dotées d’une interface web nécessitent la " +"redirection des ports 80 et 443 pour fonctionner. Les autres applications " +"suggéreront pour chacune d’entre elles le(s) port(s) à rediriger pour les " +"rendre opérationnelles.

" #: plinth/modules/networks/forms.py:429 msgid "" @@ -3744,13 +3746,13 @@ msgid "" "to be reminded later. Some of the other configuration steps may fail.

" msgstr "" "Le routeur n’est pas configuré actuellement

Choisissez ceci si vous n’avez pas configuré le routeur ou si vous n’en " -"êtes pas capable et souhaitez vous le rappeler plus tard. Certaines des " -"autres étapes de configuration pourraient échouer.

" +"\">Choisissez cette option si vous n’avez pas encore pu configurer le " +"routeur et souhaitez vous faire rappeler de le configurer plus tard. Il se " +"peut que d’autres étapes de configuration échouent.

" #: plinth/modules/networks/templates/connection_show.html:28 msgid "Edit connection" -msgstr "Modifier Connexion" +msgstr "Modifier la connexion" #: plinth/modules/networks/templates/connection_show.html:28 #: plinth/modules/wireguard/templates/wireguard_show_client.html:68 @@ -3771,7 +3773,7 @@ msgstr "Activer" #: plinth/modules/networks/templates/connection_show.html:48 msgid "Delete connection" -msgstr "Supprimer Connexion" +msgstr "Supprimer la connexion" #: plinth/modules/networks/templates/connection_show.html:51 #: plinth/modules/networks/templates/connections_diagram.html:58 @@ -3821,7 +3823,7 @@ msgstr "Description" #: plinth/modules/networks/templates/connection_show.html:101 msgid "Physical Link" -msgstr "Lien Physique" +msgstr "Lien physique" #: plinth/modules/networks/templates/connection_show.html:106 msgid "Link state" @@ -3860,7 +3862,7 @@ msgstr "IPv4" #: plinth/modules/networks/templates/connection_show.html:171 #: plinth/modules/networks/templates/connection_show.html:212 -#: plinth/modules/shadowsocks/forms.py:49 +#: plinth/modules/shadowsocks/forms.py:48 msgid "Method" msgstr "Méthode" @@ -3876,7 +3878,7 @@ msgstr "Serveur DNS" #: plinth/modules/networks/templates/connection_show.html:201 #: plinth/modules/networks/templates/connection_show.html:240 -#: plinth/modules/storage/forms.py:141 +#: plinth/modules/storage/forms.py:139 msgid "Default" msgstr "Défaut" @@ -3905,10 +3907,10 @@ msgid "" "connect this interface to a public network, services meant to be available " "only internally will become available externally. This is a security risk." msgstr "" -"L'interface doit être connectée à une machine ou réseau locaux. Si vous " -"connectez cette interface au réseau public, les services destinés à une " -"accessibilité en interne deviendront accessible depuis l'extérieur. C'est " -"une faille de sécurité." +"Cette interface doit être connectée à une machine ou à un réseau local. Si " +"vous connectez cette interface à un réseau public, les services conçus pour " +"un usage interne seront rendus accessibles à l’extérieur. Ceci constitue une " +"faille de sécurité." #: plinth/modules/networks/templates/connection_show.html:285 msgid "" @@ -3916,9 +3918,9 @@ msgid "" "a local network/machine, many services meant to available only internally " "will not be available." msgstr "" -"Cette interface doit recevoir votre connexion internet. Si vous la connectez " -"à une machine ou un réseau locaux, beaucoup de services conçus pour un usage " -"interne ne seront pas disponibles." +"Cette interface doit recevoir votre connexion Internet. Si vous la connectez " +"à une machine ou à un réseau local, de nombreux services conçus pour un " +"usage interne ne seront pas disponibles." #: plinth/modules/networks/templates/connection_show.html:304 #, python-format @@ -3928,8 +3930,8 @@ msgid "" "this interface. It is recommended that you deactivate or delete this " "connection and re-configure it." msgstr "" -"Cette interface n'est pas maintenue par %(box_name)s. L'état de sa sécurité " -"est inconnu aux yeux de %(box_name)s. Beaucoup de services %(box_name)s ne " +"Cette interface n'est pas gérée par la %(box_name)s. L'état de sa sécurité " +"est inconnu de la %(box_name)s. Beaucoup des services de la %(box_name)s ne " "seront pas disponibles sur cette interface. Il est recommandé de désactiver/" "supprimer cette connexion et de la reconfigurer." @@ -3971,12 +3973,12 @@ msgstr "Wi-Fi" #: plinth/modules/networks/templates/connections_diagram.html:74 #, python-format msgid "Show connection %(connection.name)s" -msgstr "Montrer la connexion %(connection.name)s" +msgstr "Détails de la connexion %(connection.name)s" #: plinth/modules/networks/templates/connections_diagram.html:104 #, python-format msgid "Show connection %(name)s" -msgstr "Montrer la connexion %(name)s" +msgstr "Détails de la connexion %(name)s" #: plinth/modules/networks/templates/connections_diagram.html:116 msgid "Computer" @@ -3995,7 +3997,7 @@ msgstr "Connexions" #: plinth/modules/networks/templates/connections_list.html:14 #: plinth/modules/networks/views.py:261 msgid "Nearby Wi-Fi Networks" -msgstr "Réseaux Wi-Fi à Proximité" +msgstr "Réseaux Wi-Fi à proximité" #: plinth/modules/networks/templates/connections_list.html:17 #: plinth/modules/networks/templates/connections_list.html:19 @@ -4023,14 +4025,14 @@ msgstr "Créer..." #: plinth/modules/networks/templates/internet_connectivity_content.html:10 msgid "What Type Of Internet Connection Do You Have?" -msgstr "Quel type de connexion à Internet avez-vous ?" +msgstr "De quel type est votre connexion à Internet ?" #: plinth/modules/networks/templates/internet_connectivity_content.html:16 msgid "" "Select an option that best describes the type of Internet connection. This " "information is used only to guide you with further setup." msgstr "" -"Choisissez une option qui décrit au mieux le type de connexion à Internet. " +"Choisissez l’option qui décrit au mieux votre type de connexion à Internet. " "Cette information n’est utilisée que pour vous guider avec la configuration " "qui suit." @@ -4048,7 +4050,7 @@ msgstr "Suivant" #: plinth/modules/networks/templates/internet_connectivity_main.html:9 msgid "Your Internet Connection Type" -msgstr "Votre Type de Connexion à Internet" +msgstr "Votre type de connexion à Internet" #: plinth/modules/networks/templates/internet_connectivity_main.html:14 msgid "" @@ -4056,9 +4058,9 @@ msgid "" "your ISP. This information is only used to suggest you necessary " "configuration actions." msgstr "" -"Les informations suivantes décrivent au mieux le type de connexion à " -"Internet fourni par votre FAI. Ces informations ne sont utilisées que pour " -"vous suggérer des actions de configuration nécessaires." +"La description qui suit résume le mieux le type de connexion à Internet " +"fourni par votre FAI. Ces informations ne sont utilisées que pour suggérer d’" +"autres actions de configuration nécessaires." #: plinth/modules/networks/templates/internet_connectivity_main.html:23 msgid "My ISP provides a public IP address that does not change over time." @@ -4077,7 +4079,7 @@ msgstr "Mon FAI ne fournit pas d’adresse IP publique." #: plinth/modules/networks/templates/internet_connectivity_main.html:35 msgid "I do not know the type of connection my ISP provides." msgstr "" -"Je ne connais pas le type de connexion internet que mon fournisseur d'accès " +"Je ne connais pas le type de connexion Internet que mon fournisseur d'accès " "me procure." #: plinth/modules/networks/templates/internet_connectivity_main.html:41 @@ -4088,7 +4090,7 @@ msgstr "Actualiser…" #: plinth/modules/networks/templates/network_topology_content.html:10 #, python-format msgid "How is Your %(box_name)s Connected to the Internet?" -msgstr "Comment votre %(box_name)s est connecté à Internet ?" +msgstr "Comment votre %(box_name)s est-ell connectée à Internet ?" #: plinth/modules/networks/templates/network_topology_content.html:16 #, python-format @@ -4097,14 +4099,15 @@ msgid "" "your network. This information is used to guide you with further setup. It " "can be changed later." msgstr "" -"Choisissez une option qui décrit au mieux comment votre %(box_name)s est " +"Choisissez l’option qui décrit le mieux comment votre %(box_name)s est " "connecté à votre réseau. Cette information sera utilisée pour vous guider " -"dans la configuration qui suit. Ce réglage peut être changé ultérieurement." +"dans les étapes suivantes de la configuration. Ce réglage peut être modifié " +"ultérieurement." #: plinth/modules/networks/templates/network_topology_main.html:9 #, python-format msgid "%(box_name)s Internet Connectivity" -msgstr "Connectivité à Internet de %(box_name)s" +msgstr "Connectivité à Internet de la %(box_name)s" #: plinth/modules/networks/templates/network_topology_main.html:15 #, python-format @@ -4113,9 +4116,9 @@ msgid "" "network. This information is used only to suggest necessary configuration " "actions." msgstr "" -"Les informations suivantes décrivent au mieux comment votre %(box_name)s est " -"connectée à votre réseau. Ces informations ne sont utilisées que pour " -"suggérer des actions de configuration nécessaires." +"La description qui suit résume le mieux la manière dont votre %(box_name)s " +"est connectée à votre réseau. Ces informations ne sont utilisées que pour " +"suggérer d’autres actions de configuration nécessaires." #: plinth/modules/networks/templates/network_topology_main.html:24 #, python-format @@ -4132,8 +4135,8 @@ msgid "" "Your %(box_name)s is directly connected to the Internet and all your devices " "connect to %(box_name)s for their Internet connectivity." msgstr "" -"Votre %(box_name)s est directement connecté à Internet et tous vos " -"périphériques se connectent à {box_name} pour leur connectivité internet." +"Votre %(box_name)s est directement connectée à Internet et tous vos " +"périphériques se connectent à la {box_name}s pour leur connectivité Internet." #: plinth/modules/networks/templates/network_topology_main.html:34 #, python-format @@ -4147,7 +4150,7 @@ msgstr "" #: plinth/modules/networks/templates/router_configuration_content.html:10 #, python-format msgid "Setup %(box_name)s Behind a Router" -msgstr "Installer %(box_name)s derrière un routeur" +msgstr "Installer la %(box_name)s derrière un routeur" #: plinth/modules/networks/templates/router_configuration_content.html:16 #, python-format @@ -4168,8 +4171,8 @@ msgid "" msgstr "" "Avec cette configuration, tout appareil sur Internet tentant de joindre " "votre %(box_name)s devra passer par votre routeur. Le routeur devra être " -"configuré pour transférer tout le trafic qu’il reçoit afin que %(box_name)s " -"fournisse ses services." +"configuré pour rediriger tout le trafic qu’il reçoit afin que la " +"%(box_name)s puisse fournir ses services." #: plinth/modules/networks/templates/router_configuration_content.html:32 msgid "" @@ -4191,8 +4194,8 @@ msgid "" "You will need to login to your router's administration console provided by " "the router. This may look like one of the following:" msgstr "" -"Vous devrez vous connecter à la console d'administration de votre routeur. " -"Cela peut ressembler à l'un des cas suivants :" +"Vous devrez vous connecter à la console d’administration de votre routeur. " +"Cela se présente en général de la manière suivante :" #: plinth/modules/networks/templates/router_configuration_content.html:54 msgid "" @@ -4203,21 +4206,23 @@ msgid "" "model number and search online for the router's manual. This will provide " "full instructions on how to perform this task." msgstr "" -"Vous avez configuré le compte et le mot de passe quand vous avez configuré " -"le routeur. Dans bien des cas, cette information est imprimée sur le dos du " -"routeur. Si vous ne vous rappelez pas ces données de connexion ou l'adresse " -"IP du routeur, vous pourriez décider de le ré-initialiser et de le re-" -"configurer de zéro. Recherchez votre modèle de routeur et cherchez sa notice " -"en ligne sur Internet. Cela vous donnera toutes les instructions nécessaires " -"pour accomplir cette opération." +"Vous avez défini un identifiant et un mot de passe lors de la mise en " +"service du routeur. Pour de nombreux appareils, cette information est " +"imprimée au dos du routeur. Si vous ne vous rappelez pas ces informations de " +"connexion ou de l’adresse IP du routeur, une option à votre disposition est " +"de le réinitialiser et de le reconfigurer de zéro. Déterminez le modèle de " +"votre routeur et recherchez sa notice d’utilisation en ligne sur Internet. " +"Elle vous donnera les instructions détaillées sur comment réaliser cette " +"opération." #: plinth/modules/networks/views.py:36 msgid "Network Connections" -msgstr "Connexions Réseau" +msgstr "Connexions réseau" #: plinth/modules/networks/views.py:51 msgid "Cannot show connection: Connection not found." -msgstr "Impossible de montrer la connexion : connexion introuvable." +msgstr "" +"Impossible d’afficher les détails de la connexion : connexion introuvable." #: plinth/modules/networks/views.py:86 msgid "Connection Information" @@ -4229,7 +4234,7 @@ msgstr "Impossible de modifier la connexion : connexion introuvable." #: plinth/modules/networks/views.py:106 msgid "This type of connection is not yet understood." -msgstr "Ce type de connexion n'est pas encore intelligible." +msgstr "Ce type de connexion n'est pas encore supporté." #: plinth/modules/networks/views.py:224 #, python-brace-format @@ -4238,13 +4243,13 @@ msgstr "Connexion {name} activée." #: plinth/modules/networks/views.py:228 msgid "Failed to activate connection: Connection not found." -msgstr "Échec de l'activation de la connexion : connexion introuvable." +msgstr "Échec d’activation de la connexion : connexion introuvable." #: plinth/modules/networks/views.py:234 #, python-brace-format msgid "Failed to activate connection {name}: No suitable device is available." msgstr "" -"Échec de l'activation de la connexion {name} : pas d'appareil adéquat " +"Échec d’activation de la connexion {name} : pas de périphérique adéquat " "disponible." #: plinth/modules/networks/views.py:247 @@ -4254,7 +4259,7 @@ msgstr "Connexion {name} désactivée." #: plinth/modules/networks/views.py:251 msgid "Failed to de-activate connection: Connection not found." -msgstr "Échec de la désactivation de la connexion : connexion introuvable." +msgstr "Échec de désactivation de la connexion : connexion introuvable." #: plinth/modules/networks/views.py:303 msgid "Adding New Generic Connection" @@ -4262,15 +4267,15 @@ msgstr "Ajout d'une nouvelle connexion générique" #: plinth/modules/networks/views.py:321 msgid "Adding New Ethernet Connection" -msgstr "Ajouter Nouvelle Connexion Ethernet" +msgstr "Ajout d’une nouvelle connexion Ethernet" #: plinth/modules/networks/views.py:339 msgid "Adding New PPPoE Connection" -msgstr "Ajouter Nouvelle Connexion PPPoE" +msgstr "Ajout d’une nouvelle connexion PPPoE" #: plinth/modules/networks/views.py:374 msgid "Adding New Wi-Fi Connection" -msgstr "Ajouter Nouvelle Connexion Wi-Fi" +msgstr "Ajout d’une nouvelle connexion Wi-Fi" #: plinth/modules/networks/views.py:389 #, python-brace-format @@ -4279,7 +4284,7 @@ msgstr "Connexion {name} supprimée." #: plinth/modules/networks/views.py:393 plinth/modules/networks/views.py:403 msgid "Failed to delete connection: Connection not found." -msgstr "Échec de la suppression de la connexion : connexion introuvable." +msgstr "Échec de suppression de la connexion : connexion introuvable." #: plinth/modules/openvpn/__init__.py:26 #, python-brace-format @@ -4292,11 +4297,12 @@ msgid "" "security and anonymity." msgstr "" "Un réseau privé virtuel (VPN) est une technique permettant de connecter deux " -"machines de manière sécurisée pour accéder aux ressources d'un réseau privé. " -"Lorsque vous êtes hors de chez vous, vous pouvez vous connecter à votre " -"boîte {box_name} pour atteindre votre réseau privé et aux services privés/" -"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." +"appareils de manière sécurisée pour accéder aux ressources d’un réseau " +"privé. Lorsque vous êtes hors de chez vous, vous pourrez vous connecter à " +"votre {box_name} pour atteindre votre réseau domestique et les services privé" +"s/internes de la {box_name}. Vous aurez également la possibilité d’accéder " +"au reste d’Internet au travers de la {box_name} pour une sécurité et un " +"anonymat accrus." #: plinth/modules/openvpn/__init__.py:49 plinth/modules/openvpn/manifest.py:18 msgid "OpenVPN" @@ -4330,13 +4336,14 @@ msgid "" "time. Depending on how fast your %(box_name)s is, it may even take hours. " "If the setup is interrupted, you may start it again." msgstr "" -"OpenVPN n'a pas encore été installé. Une installation sûre prend beaucoup de " -"temps. En fonction de la vélocité de %(box_name)s, cela peut prendre des " -"heures. Si l'installation est interrompue, vous devez recommencer." +"OpenVPN n’est pas encore installé. Réaliser une installation sûre va prendre " +"beaucoup de temps. En fonction de la vélocité de votre %(box_name)s, cela " +"peut prendre jusqu’à plusieurs heures. Si l'installation est interrompue, " +"vous devrez la relancer intégralement." #: plinth/modules/openvpn/templates/openvpn.html:40 msgid "Start setup" -msgstr "Démarrer l'Installation" +msgstr "Démarrer l’installation" #: plinth/modules/openvpn/templates/openvpn.html:49 msgid "OpenVPN setup is running" @@ -4349,9 +4356,10 @@ msgid "" "on how fast your %(box_name)s is, it may even take hours. If the setup is " "interrupted, you may start it again." msgstr "" -"Une installation sûre prend beaucoup de temps. En fonction de la vélocité de " -"%(box_name)s, cela peut prendre des heures. Si l'installation est " -"interrompue, vous devez recommencer." +"Pour réaliser une installation sûre, ce processus va prendre beaucoup de " +"temps. En fonction de la vélocité de votre %(box_name)s, cela peut prendre " +"jusqu’à plusieurs heures. Si l’installation est interrompue, vous devrez la " +"relancer intégralement." #: plinth/modules/openvpn/templates/openvpn.html:72 msgid "Profile" @@ -4365,8 +4373,8 @@ msgid "" "available for most platforms. Click \"Learn more...\" above for recommended " "clients and instructions on how to configure them." msgstr "" -"Pour vous connecter au réseau VPN de %(box_name)s, vous devez télécharger un " -"profil et le fournir à un client OpenVPN sur votre mobile ou sur votre " +"Pour vous connecter au réseau VPN de la %(box_name)s, vous devez télécharger " +"un profil et le fournir à un client OpenVPN sur votre mobile ou sur votre " "ordinateur. Les clients OpenVPN sont disponibles pour de nombreuses plate-" "formes. Cliquez sur « En savoir plus… » ci-dessus pour connaître les clients " "recommandés et les instructions liées à leur configuration." @@ -4375,7 +4383,8 @@ msgstr "" #, python-format msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." msgstr "" -"Un profil est propre à chaque utilisateur de %(box_name)s. Gardez le secret." +"Le profil est propre à chaque utilisateur de la %(box_name)s. Gardez-le " +"secret." #: plinth/modules/openvpn/templates/openvpn.html:96 msgid "Download my profile" @@ -4387,7 +4396,12 @@ msgstr "Installation terminée." #: plinth/modules/openvpn/views.py:115 msgid "Setup failed." -msgstr "Échec de l'installation." +msgstr "Échec de l’installation." + +#: plinth/modules/openvpn/views.py:135 plinth/modules/tor/views.py:136 +#: plinth/views.py:196 +msgid "Setting unchanged" +msgstr "Paramètre inchangé" #: plinth/modules/pagekite/__init__.py:27 #, python-brace-format @@ -4397,21 +4411,22 @@ msgid "" "services are unreachable from the rest of the Internet. This includes the " "following situations:" msgstr "" -"PageKite est un système permettant d'exposer des services de {box_name} " -"lorsque vous n'avez pas de connexion directe à Internet. Vous n'en avez " +"PageKite est un système permettant d’exposer les services de la {box_name} " +"même si vous n’avez pas de connexion directe à Internet. Vous n'en aurez " "besoin que si les services de {box_name} ne sont pas joignables depuis le " -"reste de l'Internet. Cela comprend les situations suivantes :" +"reste de l'Internet. Cela se produit en général dans les situations " +"suivantes :" #: plinth/modules/pagekite/__init__.py:32 #, python-brace-format msgid "{box_name} is behind a restricted firewall." -msgstr "{box_name} est derrière un pare-feu restrictif." +msgstr "La {box_name} est derrière un pare-feu restrictif." #: plinth/modules/pagekite/__init__.py:35 #, python-brace-format msgid "{box_name} is connected to a (wireless) router which you don't control." msgstr "" -"{box_name} est connecté à un réseau (sans fil) que vous ne contrôlez pas." +"La {box_name} est connectée à un réseau (sans fil) que vous ne contrôlez pas." #: plinth/modules/pagekite/__init__.py:37 msgid "" @@ -4441,12 +4456,13 @@ msgid "" "provider, for example pagekite.net. In " "the future it might be possible to use your buddy's {box_name} for this." msgstr "" -"PageKite fonctionne malgré un routeur NAT, des pare-feux et des limitations " -"d'adresse IP en utilisant une combinaison de tunnels et de proxys inverses. " -"Vous pouvez utiliser n'importe quel fournisseur de service PageKite, comme " -"par exemple pagekite.net. Dans le " -"futur, il sera peut-être possible d'utiliser {box_name} d'un ami pour ce " -"faire." +"PageKite fonctionne malgré la présence de routeurs à translation d’adresse " +"réseau (NAT), de pare-feux ou de limitations liées à l’adresse IP en " +"utilisant une combinaison de tunnels et de mandataires inverses (« reverse " +"proxies »). Vous pouvez utiliser n’importe quel fournisseur de service " +"PageKite, comme par exemple pagekite.net" +". Il se pourrait que dans le futur, l’utilisation de la {box_name} d’un ami " +"pour cela soit également proposée." #: plinth/modules/pagekite/__init__.py:63 msgid "PageKite" @@ -4460,85 +4476,79 @@ msgstr "Visibilité publique" msgid "PageKite Domain" msgstr "Domaine PageKite" -#: plinth/modules/pagekite/forms.py:48 +#: plinth/modules/pagekite/forms.py:47 msgid "Server domain" msgstr "Domaine du serveur" -#: plinth/modules/pagekite/forms.py:50 +#: plinth/modules/pagekite/forms.py:49 msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " "pagekite.net server." msgstr "" -"Sélectionner votre serveur pagekite. Établir \"pagekite.net\" pour une " -"utilisation par défaut du serveur pagekite.net." +"Sélectionnez votre serveur pagekite. Saisissez \"pagekite.net\" pour " +"utiliser le serveur pagekite.net par défaut." -#: plinth/modules/pagekite/forms.py:53 plinth/modules/shadowsocks/forms.py:40 +#: plinth/modules/pagekite/forms.py:52 plinth/modules/shadowsocks/forms.py:39 msgid "Server port" msgstr "Port serveur" -#: plinth/modules/pagekite/forms.py:54 +#: plinth/modules/pagekite/forms.py:53 msgid "Port of your pagekite server (default: 80)" msgstr "Port de votre serveur pagekite (par défaut : 80)" -#: plinth/modules/pagekite/forms.py:56 +#: plinth/modules/pagekite/forms.py:55 msgid "Kite name" msgstr "Nom Kite" -#: plinth/modules/pagekite/forms.py:57 +#: plinth/modules/pagekite/forms.py:56 msgid "Example: mybox.pagekite.me" msgstr "Exemple : monpc.pagekite.me" -#: plinth/modules/pagekite/forms.py:59 +#: plinth/modules/pagekite/forms.py:58 msgid "Invalid kite name" msgstr "Nom Kite invalide" -#: plinth/modules/pagekite/forms.py:63 +#: plinth/modules/pagekite/forms.py:62 msgid "Kite secret" msgstr "Kite secret" -#: plinth/modules/pagekite/forms.py:64 +#: plinth/modules/pagekite/forms.py:63 msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." msgstr "" -"Un secret associé à Kite ou un secret par défaut pour votre compte si aucun " -"secret n'est établi sur kite." +"Un secret associé au kite ou le secret par défaut de votre compte si aucun " +"secret n'est défini sur le kite." -#: plinth/modules/pagekite/forms.py:101 +#: plinth/modules/pagekite/forms.py:100 msgid "protocol" msgstr "protocole" -#: plinth/modules/pagekite/forms.py:104 +#: plinth/modules/pagekite/forms.py:103 msgid "external (frontend) port" -msgstr "port externe (frontal)" +msgstr "port externe (du frontal)" + +#: plinth/modules/pagekite/forms.py:106 +msgid "internal (freedombox) port" +msgstr "port interne (de la freedombox)" #: plinth/modules/pagekite/forms.py:107 -msgid "internal (freedombox) port" -msgstr "port interne (freedombox)" - -#: plinth/modules/pagekite/forms.py:108 msgid "Enable Subdomains" msgstr "Activer les sous-domaines" -#: plinth/modules/pagekite/forms.py:142 +#: plinth/modules/pagekite/forms.py:141 msgid "Deleted custom service" msgstr "Service personnalisé supprimé" -#: plinth/modules/pagekite/forms.py:175 -#, fuzzy -#| msgid "" -#| "This service is available as a standard service. Please use the " -#| "\"Standard Services\" page to enable it." +#: plinth/modules/pagekite/forms.py:174 msgid "This service is already available as a standard service." -msgstr "" -"Ce service est disponible sous forme standard. Utiliser la page « Services " -"Standards » pour l'activer." +msgstr "Ce service est déjà disponible sous forme standard." -#: plinth/modules/pagekite/forms.py:183 +#: plinth/modules/pagekite/forms.py:182 msgid "Added custom service" msgstr "Service personnalisé ajouté" -#: plinth/modules/pagekite/forms.py:186 +#: plinth/modules/pagekite/forms.py:185 msgid "This service already exists" msgstr "Ce service existe déjà" @@ -4572,13 +4582,13 @@ msgid "" "HTTPS on ports other than 443 is known to cause problems." msgstr "" "Avertissement :
le serveur frontal PageKite peut ne pas être " -"compatible avec toutes le combinaisons protocole/port en cours de " -"définition. Par exemple, le protocole HTTPS sur les ports autres que 443 est " -"connu pour causer un problème." +"compatible avec toutes les combinaisons de protocole et de port en cours de " +"définition. Par exemple, l’utilisation de ports autre que 443 pour le " +"protocole HTTPS est connu pour causer des problèmes." #: plinth/modules/pagekite/utils.py:42 msgid "Web Server (HTTP)" -msgstr "Serveur Web (HTTP)" +msgstr "Serveur web (HTTP)" #: plinth/modules/pagekite/utils.py:44 #, python-brace-format @@ -4587,7 +4597,7 @@ msgstr "Le site sera accessible sur http://{0}" #: plinth/modules/pagekite/utils.py:56 msgid "Web Server (HTTPS)" -msgstr "Serveur Web (HTTPS)" +msgstr "Serveur web (HTTPS)" #: plinth/modules/pagekite/utils.py:58 #, python-brace-format @@ -4596,15 +4606,15 @@ msgstr "Le site sera accessible sur https://{0}" #: plinth/modules/pagekite/utils.py:70 msgid "Secure Shell (SSH)" -msgstr "Shell Sécurisé (SSH)" +msgstr "Shell sécurisé (SSH)" #: plinth/modules/pagekite/utils.py:72 msgid "" "See SSH client setup instructions" msgstr "" -"Voir comment configurer le client SSH sur le wiki pagekite (en anglais)" +"Voir comment configurer un client SSH sur le wiki PageKite (en anglais)" #: plinth/modules/power/__init__.py:16 msgid "Restart or shut down the system." @@ -4619,8 +4629,9 @@ msgid "" "Currently an installation or upgrade is running. Consider waiting until it's " "finished before shutting down or restarting." msgstr "" -"Une installation ou mise à niveau est en cours d’exécution. Veuillez " -"patienter jusqu'à ce qu'elle soit terminée avant d'éteindre ou de redémarrer." +"Une installation ou une mise à niveau est en cours d’exécution. Il est " +"préférable d’attendre la fin de l’opération avant d’éteindre ou de " +"redémarrer." #: plinth/modules/power/templates/power.html:22 msgid "Restart »" @@ -4635,8 +4646,8 @@ msgid "" "Are you sure you want to restart? You will not be able to access this web " "interface for a few minutes until the system is restarted." msgstr "" -"Voulez-vous vraiment redémarrer ? Vous ne pourrez plus avoir accès à cette " -"interface Web durant quelques minutes, jusqu'à ce que le système ait " +"Voulez-vous vraiment redémarrer ? Vous ne pourrez plus accéder à cette " +"interface web durant quelques minutes, jusqu'à ce que le système ait " "redémarré." #: plinth/modules/power/templates/power_restart.html:34 @@ -4644,47 +4655,48 @@ msgid "" "Currently an installation or upgrade is running. Consider waiting until it's " "finished before restarting." msgstr "" -"Une installation ou mise à niveau est en cours d’exécution. Veuillez " -"patienter jusqu'à ce qu'elle soit terminée avant de redémarrer." +"Une installation ou une mise à niveau est en cours d’exécution. Il est " +"préférable d’attendre la fin de l’opération avant de redémarrer." #: plinth/modules/power/templates/power_restart.html:48 #: plinth/modules/power/templates/power_restart.html:51 msgid "Restart Now" -msgstr "Redémarrer Maintenant" +msgstr "Redémarrer immédiatement" #: plinth/modules/power/templates/power_shutdown.html:17 msgid "" "Are you sure you want to shut down? You will not be able to access this web " "interface after shut down." msgstr "" -"Voulez-vous vraiment éteindre le système ? Vous ne pourrez plus avoir accès " -"à cette interface Web après l'extinction du système." +"Voulez-vous vraiment éteindre le système ? Vous ne pourrez plus accéder à " +"cette interface web après l’extinction du système." #: plinth/modules/power/templates/power_shutdown.html:33 msgid "" "Currently an installation or upgrade is running. Consider waiting until it's " "finished before shutting down." msgstr "" -"Une installation ou mise à niveau est en cours d’exécution. Veuillez " -"patienter jusqu'à ce qu'elle soit terminée avant d'éteindre." +"Une installation ou une mise à niveau est en cours d’exécution. Il est " +"préférable d’attendre la fin de l’opération avant d'éteindre." #: plinth/modules/power/templates/power_shutdown.html:47 #: plinth/modules/power/templates/power_shutdown.html:50 msgid "Shut Down Now" -msgstr "Éteindre Maintenant" +msgstr "Éteindre immédiatement" -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 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 "" -"Privoxy est un proxy web doté de capacités évoluées de filtrage permettant " -"d'améliorer la protection de la vie privée, modifier certaines données de " -"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. " +"Privoxy est un mandataire (proxy) web sans cache doté de capacités évoluées " +"de filtrage permettant d’améliorer la protection votre vie privée, de " +"modifier certaines données de pages web ou en-têtes HTTP, de contrôler les " +"accès et de retirer les publicités et autres éléments nuisibles de l’" +"Internet. " -#: plinth/modules/privoxy/__init__.py:33 +#: plinth/modules/privoxy/__init__.py:34 #, python-brace-format msgid "" "You can use Privoxy by modifying your browser proxy settings to your " @@ -4693,27 +4705,27 @@ msgid "" "config.privoxy.org\">http://config.privoxy.org/ or http://p.p." msgstr "" -"Vous pouvez utiliser Privoxy en modifiant la configuration du proxy de votre " -"navigateur avec un nom de machine correspondant à {box_name} (ou son adresse " -"IP) et le port 8118. Tout en utilisant Privoxy, vous pourrez lire plus de " -"détails sur sa configuration et une documentation sur http://config.privoxy.org/ ou http://p.p." +"Vous pouvez utiliser Privoxy en configurant le mandataire (proxy) dans votre " +"navigateur avec le nom de machine de la {box_name} (ou son adresse IP) et le " +"port 8118. Lorsque vous utilisez Privoxy, des détails supplémentaires sur sa " +"configuration ainsi que sa documentation sont accessibles sur http://config.privoxy.org/ ou http://p.p." -#: plinth/modules/privoxy/__init__.py:56 +#: plinth/modules/privoxy/__init__.py:55 msgid "Privoxy" msgstr "Privoxy" -#: plinth/modules/privoxy/__init__.py:57 +#: plinth/modules/privoxy/__init__.py:56 msgid "Web Proxy" msgstr "Serveur mandataire web" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:119 #, 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}" +msgstr "Accéder à l'URL {url} avec le mandataire {proxy} sur tcp{kind}" -#: plinth/modules/quassel/__init__.py:32 +#: plinth/modules/quassel/__init__.py:33 #, python-brace-format msgid "" "Quassel is an IRC application that is split into two parts, a \"core\" and a " @@ -4723,14 +4735,15 @@ msgid "" "one or more Quassel clients from a desktop or a mobile can be used to " "connect and disconnect from it." msgstr "" -"Quassel est une application IRC divisée en deux parties, une cœur (« core») " -"et un logiciel (« client »). Cette division permet au cœur de rester " -"connecté aux serveurs IRC et de continuer à recevoir des messages même si le " -"client est déconnecté. {box_name} peut utiliser « Quassel core » pour que " -"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." +"Quassel est une application IRC divisée en deux parties, un « cœur » et un " +"« client ». Cette division permet au cœur de rester connecté aux serveurs " +"IRC et de continuer à recevoir des messages même si le client est " +"déconnecté. La {box_name} peut utiliser « Quassel core » pour que vous " +"restiez toujours en ligne sur IRC. Un ou plusieurs clients Quassel sur " +"ordinateur ou sur mobile peuvent ensuite se connecter ou se déconnecter du " +"« cœur »." -#: plinth/modules/quassel/__init__.py:39 +#: plinth/modules/quassel/__init__.py:40 msgid "" "You can connect to your Quassel core on the default Quassel port 4242. " "Clients to connect to Quassel from your mobile sont disponibles pour " "téléchargement." -#: plinth/modules/quassel/__init__.py:62 plinth/modules/quassel/manifest.py:10 +#: plinth/modules/quassel/__init__.py:61 plinth/modules/quassel/manifest.py:10 msgid "Quassel" msgstr "Quassel" -#: plinth/modules/quassel/__init__.py:63 +#: plinth/modules/quassel/__init__.py:62 msgid "IRC Client" msgstr "Client IRC" -#: plinth/modules/quassel/forms.py:23 +#: plinth/modules/quassel/forms.py:22 msgid "TLS domain" msgstr "Domaine TLS" -#: plinth/modules/quassel/forms.py:25 +#: plinth/modules/quassel/forms.py:24 msgid "" "Select a domain to use TLS with. If the list is empty, please configure at " "least one domain with certificates." @@ -4767,7 +4780,7 @@ msgstr "" msgid "Quasseldroid" msgstr "Quasseldroid" -#: plinth/modules/radicale/__init__.py:32 +#: plinth/modules/radicale/__init__.py:33 #, python-brace-format msgid "" "Radicale is a CalDAV and CardDAV server. It allows synchronization and " @@ -4775,57 +4788,57 @@ msgid "" "radicale.org/clients/\">supported client application is needed. Radicale " "can be accessed by any user with a {box_name} login." msgstr "" -"Radicale est un serveur pour les protocoles d'édition de calendrier en ligne " +"Radicale est un serveur pour les protocoles d’édition de calendrier en ligne " "CalDAV et de carnet d'adresses CardDAV. Il permet de synchroniser et de " -"partager ses rendez-vous et ses contacts. Pour utiliser Radicale, il est " -"nécessaire d'utiliser une application client compatible. N'importe quel utilisateur disposant " -"d'un compte {box_name} peut accéder à Radicale." +"partager ses rendez-vous et ses contacts. Pour utiliser Radicale, une application client compatible est " +"nécessaire. N’importe quel utilisateur disposant d’un compte sur la " +"{box_name} peut accéder à Radicale." -#: plinth/modules/radicale/__init__.py:37 +#: plinth/modules/radicale/__init__.py:38 msgid "" "Radicale provides a basic web interface, which only supports creating new " "calendars and addressbooks. It does not support adding events or contacts, " "which must be done using a separate client." msgstr "" "Radicale fournit une interface web très sommaire, qui ne permet que la " -"création de nouveaux calendriers et carnets d'adresses. Elle ne permet pas " -"l'ajout d'événements ou de contacts, qui doivent être faits avec un client " -"dédié." +"création de nouveaux calendriers et carnets d’adresses. Elle ne permet pas " +"l’ajout d'événements ou de contacts, qui doivent être réalisés avec un " +"client dédié." -#: plinth/modules/radicale/__init__.py:62 +#: plinth/modules/radicale/__init__.py:61 #: plinth/modules/radicale/manifest.py:75 msgid "Radicale" msgstr "Radicale" -#: plinth/modules/radicale/__init__.py:63 +#: plinth/modules/radicale/__init__.py:62 msgid "Calendar and Addressbook" -msgstr "Agenda et carnet d'adresses" +msgstr "Agenda et carnet d’adresses" -#: plinth/modules/radicale/forms.py:15 +#: plinth/modules/radicale/forms.py:14 msgid "Only the owner of a calendar/addressbook can view or make changes." msgstr "" -"Seul le propriétaire du calendrier/carnet d'adresses peut les visualiser ou " -"effectuer des modifications." +"Seul le propriétaire de l’agenda/du carnet d’adresses peut le visualiser ou " +"le modifier." -#: plinth/modules/radicale/forms.py:19 +#: plinth/modules/radicale/forms.py:18 #, python-brace-format msgid "" "Any user with a {box_name} login can view any calendar/addressbook, but only " "the owner can make changes." msgstr "" -"N'importe quel utilisateur avec un login {box_name} peut afficher n'importe " -"quel calendrier/carnet d'adresses, mais seul le propriétaire peut effectuer " -"des modifications." +"N’importe quel utilisateur disposant d’un compte sur la {box_name} peut " +"afficher n’importe quel agenda/carnet d’adresses, mais seul le propriétaire " +"peut effectuer des modifications." -#: plinth/modules/radicale/forms.py:24 +#: plinth/modules/radicale/forms.py:23 #, python-brace-format msgid "" "Any user with a {box_name} login can view or make changes to any calendar/" "addressbook." msgstr "" -"N'importe quel utilisateur avec un login {box_name} peut afficher et " -"effectuer des modifications sur n'importe quel calendrier/carnet d'adresses." +"N’importe quel utilisateur disposant d’un compte sur la {box_name} peut " +"visualiser et modifier n’importe quel agenda/carnet d’adresses." #: plinth/modules/radicale/manifest.py:10 msgid "DAVx5" @@ -4837,13 +4850,14 @@ msgid "" "address>) and your user name. DAVx5 will show all existing calendars and " "address books and you can create new." msgstr "" -"Entrez l'URL de votre serveur Radicale (par exemple https://) et votre compte. DAVx5 vous affichera tous les calendriers et " -"carnet d'adresses existants et vous pourrez en créer de nouveaux." +"Entrez l’URL de votre serveur Radicale (par exemple " +"https://) et votre identifiant. DAVx5 vous " +"affichera tous les agendas et carnets d’adresses existants et vous pourrez " +"en créer de nouveaux." #: plinth/modules/radicale/manifest.py:29 msgid "GNOME Calendar" -msgstr "GNOME Calendar" +msgstr "Agenda GNOME" #: plinth/modules/radicale/manifest.py:37 msgid "Mozilla Thunderbird" @@ -4858,8 +4872,8 @@ msgid "" "Evolution is a personal information management application that provides " "integrated mail, calendaring and address book functionality." msgstr "" -"Évolution est une application de gestion d'informations personnelles qui " -"intègre une messagerie électronique, un calendrier et un carnet d'adresses." +"Evolution est une application de gestion d’informations personnelles qui " +"intègre une messagerie électronique, un agenda et un carnet d’adresses." #: plinth/modules/radicale/manifest.py:63 msgid "" @@ -4868,14 +4882,15 @@ msgid "" "address>) and your user name. Clicking on the search button will list the " "existing calendars and address books." msgstr "" -"Dans Evolution, ajoutez un nouveau calendrier ou un nouveau carnet " -"d'adresses avec WebDAV. Entrez l'URL du serveur Radicale (par exemple " -"https://) et votre compte-utilisateur. Cliquer sur le " -"bouton de recherche listera les calendriers et carnets d'adresses existants." +"Dans Evolution, ajoutez un nouvel agenda ou un nouveau carnet d’adresses " +"avec WebDAV. Entrez l’URL du serveur Radicale (par exemple " +"https://) et votre compte-utilisateur. Cliquer " +"sur le bouton de recherche affichera la liste d’agendas et de carnets d’" +"adresses existants." #: plinth/modules/radicale/views.py:35 msgid "Access rights configuration updated" -msgstr "Configuration des droits d'accès mise à jour" +msgstr "Configuration des droits d’accès mise à jour" #: plinth/modules/roundcube/__init__.py:21 msgid "" @@ -4884,12 +4899,12 @@ msgid "" "from an email client, including MIME support, address book, folder " "manipulation, message searching and spell checking." msgstr "" -"La messagerie Web Roundcube est un client IMAP multilingue fonctionnant sur " -"un navigateur web grâce à une interface similaire à celle d'une application. " +"La messagerie web Roundcube est un client IMAP multilingue fonctionnant sur " +"un navigateur grâce à une interface similaire à celle d'une application. " "Roundcube propose la panoplie complète des fonctions attendues pour un " -"client de courriers électroniques, dont la compatibilité MIME, un carnet " -"d'adresses, une gestion des dossiers, une recherche des messages et un " -"correcteur orthographique." +"client de courriel, dont la compatibilité MIME, un carnet d’adresses, une " +"gestion des dossiers, une recherche des messages et un correcteur " +"orthographique." #: plinth/modules/roundcube/__init__.py:26 msgid "" @@ -4900,12 +4915,12 @@ msgid "" "(recommended), fill the server field like imaps://imap.example.com." msgstr "" -"Vous pouvez accéder à RoundCube depuis /roundcube. Renseigner le nom d'utilisateur et le " -"mot de passe de votre compte de courrier électronique auquel vous souhaitez " -"accéder, suivis du nom de domaine du serveur IMAP de votre fournisseur " -"d'email, comme imap.example.com. Pour de l'IMAP sur du SSL " -"(recommandé), remplissez les champs du serveur avec par exemple " +"Vous pouvez accéder à RoundCube depuis la page /roundcube. Renseigner le nom d’utilisateur et le " +"mot de passe du compte de courrier électronique auquel vous souhaitez " +"accéder, suivis du nom de domaine du serveur IMAP de votre fournisseur de " +"courriel, comme imap.example.com. Pour un connexion IMAP sur " +"SSL (recommandé), remplissez le champ serveur avec une adresse du type " "imaps://imap.example.com." #: plinth/modules/roundcube/__init__.py:32 @@ -4931,15 +4946,15 @@ msgstr "Roundcube" #: plinth/modules/roundcube/__init__.py:55 msgid "Email Client" -msgstr "Client courriel" +msgstr "Client de courriel" #: plinth/modules/samba/__init__.py:32 msgid "" "Samba allows to share files and folders between FreedomBox and other " "computers in your local network." msgstr "" -"Samba permet de partager des fichiers et des répertoires entre FreedomBox et " -"d’autres machines de votre réseau local." +"Samba permet de partager des fichiers et des répertoires entre la FreedomBox " +"et d’autres machines de votre réseau local." #: plinth/modules/samba/__init__.py:35 #, python-brace-format @@ -4949,7 +4964,7 @@ msgid "" "\\{hostname} (on Windows) or smb://{hostname}.local (on Linux and Mac). " "There are three types of shares you can choose from: " msgstr "" -"Après l’installation, vous pouvez choisir quels disques utiliser pour le " +"Après l’installation, vous pourrez choisir quels disques utiliser pour le " "partage. Les partages activés sont accessibles dans le gestionnaire de " "fichier de votre ordinateur à l’emplacement \\\\{hostname} (sur Windows) ou " "smb://{hostname}.local (sur Linux et Mac). Vous pouvez choisir parmi trois " @@ -4964,8 +4979,8 @@ msgid "" "Group share - accessible only to FreedomBox users who are in the freedombox-" "share group." msgstr "" -"Partage de groupe : accessible uniquement aux utilisateurs FreedomBox qui " -"sont dans le groupe freedombox-share." +"Partage de groupe : accessible uniquement aux utilisateurs de la FreedomBox " +"qui sont membres du groupe freedombox-share." #: plinth/modules/samba/__init__.py:43 msgid "" @@ -4975,11 +4990,11 @@ msgstr "" "Partage domestique : chaque utilisateur du groupe freedombox-share a son " "propre espace privé." -#: plinth/modules/samba/__init__.py:47 +#: plinth/modules/samba/__init__.py:59 msgid "Access to the private shares" msgstr "Accès aux partages privés" -#: plinth/modules/samba/__init__.py:61 +#: plinth/modules/samba/__init__.py:62 msgid "Samba" msgstr "Samba" @@ -4993,8 +5008,8 @@ msgid "" "Note: Only specially created directories will be shared on selected disks, " "not the whole disk." msgstr "" -"Note : seuls les répertoires créés spécialement pour cela seront partagés " -"sur les disques sélectionnés, pas les disques en entier." +"Note : seuls les répertoires créés spécialement pour seront partagés sur les " +"disques sélectionnés, et non pas les disques entiers." #: plinth/modules/samba/templates/samba.html:34 msgid "Disk Name" @@ -5022,15 +5037,18 @@ msgstr "" #: plinth/modules/samba/templates/samba.html:94 msgid "Users who can currently access group and home shares" -msgstr "Utilisateurs pouvant accéder aux partages de groupe et domestiques" +msgstr "" +"Utilisateurs pouvant accéder aux partages de groupe et aux partages " +"domestiques" #: plinth/modules/samba/templates/samba.html:98 msgid "" "Users needing to re-enter their password on the password change page to " "access group and home shares" msgstr "" -"Utilisateurs devant ré-entrer leur mot de passe sur la page de changement de " -"mot de passe pour accéder aux partages de groupe et domestiques" +"Utilisateurs devant saisir à nouveau leur mot de passe sur la page de " +"changement de mot de passe pour accéder aux partages de groupe et aux " +"partages domestiques" #: plinth/modules/samba/templates/samba.html:103 msgid "Unavailable Shares" @@ -5052,11 +5070,11 @@ msgstr "Nom du partage" msgid "Action" msgstr "Action" -#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:149 +#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:147 msgid "Open Share" msgstr "Ouvrir un partage" -#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:147 +#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:145 msgid "Group Share" msgstr "Partage de groupe" @@ -5097,47 +5115,47 @@ msgid "" "stores no cookies by default." msgstr "" "Searx peut être utilisé pour éviter le pistage et le profilage fait par les " -"moteurs de recherche. Il ne stocke aucun cookie par défaut." +"moteurs de recherche. Par défaut il ne stocke aucun cookie." -#: plinth/modules/searx/__init__.py:31 +#: plinth/modules/searx/__init__.py:45 msgid "Search the web" -msgstr "Rechercher sur le web" +msgstr "Rechercher sur le Web" -#: plinth/modules/searx/__init__.py:47 plinth/modules/searx/manifest.py:9 +#: plinth/modules/searx/__init__.py:48 plinth/modules/searx/manifest.py:9 msgid "Searx" msgstr "Searx" -#: plinth/modules/searx/__init__.py:48 +#: plinth/modules/searx/__init__.py:49 msgid "Web Search" -msgstr "Recherche sur le Web" +msgstr "Recherche web" -#: plinth/modules/searx/forms.py:15 +#: plinth/modules/searx/forms.py:13 msgid "Safe Search" msgstr "Recherche sûre" -#: plinth/modules/searx/forms.py:16 +#: plinth/modules/searx/forms.py:14 msgid "Select the default family filter to apply to your search results." msgstr "" "Choisissez le filtre de famille à appliquer par défaut à vos résultats de " "recherche." -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "None" msgstr "Aucun" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "Moderate" msgstr "Modéré" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "Strict" msgstr "Strict" -#: plinth/modules/searx/forms.py:20 +#: plinth/modules/searx/forms.py:18 msgid "Allow Public Access" msgstr "Permettre l'accès public" -#: plinth/modules/searx/forms.py:21 +#: plinth/modules/searx/forms.py:19 msgid "Allow this application to be used by anyone who can reach it." msgstr "" "Permettre à tous ceux qui peuvent accéder à cette application de l'utiliser." @@ -5145,7 +5163,7 @@ msgstr "" #: plinth/modules/searx/views.py:38 plinth/modules/searx/views.py:49 #: plinth/modules/tor/views.py:129 plinth/modules/tor/views.py:156 msgid "Configuration updated." -msgstr "Configuration actualisée." +msgstr "Configuration mise à jour." #: plinth/modules/security/forms.py:13 msgid "Restrict console logins (recommended)" @@ -5158,13 +5176,13 @@ msgid "" "services without further authorization." msgstr "" "Lorsque cette option est activée, seuls les utilisateurs du groupe « admin » " -"pourront ouvrir une session via la console ou le SSH. Les utilisateurs de la " +"pourront ouvrir une session via la console ou en SSH. Les utilisateurs de la " "console pourraient avoir accès à certains services sans autorisation " "supplémentaire." #: plinth/modules/security/forms.py:19 msgid "Fail2Ban (recommended)" -msgstr "Fail2ban (recommandé)" +msgstr "Fail2Ban (recommandé)" #: plinth/modules/security/forms.py:20 msgid "" @@ -5174,12 +5192,12 @@ msgid "" msgstr "" "Lorsque cette option est activée, Fail2Ban limitera les tentatives " "d'intrusion par force brute sur le serveur SSH ainsi que sur les autres " -"services Internet protégés par mot de passe et activés." +"services Internet protégés par mot de passe et actifs." #: plinth/modules/security/templates/security.html:11 #: plinth/modules/security/templates/security.html:13 msgid "Show security report" -msgstr "Montrer le rapport de sécurité" +msgstr "Afficher le rapport de sécurité" #: plinth/modules/security/templates/security_report.html:10 #: plinth/modules/security/views.py:71 @@ -5192,16 +5210,17 @@ msgid "" "The installed version of FreedomBox has %(count)s reported security " "vulnerabilities." msgstr "" -"La version installée de FreedomBox comporte %(count)s faille(s) de sécurité " -"connue(s)." +"La version installée de la FreedomBox souffre de %(count)s faille(s) de " +"sécurité identifiée(s)." #: plinth/modules/security/templates/security_report.html:18 msgid "" "The following table lists the current reported number, and historical count, " "of security vulnerabilities for each installed app." msgstr "" -"La table suivante liste le nombre de failles de sécurité actuelles et " -"passées de chaque application installée." +"Le tableau suivant liste le nombre de failles de sécurité actuellement " +"identifiées ainsi que le décompte historique, pour chaque application " +"installée." #: plinth/modules/security/templates/security_report.html:24 msgid "" @@ -5210,9 +5229,9 @@ msgid "" "potentially compromised app to the rest of the system." msgstr "" "Pour les applications fournissant des services, la colonne « Isolé » montre " -"si les fonctionnalités d’isolation (sandboxing) sont utilisées. L’isolation " -"limite l’impact sur le reste du système d’une application potentiellement " -"compromise." +"si les fonctionnalités d’isolation (sandboxing) sont actives. Dans " +"l’éventualité où une application serait compromise, l’isolation limite les " +"impacts sur le reste du système." #: plinth/modules/security/templates/security_report.html:31 msgid "" @@ -5222,7 +5241,7 @@ msgid "" msgstr "" "« Couverture de l’isolation » est un score indiquant avec quelle efficacité " "le service est isolé du reste du système. Il n’est affiché que lorsque le " -"service est lancé." +"service est actif." #: plinth/modules/security/templates/security_report.html:40 msgid "App Name" @@ -5230,7 +5249,7 @@ msgstr "Application" #: plinth/modules/security/templates/security_report.html:41 msgid "Current Vulnerabilities" -msgstr "failles actuelles" +msgstr "Failles actuelles" #: plinth/modules/security/templates/security_report.html:42 msgid "Past Vulnerabilities" @@ -5263,7 +5282,7 @@ msgstr "Inactif" #: plinth/modules/security/views.py:53 #, python-brace-format msgid "Error setting restricted access: {exception}" -msgstr "Erreur lors de l'établissement de l'accès restreint : {exception}" +msgstr "Erreur lors de la mise en place de l'accès restreint : {exception}" #: plinth/modules/security/views.py:56 msgid "Updated security configuration" @@ -5280,10 +5299,10 @@ msgid "" "only supports a single user account, which you will need to setup on the " "initial visit." msgstr "" -"Lorsqu'activé, Shaarli est accessible depuis /shaarli sur le serveur web. Notez que Shaarli est " -"seulement compatible avec un compte utilisateur unique que vous configurerez " -"lors de votre première visite." +"Une fois activé, Shaarli est accessible depuis la page /shaarli sur ce serveur web. Notez que Shaarli " +"ne supporte qu’un unique compte utilisateur, que vous devrez configurer lors " +"de votre première visite." #: plinth/modules/shaarli/__init__.py:39 plinth/modules/shaarli/manifest.py:8 msgid "Shaarli" @@ -5334,30 +5353,30 @@ msgstr "Shadowsocks" msgid "Socks5 Proxy" msgstr "Mandataire Socks5" +#: plinth/modules/shadowsocks/forms.py:12 #: plinth/modules/shadowsocks/forms.py:13 -#: plinth/modules/shadowsocks/forms.py:14 msgid "Recommended" msgstr "Recommandé" -#: plinth/modules/shadowsocks/forms.py:37 +#: plinth/modules/shadowsocks/forms.py:36 msgid "Server" msgstr "Serveur" -#: plinth/modules/shadowsocks/forms.py:38 +#: plinth/modules/shadowsocks/forms.py:37 msgid "Server hostname or IP address" msgstr "Nom ou adresse IP du serveur" -#: plinth/modules/shadowsocks/forms.py:42 +#: plinth/modules/shadowsocks/forms.py:41 msgid "Server port number" msgstr "Numéro de port du serveur" -#: plinth/modules/shadowsocks/forms.py:45 +#: plinth/modules/shadowsocks/forms.py:44 msgid "Password used to encrypt data. Must match server password." msgstr "" "Mot de passe utilisé pour chiffrer les données. Doit correspondre au mot de " "passe du serveur." -#: plinth/modules/shadowsocks/forms.py:50 +#: plinth/modules/shadowsocks/forms.py:49 msgid "Encryption method. Must match setting on server." msgstr "" "Méthode de chiffrage. Doit correspondre à ce qui a été configuré sur le " @@ -5369,8 +5388,8 @@ msgid "" "Sharing allows you to share files and folders on your {box_name} over the " "web with chosen groups of users." msgstr "" -"Sharing vous permet de partager des fichiers et répertoires de votre " -"{box_name} sur Internet avec un groupe d'utilisateurs choisis." +"« Sharing » vous permet de partager des fichiers et répertoires de votre " +"{box_name} sur Internet avec des groupes d’utilisateurs choisis." #: plinth/modules/sharing/__init__.py:38 msgid "Sharing" @@ -5394,7 +5413,7 @@ msgstr "Chemin du partage" #: plinth/modules/sharing/forms.py:25 msgid "Disk path to a folder on this server that you intend to share." -msgstr "Chemin d'un répertoire sur ce serveur que vous voulez partager." +msgstr "Chemin d’un répertoire sur ce serveur que vous souhaitez partager." #: plinth/modules/sharing/forms.py:28 msgid "Public share" @@ -5406,11 +5425,11 @@ msgstr "" "Les fichiers de ce répertoire seront disponibles à n'importe qui avec le " "lien." -#: plinth/modules/sharing/forms.py:33 +#: plinth/modules/sharing/forms.py:34 msgid "User groups that can read the files in the share" -msgstr "Groupe d'utilisateurs qui peuvent lire les fichiers du partage" +msgstr "Groupes d’utilisateurs autorisés à consulter les fichiers du partage" -#: plinth/modules/sharing/forms.py:35 +#: plinth/modules/sharing/forms.py:36 msgid "" "Users of the selected user groups will be able to read the files in the " "share." @@ -5424,7 +5443,8 @@ msgstr "Un partage existe déjà avec ce nom." #: plinth/modules/sharing/forms.py:63 msgid "Shares should be either public or shared with at least one group" -msgstr "Les partages peuvent être publics ou restreints à au moins un groupe" +msgstr "" +"Les partages peuvent être soit publics soit partagés avec au moins un groupe" #: plinth/modules/sharing/templates/sharing.html:24 #: plinth/modules/sharing/templates/sharing.html:27 @@ -5445,7 +5465,7 @@ msgstr "Partagé sur" #: plinth/modules/sharing/templates/sharing.html:40 msgid "With Groups" -msgstr "Au moyen de groupes" +msgstr "Accessible aux groupes" #: plinth/modules/sharing/templates/sharing.html:58 msgid "public access" @@ -5465,7 +5485,7 @@ msgstr "Partage modifié." #: plinth/modules/sharing/views.py:64 msgid "Edit Share" -msgstr "Modifier un partage" +msgstr "Modifier le partage" #: plinth/modules/sharing/views.py:95 msgid "Share deleted." @@ -5500,8 +5520,8 @@ msgid "" msgstr "" "Les instantanés ne fonctionnent actuellement que sur des systèmes de " "fichiers btrfs et sur la partition racine uniquement. Les instantanés ne " -"remplacent pas les sauvegardes car ils " -"ne peuvent être enregistrés que sur la même partition. " +"peuvent pas remplacent pas les sauvegardes car ils sont forcément conservés sur la même partition. " #: plinth/modules/snapshot/__init__.py:52 msgid "Storage Snapshots" @@ -5509,7 +5529,7 @@ msgstr "Instantanés de stockage" #: plinth/modules/snapshot/forms.py:12 msgid "Free Disk Space to Maintain" -msgstr "Place-disque libre à préserver" +msgstr "Espace disque à garder libre" #: plinth/modules/snapshot/forms.py:13 msgid "" @@ -5517,9 +5537,10 @@ msgid "" "below this value, older snapshots are removed until this much free space is " "regained. The default value is 30%." msgstr "" -"Préserve ce pourcentage de place-libre sur le disque. Si la place-disque " -"passe sous cette valeur, les anciens instantanés sont supprimés jusqu'à ce " -"que suffisamment de place soit récupérée. La valeur par défaut est 30 %." +"Préserve ce pourcentage d’espace libre sur le disque. Si l’espace disque " +"libre passe sous cette valeur, les anciens instantanés sont supprimés " +"jusqu’à ce que suffisamment d’espace soit récupéré. La valeur par défaut est " +"30 %." #: plinth/modules/snapshot/forms.py:20 msgid "Timeline Snapshots" @@ -5584,7 +5605,7 @@ msgid "" "(disabled)." msgstr "" "Maximum d'instantanés pris chaque année à conserver. La valeur par défaut " -"est 0 (désactivé)." +"est de 0 (désactivé)." #: plinth/modules/snapshot/templates/snapshot_delete_selected.html:12 msgid "Delete the following snapshots permanently?" @@ -5631,9 +5652,9 @@ msgid "" "Your have a filesystem of type %(fs_type)s. Snapshots are " "currently only available on %(types_supported)s filesystems." msgstr "" -"Vous avez un système de fichiers de type %(fs_type)s. Les " -"instantanés ne sont pour l'instant gérés que sur les systèmes de fichiers " -"%(types_supported)s." +"Vous utilisez un système de fichiers de type %(fs_type)s. " +"Les instantanés ne sont pour l’instant gérés que sur les systèmes de " +"fichiers %(types_supported)s." #: plinth/modules/snapshot/templates/snapshot_rollback.html:12 msgid "Roll back the system to this snapshot?" @@ -5664,7 +5685,7 @@ msgstr "Instantané créé." #: plinth/modules/snapshot/views.py:135 msgid "Storage snapshots configuration updated" -msgstr "Configuration du stockage des instantanés mise à jour" +msgstr "Configuration des instantanés de disque mise à jour" #: plinth/modules/snapshot/views.py:139 plinth/modules/tor/views.py:59 #, python-brace-format @@ -5681,7 +5702,8 @@ msgstr "Supprimer les instantanés sélectionnés" #: plinth/modules/snapshot/views.py:163 msgid "Snapshot is currently in use. Please try again later." -msgstr "L'instantané est utilisé actuellement. Veuillez ré-essayer plus tard." +msgstr "" +"L’instantané est en cours d’utilisation. Veuillez réessayer ultérieurement." #: plinth/modules/snapshot/views.py:186 #, python-brace-format @@ -5712,19 +5734,19 @@ msgstr "" msgid "Secure Shell (SSH) Server" msgstr "Serveur Secure Shell (SSH)" -#: plinth/modules/ssh/forms.py:15 +#: plinth/modules/ssh/forms.py:13 msgid "Disable password authentication" msgstr "Désactiver l’authentification par mot de passe" -#: plinth/modules/ssh/forms.py:16 +#: plinth/modules/ssh/forms.py:14 msgid "" "Improves security by preventing password guessing. Ensure that you have " "setup SSH keys in your administrator user account before enabling this " "option." msgstr "" "Améliore la sécurité en empêchant la déduction de mot de passe. Assurez-vous " -"d’avoir mis en place une clé SSH dans votre compte administrateur avant " -"d’activer cette option." +"d’avoir ajouté une clé SSH dans les paramètres de votre compte " +"administrateur avant d’activer cette option." #: plinth/modules/ssh/templates/ssh.html:11 msgid "Server Fingerprints" @@ -5748,11 +5770,11 @@ msgstr "Empreinte" #: plinth/modules/ssh/views.py:48 msgid "SSH authentication with password disabled." -msgstr "Authentification SSH avec mot de passe désactivée." +msgstr "Authentification SSH par mot de passe désactivée." #: plinth/modules/ssh/views.py:51 msgid "SSH authentication with password enabled." -msgstr "Authentification SSH avec mot de passe activée." +msgstr "Authentification SSH par mot de passe activée." #: plinth/modules/sso/__init__.py:33 msgid "Single Sign On" @@ -5760,7 +5782,7 @@ msgstr "Authentification unique" #: plinth/modules/sso/templates/login.html:20 msgid "Login" -msgstr "S'identifier" +msgstr "S’identifier" #: plinth/modules/storage/__init__.py:30 #, python-brace-format @@ -5769,145 +5791,146 @@ msgid "" "You can view the storage media currently in use, mount and unmount removable " "media, expand the root partition etc." msgstr "" -"Ce module vous permet de gérer les media de stockage connectés à votre " -"{box_name}. Vous pouvez vour les media de stockage utilisés actuellement, " -"monter et démonter les média amovibles , étendre la partition racine, etc." +"Ce module vous permet de gérer les médias de stockage connectés à votre " +"{box_name}. Vous pouvez visualiser les médias de stockage en cours " +"d’utilisation, monter et démonter des médias amovibles, étendre la partition " +"racine, etc." -#: plinth/modules/storage/__init__.py:52 plinth/modules/storage/__init__.py:318 +#: plinth/modules/storage/__init__.py:54 plinth/modules/storage/__init__.py:320 msgid "Storage" msgstr "Stockage" -#: 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 "L'opération a échoué." -#: plinth/modules/storage/__init__.py:235 +#: plinth/modules/storage/__init__.py:237 msgid "The operation was cancelled." msgstr "L'opération a été annulée." -#: plinth/modules/storage/__init__.py:237 -msgid "The device is already unmounting." -msgstr "Le media est déjà en train d'être démonté." - #: plinth/modules/storage/__init__.py:239 +msgid "The device is already unmounting." +msgstr "Le média est déjà en train d'être démonté." + +#: plinth/modules/storage/__init__.py:241 msgid "The operation is not supported due to missing driver/tool support." msgstr "" "L'opération n'est pas gérée à cause du manque d'un pilote ou d'un outil " "adapté." -#: plinth/modules/storage/__init__.py:242 +#: plinth/modules/storage/__init__.py:244 msgid "The operation timed out." msgstr "L'opération ne s'est pas terminée." -#: 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 "" "L'opération devrait réveiller un disque qui se trouve dans un état " "d'endormissement profond." -#: plinth/modules/storage/__init__.py:247 -msgid "Attempting to unmount a device that is busy." -msgstr "Tentative de démonter un media qui a du travail en cours." - #: plinth/modules/storage/__init__.py:249 +msgid "Attempting to unmount a device that is busy." +msgstr "Tentative de démonter un média en cours d’utilisation." + +#: plinth/modules/storage/__init__.py:251 msgid "The operation has already been cancelled." msgstr "L'opération a déjà été annulée." -#: plinth/modules/storage/__init__.py:255 +#: plinth/modules/storage/__init__.py:257 msgid "Not authorized to perform the requested operation." msgstr "Vous n'êtes pas autorisé à effectuer l'opération demandée." -#: plinth/modules/storage/__init__.py:257 -msgid "The device is already mounted." -msgstr "Le media est déjà monté." - #: plinth/modules/storage/__init__.py:259 -msgid "The device is not mounted." -msgstr "Le media n'est pas monté." +msgid "The device is already mounted." +msgstr "Le média est déjà monté." -#: plinth/modules/storage/__init__.py:262 +#: plinth/modules/storage/__init__.py:261 +msgid "The device is not mounted." +msgstr "Le média n'est pas monté." + +#: plinth/modules/storage/__init__.py:264 msgid "Not permitted to use the requested option." msgstr "Vous n'êtes pas autorisé à utiliser l'option demandée." -#: plinth/modules/storage/__init__.py:265 +#: plinth/modules/storage/__init__.py:267 msgid "The device is mounted by another user." -msgstr "Le media est monté par un autre utilisateur." +msgstr "Le média est monté par un autre utilisateur." -#: plinth/modules/storage/__init__.py:313 +#: plinth/modules/storage/__init__.py:315 #, no-python-format, python-brace-format msgid "Low space on system partition: {percent_used}% used, {free_space} free." msgstr "" -"Espace faible sur la partition système : {percent_used}% utilisé, " +"Espace faible sur la partition système : {percent_used}% utilisés, " "{free_space} libre." -#: plinth/modules/storage/__init__.py:315 +#: plinth/modules/storage/__init__.py:317 msgid "Low disk space" msgstr "Espace disque faible" -#: plinth/modules/storage/forms.py:64 +#: plinth/modules/storage/forms.py:63 msgid "Invalid directory name." msgstr "Nom de répertoire invalide." -#: plinth/modules/storage/forms.py:82 +#: plinth/modules/storage/forms.py:80 msgid "Directory does not exist." msgstr "Le répertoire n’existe pas." -#: plinth/modules/storage/forms.py:84 +#: plinth/modules/storage/forms.py:83 msgid "Path is not a directory." msgstr "Le chemin n’est pas un répertoire." -#: plinth/modules/storage/forms.py:87 +#: plinth/modules/storage/forms.py:86 msgid "Directory is not readable by the user." msgstr "Le répertoire n’est pas lisible par l’utilisateur." -#: plinth/modules/storage/forms.py:90 +#: plinth/modules/storage/forms.py:89 msgid "Directory is not writable by the user." msgstr "L’utilisateur ne peut pas écrire dans le répertoire." -#: plinth/modules/storage/forms.py:95 +#: plinth/modules/storage/forms.py:94 msgid "Directory" msgstr "Répertoire" -#: plinth/modules/storage/forms.py:98 +#: plinth/modules/storage/forms.py:96 msgid "Subdirectory (optional)" msgstr "Sous-répertoire (optionnel)" -#: plinth/modules/storage/forms.py:145 +#: plinth/modules/storage/forms.py:143 msgid "Share" msgstr "Partage" -#: plinth/modules/storage/forms.py:153 +#: plinth/modules/storage/forms.py:151 msgid "Other directory (specify below)" msgstr "Autre répertoire (indiquer ci-dessous)" #: plinth/modules/storage/templates/storage.html:20 msgid "The following storage devices are in use:" -msgstr "Les media de stockage suivants sont en cours d'utilisation :" +msgstr "Les médias de stockage suivants sont en cours d’utilisation :" #: plinth/modules/storage/templates/storage.html:26 msgid "Label" @@ -5928,15 +5951,15 @@ msgid "" "root partition. Root partition can be expanded to use this space. This " "will provide you additional free space to store your files." msgstr "" -"Il y a %(expandable_root_size)s d'espace non alloué disponible après votre " -"partition root. La partition root peut être étendue pour l'utiliser. Cela " -"vous donnera de l'espace supplémentaire pour stocker vos fichiers." +"Il y a %(expandable_root_size)s d’espace disponible non alloué après votre " +"partition racine. La partition racine peut être étendue pour l’utiliser. " +"Cela vous donnera de l’espace supplémentaire pour stocker vos fichiers." #: plinth/modules/storage/templates/storage.html:87 #: plinth/modules/storage/templates/storage_expand.html:24 #: plinth/modules/storage/views.py:57 msgid "Expand Root Partition" -msgstr "Étendre la partition root" +msgstr "Étendre la partition racine" #: plinth/modules/storage/templates/storage_expand.html:14 #, python-format @@ -5946,8 +5969,8 @@ msgid "" "root partition." msgstr "" "Veuillez sauvegarder vos données avant de continuer. Après cette opération, " -"%(expandable_root_size)s d'espace en plus sera disponible pour votre " -"partition root." +"votre partition racine disposera de %(expandable_root_size)s d’espace " +"supplémentaire." #: plinth/modules/storage/views.py:69 #, python-brace-format @@ -5965,12 +5988,12 @@ msgstr "{drive_vendor} {drive_model} peut être débranché en toute sécurité. #: plinth/modules/storage/views.py:94 msgid "Device can be safely unplugged." -msgstr "Le media peut être débranché en toute sécurité." +msgstr "Le média peut être débranché en toute sécurité." #: plinth/modules/storage/views.py:104 #, python-brace-format msgid "Error ejecting device: {error_message}" -msgstr "Erreur lors de l'éjection du media : {error_message}" +msgstr "Erreur lors de l’éjection du média : {error_message}" #: plinth/modules/syncthing/__init__.py:26 msgid "" @@ -5993,26 +6016,28 @@ msgid "" "synchronize more often. {box_name} runs a single instance of Syncthing that " "may be used by multiple users. Each user's set of devices may be " "synchronized with a distinct set of folders. The web interface on " -"{box_name} is only available for users belonging to the \"admin\" group." +"{box_name} is only available for users belonging to the \"admin\" or " +"\"syncthing\" group." msgstr "" -"Exécuter Synctching sur {box_name} fournit un point de synchronisation " -"externe pour vos données, hautement disponible, si bien que vos appareils " -"peuvent se synchroniser plus souvent. Sur {box_name}, une seule instance de " -"Syncthing s’exécute et peut être utilisée par plusieurs utilisateurs. " -"Chaque ensemble de périphériques d'un utilisateur est synchronisé dans un " -"groupe distinct de dossiers. L'interface Web sur {box_name} est seulement " -"disponible pour les utilisateurs appartenant au groupe \"admin\"." +"En faisant tourner Syncthing sur votre {box_name}, vous ajoutez un nœud de " +"synchronisation très disponible permettant à vos appareils de se " +"synchroniser plus régulièrement que simplement entre eux. Sur la {box_name}" +", une seule instance de Syncthing s’exécute et peut être utilisée par " +"plusieurs utilisateurs. Chaque utilisateur peut choisir un ensemble de " +"dossiers qui lui est propre, à synchroniser entre ses périphériques. L’" +"interface web sur la {box_name} est accessible uniquement aux utilisateurs " +"membres d’un des groupes « admin » ou « syncthing »." -#: plinth/modules/syncthing/__init__.py:40 +#: plinth/modules/syncthing/__init__.py:53 msgid "Administer Syncthing application" msgstr "Administre l'application Syncthing" -#: plinth/modules/syncthing/__init__.py:54 +#: plinth/modules/syncthing/__init__.py:56 #: plinth/modules/syncthing/manifest.py:13 msgid "Syncthing" msgstr "Syncthing" -#: plinth/modules/syncthing/__init__.py:55 +#: plinth/modules/syncthing/__init__.py:57 msgid "File Synchronization" msgstr "Synchronisation de fichiers" @@ -6026,7 +6051,8 @@ msgstr "" "Tahoe-LAFS est un système de stockage de fichiers décentralisé sécurisé. Il " "utilise une sécurité indépendante du fournisseur pour stocker des fichiers " "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." +"deviennent indisponibles, vos fichiers pourront être récupérés depuis les " +"nœuds restants." #: plinth/modules/tahoe/__init__.py:35 #, python-brace-format @@ -6035,9 +6061,9 @@ msgid "" "Additional introducers can be added, which will introduce this node to the " "other storage nodes." msgstr "" -"Cette {box_name} héberge un nœud de stockage et un introducteur par défaut " -"Des introducteurs peuvent être ajoutés, ce qui introduira ce nœud dans les " -"autres nœuds de stockage." +"Cette {box_name} héberge un nœud de stockage et un introducteur par défaut. " +"Des introducteurs supplémentaires peuvent être ajoutés, afin de faire " +"découvrir ce nœud aux autres nœuds de stockage." #: plinth/modules/tahoe/__init__.py:66 msgid "Tahoe-LAFS" @@ -6055,38 +6081,39 @@ msgid "" "DATA. You can access Tahoe-LAFS at https://%(domain_name)s:5678." msgstr "" -"Le domaine du serveur Tahoe-LAFS est défini sur %(domain_name)s." -"Changer le nom de domaine de FreedomBox nécessite la ré-installation de " -"Tahoe-LAFS et vous PERDREZ DES DONNÉES. Vous pouvez accéder à Tahoe-LAFS à " -"https://%(domain_name)s:5678." +"Le domaine du serveur Tahoe-LAFS est défini comme %(domain_name)s. Un " +"changement du nom de domaine de la FreedomBox nécessitera la réinstallation " +"de Tahoe-LAFS et vous PERDREZ LES DONNÉES. Vous pouvez accéder à Tahoe-LAFS " +"à l’adresse https://%(domain_name)s:5678." -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:39 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:29 msgid "Local introducer" msgstr "Introducteur local" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:59 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:76 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:33 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:49 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:66 msgid "Pet Name" msgstr "Surnom" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:56 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:46 msgid "Add new introducer" msgstr "Ajouter un nouvel introducteur" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:67 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:57 msgid "Add" msgstr "Ajouter" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:72 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:62 msgid "Connected introducers" msgstr "Introducteurs connectés" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:89 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:79 msgid "Remove" msgstr "Supprimer" -#: plinth/modules/tor/__init__.py:33 +#: plinth/modules/tor/__init__.py:34 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -6094,46 +6121,46 @@ msgid "" "the Tor Browser." msgstr "" -"Tor est un système de communication anonyme. Vous pouvez en savoir plus sur " -"le site « Tor Project ». Pour " -"une meilleure protection lorsque vous surfez sur Internet, le projet Tor " -"recommande l'utilisation du navigateur Tor." +"Tor est un système de communication anonyme. Pour en savoir plus, rendez-" +"vous sur le site du projet Tor. " +"Pour une meilleure protection lorsque vous surfez sur Internet, le projet " +"Tor recommande l'utilisation du Navigateur Tor." -#: plinth/modules/tor/__init__.py:55 +#: plinth/modules/tor/__init__.py:54 msgid "Tor" msgstr "Tor" -#: plinth/modules/tor/__init__.py:66 +#: plinth/modules/tor/__init__.py:65 msgid "Tor Onion Service" -msgstr "Service Tor Onion" +msgstr "Service onion Tor" -#: plinth/modules/tor/__init__.py:70 +#: plinth/modules/tor/__init__.py:69 msgid "Tor Socks Proxy" msgstr "Mandataire Socks Tor" -#: plinth/modules/tor/__init__.py:74 +#: plinth/modules/tor/__init__.py:73 msgid "Tor Bridge Relay" -msgstr "Relais pont Tor" +msgstr "Relais Tor de type pont (« bridge relay »)" -#: plinth/modules/tor/__init__.py:95 +#: plinth/modules/tor/__init__.py:98 msgid "Tor relay port available" -msgstr "Port du relais Tor disponible" +msgstr "Le port du relais Tor est disponible" -#: plinth/modules/tor/__init__.py:105 +#: plinth/modules/tor/__init__.py:108 msgid "Obfs3 transport registered" -msgstr "Transport Obfs3 enregistré" +msgstr "Abonné au transport obfs3" -#: plinth/modules/tor/__init__.py:115 +#: plinth/modules/tor/__init__.py:118 msgid "Obfs4 transport registered" -msgstr "Transport Obfs4 enregistré" +msgstr "Abonné au transport obfs4" -#: plinth/modules/tor/__init__.py:208 +#: plinth/modules/tor/__init__.py:211 #, 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:219 +#: plinth/modules/tor/__init__.py:222 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "Confirmez l'utilisation de Tor pour {url} sur tcp{kind}" @@ -6150,7 +6177,7 @@ msgstr "Activer Tor" #: plinth/modules/tor/forms.py:75 msgid "Use upstream bridges to connect to Tor network" -msgstr "Utilisez des ponts upstream pour vous connecter au réseau Tor" +msgstr "Utiliser les ponts amont pour vous connecter au réseau Tor" #: plinth/modules/tor/forms.py:77 msgid "" @@ -6158,13 +6185,13 @@ msgid "" "Tor network. Use this option if your Internet Service Provider (ISP) blocks " "or censors connections to the Tor Network. This will disable relay modes." msgstr "" -"Quand activé, les ponts configurés ci-dessous serviront à vous connecter au " -"réseau Tor. Utilisez cette option si votre FAI bloque ou censure les " -"connexions au réseau Tor. Cela désactivera les modes relais." +"En activant cette option, les ponts configurés ci-dessous serviront à vous " +"connecter au réseau Tor. Utilisez cette option si votre FAI bloque ou " +"censure les connexions au réseau Tor. Cela désactivera les modes relais." #: plinth/modules/tor/forms.py:82 msgid "Upstream bridges" -msgstr "Ponts upstream" +msgstr "Ponts amont" #: plinth/modules/tor/forms.py:84 msgid "" @@ -6172,10 +6199,10 @@ msgid "" "\">https://bridges.torproject.org/ and copy/paste the bridge information " "here. Currently supported transports are none, obfs3, obfs4 and scamblesuit." msgstr "" -"Vous pouvez obtenir quelques ponts à partir de https://bridges.torproject.org/ et copier/coller les " -"informations du pont ici. Les transports pris en charge actuellement sont " -"aucun, obfs3, obfs4 et scamblesuit." +"Vous trouverez quelques ponts sur la page https://bridges.torproject.org/ et " +"pouvez copier/coller les informations de pont ici. Les transports pris en " +"charge actuellement sont aucun, obfs3, obfs4 et scamblesuit." #: plinth/modules/tor/forms.py:90 msgid "Enable Tor relay" @@ -6188,9 +6215,9 @@ msgid "" "the Tor network. Do this if you have more than 2 megabits/s of upload and " "download bandwidth." msgstr "" -"Une fois activée, votre {box_name} fera fonctionner un relais Tor et fera " -"don de bande passante au réseau Tor. Faites cela si vous avez plus de 2 " -"mégabits/s de bande passante de téléchargement et d'envoi." +"Une fois cette appli activée, votre {box_name} fera tourner un relais Tor et " +"fera don de bande passante au réseau Tor. Vous devez disposer d’au moins de " +"2 mégabits/s de bande passante en réception et en envoi pour l’activer." #: plinth/modules/tor/forms.py:96 msgid "Enable Tor bridge relay" @@ -6202,10 +6229,10 @@ msgid "" "instead of public Tor relay database making it harder to censor this node. " "This helps others circumvent censorship." msgstr "" -"Une fois activée, les informations de relais seront publiées dans la base de " -"données pont de Tor au lieu de la base de données publique des relais Tor, " -"rendant ainsi plus difficile de censurer ce nœud. Cela aide d'autres de " -"contourner la censure." +"En activant cette option, les informations de relais seront publiées dans la " +"base de données des ponts Tor au lieu de la base de données publique des " +"relais Tor, rendant ainsi plus difficile la censure de ce nœud. Cela aide d’" +"autres personnes à contourner la censure." #: plinth/modules/tor/forms.py:103 msgid "Enable Tor Hidden Service" @@ -6218,13 +6245,13 @@ msgid "" "wiki or chat) without revealing its location. Do not use this for strong " "anonymity yet." msgstr "" -"Un service caché permettra à {box_name} de proposer les services " -"sélectionnés (comme un wiki ou Chat) sans révéler votre emplacement. Ne pas " -"encore utiliser pour l'anonymat fort." +"Un service caché permettra à la {box_name} de fournir les services " +"sélectionnés (comme un wiki ou un tchat) sans révéler son emplacement. Ne " +"pas utiliser pour l’instant pour de l'anonymat fort." #: plinth/modules/tor/forms.py:110 msgid "Download software packages over Tor" -msgstr "Téléchargez les logiciels via Tor" +msgstr "Téléchargez les paquets logiciels via Tor" #: plinth/modules/tor/forms.py:111 msgid "" @@ -6232,9 +6259,9 @@ msgid "" "installations and upgrades. This adds a degree of privacy and security " "during software downloads." msgstr "" -"Lorsqu'activé, le logiciel sera téléchargé via le réseau Tor pour " -"installation et mises à niveau. Ce processus ajoute un degré de sécurité et " -"de confidentialité durant le téléchargement des logiciels." +"En activant cette option, les logiciels seront téléchargés via le réseau Tor " +"lors des installations et des mises à niveau. Ce processus ajoute un degré " +"de sécurité et de confidentialité pour le téléchargement des logiciels." #: plinth/modules/tor/forms.py:126 msgid "Specify at least one upstream bridge to use upstream bridges." @@ -6246,11 +6273,11 @@ msgstr "Navigateur Tor" #: plinth/modules/tor/manifest.py:30 msgid "Orbot: Proxy with Tor" -msgstr "Orbot : Mandataire avec Tor" +msgstr "Orbot : Mandataire utilisant Tor" #: plinth/modules/tor/templates/tor.html:26 msgid "Tor configuration is being updated" -msgstr "La configuration de Tor est en cours d'actualisation" +msgstr "La configuration de Tor est en cours de mise à jour" #: plinth/modules/tor/templates/tor.html:35 msgid "Onion Service" @@ -6270,9 +6297,8 @@ msgid "" "If your %(box_name)s is behind a router or firewall, you should make sure " "the following ports are open, and port-forwarded, if necessary:" msgstr "" -"Si votre boîte %(box_name)s est derrière un routeur ou un pare-feu, vous " -"devez vous assurer que les ports suivants soient ouverts et réacheminés si " -"nécessaire :" +"Si votre %(box_name)s est derrière un routeur ou un pare-feu, vous devez " +"vous assurer que les ports suivants sont ouverts et redirigés si nécessaire :" #: plinth/modules/tor/templates/tor.html:97 msgid "SOCKS" @@ -6282,18 +6308,19 @@ msgstr "SOCKS" #, python-format 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." +"Un port SOCKS pour Tor est accessible sur votre %(box_name)s sur le port TCP " +"9050." -#: plinth/modules/transmission/__init__.py:27 +#: plinth/modules/transmission/__init__.py:28 msgid "" "BitTorrent is a peer-to-peer file sharing protocol. Transmission daemon " "handles Bitorrent file sharing. Note that BitTorrent is not anonymous." msgstr "" -"BitTorrent est un protocole de partage de fichiers pair-à-pair. Le daemon " -"Transmission permet le partage de fichiers Bitorrent. Noter que " -"l'utilisation de Bitorrent n'est pas anonyme." +"BitTorrent est un protocole de partage de fichiers pair à pair. Le démon " +"Transmission permet le partage de fichiers Bitorrent. Notez que l’" +"utilisation de Bitorrent n’est pas anonyme." -#: plinth/modules/transmission/__init__.py:48 +#: plinth/modules/transmission/__init__.py:51 #: plinth/modules/transmission/manifest.py:9 msgid "Transmission" msgstr "Transmission" @@ -6316,7 +6343,7 @@ msgid "" "\"{users_url}\">user with a {box_name} login." msgstr "" "Une fois activé, Tiny Tiny RSS peut être consulté par tout utilisateur avec un compte {box_name}." +"\"{users_url}\">utilisateur disposant d’un compte sur la {box_name}." #: plinth/modules/ttrss/__init__.py:37 msgid "" @@ -6328,15 +6355,15 @@ msgstr "" "utilisez l'URL tt-rss-" "app pour se connecter." -#: plinth/modules/ttrss/__init__.py:42 +#: plinth/modules/ttrss/__init__.py:54 msgid "Read and subscribe to news feeds" msgstr "Lire et souscrire à des abonnements d'infos" -#: plinth/modules/ttrss/__init__.py:56 plinth/modules/ttrss/manifest.py:19 +#: plinth/modules/ttrss/__init__.py:57 plinth/modules/ttrss/manifest.py:19 msgid "Tiny Tiny RSS" msgstr "Tiny Tiny RSS" -#: plinth/modules/ttrss/__init__.py:57 +#: plinth/modules/ttrss/__init__.py:58 msgid "News Feed Reader" msgstr "Lecteur de flux d'informations" @@ -6350,11 +6377,11 @@ msgstr "" "Rechercher et installer les dernières mises à jour logicielles et les " "correctifs de sécurité." -#: plinth/modules/upgrades/__init__.py:38 plinth/templates/setup.html:74 +#: plinth/modules/upgrades/__init__.py:40 plinth/templates/setup.html:74 msgid "Update" -msgstr "Actualiser" +msgstr "Mises à jour" -#: plinth/modules/upgrades/__init__.py:76 +#: plinth/modules/upgrades/__init__.py:78 msgid "FreedomBox Updated" msgstr "FreedomBox mise à jour" @@ -6365,13 +6392,13 @@ msgstr "Activer les mises à jour automatiques" #: plinth/modules/upgrades/forms.py:14 msgid "When enabled, FreedomBox automatically updates once a day." msgstr "" -"Une fois activé, FreedomBox se mettra à jour automatiquement une fois par " -"jour." +"En activant cette option, la FreedomBox se mettra à jour automatiquement une " +"fois par jour." #: plinth/modules/upgrades/templates/upgrades-new-release.html:9 #, python-format msgid "%(box_name)s Updated" -msgstr "%(box_name)s mis à jour" +msgstr "%(box_name)s mise à jour" #: plinth/modules/upgrades/templates/upgrades-new-release.html:13 #, python-format @@ -6379,8 +6406,8 @@ msgid "" "%(box_name)s has been updated to version %(version)s. See the release announcement." msgstr "" -"%(box_name)s a été mis à jour vers la version %(version)s. Consultez l’annonce de publication." +"La %(box_name)s a été mise à jour vers la version %(version)s. Consultez " +"l’annonce de publication." #: plinth/modules/upgrades/templates/upgrades-new-release.html:22 #: plinth/templates/notifications.html:44 @@ -6389,7 +6416,7 @@ msgstr "Ignorer" #: plinth/modules/upgrades/templates/upgrades.html:30 msgid "Update now" -msgstr "Mettre à jour maintenant" +msgstr "Mettre à jour immédiatement" #: plinth/modules/upgrades/templates/upgrades.html:39 msgid "Updating..." @@ -6401,11 +6428,10 @@ msgid "" "you cannot install apps. Also, this web interface may be temporarily " "unavailable and show an error. In that case, refresh the page to continue." msgstr "" -"Cette opération peut prendre du temps. Pendant que les " -"mises à niveau seront en cours d'installation, vous ne pourrez pas installer " -"d'autres paquets. Durant la mise à niveau, cette interface web peut être " -"temporairement indisponible et afficher une erreur. Dans ce cas, " -"rafraîchissez la page pour continuer." +"Cette opération peut prendre du temps. Pendant la durée des " +"mises à jour, vous ne pouvez pas installer d’autre appli. Cette interface " +"web pourrait aussi être temporairement indisponible ou afficher une erreur. " +"Si cela se produit, rafraîchissez la page pour continuer." #: plinth/modules/upgrades/templates/upgrades.html:58 msgid "Toggle recent update logs" @@ -6413,173 +6439,168 @@ msgstr "Basculer les journaux de modification récents" #: plinth/modules/upgrades/templates/upgrades_configure.html:11 #: plinth/modules/upgrades/templates/upgrades_configure.html:12 -#: plinth/modules/upgrades/views.py:88 +#: plinth/modules/upgrades/views.py:85 msgid "Manual update" msgstr "Mise à jour manuelle" -#: plinth/modules/upgrades/views.py:47 +#: plinth/modules/upgrades/views.py:46 #, 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:51 +#: plinth/modules/upgrades/views.py:50 msgid "Automatic upgrades enabled" msgstr "Mises à niveau automatiques activées" -#: plinth/modules/upgrades/views.py:54 +#: plinth/modules/upgrades/views.py:53 msgid "Automatic upgrades disabled" msgstr "Mises à niveau automatiques désactivées" -#: plinth/modules/upgrades/views.py:56 -msgid "Settings unchanged" -msgstr "Paramètres inchangés" +#: plinth/modules/upgrades/views.py:79 +msgid "Upgrade process started." +msgstr "Mise à niveau initiée." #: plinth/modules/upgrades/views.py:82 -msgid "Upgrade process started." -msgstr "Mise à niveau démarrée." - -#: plinth/modules/upgrades/views.py:85 msgid "Starting upgrade failed." -msgstr "Échec du démarrage de la mise à niveau." +msgstr "Le lancement de la mise à niveau a échoué." -#: plinth/modules/users/__init__.py:37 +#: plinth/modules/users/__init__.py:39 msgid "" "Create and managed user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " "account to be part of a group to authorize the user to access the app." msgstr "" -"Crée et gère les comptes-utilisateur. Ces comptes sont utilisés comme " -"mécanisme central d'authentification par la plupart des applications. " -"Certaines nécessitent en plus qu'un compte fasse partie d'un groupe pour " -"autoriser l'utilisateur à accéder à l'application." +"Création et gestion des comptes utilisateur. Ces comptes servent de " +"mécanisme central d’authentification pour la plupart des applications. " +"Certaines applis nécessitent également qu’un compte fasse partie d’un groupe " +"spécifique pour que l’utilisateur puisse accéder à l'application." -#: plinth/modules/users/__init__.py:42 +#: plinth/modules/users/__init__.py:44 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " "relevant to them in the home page. However, only users of the admin " "group may alter apps or system settings." msgstr "" -"N'importe quel utilisateur peut se connecter à l'interface web de {box_name} " -"pour voir la liste des applications disponibles sur la page principale. En " -"revanche, seuls les utilisateurs du groupe admin pourront modifier " -"ces applications ou les paramètres-système." +"N’importe quel utilisateur peut se connecter à l’interface web de la " +"{box_name} pour consulter la liste d’applications disponibles depuis la page " +"principale. En revanche, seuls les utilisateurs du groupe admin " +"pourront modifier ces applications ou les paramètres système." -#: plinth/modules/users/__init__.py:64 +#: plinth/modules/users/__init__.py:65 msgid "Users and Groups" -msgstr "Utilisateurs et Groupes" +msgstr "Utilisateurs et groupes" -#: plinth/modules/users/__init__.py:115 +#: plinth/modules/users/__init__.py:78 +msgid "Access to all services and system settings" +msgstr "Accès à tous les services et les configurations-système" + +#: plinth/modules/users/__init__.py:122 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "Vérification de l'entrée LDAP \"{search_item}\"" -#: plinth/modules/users/forms.py:28 -msgid "Access to all services and system settings" -msgstr "Accès à tous les services et les configurations-système" - -#: plinth/modules/users/forms.py:44 +#: plinth/modules/users/forms.py:36 msgid "Username is taken or is reserved." msgstr "Le nom d'utilisateur est déjà pris ou est réservé." -#: plinth/modules/users/forms.py:72 +#: plinth/modules/users/forms.py:63 msgid "Enter a valid username." msgstr "Entrez un nom d’utilisateur valide." -#: plinth/modules/users/forms.py:78 +#: plinth/modules/users/forms.py:69 msgid "" "Required. 150 characters or fewer. English letters, digits and @/./-/_ only." msgstr "" "Requis. 150 caractères ou moins. Lettres anglaises, chiffres et @/./-/_ " -"seulement." +"uniquement." -#: plinth/modules/users/forms.py:91 plinth/modules/users/forms.py:207 +#: plinth/modules/users/forms.py:83 plinth/modules/users/forms.py:196 msgid "Permissions" msgstr "Permissions" -#: plinth/modules/users/forms.py:94 +#: plinth/modules/users/forms.py:85 msgid "" -"Select which services should be available to the new user. The user will be " -"able to log in to services that support single sign-on through LDAP, if they " -"are in the appropriate group.

Users in the admin group will be " -"able to log in to all services. They can also log in to the system through " -"SSH and have administrative privileges (sudo)." +"user. The user will be able to log in to services that support single sign-" +"on through LDAP, if they are in the appropriate group.

Users in " +"the admin group will be able to log in to all services. They can also log in " +"to the system through SSH and have administrative privileges (sudo)." msgstr "" -"Sélectionnez les services devant être accessibles à un nouvel utilisateur. " -"L'utilisateur pourra se connecter aux services compatibles avec une session " -"unique via LDAP, s'ils appartiennent au groupe approprié.

Les " -"utilisateurs du groupe admin pourront se connecter à tous les services. Ils " -"peuvent également se connecter au système avec Secure Shell (SSH) et se voir " -"accorder le mode superutilisateur (sudo)." +"Sélectionnez les services auxquels le nouvel utilisateur doit avoir accès. L’" +"utilisateur pourra se connecter aux services compatibles avec une session " +"unique via LDAP s’il est membre des groupes correspondants.

Les " +"utilisateurs du groupe admin peuvent se connecter à tous les services. Ils " +"peuvent également se connecter au système avec Secure Shell (SSH) et obtenir " +"les privilèges de superutilisateur (sudo)." -#: plinth/modules/users/forms.py:133 plinth/modules/users/forms.py:357 +#: plinth/modules/users/forms.py:122 plinth/modules/users/forms.py:345 msgid "Creating LDAP user failed." -msgstr "La création de l'utilisateur LDAP n'a pas abouti." +msgstr "La création de l’utilisateur LDAP a échoué." -#: plinth/modules/users/forms.py:144 +#: plinth/modules/users/forms.py:133 #, python-brace-format msgid "Failed to add new user to {group} group." -msgstr "Échec de l'ajout d'un nouvel utilisateur au groupe {group}." +msgstr "Échec de l’ajout du nouvel utilisateur au groupe {group}." -#: plinth/modules/users/forms.py:158 +#: plinth/modules/users/forms.py:147 msgid "Authorized SSH Keys" msgstr "Clés SSH autorisées" -#: plinth/modules/users/forms.py:160 +#: plinth/modules/users/forms.py:149 msgid "" "Setting an SSH public key will allow this user to securely log in to the " "system without using a password. You may enter multiple keys, one on each " "line. Blank lines and lines starting with # will be ignored." msgstr "" -"La définition d'une clef publique SSH permettra à cet utilisateur d'ouvrir " -"une session sécurisée sans utiliser de mot de passe. Vous pouvez entrer des " -"clefs multiples, une sur chaque ligne. Les lignes vides et celles commençant " -"par # seront ignorées." +"L’ajout d’une clef publique SSH permettra à cet utilisateur d’ouvrir une " +"session sécurisée sans utiliser de mot de passe. Vous pouvez ajouter " +"plusieurs clefs, une sur chaque ligne. Les lignes vides et celles commençant " +"par # sont ignorées." -#: plinth/modules/users/forms.py:244 +#: plinth/modules/users/forms.py:233 msgid "Renaming LDAP user failed." msgstr "Le changement du nom de l'utilisateur LDAP a échoué." -#: plinth/modules/users/forms.py:256 +#: plinth/modules/users/forms.py:245 msgid "Failed to remove user from group." msgstr "Échec du retrait de l'utilisateur du groupe." -#: plinth/modules/users/forms.py:267 +#: plinth/modules/users/forms.py:256 msgid "Failed to add user to group." msgstr "Échec de l'ajout de l'utilisateur au groupe." -#: plinth/modules/users/forms.py:276 +#: plinth/modules/users/forms.py:265 msgid "Unable to set SSH keys." -msgstr "Impossible de définir les clés SSH." +msgstr "Échec du paramétrage des clefs SSH." -#: plinth/modules/users/forms.py:291 +#: plinth/modules/users/forms.py:280 msgid "Failed to change user status." msgstr "Échec du changement de statut de l'utilisateur." -#: plinth/modules/users/forms.py:299 +#: plinth/modules/users/forms.py:288 msgid "Cannot delete the only administrator in the system." msgstr "Impossible de supprimer le seul administrateur de ce système." -#: plinth/modules/users/forms.py:331 +#: plinth/modules/users/forms.py:319 msgid "Changing LDAP user password failed." msgstr "Le changement de mot de passe pour l'utilisateur LDAP a échoué." -#: plinth/modules/users/forms.py:366 +#: plinth/modules/users/forms.py:354 msgid "Failed to add new user to admin group." -msgstr "L'ajout du nouvel utilisateur au groupe administrateur n'a pas abouti." +msgstr "Échec de l'ajout du nouvel utilisateur au groupe admin." -#: plinth/modules/users/forms.py:383 +#: plinth/modules/users/forms.py:371 msgid "Failed to restrict console access." msgstr "Échec de la restriction de l'accès à la console." -#: plinth/modules/users/forms.py:395 +#: plinth/modules/users/forms.py:383 msgid "User account created, you are now logged in" msgstr "Compte utilisateur créé, vous êtes maintenant connecté." #: plinth/modules/users/templates/users_change_password.html:11 #, python-format msgid "Change Password for %(username)s" -msgstr "Changer le mot de passe pour %(username)s" +msgstr "Changer le mot de passe de %(username)s" #: plinth/modules/users/templates/users_change_password.html:21 msgid "Save Password" @@ -6617,10 +6638,10 @@ msgid "" "can be changed later. This user will be granted administrative privileges. " "Other users can be added later." msgstr "" -"Choisir un nom d'utilisateur et un mot de passe pour accéder à l'interface " -"Web. Le mot de passe peut être modifié plus tard. Cet utilisateur disposera " -"de privilèges administrateur. Les autres utilisateurs peuvent être créés " -"plus tard." +"Choisir un nom d’utilisateur et un mot de passe pour accéder à l’interface " +"web. Le mot de passe peut être modifié par la suite. Cet utilisateur " +"disposera de privilèges administrateur. D’autres utilisateurs pourront être " +"créés ultérieurement." #: plinth/modules/users/templates/users_firstboot.html:27 msgid "Create Account" @@ -6667,7 +6688,7 @@ msgstr "Utilisateur %(username)s mis à jour." #: plinth/modules/users/views.py:75 msgid "Edit User" -msgstr "Modifier Utilisateur" +msgstr "Modification de l’utilisateur" #: plinth/modules/users/views.py:130 #, python-brace-format @@ -6696,8 +6717,8 @@ msgid "" "It can be used to connect to a VPN provider which supports WireGuard, and to " "route all outgoing traffic from {box_name} through the VPN." msgstr "" -"Il peut être utilisé pour se connecter à un fournisseur de VPN qui gère " -"WireGuard, et pour router tout le trafic sortant de {box_name} à travers ce " +"Il peut être utilisé pour se connecter à un fournisseur de VPN proposant " +"WireGuard pour router tout le trafic sortant de la {box_name} à travers ce " "VPN." #: plinth/modules/wireguard/__init__.py:30 @@ -6707,9 +6728,9 @@ msgid "" "travelling. While connected to a public Wi-Fi network, all traffic can be " "securely relayed through {box_name}." msgstr "" -"Un autre cas d'usage est de connecter un périphérique mobile à {box_name} " -"pendant un voyage. Bien que connecté à un réseau public Wi-Fi, tout le " -"trafic destiné à votre {box_name} sera transmis à travers ce VPN de manière " +"Une autre utilisation possible est de connecter un périphérique mobile à " +"votre {box_name} pendant un voyage. Bien que connecté à un réseau Wi-Fi " +"public, tout votre trafic sera relayé via votre {box_name} de manière " "sécurisée." #: plinth/modules/wireguard/__init__.py:52 @@ -6733,12 +6754,12 @@ msgid "" "Public key of the peer. Example: " "MConEJFIg6+DFHg2J1nn9SNLOSE9KR0ysdPgmPjibEs= ." msgstr "" -"Clé publique du distant. Exemple : " +"Clé publique du serveur. Exemple : " "MConEJFIg6+DFHg2J1nn9SNLOSE9KR0ysdPgmPjibEs= ." #: plinth/modules/wireguard/forms.py:70 msgid "Endpoint of the server" -msgstr "Point d'accès du serveur" +msgstr "Point d’entrée du serveur" #: plinth/modules/wireguard/forms.py:71 msgid "" @@ -6770,8 +6791,8 @@ msgid "" "endpoint. This value is usually provided by the server operator. Example: " "192.168.0.10." msgstr "" -"Adresse IP de cette machine sur le VPN une fois connecté au distant. Cette " -"valeur est généralement fournie par le gestionnaire du serveur. Par " +"Adresse IP de cette machine sur le VPN une fois connecté au serveur distant. " +"Cette valeur est généralement fournie par le gestionnaire du serveur. Par " "exemple : 192.18.0.10." #: plinth/modules/wireguard/forms.py:89 @@ -6785,10 +6806,10 @@ msgid "" "some server operators insist on providing this. Example: " "MConEJFIg6+DFHg2J1nn9SNLOSE9KR0ysdPgmPjibEs= ." msgstr "" -"Optionnel. De nouvelles clés privée/publique seront générées si ce réglage " -"est laissé vide. La clé publique pourra ensuite être fournie au serveur. Il " -"s'agit du réglage recommandé, mais toutefois, certains gestionnaires de " -"serveur insistent pour les fournir. Exemple : " +"Paramètre optionnel. De nouvelles clés privée/publique seront générées si ce " +"champ est laissé vide. La clé publique pourra ensuite être communiquée au " +"serveur. Il s’agit de la méthode recommandée, même si certains gestionnaires " +"de serveur insistent pour fournir eux même cette clé. Exemple : " "MConEJFIg6+DFHg2J1nn9SNLOSE9KR0ysdPgmPjibEs= ." #: plinth/modules/wireguard/forms.py:98 @@ -6801,9 +6822,10 @@ msgid "" "layer of security. Fill in only if provided. Example: " "MConEJFIg6+DFHg2J1nn9SNLOSE9KR0ysdPgmPjibEs=." msgstr "" -"Optionnel. Une clé secrète partagée fournie par le serveur pour ajouter un " -"niveau supplémentaire de sécurité. Ne remplir que si une clé est fournie. " -"Exemple : MConEJFIg6+DFHg2J1nn9SNLOSE9KR0ysdPgmPjibEs=." +"Paramètre optionnel. Une clé secrète partagée fournie par le serveur pour " +"ajouter un niveau supplémentaire de sécurité. Ne remplir ce champ que si une " +"clé vous a été fournie. Exemple : " +"MConEJFIg6+DFHg2J1nn9SNLOSE9KR0ysdPgmPjibEs=." #: plinth/modules/wireguard/forms.py:105 msgid "Use this connection to send all outgoing traffic" @@ -6836,13 +6858,13 @@ msgstr "Date de dernière connexion" #, python-format msgid "No peers configured to connect to this %(box_name)s yet." msgstr "" -"Aucun distant n'a été configuré pour se connecter à %(box_name)s pour " +"Aucun pair n’a été configuré pour se connecter à la %(box_name)s pour " "l'instant." #: plinth/modules/wireguard/templates/wireguard.html:47 #, python-format msgid "Public key for this %(box_name)s:" -msgstr "Clé publique pour ce %(box_name)s :" +msgstr "Clé publique de cette %(box_name)s :" #: plinth/modules/wireguard/templates/wireguard.html:53 msgid "Not configured yet." @@ -6864,16 +6886,16 @@ msgstr "En tant que client" #: plinth/modules/wireguard/templates/wireguard.html:66 #, python-format msgid "Servers that %(box_name)s will connect to:" -msgstr "Serveurs auxquels %(box_name)s va se connecter :" +msgstr "Serveurs auxquels la %(box_name)s va se connecter :" #: plinth/modules/wireguard/templates/wireguard.html:73 #: plinth/modules/wireguard/templates/wireguard_delete_server.html:19 msgid "Endpoint" -msgstr "Endpoint" +msgstr "Serveur distant" #: plinth/modules/wireguard/templates/wireguard.html:96 msgid "No connections to remote servers are configured yet." -msgstr "Aucune connexion vers le serveur distant n’est encore configurée." +msgstr "Aucune connexion vers un serveur distant n’est encore configurée." #: plinth/modules/wireguard/templates/wireguard.html:104 msgid "Add a new server" @@ -6882,7 +6904,7 @@ msgstr "Ajouter un nouveau serveur" #: plinth/modules/wireguard/templates/wireguard.html:108 #: plinth/modules/wireguard/views.py:159 msgid "Add Connection to Server" -msgstr "Ajouter connexion au serveur" +msgstr "Ajouter une connexion à un serveur" #: plinth/modules/wireguard/templates/wireguard_add_client.html:19 msgid "Add Client" @@ -6910,8 +6932,8 @@ msgid "" "%(box_name)s will allow this client to connect to it. Ensure that the client " "is configured with the following information." msgstr "" -"%(box_name)s autorisera ce client à se connecter à lui. Assurez-vous que ce " -"client est configuré avec les informations suivantes." +"La %(box_name)s autorisera ce client à se connecter à elle. Assurez-vous que " +"ce client est configuré avec les informations suivantes." #: plinth/modules/wireguard/templates/wireguard_show_client.html:20 msgid "Client public key:" @@ -6928,7 +6950,7 @@ msgstr "clé pré-partagée :" #: plinth/modules/wireguard/templates/wireguard_show_client.html:32 msgid "Server endpoints:" -msgstr "Endpoints du serveur :" +msgstr "Serveurs distants :" #: plinth/modules/wireguard/templates/wireguard_show_client.html:40 #: plinth/modules/wireguard/templates/wireguard_show_server.html:27 @@ -6957,13 +6979,13 @@ msgid "" "information. Ensure that the server is configured to allow %(box_name)s's " "public key and IP address." msgstr "" -"%(box_name)s va tenter de joindre un serveur WireGuard avec les informations " -"suivantes. Assurez-vous que ce serveur est configuré pour autoriser la clé " -"publique et l'adresse IP de %(box_name)s." +"La %(box_name)s va tenter de joindre le serveur WireGuard avec les " +"informations suivantes. Assurez-vous que ce serveur est configuré pour " +"accepter la clé publique et l’adresse IP de votre %(box_name)s." #: plinth/modules/wireguard/templates/wireguard_show_server.html:23 msgid "Server endpoint:" -msgstr "Point d'accès du serveur :" +msgstr "Serveur distant :" #: plinth/modules/wireguard/templates/wireguard_show_server.html:35 msgid "Public key of this machine:" @@ -6991,7 +7013,7 @@ msgstr "Client mis à jour." #: plinth/modules/wireguard/views.py:100 msgid "Modify Client" -msgstr "Modifier un client" +msgstr "Modifier le client" #: plinth/modules/wireguard/views.py:133 msgid "Delete Allowed Client" @@ -7019,11 +7041,11 @@ msgstr "Serveur mis à jour." #: plinth/modules/wireguard/views.py:198 msgid "Modify Connection to Server" -msgstr "Modifier la connexion à un Serveur" +msgstr "Modifier la connexion à un serveur" #: plinth/modules/wireguard/views.py:235 msgid "Delete Connection to Server" -msgstr "Supprimer la Connexion à un Serveur" +msgstr "Supprimer la connexion à un serveur" #: plinth/modules/wireguard/views.py:255 msgid "Server deleted." @@ -7043,15 +7065,15 @@ msgstr "Erreur pendant l'installation" #: plinth/package.py:144 msgid "installing" -msgstr "installation" +msgstr "installation en cours" #: plinth/package.py:146 msgid "downloading" -msgstr "téléchargement" +msgstr "téléchargement en cours" #: plinth/package.py:148 msgid "media change" -msgstr "Changement de support" +msgstr "changement de support" #: plinth/package.py:150 #, python-brace-format @@ -7083,9 +7105,10 @@ msgid "" "FreedomBox Service (Plinth) project issue tracker." msgstr "" -"Si vous pensez que cette page manquante doit exister, il est conseillé " -"d'envoyer un rapport de bogue à l'équipe du projet Plinth." +"Si vous pensez que cette page manquante devrait exister, veuillez remonter <" +"a href=\"https://salsa.debian.org/freedombox-team/plinth/issues\">un rapport " +"de bogue à destination de l'équipe du projet Plinth, l’interface de " +"gestion de la FreedomBox." #: plinth/templates/500.html:10 msgid "500" @@ -7099,11 +7122,11 @@ msgid "" "plinth/issues\">bug tracker so we can fix it. Also, please attach the status log to the bug report." msgstr "" -"Cette erreur est propre au système, vous n'en êtes pas à l'origine et vous " -"ne pouvez pas la réparer. Il est conseillé de faire parvenir un rapport de bogue pour traitement et réparation. Veuillez également attacher le journal d'état au rapport d'erreur." +"Cette erreur est une erreur interne du système, vous n’en êtes pas à " +"l'origine et vous ne pouvez pas la réparer. Veuillez remonter un rapport de bogue" +" pour que nous puissions la corriger. Veuillez également joindre le journal d’état à votre rapport de bogue." #: plinth/templates/app-header.html:22 msgid "Installation" @@ -7117,11 +7140,11 @@ msgstr "Le service %(service_name)s n'est pas en fonctionnement." #: plinth/templates/base.html:35 #, python-format msgid "Core functionality and web interface for %(box_name)s" -msgstr "Fonction centrale et interface web pour %(box_name)s" +msgstr "Fonctions de base et interface web de la %(box_name)s" #: plinth/templates/base.html:80 msgid "Toggle navigation" -msgstr "Basculer Navigation" +msgstr "Afficher/masquer le menu de navigation" #: plinth/templates/base.html:104 plinth/templates/base.html:107 msgid "Home" @@ -7162,7 +7185,7 @@ msgstr "S'identifier" #: plinth/templates/clients-button.html:16 msgid "Launch web client" -msgstr "Lancer le client Web" +msgstr "Lancer le client web" #: plinth/templates/clients-button.html:25 msgid "Client Apps" @@ -7226,8 +7249,8 @@ msgid "" "Please wait for %(box_name)s to finish installation. You can start using " "your %(box_name)s once it is done." msgstr "" -"Veuillez attendre que %(box_name)s termine l’installation. Vous pourrez " -"utiliser votre %(box_name)s quand ce sera fait." +"Veuillez patienter pendant que la %(box_name)s finalise son installation. " +"Vous pourrez utiliser votre %(box_name)s dès que cette étape sera terminée." #: plinth/templates/index.html:22 #, python-format @@ -7249,10 +7272,10 @@ msgid "" "server to deploy social applications on small machines. It provides online " "communication tools respecting your privacy and data ownership." msgstr "" -"%(box_name)s, un pur produit issu de Debian, est un serveur Web d'auto-" -"hébergement composé à 100%% avec du logiciel libre pour déployer des " -"applications sociales sur de petites machines. Les outils de communication " -"fournis respectent votre vie privée et vos données personnelles." +"%(box_name)s, un pur produit issu de Debian, est un serveur web d’auto-" +"hébergement 100%% logiciel libre pour déployer des applications sociales sur " +"de petites machines. Les outils de communication fournis respectent votre " +"vie privée et vos données personnelles." #: plinth/templates/index.html:117 #, python-format @@ -7261,13 +7284,13 @@ msgid "" "free software, distributed under the GNU Affero General Public License, " "Version 3 or later." msgstr "" -"Ce portail fait partie de l'interface Web de %(box_name)s. %(box_name)s est " -"un logiciel libre, distribué sous la licence GNU Affero General Public " +"Ce portail fait partie de l'interface web de la %(box_name)s. %(box_name)s " +"est un logiciel libre distribué sous licence GNU Affero General Public " "License, Version 3 ou ultérieure." #: plinth/templates/index.html:137 msgid "Homepage" -msgstr "Page d'accueil" +msgstr "Page d’accueil" #: plinth/templates/index.html:140 msgid "Source Code" @@ -7283,11 +7306,11 @@ msgstr "Fondation FreedomBox" #: plinth/templates/index.html:154 msgid "IRC Chatroom" -msgstr "Chat IRC" +msgstr "Canal de tchat IRC" #: plinth/templates/index.html:159 msgid "Mailing list" -msgstr "Liste de diffusion mail" +msgstr "Liste de discussion du projet" #: plinth/templates/internal-zone.html:11 #, python-format @@ -7372,18 +7395,22 @@ msgstr "Installation de %(package_names)s: %(status)s" msgid "%(percentage)s%% complete" msgstr "%(percentage)s%% effectué" -#: plinth/views.py:184 -msgid "Application enabled" -msgstr "Application activée" - -#: plinth/views.py:187 -msgid "Application disabled" -msgstr "Application désactivée" - #: plinth/web_framework.py:107 msgid "Gujarati" msgstr "Gujarati" +#~ msgid "Enable application" +#~ msgstr "Activer l'application" + +#~ msgid "Settings unchanged" +#~ msgstr "Paramètres inchangés" + +#~ msgid "Application enabled" +#~ msgstr "Application activée" + +#~ msgid "Application disabled" +#~ msgstr "Application désactivée" + #~ msgid "Kite details set" #~ msgstr "Renseignements pour Kite établis" diff --git a/plinth/locale/gl/LC_MESSAGES/django.po b/plinth/locale/gl/LC_MESSAGES/django.po index d233afe16..e6a447005 100644 --- a/plinth/locale/gl/LC_MESSAGES/django.po +++ b/plinth/locale/gl/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-23 18:54-0400\n" +"POT-Creation-Date: 2020-04-06 19:59-0400\n" "PO-Revision-Date: 2019-07-11 08:01+0000\n" "Last-Translator: Miguel A. Bouzada \n" "Language-Team: Galician web client user with a {box_name} login." msgstr "" -#: plinth/modules/ejabberd/__init__.py:70 +#: plinth/modules/ejabberd/__init__.py:69 msgid "ejabberd" msgstr "" -#: plinth/modules/ejabberd/__init__.py:71 +#: plinth/modules/ejabberd/__init__.py:70 #: plinth/modules/matrixsynapse/__init__.py:68 msgid "Chat Server" msgstr "" -#: plinth/modules/ejabberd/forms.py:17 +#: plinth/modules/ejabberd/forms.py:16 msgid "Enable Message Archive Management" msgstr "" -#: plinth/modules/ejabberd/forms.py:19 +#: plinth/modules/ejabberd/forms.py:18 #, python-brace-format msgid "" "If enabled, your {box_name} will store chat message histories. This allows " @@ -1360,19 +1348,11 @@ msgid "" "Configure page." msgstr "" -#: plinth/modules/ejabberd/templates/ejabberd.html:35 -#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 -#: plinth/modules/snapshot/templates/snapshot.html:12 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:27 -#: plinth/templates/app.html:45 -msgid "Configuration" -msgstr "" - -#: plinth/modules/ejabberd/views.py:58 +#: plinth/modules/ejabberd/views.py:45 msgid "Message Archive Management enabled" msgstr "" -#: plinth/modules/ejabberd/views.py:62 +#: plinth/modules/ejabberd/views.py:49 msgid "Message Archive Management disabled" msgstr "" @@ -1384,7 +1364,7 @@ msgid "" "configured reduces risk of security threat from the Internet." msgstr "" -#: plinth/modules/firewall/__init__.py:63 +#: plinth/modules/firewall/__init__.py:65 msgid "Firewall" msgstr "" @@ -1511,7 +1491,7 @@ msgid "" "gittutorial\">Git tutorial." msgstr "" -#: plinth/modules/gitweb/__init__.py:39 +#: plinth/modules/gitweb/__init__.py:51 msgid "Read-write access to Git repositories" msgstr "" @@ -1644,31 +1624,31 @@ msgstr "" msgid "Could not delete {name}: {error}" msgstr "" -#: plinth/modules/help/__init__.py:30 +#: plinth/modules/help/__init__.py:32 msgid "Documentation" msgstr "" -#: plinth/modules/help/__init__.py:33 plinth/modules/networks/forms.py:47 +#: plinth/modules/help/__init__.py:35 plinth/modules/networks/forms.py:47 #: plinth/modules/networks/forms.py:77 plinth/templates/help-menu.html:20 #: plinth/templates/help-menu.html:21 plinth/templates/index.html:128 msgid "Manual" msgstr "Manual" -#: plinth/modules/help/__init__.py:37 +#: plinth/modules/help/__init__.py:39 #: plinth/modules/help/templates/help_support.html:9 #: plinth/modules/help/views.py:43 plinth/templates/help-menu.html:27 #: plinth/templates/help-menu.html:28 msgid "Get Support" msgstr "" -#: plinth/modules/help/__init__.py:41 +#: plinth/modules/help/__init__.py:43 #: plinth/modules/help/templates/help_feedback.html:9 #: plinth/modules/help/views.py:37 plinth/templates/help-menu.html:33 #: plinth/templates/help-menu.html:34 msgid "Submit Feedback" msgstr "" -#: plinth/modules/help/__init__.py:45 +#: plinth/modules/help/__init__.py:47 #: plinth/modules/help/templates/help_contribute.html:9 #: plinth/modules/help/views.py:31 plinth/templates/help-menu.html:39 #: plinth/templates/help-menu.html:40 @@ -1777,7 +1757,7 @@ msgstr "" #: plinth/modules/help/templates/help_contribute.html:42 #: plinth/modules/power/templates/power_restart.html:27 #: plinth/modules/power/templates/power_shutdown.html:26 -#: plinth/templates/app-header.html:51 +#: plinth/templates/app-header.html:53 msgid "Learn more..." msgstr "" @@ -1921,19 +1901,19 @@ msgid "" "configuration process." msgstr "" -#: plinth/modules/i2p/__init__.py:38 +#: plinth/modules/i2p/__init__.py:62 msgid "Manage I2P application" msgstr "" -#: plinth/modules/i2p/__init__.py:64 plinth/modules/i2p/manifest.py:16 +#: plinth/modules/i2p/__init__.py:65 plinth/modules/i2p/manifest.py:16 msgid "I2P" msgstr "" -#: plinth/modules/i2p/__init__.py:65 plinth/modules/tor/__init__.py:56 +#: plinth/modules/i2p/__init__.py:66 plinth/modules/tor/__init__.py:55 msgid "Anonymity Network" msgstr "" -#: plinth/modules/i2p/__init__.py:87 +#: plinth/modules/i2p/__init__.py:88 msgid "I2P Proxy" msgstr "" @@ -1986,18 +1966,18 @@ msgid "" "Configuration you can change these permissions or add new users." msgstr "" -#: plinth/modules/ikiwiki/__init__.py:39 -msgid "View and edit wiki applications" -msgstr "" - -#: plinth/modules/ikiwiki/__init__.py:53 plinth/modules/ikiwiki/manifest.py:9 +#: plinth/modules/ikiwiki/__init__.py:52 plinth/modules/ikiwiki/manifest.py:9 msgid "ikiwiki" msgstr "" -#: plinth/modules/ikiwiki/__init__.py:54 +#: plinth/modules/ikiwiki/__init__.py:53 msgid "Wiki and Blog" msgstr "" +#: plinth/modules/ikiwiki/__init__.py:73 +msgid "View and edit wiki applications" +msgstr "" + #: plinth/modules/ikiwiki/forms.py:17 msgid "Admin Account Name" msgstr "" @@ -2041,32 +2021,32 @@ msgid "" "history. Delete this wiki or blog permanently?" msgstr "" -#: plinth/modules/ikiwiki/views.py:72 +#: plinth/modules/ikiwiki/views.py:70 #, python-brace-format msgid "Created wiki {name}." msgstr "" -#: plinth/modules/ikiwiki/views.py:75 +#: plinth/modules/ikiwiki/views.py:73 #, python-brace-format msgid "Could not create wiki: {error}" msgstr "" -#: plinth/modules/ikiwiki/views.py:85 +#: plinth/modules/ikiwiki/views.py:83 #, python-brace-format msgid "Created blog {name}." msgstr "" -#: plinth/modules/ikiwiki/views.py:88 +#: plinth/modules/ikiwiki/views.py:86 #, python-brace-format msgid "Could not create blog: {error}" msgstr "" -#: plinth/modules/ikiwiki/views.py:103 +#: plinth/modules/ikiwiki/views.py:101 #, python-brace-format msgid "{title} deleted." msgstr "" -#: plinth/modules/ikiwiki/views.py:107 +#: plinth/modules/ikiwiki/views.py:105 #, python-brace-format msgid "Could not delete {title}: {error}" msgstr "" @@ -2106,17 +2086,17 @@ msgid "" "domain name." msgstr "" -#: plinth/modules/jsxc/__init__.py:22 +#: plinth/modules/jsxc/__init__.py:23 msgid "" "JSXC is a web client for XMPP. Typically it is used with an XMPP server " "running locally." msgstr "" -#: plinth/modules/jsxc/__init__.py:40 plinth/modules/jsxc/manifest.py:10 +#: plinth/modules/jsxc/__init__.py:43 plinth/modules/jsxc/manifest.py:10 msgid "JSXC" msgstr "" -#: plinth/modules/jsxc/__init__.py:41 +#: plinth/modules/jsxc/__init__.py:44 msgid "Chat Client" msgstr "" @@ -2279,11 +2259,11 @@ msgstr "" msgid "Matrix Synapse" msgstr "" -#: plinth/modules/matrixsynapse/forms.py:14 +#: plinth/modules/matrixsynapse/forms.py:12 msgid "Enable Public Registration" msgstr "" -#: plinth/modules/matrixsynapse/forms.py:15 +#: plinth/modules/matrixsynapse/forms.py:13 msgid "" "Enabling public registration means that anyone on the Internet can register " "a new account on your Matrix server. Disable this if you only want existing " @@ -2294,6 +2274,12 @@ msgstr "" msgid "Riot" msgstr "" +#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 +#: plinth/modules/snapshot/templates/snapshot.html:12 +#: plinth/templates/app.html:46 +msgid "Configuration" +msgstr "" + #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:18 msgid "" "Matrix service needs to be configured for a domain. Users on other Matrix " @@ -2338,11 +2324,11 @@ msgid "" "go to Let's Encrypt to obtain one." msgstr "" -#: plinth/modules/matrixsynapse/views.py:98 +#: plinth/modules/matrixsynapse/views.py:86 msgid "Public registration enabled" msgstr "" -#: plinth/modules/matrixsynapse/views.py:103 +#: plinth/modules/matrixsynapse/views.py:91 msgid "Public registration disabled" msgstr "" @@ -2378,71 +2364,71 @@ msgstr "" msgid "Wiki" msgstr "" -#: plinth/modules/mediawiki/forms.py:27 +#: plinth/modules/mediawiki/forms.py:25 msgid "Administrator Password" msgstr "" -#: plinth/modules/mediawiki/forms.py:28 +#: plinth/modules/mediawiki/forms.py:26 msgid "" "Set a new password for MediaWiki's administrator account (admin). Leave this " "field blank to keep the current password." msgstr "" -#: plinth/modules/mediawiki/forms.py:33 +#: plinth/modules/mediawiki/forms.py:31 msgid "Enable public registrations" msgstr "" -#: plinth/modules/mediawiki/forms.py:34 +#: plinth/modules/mediawiki/forms.py:32 msgid "" "If enabled, anyone on the internet will be able to create an account on your " "MediaWiki instance." msgstr "" -#: plinth/modules/mediawiki/forms.py:38 +#: plinth/modules/mediawiki/forms.py:36 msgid "Enable private mode" msgstr "" -#: plinth/modules/mediawiki/forms.py:39 +#: plinth/modules/mediawiki/forms.py:37 msgid "" "If enabled, access will be restricted. Only people who have accounts can " "read/write to the wiki. Public registrations will also be disabled." msgstr "" -#: plinth/modules/mediawiki/forms.py:44 +#: plinth/modules/mediawiki/forms.py:42 msgid "Default Skin" msgstr "" -#: plinth/modules/mediawiki/forms.py:45 +#: plinth/modules/mediawiki/forms.py:43 msgid "" "Choose a default skin for your MediaWiki installation. Users have the option " "to select their preferred skin." msgstr "" -#: plinth/modules/mediawiki/views.py:53 +#: plinth/modules/mediawiki/views.py:48 msgid "Password updated" msgstr "" -#: plinth/modules/mediawiki/views.py:72 +#: plinth/modules/mediawiki/views.py:57 msgid "Public registrations enabled" msgstr "" -#: plinth/modules/mediawiki/views.py:81 +#: plinth/modules/mediawiki/views.py:66 msgid "Public registrations disabled" msgstr "" -#: plinth/modules/mediawiki/views.py:86 +#: plinth/modules/mediawiki/views.py:71 msgid "Private mode enabled" msgstr "" -#: plinth/modules/mediawiki/views.py:93 +#: plinth/modules/mediawiki/views.py:78 msgid "Private mode disabled" msgstr "" -#: plinth/modules/mediawiki/views.py:101 +#: plinth/modules/mediawiki/views.py:86 msgid "Default skin changed" msgstr "" -#: plinth/modules/minetest/__init__.py:37 +#: plinth/modules/minetest/__init__.py:38 #, python-brace-format msgid "" "Minetest is a multiplayer infinite-world block sandbox. This module enables " @@ -2451,48 +2437,48 @@ msgid "" "downloads/\">Minetest client is needed." msgstr "" -#: plinth/modules/minetest/__init__.py:63 +#: plinth/modules/minetest/__init__.py:62 #: plinth/modules/minetest/manifest.py:10 msgid "Minetest" msgstr "" -#: plinth/modules/minetest/__init__.py:64 +#: plinth/modules/minetest/__init__.py:63 msgid "Block Sandbox" msgstr "" -#: plinth/modules/minetest/forms.py:15 +#: plinth/modules/minetest/forms.py:13 msgid "Maximum number of players" msgstr "" -#: plinth/modules/minetest/forms.py:17 +#: plinth/modules/minetest/forms.py:15 msgid "" "You can change the maximum number of players playing minetest at a single " "instance of time." msgstr "" -#: plinth/modules/minetest/forms.py:21 +#: plinth/modules/minetest/forms.py:19 msgid "Enable creative mode" msgstr "" -#: plinth/modules/minetest/forms.py:22 +#: plinth/modules/minetest/forms.py:20 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:27 +#: plinth/modules/minetest/forms.py:25 msgid "Enable PVP" msgstr "" -#: plinth/modules/minetest/forms.py:28 +#: plinth/modules/minetest/forms.py:26 msgid "Enabling Player Vs Player will allow players to damage other players." msgstr "" -#: plinth/modules/minetest/forms.py:32 +#: plinth/modules/minetest/forms.py:30 msgid "Enable damage" msgstr "" -#: plinth/modules/minetest/forms.py:33 +#: plinth/modules/minetest/forms.py:31 msgid "When disabled, players cannot die or receive damage of any kind." msgstr "" @@ -2533,19 +2519,19 @@ msgid "" "Kodi." msgstr "" -#: plinth/modules/minidlna/__init__.py:33 +#: plinth/modules/minidlna/__init__.py:44 msgid "Media streaming server" msgstr "" -#: plinth/modules/minidlna/__init__.py:47 +#: plinth/modules/minidlna/__init__.py:48 msgid "Simple Media Server" msgstr "" -#: plinth/modules/minidlna/forms.py:15 +#: plinth/modules/minidlna/forms.py:13 msgid "Media Files Directory" msgstr "" -#: plinth/modules/minidlna/forms.py:16 +#: plinth/modules/minidlna/forms.py:14 msgid "" "Directory that MiniDLNA Server will read for content. All sub-directories of " "this will be also scanned for media files. If you change the default ensure " @@ -2597,16 +2583,16 @@ msgid "" "On {box_name}, downloaded files can be found in /var/lib/mldonkey/ directory." msgstr "" -#: plinth/modules/mldonkey/__init__.py:40 +#: plinth/modules/mldonkey/__init__.py:50 msgid "Download files using eDonkey applications" msgstr "" -#: plinth/modules/mldonkey/__init__.py:54 +#: plinth/modules/mldonkey/__init__.py:53 #: plinth/modules/mldonkey/manifest.py:12 msgid "MLDonkey" msgstr "" -#: plinth/modules/mldonkey/__init__.py:56 +#: plinth/modules/mldonkey/__init__.py:55 msgid "Peer-to-peer File Sharing" msgstr "" @@ -2618,7 +2604,7 @@ msgstr "" msgid "AMLDonkey" msgstr "" -#: plinth/modules/monkeysphere/__init__.py:18 +#: plinth/modules/monkeysphere/__init__.py:19 msgid "" "With Monkeysphere, an OpenPGP key can be generated for each configured " "domain serving SSH. The OpenPGP public key can then be uploaded to the " @@ -2630,7 +2616,7 @@ msgid "" "for more details." msgstr "" -#: plinth/modules/monkeysphere/__init__.py:26 +#: plinth/modules/monkeysphere/__init__.py:27 msgid "" "Monkeysphere can also generate an OpenPGP key for each Secure Web Server " "(HTTPS) certificate installed on this machine. The OpenPGP public key can " @@ -2641,7 +2627,7 @@ msgid "" "Monkeysphere website." msgstr "" -#: plinth/modules/monkeysphere/__init__.py:50 +#: plinth/modules/monkeysphere/__init__.py:49 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:11 msgid "Monkeysphere" msgstr "" @@ -2690,15 +2676,15 @@ msgstr "" msgid "-" msgstr "" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:128 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:129 msgid "Import Key" msgstr "" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:137 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:139 msgid "Publish Key" msgstr "" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:146 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:149 msgid "Add Domains" msgstr "" @@ -2768,32 +2754,32 @@ msgstr "" msgid "Error occurred while publishing key." msgstr "" -#: plinth/modules/mumble/__init__.py:23 +#: plinth/modules/mumble/__init__.py:24 msgid "" "Mumble is an open source, low-latency, encrypted, high quality voice chat " "software." msgstr "" -#: plinth/modules/mumble/__init__.py:25 +#: plinth/modules/mumble/__init__.py:26 msgid "" "You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your " "desktop and Android devices are available." msgstr "" -#: plinth/modules/mumble/__init__.py:49 plinth/modules/mumble/manifest.py:12 +#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:12 msgid "Mumble" msgstr "" -#: plinth/modules/mumble/__init__.py:50 +#: plinth/modules/mumble/__init__.py:49 msgid "Voice Chat" msgstr "" -#: plinth/modules/mumble/forms.py:16 +#: plinth/modules/mumble/forms.py:14 msgid "Set SuperUser Password" msgstr "" -#: plinth/modules/mumble/forms.py:19 +#: plinth/modules/mumble/forms.py:17 msgid "" "Optional. Leave this field blank to keep the current password. SuperUser " "password can be used to manage permissions in Mumble." @@ -3076,7 +3062,7 @@ msgstr "" #: plinth/modules/networks/forms.py:297 #, python-brace-format -msgid "Choose how your {box_name} is connected to your network" +msgid "Specify how your {box_name} is connected to your network" msgstr "" #: plinth/modules/networks/forms.py:304 @@ -3295,7 +3281,7 @@ msgstr "" #: plinth/modules/networks/templates/connection_show.html:171 #: plinth/modules/networks/templates/connection_show.html:212 -#: plinth/modules/shadowsocks/forms.py:49 +#: plinth/modules/shadowsocks/forms.py:48 msgid "Method" msgstr "" @@ -3311,7 +3297,7 @@ msgstr "" #: plinth/modules/networks/templates/connection_show.html:201 #: plinth/modules/networks/templates/connection_show.html:240 -#: plinth/modules/storage/forms.py:141 +#: plinth/modules/storage/forms.py:139 msgid "Default" msgstr "" @@ -3750,6 +3736,11 @@ msgstr "" msgid "Setup failed." msgstr "" +#: plinth/modules/openvpn/views.py:135 plinth/modules/tor/views.py:136 +#: plinth/views.py:196 +msgid "Setting unchanged" +msgstr "" + #: plinth/modules/pagekite/__init__.py:27 #, python-brace-format msgid "" @@ -3806,75 +3797,75 @@ msgstr "" msgid "PageKite Domain" msgstr "" -#: plinth/modules/pagekite/forms.py:48 +#: plinth/modules/pagekite/forms.py:47 msgid "Server domain" msgstr "" -#: plinth/modules/pagekite/forms.py:50 +#: plinth/modules/pagekite/forms.py:49 msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " "pagekite.net server." msgstr "" -#: plinth/modules/pagekite/forms.py:53 plinth/modules/shadowsocks/forms.py:40 +#: plinth/modules/pagekite/forms.py:52 plinth/modules/shadowsocks/forms.py:39 msgid "Server port" msgstr "" -#: plinth/modules/pagekite/forms.py:54 +#: plinth/modules/pagekite/forms.py:53 msgid "Port of your pagekite server (default: 80)" msgstr "" -#: plinth/modules/pagekite/forms.py:56 +#: plinth/modules/pagekite/forms.py:55 msgid "Kite name" msgstr "" -#: plinth/modules/pagekite/forms.py:57 +#: plinth/modules/pagekite/forms.py:56 msgid "Example: mybox.pagekite.me" msgstr "" -#: plinth/modules/pagekite/forms.py:59 +#: plinth/modules/pagekite/forms.py:58 msgid "Invalid kite name" msgstr "" -#: plinth/modules/pagekite/forms.py:63 +#: plinth/modules/pagekite/forms.py:62 msgid "Kite secret" msgstr "" -#: plinth/modules/pagekite/forms.py:64 +#: plinth/modules/pagekite/forms.py:63 msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." msgstr "" -#: plinth/modules/pagekite/forms.py:101 +#: plinth/modules/pagekite/forms.py:100 msgid "protocol" msgstr "" -#: plinth/modules/pagekite/forms.py:104 +#: plinth/modules/pagekite/forms.py:103 msgid "external (frontend) port" msgstr "" -#: plinth/modules/pagekite/forms.py:107 +#: plinth/modules/pagekite/forms.py:106 msgid "internal (freedombox) port" msgstr "" -#: plinth/modules/pagekite/forms.py:108 +#: plinth/modules/pagekite/forms.py:107 msgid "Enable Subdomains" msgstr "" -#: plinth/modules/pagekite/forms.py:142 +#: plinth/modules/pagekite/forms.py:141 msgid "Deleted custom service" msgstr "" -#: plinth/modules/pagekite/forms.py:175 +#: plinth/modules/pagekite/forms.py:174 msgid "This service is already available as a standard service." msgstr "" -#: plinth/modules/pagekite/forms.py:183 +#: plinth/modules/pagekite/forms.py:182 msgid "Added custom service" msgstr "" -#: plinth/modules/pagekite/forms.py:186 +#: plinth/modules/pagekite/forms.py:185 msgid "This service already exists" msgstr "" @@ -3992,14 +3983,14 @@ msgstr "" msgid "Shut Down Now" msgstr "" -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 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:33 +#: plinth/modules/privoxy/__init__.py:34 #, python-brace-format msgid "" "You can use Privoxy by modifying your browser proxy settings to your " @@ -4009,20 +4000,20 @@ msgid "" "\">http://p.p." msgstr "" -#: plinth/modules/privoxy/__init__.py:56 +#: plinth/modules/privoxy/__init__.py:55 msgid "Privoxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:57 +#: plinth/modules/privoxy/__init__.py:56 msgid "Web Proxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:119 #, python-brace-format msgid "Access {url} with proxy {proxy} on tcp{kind}" msgstr "" -#: plinth/modules/quassel/__init__.py:32 +#: plinth/modules/quassel/__init__.py:33 #, python-brace-format msgid "" "Quassel is an IRC application that is split into two parts, a \"core\" and a " @@ -4033,7 +4024,7 @@ msgid "" "connect and disconnect from it." msgstr "" -#: plinth/modules/quassel/__init__.py:39 +#: plinth/modules/quassel/__init__.py:40 msgid "" "You can connect to your Quassel core on the default Quassel port 4242. " "Clients to connect to Quassel from your mobile devices are available." msgstr "" -#: plinth/modules/quassel/__init__.py:62 plinth/modules/quassel/manifest.py:10 +#: plinth/modules/quassel/__init__.py:61 plinth/modules/quassel/manifest.py:10 msgid "Quassel" msgstr "" -#: plinth/modules/quassel/__init__.py:63 +#: plinth/modules/quassel/__init__.py:62 msgid "IRC Client" msgstr "" -#: plinth/modules/quassel/forms.py:23 +#: plinth/modules/quassel/forms.py:22 msgid "TLS domain" msgstr "" -#: plinth/modules/quassel/forms.py:25 +#: plinth/modules/quassel/forms.py:24 msgid "" "Select a domain to use TLS with. If the list is empty, please configure at " "least one domain with certificates." @@ -4063,7 +4054,7 @@ msgstr "" msgid "Quasseldroid" msgstr "" -#: plinth/modules/radicale/__init__.py:32 +#: plinth/modules/radicale/__init__.py:33 #, python-brace-format msgid "" "Radicale is a CalDAV and CardDAV server. It allows synchronization and " @@ -4072,34 +4063,34 @@ msgid "" "can be accessed by any user with a {box_name} login." msgstr "" -#: plinth/modules/radicale/__init__.py:37 +#: plinth/modules/radicale/__init__.py:38 msgid "" "Radicale provides a basic web interface, which only supports creating new " "calendars and addressbooks. It does not support adding events or contacts, " "which must be done using a separate client." msgstr "" -#: plinth/modules/radicale/__init__.py:62 +#: plinth/modules/radicale/__init__.py:61 #: plinth/modules/radicale/manifest.py:75 msgid "Radicale" msgstr "" -#: plinth/modules/radicale/__init__.py:63 +#: plinth/modules/radicale/__init__.py:62 msgid "Calendar and Addressbook" msgstr "" -#: plinth/modules/radicale/forms.py:15 +#: plinth/modules/radicale/forms.py:14 msgid "Only the owner of a calendar/addressbook can view or make changes." msgstr "" -#: plinth/modules/radicale/forms.py:19 +#: plinth/modules/radicale/forms.py:18 #, python-brace-format msgid "" "Any user with a {box_name} login can view any calendar/addressbook, but only " "the owner can make changes." msgstr "" -#: plinth/modules/radicale/forms.py:24 +#: plinth/modules/radicale/forms.py:23 #, python-brace-format msgid "" "Any user with a {box_name} login can view or make changes to any calendar/" @@ -4215,11 +4206,11 @@ msgid "" "private space." msgstr "" -#: plinth/modules/samba/__init__.py:47 +#: plinth/modules/samba/__init__.py:59 msgid "Access to the private shares" msgstr "" -#: plinth/modules/samba/__init__.py:61 +#: plinth/modules/samba/__init__.py:62 msgid "Samba" msgstr "" @@ -4283,11 +4274,11 @@ msgstr "" msgid "Action" msgstr "" -#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:149 +#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:147 msgid "Open Share" msgstr "" -#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:147 +#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:145 msgid "Group Share" msgstr "" @@ -4327,43 +4318,43 @@ msgid "" "stores no cookies by default." msgstr "" -#: plinth/modules/searx/__init__.py:31 +#: plinth/modules/searx/__init__.py:45 msgid "Search the web" msgstr "" -#: plinth/modules/searx/__init__.py:47 plinth/modules/searx/manifest.py:9 +#: plinth/modules/searx/__init__.py:48 plinth/modules/searx/manifest.py:9 msgid "Searx" msgstr "" -#: plinth/modules/searx/__init__.py:48 +#: plinth/modules/searx/__init__.py:49 msgid "Web Search" msgstr "" -#: plinth/modules/searx/forms.py:15 +#: plinth/modules/searx/forms.py:13 msgid "Safe Search" msgstr "" -#: plinth/modules/searx/forms.py:16 +#: plinth/modules/searx/forms.py:14 msgid "Select the default family filter to apply to your search results." msgstr "" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "None" msgstr "" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "Moderate" msgstr "" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "Strict" msgstr "" -#: plinth/modules/searx/forms.py:20 +#: plinth/modules/searx/forms.py:18 msgid "Allow Public Access" msgstr "" -#: plinth/modules/searx/forms.py:21 +#: plinth/modules/searx/forms.py:19 msgid "Allow this application to be used by anyone who can reach it." msgstr "" @@ -4526,28 +4517,28 @@ msgstr "" msgid "Socks5 Proxy" msgstr "" +#: plinth/modules/shadowsocks/forms.py:12 #: plinth/modules/shadowsocks/forms.py:13 -#: plinth/modules/shadowsocks/forms.py:14 msgid "Recommended" msgstr "" -#: plinth/modules/shadowsocks/forms.py:37 +#: plinth/modules/shadowsocks/forms.py:36 msgid "Server" msgstr "" -#: plinth/modules/shadowsocks/forms.py:38 +#: plinth/modules/shadowsocks/forms.py:37 msgid "Server hostname or IP address" msgstr "" -#: plinth/modules/shadowsocks/forms.py:42 +#: plinth/modules/shadowsocks/forms.py:41 msgid "Server port number" msgstr "" -#: plinth/modules/shadowsocks/forms.py:45 +#: plinth/modules/shadowsocks/forms.py:44 msgid "Password used to encrypt data. Must match server password." msgstr "" -#: plinth/modules/shadowsocks/forms.py:50 +#: plinth/modules/shadowsocks/forms.py:49 msgid "Encryption method. Must match setting on server." msgstr "" @@ -4588,11 +4579,11 @@ msgstr "" msgid "Make files in this folder available to anyone with the link." msgstr "" -#: plinth/modules/sharing/forms.py:33 +#: plinth/modules/sharing/forms.py:34 msgid "User groups that can read the files in the share" msgstr "" -#: plinth/modules/sharing/forms.py:35 +#: plinth/modules/sharing/forms.py:36 msgid "" "Users of the selected user groups will be able to read the files in the " "share." @@ -4863,11 +4854,11 @@ msgstr "" msgid "Secure Shell (SSH) Server" msgstr "" -#: plinth/modules/ssh/forms.py:15 +#: plinth/modules/ssh/forms.py:13 msgid "Disable password authentication" msgstr "" -#: plinth/modules/ssh/forms.py:16 +#: plinth/modules/ssh/forms.py:14 msgid "" "Improves security by preventing password guessing. Ensure that you have " "setup SSH keys in your administrator user account before enabling this " @@ -4916,129 +4907,129 @@ msgid "" "media, expand the root partition etc." msgstr "" -#: plinth/modules/storage/__init__.py:52 plinth/modules/storage/__init__.py:318 +#: plinth/modules/storage/__init__.py:54 plinth/modules/storage/__init__.py:320 msgid "Storage" 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 "" -#: plinth/modules/storage/__init__.py:313 +#: plinth/modules/storage/__init__.py:315 #, no-python-format, python-brace-format msgid "Low space on system partition: {percent_used}% used, {free_space} free." msgstr "" -#: plinth/modules/storage/__init__.py:315 +#: plinth/modules/storage/__init__.py:317 msgid "Low disk space" msgstr "" -#: plinth/modules/storage/forms.py:64 +#: plinth/modules/storage/forms.py:63 msgid "Invalid directory name." msgstr "" -#: plinth/modules/storage/forms.py:82 +#: plinth/modules/storage/forms.py:80 msgid "Directory does not exist." msgstr "" -#: plinth/modules/storage/forms.py:84 +#: plinth/modules/storage/forms.py:83 msgid "Path is not a directory." msgstr "" -#: plinth/modules/storage/forms.py:87 +#: plinth/modules/storage/forms.py:86 msgid "Directory is not readable by the user." msgstr "" -#: plinth/modules/storage/forms.py:90 +#: plinth/modules/storage/forms.py:89 msgid "Directory is not writable by the user." msgstr "" -#: plinth/modules/storage/forms.py:95 +#: plinth/modules/storage/forms.py:94 msgid "Directory" msgstr "" -#: plinth/modules/storage/forms.py:98 +#: plinth/modules/storage/forms.py:96 msgid "Subdirectory (optional)" msgstr "" -#: plinth/modules/storage/forms.py:145 +#: plinth/modules/storage/forms.py:143 msgid "Share" msgstr "" -#: plinth/modules/storage/forms.py:153 +#: plinth/modules/storage/forms.py:151 msgid "Other directory (specify below)" msgstr "" @@ -5119,19 +5110,20 @@ msgid "" "synchronize more often. {box_name} runs a single instance of Syncthing that " "may be used by multiple users. Each user's set of devices may be " "synchronized with a distinct set of folders. The web interface on " -"{box_name} is only available for users belonging to the \"admin\" group." +"{box_name} is only available for users belonging to the \"admin\" or " +"\"syncthing\" group." msgstr "" -#: plinth/modules/syncthing/__init__.py:40 +#: plinth/modules/syncthing/__init__.py:53 msgid "Administer Syncthing application" msgstr "" -#: plinth/modules/syncthing/__init__.py:54 +#: plinth/modules/syncthing/__init__.py:56 #: plinth/modules/syncthing/manifest.py:13 msgid "Syncthing" msgstr "" -#: plinth/modules/syncthing/__init__.py:55 +#: plinth/modules/syncthing/__init__.py:57 msgid "File Synchronization" msgstr "" @@ -5168,33 +5160,33 @@ msgid "" "%(domain_name)s:5678\">https://%(domain_name)s:5678." msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:39 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:29 msgid "Local introducer" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:59 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:76 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:33 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:49 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:66 msgid "Pet Name" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:56 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:46 msgid "Add new introducer" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:67 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:57 msgid "Add" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:72 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:62 msgid "Connected introducers" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:89 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:79 msgid "Remove" msgstr "" -#: plinth/modules/tor/__init__.py:33 +#: plinth/modules/tor/__init__.py:34 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -5203,40 +5195,40 @@ msgid "" "\">Tor Browser." msgstr "" -#: plinth/modules/tor/__init__.py:55 +#: plinth/modules/tor/__init__.py:54 msgid "Tor" msgstr "" -#: plinth/modules/tor/__init__.py:66 +#: plinth/modules/tor/__init__.py:65 msgid "Tor Onion Service" msgstr "" -#: plinth/modules/tor/__init__.py:70 +#: plinth/modules/tor/__init__.py:69 msgid "Tor Socks Proxy" msgstr "" -#: plinth/modules/tor/__init__.py:74 +#: plinth/modules/tor/__init__.py:73 msgid "Tor Bridge Relay" msgstr "" -#: plinth/modules/tor/__init__.py:95 +#: plinth/modules/tor/__init__.py:98 msgid "Tor relay port available" msgstr "" -#: plinth/modules/tor/__init__.py:105 +#: plinth/modules/tor/__init__.py:108 msgid "Obfs3 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:115 +#: plinth/modules/tor/__init__.py:118 msgid "Obfs4 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:208 +#: plinth/modules/tor/__init__.py:211 #, python-brace-format msgid "Access URL {url} on tcp{kind} via Tor" msgstr "" -#: plinth/modules/tor/__init__.py:219 +#: plinth/modules/tor/__init__.py:222 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "" @@ -5362,13 +5354,13 @@ msgstr "" msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050." msgstr "" -#: plinth/modules/transmission/__init__.py:27 +#: plinth/modules/transmission/__init__.py:28 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:48 +#: plinth/modules/transmission/__init__.py:51 #: plinth/modules/transmission/manifest.py:9 msgid "Transmission" msgstr "" @@ -5394,15 +5386,15 @@ msgid "" "connecting." msgstr "" -#: plinth/modules/ttrss/__init__.py:42 +#: plinth/modules/ttrss/__init__.py:54 msgid "Read and subscribe to news feeds" msgstr "" -#: plinth/modules/ttrss/__init__.py:56 plinth/modules/ttrss/manifest.py:19 +#: plinth/modules/ttrss/__init__.py:57 plinth/modules/ttrss/manifest.py:19 msgid "Tiny Tiny RSS" msgstr "" -#: plinth/modules/ttrss/__init__.py:57 +#: plinth/modules/ttrss/__init__.py:58 msgid "News Feed Reader" msgstr "" @@ -5414,11 +5406,11 @@ msgstr "" msgid "Check for and apply the latest software and security updates." msgstr "" -#: plinth/modules/upgrades/__init__.py:38 plinth/templates/setup.html:74 +#: plinth/modules/upgrades/__init__.py:40 plinth/templates/setup.html:74 msgid "Update" msgstr "" -#: plinth/modules/upgrades/__init__.py:76 +#: plinth/modules/upgrades/__init__.py:78 #, fuzzy #| msgid "FreedomBox" msgid "FreedomBox Updated" @@ -5470,43 +5462,39 @@ msgstr "" #: plinth/modules/upgrades/templates/upgrades_configure.html:11 #: plinth/modules/upgrades/templates/upgrades_configure.html:12 -#: plinth/modules/upgrades/views.py:88 +#: plinth/modules/upgrades/views.py:85 msgid "Manual update" msgstr "" -#: plinth/modules/upgrades/views.py:47 +#: plinth/modules/upgrades/views.py:46 #, python-brace-format msgid "Error when configuring unattended-upgrades: {error}" msgstr "" -#: plinth/modules/upgrades/views.py:51 +#: plinth/modules/upgrades/views.py:50 msgid "Automatic upgrades enabled" msgstr "" -#: plinth/modules/upgrades/views.py:54 +#: plinth/modules/upgrades/views.py:53 msgid "Automatic upgrades disabled" msgstr "" -#: plinth/modules/upgrades/views.py:56 -msgid "Settings unchanged" -msgstr "" - -#: plinth/modules/upgrades/views.py:82 +#: plinth/modules/upgrades/views.py:79 msgid "Upgrade process started." msgstr "" -#: plinth/modules/upgrades/views.py:85 +#: plinth/modules/upgrades/views.py:82 msgid "Starting upgrade failed." msgstr "" -#: plinth/modules/users/__init__.py:37 +#: plinth/modules/users/__init__.py:39 msgid "" "Create and managed user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " "account to be part of a group to authorize the user to access the app." msgstr "" -#: plinth/modules/users/__init__.py:42 +#: plinth/modules/users/__init__.py:44 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -5514,102 +5502,101 @@ msgid "" "group may alter apps or system settings." msgstr "" -#: plinth/modules/users/__init__.py:64 +#: plinth/modules/users/__init__.py:65 msgid "Users and Groups" msgstr "" -#: plinth/modules/users/__init__.py:115 +#: plinth/modules/users/__init__.py:78 +msgid "Access to all services and system settings" +msgstr "" + +#: plinth/modules/users/__init__.py:122 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "" -#: plinth/modules/users/forms.py:28 -msgid "Access to all services and system settings" -msgstr "" - -#: plinth/modules/users/forms.py:44 +#: plinth/modules/users/forms.py:36 msgid "Username is taken or is reserved." msgstr "" -#: plinth/modules/users/forms.py:72 +#: plinth/modules/users/forms.py:63 msgid "Enter a valid username." msgstr "" -#: plinth/modules/users/forms.py:78 +#: plinth/modules/users/forms.py:69 msgid "" "Required. 150 characters or fewer. English letters, digits and @/./-/_ only." msgstr "" -#: plinth/modules/users/forms.py:91 plinth/modules/users/forms.py:207 +#: plinth/modules/users/forms.py:83 plinth/modules/users/forms.py:196 msgid "Permissions" msgstr "" -#: plinth/modules/users/forms.py:94 +#: plinth/modules/users/forms.py:85 msgid "" -"Select which services should be available to the new user. The user will be " -"able to log in to services that support single sign-on through LDAP, if they " -"are in the appropriate group.

Users in the admin group will be " -"able to log in to all services. They can also log in to the system through " -"SSH and have administrative privileges (sudo)." +"user. The user will be able to log in to services that support single sign-" +"on through LDAP, if they are in the appropriate group.

Users in " +"the admin group will be able to log in to all services. They can also log in " +"to the system through SSH and have administrative privileges (sudo)." msgstr "" -#: plinth/modules/users/forms.py:133 plinth/modules/users/forms.py:357 +#: plinth/modules/users/forms.py:122 plinth/modules/users/forms.py:345 msgid "Creating LDAP user failed." msgstr "" -#: plinth/modules/users/forms.py:144 +#: plinth/modules/users/forms.py:133 #, python-brace-format msgid "Failed to add new user to {group} group." msgstr "" -#: plinth/modules/users/forms.py:158 +#: plinth/modules/users/forms.py:147 msgid "Authorized SSH Keys" msgstr "" -#: plinth/modules/users/forms.py:160 +#: plinth/modules/users/forms.py:149 msgid "" "Setting an SSH public key will allow this user to securely log in to the " "system without using a password. You may enter multiple keys, one on each " "line. Blank lines and lines starting with # will be ignored." msgstr "" -#: plinth/modules/users/forms.py:244 +#: plinth/modules/users/forms.py:233 msgid "Renaming LDAP user failed." msgstr "" -#: plinth/modules/users/forms.py:256 +#: plinth/modules/users/forms.py:245 msgid "Failed to remove user from group." msgstr "" -#: plinth/modules/users/forms.py:267 +#: plinth/modules/users/forms.py:256 msgid "Failed to add user to group." msgstr "" -#: plinth/modules/users/forms.py:276 +#: plinth/modules/users/forms.py:265 msgid "Unable to set SSH keys." msgstr "" -#: plinth/modules/users/forms.py:291 +#: plinth/modules/users/forms.py:280 msgid "Failed to change user status." msgstr "" -#: plinth/modules/users/forms.py:299 +#: plinth/modules/users/forms.py:288 msgid "Cannot delete the only administrator in the system." msgstr "" -#: plinth/modules/users/forms.py:331 +#: plinth/modules/users/forms.py:319 msgid "Changing LDAP user password failed." msgstr "" -#: plinth/modules/users/forms.py:366 +#: plinth/modules/users/forms.py:354 msgid "Failed to add new user to admin group." msgstr "" -#: plinth/modules/users/forms.py:383 +#: plinth/modules/users/forms.py:371 msgid "Failed to restrict console access." msgstr "" -#: plinth/modules/users/forms.py:395 +#: plinth/modules/users/forms.py:383 msgid "User account created, you are now logged in" msgstr "" @@ -6341,14 +6328,9 @@ msgstr "" msgid "%(percentage)s%% complete" msgstr "" -#: plinth/views.py:184 -msgid "Application enabled" -msgstr "" - -#: plinth/views.py:187 -msgid "Application disabled" -msgstr "" - #: plinth/web_framework.py:107 msgid "Gujarati" msgstr "" + +#~ msgid "Enable application" +#~ msgstr "Activar o aplicativo" diff --git a/plinth/locale/gu/LC_MESSAGES/django.po b/plinth/locale/gu/LC_MESSAGES/django.po index 016bbec69..6d84a58b9 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: 2020-03-23 18:54-0400\n" +"POT-Creation-Date: 2020-04-06 19:59-0400\n" "PO-Revision-Date: 2018-02-05 18:37+0000\n" "Last-Translator: drashti kaushik \n" "Language-Team: Gujarati થી ઉપલબ્ધ થશે. તેનો પહેલાથી નક્કી પાસવર્ડ 'deluge' છે, પરંતુ આ સેવા સક્રિય " "કાર્ય બાદ તુરંત જ આપે લોગ ઇન કરી ને તેને બદલી નાખવો જોઈએ." -#: plinth/modules/deluge/__init__.py:30 -#: plinth/modules/transmission/__init__.py:34 +#: plinth/modules/deluge/__init__.py:46 +#: plinth/modules/transmission/__init__.py:48 msgid "Download files using BitTorrent applications" msgstr "BitTorrent કાર્યક્રમોનો ઉપયોગ કરીને ફાઇલો ડાઉનલોડ કરો" -#: plinth/modules/deluge/__init__.py:46 plinth/modules/deluge/manifest.py:9 +#: plinth/modules/deluge/__init__.py:50 plinth/modules/deluge/manifest.py:9 msgid "Deluge" msgstr "અનરાધાર" -#: plinth/modules/deluge/__init__.py:47 -#: plinth/modules/transmission/__init__.py:50 +#: plinth/modules/deluge/__init__.py:51 +#: plinth/modules/transmission/__init__.py:53 msgid "BitTorrent Web Client" msgstr "બીટ ટોરેન્ટ વેબ ક્લાયન્ટ" -#: plinth/modules/deluge/forms.py:20 plinth/modules/transmission/forms.py:20 +#: plinth/modules/deluge/forms.py:20 plinth/modules/transmission/forms.py:21 msgid "Download directory" msgstr "" @@ -1084,7 +1081,7 @@ msgstr "પ્રવાસી*" msgid "Federated Social Network" msgstr "સંઘબદ્ધિત સામાજીક નેટવર્ક" -#: plinth/modules/diaspora/forms.py:15 +#: plinth/modules/diaspora/forms.py:13 msgid "Enable new user registrations" msgstr "નવા વપરાશકર્તા રજીસ્ટ્રેશનને સક્ષમ કરો" @@ -1116,32 +1113,23 @@ msgstr "" #: plinth/modules/diaspora/templates/diaspora-pre-setup.html:43 #: plinth/modules/dynamicdns/templates/dynamicdns_configure.html:25 -#: plinth/modules/ejabberd/templates/ejabberd.html:43 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:18 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:47 #: plinth/modules/snapshot/templates/snapshot.html:15 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:35 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:43 -#: plinth/templates/app.html:52 +#: plinth/templates/app.html:54 msgid "Update setup" msgstr "સેટઅપ અપડેટ કરો" -#: plinth/modules/diaspora/views.py:76 plinth/modules/ejabberd/views.py:46 -#: plinth/modules/matrixsynapse/views.py:85 -#: plinth/modules/mediawiki/views.py:58 plinth/modules/openvpn/views.py:135 -#: plinth/modules/tor/views.py:136 plinth/views.py:180 -msgid "Setting unchanged" -msgstr "સેટિંગ યથાવત" - -#: plinth/modules/diaspora/views.py:80 +#: plinth/modules/diaspora/views.py:74 msgid "User registrations enabled" msgstr "વપરાશકર્તા રજીસ્ટ્રેશન સક્ષમ" -#: plinth/modules/diaspora/views.py:84 +#: plinth/modules/diaspora/views.py:78 msgid "User registrations disabled" msgstr "વપરાશકર્તા રજીસ્ટ્રેશન અક્ષમ છે" -#: plinth/modules/dynamicdns/__init__.py:27 +#: plinth/modules/dynamicdns/__init__.py:28 #, fuzzy, python-brace-format msgid "" "If your Internet provider changes your IP address periodically (i.e. every " @@ -1152,7 +1140,7 @@ msgstr "" "અન્ય લોકો માટે તમને ઇન્ટરનેટ પર શોધવા માટે મુશ્કેલ હોઈ શકે છે. આ અન્ય લોકો જે આ દ્વારા " "પ્રદાન કરવામાં આવે છે તે સેવાઓ શોધવાનું અટકાવશે {box_name}" -#: plinth/modules/dynamicdns/__init__.py:31 +#: plinth/modules/dynamicdns/__init__.py:32 msgid "" "The solution is to assign a DNS name to your IP address and update the DNS " "name every time your IP is changed by your Internet provider. Dynamic DNS " @@ -1169,11 +1157,11 @@ msgstr "" "પર સોંપી દેશે, અને જો ઇન્ટરનેટમાંથી કોઈ વ્યક્તિ તમારા DNS નામ માટે પૂછે, તેઓને તમારા " "વર્તમાન IP સરનામા સાથે પ્રતિસાદ મળશે." -#: plinth/modules/dynamicdns/__init__.py:56 +#: plinth/modules/dynamicdns/__init__.py:55 msgid "Dynamic DNS Client" msgstr "ડાયનેમિક DNS ક્લાયન્ટ" -#: plinth/modules/dynamicdns/__init__.py:66 +#: plinth/modules/dynamicdns/__init__.py:65 #, fuzzy #| msgid "Domain Name" msgid "Dynamic Domain Name" @@ -1276,7 +1264,7 @@ msgid "Username" msgstr "વપરાશકર્તા નામ" #: plinth/modules/dynamicdns/forms.py:104 plinth/modules/networks/forms.py:200 -#: plinth/modules/shadowsocks/forms.py:45 +#: plinth/modules/shadowsocks/forms.py:44 msgid "Password" msgstr "પાસવર્ડ" @@ -1369,7 +1357,7 @@ msgstr "" msgid "Last update" msgstr "છેલ્લો સુધારો" -#: plinth/modules/dynamicdns/views.py:26 plinth/modules/help/__init__.py:49 +#: plinth/modules/dynamicdns/views.py:26 plinth/modules/help/__init__.py:51 #: plinth/templates/help-menu.html:46 plinth/templates/help-menu.html:47 msgid "About" msgstr "વિશે" @@ -1396,7 +1384,7 @@ msgstr "ડાયનેમિક DNS રૂપરેખાંકિત કરો msgid "Dynamic DNS Status" msgstr "ડાયનેમિક DNS સ્થિતિ" -#: plinth/modules/ejabberd/__init__.py:36 +#: plinth/modules/ejabberd/__init__.py:37 msgid "" "XMPP is an open and standardized communication protocol. Here you can run " "and configure your XMPP server, called ejabberd." @@ -1404,7 +1392,7 @@ msgstr "" "XMPP એક ખુલ્લું અને પ્રમાણિત સંચાર પ્રોટોકોલ છે. અહીં તમે તમારા XMPP સર્વરને ચલાવો અને " "ગોઠવી શકો છો, જેને ઈઝબેબર્ડે કહેવાય છે." -#: plinth/modules/ejabberd/__init__.py:39 +#: plinth/modules/ejabberd/__init__.py:40 #, fuzzy, python-brace-format #| msgid "" #| "To actually communicate, you can use the XMPP ક્લાયન્ટ. જ્યારે સક્ષમ કરેલ હોય, ઈઝબેબર્ડ ઍક્સેસ કરી શકાય છે " "કોઇપણ દ્વારા વપરાશકર્તાઓ સાથે{box_name}પ્રવેશ." -#: plinth/modules/ejabberd/__init__.py:70 +#: plinth/modules/ejabberd/__init__.py:69 msgid "ejabberd" msgstr "ઈઝબેબર્ડ" -#: plinth/modules/ejabberd/__init__.py:71 +#: plinth/modules/ejabberd/__init__.py:70 #: plinth/modules/matrixsynapse/__init__.py:68 msgid "Chat Server" msgstr "ચેટ સર્વર" -#: plinth/modules/ejabberd/forms.py:17 +#: plinth/modules/ejabberd/forms.py:16 msgid "Enable Message Archive Management" msgstr "સંદેશ આર્કાઇવ સંચાલન સક્ષમ કરો" -#: plinth/modules/ejabberd/forms.py:19 +#: plinth/modules/ejabberd/forms.py:18 #, python-brace-format msgid "" "If enabled, your {box_name} will store chat message histories. This allows " @@ -1506,19 +1494,11 @@ msgstr "" "દેખાશે username@%(domainname)s. તમે સિસ્ટમ પર તમારા ડોમેન સેટ કરી શકો છો રૂપરેખાંકિત કરો પાનું." -#: plinth/modules/ejabberd/templates/ejabberd.html:35 -#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 -#: plinth/modules/snapshot/templates/snapshot.html:12 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:27 -#: plinth/templates/app.html:45 -msgid "Configuration" -msgstr "રૂપરેખાંકન" - -#: plinth/modules/ejabberd/views.py:58 +#: plinth/modules/ejabberd/views.py:45 msgid "Message Archive Management enabled" msgstr "સંદેશ આર્કાઇવ મેનેજમેંટ સક્ષમ કરો" -#: plinth/modules/ejabberd/views.py:62 +#: plinth/modules/ejabberd/views.py:49 msgid "Message Archive Management disabled" msgstr "સંદેશ આર્કાઇવ સંચાલન અક્ષમ કરો" @@ -1533,7 +1513,7 @@ msgstr "" "છે {box_name}. ફાયરવૉલ સક્ષમ અને યોગ્ય રીતે રૂપરેખાંકિત રાખીને ઇન્ટરનેટથી સુરક્ષાના ભયને " "ઘટાડે છે." -#: plinth/modules/firewall/__init__.py:63 +#: plinth/modules/firewall/__init__.py:65 msgid "Firewall" msgstr "ફાયરવોલ" @@ -1668,7 +1648,7 @@ msgid "" "gittutorial\">Git tutorial." msgstr "" -#: plinth/modules/gitweb/__init__.py:39 +#: plinth/modules/gitweb/__init__.py:51 msgid "Read-write access to Git repositories" msgstr "" @@ -1815,31 +1795,31 @@ msgstr "" msgid "Could not delete {name}: {error}" msgstr "" -#: plinth/modules/help/__init__.py:30 +#: plinth/modules/help/__init__.py:32 msgid "Documentation" msgstr "દસ્તાવેજીકરણ" -#: plinth/modules/help/__init__.py:33 plinth/modules/networks/forms.py:47 +#: plinth/modules/help/__init__.py:35 plinth/modules/networks/forms.py:47 #: plinth/modules/networks/forms.py:77 plinth/templates/help-menu.html:20 #: plinth/templates/help-menu.html:21 plinth/templates/index.html:128 msgid "Manual" msgstr "માર્ગદર્શિકા" -#: plinth/modules/help/__init__.py:37 +#: plinth/modules/help/__init__.py:39 #: plinth/modules/help/templates/help_support.html:9 #: plinth/modules/help/views.py:43 plinth/templates/help-menu.html:27 #: plinth/templates/help-menu.html:28 msgid "Get Support" msgstr "" -#: plinth/modules/help/__init__.py:41 +#: plinth/modules/help/__init__.py:43 #: plinth/modules/help/templates/help_feedback.html:9 #: plinth/modules/help/views.py:37 plinth/templates/help-menu.html:33 #: plinth/templates/help-menu.html:34 msgid "Submit Feedback" msgstr "" -#: plinth/modules/help/__init__.py:45 +#: plinth/modules/help/__init__.py:47 #: plinth/modules/help/templates/help_contribute.html:9 #: plinth/modules/help/views.py:31 plinth/templates/help-menu.html:39 #: plinth/templates/help-menu.html:40 @@ -1948,7 +1928,7 @@ msgstr "" #: plinth/modules/help/templates/help_contribute.html:42 #: plinth/modules/power/templates/power_restart.html:27 #: plinth/modules/power/templates/power_shutdown.html:26 -#: plinth/templates/app-header.html:51 +#: plinth/templates/app-header.html:53 msgid "Learn more..." msgstr "" @@ -2094,21 +2074,21 @@ msgid "" "configuration process." msgstr "" -#: plinth/modules/i2p/__init__.py:38 +#: plinth/modules/i2p/__init__.py:62 #, fuzzy #| msgid "Enable application" msgid "Manage I2P application" msgstr "એપ્લીકેશનને પ્રસ્થાપિત કરો" -#: plinth/modules/i2p/__init__.py:64 plinth/modules/i2p/manifest.py:16 +#: plinth/modules/i2p/__init__.py:65 plinth/modules/i2p/manifest.py:16 msgid "I2P" msgstr "" -#: plinth/modules/i2p/__init__.py:65 plinth/modules/tor/__init__.py:56 +#: plinth/modules/i2p/__init__.py:66 plinth/modules/tor/__init__.py:55 msgid "Anonymity Network" msgstr "" -#: plinth/modules/i2p/__init__.py:87 +#: plinth/modules/i2p/__init__.py:88 msgid "I2P Proxy" msgstr "" @@ -2161,18 +2141,18 @@ msgid "" "Configuration you can change these permissions or add new users." msgstr "" -#: plinth/modules/ikiwiki/__init__.py:39 -msgid "View and edit wiki applications" -msgstr "" - -#: plinth/modules/ikiwiki/__init__.py:53 plinth/modules/ikiwiki/manifest.py:9 +#: plinth/modules/ikiwiki/__init__.py:52 plinth/modules/ikiwiki/manifest.py:9 msgid "ikiwiki" msgstr "" -#: plinth/modules/ikiwiki/__init__.py:54 +#: plinth/modules/ikiwiki/__init__.py:53 msgid "Wiki and Blog" msgstr "" +#: plinth/modules/ikiwiki/__init__.py:73 +msgid "View and edit wiki applications" +msgstr "" + #: plinth/modules/ikiwiki/forms.py:17 msgid "Admin Account Name" msgstr "" @@ -2216,32 +2196,32 @@ msgid "" "history. Delete this wiki or blog permanently?" msgstr "" -#: plinth/modules/ikiwiki/views.py:72 +#: plinth/modules/ikiwiki/views.py:70 #, python-brace-format msgid "Created wiki {name}." msgstr "" -#: plinth/modules/ikiwiki/views.py:75 +#: plinth/modules/ikiwiki/views.py:73 #, python-brace-format msgid "Could not create wiki: {error}" msgstr "" -#: plinth/modules/ikiwiki/views.py:85 +#: plinth/modules/ikiwiki/views.py:83 #, python-brace-format msgid "Created blog {name}." msgstr "" -#: plinth/modules/ikiwiki/views.py:88 +#: plinth/modules/ikiwiki/views.py:86 #, python-brace-format msgid "Could not create blog: {error}" msgstr "" -#: plinth/modules/ikiwiki/views.py:103 +#: plinth/modules/ikiwiki/views.py:101 #, python-brace-format msgid "{title} deleted." msgstr "" -#: plinth/modules/ikiwiki/views.py:107 +#: plinth/modules/ikiwiki/views.py:105 #, python-brace-format msgid "Could not delete {title}: {error}" msgstr "" @@ -2281,17 +2261,17 @@ msgid "" "domain name." msgstr "" -#: plinth/modules/jsxc/__init__.py:22 +#: plinth/modules/jsxc/__init__.py:23 msgid "" "JSXC is a web client for XMPP. Typically it is used with an XMPP server " "running locally." msgstr "" -#: plinth/modules/jsxc/__init__.py:40 plinth/modules/jsxc/manifest.py:10 +#: plinth/modules/jsxc/__init__.py:43 plinth/modules/jsxc/manifest.py:10 msgid "JSXC" msgstr "" -#: plinth/modules/jsxc/__init__.py:41 +#: plinth/modules/jsxc/__init__.py:44 msgid "Chat Client" msgstr "" @@ -2454,13 +2434,13 @@ msgstr "" msgid "Matrix Synapse" msgstr "" -#: plinth/modules/matrixsynapse/forms.py:14 +#: plinth/modules/matrixsynapse/forms.py:12 #, fuzzy #| msgid "Enable application" msgid "Enable Public Registration" msgstr "એપ્લીકેશનને પ્રસ્થાપિત કરો" -#: plinth/modules/matrixsynapse/forms.py:15 +#: plinth/modules/matrixsynapse/forms.py:13 msgid "" "Enabling public registration means that anyone on the Internet can register " "a new account on your Matrix server. Disable this if you only want existing " @@ -2471,6 +2451,12 @@ msgstr "" msgid "Riot" msgstr "" +#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 +#: plinth/modules/snapshot/templates/snapshot.html:12 +#: plinth/templates/app.html:46 +msgid "Configuration" +msgstr "રૂપરેખાંકન" + #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:18 msgid "" "Matrix service needs to be configured for a domain. Users on other Matrix " @@ -2515,11 +2501,11 @@ msgid "" "go to Let's Encrypt to obtain one." msgstr "" -#: plinth/modules/matrixsynapse/views.py:98 +#: plinth/modules/matrixsynapse/views.py:86 msgid "Public registration enabled" msgstr "" -#: plinth/modules/matrixsynapse/views.py:103 +#: plinth/modules/matrixsynapse/views.py:91 #, fuzzy #| msgid "Application installed." msgid "Public registration disabled" @@ -2557,85 +2543,85 @@ msgstr "" msgid "Wiki" msgstr "" -#: plinth/modules/mediawiki/forms.py:27 +#: plinth/modules/mediawiki/forms.py:25 msgid "Administrator Password" msgstr "" -#: plinth/modules/mediawiki/forms.py:28 +#: plinth/modules/mediawiki/forms.py:26 msgid "" "Set a new password for MediaWiki's administrator account (admin). Leave this " "field blank to keep the current password." msgstr "" -#: plinth/modules/mediawiki/forms.py:33 +#: plinth/modules/mediawiki/forms.py:31 #, fuzzy #| msgid "Enable application" msgid "Enable public registrations" msgstr "એપ્લીકેશનને પ્રસ્થાપિત કરો" -#: plinth/modules/mediawiki/forms.py:34 +#: plinth/modules/mediawiki/forms.py:32 msgid "" "If enabled, anyone on the internet will be able to create an account on your " "MediaWiki instance." msgstr "" -#: plinth/modules/mediawiki/forms.py:38 +#: plinth/modules/mediawiki/forms.py:36 #, fuzzy #| msgid "Enable application" msgid "Enable private mode" msgstr "એપ્લીકેશનને પ્રસ્થાપિત કરો" -#: plinth/modules/mediawiki/forms.py:39 +#: plinth/modules/mediawiki/forms.py:37 msgid "" "If enabled, access will be restricted. Only people who have accounts can " "read/write to the wiki. Public registrations will also be disabled." msgstr "" -#: plinth/modules/mediawiki/forms.py:44 +#: plinth/modules/mediawiki/forms.py:42 msgid "Default Skin" msgstr "" -#: plinth/modules/mediawiki/forms.py:45 +#: plinth/modules/mediawiki/forms.py:43 msgid "" "Choose a default skin for your MediaWiki installation. Users have the option " "to select their preferred skin." msgstr "" -#: plinth/modules/mediawiki/views.py:53 +#: plinth/modules/mediawiki/views.py:48 msgid "Password updated" msgstr "" -#: plinth/modules/mediawiki/views.py:72 +#: plinth/modules/mediawiki/views.py:57 #, fuzzy #| msgid "Application installed." msgid "Public registrations enabled" msgstr "એપ્લીકેશન પ્રસ્થાપિત થઇ ગઈ છે." -#: plinth/modules/mediawiki/views.py:81 +#: plinth/modules/mediawiki/views.py:66 #, fuzzy #| msgid "Application installed." msgid "Public registrations disabled" msgstr "એપ્લીકેશન પ્રસ્થાપિત થઇ ગઈ છે." -#: plinth/modules/mediawiki/views.py:86 +#: plinth/modules/mediawiki/views.py:71 #, fuzzy #| msgid "Application enabled" msgid "Private mode enabled" msgstr "એપ્લિકેશન સક્ષમ કરો" -#: plinth/modules/mediawiki/views.py:93 +#: plinth/modules/mediawiki/views.py:78 #, fuzzy #| msgid "Application disabled" msgid "Private mode disabled" msgstr "એપ્લિકેશન અક્ષમ છે" -#: plinth/modules/mediawiki/views.py:101 +#: plinth/modules/mediawiki/views.py:86 #, fuzzy #| msgid "Setting unchanged" msgid "Default skin changed" msgstr "સેટિંગ યથાવત" -#: plinth/modules/minetest/__init__.py:37 +#: plinth/modules/minetest/__init__.py:38 #, python-brace-format msgid "" "Minetest is a multiplayer infinite-world block sandbox. This module enables " @@ -2644,48 +2630,48 @@ msgid "" "downloads/\">Minetest client is needed." msgstr "" -#: plinth/modules/minetest/__init__.py:63 +#: plinth/modules/minetest/__init__.py:62 #: plinth/modules/minetest/manifest.py:10 msgid "Minetest" msgstr "" -#: plinth/modules/minetest/__init__.py:64 +#: plinth/modules/minetest/__init__.py:63 msgid "Block Sandbox" msgstr "" -#: plinth/modules/minetest/forms.py:15 +#: plinth/modules/minetest/forms.py:13 msgid "Maximum number of players" msgstr "" -#: plinth/modules/minetest/forms.py:17 +#: plinth/modules/minetest/forms.py:15 msgid "" "You can change the maximum number of players playing minetest at a single " "instance of time." msgstr "" -#: plinth/modules/minetest/forms.py:21 +#: plinth/modules/minetest/forms.py:19 msgid "Enable creative mode" msgstr "" -#: plinth/modules/minetest/forms.py:22 +#: plinth/modules/minetest/forms.py:20 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:27 +#: plinth/modules/minetest/forms.py:25 msgid "Enable PVP" msgstr "" -#: plinth/modules/minetest/forms.py:28 +#: plinth/modules/minetest/forms.py:26 msgid "Enabling Player Vs Player will allow players to damage other players." msgstr "" -#: plinth/modules/minetest/forms.py:32 +#: plinth/modules/minetest/forms.py:30 msgid "Enable damage" msgstr "" -#: plinth/modules/minetest/forms.py:33 +#: plinth/modules/minetest/forms.py:31 msgid "When disabled, players cannot die or receive damage of any kind." msgstr "" @@ -2726,19 +2712,19 @@ msgid "" "Kodi." msgstr "" -#: plinth/modules/minidlna/__init__.py:33 +#: plinth/modules/minidlna/__init__.py:44 msgid "Media streaming server" msgstr "" -#: plinth/modules/minidlna/__init__.py:47 +#: plinth/modules/minidlna/__init__.py:48 msgid "Simple Media Server" msgstr "" -#: plinth/modules/minidlna/forms.py:15 +#: plinth/modules/minidlna/forms.py:13 msgid "Media Files Directory" msgstr "" -#: plinth/modules/minidlna/forms.py:16 +#: plinth/modules/minidlna/forms.py:14 msgid "" "Directory that MiniDLNA Server will read for content. All sub-directories of " "this will be also scanned for media files. If you change the default ensure " @@ -2790,18 +2776,18 @@ msgid "" "On {box_name}, downloaded files can be found in /var/lib/mldonkey/ directory." msgstr "" -#: plinth/modules/mldonkey/__init__.py:40 +#: plinth/modules/mldonkey/__init__.py:50 #, fuzzy #| msgid "Download files using BitTorrent applications" msgid "Download files using eDonkey applications" msgstr "BitTorrent કાર્યક્રમોનો ઉપયોગ કરીને ફાઇલો ડાઉનલોડ કરો" -#: plinth/modules/mldonkey/__init__.py:54 +#: plinth/modules/mldonkey/__init__.py:53 #: plinth/modules/mldonkey/manifest.py:12 msgid "MLDonkey" msgstr "" -#: plinth/modules/mldonkey/__init__.py:56 +#: plinth/modules/mldonkey/__init__.py:55 msgid "Peer-to-peer File Sharing" msgstr "" @@ -2813,7 +2799,7 @@ msgstr "" msgid "AMLDonkey" msgstr "" -#: plinth/modules/monkeysphere/__init__.py:18 +#: plinth/modules/monkeysphere/__init__.py:19 msgid "" "With Monkeysphere, an OpenPGP key can be generated for each configured " "domain serving SSH. The OpenPGP public key can then be uploaded to the " @@ -2825,7 +2811,7 @@ msgid "" "for more details." msgstr "" -#: plinth/modules/monkeysphere/__init__.py:26 +#: plinth/modules/monkeysphere/__init__.py:27 msgid "" "Monkeysphere can also generate an OpenPGP key for each Secure Web Server " "(HTTPS) certificate installed on this machine. The OpenPGP public key can " @@ -2836,7 +2822,7 @@ msgid "" "Monkeysphere website." msgstr "" -#: plinth/modules/monkeysphere/__init__.py:50 +#: plinth/modules/monkeysphere/__init__.py:49 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:11 msgid "Monkeysphere" msgstr "" @@ -2885,15 +2871,15 @@ msgstr "" msgid "-" msgstr "" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:128 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:129 msgid "Import Key" msgstr "" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:137 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:139 msgid "Publish Key" msgstr "" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:146 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:149 msgid "Add Domains" msgstr "" @@ -2963,34 +2949,34 @@ msgstr "" msgid "Error occurred while publishing key." msgstr "" -#: plinth/modules/mumble/__init__.py:23 +#: plinth/modules/mumble/__init__.py:24 msgid "" "Mumble is an open source, low-latency, encrypted, high quality voice chat " "software." msgstr "" -#: plinth/modules/mumble/__init__.py:25 +#: plinth/modules/mumble/__init__.py:26 msgid "" "You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your " "desktop and Android devices are available." msgstr "" -#: plinth/modules/mumble/__init__.py:49 plinth/modules/mumble/manifest.py:12 +#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:12 msgid "Mumble" msgstr "" -#: plinth/modules/mumble/__init__.py:50 +#: plinth/modules/mumble/__init__.py:49 msgid "Voice Chat" msgstr "" -#: plinth/modules/mumble/forms.py:16 +#: plinth/modules/mumble/forms.py:14 #, fuzzy #| msgid "Please provide a password" msgid "Set SuperUser Password" msgstr "કૃપા કરીને પાસવર્ડ આપો" -#: plinth/modules/mumble/forms.py:19 +#: plinth/modules/mumble/forms.py:17 msgid "" "Optional. Leave this field blank to keep the current password. SuperUser " "password can be used to manage permissions in Mumble." @@ -3272,9 +3258,10 @@ msgid "Open" msgstr "" #: plinth/modules/networks/forms.py:297 -#, python-brace-format -msgid "Choose how your {box_name} is connected to your network" -msgstr "" +#, fuzzy, python-brace-format +#| msgid "Direct connection to the Internet." +msgid "Specify how your {box_name} is connected to your network" +msgstr "ઇન્ટરનેટ સાથે સીધો જોડાણ." #: plinth/modules/networks/forms.py:304 #, python-brace-format @@ -3494,7 +3481,7 @@ msgstr "" #: plinth/modules/networks/templates/connection_show.html:171 #: plinth/modules/networks/templates/connection_show.html:212 -#: plinth/modules/shadowsocks/forms.py:49 +#: plinth/modules/shadowsocks/forms.py:48 msgid "Method" msgstr "" @@ -3510,7 +3497,7 @@ msgstr "" #: plinth/modules/networks/templates/connection_show.html:201 #: plinth/modules/networks/templates/connection_show.html:240 -#: plinth/modules/storage/forms.py:141 +#: plinth/modules/storage/forms.py:139 msgid "Default" msgstr "" @@ -3954,6 +3941,11 @@ msgstr "" msgid "Setup failed." msgstr "" +#: plinth/modules/openvpn/views.py:135 plinth/modules/tor/views.py:136 +#: plinth/views.py:196 +msgid "Setting unchanged" +msgstr "સેટિંગ યથાવત" + #: plinth/modules/pagekite/__init__.py:27 #, python-brace-format msgid "" @@ -4010,75 +4002,75 @@ msgstr "" msgid "PageKite Domain" msgstr "" -#: plinth/modules/pagekite/forms.py:48 +#: plinth/modules/pagekite/forms.py:47 msgid "Server domain" msgstr "" -#: plinth/modules/pagekite/forms.py:50 +#: plinth/modules/pagekite/forms.py:49 msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " "pagekite.net server." msgstr "" -#: plinth/modules/pagekite/forms.py:53 plinth/modules/shadowsocks/forms.py:40 +#: plinth/modules/pagekite/forms.py:52 plinth/modules/shadowsocks/forms.py:39 msgid "Server port" msgstr "" -#: plinth/modules/pagekite/forms.py:54 +#: plinth/modules/pagekite/forms.py:53 msgid "Port of your pagekite server (default: 80)" msgstr "" -#: plinth/modules/pagekite/forms.py:56 +#: plinth/modules/pagekite/forms.py:55 msgid "Kite name" msgstr "" -#: plinth/modules/pagekite/forms.py:57 +#: plinth/modules/pagekite/forms.py:56 msgid "Example: mybox.pagekite.me" msgstr "" -#: plinth/modules/pagekite/forms.py:59 +#: plinth/modules/pagekite/forms.py:58 msgid "Invalid kite name" msgstr "" -#: plinth/modules/pagekite/forms.py:63 +#: plinth/modules/pagekite/forms.py:62 msgid "Kite secret" msgstr "" -#: plinth/modules/pagekite/forms.py:64 +#: plinth/modules/pagekite/forms.py:63 msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." msgstr "" -#: plinth/modules/pagekite/forms.py:101 +#: plinth/modules/pagekite/forms.py:100 msgid "protocol" msgstr "" -#: plinth/modules/pagekite/forms.py:104 +#: plinth/modules/pagekite/forms.py:103 msgid "external (frontend) port" msgstr "" -#: plinth/modules/pagekite/forms.py:107 +#: plinth/modules/pagekite/forms.py:106 msgid "internal (freedombox) port" msgstr "" -#: plinth/modules/pagekite/forms.py:108 +#: plinth/modules/pagekite/forms.py:107 msgid "Enable Subdomains" msgstr "" -#: plinth/modules/pagekite/forms.py:142 +#: plinth/modules/pagekite/forms.py:141 msgid "Deleted custom service" msgstr "" -#: plinth/modules/pagekite/forms.py:175 +#: plinth/modules/pagekite/forms.py:174 msgid "This service is already available as a standard service." msgstr "" -#: plinth/modules/pagekite/forms.py:183 +#: plinth/modules/pagekite/forms.py:182 msgid "Added custom service" msgstr "" -#: plinth/modules/pagekite/forms.py:186 +#: plinth/modules/pagekite/forms.py:185 msgid "This service already exists" msgstr "" @@ -4196,14 +4188,14 @@ msgstr "" msgid "Shut Down Now" msgstr "" -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 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:33 +#: plinth/modules/privoxy/__init__.py:34 #, python-brace-format msgid "" "You can use Privoxy by modifying your browser proxy settings to your " @@ -4213,20 +4205,20 @@ msgid "" "\">http://p.p." msgstr "" -#: plinth/modules/privoxy/__init__.py:56 +#: plinth/modules/privoxy/__init__.py:55 msgid "Privoxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:57 +#: plinth/modules/privoxy/__init__.py:56 msgid "Web Proxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:119 #, python-brace-format msgid "Access {url} with proxy {proxy} on tcp{kind}" msgstr "" -#: plinth/modules/quassel/__init__.py:32 +#: plinth/modules/quassel/__init__.py:33 #, python-brace-format msgid "" "Quassel is an IRC application that is split into two parts, a \"core\" and a " @@ -4237,7 +4229,7 @@ msgid "" "connect and disconnect from it." msgstr "" -#: plinth/modules/quassel/__init__.py:39 +#: plinth/modules/quassel/__init__.py:40 msgid "" "You can connect to your Quassel core on the default Quassel port 4242. " "Clients to connect to Quassel from your mobile devices are available." msgstr "" -#: plinth/modules/quassel/__init__.py:62 plinth/modules/quassel/manifest.py:10 +#: plinth/modules/quassel/__init__.py:61 plinth/modules/quassel/manifest.py:10 msgid "Quassel" msgstr "" -#: plinth/modules/quassel/__init__.py:63 +#: plinth/modules/quassel/__init__.py:62 msgid "IRC Client" msgstr "" -#: plinth/modules/quassel/forms.py:23 +#: plinth/modules/quassel/forms.py:22 msgid "TLS domain" msgstr "" -#: plinth/modules/quassel/forms.py:25 +#: plinth/modules/quassel/forms.py:24 msgid "" "Select a domain to use TLS with. If the list is empty, please configure at " "least one domain with certificates." @@ -4267,7 +4259,7 @@ msgstr "" msgid "Quasseldroid" msgstr "" -#: plinth/modules/radicale/__init__.py:32 +#: plinth/modules/radicale/__init__.py:33 #, python-brace-format msgid "" "Radicale is a CalDAV and CardDAV server. It allows synchronization and " @@ -4276,34 +4268,34 @@ msgid "" "can be accessed by any user with a {box_name} login." msgstr "" -#: plinth/modules/radicale/__init__.py:37 +#: plinth/modules/radicale/__init__.py:38 msgid "" "Radicale provides a basic web interface, which only supports creating new " "calendars and addressbooks. It does not support adding events or contacts, " "which must be done using a separate client." msgstr "" -#: plinth/modules/radicale/__init__.py:62 +#: plinth/modules/radicale/__init__.py:61 #: plinth/modules/radicale/manifest.py:75 msgid "Radicale" msgstr "" -#: plinth/modules/radicale/__init__.py:63 +#: plinth/modules/radicale/__init__.py:62 msgid "Calendar and Addressbook" msgstr "" -#: plinth/modules/radicale/forms.py:15 +#: plinth/modules/radicale/forms.py:14 msgid "Only the owner of a calendar/addressbook can view or make changes." msgstr "" -#: plinth/modules/radicale/forms.py:19 +#: plinth/modules/radicale/forms.py:18 #, python-brace-format msgid "" "Any user with a {box_name} login can view any calendar/addressbook, but only " "the owner can make changes." msgstr "" -#: plinth/modules/radicale/forms.py:24 +#: plinth/modules/radicale/forms.py:23 #, python-brace-format msgid "" "Any user with a {box_name} login can view or make changes to any calendar/" @@ -4419,11 +4411,11 @@ msgid "" "private space." msgstr "" -#: plinth/modules/samba/__init__.py:47 +#: plinth/modules/samba/__init__.py:59 msgid "Access to the private shares" msgstr "" -#: plinth/modules/samba/__init__.py:61 +#: plinth/modules/samba/__init__.py:62 msgid "Samba" msgstr "" @@ -4489,11 +4481,11 @@ msgstr "" msgid "Action" msgstr "" -#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:149 +#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:147 msgid "Open Share" msgstr "" -#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:147 +#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:145 msgid "Group Share" msgstr "" @@ -4535,43 +4527,43 @@ msgid "" "stores no cookies by default." msgstr "" -#: plinth/modules/searx/__init__.py:31 +#: plinth/modules/searx/__init__.py:45 msgid "Search the web" msgstr "" -#: plinth/modules/searx/__init__.py:47 plinth/modules/searx/manifest.py:9 +#: plinth/modules/searx/__init__.py:48 plinth/modules/searx/manifest.py:9 msgid "Searx" msgstr "" -#: plinth/modules/searx/__init__.py:48 +#: plinth/modules/searx/__init__.py:49 msgid "Web Search" msgstr "" -#: plinth/modules/searx/forms.py:15 +#: plinth/modules/searx/forms.py:13 msgid "Safe Search" msgstr "" -#: plinth/modules/searx/forms.py:16 +#: plinth/modules/searx/forms.py:14 msgid "Select the default family filter to apply to your search results." msgstr "" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "None" msgstr "" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "Moderate" msgstr "" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "Strict" msgstr "" -#: plinth/modules/searx/forms.py:20 +#: plinth/modules/searx/forms.py:18 msgid "Allow Public Access" msgstr "" -#: plinth/modules/searx/forms.py:21 +#: plinth/modules/searx/forms.py:19 msgid "Allow this application to be used by anyone who can reach it." msgstr "" @@ -4734,28 +4726,28 @@ msgstr "" msgid "Socks5 Proxy" msgstr "" +#: plinth/modules/shadowsocks/forms.py:12 #: plinth/modules/shadowsocks/forms.py:13 -#: plinth/modules/shadowsocks/forms.py:14 msgid "Recommended" msgstr "" -#: plinth/modules/shadowsocks/forms.py:37 +#: plinth/modules/shadowsocks/forms.py:36 msgid "Server" msgstr "" -#: plinth/modules/shadowsocks/forms.py:38 +#: plinth/modules/shadowsocks/forms.py:37 msgid "Server hostname or IP address" msgstr "" -#: plinth/modules/shadowsocks/forms.py:42 +#: plinth/modules/shadowsocks/forms.py:41 msgid "Server port number" msgstr "" -#: plinth/modules/shadowsocks/forms.py:45 +#: plinth/modules/shadowsocks/forms.py:44 msgid "Password used to encrypt data. Must match server password." msgstr "" -#: plinth/modules/shadowsocks/forms.py:50 +#: plinth/modules/shadowsocks/forms.py:49 msgid "Encryption method. Must match setting on server." msgstr "" @@ -4796,11 +4788,11 @@ msgstr "" msgid "Make files in this folder available to anyone with the link." msgstr "" -#: plinth/modules/sharing/forms.py:33 +#: plinth/modules/sharing/forms.py:34 msgid "User groups that can read the files in the share" msgstr "" -#: plinth/modules/sharing/forms.py:35 +#: plinth/modules/sharing/forms.py:36 msgid "" "Users of the selected user groups will be able to read the files in the " "share." @@ -5072,13 +5064,13 @@ msgstr "" msgid "Secure Shell (SSH) Server" msgstr "" -#: plinth/modules/ssh/forms.py:15 +#: plinth/modules/ssh/forms.py:13 #, fuzzy #| msgid "Use HTTP basic authentication" msgid "Disable password authentication" msgstr "HTTP મૂળભૂત પ્રમાણીકરણનો ઉપયોગ કરો" -#: plinth/modules/ssh/forms.py:16 +#: plinth/modules/ssh/forms.py:14 msgid "" "Improves security by preventing password guessing. Ensure that you have " "setup SSH keys in your administrator user account before enabling this " @@ -5129,131 +5121,131 @@ msgid "" "media, expand the root partition etc." msgstr "" -#: plinth/modules/storage/__init__.py:52 plinth/modules/storage/__init__.py:318 +#: plinth/modules/storage/__init__.py:54 plinth/modules/storage/__init__.py:320 msgid "Storage" 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 "" -#: plinth/modules/storage/__init__.py:313 +#: plinth/modules/storage/__init__.py:315 #, no-python-format, python-brace-format msgid "Low space on system partition: {percent_used}% used, {free_space} free." msgstr "" -#: plinth/modules/storage/__init__.py:315 +#: plinth/modules/storage/__init__.py:317 msgid "Low disk space" msgstr "" -#: plinth/modules/storage/forms.py:64 +#: plinth/modules/storage/forms.py:63 #, fuzzy #| msgid "Invalid hostname" msgid "Invalid directory name." msgstr "અમાન્ય હોસ્ટનું નામ" -#: plinth/modules/storage/forms.py:82 +#: plinth/modules/storage/forms.py:80 msgid "Directory does not exist." msgstr "" -#: plinth/modules/storage/forms.py:84 +#: plinth/modules/storage/forms.py:83 msgid "Path is not a directory." msgstr "" -#: plinth/modules/storage/forms.py:87 +#: plinth/modules/storage/forms.py:86 msgid "Directory is not readable by the user." msgstr "" -#: plinth/modules/storage/forms.py:90 +#: plinth/modules/storage/forms.py:89 msgid "Directory is not writable by the user." msgstr "" -#: plinth/modules/storage/forms.py:95 +#: plinth/modules/storage/forms.py:94 msgid "Directory" msgstr "" -#: plinth/modules/storage/forms.py:98 +#: plinth/modules/storage/forms.py:96 msgid "Subdirectory (optional)" msgstr "" -#: plinth/modules/storage/forms.py:145 +#: plinth/modules/storage/forms.py:143 msgid "Share" msgstr "" -#: plinth/modules/storage/forms.py:153 +#: plinth/modules/storage/forms.py:151 msgid "Other directory (specify below)" msgstr "" @@ -5334,19 +5326,20 @@ msgid "" "synchronize more often. {box_name} runs a single instance of Syncthing that " "may be used by multiple users. Each user's set of devices may be " "synchronized with a distinct set of folders. The web interface on " -"{box_name} is only available for users belonging to the \"admin\" group." +"{box_name} is only available for users belonging to the \"admin\" or " +"\"syncthing\" group." msgstr "" -#: plinth/modules/syncthing/__init__.py:40 +#: plinth/modules/syncthing/__init__.py:53 msgid "Administer Syncthing application" msgstr "" -#: plinth/modules/syncthing/__init__.py:54 +#: plinth/modules/syncthing/__init__.py:56 #: plinth/modules/syncthing/manifest.py:13 msgid "Syncthing" msgstr "" -#: plinth/modules/syncthing/__init__.py:55 +#: plinth/modules/syncthing/__init__.py:57 msgid "File Synchronization" msgstr "" @@ -5383,33 +5376,33 @@ msgid "" "%(domain_name)s:5678\">https://%(domain_name)s:5678." msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:39 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:29 msgid "Local introducer" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:59 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:76 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:33 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:49 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:66 msgid "Pet Name" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:56 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:46 msgid "Add new introducer" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:67 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:57 msgid "Add" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:72 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:62 msgid "Connected introducers" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:89 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:79 msgid "Remove" msgstr "" -#: plinth/modules/tor/__init__.py:33 +#: plinth/modules/tor/__init__.py:34 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -5418,40 +5411,40 @@ msgid "" "\">Tor Browser." msgstr "" -#: plinth/modules/tor/__init__.py:55 +#: plinth/modules/tor/__init__.py:54 msgid "Tor" msgstr "" -#: plinth/modules/tor/__init__.py:66 +#: plinth/modules/tor/__init__.py:65 msgid "Tor Onion Service" msgstr "" -#: plinth/modules/tor/__init__.py:70 +#: plinth/modules/tor/__init__.py:69 msgid "Tor Socks Proxy" msgstr "" -#: plinth/modules/tor/__init__.py:74 +#: plinth/modules/tor/__init__.py:73 msgid "Tor Bridge Relay" msgstr "" -#: plinth/modules/tor/__init__.py:95 +#: plinth/modules/tor/__init__.py:98 msgid "Tor relay port available" msgstr "" -#: plinth/modules/tor/__init__.py:105 +#: plinth/modules/tor/__init__.py:108 msgid "Obfs3 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:115 +#: plinth/modules/tor/__init__.py:118 msgid "Obfs4 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:208 +#: plinth/modules/tor/__init__.py:211 #, python-brace-format msgid "Access URL {url} on tcp{kind} via Tor" msgstr "" -#: plinth/modules/tor/__init__.py:219 +#: plinth/modules/tor/__init__.py:222 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "" @@ -5579,13 +5572,13 @@ msgstr "" msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050." msgstr "" -#: plinth/modules/transmission/__init__.py:27 +#: plinth/modules/transmission/__init__.py:28 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:48 +#: plinth/modules/transmission/__init__.py:51 #: plinth/modules/transmission/manifest.py:9 msgid "Transmission" msgstr "" @@ -5615,15 +5608,15 @@ msgid "" "connecting." msgstr "" -#: plinth/modules/ttrss/__init__.py:42 +#: plinth/modules/ttrss/__init__.py:54 msgid "Read and subscribe to news feeds" msgstr "" -#: plinth/modules/ttrss/__init__.py:56 plinth/modules/ttrss/manifest.py:19 +#: plinth/modules/ttrss/__init__.py:57 plinth/modules/ttrss/manifest.py:19 msgid "Tiny Tiny RSS" msgstr "" -#: plinth/modules/ttrss/__init__.py:57 +#: plinth/modules/ttrss/__init__.py:58 msgid "News Feed Reader" msgstr "" @@ -5635,11 +5628,11 @@ msgstr "" msgid "Check for and apply the latest software and security updates." msgstr "" -#: plinth/modules/upgrades/__init__.py:38 plinth/templates/setup.html:74 +#: plinth/modules/upgrades/__init__.py:40 plinth/templates/setup.html:74 msgid "Update" msgstr "" -#: plinth/modules/upgrades/__init__.py:76 +#: plinth/modules/upgrades/__init__.py:78 #, fuzzy #| msgid "FreedomBox" msgid "FreedomBox Updated" @@ -5695,45 +5688,41 @@ msgstr "" #: plinth/modules/upgrades/templates/upgrades_configure.html:11 #: plinth/modules/upgrades/templates/upgrades_configure.html:12 -#: plinth/modules/upgrades/views.py:88 +#: plinth/modules/upgrades/views.py:85 #, fuzzy #| msgid "Last update" msgid "Manual update" msgstr "છેલ્લો સુધારો" -#: plinth/modules/upgrades/views.py:47 +#: plinth/modules/upgrades/views.py:46 #, python-brace-format msgid "Error when configuring unattended-upgrades: {error}" msgstr "" -#: plinth/modules/upgrades/views.py:51 +#: plinth/modules/upgrades/views.py:50 msgid "Automatic upgrades enabled" msgstr "" -#: plinth/modules/upgrades/views.py:54 +#: plinth/modules/upgrades/views.py:53 msgid "Automatic upgrades disabled" msgstr "" -#: plinth/modules/upgrades/views.py:56 -msgid "Settings unchanged" -msgstr "" - -#: plinth/modules/upgrades/views.py:82 +#: plinth/modules/upgrades/views.py:79 msgid "Upgrade process started." msgstr "" -#: plinth/modules/upgrades/views.py:85 +#: plinth/modules/upgrades/views.py:82 msgid "Starting upgrade failed." msgstr "" -#: plinth/modules/users/__init__.py:37 +#: plinth/modules/users/__init__.py:39 msgid "" "Create and managed user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " "account to be part of a group to authorize the user to access the app." msgstr "" -#: plinth/modules/users/__init__.py:42 +#: plinth/modules/users/__init__.py:44 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -5741,104 +5730,103 @@ msgid "" "group may alter apps or system settings." msgstr "" -#: plinth/modules/users/__init__.py:64 +#: plinth/modules/users/__init__.py:65 msgid "Users and Groups" msgstr "" -#: plinth/modules/users/__init__.py:115 +#: plinth/modules/users/__init__.py:78 +msgid "Access to all services and system settings" +msgstr "" + +#: plinth/modules/users/__init__.py:122 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "" -#: plinth/modules/users/forms.py:28 -msgid "Access to all services and system settings" -msgstr "" - -#: plinth/modules/users/forms.py:44 +#: plinth/modules/users/forms.py:36 msgid "Username is taken or is reserved." msgstr "" -#: plinth/modules/users/forms.py:72 +#: plinth/modules/users/forms.py:63 #, fuzzy #| msgid "Invalid server name" msgid "Enter a valid username." msgstr "અમાન્ય સર્વર નામ" -#: plinth/modules/users/forms.py:78 +#: plinth/modules/users/forms.py:69 msgid "" "Required. 150 characters or fewer. English letters, digits and @/./-/_ only." msgstr "" -#: plinth/modules/users/forms.py:91 plinth/modules/users/forms.py:207 +#: plinth/modules/users/forms.py:83 plinth/modules/users/forms.py:196 msgid "Permissions" msgstr "" -#: plinth/modules/users/forms.py:94 +#: plinth/modules/users/forms.py:85 msgid "" -"Select which services should be available to the new user. The user will be " -"able to log in to services that support single sign-on through LDAP, if they " -"are in the appropriate group.

Users in the admin group will be " -"able to log in to all services. They can also log in to the system through " -"SSH and have administrative privileges (sudo)." +"user. The user will be able to log in to services that support single sign-" +"on through LDAP, if they are in the appropriate group.

Users in " +"the admin group will be able to log in to all services. They can also log in " +"to the system through SSH and have administrative privileges (sudo)." msgstr "" -#: plinth/modules/users/forms.py:133 plinth/modules/users/forms.py:357 +#: plinth/modules/users/forms.py:122 plinth/modules/users/forms.py:345 msgid "Creating LDAP user failed." msgstr "" -#: plinth/modules/users/forms.py:144 +#: plinth/modules/users/forms.py:133 #, python-brace-format msgid "Failed to add new user to {group} group." msgstr "" -#: plinth/modules/users/forms.py:158 +#: plinth/modules/users/forms.py:147 msgid "Authorized SSH Keys" msgstr "" -#: plinth/modules/users/forms.py:160 +#: plinth/modules/users/forms.py:149 msgid "" "Setting an SSH public key will allow this user to securely log in to the " "system without using a password. You may enter multiple keys, one on each " "line. Blank lines and lines starting with # will be ignored." msgstr "" -#: plinth/modules/users/forms.py:244 +#: plinth/modules/users/forms.py:233 msgid "Renaming LDAP user failed." msgstr "" -#: plinth/modules/users/forms.py:256 +#: plinth/modules/users/forms.py:245 msgid "Failed to remove user from group." msgstr "" -#: plinth/modules/users/forms.py:267 +#: plinth/modules/users/forms.py:256 msgid "Failed to add user to group." msgstr "" -#: plinth/modules/users/forms.py:276 +#: plinth/modules/users/forms.py:265 msgid "Unable to set SSH keys." msgstr "" -#: plinth/modules/users/forms.py:291 +#: plinth/modules/users/forms.py:280 msgid "Failed to change user status." msgstr "" -#: plinth/modules/users/forms.py:299 +#: plinth/modules/users/forms.py:288 msgid "Cannot delete the only administrator in the system." msgstr "" -#: plinth/modules/users/forms.py:331 +#: plinth/modules/users/forms.py:319 msgid "Changing LDAP user password failed." msgstr "" -#: plinth/modules/users/forms.py:366 +#: plinth/modules/users/forms.py:354 msgid "Failed to add new user to admin group." msgstr "" -#: plinth/modules/users/forms.py:383 +#: plinth/modules/users/forms.py:371 msgid "Failed to restrict console access." msgstr "" -#: plinth/modules/users/forms.py:395 +#: plinth/modules/users/forms.py:383 msgid "User account created, you are now logged in" msgstr "" @@ -6600,18 +6588,19 @@ msgstr "" msgid "%(percentage)s%% complete" msgstr "" -#: plinth/views.py:184 -msgid "Application enabled" -msgstr "એપ્લિકેશન સક્ષમ કરો" - -#: plinth/views.py:187 -msgid "Application disabled" -msgstr "એપ્લિકેશન અક્ષમ છે" - #: plinth/web_framework.py:107 msgid "Gujarati" msgstr "" +#~ msgid "Enable application" +#~ msgstr "એપ્લીકેશનને પ્રસ્થાપિત કરો" + +#~ msgid "Application enabled" +#~ msgstr "એપ્લિકેશન સક્ષમ કરો" + +#~ msgid "Application disabled" +#~ msgstr "એપ્લિકેશન અક્ષમ છે" + #, fuzzy #~| msgid "Conversations" #~ msgid "Custom Section" diff --git a/plinth/locale/hi/LC_MESSAGES/django.po b/plinth/locale/hi/LC_MESSAGES/django.po index 85f714dd6..0faea5dee 100644 --- a/plinth/locale/hi/LC_MESSAGES/django.po +++ b/plinth/locale/hi/LC_MESSAGES/django.po @@ -7,9 +7,9 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-23 18:54-0400\n" -"PO-Revision-Date: 2018-08-09 20:39+0000\n" -"Last-Translator: Gayathri Das \n" +"POT-Creation-Date: 2020-04-06 19:59-0400\n" +"PO-Revision-Date: 2020-04-03 20:11+0000\n" +"Last-Translator: Allan Nordhøy \n" "Language-Team: Hindi \n" "Language: hi\n" @@ -17,7 +17,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Generator: Weblate 3.2-dev\n" +"X-Generator: Weblate 4.0-dev\n" #: doc/dev/_templates/layout.html:11 msgid "Page source" @@ -53,30 +53,26 @@ msgstr "{host}:{port} से जुड़े" msgid "Cannot connect to {host}:{port}" msgstr "{host}:{port} से नहीं जोड़ सखता" -#: plinth/forms.py:24 -msgid "Enable application" -msgstr "एप्लिकेशन सक्षम करें" - -#: plinth/forms.py:39 +#: plinth/forms.py:38 msgid "Select a domain name to be used with this application" msgstr "इस एप्लिकेशन के साथ एक डोमेन का नाम चुने" -#: plinth/forms.py:41 +#: plinth/forms.py:40 msgid "" "Warning! The application may not work properly if domain name is changed " "later." msgstr "" "वर्णइंग! अगर डोमेन का नाम बाद में बदल गया, एप्लिकेशन शायद ठीक से नहीं कर सकता है." -#: plinth/forms.py:49 +#: plinth/forms.py:48 msgid "Language" msgstr "भाषा" -#: plinth/forms.py:50 +#: plinth/forms.py:49 msgid "Language to use for presenting this web interface" msgstr "इस वेब इंटरफेस में इसतेमाल कि जाने वाली भाषा" -#: plinth/forms.py:57 +#: plinth/forms.py:56 msgid "Use the language preference set in the browser" msgstr "जो भाषा ब्राउज़र में हैं, वो भाषा उपयोग करें" @@ -671,20 +667,20 @@ msgstr "बाइंड" msgid "Domain Name Server" msgstr "डोमेन नाम" -#: plinth/modules/bind/forms.py:22 +#: plinth/modules/bind/forms.py:20 msgid "Forwarders" msgstr "फाॅरवर्डरस" -#: plinth/modules/bind/forms.py:23 +#: plinth/modules/bind/forms.py:21 msgid "" "A list DNS servers, separated by space, to which requests will be forwarded" msgstr "एक डीएनएस सर्वर कि सूची, अंतरवल के सात, जिसमें अनुरोधे भेज जाऐगे" -#: plinth/modules/bind/forms.py:27 +#: plinth/modules/bind/forms.py:25 msgid "Enable DNSSEC" msgstr "डीएनएसएसईसि सक्षम करें" -#: plinth/modules/bind/forms.py:28 +#: plinth/modules/bind/forms.py:26 msgid "Enable Domain Name System Security Extensions" msgstr "डॉमेन नाम सिस्टम सुरक्षा एक्सटेंशनस सक्षम करें" @@ -724,10 +720,11 @@ msgstr "आइपी एेड्रैस" msgid "Refresh IP address and domains" msgstr "" -#: plinth/modules/bind/views.py:72 plinth/modules/deluge/views.py:44 +#: plinth/modules/bind/views.py:72 plinth/modules/deluge/views.py:42 #: plinth/modules/dynamicdns/views.py:150 plinth/modules/openvpn/views.py:133 -#: plinth/modules/pagekite/forms.py:91 plinth/modules/shadowsocks/views.py:59 -#: plinth/modules/transmission/views.py:50 +#: plinth/modules/pagekite/forms.py:90 plinth/modules/quassel/views.py:30 +#: plinth/modules/shadowsocks/views.py:59 +#: plinth/modules/transmission/views.py:47 msgid "Configuration updated" msgstr "कॉन्फ़िगरेशन अपडेट करें" @@ -789,11 +786,11 @@ msgid "" "name, webserver home page etc." msgstr "" -#: plinth/modules/config/__init__.py:50 +#: plinth/modules/config/__init__.py:52 msgid "General Configuration" msgstr "सामान्य कॉन्फ़िगरेशन" -#: plinth/modules/config/__init__.py:55 plinth/modules/dynamicdns/views.py:29 +#: plinth/modules/config/__init__.py:57 plinth/modules/dynamicdns/views.py:29 #: plinth/modules/names/templates/names.html:29 #: plinth/modules/names/templates/names.html:43 #: plinth/modules/snapshot/views.py:26 @@ -801,7 +798,7 @@ msgstr "सामान्य कॉन्फ़िगरेशन" msgid "Configure" msgstr "कॉन्फ़िगर करें" -#: plinth/modules/config/__init__.py:59 plinth/modules/config/forms.py:61 +#: plinth/modules/config/__init__.py:61 plinth/modules/config/forms.py:61 #: plinth/modules/dynamicdns/forms.py:95 msgid "Domain Name" msgstr "डोमेन नाम" @@ -963,15 +960,15 @@ msgstr "" msgid "Coquelicot" msgstr "कोकेलिकॉट" -#: plinth/modules/coquelicot/__init__.py:47 plinth/modules/samba/__init__.py:62 +#: plinth/modules/coquelicot/__init__.py:47 plinth/modules/samba/__init__.py:63 msgid "File Sharing" msgstr "फ़ाइल शेयरइंग" -#: plinth/modules/coquelicot/forms.py:15 +#: plinth/modules/coquelicot/forms.py:13 msgid "Upload Password" msgstr "पासवर्ड अपलोड" -#: plinth/modules/coquelicot/forms.py:16 +#: plinth/modules/coquelicot/forms.py:14 msgid "" "Set a new upload password for Coquelicot. Leave this field blank to keep the " "current password." @@ -979,11 +976,11 @@ msgstr "" "कोकेलिकॉट के लिये एक नया पासवर्ड अपलोड सेट करें. वर्तमान पासवर्ड रखने के लिये यह खाली " "चोड़िये." -#: plinth/modules/coquelicot/forms.py:20 +#: plinth/modules/coquelicot/forms.py:18 msgid "Maximum File Size (in MiB)" msgstr "आधिकतम फ़ाइल आकार (एमआईबी में)" -#: plinth/modules/coquelicot/forms.py:21 +#: plinth/modules/coquelicot/forms.py:19 msgid "Set the maximum size of the files that can be uploaded to Coquelicot." msgstr "आधिकतम फ़ाइल आकार सेट करें, जिसे कोकेलिकॉट पर अपलोड कर सकते है." @@ -1022,18 +1019,18 @@ msgstr "तारीख और समय" msgid "Time synchronized to NTP server" msgstr "" -#: plinth/modules/datetime/forms.py:20 +#: plinth/modules/datetime/forms.py:18 msgid "Time Zone" msgstr "समय क्षेत्र" -#: plinth/modules/datetime/forms.py:21 +#: plinth/modules/datetime/forms.py:19 msgid "" "Set your time zone to get accurate timestamps. This will set the system-wide " "time zone." msgstr "" "सही टाइमस्टैम्प मिलने के लिये समय क्षेत्र सेट करें. यह पूरा सिस्टम में समय क्षेत्र सेट करेगा." -#: plinth/modules/datetime/forms.py:32 +#: plinth/modules/datetime/forms.py:30 msgid "-- no time zone set --" msgstr "-- समय क्षेत्र सेट नहीं है --" @@ -1046,11 +1043,11 @@ msgstr "समय क्षेत्र सेट करने में एर msgid "Time zone set" msgstr "समय क्षेत्र सेट" -#: plinth/modules/deluge/__init__.py:25 +#: plinth/modules/deluge/__init__.py:26 msgid "Deluge is a BitTorrent client that features a Web UI." msgstr "डेलूज एक बिटटोरेंट ग्राहक है जिसमे वेब युआई है." -#: plinth/modules/deluge/__init__.py:26 +#: plinth/modules/deluge/__init__.py:27 #, fuzzy #| msgid "" #| "When enabled, the Deluge web client will be available from web " @@ -1495,20 +1483,20 @@ msgstr "" "ग्राहक. सक्षम होने पर एजाबेरड कोई यूसर एक {box_name} " "लोगिन से उपयोग कर सकते हैं." -#: plinth/modules/ejabberd/__init__.py:70 +#: plinth/modules/ejabberd/__init__.py:69 msgid "ejabberd" msgstr "एजाबेरड" -#: plinth/modules/ejabberd/__init__.py:71 +#: plinth/modules/ejabberd/__init__.py:70 #: plinth/modules/matrixsynapse/__init__.py:68 msgid "Chat Server" msgstr "चाट सर्वर" -#: plinth/modules/ejabberd/forms.py:17 +#: plinth/modules/ejabberd/forms.py:16 msgid "Enable Message Archive Management" msgstr "संदेश संग्रह प्रबंध सक्षम करें" -#: plinth/modules/ejabberd/forms.py:19 +#: plinth/modules/ejabberd/forms.py:18 #, python-brace-format msgid "" "If enabled, your {box_name} will store chat message histories. This allows " @@ -1574,19 +1562,11 @@ msgstr "" "दिखेगा username@%(domainname)s. आपका डोमेन सिसटेम पर सेटअप कर सकता है कॉन्फ़िगर पेजॅ." -#: plinth/modules/ejabberd/templates/ejabberd.html:35 -#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 -#: plinth/modules/snapshot/templates/snapshot.html:12 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:27 -#: plinth/templates/app.html:45 -msgid "Configuration" -msgstr "कॉन्फ़िगरेशन" - -#: plinth/modules/ejabberd/views.py:58 +#: plinth/modules/ejabberd/views.py:45 msgid "Message Archive Management enabled" msgstr "संदेश संग्रह प्रबंधन सक्षम किया गया है" -#: plinth/modules/ejabberd/views.py:62 +#: plinth/modules/ejabberd/views.py:49 msgid "Message Archive Management disabled" msgstr "संदेश संग्रह प्रबंधन अक्षम किया गया है" @@ -1601,7 +1581,7 @@ msgstr "" "को नियंत्रित करता है. फ़ायरवॉल सक्षम और ठीक से कॉंफ़िगर रखते हुए इंटरनेट से सुरक्षा खतरे का " "जोखिम कम कर देता है." -#: plinth/modules/firewall/__init__.py:63 +#: plinth/modules/firewall/__init__.py:65 msgid "Firewall" msgstr "फ़ायरवॉल" @@ -1743,7 +1723,7 @@ msgid "" "gittutorial\">Git tutorial." msgstr "" -#: plinth/modules/gitweb/__init__.py:39 +#: plinth/modules/gitweb/__init__.py:51 msgid "Read-write access to Git repositories" msgstr "" @@ -1907,31 +1887,31 @@ msgstr "{name} हटा गया है." msgid "Could not delete {name}: {error}" msgstr "{name} नहीं हटा गया है: {error}" -#: plinth/modules/help/__init__.py:30 +#: plinth/modules/help/__init__.py:32 msgid "Documentation" msgstr "प्रलेखन" -#: plinth/modules/help/__init__.py:33 plinth/modules/networks/forms.py:47 +#: plinth/modules/help/__init__.py:35 plinth/modules/networks/forms.py:47 #: plinth/modules/networks/forms.py:77 plinth/templates/help-menu.html:20 #: plinth/templates/help-menu.html:21 plinth/templates/index.html:128 msgid "Manual" msgstr "मैन्युअल" -#: plinth/modules/help/__init__.py:37 +#: plinth/modules/help/__init__.py:39 #: plinth/modules/help/templates/help_support.html:9 #: plinth/modules/help/views.py:43 plinth/templates/help-menu.html:27 #: plinth/templates/help-menu.html:28 msgid "Get Support" msgstr "" -#: plinth/modules/help/__init__.py:41 +#: plinth/modules/help/__init__.py:43 #: plinth/modules/help/templates/help_feedback.html:9 #: plinth/modules/help/views.py:37 plinth/templates/help-menu.html:33 #: plinth/templates/help-menu.html:34 msgid "Submit Feedback" msgstr "" -#: plinth/modules/help/__init__.py:45 +#: plinth/modules/help/__init__.py:47 #: plinth/modules/help/templates/help_contribute.html:9 #: plinth/modules/help/views.py:31 plinth/templates/help-menu.html:39 #: plinth/templates/help-menu.html:40 @@ -2056,7 +2036,7 @@ msgstr "" #: plinth/modules/help/templates/help_contribute.html:42 #: plinth/modules/power/templates/power_restart.html:27 #: plinth/modules/power/templates/power_shutdown.html:26 -#: plinth/templates/app-header.html:51 +#: plinth/templates/app-header.html:53 msgid "Learn more..." msgstr "और सीखिये..." @@ -2223,21 +2203,21 @@ msgid "" "configuration process." msgstr "" -#: plinth/modules/i2p/__init__.py:38 +#: plinth/modules/i2p/__init__.py:62 #, fuzzy #| msgid "Enable application" msgid "Manage I2P application" msgstr "एप्लिकेशन सक्षम करें" -#: plinth/modules/i2p/__init__.py:64 plinth/modules/i2p/manifest.py:16 +#: plinth/modules/i2p/__init__.py:65 plinth/modules/i2p/manifest.py:16 msgid "I2P" msgstr "" -#: plinth/modules/i2p/__init__.py:65 plinth/modules/tor/__init__.py:56 +#: plinth/modules/i2p/__init__.py:66 plinth/modules/tor/__init__.py:55 msgid "Anonymity Network" msgstr "गुमनामी नेटवर्क" -#: plinth/modules/i2p/__init__.py:87 +#: plinth/modules/i2p/__init__.py:88 #, fuzzy #| msgid "Web Proxy" msgid "I2P Proxy" @@ -2307,18 +2287,18 @@ msgstr "" "विकी संपादितकर सकते है. वह युज़र कॉन्फ़िगरेशन पर " "आपको यह अनुमति बदल सकता और नया युज़रसॅ को जोडं सकता है." -#: plinth/modules/ikiwiki/__init__.py:39 -msgid "View and edit wiki applications" -msgstr "विकी एप्लिकेशन को देखें और संपादित करें" - -#: plinth/modules/ikiwiki/__init__.py:53 plinth/modules/ikiwiki/manifest.py:9 +#: plinth/modules/ikiwiki/__init__.py:52 plinth/modules/ikiwiki/manifest.py:9 msgid "ikiwiki" msgstr "इकिविकि" -#: plinth/modules/ikiwiki/__init__.py:54 +#: plinth/modules/ikiwiki/__init__.py:53 msgid "Wiki and Blog" msgstr "विकि और ब्लॉग" +#: plinth/modules/ikiwiki/__init__.py:73 +msgid "View and edit wiki applications" +msgstr "विकी एप्लिकेशन को देखें और संपादित करें" + #: plinth/modules/ikiwiki/forms.py:17 msgid "Admin Account Name" msgstr "व्यवस्थापक अकाउंट नाम" @@ -2364,33 +2344,33 @@ msgstr "" "यह कार्य सब पोस्ट, पेज और टिप्पणियां निकाल देगी, संशोधन इतिहास भी. यह ब्लॉग और विकी " "हमेशा से हटा करें?" -#: plinth/modules/ikiwiki/views.py:72 +#: plinth/modules/ikiwiki/views.py:70 #, python-brace-format msgid "Created wiki {name}." msgstr "विकी बनाया है {name}." -#: plinth/modules/ikiwiki/views.py:75 +#: plinth/modules/ikiwiki/views.py:73 #, python-brace-format msgid "Could not create wiki: {error}" msgstr "विकी नहीं बना सकता है:{error}" -#: plinth/modules/ikiwiki/views.py:85 +#: plinth/modules/ikiwiki/views.py:83 #, python-brace-format msgid "Created blog {name}." msgstr "ब्लॉग बनाया है {name}." -#: plinth/modules/ikiwiki/views.py:88 +#: plinth/modules/ikiwiki/views.py:86 #, python-brace-format msgid "Could not create blog: {error}" msgstr "ब्लॉग नहीं बना सकता है: {error}" -#: plinth/modules/ikiwiki/views.py:103 +#: plinth/modules/ikiwiki/views.py:101 #, fuzzy, python-brace-format #| msgid "{name} deleted." msgid "{title} deleted." msgstr "{name} हटा गया है." -#: plinth/modules/ikiwiki/views.py:107 +#: plinth/modules/ikiwiki/views.py:105 #, fuzzy, python-brace-format #| msgid "Could not delete {name}: {error}" msgid "Could not delete {title}: {error}" @@ -2434,7 +2414,7 @@ msgid "" "domain name." msgstr "गोबी शुरू करें और \"सर्वर से कनेक्ट\" चुनिये और {box_name} का डोमेन नाम दर्ज करें." -#: plinth/modules/jsxc/__init__.py:22 +#: plinth/modules/jsxc/__init__.py:23 msgid "" "JSXC is a web client for XMPP. Typically it is used with an XMPP server " "running locally." @@ -2442,11 +2422,11 @@ msgstr "" "जेएसएक्ससि, एक्सएमपिपि को एक वेब क्लाइंट है. अाम तौर पर यह एक्सएमपिपि के सात उपयोग " "किया जाता है." -#: plinth/modules/jsxc/__init__.py:40 plinth/modules/jsxc/manifest.py:10 +#: plinth/modules/jsxc/__init__.py:43 plinth/modules/jsxc/manifest.py:10 msgid "JSXC" msgstr "जेएसएक्ससि" -#: plinth/modules/jsxc/__init__.py:41 +#: plinth/modules/jsxc/__init__.py:44 msgid "Chat Client" msgstr "चैट क्लाइंट" @@ -2632,11 +2612,11 @@ msgstr "" msgid "Matrix Synapse" msgstr "मैट्रिक्स सिनापसॅ" -#: plinth/modules/matrixsynapse/forms.py:14 +#: plinth/modules/matrixsynapse/forms.py:12 msgid "Enable Public Registration" msgstr "सार्वजनिक रजिस्ट्रेशिनं सक्षम करें" -#: plinth/modules/matrixsynapse/forms.py:15 +#: plinth/modules/matrixsynapse/forms.py:13 msgid "" "Enabling public registration means that anyone on the Internet can register " "a new account on your Matrix server. Disable this if you only want existing " @@ -2650,6 +2630,12 @@ msgstr "" msgid "Riot" msgstr "रेइट" +#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 +#: plinth/modules/snapshot/templates/snapshot.html:12 +#: plinth/templates/app.html:46 +msgid "Configuration" +msgstr "कॉन्फ़िगरेशन" + #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:18 msgid "" "Matrix service needs to be configured for a domain. Users on other Matrix " @@ -2706,11 +2692,11 @@ msgid "" "go to Let's Encrypt to obtain one." msgstr "" -#: plinth/modules/matrixsynapse/views.py:98 +#: plinth/modules/matrixsynapse/views.py:86 msgid "Public registration enabled" msgstr "सार्वजनिक रजिस्टरेशिन सक्षम किया गया" -#: plinth/modules/matrixsynapse/views.py:103 +#: plinth/modules/matrixsynapse/views.py:91 msgid "Public registration disabled" msgstr "सार्वजनिक रजिस्टरेशिन अक्षम किया गया" @@ -2756,11 +2742,11 @@ msgstr "मीडियाविकी" msgid "Wiki" msgstr "विकी" -#: plinth/modules/mediawiki/forms.py:27 +#: plinth/modules/mediawiki/forms.py:25 msgid "Administrator Password" msgstr "व्यवस्थापक पासवर्ड" -#: plinth/modules/mediawiki/forms.py:28 +#: plinth/modules/mediawiki/forms.py:26 msgid "" "Set a new password for MediaWiki's administrator account (admin). Leave this " "field blank to keep the current password." @@ -2768,21 +2754,21 @@ msgstr "" "मीडियाविकी एेडमिन अकाउंट के लिये नया पासवर्ड सेट करें (एेडमिन). वर्तमान पासवर्ड रखने के " "लिए इस फ़ील्ड को रिक्त छोड़ें." -#: plinth/modules/mediawiki/forms.py:33 +#: plinth/modules/mediawiki/forms.py:31 msgid "Enable public registrations" msgstr "सार्वजनिक रेजिस्टेशिन सक्षम करें" -#: plinth/modules/mediawiki/forms.py:34 +#: plinth/modules/mediawiki/forms.py:32 msgid "" "If enabled, anyone on the internet will be able to create an account on your " "MediaWiki instance." msgstr "सक्षम कर के इंटरनेट पर किसी को अपने मिडीयाविकी इस्टेशं पर एक अकाउंट बना सकता है." -#: plinth/modules/mediawiki/forms.py:38 +#: plinth/modules/mediawiki/forms.py:36 msgid "Enable private mode" msgstr "निजी मोड सक्षम करें" -#: plinth/modules/mediawiki/forms.py:39 +#: plinth/modules/mediawiki/forms.py:37 msgid "" "If enabled, access will be restricted. Only people who have accounts can " "read/write to the wiki. Public registrations will also be disabled." @@ -2790,45 +2776,45 @@ msgstr "" "अगर सक्षम है, प्रवेश प्रतिबंधित किया जाएगा. सिर्फ जो लोग जिनके पास अकाउंट है वो लोग " "विकी को पढ़/लिक सकते हैं. सार्वजनिक रेगीसट्रेशिन भी अक्षम कर दिए जाएंगे." -#: plinth/modules/mediawiki/forms.py:44 +#: plinth/modules/mediawiki/forms.py:42 #, fuzzy #| msgid "Default" msgid "Default Skin" msgstr "डिफ़ॉल्ट" -#: plinth/modules/mediawiki/forms.py:45 +#: plinth/modules/mediawiki/forms.py:43 msgid "" "Choose a default skin for your MediaWiki installation. Users have the option " "to select their preferred skin." msgstr "" -#: plinth/modules/mediawiki/views.py:53 +#: plinth/modules/mediawiki/views.py:48 msgid "Password updated" msgstr "पासवर्ड अपडेट" -#: plinth/modules/mediawiki/views.py:72 +#: plinth/modules/mediawiki/views.py:57 msgid "Public registrations enabled" msgstr "सार्वजनिक रेगीसट्रेशिन सक्षम किया" -#: plinth/modules/mediawiki/views.py:81 +#: plinth/modules/mediawiki/views.py:66 msgid "Public registrations disabled" msgstr "सार्वजनिक रेगीसट्रेशिन अक्षम किया" -#: plinth/modules/mediawiki/views.py:86 +#: plinth/modules/mediawiki/views.py:71 msgid "Private mode enabled" msgstr "निजी मोड सक्षम किया" -#: plinth/modules/mediawiki/views.py:93 +#: plinth/modules/mediawiki/views.py:78 msgid "Private mode disabled" msgstr "निजी मोड सक्षम किया" -#: plinth/modules/mediawiki/views.py:101 +#: plinth/modules/mediawiki/views.py:86 #, fuzzy #| msgid "Setting unchanged" msgid "Default skin changed" msgstr "सेटिंग स्थिर है" -#: plinth/modules/minetest/__init__.py:37 +#: plinth/modules/minetest/__init__.py:38 #, python-brace-format msgid "" "Minetest is a multiplayer infinite-world block sandbox. This module enables " @@ -2840,30 +2826,30 @@ msgstr "" "{box_name} पर चल सकवाते है, डिफ़ॉल्ट पोर्ट (३००००) पर. सर्वर से कनेक्ट करने के लिए, एक " "मैइनटेस्ट क्लायंटकी आवश्यकता है." -#: plinth/modules/minetest/__init__.py:63 +#: plinth/modules/minetest/__init__.py:62 #: plinth/modules/minetest/manifest.py:10 msgid "Minetest" msgstr "मैइनटेस्ट" -#: plinth/modules/minetest/__init__.py:64 +#: plinth/modules/minetest/__init__.py:63 msgid "Block Sandbox" msgstr "ब्लॉक सेंडबोक्स" -#: plinth/modules/minetest/forms.py:15 +#: plinth/modules/minetest/forms.py:13 msgid "Maximum number of players" msgstr "खिलाड़ियों की अधिकतम संख्या" -#: plinth/modules/minetest/forms.py:17 +#: plinth/modules/minetest/forms.py:15 msgid "" "You can change the maximum number of players playing minetest at a single " "instance of time." msgstr "आप एक पल पर मैइनटेस्ट का खिलाड़ियों की अधिकतम संख्या को बदल सकते हैं." -#: plinth/modules/minetest/forms.py:21 +#: plinth/modules/minetest/forms.py:19 msgid "Enable creative mode" msgstr "क्रिएटिव मोड सक्षम करें" -#: plinth/modules/minetest/forms.py:22 +#: plinth/modules/minetest/forms.py:20 msgid "" "Creative mode changes the rules of the game to make it more suitable for " "creative gameplay, rather than challenging \"survival\" gameplay." @@ -2871,19 +2857,19 @@ msgstr "" "क्रिएटिव मोड खेल के नियम बदलता है तो क्रिएटिव गेमप्ले और आसान हो जाएगा, और मुश्किल " "\"अस्तित्व\" गेमप्ले की बजाय." -#: plinth/modules/minetest/forms.py:27 +#: plinth/modules/minetest/forms.py:25 msgid "Enable PVP" msgstr "पिवीपि सक्षम करें" -#: plinth/modules/minetest/forms.py:28 +#: plinth/modules/minetest/forms.py:26 msgid "Enabling Player Vs Player will allow players to damage other players." msgstr "खिलाड़ी v. खिलाड़ी को सक्षम करने से खिलाड़ियों एक दूसरे को चोट लग सकेगा." -#: plinth/modules/minetest/forms.py:32 +#: plinth/modules/minetest/forms.py:30 msgid "Enable damage" msgstr "क्षति को सक्षम करें" -#: plinth/modules/minetest/forms.py:33 +#: plinth/modules/minetest/forms.py:31 msgid "When disabled, players cannot die or receive damage of any kind." msgstr "अक्षम होने पर खिलाड़ियों नहीं मर सकते या किसी चोट लग सकते." @@ -2924,19 +2910,19 @@ msgid "" "Kodi." msgstr "" -#: plinth/modules/minidlna/__init__.py:33 +#: plinth/modules/minidlna/__init__.py:44 msgid "Media streaming server" msgstr "" -#: plinth/modules/minidlna/__init__.py:47 +#: plinth/modules/minidlna/__init__.py:48 msgid "Simple Media Server" msgstr "" -#: plinth/modules/minidlna/forms.py:15 +#: plinth/modules/minidlna/forms.py:13 msgid "Media Files Directory" msgstr "" -#: plinth/modules/minidlna/forms.py:16 +#: plinth/modules/minidlna/forms.py:14 msgid "" "Directory that MiniDLNA Server will read for content. All sub-directories of " "this will be also scanned for media files. If you change the default ensure " @@ -2988,20 +2974,20 @@ msgid "" "On {box_name}, downloaded files can be found in /var/lib/mldonkey/ directory." msgstr "" -#: plinth/modules/mldonkey/__init__.py:40 +#: plinth/modules/mldonkey/__init__.py:50 #, fuzzy #| msgid "Download files using BitTorrent applications" msgid "Download files using eDonkey applications" msgstr "बिटटोरेंट एप्लिकेशन उपयोग कर फ़ाइल डाउनलोड करें" -#: plinth/modules/mldonkey/__init__.py:54 +#: plinth/modules/mldonkey/__init__.py:53 #: plinth/modules/mldonkey/manifest.py:12 #, fuzzy #| msgid "Monkeysphere" msgid "MLDonkey" msgstr "मंकीसफीर" -#: plinth/modules/mldonkey/__init__.py:56 +#: plinth/modules/mldonkey/__init__.py:55 #, fuzzy #| msgid "File Sharing" msgid "Peer-to-peer File Sharing" @@ -3019,7 +3005,7 @@ msgstr "मंकीसफीर" msgid "AMLDonkey" msgstr "मंकीसफीर" -#: plinth/modules/monkeysphere/__init__.py:18 +#: plinth/modules/monkeysphere/__init__.py:19 msgid "" "With Monkeysphere, an OpenPGP key can be generated for each configured " "domain serving SSH. The OpenPGP public key can then be uploaded to the " @@ -3038,7 +3024,7 @@ msgstr "" "है. Monkeysphere SSH documentation देखिये और जानकारी के लिये." -#: plinth/modules/monkeysphere/__init__.py:26 +#: plinth/modules/monkeysphere/__init__.py:27 msgid "" "Monkeysphere can also generate an OpenPGP key for each Secure Web Server " "(HTTPS) certificate installed on this machine. The OpenPGP public key can " @@ -3055,7 +3041,7 @@ msgstr "" "जो Monkeysphere website पर उपलब्ध है." -#: plinth/modules/monkeysphere/__init__.py:50 +#: plinth/modules/monkeysphere/__init__.py:49 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:11 msgid "Monkeysphere" msgstr "मंकीसफीर" @@ -3104,15 +3090,15 @@ msgstr "चाबी का विवरण दिखाएं %(fingerprint)s" msgid "-" msgstr "-" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:128 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:129 msgid "Import Key" msgstr "इमपोरट चाबी" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:137 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:139 msgid "Publish Key" msgstr "चाबी प्रकाशित करें" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:146 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:149 msgid "Add Domains" msgstr "डोमेन्स जोड़ें" @@ -3184,13 +3170,13 @@ msgstr "चाबी किसर्वर पर प्रकाशित क msgid "Error occurred while publishing key." msgstr "चाबी प्रकाशित करते समय एरर हो गया." -#: plinth/modules/mumble/__init__.py:23 +#: plinth/modules/mumble/__init__.py:24 msgid "" "Mumble is an open source, low-latency, encrypted, high quality voice chat " "software." msgstr "ममबल एक खुला सोरस, कम विलंबता, एन्क्रिप्टेड अच्छा गुणवत्ता आवाज चैट सॉफ्टवेयर है." -#: plinth/modules/mumble/__init__.py:25 +#: plinth/modules/mumble/__init__.py:26 msgid "" "You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your " @@ -3200,21 +3186,21 @@ msgstr "" "mumble.info\">Clients अापके डेस्कटॉप और एंड्रॉयड डिवाइस से ममबल से कनेक्ट होने के " "लिए उपलब्ध हैं." -#: plinth/modules/mumble/__init__.py:49 plinth/modules/mumble/manifest.py:12 +#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:12 msgid "Mumble" msgstr "ममबल" -#: plinth/modules/mumble/__init__.py:50 +#: plinth/modules/mumble/__init__.py:49 msgid "Voice Chat" msgstr "वॉयस चैट" -#: plinth/modules/mumble/forms.py:16 +#: plinth/modules/mumble/forms.py:14 #, fuzzy #| msgid "Save Password" msgid "Set SuperUser Password" msgstr "पासवर्ड सहेजें" -#: plinth/modules/mumble/forms.py:19 +#: plinth/modules/mumble/forms.py:17 msgid "" "Optional. Leave this field blank to keep the current password. SuperUser " "password can be used to manage permissions in Mumble." @@ -3525,7 +3511,7 @@ msgstr "खुला" #: plinth/modules/networks/forms.py:297 #, fuzzy, python-brace-format #| msgid "Use upstream bridges to connect to Tor network" -msgid "Choose how your {box_name} is connected to your network" +msgid "Specify how your {box_name} is connected to your network" msgstr "अपस्ट्रीम ब्रिजस उपयोग करके टो नेटवर्क से कनेक्ट करें" #: plinth/modules/networks/forms.py:304 @@ -3746,7 +3732,7 @@ msgstr "आईपीवी4" #: plinth/modules/networks/templates/connection_show.html:171 #: plinth/modules/networks/templates/connection_show.html:212 -#: plinth/modules/shadowsocks/forms.py:49 +#: plinth/modules/shadowsocks/forms.py:48 msgid "Method" msgstr "तरीका" @@ -3762,7 +3748,7 @@ msgstr "डीएनएस सर्वर" #: plinth/modules/networks/templates/connection_show.html:201 #: plinth/modules/networks/templates/connection_show.html:240 -#: plinth/modules/storage/forms.py:141 +#: plinth/modules/storage/forms.py:139 msgid "Default" msgstr "डिफ़ॉल्ट" @@ -4242,6 +4228,11 @@ msgstr "सेटअप पूरा हो गया." msgid "Setup failed." msgstr "सेटअप विफल." +#: plinth/modules/openvpn/views.py:135 plinth/modules/tor/views.py:136 +#: plinth/views.py:196 +msgid "Setting unchanged" +msgstr "सेटिंग स्थिर है" + #: plinth/modules/pagekite/__init__.py:27 #, python-brace-format msgid "" @@ -4317,11 +4308,11 @@ msgstr "सार्वजनिक विसिबिलिटी" msgid "PageKite Domain" msgstr "पेजकईट अकाउंट" -#: plinth/modules/pagekite/forms.py:48 +#: plinth/modules/pagekite/forms.py:47 msgid "Server domain" msgstr "सर्वर डोमेन" -#: plinth/modules/pagekite/forms.py:50 +#: plinth/modules/pagekite/forms.py:49 msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " "pagekite.net server." @@ -4329,72 +4320,72 @@ msgstr "" "अपने पेजकईटसर्वर चूनें. \"pagekite.net\" सेट करें डिफ़ॉल्ट pagekite.net सर्वर उपयोग करने " "के लिए." -#: plinth/modules/pagekite/forms.py:53 plinth/modules/shadowsocks/forms.py:40 +#: plinth/modules/pagekite/forms.py:52 plinth/modules/shadowsocks/forms.py:39 msgid "Server port" msgstr "सर्वर पोर्ट" -#: plinth/modules/pagekite/forms.py:54 +#: plinth/modules/pagekite/forms.py:53 msgid "Port of your pagekite server (default: 80)" msgstr "अपने पेजकईट सर्वर का पोर्ट (डिफ़ॉल्ट: ८०)" -#: plinth/modules/pagekite/forms.py:56 +#: plinth/modules/pagekite/forms.py:55 msgid "Kite name" msgstr "कईट नाम" -#: plinth/modules/pagekite/forms.py:57 +#: plinth/modules/pagekite/forms.py:56 msgid "Example: mybox.pagekite.me" msgstr "उदाहरण: mybox.pagekite.me" -#: plinth/modules/pagekite/forms.py:59 +#: plinth/modules/pagekite/forms.py:58 msgid "Invalid kite name" msgstr "अमान्य कईट नाम" -#: plinth/modules/pagekite/forms.py:63 +#: plinth/modules/pagekite/forms.py:62 msgid "Kite secret" msgstr "कईट गुप्त" -#: plinth/modules/pagekite/forms.py:64 +#: plinth/modules/pagekite/forms.py:63 msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." msgstr "" "एक कोई का सम्बंधित गुप्त या अपना अकाउंट का डिफ़ॉल्ट गुप्त अगर कोई रहस्य कईट पर सेट है." -#: plinth/modules/pagekite/forms.py:101 +#: plinth/modules/pagekite/forms.py:100 msgid "protocol" msgstr "प्रोटोकॉल" -#: plinth/modules/pagekite/forms.py:104 +#: plinth/modules/pagekite/forms.py:103 msgid "external (frontend) port" msgstr "बाहरी (फ्रंटेंड) पोर्ट" -#: plinth/modules/pagekite/forms.py:107 +#: plinth/modules/pagekite/forms.py:106 msgid "internal (freedombox) port" msgstr "आंतरिक (फ्रीडमबॉकस) पोर्ट" -#: plinth/modules/pagekite/forms.py:108 +#: plinth/modules/pagekite/forms.py:107 msgid "Enable Subdomains" msgstr "सबडोमेन सक्षम करें" -#: plinth/modules/pagekite/forms.py:142 +#: plinth/modules/pagekite/forms.py:141 msgid "Deleted custom service" msgstr "हटाई गई कस्टम सर्विस" -#: plinth/modules/pagekite/forms.py:175 +#: plinth/modules/pagekite/forms.py:174 #, fuzzy #| msgid "" #| "This service is available as a standard service. Please use the " #| "\"Standard Services\" page to enable it." msgid "This service is already available as a standard service." msgstr "" -"यह सर्विस एक मानक सर्विस के रूप में उपलब्ध है. इसे सक्षम करने के लिए \"मानक सर्विस\" पेज " +"यह सर्विस एक मानक सर्विस के रूप में उपलब्ध है. इसे सक्षम करने के लिए \"मानक सर्विस\" पेज " "का उपयोग करें." -#: plinth/modules/pagekite/forms.py:183 +#: plinth/modules/pagekite/forms.py:182 msgid "Added custom service" msgstr "जोड़ा गया कस्टम सर्विस" -#: plinth/modules/pagekite/forms.py:186 +#: plinth/modules/pagekite/forms.py:185 msgid "This service already exists" msgstr "यह सर्विस पहले से मौजूद है" @@ -4530,7 +4521,7 @@ msgstr "" msgid "Shut Down Now" msgstr "अब शट डाउन करें" -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 msgid "" "Privoxy is a non-caching web proxy with advanced filtering capabilities for " "enhancing privacy, modifying web page data and HTTP headers, controlling " @@ -4540,7 +4531,7 @@ msgstr "" "लिए, वेब पेज डेटा और HTTP हेडर को मोडिफाई करने के लिए, ऐकसेस को नियंत्रित करने के लिए " "और एड या दुसरा इंटरनेट का जंक हटाने के लिए. " -#: plinth/modules/privoxy/__init__.py:33 +#: plinth/modules/privoxy/__init__.py:34 #, python-brace-format msgid "" "You can use Privoxy by modifying your browser proxy settings to your " @@ -4554,20 +4545,20 @@ msgstr "" "कॉन्फ़िगरेशन विवरण और प्रलेखन यहां देख सकते हैं http://config.privoxy.org/ या http://p.p." -#: plinth/modules/privoxy/__init__.py:56 +#: plinth/modules/privoxy/__init__.py:55 msgid "Privoxy" msgstr "प्रिवोक्सी" -#: plinth/modules/privoxy/__init__.py:57 +#: plinth/modules/privoxy/__init__.py:56 msgid "Web Proxy" msgstr "वेब प्रॉक्सी" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:119 #, python-brace-format msgid "Access {url} with proxy {proxy} on tcp{kind}" msgstr "{url} ऐकसेस करें प्रॉक्सी लेकर {proxy} टीसीपी पर{kind}" -#: plinth/modules/quassel/__init__.py:32 +#: plinth/modules/quassel/__init__.py:33 #, python-brace-format msgid "" "Quassel is an IRC application that is split into two parts, a \"core\" and a " @@ -4583,7 +4574,7 @@ msgstr "" "ताकि आप हमेशा ऑनलाइन रखते हुए और एक या अधिक क्वासेल क्लाइंट डेस्कटॉप या मोबाइल से इसेसे " "कनेक्ट और डिस्कनेक्ट करने के लिए उपयोग किया जा सकता है." -#: plinth/modules/quassel/__init__.py:39 +#: plinth/modules/quassel/__init__.py:40 msgid "" "You can connect to your Quassel core on the default Quassel port 4242. " "Clients to connect to Quassel from your मोबाइल से कनेक्ट होने के लिए क्लाइंट्स उपलब्ध " "हैं." -#: plinth/modules/quassel/__init__.py:62 plinth/modules/quassel/manifest.py:10 +#: plinth/modules/quassel/__init__.py:61 plinth/modules/quassel/manifest.py:10 msgid "Quassel" msgstr "क्वासेल" -#: plinth/modules/quassel/__init__.py:63 +#: plinth/modules/quassel/__init__.py:62 msgid "IRC Client" msgstr "आईआरसी क्लाइंट" -#: plinth/modules/quassel/forms.py:23 +#: plinth/modules/quassel/forms.py:22 #, fuzzy #| msgid "Subdomain" msgid "TLS domain" msgstr "सबडोमेन" -#: plinth/modules/quassel/forms.py:25 +#: plinth/modules/quassel/forms.py:24 msgid "" "Select a domain to use TLS with. If the list is empty, please configure at " "least one domain with certificates." @@ -4619,7 +4610,7 @@ msgstr "" msgid "Quasseldroid" msgstr "क्वासेलड्रोइड" -#: plinth/modules/radicale/__init__.py:32 +#: plinth/modules/radicale/__init__.py:33 #, python-brace-format msgid "" "Radicale is a CalDAV and CardDAV server. It allows synchronization and " @@ -4632,27 +4623,27 @@ msgstr "" "org/clients/\">समर्थित क्लाइंट एप्लिकेशन कि जरुरत है. राडिकैल किसी {box_name} " "यूसर पहुंचा जा सकता है एक लॉगिन के साथ." -#: plinth/modules/radicale/__init__.py:37 +#: plinth/modules/radicale/__init__.py:38 msgid "" "Radicale provides a basic web interface, which only supports creating new " "calendars and addressbooks. It does not support adding events or contacts, " "which must be done using a separate client." msgstr "" -#: plinth/modules/radicale/__init__.py:62 +#: plinth/modules/radicale/__init__.py:61 #: plinth/modules/radicale/manifest.py:75 msgid "Radicale" msgstr "राडिकैल" -#: plinth/modules/radicale/__init__.py:63 +#: plinth/modules/radicale/__init__.py:62 msgid "Calendar and Addressbook" msgstr "कैलेंडर और पता पुस्तिका" -#: plinth/modules/radicale/forms.py:15 +#: plinth/modules/radicale/forms.py:14 msgid "Only the owner of a calendar/addressbook can view or make changes." msgstr "सिर्फ कैलेंडर/पता पुस्तिका का मालिक परिवर्तन देख या कर सकता है." -#: plinth/modules/radicale/forms.py:19 +#: plinth/modules/radicale/forms.py:18 #, python-brace-format msgid "" "Any user with a {box_name} login can view any calendar/addressbook, but only " @@ -4661,7 +4652,7 @@ msgstr "" "किसी यूसर {box_name} लॉगिन के साथ कैलेंडर/पता पुस्तिका देख सकते हैं, लेकिन सिर्फ मालिक " "परिवर्तन कर सकते हैं." -#: plinth/modules/radicale/forms.py:24 +#: plinth/modules/radicale/forms.py:23 #, python-brace-format msgid "" "Any user with a {box_name} login can view or make changes to any calendar/" @@ -4816,11 +4807,11 @@ msgid "" "private space." msgstr "" -#: plinth/modules/samba/__init__.py:47 +#: plinth/modules/samba/__init__.py:59 msgid "Access to the private shares" msgstr "" -#: plinth/modules/samba/__init__.py:61 +#: plinth/modules/samba/__init__.py:62 msgid "Samba" msgstr "" @@ -4894,13 +4885,13 @@ msgstr "शेयर जोड़ा गया." msgid "Action" msgstr "एक्सआयन" -#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:149 +#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:147 #, fuzzy #| msgid "Add Share" msgid "Open Share" msgstr "शेयर जोड़ें" -#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:147 +#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:145 #, fuzzy #| msgid "Add Share" msgid "Group Share" @@ -4952,43 +4943,43 @@ msgstr "" "सिरएक्स खोज इंजन द्वारा ट्रैकिंग और प्रोफाइलिंग से बचने के लिए इस्तेमाल किया जा सकता है. " "यह डिफ़ॉल्ट से कोई कुकीज़ स्टोर नहीं करता है." -#: plinth/modules/searx/__init__.py:31 +#: plinth/modules/searx/__init__.py:45 msgid "Search the web" msgstr "वेब सरच किजिये" -#: plinth/modules/searx/__init__.py:47 plinth/modules/searx/manifest.py:9 +#: plinth/modules/searx/__init__.py:48 plinth/modules/searx/manifest.py:9 msgid "Searx" msgstr "सिरएक्स" -#: plinth/modules/searx/__init__.py:48 +#: plinth/modules/searx/__init__.py:49 msgid "Web Search" msgstr "वेब खोज" -#: plinth/modules/searx/forms.py:15 +#: plinth/modules/searx/forms.py:13 msgid "Safe Search" msgstr "सेफ खोज" -#: plinth/modules/searx/forms.py:16 +#: plinth/modules/searx/forms.py:14 msgid "Select the default family filter to apply to your search results." msgstr "अपने खोज परिणामों पर अप्लाई करने के लिए डिफ़ॉल्ट परिवार फ़िल्टर चूनिये." -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "None" msgstr "कोई नहीं" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "Moderate" msgstr "मॉडरेट" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "Strict" msgstr "स्ट्रिक्ट" -#: plinth/modules/searx/forms.py:20 +#: plinth/modules/searx/forms.py:18 msgid "Allow Public Access" msgstr "" -#: plinth/modules/searx/forms.py:21 +#: plinth/modules/searx/forms.py:19 msgid "Allow this application to be used by anyone who can reach it." msgstr "" @@ -5186,29 +5177,29 @@ msgstr "शाडोसोक्स" msgid "Socks5 Proxy" msgstr "सोक्स5 प्रॉक्सी" +#: plinth/modules/shadowsocks/forms.py:12 #: plinth/modules/shadowsocks/forms.py:13 -#: plinth/modules/shadowsocks/forms.py:14 msgid "Recommended" msgstr "अनुशंसित" -#: plinth/modules/shadowsocks/forms.py:37 +#: plinth/modules/shadowsocks/forms.py:36 msgid "Server" msgstr "सर्वर" -#: plinth/modules/shadowsocks/forms.py:38 +#: plinth/modules/shadowsocks/forms.py:37 msgid "Server hostname or IP address" msgstr "सर्वर होस्ट नाम या IP एड्रेस" -#: plinth/modules/shadowsocks/forms.py:42 +#: plinth/modules/shadowsocks/forms.py:41 msgid "Server port number" msgstr "सर्वर पोर्ट नंबर" -#: plinth/modules/shadowsocks/forms.py:45 +#: plinth/modules/shadowsocks/forms.py:44 msgid "Password used to encrypt data. Must match server password." msgstr "" "डेटा एंक्रिप्ट करने के लिए पासवर्ड उपयोग किया गया . सर्वर पासवर्ड से मेल खाना चाहिए." -#: plinth/modules/shadowsocks/forms.py:50 +#: plinth/modules/shadowsocks/forms.py:49 msgid "Encryption method. Must match setting on server." msgstr "एंक्रिप्शन मेथोड. सर्वर सेटिंग पर मेल खाना चाहिए." @@ -5255,13 +5246,13 @@ msgstr "चाबी प्रकाशित करें" msgid "Make files in this folder available to anyone with the link." msgstr "" -#: plinth/modules/sharing/forms.py:33 +#: plinth/modules/sharing/forms.py:34 #, fuzzy #| msgid "User groups who can read the files in the share" msgid "User groups that can read the files in the share" msgstr "युसर समूह जो शयर में फ़ाइलें पढ़ सकते हैं" -#: plinth/modules/sharing/forms.py:35 +#: plinth/modules/sharing/forms.py:36 #, fuzzy #| msgid "" #| "Users who have these permissions will also be able to read the files in " @@ -5558,13 +5549,13 @@ msgstr "" msgid "Secure Shell (SSH) Server" msgstr "सुरक्षित शैल (SSH) सर्वर" -#: plinth/modules/ssh/forms.py:15 +#: plinth/modules/ssh/forms.py:13 #, fuzzy #| msgid "Use HTTP basic authentication" msgid "Disable password authentication" msgstr "एचटिटिपि बेसिकॅ प्रमाणीकरण उपयोग करें" -#: plinth/modules/ssh/forms.py:16 +#: plinth/modules/ssh/forms.py:14 msgid "" "Improves security by preventing password guessing. Ensure that you have " "setup SSH keys in your administrator user account before enabling this " @@ -5617,88 +5608,88 @@ msgid "" "media, expand the root partition etc." msgstr "" -#: plinth/modules/storage/__init__.py:52 plinth/modules/storage/__init__.py:318 +#: plinth/modules/storage/__init__.py:54 plinth/modules/storage/__init__.py:320 msgid "Storage" 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 "किसी और यूसर ने डिवाइस माउंट किया गया है." -#: plinth/modules/storage/__init__.py:313 +#: plinth/modules/storage/__init__.py:315 #, fuzzy, no-python-format, python-brace-format #| msgid "" #| "Warning: Low space on system partition ({percent_used}% used, " @@ -5708,53 +5699,53 @@ msgstr "" "वार्निंग: सिस्टम पार्टीशन पर कम जगह ({percent_used}% उपयोग किया गया, " "{free_space} free)." -#: plinth/modules/storage/__init__.py:315 +#: plinth/modules/storage/__init__.py:317 msgid "Low disk space" msgstr "" -#: plinth/modules/storage/forms.py:64 +#: plinth/modules/storage/forms.py:63 #, fuzzy #| msgid "Invalid hostname" msgid "Invalid directory name." msgstr "अमान्य होस्टनाम" -#: plinth/modules/storage/forms.py:82 +#: plinth/modules/storage/forms.py:80 msgid "Directory does not exist." msgstr "" -#: plinth/modules/storage/forms.py:84 +#: plinth/modules/storage/forms.py:83 #, fuzzy #| msgid "Download directory" msgid "Path is not a directory." msgstr "डायरेक्टरी डाउनलोड करें" -#: plinth/modules/storage/forms.py:87 +#: plinth/modules/storage/forms.py:86 #, fuzzy #| msgid "The device is mounted by another user." msgid "Directory is not readable by the user." msgstr "किसी और यूसर ने डिवाइस माउंट किया गया है." -#: plinth/modules/storage/forms.py:90 +#: plinth/modules/storage/forms.py:89 msgid "Directory is not writable by the user." msgstr "" -#: plinth/modules/storage/forms.py:95 +#: plinth/modules/storage/forms.py:94 #, fuzzy #| msgid "Download directory" msgid "Directory" msgstr "डायरेक्टरी डाउनलोड करें" -#: plinth/modules/storage/forms.py:98 +#: plinth/modules/storage/forms.py:96 msgid "Subdirectory (optional)" msgstr "" -#: plinth/modules/storage/forms.py:145 +#: plinth/modules/storage/forms.py:143 #, fuzzy #| msgid "Shared" msgid "Share" msgstr "साझा किया गया" -#: plinth/modules/storage/forms.py:153 +#: plinth/modules/storage/forms.py:151 msgid "Other directory (specify below)" msgstr "" @@ -5838,14 +5829,22 @@ msgstr "" "फ़ाइलों का निर्माण, संशोधन, या हटाना ऑटोमेटिक दोहरा किया गया." #: plinth/modules/syncthing/__init__.py:31 -#, python-brace-format +#, fuzzy, python-brace-format +#| msgid "" +#| "Running Syncthing on {box_name} provides an extra synchronization point " +#| "for your data that is available most of the time, allowing your devices " +#| "to synchronize more often. {box_name} runs a single instance of " +#| "Syncthing that may be used by multiple users. Each user's set of devices " +#| "may be synchronized with a distinct set of folders. The web interface on " +#| "{box_name} is only available for users belonging to the \"admin\" group." msgid "" "Running Syncthing on {box_name} provides an extra synchronization point for " "your data that is available most of the time, allowing your devices to " "synchronize more often. {box_name} runs a single instance of Syncthing that " "may be used by multiple users. Each user's set of devices may be " "synchronized with a distinct set of folders. The web interface on " -"{box_name} is only available for users belonging to the \"admin\" group." +"{box_name} is only available for users belonging to the \"admin\" or " +"\"syncthing\" group." msgstr "" "{box_name} पर सिंकतिन्ग चलना अपना डाटा सिंक्रनाइज़ करने के लिए एक अधिक पॉइंट प्रदान " "करता, तह आपके डिवाइसस को अधिक बार सिंक्रनाइज़ करने की इजाजत देता है. {box_name} " @@ -5853,16 +5852,16 @@ msgstr "" "सेट एक फ़ोल्डर्स का एक अलग सेट का उपयोग करके सिंक्रनाइज़ किया जा सकता है. {box_name} " "पर वेब इंटरफेस सिर्फ \"एडमिन\" समूह के यूसकस के लिए उपलब्ध है." -#: plinth/modules/syncthing/__init__.py:40 +#: plinth/modules/syncthing/__init__.py:53 msgid "Administer Syncthing application" msgstr "सिंकतिन्ग एप्लिकेशन का प्रशासन करें" -#: plinth/modules/syncthing/__init__.py:54 +#: plinth/modules/syncthing/__init__.py:56 #: plinth/modules/syncthing/manifest.py:13 msgid "Syncthing" msgstr "सिंकतिन्ग" -#: plinth/modules/syncthing/__init__.py:55 +#: plinth/modules/syncthing/__init__.py:57 msgid "File Synchronization" msgstr "फ़ाइल सिंक्रनाइज़ेशन" @@ -5908,33 +5907,33 @@ msgstr "" "टाहो-एलएएफएस यहाॅं से पहुंच सकते हैंhttps://" "%(domain_name)s:5678." -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:39 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:29 msgid "Local introducer" msgstr "स्थानीय इंट्रोड्यूसर" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:59 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:76 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:33 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:49 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:66 msgid "Pet Name" msgstr "पेट नाम" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:56 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:46 msgid "Add new introducer" msgstr "नया इंट्रोड्यूसर जोड़ें" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:67 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:57 msgid "Add" msgstr "जोड़ें" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:72 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:62 msgid "Connected introducers" msgstr "कनेक्टेड इंट्रोड्यूसरस" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:89 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:79 msgid "Remove" msgstr "निकालें" -#: plinth/modules/tor/__init__.py:33 +#: plinth/modules/tor/__init__.py:34 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -5947,42 +5946,42 @@ msgstr "" "टो प्रोजेक्ट सिफारिश की है कि आप टो ब्राउज़र उपयोग करें." -#: plinth/modules/tor/__init__.py:55 +#: plinth/modules/tor/__init__.py:54 msgid "Tor" msgstr "टोर" -#: plinth/modules/tor/__init__.py:66 +#: plinth/modules/tor/__init__.py:65 #, fuzzy #| msgid "Tor Hidden Service" msgid "Tor Onion Service" msgstr "टोर हिडन सर्विस" -#: plinth/modules/tor/__init__.py:70 +#: plinth/modules/tor/__init__.py:69 msgid "Tor Socks Proxy" msgstr "टोर सोक्स प्रॉक्सी" -#: plinth/modules/tor/__init__.py:74 +#: plinth/modules/tor/__init__.py:73 msgid "Tor Bridge Relay" msgstr "टो ब्रिज रीले" -#: plinth/modules/tor/__init__.py:95 +#: plinth/modules/tor/__init__.py:98 msgid "Tor relay port available" msgstr "टोर रीले पोर्ट उपलब्ध है" -#: plinth/modules/tor/__init__.py:105 +#: plinth/modules/tor/__init__.py:108 msgid "Obfs3 transport registered" msgstr "Obfs3 ट्रांसपोर्ट पंजीकृत" -#: plinth/modules/tor/__init__.py:115 +#: plinth/modules/tor/__init__.py:118 msgid "Obfs4 transport registered" msgstr "Obfs4 ट्रांसपोर्ट पंजीकृत" -#: plinth/modules/tor/__init__.py:208 +#: plinth/modules/tor/__init__.py:211 #, python-brace-format msgid "Access URL {url} on tcp{kind} via Tor" msgstr "यूआरएल एक्सेस करें {url} टीसीपी पर {kind} टोर के माध्यम से" -#: plinth/modules/tor/__init__.py:219 +#: plinth/modules/tor/__init__.py:222 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "टोर उपयोग की पुष्टि करें {url} पर टीसीपी पर {kind}" @@ -6135,7 +6134,7 @@ 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:27 +#: plinth/modules/transmission/__init__.py:28 msgid "" "BitTorrent is a peer-to-peer file sharing protocol. Transmission daemon " "handles Bitorrent file sharing. Note that BitTorrent is not anonymous." @@ -6143,7 +6142,7 @@ msgstr "" "बिटटोरेंट एक पीअर-टू-पीअर फ़ाइल साझा प्रोटोकॉल है. ट्रांसमिशन डेमॉन बिटटोरेंट फ़ाइल साझा " "संभालती है. नोट-बिटटोरेंट अनाम नहीं है." -#: plinth/modules/transmission/__init__.py:48 +#: plinth/modules/transmission/__init__.py:51 #: plinth/modules/transmission/manifest.py:9 msgid "Transmission" msgstr "हस्तांतरण" @@ -6185,15 +6184,15 @@ msgstr "" "टैनी टैनी आरएसएस का मोबाइल या डेस्कटॉप एप्लिकेशन उपयोग करते समय, यह यूआरएल/tt-rss-app कनेक्ट करने के लिए उपयोग करें." -#: plinth/modules/ttrss/__init__.py:42 +#: plinth/modules/ttrss/__init__.py:54 msgid "Read and subscribe to news feeds" msgstr "समाचार फ़ीड्स पढ़ें और सब्सक्राइब करें" -#: plinth/modules/ttrss/__init__.py:56 plinth/modules/ttrss/manifest.py:19 +#: plinth/modules/ttrss/__init__.py:57 plinth/modules/ttrss/manifest.py:19 msgid "Tiny Tiny RSS" msgstr "टिनी टिनी आरएसएस" -#: plinth/modules/ttrss/__init__.py:57 +#: plinth/modules/ttrss/__init__.py:58 msgid "News Feed Reader" msgstr "समाचार फ़ीड रीडर" @@ -6205,11 +6204,11 @@ msgstr "टैनी टैनी आरएसएस (फोर्क)" msgid "Check for and apply the latest software and security updates." msgstr "" -#: plinth/modules/upgrades/__init__.py:38 plinth/templates/setup.html:74 +#: plinth/modules/upgrades/__init__.py:40 plinth/templates/setup.html:74 msgid "Update" msgstr "अपडेट" -#: plinth/modules/upgrades/__init__.py:76 +#: plinth/modules/upgrades/__init__.py:78 #, fuzzy #| msgid "FreedomBox Foundation" msgid "FreedomBox Updated" @@ -6275,45 +6274,41 @@ msgstr "" #: plinth/modules/upgrades/templates/upgrades_configure.html:11 #: plinth/modules/upgrades/templates/upgrades_configure.html:12 -#: plinth/modules/upgrades/views.py:88 +#: plinth/modules/upgrades/views.py:85 #, fuzzy #| msgid "Last update" msgid "Manual update" msgstr "अंतिम अपडेट" -#: plinth/modules/upgrades/views.py:47 +#: plinth/modules/upgrades/views.py:46 #, python-brace-format msgid "Error when configuring unattended-upgrades: {error}" msgstr "अनअटेंडेड-अपग्रेडस कॉन्फ़िगर करते समय त्रुटि: {error}" -#: plinth/modules/upgrades/views.py:51 +#: plinth/modules/upgrades/views.py:50 msgid "Automatic upgrades enabled" msgstr "ऑटोमेटिक अपग्रेडस सक्षम किया गया" -#: plinth/modules/upgrades/views.py:54 +#: plinth/modules/upgrades/views.py:53 msgid "Automatic upgrades disabled" msgstr "ऑटोमेटिक अपग्रेडस अक्षम किया गया" -#: plinth/modules/upgrades/views.py:56 -msgid "Settings unchanged" -msgstr "सेटिंगस अपरिवर्तित" - -#: plinth/modules/upgrades/views.py:82 +#: plinth/modules/upgrades/views.py:79 msgid "Upgrade process started." msgstr "अपग्रेड प्रक्रिया शुरू हुई." -#: plinth/modules/upgrades/views.py:85 +#: plinth/modules/upgrades/views.py:82 msgid "Starting upgrade failed." msgstr "अपग्रेड प्रारंभ करना विफल रहा." -#: plinth/modules/users/__init__.py:37 +#: plinth/modules/users/__init__.py:39 msgid "" "Create and managed user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " "account to be part of a group to authorize the user to access the app." msgstr "" -#: plinth/modules/users/__init__.py:42 +#: plinth/modules/users/__init__.py:44 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -6321,65 +6316,71 @@ msgid "" "group may alter apps or system settings." msgstr "" -#: plinth/modules/users/__init__.py:64 +#: plinth/modules/users/__init__.py:65 msgid "Users and Groups" msgstr "यूसरस और समूह" -#: plinth/modules/users/__init__.py:115 +#: plinth/modules/users/__init__.py:78 +msgid "Access to all services and system settings" +msgstr "सब सर्विसस और सिस्टम सेटिंग्स तक पहुंच" + +#: plinth/modules/users/__init__.py:122 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "एलडीएपी प्रविष्टि चेक करें \"{search_item}\"" -#: plinth/modules/users/forms.py:28 -msgid "Access to all services and system settings" -msgstr "सब सर्विसस और सिस्टम सेटिंग्स तक पहुंच" - -#: plinth/modules/users/forms.py:44 +#: plinth/modules/users/forms.py:36 msgid "Username is taken or is reserved." msgstr "यूसरनाम लिया है या आरक्षित है." -#: plinth/modules/users/forms.py:72 +#: plinth/modules/users/forms.py:63 #, fuzzy #| msgid "Invalid server name" msgid "Enter a valid username." msgstr "सर्वर नाम अमान्य है" -#: plinth/modules/users/forms.py:78 +#: plinth/modules/users/forms.py:69 msgid "" "Required. 150 characters or fewer. English letters, digits and @/./-/_ only." msgstr "" -#: plinth/modules/users/forms.py:91 plinth/modules/users/forms.py:207 +#: plinth/modules/users/forms.py:83 plinth/modules/users/forms.py:196 msgid "Permissions" msgstr "अनुमतियाँ" -#: plinth/modules/users/forms.py:94 +#: plinth/modules/users/forms.py:85 +#, fuzzy +#| msgid "" +#| "Select which services should be available to the new user. The user will " +#| "be able to log in to services that support single sign-on through LDAP, " +#| "if they are in the appropriate group.

Users in the admin group " +#| "will be able to log in to all services. They can also log in to the " +#| "system through SSH and have administrative privileges (sudo)." msgid "" -"Select which services should be available to the new user. The user will be " -"able to log in to services that support single sign-on through LDAP, if they " -"are in the appropriate group.

Users in the admin group will be " -"able to log in to all services. They can also log in to the system through " -"SSH and have administrative privileges (sudo)." +"user. The user will be able to log in to services that support single sign-" +"on through LDAP, if they are in the appropriate group.

Users in " +"the admin group will be able to log in to all services. They can also log in " +"to the system through SSH and have administrative privileges (sudo)." msgstr "" "चयन करें कि कौन सी सर्विसस यूसरस को उपलब्ध होनी चाहिए. जब यूसरस उचित समूह में है, यूसरस " "उन सर्विसस में लॉग इन कर सकता है जो एलडीएपी के माध्यम से एकल साइन-ऑन समर्थन करता है. " "

एडमिन ग्रुप के यूसरस सब सर्विसस पर लॉग इन कर सकेगें. SSH के माध्यम से भी " "सिस्टम पर लॉग इन कर सकते है अाैर उनको प्रशासनिक विशेषाधिकार (sudo) है." -#: plinth/modules/users/forms.py:133 plinth/modules/users/forms.py:357 +#: plinth/modules/users/forms.py:122 plinth/modules/users/forms.py:345 msgid "Creating LDAP user failed." msgstr "एलडीएपी यूसर बनाना विफल रहा." -#: plinth/modules/users/forms.py:144 +#: plinth/modules/users/forms.py:133 #, python-brace-format msgid "Failed to add new user to {group} group." msgstr "{group} समूह में नया यूसर जोड़ने में विफल." -#: plinth/modules/users/forms.py:158 +#: plinth/modules/users/forms.py:147 msgid "Authorized SSH Keys" msgstr "" -#: plinth/modules/users/forms.py:160 +#: plinth/modules/users/forms.py:149 msgid "" "Setting an SSH public key will allow this user to securely log in to the " "system without using a password. You may enter multiple keys, one on each " @@ -6389,45 +6390,45 @@ msgstr "" "बिना सिस्टम में प्रवेश करने की अनुमति देगा. आप एकाधिक कीज़ दर्ज कर सकते हैं, हर लाइन रक " "एक. खाली लाइनस या # से प्रारंभ होने वाले लाइनस अनदेखा कर दिया जाएगा." -#: plinth/modules/users/forms.py:244 +#: plinth/modules/users/forms.py:233 msgid "Renaming LDAP user failed." msgstr "एलडीएपी यूसर का नाम बदलना विफल रहा." -#: plinth/modules/users/forms.py:256 +#: plinth/modules/users/forms.py:245 msgid "Failed to remove user from group." msgstr "समूह से यूसर को हटाने में विफल." -#: plinth/modules/users/forms.py:267 +#: plinth/modules/users/forms.py:256 msgid "Failed to add user to group." msgstr "समूह से यूसर को जोड़ने में विफल." -#: plinth/modules/users/forms.py:276 +#: plinth/modules/users/forms.py:265 msgid "Unable to set SSH keys." msgstr "एसएसएच कीज़ सेट करने में असमर्थ." -#: plinth/modules/users/forms.py:291 +#: plinth/modules/users/forms.py:280 #, fuzzy #| msgid "Failed to add user to group." msgid "Failed to change user status." msgstr "समूह से यूसर को जोड़ने में विफल." -#: plinth/modules/users/forms.py:299 +#: plinth/modules/users/forms.py:288 msgid "Cannot delete the only administrator in the system." msgstr "सिस्टम में केवल व्यवस्थापक को नहीं हटा सकता." -#: plinth/modules/users/forms.py:331 +#: plinth/modules/users/forms.py:319 msgid "Changing LDAP user password failed." msgstr "एलडीएपी यूसर का पासवर्ड बदलना विफल रहा." -#: plinth/modules/users/forms.py:366 +#: plinth/modules/users/forms.py:354 msgid "Failed to add new user to admin group." msgstr "व्यवस्थापक समूह में नया यूसर जोड़ने में विफल." -#: plinth/modules/users/forms.py:383 +#: plinth/modules/users/forms.py:371 msgid "Failed to restrict console access." msgstr "कंसोल एक्सेस प्रतिबंधित करने में विफल." -#: plinth/modules/users/forms.py:395 +#: plinth/modules/users/forms.py:383 msgid "User account created, you are now logged in" msgstr "युसर अकाउंट बनाया, अब आप लॉगड इन हैं" @@ -7241,18 +7242,22 @@ msgstr "%(package_names)s:%(status)s इंस्टॉलेशन किया msgid "%(percentage)s%% complete" msgstr "%(percentage)s%% पूर्ण" -#: plinth/views.py:184 -msgid "Application enabled" -msgstr "एप्लीकेशन सक्षम किया गया है" - -#: plinth/views.py:187 -msgid "Application disabled" -msgstr "एप्लीकेशन अक्षम किया गया है" - #: plinth/web_framework.py:107 msgid "Gujarati" msgstr "" +#~ msgid "Enable application" +#~ msgstr "एप्लिकेशन सक्षम करें" + +#~ msgid "Settings unchanged" +#~ msgstr "सेटिंगस अपरिवर्तित" + +#~ msgid "Application enabled" +#~ msgstr "एप्लीकेशन सक्षम किया गया है" + +#~ msgid "Application disabled" +#~ msgstr "एप्लीकेशन अक्षम किया गया है" + #~ msgid "Kite details set" #~ msgstr "कईट विवरण सेट" diff --git a/plinth/locale/hu/LC_MESSAGES/django.po b/plinth/locale/hu/LC_MESSAGES/django.po index 02ecb6f09..b792b74e0 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: 2020-03-23 18:54-0400\n" +"POT-Creation-Date: 2020-04-06 19:59-0400\n" "PO-Revision-Date: 2020-02-17 20:32+0000\n" "Last-Translator: Doma Gergő \n" "Language-Team: Hungarian web client felhasználó számára {box_name} " "felhasználónéven." -#: plinth/modules/ejabberd/__init__.py:70 +#: plinth/modules/ejabberd/__init__.py:69 msgid "ejabberd" msgstr "ejabberd" -#: plinth/modules/ejabberd/__init__.py:71 +#: plinth/modules/ejabberd/__init__.py:70 #: plinth/modules/matrixsynapse/__init__.py:68 msgid "Chat Server" msgstr "Chat szerver" -#: plinth/modules/ejabberd/forms.py:17 +#: plinth/modules/ejabberd/forms.py:16 msgid "Enable Message Archive Management" msgstr "Üzenetarchívum kezelésének engedélyezése" -#: plinth/modules/ejabberd/forms.py:19 +#: plinth/modules/ejabberd/forms.py:18 #, python-brace-format msgid "" "If enabled, your {box_name} will store chat message histories. This allows " @@ -1556,19 +1544,11 @@ msgstr "" "így fognak kinézni: username@%(domainname)s. Beállíthatod a " "rendszered domain nevét a Beállítások lapon." -#: plinth/modules/ejabberd/templates/ejabberd.html:35 -#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 -#: plinth/modules/snapshot/templates/snapshot.html:12 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:27 -#: plinth/templates/app.html:45 -msgid "Configuration" -msgstr "Beállítások" - -#: plinth/modules/ejabberd/views.py:58 +#: plinth/modules/ejabberd/views.py:45 msgid "Message Archive Management enabled" msgstr "Üzenetarchívum kezelése engedélyezve" -#: plinth/modules/ejabberd/views.py:62 +#: plinth/modules/ejabberd/views.py:49 msgid "Message Archive Management disabled" msgstr "Üzenetarchívum kezelése letiltva" @@ -1583,7 +1563,7 @@ msgstr "" "hálózati forgalmát felügyeli. A folyamatosan aktív és megfelelően beállított " "tűzfal csökkenti az internetről leselkedő biztonsági fenyegetések kockázatát." -#: plinth/modules/firewall/__init__.py:63 +#: plinth/modules/firewall/__init__.py:65 msgid "Firewall" msgstr "Tűzfal" @@ -1733,7 +1713,7 @@ msgstr "" "href=\"https://git-scm.com/docs/gittutorial\">Git gyorstalpalót (angolul)." -#: plinth/modules/gitweb/__init__.py:39 +#: plinth/modules/gitweb/__init__.py:51 msgid "Read-write access to Git repositories" msgstr "Olvasási-írási hozzáférés a Git tárolókhoz" @@ -1869,31 +1849,31 @@ msgstr "{name} törölve." msgid "Could not delete {name}: {error}" msgstr "{name} nem törölhető: {error}" -#: plinth/modules/help/__init__.py:30 +#: plinth/modules/help/__init__.py:32 msgid "Documentation" msgstr "Dokumentáció" -#: plinth/modules/help/__init__.py:33 plinth/modules/networks/forms.py:47 +#: plinth/modules/help/__init__.py:35 plinth/modules/networks/forms.py:47 #: plinth/modules/networks/forms.py:77 plinth/templates/help-menu.html:20 #: plinth/templates/help-menu.html:21 plinth/templates/index.html:128 msgid "Manual" msgstr "Kézikönyv" -#: plinth/modules/help/__init__.py:37 +#: plinth/modules/help/__init__.py:39 #: plinth/modules/help/templates/help_support.html:9 #: plinth/modules/help/views.py:43 plinth/templates/help-menu.html:27 #: plinth/templates/help-menu.html:28 msgid "Get Support" msgstr "Támogatás kérése" -#: plinth/modules/help/__init__.py:41 +#: plinth/modules/help/__init__.py:43 #: plinth/modules/help/templates/help_feedback.html:9 #: plinth/modules/help/views.py:37 plinth/templates/help-menu.html:33 #: plinth/templates/help-menu.html:34 msgid "Submit Feedback" msgstr "Visszajelzés küldése" -#: plinth/modules/help/__init__.py:45 +#: plinth/modules/help/__init__.py:47 #: plinth/modules/help/templates/help_contribute.html:9 #: plinth/modules/help/views.py:31 plinth/templates/help-menu.html:39 #: plinth/templates/help-menu.html:40 @@ -2033,7 +2013,7 @@ msgstr "" #: plinth/modules/help/templates/help_contribute.html:42 #: plinth/modules/power/templates/power_restart.html:27 #: plinth/modules/power/templates/power_shutdown.html:26 -#: plinth/templates/app-header.html:51 +#: plinth/templates/app-header.html:53 msgid "Learn more..." msgstr "Bővebben..." @@ -2206,19 +2186,19 @@ msgstr "" "Az első látogatás a megadott webes felületen elindítja a konfigurálási " "folyamatot." -#: plinth/modules/i2p/__init__.py:38 +#: plinth/modules/i2p/__init__.py:62 msgid "Manage I2P application" msgstr "I2P alkalmazás kezelése" -#: plinth/modules/i2p/__init__.py:64 plinth/modules/i2p/manifest.py:16 +#: plinth/modules/i2p/__init__.py:65 plinth/modules/i2p/manifest.py:16 msgid "I2P" msgstr "I2P" -#: plinth/modules/i2p/__init__.py:65 plinth/modules/tor/__init__.py:56 +#: plinth/modules/i2p/__init__.py:66 plinth/modules/tor/__init__.py:55 msgid "Anonymity Network" msgstr "Anonim hálózat" -#: plinth/modules/i2p/__init__.py:87 +#: plinth/modules/i2p/__init__.py:88 #, fuzzy #| msgid "Web Proxy" msgid "I2P Proxy" @@ -2298,18 +2278,18 @@ 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:39 -msgid "View and edit wiki applications" -msgstr "Wiki alkalmazások megtekintése és szerkesztése" - -#: plinth/modules/ikiwiki/__init__.py:53 plinth/modules/ikiwiki/manifest.py:9 +#: plinth/modules/ikiwiki/__init__.py:52 plinth/modules/ikiwiki/manifest.py:9 msgid "ikiwiki" msgstr "ikiwiki" -#: plinth/modules/ikiwiki/__init__.py:54 +#: plinth/modules/ikiwiki/__init__.py:53 msgid "Wiki and Blog" msgstr "Wiki és blog" +#: plinth/modules/ikiwiki/__init__.py:73 +msgid "View and edit wiki applications" +msgstr "Wiki alkalmazások megtekintése és szerkesztése" + #: plinth/modules/ikiwiki/forms.py:17 msgid "Admin Account Name" msgstr "Adminisztrátori fiók neve" @@ -2355,33 +2335,33 @@ msgstr "" "Ez a művelet el fog távolítani minden bejegyzést, oldalt és kommentet " "beleértve a verziótörténetet is. Véglegesen törlöd ezt a wiki-t vagy blogot?" -#: plinth/modules/ikiwiki/views.py:72 +#: plinth/modules/ikiwiki/views.py:70 #, python-brace-format msgid "Created wiki {name}." msgstr "{name} wiki létrehozva." -#: plinth/modules/ikiwiki/views.py:75 +#: plinth/modules/ikiwiki/views.py:73 #, python-brace-format msgid "Could not create wiki: {error}" msgstr "Nem tudtam létrehozni a wiki-t: {error}" -#: plinth/modules/ikiwiki/views.py:85 +#: plinth/modules/ikiwiki/views.py:83 #, python-brace-format msgid "Created blog {name}." msgstr "{name} blog létrehozva." -#: plinth/modules/ikiwiki/views.py:88 +#: plinth/modules/ikiwiki/views.py:86 #, python-brace-format msgid "Could not create blog: {error}" msgstr "Nem tudtam létrehozni a blog-ot: {error}" -#: plinth/modules/ikiwiki/views.py:103 +#: plinth/modules/ikiwiki/views.py:101 #, fuzzy, python-brace-format #| msgid "{name} deleted." msgid "{title} deleted." msgstr "{name} törölve." -#: plinth/modules/ikiwiki/views.py:107 +#: plinth/modules/ikiwiki/views.py:105 #, fuzzy, python-brace-format #| msgid "Could not delete {name}: {error}" msgid "Could not delete {title}: {error}" @@ -2429,7 +2409,7 @@ msgstr "" "Indítsd el a Gobby-t majd válaszd a \"Csatlakozás a kiszolgálóhoz\"-t " "(\"Connect to Server\") és írd be a {box_name} eszközöd domain nevét." -#: plinth/modules/jsxc/__init__.py:22 +#: plinth/modules/jsxc/__init__.py:23 msgid "" "JSXC is a web client for XMPP. Typically it is used with an XMPP server " "running locally." @@ -2437,11 +2417,11 @@ msgstr "" "JSXC egy webes kliens XMPP-hez. Általában helyileg futtatott XMPP " "kiszolgálóval használják." -#: plinth/modules/jsxc/__init__.py:40 plinth/modules/jsxc/manifest.py:10 +#: plinth/modules/jsxc/__init__.py:43 plinth/modules/jsxc/manifest.py:10 msgid "JSXC" msgstr "JSXC" -#: plinth/modules/jsxc/__init__.py:41 +#: plinth/modules/jsxc/__init__.py:44 msgid "Chat Client" msgstr "Chat kliens" @@ -2630,11 +2610,11 @@ msgstr "" msgid "Matrix Synapse" msgstr "Matrix Synapse" -#: plinth/modules/matrixsynapse/forms.py:14 +#: plinth/modules/matrixsynapse/forms.py:12 msgid "Enable Public Registration" msgstr "Szabad regisztráció engedélyezése" -#: plinth/modules/matrixsynapse/forms.py:15 +#: plinth/modules/matrixsynapse/forms.py:13 msgid "" "Enabling public registration means that anyone on the Internet can register " "a new account on your Matrix server. Disable this if you only want existing " @@ -2648,6 +2628,12 @@ msgstr "" msgid "Riot" msgstr "Riot" +#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 +#: plinth/modules/snapshot/templates/snapshot.html:12 +#: plinth/templates/app.html:46 +msgid "Configuration" +msgstr "Beállítások" + #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:18 msgid "" "Matrix service needs to be configured for a domain. Users on other Matrix " @@ -2725,11 +2711,11 @@ msgstr "" " Encrypt weboldalát ahhoz, hogy beszerezz egyet.\n" " " -#: plinth/modules/matrixsynapse/views.py:98 +#: plinth/modules/matrixsynapse/views.py:86 msgid "Public registration enabled" msgstr "Szabad regisztráció engedélyezve" -#: plinth/modules/matrixsynapse/views.py:103 +#: plinth/modules/matrixsynapse/views.py:91 msgid "Public registration disabled" msgstr "Szabad regisztráció letiltva" @@ -2777,11 +2763,11 @@ msgstr "MediaWiki" msgid "Wiki" msgstr "Wiki" -#: plinth/modules/mediawiki/forms.py:27 +#: plinth/modules/mediawiki/forms.py:25 msgid "Administrator Password" msgstr "Rendszergazdai jelszó" -#: plinth/modules/mediawiki/forms.py:28 +#: plinth/modules/mediawiki/forms.py:26 msgid "" "Set a new password for MediaWiki's administrator account (admin). Leave this " "field blank to keep the current password." @@ -2789,11 +2775,11 @@ msgstr "" "Állíts be új jelszót a MediaWiki rendszergazdai (admin) fiókjának. Hagyd " "üresen ezt a mezőt a jelenlegi jelszó megtartásához." -#: plinth/modules/mediawiki/forms.py:33 +#: plinth/modules/mediawiki/forms.py:31 msgid "Enable public registrations" msgstr "Szabad regisztráció engedélyezése" -#: plinth/modules/mediawiki/forms.py:34 +#: plinth/modules/mediawiki/forms.py:32 msgid "" "If enabled, anyone on the internet will be able to create an account on your " "MediaWiki instance." @@ -2801,11 +2787,11 @@ msgstr "" "Ha engedélyezett, az interneten bárki létrehozhat egy fiókot ebben a " "MediaWiki példányban." -#: plinth/modules/mediawiki/forms.py:38 +#: plinth/modules/mediawiki/forms.py:36 msgid "Enable private mode" msgstr "Privát mód engedélyezése" -#: plinth/modules/mediawiki/forms.py:39 +#: plinth/modules/mediawiki/forms.py:37 msgid "" "If enabled, access will be restricted. Only people who have accounts can " "read/write to the wiki. Public registrations will also be disabled." @@ -2814,45 +2800,45 @@ msgstr "" "rendelkező emberek fogják tudni olvasni/írni a wiki-t. A szabad regisztráció " "is le lesz tiltva." -#: plinth/modules/mediawiki/forms.py:44 +#: plinth/modules/mediawiki/forms.py:42 #, fuzzy #| msgid "Default" msgid "Default Skin" msgstr "Alapértelmezett" -#: plinth/modules/mediawiki/forms.py:45 +#: plinth/modules/mediawiki/forms.py:43 msgid "" "Choose a default skin for your MediaWiki installation. Users have the option " "to select their preferred skin." msgstr "" -#: plinth/modules/mediawiki/views.py:53 +#: plinth/modules/mediawiki/views.py:48 msgid "Password updated" msgstr "Jelszó frissítve" -#: plinth/modules/mediawiki/views.py:72 +#: plinth/modules/mediawiki/views.py:57 msgid "Public registrations enabled" msgstr "Szabad regisztráció engedélyezve" -#: plinth/modules/mediawiki/views.py:81 +#: plinth/modules/mediawiki/views.py:66 msgid "Public registrations disabled" msgstr "Szabad regisztráció letiltva" -#: plinth/modules/mediawiki/views.py:86 +#: plinth/modules/mediawiki/views.py:71 msgid "Private mode enabled" msgstr "Privát mód engedélyezve" -#: plinth/modules/mediawiki/views.py:93 +#: plinth/modules/mediawiki/views.py:78 msgid "Private mode disabled" msgstr "Privát mód letiltva" -#: plinth/modules/mediawiki/views.py:101 +#: plinth/modules/mediawiki/views.py:86 #, fuzzy #| msgid "Setting unchanged" msgid "Default skin changed" msgstr "A beállítás változatlan" -#: plinth/modules/minetest/__init__.py:37 +#: plinth/modules/minetest/__init__.py:38 #, python-brace-format msgid "" "Minetest is a multiplayer infinite-world block sandbox. This module enables " @@ -2866,30 +2852,30 @@ msgstr "" "kiszolgálóra egy Minetest " "kliensre is szükséged lesz." -#: plinth/modules/minetest/__init__.py:63 +#: plinth/modules/minetest/__init__.py:62 #: plinth/modules/minetest/manifest.py:10 msgid "Minetest" msgstr "Minetest" -#: plinth/modules/minetest/__init__.py:64 +#: plinth/modules/minetest/__init__.py:63 msgid "Block Sandbox" msgstr "Blokk sandbox" -#: plinth/modules/minetest/forms.py:15 +#: plinth/modules/minetest/forms.py:13 msgid "Maximum number of players" msgstr "Játékosok maximális száma" -#: plinth/modules/minetest/forms.py:17 +#: plinth/modules/minetest/forms.py:15 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:21 +#: plinth/modules/minetest/forms.py:19 msgid "Enable creative mode" msgstr "Kreatív mód engedélyezése" -#: plinth/modules/minetest/forms.py:22 +#: plinth/modules/minetest/forms.py:20 msgid "" "Creative mode changes the rules of the game to make it more suitable for " "creative gameplay, rather than challenging \"survival\" gameplay." @@ -2898,21 +2884,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:27 +#: plinth/modules/minetest/forms.py:25 msgid "Enable PVP" msgstr "PVP engedélyezése" -#: plinth/modules/minetest/forms.py:28 +#: plinth/modules/minetest/forms.py:26 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:32 +#: plinth/modules/minetest/forms.py:30 msgid "Enable damage" msgstr "Sérülés engedélyezése" -#: plinth/modules/minetest/forms.py:33 +#: plinth/modules/minetest/forms.py:31 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." @@ -2953,19 +2939,19 @@ msgid "" "Kodi." msgstr "" -#: plinth/modules/minidlna/__init__.py:33 +#: plinth/modules/minidlna/__init__.py:44 msgid "Media streaming server" msgstr "" -#: plinth/modules/minidlna/__init__.py:47 +#: plinth/modules/minidlna/__init__.py:48 msgid "Simple Media Server" msgstr "" -#: plinth/modules/minidlna/forms.py:15 +#: plinth/modules/minidlna/forms.py:13 msgid "Media Files Directory" msgstr "" -#: plinth/modules/minidlna/forms.py:16 +#: plinth/modules/minidlna/forms.py:14 msgid "" "Directory that MiniDLNA Server will read for content. All sub-directories of " "this will be also scanned for media files. If you change the default ensure " @@ -3026,16 +3012,16 @@ 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:40 +#: plinth/modules/mldonkey/__init__.py:50 msgid "Download files using eDonkey applications" msgstr "Fájlok letöltése eDonkey alkalmazások használatával" -#: plinth/modules/mldonkey/__init__.py:54 +#: plinth/modules/mldonkey/__init__.py:53 #: plinth/modules/mldonkey/manifest.py:12 msgid "MLDonkey" msgstr "MLDonkey" -#: plinth/modules/mldonkey/__init__.py:56 +#: plinth/modules/mldonkey/__init__.py:55 msgid "Peer-to-peer File Sharing" msgstr "P2P Fájlmegosztás" @@ -3047,7 +3033,7 @@ msgstr "KMLDonkey" msgid "AMLDonkey" msgstr "AMLDonkey" -#: plinth/modules/monkeysphere/__init__.py:18 +#: plinth/modules/monkeysphere/__init__.py:19 msgid "" "With Monkeysphere, an OpenPGP key can be generated for each configured " "domain serving SSH. The OpenPGP public key can then be uploaded to the " @@ -3068,7 +3054,7 @@ msgstr "" "Tekintsd meg a Monkeysphere SSH dokumentációt további részletekért." -#: plinth/modules/monkeysphere/__init__.py:26 +#: plinth/modules/monkeysphere/__init__.py:27 msgid "" "Monkeysphere can also generate an OpenPGP key for each Secure Web Server " "(HTTPS) certificate installed on this machine. The OpenPGP public key can " @@ -3087,7 +3073,7 @@ msgstr "" "telepítésére, amelyek elérhetők a Monkeysphere weboldalon." -#: plinth/modules/monkeysphere/__init__.py:50 +#: plinth/modules/monkeysphere/__init__.py:49 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:11 msgid "Monkeysphere" msgstr "Monkeysphere" @@ -3136,15 +3122,15 @@ msgstr "A %(fingerprint)s kulcs részletei" msgid "-" msgstr "-" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:128 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:129 msgid "Import Key" msgstr "Kulcs importálása" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:137 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:139 msgid "Publish Key" msgstr "Kulcs közzététele" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:146 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:149 msgid "Add Domains" msgstr "Domainek hozzáadása" @@ -3217,7 +3203,7 @@ 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:23 +#: plinth/modules/mumble/__init__.py:24 msgid "" "Mumble is an open source, low-latency, encrypted, high quality voice chat " "software." @@ -3225,7 +3211,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:25 +#: plinth/modules/mumble/__init__.py:26 msgid "" "You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your " @@ -3235,21 +3221,21 @@ msgstr "" "kapcsolódhatsz. Mumble kliensek " "elérhetőek az asztali és Android eszközökhöz." -#: plinth/modules/mumble/__init__.py:49 plinth/modules/mumble/manifest.py:12 +#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:12 msgid "Mumble" msgstr "Mumble" -#: plinth/modules/mumble/__init__.py:50 +#: plinth/modules/mumble/__init__.py:49 msgid "Voice Chat" msgstr "Audiókonferencia" -#: plinth/modules/mumble/forms.py:16 +#: plinth/modules/mumble/forms.py:14 #, fuzzy #| msgid "SSH server password" msgid "Set SuperUser Password" msgstr "SSH kiszolgáló jelszava" -#: plinth/modules/mumble/forms.py:19 +#: plinth/modules/mumble/forms.py:17 msgid "" "Optional. Leave this field blank to keep the current password. SuperUser " "password can be used to manage permissions in Mumble." @@ -3578,7 +3564,7 @@ msgstr "Nyílt" #: plinth/modules/networks/forms.py:297 #, fuzzy, python-brace-format #| msgid "Use upstream bridges to connect to Tor network" -msgid "Choose how your {box_name} is connected to your network" +msgid "Specify how your {box_name} is connected to your network" msgstr "Használj felmenő hidakat a Tor hálózatra kapcsolódáshoz" #: plinth/modules/networks/forms.py:304 @@ -3799,7 +3785,7 @@ msgstr "IPv4" #: plinth/modules/networks/templates/connection_show.html:171 #: plinth/modules/networks/templates/connection_show.html:212 -#: plinth/modules/shadowsocks/forms.py:49 +#: plinth/modules/shadowsocks/forms.py:48 msgid "Method" msgstr "Módszer" @@ -3815,7 +3801,7 @@ msgstr "DNS szerver" #: plinth/modules/networks/templates/connection_show.html:201 #: plinth/modules/networks/templates/connection_show.html:240 -#: plinth/modules/storage/forms.py:141 +#: plinth/modules/storage/forms.py:139 msgid "Default" msgstr "Alapértelmezett" @@ -4304,6 +4290,11 @@ msgstr "Beállítás sikerült." msgid "Setup failed." msgstr "Beállítás sikertelen." +#: plinth/modules/openvpn/views.py:135 plinth/modules/tor/views.py:136 +#: plinth/views.py:196 +msgid "Setting unchanged" +msgstr "A beállítás változatlan" + #: plinth/modules/pagekite/__init__.py:27 #, python-brace-format msgid "" @@ -4382,11 +4373,11 @@ msgstr "Nyilvános láthatóság" msgid "PageKite Domain" msgstr "PageKite domain" -#: plinth/modules/pagekite/forms.py:48 +#: plinth/modules/pagekite/forms.py:47 msgid "Server domain" msgstr "Kiszolgáló domain" -#: plinth/modules/pagekite/forms.py:50 +#: plinth/modules/pagekite/forms.py:49 msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " "pagekite.net server." @@ -4394,31 +4385,31 @@ 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:53 plinth/modules/shadowsocks/forms.py:40 +#: plinth/modules/pagekite/forms.py:52 plinth/modules/shadowsocks/forms.py:39 msgid "Server port" msgstr "Kiszolgáló port" -#: plinth/modules/pagekite/forms.py:54 +#: plinth/modules/pagekite/forms.py:53 msgid "Port of your pagekite server (default: 80)" msgstr "A pagekite kiszolgálód portja (alapértelmezett: 80)" -#: plinth/modules/pagekite/forms.py:56 +#: plinth/modules/pagekite/forms.py:55 msgid "Kite name" msgstr "Kite név" -#: plinth/modules/pagekite/forms.py:57 +#: plinth/modules/pagekite/forms.py:56 msgid "Example: mybox.pagekite.me" msgstr "Például: mybox.pagekite.me" -#: plinth/modules/pagekite/forms.py:59 +#: plinth/modules/pagekite/forms.py:58 msgid "Invalid kite name" msgstr "Érvénytelen kite név" -#: plinth/modules/pagekite/forms.py:63 +#: plinth/modules/pagekite/forms.py:62 msgid "Kite secret" msgstr "Kite titkos kulcs" -#: plinth/modules/pagekite/forms.py:64 +#: plinth/modules/pagekite/forms.py:63 msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." @@ -4426,27 +4417,27 @@ msgstr "" "A kite-hoz kapcsolódó titkos kulcs vagy a fiókod alapértelmezett titkos " "kulcsa, ha nem lett titkos kulcs beállítva a kite-ra." -#: plinth/modules/pagekite/forms.py:101 +#: plinth/modules/pagekite/forms.py:100 msgid "protocol" msgstr "protokoll" -#: plinth/modules/pagekite/forms.py:104 +#: plinth/modules/pagekite/forms.py:103 msgid "external (frontend) port" msgstr "külső (frontend) port" -#: plinth/modules/pagekite/forms.py:107 +#: plinth/modules/pagekite/forms.py:106 msgid "internal (freedombox) port" msgstr "belső (freedombox) port" -#: plinth/modules/pagekite/forms.py:108 +#: plinth/modules/pagekite/forms.py:107 msgid "Enable Subdomains" msgstr "Aldomének engedélyezése" -#: plinth/modules/pagekite/forms.py:142 +#: plinth/modules/pagekite/forms.py:141 msgid "Deleted custom service" msgstr "Törölt egyéni szolgáltatás" -#: plinth/modules/pagekite/forms.py:175 +#: plinth/modules/pagekite/forms.py:174 #, fuzzy #| msgid "" #| "This service is available as a standard service. Please use the " @@ -4456,11 +4447,11 @@ msgstr "" "Ez egy szabványosként elérhető szolgáltatás. Kérlek használd a \"Szabványos " "szolgáltatások\" lapot az engedélyezéséhez." -#: plinth/modules/pagekite/forms.py:183 +#: plinth/modules/pagekite/forms.py:182 msgid "Added custom service" msgstr "Egyedi szolgáltatás hozzáadva" -#: plinth/modules/pagekite/forms.py:186 +#: plinth/modules/pagekite/forms.py:185 msgid "This service already exists" msgstr "Ez a szolgáltatás már létezik" @@ -4597,7 +4588,7 @@ msgstr "" msgid "Shut Down Now" msgstr "Leállítás most" -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 msgid "" "Privoxy is a non-caching web proxy with advanced filtering capabilities for " "enhancing privacy, modifying web page data and HTTP headers, controlling " @@ -4608,7 +4599,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:33 +#: plinth/modules/privoxy/__init__.py:34 #, python-brace-format msgid "" "You can use Privoxy by modifying your browser proxy settings to your " @@ -4623,21 +4614,21 @@ msgstr "" "a címeken: http://config.privoxy.org/ és http://p.p." -#: plinth/modules/privoxy/__init__.py:56 +#: plinth/modules/privoxy/__init__.py:55 msgid "Privoxy" msgstr "Privoxy" -#: plinth/modules/privoxy/__init__.py:57 +#: plinth/modules/privoxy/__init__.py:56 msgid "Web Proxy" msgstr "Web proxy" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:119 #, 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:32 +#: plinth/modules/quassel/__init__.py:33 #, python-brace-format msgid "" "Quassel is an IRC application that is split into two parts, a \"core\" and a " @@ -4654,7 +4645,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:39 +#: plinth/modules/quassel/__init__.py:40 msgid "" "You can connect to your Quassel core on the default Quassel port 4242. " "Clients to connect to Quassel from your asztali és mobil " "eszközökhöz is." -#: plinth/modules/quassel/__init__.py:62 plinth/modules/quassel/manifest.py:10 +#: plinth/modules/quassel/__init__.py:61 plinth/modules/quassel/manifest.py:10 msgid "Quassel" msgstr "Quassel" -#: plinth/modules/quassel/__init__.py:63 +#: plinth/modules/quassel/__init__.py:62 msgid "IRC Client" msgstr "IRC kliens" -#: plinth/modules/quassel/forms.py:23 +#: plinth/modules/quassel/forms.py:22 #, fuzzy #| msgid "Subdomain" msgid "TLS domain" msgstr "Aldomain" -#: plinth/modules/quassel/forms.py:25 +#: plinth/modules/quassel/forms.py:24 msgid "" "Select a domain to use TLS with. If the list is empty, please configure at " "least one domain with certificates." @@ -4690,7 +4681,7 @@ msgstr "" msgid "Quasseldroid" msgstr "Quasseldroid" -#: plinth/modules/radicale/__init__.py:32 +#: plinth/modules/radicale/__init__.py:33 #, python-brace-format msgid "" "Radicale is a CalDAV and CardDAV server. It allows synchronization and " @@ -4704,7 +4695,7 @@ msgstr "" "clients/\">támogatott kliens alkalmazásra is. A Radicale elérhető " "bármely felhasználó számára „{box_name}” felhasználónév használatával." -#: plinth/modules/radicale/__init__.py:37 +#: plinth/modules/radicale/__init__.py:38 msgid "" "Radicale provides a basic web interface, which only supports creating new " "calendars and addressbooks. It does not support adding events or contacts, " @@ -4715,21 +4706,21 @@ msgstr "" "eseményeket vagy kapcsolatokat, ezeket egy külön kliens használatával " "teheted meg." -#: plinth/modules/radicale/__init__.py:62 +#: plinth/modules/radicale/__init__.py:61 #: plinth/modules/radicale/manifest.py:75 msgid "Radicale" msgstr "Radicale" -#: plinth/modules/radicale/__init__.py:63 +#: plinth/modules/radicale/__init__.py:62 msgid "Calendar and Addressbook" msgstr "Naptár és címjegyzék" -#: plinth/modules/radicale/forms.py:15 +#: plinth/modules/radicale/forms.py:14 msgid "Only the owner of a calendar/addressbook can view or make changes." msgstr "" "Csak a naptár/címjegyzék tulajdonosa tudja megtekinteni vagy módosítani." -#: plinth/modules/radicale/forms.py:19 +#: plinth/modules/radicale/forms.py:18 #, python-brace-format msgid "" "Any user with a {box_name} login can view any calendar/addressbook, but only " @@ -4738,7 +4729,7 @@ msgstr "" "Bármely, a(z) {box_name} eszközre bejelentkező felhasználó meg tudja " "tekinteni a naptárt/címjegyzéket, de módosítani csak a tulajdonos tudja." -#: plinth/modules/radicale/forms.py:24 +#: plinth/modules/radicale/forms.py:23 #, python-brace-format msgid "" "Any user with a {box_name} login can view or make changes to any calendar/" @@ -4887,11 +4878,11 @@ msgid "" "private space." msgstr "" -#: plinth/modules/samba/__init__.py:47 +#: plinth/modules/samba/__init__.py:59 msgid "Access to the private shares" msgstr "" -#: plinth/modules/samba/__init__.py:61 +#: plinth/modules/samba/__init__.py:62 msgid "Samba" msgstr "" @@ -4965,13 +4956,13 @@ msgstr "Megosztás hozzáadva." msgid "Action" msgstr "Műveletek" -#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:149 +#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:147 #, fuzzy #| msgid "Add Share" msgid "Open Share" msgstr "Megosztás hozzáadása" -#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:147 +#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:145 #, fuzzy #| msgid "Add Share" msgid "Group Share" @@ -5023,45 +5014,45 @@ msgstr "" "A Searx segítségével elkerülhető, hogy a keresőmotorok nyomon kövessék és " "profilozzák a felhasználót. Sütiket eleve nem tárol." -#: plinth/modules/searx/__init__.py:31 +#: plinth/modules/searx/__init__.py:45 msgid "Search the web" msgstr "Keresés a weben" -#: plinth/modules/searx/__init__.py:47 plinth/modules/searx/manifest.py:9 +#: plinth/modules/searx/__init__.py:48 plinth/modules/searx/manifest.py:9 msgid "Searx" msgstr "Searx" -#: plinth/modules/searx/__init__.py:48 +#: plinth/modules/searx/__init__.py:49 msgid "Web Search" msgstr "Webes keresés" -#: plinth/modules/searx/forms.py:15 +#: plinth/modules/searx/forms.py:13 msgid "Safe Search" msgstr "Biztonságos keresés" -#: plinth/modules/searx/forms.py:16 +#: plinth/modules/searx/forms.py:14 msgid "Select the default family filter to apply to your search results." msgstr "" "Válaszd ki a felnőtt tartalmak alapértelmezett szűrési fokozatát, ez a " "keresési eredményeken lesz alkalmazva." -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "None" msgstr "Nincs" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "Moderate" msgstr "Enyhe" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "Strict" msgstr "Szigorú" -#: plinth/modules/searx/forms.py:20 +#: plinth/modules/searx/forms.py:18 msgid "Allow Public Access" msgstr "Nyilvános hozzáférés engedélyezése" -#: plinth/modules/searx/forms.py:21 +#: plinth/modules/searx/forms.py:19 msgid "Allow this application to be used by anyone who can reach it." msgstr "" "Engedélyezi ennek az alkalmazásnak a használatát bárkinek, aki el tudja érni." @@ -5275,30 +5266,30 @@ msgstr "Shadowsocks" msgid "Socks5 Proxy" msgstr "Socks5 Proxy" +#: plinth/modules/shadowsocks/forms.py:12 #: plinth/modules/shadowsocks/forms.py:13 -#: plinth/modules/shadowsocks/forms.py:14 msgid "Recommended" msgstr "Ajánlott" -#: plinth/modules/shadowsocks/forms.py:37 +#: plinth/modules/shadowsocks/forms.py:36 msgid "Server" msgstr "Kiszolgáló" -#: plinth/modules/shadowsocks/forms.py:38 +#: plinth/modules/shadowsocks/forms.py:37 msgid "Server hostname or IP address" msgstr "Kiszolgáló állomásneve vagy IP-címe" -#: plinth/modules/shadowsocks/forms.py:42 +#: plinth/modules/shadowsocks/forms.py:41 msgid "Server port number" msgstr "Kiszolgáló portja" -#: plinth/modules/shadowsocks/forms.py:45 +#: plinth/modules/shadowsocks/forms.py:44 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:50 +#: plinth/modules/shadowsocks/forms.py:49 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." @@ -5347,11 +5338,11 @@ msgstr "" "A mappában lévő fájlok elérhetővé tétele a linkkel rendelkező személyek " "számára." -#: plinth/modules/sharing/forms.py:33 +#: plinth/modules/sharing/forms.py:34 msgid "User groups that can read the files in the share" msgstr "Felhasználói csoportok akik olvashatják a fájlokat a megosztásban" -#: plinth/modules/sharing/forms.py:35 +#: plinth/modules/sharing/forms.py:36 msgid "" "Users of the selected user groups will be able to read the files in the " "share." @@ -5658,13 +5649,13 @@ msgstr "" msgid "Secure Shell (SSH) Server" msgstr "Biztonságos parancsértelmező (SSH) kiszolgáló" -#: plinth/modules/ssh/forms.py:15 +#: plinth/modules/ssh/forms.py:13 #, fuzzy #| msgid "Use HTTP basic authentication" msgid "Disable password authentication" msgstr "HTTP alap hitelesítés használata" -#: plinth/modules/ssh/forms.py:16 +#: plinth/modules/ssh/forms.py:14 msgid "" "Improves security by preventing password guessing. Ensure that you have " "setup SSH keys in your administrator user account before enabling this " @@ -5723,91 +5714,91 @@ msgstr "" "fel- és lecsatolhatsz cserélhető adathordozókat, kibővítheted a root " "partíciót, stb." -#: plinth/modules/storage/__init__.py:52 plinth/modules/storage/__init__.py:318 +#: plinth/modules/storage/__init__.py:54 plinth/modules/storage/__init__.py:320 msgid "Storage" msgstr "Háttértár" -#: 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." -#: plinth/modules/storage/__init__.py:313 +#: plinth/modules/storage/__init__.py:315 #, fuzzy, no-python-format, python-brace-format #| msgid "" #| "Warning: Low space on system partition ({percent_used}% used, " @@ -5817,53 +5808,53 @@ msgstr "" "Figyelmeztetés: Kevés a szabad hely a rendszerpartíción ({percent_used}% " "felhasználva, {free_space} szabad)." -#: plinth/modules/storage/__init__.py:315 +#: plinth/modules/storage/__init__.py:317 msgid "Low disk space" msgstr "" -#: plinth/modules/storage/forms.py:64 +#: plinth/modules/storage/forms.py:63 #, fuzzy #| msgid "Invalid repository name." msgid "Invalid directory name." msgstr "Érvénytelen tárolónév." -#: plinth/modules/storage/forms.py:82 +#: plinth/modules/storage/forms.py:80 msgid "Directory does not exist." msgstr "" -#: plinth/modules/storage/forms.py:84 +#: plinth/modules/storage/forms.py:83 #, fuzzy #| msgid "Download directory" msgid "Path is not a directory." msgstr "Letöltési könyvtár" -#: plinth/modules/storage/forms.py:87 +#: plinth/modules/storage/forms.py:86 #, fuzzy #| msgid "The device is mounted by another user." msgid "Directory is not readable by the user." msgstr "Az eszközt egy másik felhasználó felcsatolva." -#: plinth/modules/storage/forms.py:90 +#: plinth/modules/storage/forms.py:89 msgid "Directory is not writable by the user." msgstr "" -#: plinth/modules/storage/forms.py:95 +#: plinth/modules/storage/forms.py:94 #, fuzzy #| msgid "Download directory" msgid "Directory" msgstr "Letöltési könyvtár" -#: plinth/modules/storage/forms.py:98 +#: plinth/modules/storage/forms.py:96 msgid "Subdirectory (optional)" msgstr "" -#: plinth/modules/storage/forms.py:145 +#: plinth/modules/storage/forms.py:143 #, fuzzy #| msgid "Shared" msgid "Share" msgstr "Megosztott" -#: plinth/modules/storage/forms.py:153 +#: plinth/modules/storage/forms.py:151 msgid "Other directory (specify below)" msgstr "" @@ -5947,14 +5938,22 @@ msgstr "" "jelentkeznek, amennyiben azokra telepítve van a szolgáltatás." #: plinth/modules/syncthing/__init__.py:31 -#, python-brace-format +#, fuzzy, python-brace-format +#| msgid "" +#| "Running Syncthing on {box_name} provides an extra synchronization point " +#| "for your data that is available most of the time, allowing your devices " +#| "to synchronize more often. {box_name} runs a single instance of " +#| "Syncthing that may be used by multiple users. Each user's set of devices " +#| "may be synchronized with a distinct set of folders. The web interface on " +#| "{box_name} is only available for users belonging to the \"admin\" group." msgid "" "Running Syncthing on {box_name} provides an extra synchronization point for " "your data that is available most of the time, allowing your devices to " "synchronize more often. {box_name} runs a single instance of Syncthing that " "may be used by multiple users. Each user's set of devices may be " "synchronized with a distinct set of folders. The web interface on " -"{box_name} is only available for users belonging to the \"admin\" group." +"{box_name} is only available for users belonging to the \"admin\" or " +"\"syncthing\" group." msgstr "" "A Syncthing alkalmazás {box_name} eszközön történő futtatása egy szinte " "állandóan elérhető, külön szinkronizációs pontot nyújt az adataid számára, " @@ -5965,16 +5964,16 @@ msgstr "" "felület csak az \"admin\" csoporthoz tartozó felhasználók számára " "hozzáférhető." -#: plinth/modules/syncthing/__init__.py:40 +#: plinth/modules/syncthing/__init__.py:53 msgid "Administer Syncthing application" msgstr "A Syncthing alkalmazás beállítása" -#: plinth/modules/syncthing/__init__.py:54 +#: plinth/modules/syncthing/__init__.py:56 #: plinth/modules/syncthing/manifest.py:13 msgid "Syncthing" msgstr "Syncthing" -#: plinth/modules/syncthing/__init__.py:55 +#: plinth/modules/syncthing/__init__.py:57 msgid "File Synchronization" msgstr "Fájlszinkronizáció" @@ -6023,33 +6022,33 @@ msgstr "" "érheted el: https://" "%(domain_name)s:5678." -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:39 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:29 msgid "Local introducer" msgstr "Helyi bevezető" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:59 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:76 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:33 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:49 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:66 msgid "Pet Name" msgstr "Becenév" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:56 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:46 msgid "Add new introducer" msgstr "Új bevezető hozzáadása" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:67 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:57 msgid "Add" msgstr "Hozzáadás" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:72 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:62 msgid "Connected introducers" msgstr "Csatlakozott bevezetők" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:89 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:79 msgid "Remove" msgstr "Eltávolít" -#: plinth/modules/tor/__init__.py:33 +#: plinth/modules/tor/__init__.py:34 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -6063,42 +6062,42 @@ msgstr "" "torproject.org/download/download-easy.html.en\">Tor böngésző használatát " "javasolja." -#: plinth/modules/tor/__init__.py:55 +#: plinth/modules/tor/__init__.py:54 msgid "Tor" msgstr "Tor" -#: plinth/modules/tor/__init__.py:66 +#: plinth/modules/tor/__init__.py:65 #, fuzzy #| msgid "Tor Hidden Service" msgid "Tor Onion Service" msgstr "Tor rejtett szolgáltatás" -#: plinth/modules/tor/__init__.py:70 +#: plinth/modules/tor/__init__.py:69 msgid "Tor Socks Proxy" msgstr "Tor Socks proxy" -#: plinth/modules/tor/__init__.py:74 +#: plinth/modules/tor/__init__.py:73 msgid "Tor Bridge Relay" msgstr "Tor híd relay" -#: plinth/modules/tor/__init__.py:95 +#: plinth/modules/tor/__init__.py:98 msgid "Tor relay port available" msgstr "Tor relay port elérhető" -#: plinth/modules/tor/__init__.py:105 +#: plinth/modules/tor/__init__.py:108 msgid "Obfs3 transport registered" msgstr "Obfs3 átvitel regisztrálva" -#: plinth/modules/tor/__init__.py:115 +#: plinth/modules/tor/__init__.py:118 msgid "Obfs4 transport registered" msgstr "Obfs4 átvitel regisztrálva" -#: plinth/modules/tor/__init__.py:208 +#: plinth/modules/tor/__init__.py:211 #, 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:219 +#: plinth/modules/tor/__init__.py:222 #, 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" @@ -6258,7 +6257,7 @@ 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:27 +#: plinth/modules/transmission/__init__.py:28 msgid "" "BitTorrent is a peer-to-peer file sharing protocol. Transmission daemon " "handles Bitorrent file sharing. Note that BitTorrent is not anonymous." @@ -6267,7 +6266,7 @@ msgstr "" "kezeli a Bitorrent fájlmegosztást. Vedd figyelembe, hogy a BitTorrent nem " "biztosít névtelenséget." -#: plinth/modules/transmission/__init__.py:48 +#: plinth/modules/transmission/__init__.py:51 #: plinth/modules/transmission/manifest.py:9 msgid "Transmission" msgstr "Transmission" @@ -6311,15 +6310,15 @@ msgstr "" "hez, használd a /tt-rss-app URL-t a " "csatlakozáshoz." -#: plinth/modules/ttrss/__init__.py:42 +#: plinth/modules/ttrss/__init__.py:54 msgid "Read and subscribe to news feeds" msgstr "Hírcsatornákra való feliratkozás / olvasás" -#: plinth/modules/ttrss/__init__.py:56 plinth/modules/ttrss/manifest.py:19 +#: plinth/modules/ttrss/__init__.py:57 plinth/modules/ttrss/manifest.py:19 msgid "Tiny Tiny RSS" msgstr "Tiny Tiny RSS" -#: plinth/modules/ttrss/__init__.py:57 +#: plinth/modules/ttrss/__init__.py:58 msgid "News Feed Reader" msgstr "Hírcsatorna-olvasó" @@ -6332,11 +6331,11 @@ 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." -#: plinth/modules/upgrades/__init__.py:38 plinth/templates/setup.html:74 +#: plinth/modules/upgrades/__init__.py:40 plinth/templates/setup.html:74 msgid "Update" msgstr "Frissítés" -#: plinth/modules/upgrades/__init__.py:76 +#: plinth/modules/upgrades/__init__.py:78 #, fuzzy #| msgid "FreedomBox Foundation" msgid "FreedomBox Updated" @@ -6394,43 +6393,39 @@ msgstr "Frissítésnapló megjelenítése" #: plinth/modules/upgrades/templates/upgrades_configure.html:11 #: plinth/modules/upgrades/templates/upgrades_configure.html:12 -#: plinth/modules/upgrades/views.py:88 +#: plinth/modules/upgrades/views.py:85 msgid "Manual update" msgstr "Kézi frissítés" -#: plinth/modules/upgrades/views.py:47 +#: plinth/modules/upgrades/views.py:46 #, 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:51 +#: plinth/modules/upgrades/views.py:50 msgid "Automatic upgrades enabled" msgstr "Automatikus frissítések engedélyezve" -#: plinth/modules/upgrades/views.py:54 +#: plinth/modules/upgrades/views.py:53 msgid "Automatic upgrades disabled" msgstr "Automatikus frissítések kikapcsolva" -#: plinth/modules/upgrades/views.py:56 -msgid "Settings unchanged" -msgstr "A beállítások nem változtak" - -#: plinth/modules/upgrades/views.py:82 +#: plinth/modules/upgrades/views.py:79 msgid "Upgrade process started." msgstr "A frissítési folyamat elkezdődött." -#: plinth/modules/upgrades/views.py:85 +#: plinth/modules/upgrades/views.py:82 msgid "Starting upgrade failed." msgstr "A frissítést nem sikerült elindítani." -#: plinth/modules/users/__init__.py:37 +#: plinth/modules/users/__init__.py:39 msgid "" "Create and managed user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " "account to be part of a group to authorize the user to access the app." msgstr "" -#: plinth/modules/users/__init__.py:42 +#: plinth/modules/users/__init__.py:44 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -6438,45 +6433,51 @@ msgid "" "group may alter apps or system settings." msgstr "" -#: plinth/modules/users/__init__.py:64 +#: plinth/modules/users/__init__.py:65 msgid "Users and Groups" msgstr "Felhasználók és csoportok" -#: plinth/modules/users/__init__.py:115 +#: plinth/modules/users/__init__.py:78 +msgid "Access to all services and system settings" +msgstr "Hozzáférés az összes szolgáltatáshoz és rendszerbeállításhoz" + +#: plinth/modules/users/__init__.py:122 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "LDAP bejegyzés ellenőrzése: \"{search_item}\"" -#: plinth/modules/users/forms.py:28 -msgid "Access to all services and system settings" -msgstr "Hozzáférés az összes szolgáltatáshoz és rendszerbeállításhoz" - -#: plinth/modules/users/forms.py:44 +#: plinth/modules/users/forms.py:36 msgid "Username is taken or is reserved." msgstr "A felhasználói név (már) foglalt." -#: plinth/modules/users/forms.py:72 +#: plinth/modules/users/forms.py:63 #, fuzzy #| msgid "Invalid server name" msgid "Enter a valid username." msgstr "Érvénytelen kiszolgálónév" -#: plinth/modules/users/forms.py:78 +#: plinth/modules/users/forms.py:69 msgid "" "Required. 150 characters or fewer. English letters, digits and @/./-/_ only." msgstr "" -#: plinth/modules/users/forms.py:91 plinth/modules/users/forms.py:207 +#: plinth/modules/users/forms.py:83 plinth/modules/users/forms.py:196 msgid "Permissions" msgstr "Engedélyek" -#: plinth/modules/users/forms.py:94 +#: plinth/modules/users/forms.py:85 +#, fuzzy +#| msgid "" +#| "Select which services should be available to the new user. The user will " +#| "be able to log in to services that support single sign-on through LDAP, " +#| "if they are in the appropriate group.

Users in the admin group " +#| "will be able to log in to all services. They can also log in to the " +#| "system through SSH and have administrative privileges (sudo)." msgid "" -"Select which services should be available to the new user. The user will be " -"able to log in to services that support single sign-on through LDAP, if they " -"are in the appropriate group.

Users in the admin group will be " -"able to log in to all services. They can also log in to the system through " -"SSH and have administrative privileges (sudo)." +"user. The user will be able to log in to services that support single sign-" +"on through LDAP, if they are in the appropriate group.

Users in " +"the admin group will be able to log in to all services. They can also log in " +"to the system through SSH and have administrative privileges (sudo)." msgstr "" "Válassza ki, mely szolgáltatások legyenek elérhetőek az új felhasználó " "számára. A felhasználó bejelentkezhet azokba a szolgáltatásokba, amelyek " @@ -6486,20 +6487,20 @@ msgstr "" "képesek bejelentkezni a rendszerbe, ahol adminisztrátori jogosultságokkal " "rendelkeznek (sudo)." -#: plinth/modules/users/forms.py:133 plinth/modules/users/forms.py:357 +#: plinth/modules/users/forms.py:122 plinth/modules/users/forms.py:345 msgid "Creating LDAP user failed." msgstr "LDAP felhasználó létrehozása sikertelen." -#: plinth/modules/users/forms.py:144 +#: plinth/modules/users/forms.py:133 #, python-brace-format msgid "Failed to add new user to {group} group." msgstr "Nem sikerült hozzáadni az új felhasználót ehhez a csoporthoz: {group}." -#: plinth/modules/users/forms.py:158 +#: plinth/modules/users/forms.py:147 msgid "Authorized SSH Keys" msgstr "Engedélyezett SSH kulcsok" -#: plinth/modules/users/forms.py:160 +#: plinth/modules/users/forms.py:149 msgid "" "Setting an SSH public key will allow this user to securely log in to the " "system without using a password. You may enter multiple keys, one on each " @@ -6509,45 +6510,45 @@ msgstr "" "jelszó nélkül jelentkezzen be. Több kulcs is megadható; soronként egy. Az " "üres, illetve # jellel kezdődő sorok nem számítanak." -#: plinth/modules/users/forms.py:244 +#: plinth/modules/users/forms.py:233 msgid "Renaming LDAP user failed." msgstr "LDAP felhasználó átnevezése sikertelen." -#: plinth/modules/users/forms.py:256 +#: plinth/modules/users/forms.py:245 msgid "Failed to remove user from group." msgstr "Nem sikerült eltávolítani a felhasználót a csoportból." -#: plinth/modules/users/forms.py:267 +#: plinth/modules/users/forms.py:256 msgid "Failed to add user to group." msgstr "Nem sikerült hozzáadni a felhasználót a csoporthoz." -#: plinth/modules/users/forms.py:276 +#: plinth/modules/users/forms.py:265 msgid "Unable to set SSH keys." msgstr "SSH kulcsok beállítása sikertelen." -#: plinth/modules/users/forms.py:291 +#: plinth/modules/users/forms.py:280 #, fuzzy #| msgid "Failed to add user to group." msgid "Failed to change user status." msgstr "Nem sikerült hozzáadni a felhasználót a csoporthoz." -#: plinth/modules/users/forms.py:299 +#: plinth/modules/users/forms.py:288 msgid "Cannot delete the only administrator in the system." msgstr "Nem lehet törölni a rendszer egyetlen rendszergazdáját." -#: plinth/modules/users/forms.py:331 +#: plinth/modules/users/forms.py:319 msgid "Changing LDAP user password failed." msgstr "LDAP felhasználó jelszavának megváltoztatása sikertelen." -#: plinth/modules/users/forms.py:366 +#: plinth/modules/users/forms.py:354 msgid "Failed to add new user to admin group." msgstr "Nem sikerült hozzáadni az új felhasználót a rendszergazda csoporthoz." -#: plinth/modules/users/forms.py:383 +#: plinth/modules/users/forms.py:371 msgid "Failed to restrict console access." msgstr "Nem sikerült a konzol hozzáférés korlátozása." -#: plinth/modules/users/forms.py:395 +#: plinth/modules/users/forms.py:383 msgid "User account created, you are now logged in" msgstr "Felhasználói fiók létrehozva, bejelentkezés sikeres" @@ -7378,18 +7379,22 @@ msgstr "%(package_names)s telepítése: %(status)s" msgid "%(percentage)s%% complete" msgstr "befejezettségi szint: %(percentage)s%%" -#: plinth/views.py:184 -msgid "Application enabled" -msgstr "Alkalmazás engedélyezve" - -#: plinth/views.py:187 -msgid "Application disabled" -msgstr "Alkalmazás letiltva" - #: plinth/web_framework.py:107 msgid "Gujarati" msgstr "Gudzsaráti" +#~ msgid "Enable application" +#~ msgstr "Alkalmazás engedélyezése" + +#~ msgid "Settings unchanged" +#~ msgstr "A beállítások nem változtak" + +#~ msgid "Application enabled" +#~ msgstr "Alkalmazás engedélyezve" + +#~ msgid "Application disabled" +#~ msgstr "Alkalmazás letiltva" + #~ msgid "Kite details set" #~ msgstr "Kite részletek beállítva" diff --git a/plinth/locale/id/LC_MESSAGES/django.po b/plinth/locale/id/LC_MESSAGES/django.po index 24fdd399e..e567e5879 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: 2020-03-23 18:54-0400\n" +"POT-Creation-Date: 2020-04-06 19:59-0400\n" "PO-Revision-Date: 2018-11-02 00:44+0000\n" "Last-Translator: ButterflyOfFire \n" "Language-Team: Indonesian web client user with a {box_name} login." msgstr "" -#: plinth/modules/ejabberd/__init__.py:70 +#: plinth/modules/ejabberd/__init__.py:69 msgid "ejabberd" msgstr "" -#: plinth/modules/ejabberd/__init__.py:71 +#: plinth/modules/ejabberd/__init__.py:70 #: plinth/modules/matrixsynapse/__init__.py:68 #, fuzzy #| msgid "Web Server" msgid "Chat Server" msgstr "Server Web" -#: plinth/modules/ejabberd/forms.py:17 +#: plinth/modules/ejabberd/forms.py:16 msgid "Enable Message Archive Management" msgstr "" -#: plinth/modules/ejabberd/forms.py:19 +#: plinth/modules/ejabberd/forms.py:18 #, python-brace-format msgid "" "If enabled, your {box_name} will store chat message histories. This allows " @@ -1438,19 +1426,11 @@ msgid "" "Configure page." msgstr "" -#: plinth/modules/ejabberd/templates/ejabberd.html:35 -#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 -#: plinth/modules/snapshot/templates/snapshot.html:12 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:27 -#: plinth/templates/app.html:45 -msgid "Configuration" -msgstr "" - -#: plinth/modules/ejabberd/views.py:58 +#: plinth/modules/ejabberd/views.py:45 msgid "Message Archive Management enabled" msgstr "" -#: plinth/modules/ejabberd/views.py:62 +#: plinth/modules/ejabberd/views.py:49 msgid "Message Archive Management disabled" msgstr "" @@ -1462,7 +1442,7 @@ msgid "" "configured reduces risk of security threat from the Internet." msgstr "" -#: plinth/modules/firewall/__init__.py:63 +#: plinth/modules/firewall/__init__.py:65 msgid "Firewall" msgstr "Firewall" @@ -1591,7 +1571,7 @@ msgid "" "gittutorial\">Git tutorial." msgstr "" -#: plinth/modules/gitweb/__init__.py:39 +#: plinth/modules/gitweb/__init__.py:51 msgid "Read-write access to Git repositories" msgstr "" @@ -1741,31 +1721,31 @@ msgstr "{name} dihapus." msgid "Could not delete {name}: {error}" msgstr "Tidak dapat menghapus {name}: {error}" -#: plinth/modules/help/__init__.py:30 +#: plinth/modules/help/__init__.py:32 msgid "Documentation" msgstr "" -#: plinth/modules/help/__init__.py:33 plinth/modules/networks/forms.py:47 +#: plinth/modules/help/__init__.py:35 plinth/modules/networks/forms.py:47 #: plinth/modules/networks/forms.py:77 plinth/templates/help-menu.html:20 #: plinth/templates/help-menu.html:21 plinth/templates/index.html:128 msgid "Manual" msgstr "Panduan" -#: plinth/modules/help/__init__.py:37 +#: plinth/modules/help/__init__.py:39 #: plinth/modules/help/templates/help_support.html:9 #: plinth/modules/help/views.py:43 plinth/templates/help-menu.html:27 #: plinth/templates/help-menu.html:28 msgid "Get Support" msgstr "" -#: plinth/modules/help/__init__.py:41 +#: plinth/modules/help/__init__.py:43 #: plinth/modules/help/templates/help_feedback.html:9 #: plinth/modules/help/views.py:37 plinth/templates/help-menu.html:33 #: plinth/templates/help-menu.html:34 msgid "Submit Feedback" msgstr "" -#: plinth/modules/help/__init__.py:45 +#: plinth/modules/help/__init__.py:47 #: plinth/modules/help/templates/help_contribute.html:9 #: plinth/modules/help/views.py:31 plinth/templates/help-menu.html:39 #: plinth/templates/help-menu.html:40 @@ -1876,7 +1856,7 @@ msgstr "" #: plinth/modules/help/templates/help_contribute.html:42 #: plinth/modules/power/templates/power_restart.html:27 #: plinth/modules/power/templates/power_shutdown.html:26 -#: plinth/templates/app-header.html:51 +#: plinth/templates/app-header.html:53 #, fuzzy #| msgid "Learn more »" msgid "Learn more..." @@ -2026,23 +2006,23 @@ msgid "" "configuration process." msgstr "" -#: plinth/modules/i2p/__init__.py:38 +#: plinth/modules/i2p/__init__.py:62 #, fuzzy #| msgid "Enable application" msgid "Manage I2P application" msgstr "Aktifkan aplikasi" -#: plinth/modules/i2p/__init__.py:64 plinth/modules/i2p/manifest.py:16 +#: plinth/modules/i2p/__init__.py:65 plinth/modules/i2p/manifest.py:16 msgid "I2P" msgstr "" -#: plinth/modules/i2p/__init__.py:65 plinth/modules/tor/__init__.py:56 +#: plinth/modules/i2p/__init__.py:66 plinth/modules/tor/__init__.py:55 #, fuzzy #| msgid "Go to Networks" msgid "Anonymity Network" msgstr "Pergi ke Pengaturan Jaringan" -#: plinth/modules/i2p/__init__.py:87 +#: plinth/modules/i2p/__init__.py:88 #, fuzzy #| msgid "Web Proxy (Privoxy)" msgid "I2P Proxy" @@ -2097,24 +2077,24 @@ msgid "" "Configuration you can change these permissions or add new users." msgstr "" -#: plinth/modules/ikiwiki/__init__.py:39 -#, fuzzy -#| msgid "Services and Applications" -msgid "View and edit wiki applications" -msgstr "Layanan dan Aplikasi" - -#: plinth/modules/ikiwiki/__init__.py:53 plinth/modules/ikiwiki/manifest.py:9 +#: plinth/modules/ikiwiki/__init__.py:52 plinth/modules/ikiwiki/manifest.py:9 #, fuzzy #| msgid "wiki" msgid "ikiwiki" msgstr "wiki" -#: plinth/modules/ikiwiki/__init__.py:54 +#: plinth/modules/ikiwiki/__init__.py:53 #, fuzzy #| msgid "Manage Wikis and Blogs" msgid "Wiki and Blog" msgstr "Kelola Wiki dan Blog" +#: plinth/modules/ikiwiki/__init__.py:73 +#, fuzzy +#| msgid "Services and Applications" +msgid "View and edit wiki applications" +msgstr "Layanan dan Aplikasi" + #: plinth/modules/ikiwiki/forms.py:17 msgid "Admin Account Name" msgstr "Nama Akun Admin" @@ -2158,33 +2138,33 @@ msgid "" "history. Delete this wiki or blog permanently?" msgstr "" -#: plinth/modules/ikiwiki/views.py:72 +#: plinth/modules/ikiwiki/views.py:70 #, python-brace-format msgid "Created wiki {name}." msgstr "Membuat wiki {name}." -#: plinth/modules/ikiwiki/views.py:75 +#: plinth/modules/ikiwiki/views.py:73 #, python-brace-format msgid "Could not create wiki: {error}" msgstr "Tidak dapat membuat wiki: {error}" -#: plinth/modules/ikiwiki/views.py:85 +#: plinth/modules/ikiwiki/views.py:83 #, python-brace-format msgid "Created blog {name}." msgstr "membuat blog {name}." -#: plinth/modules/ikiwiki/views.py:88 +#: plinth/modules/ikiwiki/views.py:86 #, python-brace-format msgid "Could not create blog: {error}" msgstr "Tidak dapat membuat blog: {error}" -#: plinth/modules/ikiwiki/views.py:103 +#: plinth/modules/ikiwiki/views.py:101 #, fuzzy, python-brace-format #| msgid "{name} deleted." msgid "{title} deleted." msgstr "{name} dihapus." -#: plinth/modules/ikiwiki/views.py:107 +#: plinth/modules/ikiwiki/views.py:105 #, fuzzy, python-brace-format #| msgid "Could not delete {name}: {error}" msgid "Could not delete {title}: {error}" @@ -2227,17 +2207,17 @@ msgid "" "domain name." msgstr "" -#: plinth/modules/jsxc/__init__.py:22 +#: plinth/modules/jsxc/__init__.py:23 msgid "" "JSXC is a web client for XMPP. Typically it is used with an XMPP server " "running locally." msgstr "" -#: plinth/modules/jsxc/__init__.py:40 plinth/modules/jsxc/manifest.py:10 +#: plinth/modules/jsxc/__init__.py:43 plinth/modules/jsxc/manifest.py:10 msgid "JSXC" msgstr "" -#: plinth/modules/jsxc/__init__.py:41 +#: plinth/modules/jsxc/__init__.py:44 msgid "Chat Client" msgstr "" @@ -2406,13 +2386,13 @@ msgstr "" msgid "Matrix Synapse" msgstr "" -#: plinth/modules/matrixsynapse/forms.py:14 +#: plinth/modules/matrixsynapse/forms.py:12 #, fuzzy #| msgid "Enable application" msgid "Enable Public Registration" msgstr "Aktifkan aplikasi" -#: plinth/modules/matrixsynapse/forms.py:15 +#: plinth/modules/matrixsynapse/forms.py:13 msgid "" "Enabling public registration means that anyone on the Internet can register " "a new account on your Matrix server. Disable this if you only want existing " @@ -2423,6 +2403,12 @@ msgstr "" msgid "Riot" msgstr "" +#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 +#: plinth/modules/snapshot/templates/snapshot.html:12 +#: plinth/templates/app.html:46 +msgid "Configuration" +msgstr "" + #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:18 msgid "" "Matrix service needs to be configured for a domain. Users on other Matrix " @@ -2467,11 +2453,11 @@ msgid "" "go to Let's Encrypt to obtain one." msgstr "" -#: plinth/modules/matrixsynapse/views.py:98 +#: plinth/modules/matrixsynapse/views.py:86 msgid "Public registration enabled" msgstr "" -#: plinth/modules/matrixsynapse/views.py:103 +#: plinth/modules/matrixsynapse/views.py:91 #, fuzzy #| msgid "Application installed." msgid "Public registration disabled" @@ -2509,85 +2495,85 @@ msgstr "" msgid "Wiki" msgstr "" -#: plinth/modules/mediawiki/forms.py:27 +#: plinth/modules/mediawiki/forms.py:25 #, fuzzy #| msgid "Administrator Account" msgid "Administrator Password" msgstr "Akun Administrator" -#: plinth/modules/mediawiki/forms.py:28 +#: plinth/modules/mediawiki/forms.py:26 msgid "" "Set a new password for MediaWiki's administrator account (admin). Leave this " "field blank to keep the current password." msgstr "" -#: plinth/modules/mediawiki/forms.py:33 +#: plinth/modules/mediawiki/forms.py:31 #, fuzzy #| msgid "Enable application" msgid "Enable public registrations" msgstr "Aktifkan aplikasi" -#: plinth/modules/mediawiki/forms.py:34 +#: plinth/modules/mediawiki/forms.py:32 msgid "" "If enabled, anyone on the internet will be able to create an account on your " "MediaWiki instance." msgstr "" -#: plinth/modules/mediawiki/forms.py:38 +#: plinth/modules/mediawiki/forms.py:36 #, fuzzy #| msgid "Enable application" msgid "Enable private mode" msgstr "Aktifkan aplikasi" -#: plinth/modules/mediawiki/forms.py:39 +#: plinth/modules/mediawiki/forms.py:37 msgid "" "If enabled, access will be restricted. Only people who have accounts can " "read/write to the wiki. Public registrations will also be disabled." msgstr "" -#: plinth/modules/mediawiki/forms.py:44 +#: plinth/modules/mediawiki/forms.py:42 msgid "Default Skin" msgstr "" -#: plinth/modules/mediawiki/forms.py:45 +#: plinth/modules/mediawiki/forms.py:43 msgid "" "Choose a default skin for your MediaWiki installation. Users have the option " "to select their preferred skin." msgstr "" -#: plinth/modules/mediawiki/views.py:53 +#: plinth/modules/mediawiki/views.py:48 #, fuzzy #| msgid "Password" msgid "Password updated" msgstr "Kata Sandi" -#: plinth/modules/mediawiki/views.py:72 +#: plinth/modules/mediawiki/views.py:57 #, fuzzy #| msgid "Application installed." msgid "Public registrations enabled" msgstr "Aplikasi telah terpasang." -#: plinth/modules/mediawiki/views.py:81 +#: plinth/modules/mediawiki/views.py:66 #, fuzzy #| msgid "Application installed." msgid "Public registrations disabled" msgstr "Aplikasi telah terpasang." -#: plinth/modules/mediawiki/views.py:86 +#: plinth/modules/mediawiki/views.py:71 msgid "Private mode enabled" msgstr "" -#: plinth/modules/mediawiki/views.py:93 +#: plinth/modules/mediawiki/views.py:78 #, fuzzy #| msgid "Application installed." msgid "Private mode disabled" msgstr "Aplikasi telah terpasang." -#: plinth/modules/mediawiki/views.py:101 +#: plinth/modules/mediawiki/views.py:86 msgid "Default skin changed" msgstr "" -#: plinth/modules/minetest/__init__.py:37 +#: plinth/modules/minetest/__init__.py:38 #, python-brace-format msgid "" "Minetest is a multiplayer infinite-world block sandbox. This module enables " @@ -2596,54 +2582,54 @@ msgid "" "downloads/\">Minetest client is needed." msgstr "" -#: plinth/modules/minetest/__init__.py:63 +#: plinth/modules/minetest/__init__.py:62 #: plinth/modules/minetest/manifest.py:10 msgid "Minetest" msgstr "" -#: plinth/modules/minetest/__init__.py:64 +#: plinth/modules/minetest/__init__.py:63 msgid "Block Sandbox" msgstr "" -#: plinth/modules/minetest/forms.py:15 +#: plinth/modules/minetest/forms.py:13 msgid "Maximum number of players" msgstr "" -#: plinth/modules/minetest/forms.py:17 +#: plinth/modules/minetest/forms.py:15 msgid "" "You can change the maximum number of players playing minetest at a single " "instance of time." msgstr "" -#: plinth/modules/minetest/forms.py:21 +#: plinth/modules/minetest/forms.py:19 #, fuzzy #| msgid "Enable application" msgid "Enable creative mode" msgstr "Aktifkan aplikasi" -#: plinth/modules/minetest/forms.py:22 +#: plinth/modules/minetest/forms.py:20 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:27 +#: plinth/modules/minetest/forms.py:25 #, fuzzy #| msgid "Enabled" msgid "Enable PVP" msgstr "Aktifkan" -#: plinth/modules/minetest/forms.py:28 +#: plinth/modules/minetest/forms.py:26 msgid "Enabling Player Vs Player will allow players to damage other players." msgstr "" -#: plinth/modules/minetest/forms.py:32 +#: plinth/modules/minetest/forms.py:30 #, fuzzy #| msgid "Enable PageKite" msgid "Enable damage" msgstr "Aktifkan PageKite" -#: plinth/modules/minetest/forms.py:33 +#: plinth/modules/minetest/forms.py:31 msgid "When disabled, players cannot die or receive damage of any kind." msgstr "" @@ -2684,19 +2670,19 @@ msgid "" "Kodi." msgstr "" -#: plinth/modules/minidlna/__init__.py:33 +#: plinth/modules/minidlna/__init__.py:44 msgid "Media streaming server" msgstr "" -#: plinth/modules/minidlna/__init__.py:47 +#: plinth/modules/minidlna/__init__.py:48 msgid "Simple Media Server" msgstr "" -#: plinth/modules/minidlna/forms.py:15 +#: plinth/modules/minidlna/forms.py:13 msgid "Media Files Directory" msgstr "" -#: plinth/modules/minidlna/forms.py:16 +#: plinth/modules/minidlna/forms.py:14 msgid "" "Directory that MiniDLNA Server will read for content. All sub-directories of " "this will be also scanned for media files. If you change the default ensure " @@ -2748,18 +2734,18 @@ msgid "" "On {box_name}, downloaded files can be found in /var/lib/mldonkey/ directory." msgstr "" -#: plinth/modules/mldonkey/__init__.py:40 +#: plinth/modules/mldonkey/__init__.py:50 msgid "Download files using eDonkey applications" msgstr "" -#: plinth/modules/mldonkey/__init__.py:54 +#: plinth/modules/mldonkey/__init__.py:53 #: plinth/modules/mldonkey/manifest.py:12 #, fuzzy #| msgid "Monkeysphere" msgid "MLDonkey" msgstr "Monkeysphere" -#: plinth/modules/mldonkey/__init__.py:56 +#: plinth/modules/mldonkey/__init__.py:55 msgid "Peer-to-peer File Sharing" msgstr "" @@ -2775,7 +2761,7 @@ msgstr "Monkeysphere" msgid "AMLDonkey" msgstr "Monkeysphere" -#: plinth/modules/monkeysphere/__init__.py:18 +#: plinth/modules/monkeysphere/__init__.py:19 msgid "" "With Monkeysphere, an OpenPGP key can be generated for each configured " "domain serving SSH. The OpenPGP public key can then be uploaded to the " @@ -2787,7 +2773,7 @@ msgid "" "for more details." msgstr "" -#: plinth/modules/monkeysphere/__init__.py:26 +#: plinth/modules/monkeysphere/__init__.py:27 msgid "" "Monkeysphere can also generate an OpenPGP key for each Secure Web Server " "(HTTPS) certificate installed on this machine. The OpenPGP public key can " @@ -2798,7 +2784,7 @@ msgid "" "Monkeysphere website." msgstr "" -#: plinth/modules/monkeysphere/__init__.py:50 +#: plinth/modules/monkeysphere/__init__.py:49 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:11 msgid "Monkeysphere" msgstr "Monkeysphere" @@ -2847,15 +2833,15 @@ msgstr "Tampilkan rincial untuk kunci %(fingerprint)s" msgid "-" msgstr "-" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:128 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:129 msgid "Import Key" msgstr "Impor Kunci" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:137 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:139 msgid "Publish Key" msgstr "Publikasikan Kunci" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:146 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:149 msgid "Add Domains" msgstr "Tambah Domain" @@ -2925,36 +2911,36 @@ msgstr "Publikasikan kunci ke keyserver." msgid "Error occurred while publishing key." msgstr "" -#: plinth/modules/mumble/__init__.py:23 +#: plinth/modules/mumble/__init__.py:24 msgid "" "Mumble is an open source, low-latency, encrypted, high quality voice chat " "software." msgstr "" -#: plinth/modules/mumble/__init__.py:25 +#: plinth/modules/mumble/__init__.py:26 msgid "" "You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your " "desktop and Android devices are available." msgstr "" -#: plinth/modules/mumble/__init__.py:49 plinth/modules/mumble/manifest.py:12 +#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:12 msgid "Mumble" msgstr "" -#: plinth/modules/mumble/__init__.py:50 +#: plinth/modules/mumble/__init__.py:49 #, fuzzy #| msgid "Voice Chat (Mumble)" msgid "Voice Chat" msgstr "Pesan Suara (Mumble)" -#: plinth/modules/mumble/forms.py:16 +#: plinth/modules/mumble/forms.py:14 #, fuzzy #| msgid "Show password" msgid "Set SuperUser Password" msgstr "Tampilkan kata sandi" -#: plinth/modules/mumble/forms.py:19 +#: plinth/modules/mumble/forms.py:17 msgid "" "Optional. Leave this field blank to keep the current password. SuperUser " "password can be used to manage permissions in Mumble." @@ -3242,7 +3228,7 @@ msgstr "Open" #: plinth/modules/networks/forms.py:297 #, python-brace-format -msgid "Choose how your {box_name} is connected to your network" +msgid "Specify how your {box_name} is connected to your network" msgstr "" #: plinth/modules/networks/forms.py:304 @@ -3465,7 +3451,7 @@ msgstr "IPv4" #: plinth/modules/networks/templates/connection_show.html:171 #: plinth/modules/networks/templates/connection_show.html:212 -#: plinth/modules/shadowsocks/forms.py:49 +#: plinth/modules/shadowsocks/forms.py:48 msgid "Method" msgstr "" @@ -3481,7 +3467,7 @@ msgstr "" #: plinth/modules/networks/templates/connection_show.html:201 #: plinth/modules/networks/templates/connection_show.html:240 -#: plinth/modules/storage/forms.py:141 +#: plinth/modules/storage/forms.py:139 msgid "Default" msgstr "" @@ -3930,6 +3916,11 @@ msgstr "Pengaturan selesai." msgid "Setup failed." msgstr "Pengaturan gagal." +#: plinth/modules/openvpn/views.py:135 plinth/modules/tor/views.py:136 +#: plinth/views.py:196 +msgid "Setting unchanged" +msgstr "" + #: plinth/modules/pagekite/__init__.py:27 #, python-brace-format msgid "" @@ -3990,75 +3981,75 @@ msgstr "" msgid "PageKite Domain" msgstr "Pagekite" -#: plinth/modules/pagekite/forms.py:48 +#: plinth/modules/pagekite/forms.py:47 msgid "Server domain" msgstr "" -#: plinth/modules/pagekite/forms.py:50 +#: plinth/modules/pagekite/forms.py:49 msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " "pagekite.net server." msgstr "" -#: plinth/modules/pagekite/forms.py:53 plinth/modules/shadowsocks/forms.py:40 +#: plinth/modules/pagekite/forms.py:52 plinth/modules/shadowsocks/forms.py:39 msgid "Server port" msgstr "" -#: plinth/modules/pagekite/forms.py:54 +#: plinth/modules/pagekite/forms.py:53 msgid "Port of your pagekite server (default: 80)" msgstr "" -#: plinth/modules/pagekite/forms.py:56 +#: plinth/modules/pagekite/forms.py:55 msgid "Kite name" msgstr "nama Kite" -#: plinth/modules/pagekite/forms.py:57 +#: plinth/modules/pagekite/forms.py:56 msgid "Example: mybox.pagekite.me" msgstr "" -#: plinth/modules/pagekite/forms.py:59 +#: plinth/modules/pagekite/forms.py:58 msgid "Invalid kite name" msgstr "" -#: plinth/modules/pagekite/forms.py:63 +#: plinth/modules/pagekite/forms.py:62 msgid "Kite secret" msgstr "" -#: plinth/modules/pagekite/forms.py:64 +#: plinth/modules/pagekite/forms.py:63 msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." msgstr "" -#: plinth/modules/pagekite/forms.py:101 +#: plinth/modules/pagekite/forms.py:100 msgid "protocol" msgstr "" -#: plinth/modules/pagekite/forms.py:104 +#: plinth/modules/pagekite/forms.py:103 msgid "external (frontend) port" msgstr "" -#: plinth/modules/pagekite/forms.py:107 +#: plinth/modules/pagekite/forms.py:106 msgid "internal (freedombox) port" msgstr "" -#: plinth/modules/pagekite/forms.py:108 +#: plinth/modules/pagekite/forms.py:107 msgid "Enable Subdomains" msgstr "" -#: plinth/modules/pagekite/forms.py:142 +#: plinth/modules/pagekite/forms.py:141 msgid "Deleted custom service" msgstr "" -#: plinth/modules/pagekite/forms.py:175 +#: plinth/modules/pagekite/forms.py:174 msgid "This service is already available as a standard service." msgstr "" -#: plinth/modules/pagekite/forms.py:183 +#: plinth/modules/pagekite/forms.py:182 msgid "Added custom service" msgstr "" -#: plinth/modules/pagekite/forms.py:186 +#: plinth/modules/pagekite/forms.py:185 msgid "This service already exists" msgstr "" @@ -4178,14 +4169,14 @@ msgstr "" msgid "Shut Down Now" msgstr "Matikan Sekarang" -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 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:33 +#: plinth/modules/privoxy/__init__.py:34 #, python-brace-format msgid "" "You can use Privoxy by modifying your browser proxy settings to your " @@ -4195,22 +4186,22 @@ msgid "" "\">http://p.p." msgstr "" -#: plinth/modules/privoxy/__init__.py:56 +#: plinth/modules/privoxy/__init__.py:55 msgid "Privoxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:57 +#: plinth/modules/privoxy/__init__.py:56 #, fuzzy #| msgid "Web Proxy (Privoxy)" msgid "Web Proxy" msgstr "Web Proxy (Privoxy)" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:119 #, python-brace-format msgid "Access {url} with proxy {proxy} on tcp{kind}" msgstr "" -#: plinth/modules/quassel/__init__.py:32 +#: plinth/modules/quassel/__init__.py:33 #, python-brace-format msgid "" "Quassel is an IRC application that is split into two parts, a \"core\" and a " @@ -4221,7 +4212,7 @@ msgid "" "connect and disconnect from it." msgstr "" -#: plinth/modules/quassel/__init__.py:39 +#: plinth/modules/quassel/__init__.py:40 msgid "" "You can connect to your Quassel core on the default Quassel port 4242. " "Clients to connect to Quassel from your mobile devices are available." msgstr "" -#: plinth/modules/quassel/__init__.py:62 plinth/modules/quassel/manifest.py:10 +#: plinth/modules/quassel/__init__.py:61 plinth/modules/quassel/manifest.py:10 msgid "Quassel" msgstr "" -#: plinth/modules/quassel/__init__.py:63 +#: plinth/modules/quassel/__init__.py:62 msgid "IRC Client" msgstr "" -#: plinth/modules/quassel/forms.py:23 +#: plinth/modules/quassel/forms.py:22 #, fuzzy #| msgid "Subdomain" msgid "TLS domain" msgstr "Subdomain" -#: plinth/modules/quassel/forms.py:25 +#: plinth/modules/quassel/forms.py:24 msgid "" "Select a domain to use TLS with. If the list is empty, please configure at " "least one domain with certificates." @@ -4253,7 +4244,7 @@ msgstr "" msgid "Quasseldroid" msgstr "" -#: plinth/modules/radicale/__init__.py:32 +#: plinth/modules/radicale/__init__.py:33 #, python-brace-format msgid "" "Radicale is a CalDAV and CardDAV server. It allows synchronization and " @@ -4262,34 +4253,34 @@ msgid "" "can be accessed by any user with a {box_name} login." msgstr "" -#: plinth/modules/radicale/__init__.py:37 +#: plinth/modules/radicale/__init__.py:38 msgid "" "Radicale provides a basic web interface, which only supports creating new " "calendars and addressbooks. It does not support adding events or contacts, " "which must be done using a separate client." msgstr "" -#: plinth/modules/radicale/__init__.py:62 +#: plinth/modules/radicale/__init__.py:61 #: plinth/modules/radicale/manifest.py:75 msgid "Radicale" msgstr "" -#: plinth/modules/radicale/__init__.py:63 +#: plinth/modules/radicale/__init__.py:62 msgid "Calendar and Addressbook" msgstr "" -#: plinth/modules/radicale/forms.py:15 +#: plinth/modules/radicale/forms.py:14 msgid "Only the owner of a calendar/addressbook can view or make changes." msgstr "" -#: plinth/modules/radicale/forms.py:19 +#: plinth/modules/radicale/forms.py:18 #, python-brace-format msgid "" "Any user with a {box_name} login can view any calendar/addressbook, but only " "the owner can make changes." msgstr "" -#: plinth/modules/radicale/forms.py:24 +#: plinth/modules/radicale/forms.py:23 #, python-brace-format msgid "" "Any user with a {box_name} login can view or make changes to any calendar/" @@ -4405,11 +4396,11 @@ msgid "" "private space." msgstr "" -#: plinth/modules/samba/__init__.py:47 +#: plinth/modules/samba/__init__.py:59 msgid "Access to the private shares" msgstr "" -#: plinth/modules/samba/__init__.py:61 +#: plinth/modules/samba/__init__.py:62 msgid "Samba" msgstr "" @@ -4483,13 +4474,13 @@ msgstr "Shared" msgid "Action" msgstr "Aksi" -#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:149 +#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:147 #, fuzzy #| msgid "Add Service" msgid "Open Share" msgstr "Tambah Layanan" -#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:147 +#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:145 #, fuzzy #| msgid "Add Service" msgid "Group Share" @@ -4537,49 +4528,49 @@ msgid "" "stores no cookies by default." msgstr "" -#: plinth/modules/searx/__init__.py:31 +#: plinth/modules/searx/__init__.py:45 msgid "Search the web" msgstr "" -#: plinth/modules/searx/__init__.py:47 plinth/modules/searx/manifest.py:9 +#: plinth/modules/searx/__init__.py:48 plinth/modules/searx/manifest.py:9 msgid "Searx" msgstr "" -#: plinth/modules/searx/__init__.py:48 +#: plinth/modules/searx/__init__.py:49 #, fuzzy #| msgid "Web Server" msgid "Web Search" msgstr "Server Web" -#: plinth/modules/searx/forms.py:15 +#: plinth/modules/searx/forms.py:13 #, fuzzy #| msgid "Save Services" msgid "Safe Search" msgstr "Simpan Layanan" -#: plinth/modules/searx/forms.py:16 +#: plinth/modules/searx/forms.py:14 msgid "Select the default family filter to apply to your search results." msgstr "" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "None" msgstr "" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 #, fuzzy #| msgid "Mode" msgid "Moderate" msgstr "Mode" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "Strict" msgstr "" -#: plinth/modules/searx/forms.py:20 +#: plinth/modules/searx/forms.py:18 msgid "Allow Public Access" msgstr "" -#: plinth/modules/searx/forms.py:21 +#: plinth/modules/searx/forms.py:19 msgid "Allow this application to be used by anyone who can reach it." msgstr "" @@ -4746,30 +4737,30 @@ msgstr "" msgid "Socks5 Proxy" msgstr "" +#: plinth/modules/shadowsocks/forms.py:12 #: plinth/modules/shadowsocks/forms.py:13 -#: plinth/modules/shadowsocks/forms.py:14 msgid "Recommended" msgstr "" -#: plinth/modules/shadowsocks/forms.py:37 +#: plinth/modules/shadowsocks/forms.py:36 #, fuzzy #| msgid "Service" msgid "Server" msgstr "Layanan" -#: plinth/modules/shadowsocks/forms.py:38 +#: plinth/modules/shadowsocks/forms.py:37 msgid "Server hostname or IP address" msgstr "" -#: plinth/modules/shadowsocks/forms.py:42 +#: plinth/modules/shadowsocks/forms.py:41 msgid "Server port number" msgstr "" -#: plinth/modules/shadowsocks/forms.py:45 +#: plinth/modules/shadowsocks/forms.py:44 msgid "Password used to encrypt data. Must match server password." msgstr "" -#: plinth/modules/shadowsocks/forms.py:50 +#: plinth/modules/shadowsocks/forms.py:49 msgid "Encryption method. Must match setting on server." msgstr "" @@ -4814,11 +4805,11 @@ msgstr "Publikasikan Kunci" msgid "Make files in this folder available to anyone with the link." msgstr "" -#: plinth/modules/sharing/forms.py:33 +#: plinth/modules/sharing/forms.py:34 msgid "User groups that can read the files in the share" msgstr "" -#: plinth/modules/sharing/forms.py:35 +#: plinth/modules/sharing/forms.py:36 msgid "" "Users of the selected user groups will be able to read the files in the " "share." @@ -5121,13 +5112,13 @@ msgstr "" msgid "Secure Shell (SSH) Server" msgstr "" -#: plinth/modules/ssh/forms.py:15 +#: plinth/modules/ssh/forms.py:13 #, fuzzy #| msgid "Use HTTP basic authentication" msgid "Disable password authentication" msgstr "Gunakan autentikasi dasar HTTP" -#: plinth/modules/ssh/forms.py:16 +#: plinth/modules/ssh/forms.py:14 msgid "" "Improves security by preventing password guessing. Ensure that you have " "setup SSH keys in your administrator user account before enabling this " @@ -5180,138 +5171,138 @@ msgid "" "media, expand the root partition etc." msgstr "" -#: plinth/modules/storage/__init__.py:52 plinth/modules/storage/__init__.py:318 +#: plinth/modules/storage/__init__.py:54 plinth/modules/storage/__init__.py:320 msgid "Storage" 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 "" -#: plinth/modules/storage/__init__.py:313 +#: plinth/modules/storage/__init__.py:315 #, no-python-format, python-brace-format msgid "Low space on system partition: {percent_used}% used, {free_space} free." msgstr "" -#: plinth/modules/storage/__init__.py:315 +#: plinth/modules/storage/__init__.py:317 msgid "Low disk space" msgstr "" -#: plinth/modules/storage/forms.py:64 +#: plinth/modules/storage/forms.py:63 #, fuzzy #| msgid "Actions" msgid "Invalid directory name." msgstr "Aksi" -#: plinth/modules/storage/forms.py:82 +#: plinth/modules/storage/forms.py:80 msgid "Directory does not exist." msgstr "" -#: plinth/modules/storage/forms.py:84 +#: plinth/modules/storage/forms.py:83 msgid "Path is not a directory." msgstr "" -#: plinth/modules/storage/forms.py:87 +#: plinth/modules/storage/forms.py:86 msgid "Directory is not readable by the user." msgstr "" -#: plinth/modules/storage/forms.py:90 +#: plinth/modules/storage/forms.py:89 msgid "Directory is not writable by the user." msgstr "" -#: plinth/modules/storage/forms.py:95 +#: plinth/modules/storage/forms.py:94 msgid "Directory" msgstr "" -#: plinth/modules/storage/forms.py:98 +#: plinth/modules/storage/forms.py:96 msgid "Subdirectory (optional)" msgstr "" -#: plinth/modules/storage/forms.py:145 +#: plinth/modules/storage/forms.py:143 #, fuzzy #| msgid "Shared" msgid "Share" msgstr "Shared" -#: plinth/modules/storage/forms.py:153 +#: plinth/modules/storage/forms.py:151 msgid "Other directory (specify below)" msgstr "" @@ -5392,19 +5383,20 @@ msgid "" "synchronize more often. {box_name} runs a single instance of Syncthing that " "may be used by multiple users. Each user's set of devices may be " "synchronized with a distinct set of folders. The web interface on " -"{box_name} is only available for users belonging to the \"admin\" group." +"{box_name} is only available for users belonging to the \"admin\" or " +"\"syncthing\" group." msgstr "" -#: plinth/modules/syncthing/__init__.py:40 +#: plinth/modules/syncthing/__init__.py:53 msgid "Administer Syncthing application" msgstr "" -#: plinth/modules/syncthing/__init__.py:54 +#: plinth/modules/syncthing/__init__.py:56 #: plinth/modules/syncthing/manifest.py:13 msgid "Syncthing" msgstr "" -#: plinth/modules/syncthing/__init__.py:55 +#: plinth/modules/syncthing/__init__.py:57 msgid "File Synchronization" msgstr "" @@ -5441,37 +5433,37 @@ msgid "" "%(domain_name)s:5678\">https://%(domain_name)s:5678." msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:39 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:29 msgid "Local introducer" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:59 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:76 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:33 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:49 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:66 #, fuzzy #| msgid "Name" msgid "Pet Name" msgstr "Nama" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:56 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:46 msgid "Add new introducer" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:67 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:57 #, fuzzy #| msgid "Address" msgid "Add" msgstr "Address" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:72 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:62 msgid "Connected introducers" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:89 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:79 msgid "Remove" msgstr "" -#: plinth/modules/tor/__init__.py:33 +#: plinth/modules/tor/__init__.py:34 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -5480,40 +5472,40 @@ msgid "" "\">Tor Browser." msgstr "" -#: plinth/modules/tor/__init__.py:55 +#: plinth/modules/tor/__init__.py:54 msgid "Tor" msgstr "" -#: plinth/modules/tor/__init__.py:66 +#: plinth/modules/tor/__init__.py:65 msgid "Tor Onion Service" msgstr "" -#: plinth/modules/tor/__init__.py:70 +#: plinth/modules/tor/__init__.py:69 msgid "Tor Socks Proxy" msgstr "" -#: plinth/modules/tor/__init__.py:74 +#: plinth/modules/tor/__init__.py:73 msgid "Tor Bridge Relay" msgstr "" -#: plinth/modules/tor/__init__.py:95 +#: plinth/modules/tor/__init__.py:98 msgid "Tor relay port available" msgstr "" -#: plinth/modules/tor/__init__.py:105 +#: plinth/modules/tor/__init__.py:108 msgid "Obfs3 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:115 +#: plinth/modules/tor/__init__.py:118 msgid "Obfs4 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:208 +#: plinth/modules/tor/__init__.py:211 #, python-brace-format msgid "Access URL {url} on tcp{kind} via Tor" msgstr "" -#: plinth/modules/tor/__init__.py:219 +#: plinth/modules/tor/__init__.py:222 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "" @@ -5645,13 +5637,13 @@ msgstr "SOCKS" msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050." msgstr "" -#: plinth/modules/transmission/__init__.py:27 +#: plinth/modules/transmission/__init__.py:28 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:48 +#: plinth/modules/transmission/__init__.py:51 #: plinth/modules/transmission/manifest.py:9 msgid "Transmission" msgstr "" @@ -5677,15 +5669,15 @@ msgid "" "connecting." msgstr "" -#: plinth/modules/ttrss/__init__.py:42 +#: plinth/modules/ttrss/__init__.py:54 msgid "Read and subscribe to news feeds" msgstr "" -#: plinth/modules/ttrss/__init__.py:56 plinth/modules/ttrss/manifest.py:19 +#: plinth/modules/ttrss/__init__.py:57 plinth/modules/ttrss/manifest.py:19 msgid "Tiny Tiny RSS" msgstr "" -#: plinth/modules/ttrss/__init__.py:57 +#: plinth/modules/ttrss/__init__.py:58 msgid "News Feed Reader" msgstr "" @@ -5697,11 +5689,11 @@ msgstr "" msgid "Check for and apply the latest software and security updates." msgstr "" -#: plinth/modules/upgrades/__init__.py:38 plinth/templates/setup.html:74 +#: plinth/modules/upgrades/__init__.py:40 plinth/templates/setup.html:74 msgid "Update" msgstr "" -#: plinth/modules/upgrades/__init__.py:76 +#: plinth/modules/upgrades/__init__.py:78 #, fuzzy #| msgid "FreedomBox" msgid "FreedomBox Updated" @@ -5758,45 +5750,41 @@ msgstr "" #: plinth/modules/upgrades/templates/upgrades_configure.html:11 #: plinth/modules/upgrades/templates/upgrades_configure.html:12 -#: plinth/modules/upgrades/views.py:88 +#: plinth/modules/upgrades/views.py:85 #, fuzzy #| msgid "Manual" msgid "Manual update" msgstr "Panduan" -#: plinth/modules/upgrades/views.py:47 +#: plinth/modules/upgrades/views.py:46 #, python-brace-format msgid "Error when configuring unattended-upgrades: {error}" msgstr "" -#: plinth/modules/upgrades/views.py:51 +#: plinth/modules/upgrades/views.py:50 msgid "Automatic upgrades enabled" msgstr "" -#: plinth/modules/upgrades/views.py:54 +#: plinth/modules/upgrades/views.py:53 msgid "Automatic upgrades disabled" msgstr "" -#: plinth/modules/upgrades/views.py:56 -msgid "Settings unchanged" -msgstr "" - -#: plinth/modules/upgrades/views.py:82 +#: plinth/modules/upgrades/views.py:79 msgid "Upgrade process started." msgstr "" -#: plinth/modules/upgrades/views.py:85 +#: plinth/modules/upgrades/views.py:82 msgid "Starting upgrade failed." msgstr "" -#: plinth/modules/users/__init__.py:37 +#: plinth/modules/users/__init__.py:39 msgid "" "Create and managed user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " "account to be part of a group to authorize the user to access the app." msgstr "" -#: plinth/modules/users/__init__.py:42 +#: plinth/modules/users/__init__.py:44 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -5804,106 +5792,105 @@ msgid "" "group may alter apps or system settings." msgstr "" -#: plinth/modules/users/__init__.py:64 +#: plinth/modules/users/__init__.py:65 msgid "Users and Groups" msgstr "" -#: plinth/modules/users/__init__.py:115 +#: plinth/modules/users/__init__.py:78 +msgid "Access to all services and system settings" +msgstr "" + +#: plinth/modules/users/__init__.py:122 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "" -#: plinth/modules/users/forms.py:28 -msgid "Access to all services and system settings" -msgstr "" - -#: plinth/modules/users/forms.py:44 +#: plinth/modules/users/forms.py:36 msgid "Username is taken or is reserved." msgstr "" -#: plinth/modules/users/forms.py:72 +#: plinth/modules/users/forms.py:63 #, fuzzy #| msgid "Actions" msgid "Enter a valid username." msgstr "Aksi" -#: plinth/modules/users/forms.py:78 +#: plinth/modules/users/forms.py:69 msgid "" "Required. 150 characters or fewer. English letters, digits and @/./-/_ only." msgstr "" -#: plinth/modules/users/forms.py:91 plinth/modules/users/forms.py:207 +#: plinth/modules/users/forms.py:83 plinth/modules/users/forms.py:196 msgid "Permissions" msgstr "" -#: plinth/modules/users/forms.py:94 +#: plinth/modules/users/forms.py:85 msgid "" -"Select which services should be available to the new user. The user will be " -"able to log in to services that support single sign-on through LDAP, if they " -"are in the appropriate group.

Users in the admin group will be " -"able to log in to all services. They can also log in to the system through " -"SSH and have administrative privileges (sudo)." +"user. The user will be able to log in to services that support single sign-" +"on through LDAP, if they are in the appropriate group.

Users in " +"the admin group will be able to log in to all services. They can also log in " +"to the system through SSH and have administrative privileges (sudo)." msgstr "" -#: plinth/modules/users/forms.py:133 plinth/modules/users/forms.py:357 +#: plinth/modules/users/forms.py:122 plinth/modules/users/forms.py:345 msgid "Creating LDAP user failed." msgstr "Gagal membuat pengguna LDAP." -#: plinth/modules/users/forms.py:144 +#: plinth/modules/users/forms.py:133 #, python-brace-format msgid "Failed to add new user to {group} group." msgstr "" -#: plinth/modules/users/forms.py:158 +#: plinth/modules/users/forms.py:147 msgid "Authorized SSH Keys" msgstr "" -#: plinth/modules/users/forms.py:160 +#: plinth/modules/users/forms.py:149 msgid "" "Setting an SSH public key will allow this user to securely log in to the " "system without using a password. You may enter multiple keys, one on each " "line. Blank lines and lines starting with # will be ignored." msgstr "" -#: plinth/modules/users/forms.py:244 +#: plinth/modules/users/forms.py:233 msgid "Renaming LDAP user failed." msgstr "" -#: plinth/modules/users/forms.py:256 +#: plinth/modules/users/forms.py:245 msgid "Failed to remove user from group." msgstr "" -#: plinth/modules/users/forms.py:267 +#: plinth/modules/users/forms.py:256 msgid "Failed to add user to group." msgstr "" -#: plinth/modules/users/forms.py:276 +#: plinth/modules/users/forms.py:265 msgid "Unable to set SSH keys." msgstr "" -#: plinth/modules/users/forms.py:291 +#: plinth/modules/users/forms.py:280 #, fuzzy #| msgid "Failed to add new user to admin group." msgid "Failed to change user status." msgstr "Gagal menambahkan pengguna baru ke kelompok admin." -#: plinth/modules/users/forms.py:299 +#: plinth/modules/users/forms.py:288 msgid "Cannot delete the only administrator in the system." msgstr "" -#: plinth/modules/users/forms.py:331 +#: plinth/modules/users/forms.py:319 msgid "Changing LDAP user password failed." msgstr "" -#: plinth/modules/users/forms.py:366 +#: plinth/modules/users/forms.py:354 msgid "Failed to add new user to admin group." msgstr "Gagal menambahkan pengguna baru ke kelompok admin." -#: plinth/modules/users/forms.py:383 +#: plinth/modules/users/forms.py:371 msgid "Failed to restrict console access." msgstr "" -#: plinth/modules/users/forms.py:395 +#: plinth/modules/users/forms.py:383 msgid "User account created, you are now logged in" msgstr "" @@ -6683,18 +6670,13 @@ msgstr "" msgid "%(percentage)s%% complete" msgstr "" -#: plinth/views.py:184 -msgid "Application enabled" -msgstr "" - -#: plinth/views.py:187 -msgid "Application disabled" -msgstr "" - #: plinth/web_framework.py:107 msgid "Gujarati" msgstr "" +#~ msgid "Enable application" +#~ msgstr "Aktifkan aplikasi" + #~ msgid "Register" #~ msgstr "Pendaftaran" diff --git a/plinth/locale/it/LC_MESSAGES/django.po b/plinth/locale/it/LC_MESSAGES/django.po index 8cad864ac..a49c6cbbb 100644 --- a/plinth/locale/it/LC_MESSAGES/django.po +++ b/plinth/locale/it/LC_MESSAGES/django.po @@ -7,9 +7,9 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-23 18:54-0400\n" -"PO-Revision-Date: 2020-02-24 21:32+0000\n" -"Last-Translator: Dietmar \n" +"POT-Creation-Date: 2020-04-06 19:59-0400\n" +"PO-Revision-Date: 2020-04-11 13:36+0000\n" +"Last-Translator: Jeannette L \n" "Language-Team: Italian \n" "Language: it\n" @@ -53,15 +53,11 @@ msgstr "Connettivo a {host}:{port}" msgid "Cannot connect to {host}:{port}" msgstr "Non è possibile connettersi a {host}:{port}" -#: plinth/forms.py:24 -msgid "Enable application" -msgstr "Abilita applicazione" - -#: plinth/forms.py:39 +#: plinth/forms.py:38 msgid "Select a domain name to be used with this application" msgstr "Seleziona un nome di dominio da usare con questa applicazione" -#: plinth/forms.py:41 +#: plinth/forms.py:40 #, fuzzy msgid "" "Warning! The application may not work properly if domain name is changed " @@ -70,15 +66,15 @@ msgstr "" "Attenzione! L'applicazione potrebbe non funzionare correttamente nel caso in " "cui il domino venga successivamente modificato" -#: plinth/forms.py:49 +#: plinth/forms.py:48 msgid "Language" msgstr "Lingua" -#: plinth/forms.py:50 +#: plinth/forms.py:49 msgid "Language to use for presenting this web interface" msgstr "Lingua da usare per presentare questa interfaccia web" -#: plinth/forms.py:57 +#: plinth/forms.py:56 msgid "Use the language preference set in the browser" msgstr "Usa la lingua impostata nel browser" @@ -685,23 +681,23 @@ msgstr "BIND" msgid "Domain Name Server" msgstr "Server di nomi a dominio" -#: plinth/modules/bind/forms.py:22 +#: plinth/modules/bind/forms.py:20 #, fuzzy msgid "Forwarders" msgstr "Mittenti" -#: plinth/modules/bind/forms.py:23 +#: plinth/modules/bind/forms.py:21 msgid "" "A list DNS servers, separated by space, to which requests will be forwarded" msgstr "" "Una lista di server DNS, separata da degli spazi, a cui saranno inoltrate le " "richieste DNS" -#: plinth/modules/bind/forms.py:27 +#: plinth/modules/bind/forms.py:25 msgid "Enable DNSSEC" msgstr "Abilita DNSSEC" -#: plinth/modules/bind/forms.py:28 +#: plinth/modules/bind/forms.py:26 msgid "Enable Domain Name System Security Extensions" msgstr "Abilita Domain Name System Security Extensions" @@ -741,10 +737,11 @@ msgstr "Indirizso IP" msgid "Refresh IP address and domains" msgstr "" -#: plinth/modules/bind/views.py:72 plinth/modules/deluge/views.py:44 +#: plinth/modules/bind/views.py:72 plinth/modules/deluge/views.py:42 #: plinth/modules/dynamicdns/views.py:150 plinth/modules/openvpn/views.py:133 -#: plinth/modules/pagekite/forms.py:91 plinth/modules/shadowsocks/views.py:59 -#: plinth/modules/transmission/views.py:50 +#: plinth/modules/pagekite/forms.py:90 plinth/modules/quassel/views.py:30 +#: plinth/modules/shadowsocks/views.py:59 +#: plinth/modules/transmission/views.py:47 msgid "Configuration updated" msgstr "Configurazione caricata" @@ -803,11 +800,11 @@ msgstr "" "Qui si possono impostare alcune opzioni di configurazione generali come " "hostname, nome di dominio, home page del webserver ecc." -#: plinth/modules/config/__init__.py:50 +#: plinth/modules/config/__init__.py:52 msgid "General Configuration" msgstr "Configurazione Generale" -#: plinth/modules/config/__init__.py:55 plinth/modules/dynamicdns/views.py:29 +#: plinth/modules/config/__init__.py:57 plinth/modules/dynamicdns/views.py:29 #: plinth/modules/names/templates/names.html:29 #: plinth/modules/names/templates/names.html:43 #: plinth/modules/snapshot/views.py:26 @@ -815,7 +812,7 @@ msgstr "Configurazione Generale" msgid "Configure" msgstr "Configura" -#: plinth/modules/config/__init__.py:59 plinth/modules/config/forms.py:61 +#: plinth/modules/config/__init__.py:61 plinth/modules/config/forms.py:61 #: plinth/modules/dynamicdns/forms.py:95 msgid "Domain Name" msgstr "Nome dominio" @@ -979,17 +976,17 @@ msgstr "" msgid "Coquelicot" msgstr "Coquelicot" -#: plinth/modules/coquelicot/__init__.py:47 plinth/modules/samba/__init__.py:62 +#: plinth/modules/coquelicot/__init__.py:47 plinth/modules/samba/__init__.py:63 #, fuzzy msgid "File Sharing" msgstr "Condivisione File" -#: plinth/modules/coquelicot/forms.py:15 +#: plinth/modules/coquelicot/forms.py:13 #, fuzzy msgid "Upload Password" msgstr "Password per l'upload" -#: plinth/modules/coquelicot/forms.py:16 +#: plinth/modules/coquelicot/forms.py:14 msgid "" "Set a new upload password for Coquelicot. Leave this field blank to keep the " "current password." @@ -997,11 +994,11 @@ msgstr "" "Imposta una nuova password per Coquelicot. Lascia questo campo vuoto per " "mantenere la password corrente." -#: plinth/modules/coquelicot/forms.py:20 +#: plinth/modules/coquelicot/forms.py:18 msgid "Maximum File Size (in MiB)" msgstr "Massima grandezza file (in MiB)" -#: plinth/modules/coquelicot/forms.py:21 +#: plinth/modules/coquelicot/forms.py:19 msgid "Set the maximum size of the files that can be uploaded to Coquelicot." msgstr "" "Imposta la grandezza massima dei file che è possibile caricare su Coquelicot." @@ -1044,11 +1041,11 @@ msgstr "Data & Ora" msgid "Time synchronized to NTP server" msgstr "Tempo sincronizzato al server NTP" -#: plinth/modules/datetime/forms.py:20 +#: plinth/modules/datetime/forms.py:18 msgid "Time Zone" msgstr "Fuso Orario" -#: plinth/modules/datetime/forms.py:21 +#: plinth/modules/datetime/forms.py:19 #, fuzzy msgid "" "Set your time zone to get accurate timestamps. This will set the system-wide " @@ -1057,7 +1054,7 @@ msgstr "" "Imposta il fuso orario appropriato per avere una orario preciso. Questo " "imposterà l'ora di sistema." -#: plinth/modules/datetime/forms.py:32 +#: plinth/modules/datetime/forms.py:30 msgid "-- no time zone set --" msgstr "-- fuso orario non impostato --" @@ -1071,11 +1068,11 @@ msgstr "Errore impostazione fuso orario: {exception}" msgid "Time zone set" msgstr "Impostazione fuso orario" -#: plinth/modules/deluge/__init__.py:25 +#: plinth/modules/deluge/__init__.py:26 msgid "Deluge is a BitTorrent client that features a Web UI." msgstr "Deluge è un client BitTorrent che può essere gestito da Web UI." -#: plinth/modules/deluge/__init__.py:26 +#: plinth/modules/deluge/__init__.py:27 msgid "" "The default password is 'deluge', but you should log in and change it " "immediately after enabling this service." @@ -1083,21 +1080,21 @@ msgstr "" "La password di default è 'deluge', ma è consigliabile effettuare il login e " "cambiarla subito dopo aver abilitato questo servizio." -#: plinth/modules/deluge/__init__.py:30 -#: plinth/modules/transmission/__init__.py:34 +#: plinth/modules/deluge/__init__.py:46 +#: plinth/modules/transmission/__init__.py:48 msgid "Download files using BitTorrent applications" msgstr "Scarica file usando applicazioni BitTorrent" -#: plinth/modules/deluge/__init__.py:46 plinth/modules/deluge/manifest.py:9 +#: plinth/modules/deluge/__init__.py:50 plinth/modules/deluge/manifest.py:9 msgid "Deluge" -msgstr "Delege" +msgstr "Deluge" -#: plinth/modules/deluge/__init__.py:47 -#: plinth/modules/transmission/__init__.py:50 +#: plinth/modules/deluge/__init__.py:51 +#: plinth/modules/transmission/__init__.py:53 msgid "BitTorrent Web Client" msgstr "Web Client BitTorrent" -#: plinth/modules/deluge/forms.py:20 plinth/modules/transmission/forms.py:20 +#: plinth/modules/deluge/forms.py:20 plinth/modules/transmission/forms.py:21 #, fuzzy msgid "Download directory" msgstr "Scarica directory" @@ -1178,7 +1175,7 @@ msgstr "diaspora*" msgid "Federated Social Network" msgstr "Sociale Network Distribuito" -#: plinth/modules/diaspora/forms.py:15 +#: plinth/modules/diaspora/forms.py:13 msgid "Enable new user registrations" msgstr "Abilita registrazione nuovi utenti" @@ -1213,32 +1210,23 @@ msgstr "" #: plinth/modules/diaspora/templates/diaspora-pre-setup.html:43 #: plinth/modules/dynamicdns/templates/dynamicdns_configure.html:25 -#: plinth/modules/ejabberd/templates/ejabberd.html:43 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:18 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:47 #: plinth/modules/snapshot/templates/snapshot.html:15 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:35 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:43 -#: plinth/templates/app.html:52 +#: plinth/templates/app.html:54 msgid "Update setup" msgstr "Aggiorna impostazioni" -#: plinth/modules/diaspora/views.py:76 plinth/modules/ejabberd/views.py:46 -#: plinth/modules/matrixsynapse/views.py:85 -#: plinth/modules/mediawiki/views.py:58 plinth/modules/openvpn/views.py:135 -#: plinth/modules/tor/views.py:136 plinth/views.py:180 -msgid "Setting unchanged" -msgstr "Impostazioni invariate" - -#: plinth/modules/diaspora/views.py:80 +#: plinth/modules/diaspora/views.py:74 msgid "User registrations enabled" msgstr "Registrazione utenti abilitata" -#: plinth/modules/diaspora/views.py:84 +#: plinth/modules/diaspora/views.py:78 msgid "User registrations disabled" msgstr "Registrazione utenti disabilitqta" -#: plinth/modules/dynamicdns/__init__.py:27 +#: plinth/modules/dynamicdns/__init__.py:28 #, python-brace-format msgid "" "If your Internet provider changes your IP address periodically (i.e. every " @@ -1249,7 +1237,7 @@ msgstr "" "24 ore), può essere difficile per gli altri trovarti in Internet. Questo " "impedirà altri di raggiungere i servizi forniti da questo {box_name}." -#: plinth/modules/dynamicdns/__init__.py:31 +#: plinth/modules/dynamicdns/__init__.py:32 msgid "" "The solution is to assign a DNS name to your IP address and update the DNS " "name every time your IP is changed by your Internet provider. Dynamic DNS " @@ -1266,11 +1254,11 @@ 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:56 +#: plinth/modules/dynamicdns/__init__.py:55 msgid "Dynamic DNS Client" msgstr "Client DNS Dinamico" -#: plinth/modules/dynamicdns/__init__.py:66 +#: plinth/modules/dynamicdns/__init__.py:65 msgid "Dynamic Domain Name" msgstr "Nome Dominio Dinamico" @@ -1375,7 +1363,7 @@ msgid "Username" msgstr "Nome utente" #: plinth/modules/dynamicdns/forms.py:104 plinth/modules/networks/forms.py:200 -#: plinth/modules/shadowsocks/forms.py:45 +#: plinth/modules/shadowsocks/forms.py:44 msgid "Password" msgstr "Password" @@ -1479,7 +1467,7 @@ msgstr "" msgid "Last update" msgstr "Ultimo aggiornamento" -#: plinth/modules/dynamicdns/views.py:26 plinth/modules/help/__init__.py:49 +#: plinth/modules/dynamicdns/views.py:26 plinth/modules/help/__init__.py:51 #: plinth/templates/help-menu.html:46 plinth/templates/help-menu.html:47 msgid "About" msgstr "About" @@ -1506,7 +1494,7 @@ msgstr "Configura Server DNS" msgid "Dynamic DNS Status" msgstr "Stato DNS Dinamico" -#: plinth/modules/ejabberd/__init__.py:36 +#: plinth/modules/ejabberd/__init__.py:37 msgid "" "XMPP is an open and standardized communication protocol. Here you can run " "and configure your XMPP server, called ejabberd." @@ -1514,7 +1502,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:39 +#: plinth/modules/ejabberd/__init__.py:40 #, fuzzy, python-brace-format msgid "" "To actually communicate, you can use the web client da ogni utente con un " "login {box_name}." -#: plinth/modules/ejabberd/__init__.py:70 +#: plinth/modules/ejabberd/__init__.py:69 msgid "ejabberd" msgstr "ejabberd" -#: plinth/modules/ejabberd/__init__.py:71 +#: plinth/modules/ejabberd/__init__.py:70 #: plinth/modules/matrixsynapse/__init__.py:68 msgid "Chat Server" msgstr "Server Chat" -#: plinth/modules/ejabberd/forms.py:17 +#: plinth/modules/ejabberd/forms.py:16 msgid "Enable Message Archive Management" msgstr "Abilita Gestione Archivio Messaggi" -#: plinth/modules/ejabberd/forms.py:19 +#: plinth/modules/ejabberd/forms.py:18 #, fuzzy, python-brace-format msgid "" "If enabled, your {box_name} will store chat message histories. This allows " @@ -1613,19 +1601,11 @@ msgstr "" "impostare il tuo dominio nel sistema . Configura " "la pagina ." -#: plinth/modules/ejabberd/templates/ejabberd.html:35 -#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 -#: plinth/modules/snapshot/templates/snapshot.html:12 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:27 -#: plinth/templates/app.html:45 -msgid "Configuration" -msgstr "Configurazione" - -#: plinth/modules/ejabberd/views.py:58 +#: plinth/modules/ejabberd/views.py:45 msgid "Message Archive Management enabled" msgstr "Gestione Archivio Messaggi abilitata" -#: plinth/modules/ejabberd/views.py:62 +#: plinth/modules/ejabberd/views.py:49 msgid "Message Archive Management disabled" msgstr "Gestione Archivio Messaggi disabilitata" @@ -1641,7 +1621,7 @@ msgstr "" "adeguatamente configurato riduce i rischi di attacchi informatici dalla rete " "Internet." -#: plinth/modules/firewall/__init__.py:63 +#: plinth/modules/firewall/__init__.py:65 msgid "Firewall" msgstr "Firewall" @@ -1792,7 +1772,7 @@ msgstr "" "Per saperne di più su come usare Git visita Git tutorial." -#: plinth/modules/gitweb/__init__.py:39 +#: plinth/modules/gitweb/__init__.py:51 msgid "Read-write access to Git repositories" msgstr "Accesso in lettura e scrittura ai repository Git" @@ -1927,17 +1907,17 @@ msgstr "{name} cancellato." msgid "Could not delete {name}: {error}" msgstr "Non è stato possibile cancellare {name}: {error}" -#: plinth/modules/help/__init__.py:30 +#: plinth/modules/help/__init__.py:32 msgid "Documentation" msgstr "Documentazione" -#: plinth/modules/help/__init__.py:33 plinth/modules/networks/forms.py:47 +#: plinth/modules/help/__init__.py:35 plinth/modules/networks/forms.py:47 #: plinth/modules/networks/forms.py:77 plinth/templates/help-menu.html:20 #: plinth/templates/help-menu.html:21 plinth/templates/index.html:128 msgid "Manual" msgstr "Manuale" -#: plinth/modules/help/__init__.py:37 +#: plinth/modules/help/__init__.py:39 #: plinth/modules/help/templates/help_support.html:9 #: plinth/modules/help/views.py:43 plinth/templates/help-menu.html:27 #: plinth/templates/help-menu.html:28 @@ -1945,14 +1925,14 @@ msgstr "Manuale" msgid "Get Support" msgstr "Richiedi assistenza" -#: plinth/modules/help/__init__.py:41 +#: plinth/modules/help/__init__.py:43 #: plinth/modules/help/templates/help_feedback.html:9 #: plinth/modules/help/views.py:37 plinth/templates/help-menu.html:33 #: plinth/templates/help-menu.html:34 msgid "Submit Feedback" msgstr "Invia feedback" -#: plinth/modules/help/__init__.py:45 +#: plinth/modules/help/__init__.py:47 #: plinth/modules/help/templates/help_contribute.html:9 #: plinth/modules/help/views.py:31 plinth/templates/help-menu.html:39 #: plinth/templates/help-menu.html:40 @@ -2099,7 +2079,7 @@ msgstr "" #: plinth/modules/help/templates/help_contribute.html:42 #: plinth/modules/power/templates/power_restart.html:27 #: plinth/modules/power/templates/power_shutdown.html:26 -#: plinth/templates/app-header.html:51 +#: plinth/templates/app-header.html:53 msgid "Learn more..." msgstr "Impara di più..." @@ -2293,20 +2273,20 @@ msgstr "" "La prima visita all'interfaccia web fornita inizierà il processo di " "configurazione." -#: plinth/modules/i2p/__init__.py:38 +#: plinth/modules/i2p/__init__.py:62 msgid "Manage I2P application" msgstr "Gestione dell'applicazione I2P" -#: plinth/modules/i2p/__init__.py:64 plinth/modules/i2p/manifest.py:16 +#: plinth/modules/i2p/__init__.py:65 plinth/modules/i2p/manifest.py:16 msgid "I2P" msgstr "I2P" -#: plinth/modules/i2p/__init__.py:65 plinth/modules/tor/__init__.py:56 +#: plinth/modules/i2p/__init__.py:66 plinth/modules/tor/__init__.py:55 #, fuzzy msgid "Anonymity Network" msgstr "Rete di anonimato" -#: plinth/modules/i2p/__init__.py:87 +#: plinth/modules/i2p/__init__.py:88 msgid "I2P Proxy" msgstr "Proxy I2P" @@ -2380,18 +2360,18 @@ msgstr "" "Configurazione Utente è possibile cambiare questi permessi o aggiungere " "nuovi utenti." -#: plinth/modules/ikiwiki/__init__.py:39 -msgid "View and edit wiki applications" -msgstr "Vedi e modifica le applicazioni wiki" - -#: plinth/modules/ikiwiki/__init__.py:53 plinth/modules/ikiwiki/manifest.py:9 +#: plinth/modules/ikiwiki/__init__.py:52 plinth/modules/ikiwiki/manifest.py:9 msgid "ikiwiki" msgstr "ikiwiki" -#: plinth/modules/ikiwiki/__init__.py:54 +#: plinth/modules/ikiwiki/__init__.py:53 msgid "Wiki and Blog" msgstr "Wiki e Blog" +#: plinth/modules/ikiwiki/__init__.py:73 +msgid "View and edit wiki applications" +msgstr "Vedi e modifica le applicazioni wiki" + #: plinth/modules/ikiwiki/forms.py:17 msgid "Admin Account Name" msgstr "Nome Utente Amministratore" @@ -2437,32 +2417,32 @@ msgstr "" "Quest'azione cancellerà tutti i post, le pagine e i commenti, incluse le " "revisione storiche. Cancellare questo wiki o blog permanentente?" -#: plinth/modules/ikiwiki/views.py:72 +#: plinth/modules/ikiwiki/views.py:70 #, python-brace-format msgid "Created wiki {name}." msgstr "Creato wiki {name}." -#: plinth/modules/ikiwiki/views.py:75 +#: plinth/modules/ikiwiki/views.py:73 #, python-brace-format msgid "Could not create wiki: {error}" msgstr "Non è stato possibile creare l'wiki: {error}" -#: plinth/modules/ikiwiki/views.py:85 +#: plinth/modules/ikiwiki/views.py:83 #, python-brace-format msgid "Created blog {name}." msgstr "Creato blog {name}." -#: plinth/modules/ikiwiki/views.py:88 +#: plinth/modules/ikiwiki/views.py:86 #, python-brace-format msgid "Could not create blog: {error}" msgstr "Non è stato possibile creare il blog: {error}" -#: plinth/modules/ikiwiki/views.py:103 +#: plinth/modules/ikiwiki/views.py:101 #, python-brace-format msgid "{title} deleted." msgstr "{title} cancellato." -#: plinth/modules/ikiwiki/views.py:107 +#: plinth/modules/ikiwiki/views.py:105 #, python-brace-format msgid "Could not delete {title}: {error}" msgstr "Non è stato possibile cancellare {title}: {error}" @@ -2509,7 +2489,7 @@ msgstr "" "Avvia Bobby e selezione \"Connect to Server\", e entra nel nome di dominio " "del tuo {box_name}" -#: plinth/modules/jsxc/__init__.py:22 +#: plinth/modules/jsxc/__init__.py:23 msgid "" "JSXC is a web client for XMPP. Typically it is used with an XMPP server " "running locally." @@ -2517,11 +2497,11 @@ msgstr "" "JSXC è un client web per XMPP. Tipicamente viene usato con un server XMPP in " "esecuzione nella rete locale." -#: plinth/modules/jsxc/__init__.py:40 plinth/modules/jsxc/manifest.py:10 +#: plinth/modules/jsxc/__init__.py:43 plinth/modules/jsxc/manifest.py:10 msgid "JSXC" msgstr "JSXC" -#: plinth/modules/jsxc/__init__.py:41 +#: plinth/modules/jsxc/__init__.py:44 msgid "Chat Client" msgstr "Client" @@ -2709,11 +2689,11 @@ msgstr "" msgid "Matrix Synapse" msgstr "Matrix Synapse" -#: plinth/modules/matrixsynapse/forms.py:14 +#: plinth/modules/matrixsynapse/forms.py:12 msgid "Enable Public Registration" msgstr "Abilita Registrazione Pubblica" -#: plinth/modules/matrixsynapse/forms.py:15 +#: plinth/modules/matrixsynapse/forms.py:13 msgid "" "Enabling public registration means that anyone on the Internet can register " "a new account on your Matrix server. Disable this if you only want existing " @@ -2727,6 +2707,12 @@ msgstr "" msgid "Riot" msgstr "Riot" +#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 +#: plinth/modules/snapshot/templates/snapshot.html:12 +#: plinth/templates/app.html:46 +msgid "Configuration" +msgstr "Configurazione" + #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:18 msgid "" "Matrix service needs to be configured for a domain. Users on other Matrix " @@ -2767,7 +2753,7 @@ msgid "" "the initial setup is currently not supported." msgstr "" "Il dominio del server Matrix è impostato su %(domain_name)s . Gli " -"ID utente assomiglieranno a @username:%(domain_name)s. Il cambio " +"ID utente assomiglieranno a @username:%(domain_name)s. Il cambio " "del nome di dominio dopo la prima configurazione, attualmente, non è " "supportato." @@ -2788,11 +2774,11 @@ msgid "" "go to Let's Encrypt to obtain one." msgstr "" -#: plinth/modules/matrixsynapse/views.py:98 +#: plinth/modules/matrixsynapse/views.py:86 msgid "Public registration enabled" msgstr "Registrazione pubblica abilitata" -#: plinth/modules/matrixsynapse/views.py:103 +#: plinth/modules/matrixsynapse/views.py:91 msgid "Public registration disabled" msgstr "Registrazione pubblica disabilitata" @@ -2841,11 +2827,11 @@ msgstr "MediaWiki" msgid "Wiki" msgstr "Wiki" -#: plinth/modules/mediawiki/forms.py:27 +#: plinth/modules/mediawiki/forms.py:25 msgid "Administrator Password" msgstr "Password Amministratore" -#: plinth/modules/mediawiki/forms.py:28 +#: plinth/modules/mediawiki/forms.py:26 msgid "" "Set a new password for MediaWiki's administrator account (admin). Leave this " "field blank to keep the current password." @@ -2853,11 +2839,11 @@ msgstr "" "Imposta una nuova password per il profilo amministratore (admin) di " "MediaWiki. Lascia vuoto questo campo per mantenere la password corrente." -#: plinth/modules/mediawiki/forms.py:33 +#: plinth/modules/mediawiki/forms.py:31 msgid "Enable public registrations" msgstr "Attivare le registrazioni pubbliche" -#: plinth/modules/mediawiki/forms.py:34 +#: plinth/modules/mediawiki/forms.py:32 msgid "" "If enabled, anyone on the internet will be able to create an account on your " "MediaWiki instance." @@ -2865,11 +2851,11 @@ msgstr "" "Se abilitato, chiunque nell'Internet potrà creare un profilo nella tua " "istanza MediaWiki." -#: plinth/modules/mediawiki/forms.py:38 +#: plinth/modules/mediawiki/forms.py:36 msgid "Enable private mode" msgstr "Abilita modalità privata" -#: plinth/modules/mediawiki/forms.py:39 +#: plinth/modules/mediawiki/forms.py:37 #, fuzzy #| msgid "" #| "If enabled, Access will be restricted. Only people who have accounts can " @@ -2882,47 +2868,47 @@ msgstr "" "potranno scrivere/leggere nel wiki. Inoltre saranno disabilitate le " "registrazioni pubbliche." -#: plinth/modules/mediawiki/forms.py:44 +#: plinth/modules/mediawiki/forms.py:42 #, fuzzy #| msgid "Default" msgid "Default Skin" msgstr "Default" -#: plinth/modules/mediawiki/forms.py:45 +#: plinth/modules/mediawiki/forms.py:43 msgid "" "Choose a default skin for your MediaWiki installation. Users have the option " "to select their preferred skin." msgstr "" -#: plinth/modules/mediawiki/views.py:53 +#: plinth/modules/mediawiki/views.py:48 msgid "Password updated" msgstr "Password aggiornata" -#: plinth/modules/mediawiki/views.py:72 +#: plinth/modules/mediawiki/views.py:57 msgid "Public registrations enabled" msgstr "Registrazioni pubbliche abilitate" -#: plinth/modules/mediawiki/views.py:81 +#: plinth/modules/mediawiki/views.py:66 msgid "Public registrations disabled" msgstr "Registrazioni pubbliche disabilitate" -#: plinth/modules/mediawiki/views.py:86 +#: plinth/modules/mediawiki/views.py:71 #, fuzzy msgid "Private mode enabled" msgstr "Modo privato abilitato" -#: plinth/modules/mediawiki/views.py:93 +#: plinth/modules/mediawiki/views.py:78 #, fuzzy msgid "Private mode disabled" msgstr "Modo privato disabilitato" -#: plinth/modules/mediawiki/views.py:101 +#: plinth/modules/mediawiki/views.py:86 #, fuzzy #| msgid "Setting unchanged" msgid "Default skin changed" msgstr "Impostazioni invariate" -#: plinth/modules/minetest/__init__.py:37 +#: plinth/modules/minetest/__init__.py:38 #, python-brace-format msgid "" "Minetest is a multiplayer infinite-world block sandbox. This module enables " @@ -2935,20 +2921,20 @@ msgstr "" "porta predefinita (30000). Per connettersi al server, è necessario un client Minetest." -#: plinth/modules/minetest/__init__.py:63 +#: plinth/modules/minetest/__init__.py:62 #: plinth/modules/minetest/manifest.py:10 msgid "Minetest" msgstr "Minetest" -#: plinth/modules/minetest/__init__.py:64 +#: plinth/modules/minetest/__init__.py:63 msgid "Block Sandbox" msgstr "Block Sandbox" -#: plinth/modules/minetest/forms.py:15 +#: plinth/modules/minetest/forms.py:13 msgid "Maximum number of players" msgstr "Numero massimo di giocatori" -#: plinth/modules/minetest/forms.py:17 +#: plinth/modules/minetest/forms.py:15 msgid "" "You can change the maximum number of players playing minetest at a single " "instance of time." @@ -2956,11 +2942,11 @@ msgstr "" "È possibile cambiare il numero massimo di giocatori che usa Minetest nello " "stesso momento." -#: plinth/modules/minetest/forms.py:21 +#: plinth/modules/minetest/forms.py:19 msgid "Enable creative mode" msgstr "Abilita modalità creativa" -#: plinth/modules/minetest/forms.py:22 +#: plinth/modules/minetest/forms.py:20 msgid "" "Creative mode changes the rules of the game to make it more suitable for " "creative gameplay, rather than challenging \"survival\" gameplay." @@ -2969,21 +2955,21 @@ msgstr "" "gameplay creativo, piuttosto che uno stimolante stile di gioco di " "\"sopravvivenza\"." -#: plinth/modules/minetest/forms.py:27 +#: plinth/modules/minetest/forms.py:25 msgid "Enable PVP" msgstr "Abilita PVP" -#: plinth/modules/minetest/forms.py:28 +#: plinth/modules/minetest/forms.py:26 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:32 +#: plinth/modules/minetest/forms.py:30 msgid "Enable damage" msgstr "Abilita danni" -#: plinth/modules/minetest/forms.py:33 +#: plinth/modules/minetest/forms.py:31 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 " @@ -3027,19 +3013,19 @@ msgid "" "Kodi." msgstr "" -#: plinth/modules/minidlna/__init__.py:33 +#: plinth/modules/minidlna/__init__.py:44 msgid "Media streaming server" msgstr "" -#: plinth/modules/minidlna/__init__.py:47 +#: plinth/modules/minidlna/__init__.py:48 msgid "Simple Media Server" msgstr "" -#: plinth/modules/minidlna/forms.py:15 +#: plinth/modules/minidlna/forms.py:13 msgid "Media Files Directory" msgstr "" -#: plinth/modules/minidlna/forms.py:16 +#: plinth/modules/minidlna/forms.py:14 msgid "" "Directory that MiniDLNA Server will read for content. All sub-directories of " "this will be also scanned for media files. If you change the default ensure " @@ -3091,16 +3077,16 @@ msgid "" "On {box_name}, downloaded files can be found in /var/lib/mldonkey/ directory." msgstr "" -#: plinth/modules/mldonkey/__init__.py:40 +#: plinth/modules/mldonkey/__init__.py:50 msgid "Download files using eDonkey applications" msgstr "Scarica file usando applicazioni eDonkey" -#: plinth/modules/mldonkey/__init__.py:54 +#: plinth/modules/mldonkey/__init__.py:53 #: plinth/modules/mldonkey/manifest.py:12 msgid "MLDonkey" msgstr "MLDonkey" -#: plinth/modules/mldonkey/__init__.py:56 +#: plinth/modules/mldonkey/__init__.py:55 #, fuzzy msgid "Peer-to-peer File Sharing" msgstr "Condivisione File" @@ -3113,7 +3099,7 @@ msgstr "KMLDonkey" msgid "AMLDonkey" msgstr "AMLDonkey" -#: plinth/modules/monkeysphere/__init__.py:18 +#: plinth/modules/monkeysphere/__init__.py:19 #, fuzzy msgid "" "With Monkeysphere, an OpenPGP key can be generated for each configured " @@ -3135,7 +3121,7 @@ msgstr "" "monkeysphere.info/getting-started-ssh/\"> Monkeysphere SSH documentation " "per maggiori dettagli." -#: plinth/modules/monkeysphere/__init__.py:26 +#: plinth/modules/monkeysphere/__init__.py:27 msgid "" "Monkeysphere can also generate an OpenPGP key for each Secure Web Server " "(HTTPS) certificate installed on this machine. The OpenPGP public key can " @@ -3153,7 +3139,7 @@ msgstr "" "software disponibili sul sito di Monkeysphere ." -#: plinth/modules/monkeysphere/__init__.py:50 +#: plinth/modules/monkeysphere/__init__.py:49 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:11 msgid "Monkeysphere" msgstr "Monkeysphere" @@ -3202,15 +3188,15 @@ msgstr "Mostra i dettagli per la chiave %(fingerprint)s" msgid "-" msgstr "-" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:128 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:129 msgid "Import Key" msgstr "Importa chiave" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:137 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:139 msgid "Publish Key" msgstr "Importa chiave" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:146 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:149 msgid "Add Domains" msgstr "Aggiungi Domini" @@ -3283,7 +3269,7 @@ msgstr "Chiave pubblicata nel keyserver." msgid "Error occurred while publishing key." msgstr "Errore sorto durante la pubblicazione della chiave." -#: plinth/modules/mumble/__init__.py:23 +#: plinth/modules/mumble/__init__.py:24 msgid "" "Mumble is an open source, low-latency, encrypted, high quality voice chat " "software." @@ -3291,7 +3277,7 @@ msgstr "" "Mumble è un software di chat vocale ad alta qualità, a bassa latenza, " "cifrato e open source." -#: plinth/modules/mumble/__init__.py:25 +#: plinth/modules/mumble/__init__.py:26 msgid "" "You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your " @@ -3301,19 +3287,19 @@ msgstr "" "64738 Sono disponibili dei client da " "connettere a Mumble dai tuoi dispositivi desktop e android." -#: plinth/modules/mumble/__init__.py:49 plinth/modules/mumble/manifest.py:12 +#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:12 msgid "Mumble" msgstr "Mumble" -#: plinth/modules/mumble/__init__.py:50 +#: plinth/modules/mumble/__init__.py:49 msgid "Voice Chat" msgstr "Voice Chat" -#: plinth/modules/mumble/forms.py:16 +#: plinth/modules/mumble/forms.py:14 msgid "Set SuperUser Password" msgstr "" -#: plinth/modules/mumble/forms.py:19 +#: plinth/modules/mumble/forms.py:17 msgid "" "Optional. Leave this field blank to keep the current password. SuperUser " "password can be used to manage permissions in Mumble." @@ -3626,9 +3612,10 @@ msgid "Open" msgstr "Aperta" #: plinth/modules/networks/forms.py:297 -#, python-brace-format -msgid "Choose how your {box_name} is connected to your network" -msgstr "" +#, fuzzy, python-brace-format +#| msgid "Direct connection to the Internet." +msgid "Specify how your {box_name} is connected to your network" +msgstr "Connessione diretta a Internet." #: plinth/modules/networks/forms.py:304 #, python-brace-format @@ -3849,7 +3836,7 @@ msgstr "IPv4" #: plinth/modules/networks/templates/connection_show.html:171 #: plinth/modules/networks/templates/connection_show.html:212 -#: plinth/modules/shadowsocks/forms.py:49 +#: plinth/modules/shadowsocks/forms.py:48 msgid "Method" msgstr "Metodo" @@ -3865,7 +3852,7 @@ msgstr "Server DNS" #: plinth/modules/networks/templates/connection_show.html:201 #: plinth/modules/networks/templates/connection_show.html:240 -#: plinth/modules/storage/forms.py:141 +#: plinth/modules/storage/forms.py:139 msgid "Default" msgstr "Default" @@ -4352,6 +4339,11 @@ msgstr "Setup completato." msgid "Setup failed." msgstr "Setup fallito." +#: plinth/modules/openvpn/views.py:135 plinth/modules/tor/views.py:136 +#: plinth/views.py:196 +msgid "Setting unchanged" +msgstr "Impostazioni invariate" + #: plinth/modules/pagekite/__init__.py:27 #, python-brace-format msgid "" @@ -4429,11 +4421,11 @@ msgstr "Visibilità Pubblica" msgid "PageKite Domain" msgstr "Profilo PageKite" -#: plinth/modules/pagekite/forms.py:48 +#: plinth/modules/pagekite/forms.py:47 msgid "Server domain" msgstr "Dominio server" -#: plinth/modules/pagekite/forms.py:50 +#: plinth/modules/pagekite/forms.py:49 msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " "pagekite.net server." @@ -4441,31 +4433,31 @@ msgstr "" "Selezione il tuo server pagekite. Imposta \"pagekite.net\" per usare il " "server predefinito di pagekite.net." -#: plinth/modules/pagekite/forms.py:53 plinth/modules/shadowsocks/forms.py:40 +#: plinth/modules/pagekite/forms.py:52 plinth/modules/shadowsocks/forms.py:39 msgid "Server port" msgstr "Porta server" -#: plinth/modules/pagekite/forms.py:54 +#: plinth/modules/pagekite/forms.py:53 msgid "Port of your pagekite server (default: 80)" msgstr "Porta del tuo server pagekite (predefinita: 80)" -#: plinth/modules/pagekite/forms.py:56 +#: plinth/modules/pagekite/forms.py:55 msgid "Kite name" msgstr "Nome Kite" -#: plinth/modules/pagekite/forms.py:57 +#: plinth/modules/pagekite/forms.py:56 msgid "Example: mybox.pagekite.me" msgstr "Esempio: mybox.pagekite.me" -#: plinth/modules/pagekite/forms.py:59 +#: plinth/modules/pagekite/forms.py:58 msgid "Invalid kite name" msgstr "Nome Kite invalido" -#: plinth/modules/pagekite/forms.py:63 +#: plinth/modules/pagekite/forms.py:62 msgid "Kite secret" msgstr "Segreto Kite" -#: plinth/modules/pagekite/forms.py:64 +#: plinth/modules/pagekite/forms.py:63 msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." @@ -4473,27 +4465,27 @@ msgstr "" "Un segreto associate col kite o il segreto predefinito del tuo profile nel " "caso non sia state impostato nel kite." -#: plinth/modules/pagekite/forms.py:101 +#: plinth/modules/pagekite/forms.py:100 msgid "protocol" msgstr "protocollo" -#: plinth/modules/pagekite/forms.py:104 +#: plinth/modules/pagekite/forms.py:103 msgid "external (frontend) port" msgstr "porta esterna (frontend)" -#: plinth/modules/pagekite/forms.py:107 +#: plinth/modules/pagekite/forms.py:106 msgid "internal (freedombox) port" msgstr "porta interna (freedombox)" -#: plinth/modules/pagekite/forms.py:108 +#: plinth/modules/pagekite/forms.py:107 msgid "Enable Subdomains" msgstr "Abilita Sottodomini" -#: plinth/modules/pagekite/forms.py:142 +#: plinth/modules/pagekite/forms.py:141 msgid "Deleted custom service" msgstr "Cancella servizio personalizzato" -#: plinth/modules/pagekite/forms.py:175 +#: plinth/modules/pagekite/forms.py:174 #, fuzzy #| msgid "" #| "This service is available as a standard service. Please use the " @@ -4503,11 +4495,11 @@ msgstr "" "Questo servizio è disponibile come servizio standard. Prego, usa la pagina " "\"Servizi Standard\" per abilitarli." -#: plinth/modules/pagekite/forms.py:183 +#: plinth/modules/pagekite/forms.py:182 msgid "Added custom service" msgstr "Servizio personalizzato aggiunto" -#: plinth/modules/pagekite/forms.py:186 +#: plinth/modules/pagekite/forms.py:185 msgid "This service already exists" msgstr "Questo servizio è già presente" @@ -4647,7 +4639,7 @@ msgstr "" msgid "Shut Down Now" msgstr "Spegni Ora" -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 msgid "" "Privoxy is a non-caching web proxy with advanced filtering capabilities for " "enhancing privacy, modifying web page data and HTTP headers, controlling " @@ -4658,7 +4650,7 @@ msgstr "" "header HTTP, controllando gli accessi, rimuovendo pubblicità e altra odiosa " "spazzatura dell'Internet. " -#: plinth/modules/privoxy/__init__.py:33 +#: plinth/modules/privoxy/__init__.py:34 #, python-brace-format msgid "" "You can use Privoxy by modifying your browser proxy settings to your " @@ -4673,20 +4665,20 @@ msgstr "" "documentazione su http://config." "Privoxy.org/ o http://p.p." -#: plinth/modules/privoxy/__init__.py:56 +#: plinth/modules/privoxy/__init__.py:55 msgid "Privoxy" msgstr "Privoxy" -#: plinth/modules/privoxy/__init__.py:57 +#: plinth/modules/privoxy/__init__.py:56 msgid "Web Proxy" msgstr "Web Proxy" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:119 #, 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:32 +#: plinth/modules/quassel/__init__.py:33 #, python-brace-format msgid "" "Quassel is an IRC application that is split into two parts, a \"core\" and a " @@ -4703,7 +4695,7 @@ msgstr "" "possibile usare uno o più client Quassel desktop o mobile, per connettersi " "e disconnettersi su di esso." -#: plinth/modules/quassel/__init__.py:39 +#: plinth/modules/quassel/__init__.py:40 msgid "" "You can connect to your Quassel core on the default Quassel port 4242. " "Clients to connect to Quassel from your desktop e mobile." -#: plinth/modules/quassel/__init__.py:62 plinth/modules/quassel/manifest.py:10 +#: plinth/modules/quassel/__init__.py:61 plinth/modules/quassel/manifest.py:10 msgid "Quassel" msgstr "Quassel" -#: plinth/modules/quassel/__init__.py:63 +#: plinth/modules/quassel/__init__.py:62 msgid "IRC Client" msgstr "Client IRC" -#: plinth/modules/quassel/forms.py:23 +#: plinth/modules/quassel/forms.py:22 #, fuzzy #| msgid "Subdomain" msgid "TLS domain" msgstr "Sottodominio" -#: plinth/modules/quassel/forms.py:25 +#: plinth/modules/quassel/forms.py:24 msgid "" "Select a domain to use TLS with. If the list is empty, please configure at " "least one domain with certificates." @@ -4739,7 +4731,7 @@ msgstr "" msgid "Quasseldroid" msgstr "Quasseldroid" -#: plinth/modules/radicale/__init__.py:32 +#: plinth/modules/radicale/__init__.py:33 #, python-brace-format msgid "" "Radicale is a CalDAV and CardDAV server. It allows synchronization and " @@ -4752,29 +4744,29 @@ msgstr "" "href=\"http://radicale.org/clients/\"> un'applicazione client supportata. È possibile accedere a Radicale da ogni utente con un profilo {box_name}." -#: plinth/modules/radicale/__init__.py:37 +#: plinth/modules/radicale/__init__.py:38 msgid "" "Radicale provides a basic web interface, which only supports creating new " "calendars and addressbooks. It does not support adding events or contacts, " "which must be done using a separate client." msgstr "" -#: plinth/modules/radicale/__init__.py:62 +#: plinth/modules/radicale/__init__.py:61 #: plinth/modules/radicale/manifest.py:75 msgid "Radicale" msgstr "Radicale" -#: plinth/modules/radicale/__init__.py:63 +#: plinth/modules/radicale/__init__.py:62 msgid "Calendar and Addressbook" msgstr "Calendario e Rubrica" -#: plinth/modules/radicale/forms.py:15 +#: plinth/modules/radicale/forms.py:14 msgid "Only the owner of a calendar/addressbook can view or make changes." msgstr "" "Solo il proprietario del calendario o della rubrica, può visualizzare o " "apportare modifiche." -#: plinth/modules/radicale/forms.py:19 +#: plinth/modules/radicale/forms.py:18 #, python-brace-format msgid "" "Any user with a {box_name} login can view any calendar/addressbook, but only " @@ -4783,7 +4775,7 @@ msgstr "" "Ogni utente con un {box_name} login può visualizzare ogni calendario/" "rubrica, ma solo il proprietario può apportare modifiche." -#: plinth/modules/radicale/forms.py:24 +#: plinth/modules/radicale/forms.py:23 #, python-brace-format msgid "" "Any user with a {box_name} login can view or make changes to any calendar/" @@ -4904,11 +4896,11 @@ msgid "" "private space." msgstr "" -#: plinth/modules/samba/__init__.py:47 +#: plinth/modules/samba/__init__.py:59 msgid "Access to the private shares" msgstr "" -#: plinth/modules/samba/__init__.py:61 +#: plinth/modules/samba/__init__.py:62 msgid "Samba" msgstr "" @@ -4982,13 +4974,13 @@ msgstr "Nome Kite" msgid "Action" msgstr "Azioni" -#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:149 +#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:147 #, fuzzy #| msgid "Shared" msgid "Open Share" msgstr "Condiviso" -#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:147 +#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:145 msgid "Group Share" msgstr "" @@ -5032,43 +5024,43 @@ msgid "" "stores no cookies by default." msgstr "" -#: plinth/modules/searx/__init__.py:31 +#: plinth/modules/searx/__init__.py:45 msgid "Search the web" msgstr "" -#: plinth/modules/searx/__init__.py:47 plinth/modules/searx/manifest.py:9 +#: plinth/modules/searx/__init__.py:48 plinth/modules/searx/manifest.py:9 msgid "Searx" msgstr "Searx" -#: plinth/modules/searx/__init__.py:48 +#: plinth/modules/searx/__init__.py:49 msgid "Web Search" msgstr "" -#: plinth/modules/searx/forms.py:15 +#: plinth/modules/searx/forms.py:13 msgid "Safe Search" msgstr "" -#: plinth/modules/searx/forms.py:16 +#: plinth/modules/searx/forms.py:14 msgid "Select the default family filter to apply to your search results." msgstr "" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "None" msgstr "" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "Moderate" msgstr "" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "Strict" msgstr "" -#: plinth/modules/searx/forms.py:20 +#: plinth/modules/searx/forms.py:18 msgid "Allow Public Access" msgstr "" -#: plinth/modules/searx/forms.py:21 +#: plinth/modules/searx/forms.py:19 msgid "Allow this application to be used by anyone who can reach it." msgstr "" @@ -5243,28 +5235,28 @@ msgstr "" msgid "Socks5 Proxy" msgstr "" +#: plinth/modules/shadowsocks/forms.py:12 #: plinth/modules/shadowsocks/forms.py:13 -#: plinth/modules/shadowsocks/forms.py:14 msgid "Recommended" msgstr "" -#: plinth/modules/shadowsocks/forms.py:37 +#: plinth/modules/shadowsocks/forms.py:36 msgid "Server" msgstr "" -#: plinth/modules/shadowsocks/forms.py:38 +#: plinth/modules/shadowsocks/forms.py:37 msgid "Server hostname or IP address" msgstr "" -#: plinth/modules/shadowsocks/forms.py:42 +#: plinth/modules/shadowsocks/forms.py:41 msgid "Server port number" msgstr "" -#: plinth/modules/shadowsocks/forms.py:45 +#: plinth/modules/shadowsocks/forms.py:44 msgid "Password used to encrypt data. Must match server password." msgstr "" -#: plinth/modules/shadowsocks/forms.py:50 +#: plinth/modules/shadowsocks/forms.py:49 msgid "Encryption method. Must match setting on server." msgstr "" @@ -5307,11 +5299,11 @@ msgstr "Importa chiave" msgid "Make files in this folder available to anyone with the link." msgstr "" -#: plinth/modules/sharing/forms.py:33 +#: plinth/modules/sharing/forms.py:34 msgid "User groups that can read the files in the share" msgstr "" -#: plinth/modules/sharing/forms.py:35 +#: plinth/modules/sharing/forms.py:36 msgid "" "Users of the selected user groups will be able to read the files in the " "share." @@ -5583,12 +5575,12 @@ msgstr "" msgid "Secure Shell (SSH) Server" msgstr "" -#: plinth/modules/ssh/forms.py:15 +#: plinth/modules/ssh/forms.py:13 #, fuzzy msgid "Disable password authentication" msgstr "Usa l'autenticazione HTTP base" -#: plinth/modules/ssh/forms.py:16 +#: plinth/modules/ssh/forms.py:14 msgid "" "Improves security by preventing password guessing. Ensure that you have " "setup SSH keys in your administrator user account before enabling this " @@ -5641,133 +5633,133 @@ msgid "" "media, expand the root partition etc." msgstr "" -#: plinth/modules/storage/__init__.py:52 plinth/modules/storage/__init__.py:318 +#: plinth/modules/storage/__init__.py:54 plinth/modules/storage/__init__.py:320 msgid "Storage" 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 "The device is already unmounting." msgstr "Il dispositivo sta già smontando." -#: 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 "Il dispositivo è già montato." -#: 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 "" -#: plinth/modules/storage/__init__.py:313 +#: plinth/modules/storage/__init__.py:315 #, no-python-format, python-brace-format msgid "Low space on system partition: {percent_used}% used, {free_space} free." msgstr "" -#: plinth/modules/storage/__init__.py:315 +#: plinth/modules/storage/__init__.py:317 msgid "Low disk space" msgstr "" -#: plinth/modules/storage/forms.py:64 +#: plinth/modules/storage/forms.py:63 #, fuzzy msgid "Invalid directory name." msgstr "Hostname non valido" -#: plinth/modules/storage/forms.py:82 +#: plinth/modules/storage/forms.py:80 msgid "Directory does not exist." msgstr "" -#: plinth/modules/storage/forms.py:84 +#: plinth/modules/storage/forms.py:83 msgid "Path is not a directory." msgstr "" -#: plinth/modules/storage/forms.py:87 +#: plinth/modules/storage/forms.py:86 msgid "Directory is not readable by the user." msgstr "" -#: plinth/modules/storage/forms.py:90 +#: plinth/modules/storage/forms.py:89 msgid "Directory is not writable by the user." msgstr "" -#: plinth/modules/storage/forms.py:95 +#: plinth/modules/storage/forms.py:94 msgid "Directory" msgstr "" -#: plinth/modules/storage/forms.py:98 +#: plinth/modules/storage/forms.py:96 msgid "Subdirectory (optional)" msgstr "" -#: plinth/modules/storage/forms.py:145 +#: plinth/modules/storage/forms.py:143 #, fuzzy #| msgid "Shared" msgid "Share" msgstr "Condiviso" -#: plinth/modules/storage/forms.py:153 +#: plinth/modules/storage/forms.py:151 msgid "Other directory (specify below)" msgstr "" @@ -5848,19 +5840,20 @@ msgid "" "synchronize more often. {box_name} runs a single instance of Syncthing that " "may be used by multiple users. Each user's set of devices may be " "synchronized with a distinct set of folders. The web interface on " -"{box_name} is only available for users belonging to the \"admin\" group." +"{box_name} is only available for users belonging to the \"admin\" or " +"\"syncthing\" group." msgstr "" -#: plinth/modules/syncthing/__init__.py:40 +#: plinth/modules/syncthing/__init__.py:53 msgid "Administer Syncthing application" msgstr "" -#: plinth/modules/syncthing/__init__.py:54 +#: plinth/modules/syncthing/__init__.py:56 #: plinth/modules/syncthing/manifest.py:13 msgid "Syncthing" msgstr "Syncthing" -#: plinth/modules/syncthing/__init__.py:55 +#: plinth/modules/syncthing/__init__.py:57 msgid "File Synchronization" msgstr "" @@ -5897,33 +5890,33 @@ msgid "" "%(domain_name)s:5678\">https://%(domain_name)s:5678." msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:39 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:29 msgid "Local introducer" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:59 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:76 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:33 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:49 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:66 msgid "Pet Name" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:56 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:46 msgid "Add new introducer" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:67 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:57 msgid "Add" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:72 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:62 msgid "Connected introducers" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:89 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:79 msgid "Remove" msgstr "" -#: plinth/modules/tor/__init__.py:33 +#: plinth/modules/tor/__init__.py:34 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -5932,40 +5925,40 @@ msgid "" "\">Tor Browser." msgstr "" -#: plinth/modules/tor/__init__.py:55 +#: plinth/modules/tor/__init__.py:54 msgid "Tor" msgstr "Tor" -#: plinth/modules/tor/__init__.py:66 +#: plinth/modules/tor/__init__.py:65 msgid "Tor Onion Service" msgstr "" -#: plinth/modules/tor/__init__.py:70 +#: plinth/modules/tor/__init__.py:69 msgid "Tor Socks Proxy" msgstr "" -#: plinth/modules/tor/__init__.py:74 +#: plinth/modules/tor/__init__.py:73 msgid "Tor Bridge Relay" msgstr "" -#: plinth/modules/tor/__init__.py:95 +#: plinth/modules/tor/__init__.py:98 msgid "Tor relay port available" msgstr "" -#: plinth/modules/tor/__init__.py:105 +#: plinth/modules/tor/__init__.py:108 msgid "Obfs3 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:115 +#: plinth/modules/tor/__init__.py:118 msgid "Obfs4 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:208 +#: plinth/modules/tor/__init__.py:211 #, python-brace-format msgid "Access URL {url} on tcp{kind} via Tor" msgstr "" -#: plinth/modules/tor/__init__.py:219 +#: plinth/modules/tor/__init__.py:222 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "" @@ -6095,13 +6088,13 @@ msgstr "" msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050." msgstr "" -#: plinth/modules/transmission/__init__.py:27 +#: plinth/modules/transmission/__init__.py:28 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:48 +#: plinth/modules/transmission/__init__.py:51 #: plinth/modules/transmission/manifest.py:9 msgid "Transmission" msgstr "" @@ -6132,15 +6125,15 @@ msgid "" "connecting." msgstr "" -#: plinth/modules/ttrss/__init__.py:42 +#: plinth/modules/ttrss/__init__.py:54 msgid "Read and subscribe to news feeds" msgstr "" -#: plinth/modules/ttrss/__init__.py:56 plinth/modules/ttrss/manifest.py:19 +#: plinth/modules/ttrss/__init__.py:57 plinth/modules/ttrss/manifest.py:19 msgid "Tiny Tiny RSS" msgstr "Tiny Tiny RSS" -#: plinth/modules/ttrss/__init__.py:57 +#: plinth/modules/ttrss/__init__.py:58 msgid "News Feed Reader" msgstr "" @@ -6152,11 +6145,11 @@ msgstr "" msgid "Check for and apply the latest software and security updates." msgstr "" -#: plinth/modules/upgrades/__init__.py:38 plinth/templates/setup.html:74 +#: plinth/modules/upgrades/__init__.py:40 plinth/templates/setup.html:74 msgid "Update" msgstr "" -#: plinth/modules/upgrades/__init__.py:76 +#: plinth/modules/upgrades/__init__.py:78 #, fuzzy #| msgid "FreedomBox" msgid "FreedomBox Updated" @@ -6209,43 +6202,39 @@ msgstr "" #: plinth/modules/upgrades/templates/upgrades_configure.html:11 #: plinth/modules/upgrades/templates/upgrades_configure.html:12 -#: plinth/modules/upgrades/views.py:88 +#: plinth/modules/upgrades/views.py:85 msgid "Manual update" msgstr "Aggiornamento manuale" -#: plinth/modules/upgrades/views.py:47 +#: plinth/modules/upgrades/views.py:46 #, python-brace-format msgid "Error when configuring unattended-upgrades: {error}" msgstr "" -#: plinth/modules/upgrades/views.py:51 +#: plinth/modules/upgrades/views.py:50 msgid "Automatic upgrades enabled" msgstr "" -#: plinth/modules/upgrades/views.py:54 +#: plinth/modules/upgrades/views.py:53 msgid "Automatic upgrades disabled" msgstr "" -#: plinth/modules/upgrades/views.py:56 -msgid "Settings unchanged" -msgstr "" - -#: plinth/modules/upgrades/views.py:82 +#: plinth/modules/upgrades/views.py:79 msgid "Upgrade process started." msgstr "" -#: plinth/modules/upgrades/views.py:85 +#: plinth/modules/upgrades/views.py:82 msgid "Starting upgrade failed." msgstr "" -#: plinth/modules/users/__init__.py:37 +#: plinth/modules/users/__init__.py:39 msgid "" "Create and managed user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " "account to be part of a group to authorize the user to access the app." msgstr "" -#: plinth/modules/users/__init__.py:42 +#: plinth/modules/users/__init__.py:44 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -6253,104 +6242,103 @@ msgid "" "group may alter apps or system settings." msgstr "" -#: plinth/modules/users/__init__.py:64 +#: plinth/modules/users/__init__.py:65 msgid "Users and Groups" msgstr "" -#: plinth/modules/users/__init__.py:115 +#: plinth/modules/users/__init__.py:78 +msgid "Access to all services and system settings" +msgstr "" + +#: plinth/modules/users/__init__.py:122 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "" -#: plinth/modules/users/forms.py:28 -msgid "Access to all services and system settings" -msgstr "" - -#: plinth/modules/users/forms.py:44 +#: plinth/modules/users/forms.py:36 msgid "Username is taken or is reserved." msgstr "" -#: plinth/modules/users/forms.py:72 +#: plinth/modules/users/forms.py:63 #, fuzzy #| msgid "Invalid server name" msgid "Enter a valid username." msgstr "Nome Server Invalido" -#: plinth/modules/users/forms.py:78 +#: plinth/modules/users/forms.py:69 msgid "" "Required. 150 characters or fewer. English letters, digits and @/./-/_ only." msgstr "" -#: plinth/modules/users/forms.py:91 plinth/modules/users/forms.py:207 +#: plinth/modules/users/forms.py:83 plinth/modules/users/forms.py:196 msgid "Permissions" msgstr "" -#: plinth/modules/users/forms.py:94 +#: plinth/modules/users/forms.py:85 msgid "" -"Select which services should be available to the new user. The user will be " -"able to log in to services that support single sign-on through LDAP, if they " -"are in the appropriate group.

Users in the admin group will be " -"able to log in to all services. They can also log in to the system through " -"SSH and have administrative privileges (sudo)." +"user. The user will be able to log in to services that support single sign-" +"on through LDAP, if they are in the appropriate group.

Users in " +"the admin group will be able to log in to all services. They can also log in " +"to the system through SSH and have administrative privileges (sudo)." msgstr "" -#: plinth/modules/users/forms.py:133 plinth/modules/users/forms.py:357 +#: plinth/modules/users/forms.py:122 plinth/modules/users/forms.py:345 msgid "Creating LDAP user failed." msgstr "" -#: plinth/modules/users/forms.py:144 +#: plinth/modules/users/forms.py:133 #, python-brace-format msgid "Failed to add new user to {group} group." msgstr "" -#: plinth/modules/users/forms.py:158 +#: plinth/modules/users/forms.py:147 msgid "Authorized SSH Keys" msgstr "" -#: plinth/modules/users/forms.py:160 +#: plinth/modules/users/forms.py:149 msgid "" "Setting an SSH public key will allow this user to securely log in to the " "system without using a password. You may enter multiple keys, one on each " "line. Blank lines and lines starting with # will be ignored." msgstr "" -#: plinth/modules/users/forms.py:244 +#: plinth/modules/users/forms.py:233 msgid "Renaming LDAP user failed." msgstr "" -#: plinth/modules/users/forms.py:256 +#: plinth/modules/users/forms.py:245 msgid "Failed to remove user from group." msgstr "" -#: plinth/modules/users/forms.py:267 +#: plinth/modules/users/forms.py:256 msgid "Failed to add user to group." msgstr "" -#: plinth/modules/users/forms.py:276 +#: plinth/modules/users/forms.py:265 msgid "Unable to set SSH keys." msgstr "" -#: plinth/modules/users/forms.py:291 +#: plinth/modules/users/forms.py:280 msgid "Failed to change user status." msgstr "" -#: plinth/modules/users/forms.py:299 +#: plinth/modules/users/forms.py:288 msgid "Cannot delete the only administrator in the system." msgstr "" -#: plinth/modules/users/forms.py:331 +#: plinth/modules/users/forms.py:319 msgid "Changing LDAP user password failed." msgstr "" -#: plinth/modules/users/forms.py:366 +#: plinth/modules/users/forms.py:354 msgid "Failed to add new user to admin group." msgstr "" -#: plinth/modules/users/forms.py:383 +#: plinth/modules/users/forms.py:371 msgid "Failed to restrict console access." msgstr "" -#: plinth/modules/users/forms.py:395 +#: plinth/modules/users/forms.py:383 msgid "User account created, you are now logged in" msgstr "" @@ -7126,18 +7114,19 @@ msgstr "" msgid "%(percentage)s%% complete" msgstr "%(percentage)s%% completata" -#: plinth/views.py:184 -msgid "Application enabled" -msgstr "Applicazione abilitata" - -#: plinth/views.py:187 -msgid "Application disabled" -msgstr "Applicazione disabilitata" - #: plinth/web_framework.py:107 msgid "Gujarati" msgstr "" +#~ msgid "Enable application" +#~ msgstr "Abilita applicazione" + +#~ msgid "Application enabled" +#~ msgstr "Applicazione abilitata" + +#~ msgid "Application disabled" +#~ msgstr "Applicazione disabilitata" + #~ msgid "Kite details set" #~ msgstr "Dettagli kite configurati" diff --git a/plinth/locale/ja/LC_MESSAGES/django.po b/plinth/locale/ja/LC_MESSAGES/django.po index 73d9dd74d..8b27ac7f3 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: 2020-03-23 18:54-0400\n" +"POT-Creation-Date: 2020-04-06 19:59-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -51,29 +51,25 @@ msgstr "" msgid "Cannot connect to {host}:{port}" msgstr "" -#: plinth/forms.py:24 -msgid "Enable application" -msgstr "" - -#: plinth/forms.py:39 +#: plinth/forms.py:38 msgid "Select a domain name to be used with this application" msgstr "" -#: plinth/forms.py:41 +#: plinth/forms.py:40 msgid "" "Warning! The application may not work properly if domain name is changed " "later." msgstr "" -#: plinth/forms.py:49 +#: plinth/forms.py:48 msgid "Language" msgstr "" -#: plinth/forms.py:50 +#: plinth/forms.py:49 msgid "Language to use for presenting this web interface" msgstr "" -#: plinth/forms.py:57 +#: plinth/forms.py:56 msgid "Use the language preference set in the browser" msgstr "" @@ -595,20 +591,20 @@ msgstr "" msgid "Domain Name Server" msgstr "" -#: plinth/modules/bind/forms.py:22 +#: plinth/modules/bind/forms.py:20 msgid "Forwarders" msgstr "" -#: plinth/modules/bind/forms.py:23 +#: plinth/modules/bind/forms.py:21 msgid "" "A list DNS servers, separated by space, to which requests will be forwarded" msgstr "" -#: plinth/modules/bind/forms.py:27 +#: plinth/modules/bind/forms.py:25 msgid "Enable DNSSEC" msgstr "" -#: plinth/modules/bind/forms.py:28 +#: plinth/modules/bind/forms.py:26 msgid "Enable Domain Name System Security Extensions" msgstr "" @@ -640,10 +636,11 @@ msgstr "" msgid "Refresh IP address and domains" msgstr "" -#: plinth/modules/bind/views.py:72 plinth/modules/deluge/views.py:44 +#: plinth/modules/bind/views.py:72 plinth/modules/deluge/views.py:42 #: plinth/modules/dynamicdns/views.py:150 plinth/modules/openvpn/views.py:133 -#: plinth/modules/pagekite/forms.py:91 plinth/modules/shadowsocks/views.py:59 -#: plinth/modules/transmission/views.py:50 +#: plinth/modules/pagekite/forms.py:90 plinth/modules/quassel/views.py:30 +#: plinth/modules/shadowsocks/views.py:59 +#: plinth/modules/transmission/views.py:47 msgid "Configuration updated" msgstr "" @@ -691,11 +688,11 @@ msgid "" "name, webserver home page etc." msgstr "" -#: plinth/modules/config/__init__.py:50 +#: plinth/modules/config/__init__.py:52 msgid "General Configuration" msgstr "" -#: plinth/modules/config/__init__.py:55 plinth/modules/dynamicdns/views.py:29 +#: plinth/modules/config/__init__.py:57 plinth/modules/dynamicdns/views.py:29 #: plinth/modules/names/templates/names.html:29 #: plinth/modules/names/templates/names.html:43 #: plinth/modules/snapshot/views.py:26 @@ -703,7 +700,7 @@ msgstr "" msgid "Configure" msgstr "" -#: plinth/modules/config/__init__.py:59 plinth/modules/config/forms.py:61 +#: plinth/modules/config/__init__.py:61 plinth/modules/config/forms.py:61 #: plinth/modules/dynamicdns/forms.py:95 msgid "Domain Name" msgstr "" @@ -830,25 +827,25 @@ msgstr "" msgid "Coquelicot" msgstr "" -#: plinth/modules/coquelicot/__init__.py:47 plinth/modules/samba/__init__.py:62 +#: plinth/modules/coquelicot/__init__.py:47 plinth/modules/samba/__init__.py:63 msgid "File Sharing" msgstr "" -#: plinth/modules/coquelicot/forms.py:15 +#: plinth/modules/coquelicot/forms.py:13 msgid "Upload Password" msgstr "" -#: plinth/modules/coquelicot/forms.py:16 +#: plinth/modules/coquelicot/forms.py:14 msgid "" "Set a new upload password for Coquelicot. Leave this field blank to keep the " "current password." msgstr "" -#: plinth/modules/coquelicot/forms.py:20 +#: plinth/modules/coquelicot/forms.py:18 msgid "Maximum File Size (in MiB)" msgstr "" -#: plinth/modules/coquelicot/forms.py:21 +#: plinth/modules/coquelicot/forms.py:19 msgid "Set the maximum size of the files that can be uploaded to Coquelicot." msgstr "" @@ -886,17 +883,17 @@ msgstr "" msgid "Time synchronized to NTP server" msgstr "" -#: plinth/modules/datetime/forms.py:20 +#: plinth/modules/datetime/forms.py:18 msgid "Time Zone" msgstr "" -#: plinth/modules/datetime/forms.py:21 +#: plinth/modules/datetime/forms.py:19 msgid "" "Set your time zone to get accurate timestamps. This will set the system-wide " "time zone." msgstr "" -#: plinth/modules/datetime/forms.py:32 +#: plinth/modules/datetime/forms.py:30 msgid "-- no time zone set --" msgstr "" @@ -909,31 +906,31 @@ msgstr "" msgid "Time zone set" msgstr "" -#: plinth/modules/deluge/__init__.py:25 +#: plinth/modules/deluge/__init__.py:26 msgid "Deluge is a BitTorrent client that features a Web UI." msgstr "" -#: plinth/modules/deluge/__init__.py:26 +#: plinth/modules/deluge/__init__.py:27 msgid "" "The default password is 'deluge', but you should log in and change it " "immediately after enabling this service." msgstr "" -#: plinth/modules/deluge/__init__.py:30 -#: plinth/modules/transmission/__init__.py:34 +#: plinth/modules/deluge/__init__.py:46 +#: plinth/modules/transmission/__init__.py:48 msgid "Download files using BitTorrent applications" msgstr "" -#: plinth/modules/deluge/__init__.py:46 plinth/modules/deluge/manifest.py:9 +#: plinth/modules/deluge/__init__.py:50 plinth/modules/deluge/manifest.py:9 msgid "Deluge" msgstr "" -#: plinth/modules/deluge/__init__.py:47 -#: plinth/modules/transmission/__init__.py:50 +#: plinth/modules/deluge/__init__.py:51 +#: plinth/modules/transmission/__init__.py:53 msgid "BitTorrent Web Client" msgstr "" -#: plinth/modules/deluge/forms.py:20 plinth/modules/transmission/forms.py:20 +#: plinth/modules/deluge/forms.py:20 plinth/modules/transmission/forms.py:21 msgid "Download directory" msgstr "" @@ -1006,7 +1003,7 @@ msgstr "" msgid "Federated Social Network" msgstr "" -#: plinth/modules/diaspora/forms.py:15 +#: plinth/modules/diaspora/forms.py:13 msgid "Enable new user registrations" msgstr "" @@ -1032,32 +1029,23 @@ msgstr "" #: plinth/modules/diaspora/templates/diaspora-pre-setup.html:43 #: plinth/modules/dynamicdns/templates/dynamicdns_configure.html:25 -#: plinth/modules/ejabberd/templates/ejabberd.html:43 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:18 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:47 #: plinth/modules/snapshot/templates/snapshot.html:15 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:35 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:43 -#: plinth/templates/app.html:52 +#: plinth/templates/app.html:54 msgid "Update setup" msgstr "" -#: plinth/modules/diaspora/views.py:76 plinth/modules/ejabberd/views.py:46 -#: plinth/modules/matrixsynapse/views.py:85 -#: plinth/modules/mediawiki/views.py:58 plinth/modules/openvpn/views.py:135 -#: plinth/modules/tor/views.py:136 plinth/views.py:180 -msgid "Setting unchanged" -msgstr "" - -#: plinth/modules/diaspora/views.py:80 +#: plinth/modules/diaspora/views.py:74 msgid "User registrations enabled" msgstr "" -#: plinth/modules/diaspora/views.py:84 +#: plinth/modules/diaspora/views.py:78 msgid "User registrations disabled" msgstr "" -#: plinth/modules/dynamicdns/__init__.py:27 +#: plinth/modules/dynamicdns/__init__.py:28 #, python-brace-format msgid "" "If your Internet provider changes your IP address periodically (i.e. every " @@ -1065,7 +1053,7 @@ msgid "" "prevent others from finding services which are provided by this {box_name}." msgstr "" -#: plinth/modules/dynamicdns/__init__.py:31 +#: plinth/modules/dynamicdns/__init__.py:32 msgid "" "The solution is to assign a DNS name to your IP address and update the DNS " "name every time your IP is changed by your Internet provider. Dynamic DNS " @@ -1076,11 +1064,11 @@ msgid "" "IP address." msgstr "" -#: plinth/modules/dynamicdns/__init__.py:56 +#: plinth/modules/dynamicdns/__init__.py:55 msgid "Dynamic DNS Client" msgstr "" -#: plinth/modules/dynamicdns/__init__.py:66 +#: plinth/modules/dynamicdns/__init__.py:65 msgid "Dynamic Domain Name" msgstr "" @@ -1169,7 +1157,7 @@ msgid "Username" msgstr "" #: plinth/modules/dynamicdns/forms.py:104 plinth/modules/networks/forms.py:200 -#: plinth/modules/shadowsocks/forms.py:45 +#: plinth/modules/shadowsocks/forms.py:44 msgid "Password" msgstr "" @@ -1247,7 +1235,7 @@ msgstr "" msgid "Last update" msgstr "" -#: plinth/modules/dynamicdns/views.py:26 plinth/modules/help/__init__.py:49 +#: plinth/modules/dynamicdns/views.py:26 plinth/modules/help/__init__.py:51 #: plinth/templates/help-menu.html:46 plinth/templates/help-menu.html:47 msgid "About" msgstr "" @@ -1274,13 +1262,13 @@ msgstr "" msgid "Dynamic DNS Status" msgstr "" -#: plinth/modules/ejabberd/__init__.py:36 +#: plinth/modules/ejabberd/__init__.py:37 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:39 +#: plinth/modules/ejabberd/__init__.py:40 #, python-brace-format msgid "" "To actually communicate, you can use the web client user with a {box_name} login." msgstr "" -#: plinth/modules/ejabberd/__init__.py:70 +#: plinth/modules/ejabberd/__init__.py:69 msgid "ejabberd" msgstr "" -#: plinth/modules/ejabberd/__init__.py:71 +#: plinth/modules/ejabberd/__init__.py:70 #: plinth/modules/matrixsynapse/__init__.py:68 msgid "Chat Server" msgstr "" -#: plinth/modules/ejabberd/forms.py:17 +#: plinth/modules/ejabberd/forms.py:16 msgid "Enable Message Archive Management" msgstr "" -#: plinth/modules/ejabberd/forms.py:19 +#: plinth/modules/ejabberd/forms.py:18 #, python-brace-format msgid "" "If enabled, your {box_name} will store chat message histories. This allows " @@ -1357,19 +1345,11 @@ msgid "" "Configure page." msgstr "" -#: plinth/modules/ejabberd/templates/ejabberd.html:35 -#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 -#: plinth/modules/snapshot/templates/snapshot.html:12 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:27 -#: plinth/templates/app.html:45 -msgid "Configuration" -msgstr "" - -#: plinth/modules/ejabberd/views.py:58 +#: plinth/modules/ejabberd/views.py:45 msgid "Message Archive Management enabled" msgstr "" -#: plinth/modules/ejabberd/views.py:62 +#: plinth/modules/ejabberd/views.py:49 msgid "Message Archive Management disabled" msgstr "" @@ -1381,7 +1361,7 @@ msgid "" "configured reduces risk of security threat from the Internet." msgstr "" -#: plinth/modules/firewall/__init__.py:63 +#: plinth/modules/firewall/__init__.py:65 msgid "Firewall" msgstr "" @@ -1508,7 +1488,7 @@ msgid "" "gittutorial\">Git tutorial." msgstr "" -#: plinth/modules/gitweb/__init__.py:39 +#: plinth/modules/gitweb/__init__.py:51 msgid "Read-write access to Git repositories" msgstr "" @@ -1641,31 +1621,31 @@ msgstr "" msgid "Could not delete {name}: {error}" msgstr "" -#: plinth/modules/help/__init__.py:30 +#: plinth/modules/help/__init__.py:32 msgid "Documentation" msgstr "" -#: plinth/modules/help/__init__.py:33 plinth/modules/networks/forms.py:47 +#: plinth/modules/help/__init__.py:35 plinth/modules/networks/forms.py:47 #: plinth/modules/networks/forms.py:77 plinth/templates/help-menu.html:20 #: plinth/templates/help-menu.html:21 plinth/templates/index.html:128 msgid "Manual" msgstr "" -#: plinth/modules/help/__init__.py:37 +#: plinth/modules/help/__init__.py:39 #: plinth/modules/help/templates/help_support.html:9 #: plinth/modules/help/views.py:43 plinth/templates/help-menu.html:27 #: plinth/templates/help-menu.html:28 msgid "Get Support" msgstr "" -#: plinth/modules/help/__init__.py:41 +#: plinth/modules/help/__init__.py:43 #: plinth/modules/help/templates/help_feedback.html:9 #: plinth/modules/help/views.py:37 plinth/templates/help-menu.html:33 #: plinth/templates/help-menu.html:34 msgid "Submit Feedback" msgstr "" -#: plinth/modules/help/__init__.py:45 +#: plinth/modules/help/__init__.py:47 #: plinth/modules/help/templates/help_contribute.html:9 #: plinth/modules/help/views.py:31 plinth/templates/help-menu.html:39 #: plinth/templates/help-menu.html:40 @@ -1774,7 +1754,7 @@ msgstr "" #: plinth/modules/help/templates/help_contribute.html:42 #: plinth/modules/power/templates/power_restart.html:27 #: plinth/modules/power/templates/power_shutdown.html:26 -#: plinth/templates/app-header.html:51 +#: plinth/templates/app-header.html:53 msgid "Learn more..." msgstr "" @@ -1918,19 +1898,19 @@ msgid "" "configuration process." msgstr "" -#: plinth/modules/i2p/__init__.py:38 +#: plinth/modules/i2p/__init__.py:62 msgid "Manage I2P application" msgstr "" -#: plinth/modules/i2p/__init__.py:64 plinth/modules/i2p/manifest.py:16 +#: plinth/modules/i2p/__init__.py:65 plinth/modules/i2p/manifest.py:16 msgid "I2P" msgstr "" -#: plinth/modules/i2p/__init__.py:65 plinth/modules/tor/__init__.py:56 +#: plinth/modules/i2p/__init__.py:66 plinth/modules/tor/__init__.py:55 msgid "Anonymity Network" msgstr "" -#: plinth/modules/i2p/__init__.py:87 +#: plinth/modules/i2p/__init__.py:88 msgid "I2P Proxy" msgstr "" @@ -1983,18 +1963,18 @@ msgid "" "Configuration you can change these permissions or add new users." msgstr "" -#: plinth/modules/ikiwiki/__init__.py:39 -msgid "View and edit wiki applications" -msgstr "" - -#: plinth/modules/ikiwiki/__init__.py:53 plinth/modules/ikiwiki/manifest.py:9 +#: plinth/modules/ikiwiki/__init__.py:52 plinth/modules/ikiwiki/manifest.py:9 msgid "ikiwiki" msgstr "" -#: plinth/modules/ikiwiki/__init__.py:54 +#: plinth/modules/ikiwiki/__init__.py:53 msgid "Wiki and Blog" msgstr "" +#: plinth/modules/ikiwiki/__init__.py:73 +msgid "View and edit wiki applications" +msgstr "" + #: plinth/modules/ikiwiki/forms.py:17 msgid "Admin Account Name" msgstr "" @@ -2038,32 +2018,32 @@ msgid "" "history. Delete this wiki or blog permanently?" msgstr "" -#: plinth/modules/ikiwiki/views.py:72 +#: plinth/modules/ikiwiki/views.py:70 #, python-brace-format msgid "Created wiki {name}." msgstr "" -#: plinth/modules/ikiwiki/views.py:75 +#: plinth/modules/ikiwiki/views.py:73 #, python-brace-format msgid "Could not create wiki: {error}" msgstr "" -#: plinth/modules/ikiwiki/views.py:85 +#: plinth/modules/ikiwiki/views.py:83 #, python-brace-format msgid "Created blog {name}." msgstr "" -#: plinth/modules/ikiwiki/views.py:88 +#: plinth/modules/ikiwiki/views.py:86 #, python-brace-format msgid "Could not create blog: {error}" msgstr "" -#: plinth/modules/ikiwiki/views.py:103 +#: plinth/modules/ikiwiki/views.py:101 #, python-brace-format msgid "{title} deleted." msgstr "" -#: plinth/modules/ikiwiki/views.py:107 +#: plinth/modules/ikiwiki/views.py:105 #, python-brace-format msgid "Could not delete {title}: {error}" msgstr "" @@ -2103,17 +2083,17 @@ msgid "" "domain name." msgstr "" -#: plinth/modules/jsxc/__init__.py:22 +#: plinth/modules/jsxc/__init__.py:23 msgid "" "JSXC is a web client for XMPP. Typically it is used with an XMPP server " "running locally." msgstr "" -#: plinth/modules/jsxc/__init__.py:40 plinth/modules/jsxc/manifest.py:10 +#: plinth/modules/jsxc/__init__.py:43 plinth/modules/jsxc/manifest.py:10 msgid "JSXC" msgstr "" -#: plinth/modules/jsxc/__init__.py:41 +#: plinth/modules/jsxc/__init__.py:44 msgid "Chat Client" msgstr "" @@ -2276,11 +2256,11 @@ msgstr "" msgid "Matrix Synapse" msgstr "" -#: plinth/modules/matrixsynapse/forms.py:14 +#: plinth/modules/matrixsynapse/forms.py:12 msgid "Enable Public Registration" msgstr "" -#: plinth/modules/matrixsynapse/forms.py:15 +#: plinth/modules/matrixsynapse/forms.py:13 msgid "" "Enabling public registration means that anyone on the Internet can register " "a new account on your Matrix server. Disable this if you only want existing " @@ -2291,6 +2271,12 @@ msgstr "" msgid "Riot" msgstr "" +#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 +#: plinth/modules/snapshot/templates/snapshot.html:12 +#: plinth/templates/app.html:46 +msgid "Configuration" +msgstr "" + #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:18 msgid "" "Matrix service needs to be configured for a domain. Users on other Matrix " @@ -2335,11 +2321,11 @@ msgid "" "go to Let's Encrypt to obtain one." msgstr "" -#: plinth/modules/matrixsynapse/views.py:98 +#: plinth/modules/matrixsynapse/views.py:86 msgid "Public registration enabled" msgstr "" -#: plinth/modules/matrixsynapse/views.py:103 +#: plinth/modules/matrixsynapse/views.py:91 msgid "Public registration disabled" msgstr "" @@ -2375,71 +2361,71 @@ msgstr "" msgid "Wiki" msgstr "" -#: plinth/modules/mediawiki/forms.py:27 +#: plinth/modules/mediawiki/forms.py:25 msgid "Administrator Password" msgstr "" -#: plinth/modules/mediawiki/forms.py:28 +#: plinth/modules/mediawiki/forms.py:26 msgid "" "Set a new password for MediaWiki's administrator account (admin). Leave this " "field blank to keep the current password." msgstr "" -#: plinth/modules/mediawiki/forms.py:33 +#: plinth/modules/mediawiki/forms.py:31 msgid "Enable public registrations" msgstr "" -#: plinth/modules/mediawiki/forms.py:34 +#: plinth/modules/mediawiki/forms.py:32 msgid "" "If enabled, anyone on the internet will be able to create an account on your " "MediaWiki instance." msgstr "" -#: plinth/modules/mediawiki/forms.py:38 +#: plinth/modules/mediawiki/forms.py:36 msgid "Enable private mode" msgstr "" -#: plinth/modules/mediawiki/forms.py:39 +#: plinth/modules/mediawiki/forms.py:37 msgid "" "If enabled, access will be restricted. Only people who have accounts can " "read/write to the wiki. Public registrations will also be disabled." msgstr "" -#: plinth/modules/mediawiki/forms.py:44 +#: plinth/modules/mediawiki/forms.py:42 msgid "Default Skin" msgstr "" -#: plinth/modules/mediawiki/forms.py:45 +#: plinth/modules/mediawiki/forms.py:43 msgid "" "Choose a default skin for your MediaWiki installation. Users have the option " "to select their preferred skin." msgstr "" -#: plinth/modules/mediawiki/views.py:53 +#: plinth/modules/mediawiki/views.py:48 msgid "Password updated" msgstr "" -#: plinth/modules/mediawiki/views.py:72 +#: plinth/modules/mediawiki/views.py:57 msgid "Public registrations enabled" msgstr "" -#: plinth/modules/mediawiki/views.py:81 +#: plinth/modules/mediawiki/views.py:66 msgid "Public registrations disabled" msgstr "" -#: plinth/modules/mediawiki/views.py:86 +#: plinth/modules/mediawiki/views.py:71 msgid "Private mode enabled" msgstr "" -#: plinth/modules/mediawiki/views.py:93 +#: plinth/modules/mediawiki/views.py:78 msgid "Private mode disabled" msgstr "" -#: plinth/modules/mediawiki/views.py:101 +#: plinth/modules/mediawiki/views.py:86 msgid "Default skin changed" msgstr "" -#: plinth/modules/minetest/__init__.py:37 +#: plinth/modules/minetest/__init__.py:38 #, python-brace-format msgid "" "Minetest is a multiplayer infinite-world block sandbox. This module enables " @@ -2448,48 +2434,48 @@ msgid "" "downloads/\">Minetest client is needed." msgstr "" -#: plinth/modules/minetest/__init__.py:63 +#: plinth/modules/minetest/__init__.py:62 #: plinth/modules/minetest/manifest.py:10 msgid "Minetest" msgstr "" -#: plinth/modules/minetest/__init__.py:64 +#: plinth/modules/minetest/__init__.py:63 msgid "Block Sandbox" msgstr "" -#: plinth/modules/minetest/forms.py:15 +#: plinth/modules/minetest/forms.py:13 msgid "Maximum number of players" msgstr "" -#: plinth/modules/minetest/forms.py:17 +#: plinth/modules/minetest/forms.py:15 msgid "" "You can change the maximum number of players playing minetest at a single " "instance of time." msgstr "" -#: plinth/modules/minetest/forms.py:21 +#: plinth/modules/minetest/forms.py:19 msgid "Enable creative mode" msgstr "" -#: plinth/modules/minetest/forms.py:22 +#: plinth/modules/minetest/forms.py:20 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:27 +#: plinth/modules/minetest/forms.py:25 msgid "Enable PVP" msgstr "" -#: plinth/modules/minetest/forms.py:28 +#: plinth/modules/minetest/forms.py:26 msgid "Enabling Player Vs Player will allow players to damage other players." msgstr "" -#: plinth/modules/minetest/forms.py:32 +#: plinth/modules/minetest/forms.py:30 msgid "Enable damage" msgstr "" -#: plinth/modules/minetest/forms.py:33 +#: plinth/modules/minetest/forms.py:31 msgid "When disabled, players cannot die or receive damage of any kind." msgstr "" @@ -2530,19 +2516,19 @@ msgid "" "Kodi." msgstr "" -#: plinth/modules/minidlna/__init__.py:33 +#: plinth/modules/minidlna/__init__.py:44 msgid "Media streaming server" msgstr "" -#: plinth/modules/minidlna/__init__.py:47 +#: plinth/modules/minidlna/__init__.py:48 msgid "Simple Media Server" msgstr "" -#: plinth/modules/minidlna/forms.py:15 +#: plinth/modules/minidlna/forms.py:13 msgid "Media Files Directory" msgstr "" -#: plinth/modules/minidlna/forms.py:16 +#: plinth/modules/minidlna/forms.py:14 msgid "" "Directory that MiniDLNA Server will read for content. All sub-directories of " "this will be also scanned for media files. If you change the default ensure " @@ -2594,16 +2580,16 @@ msgid "" "On {box_name}, downloaded files can be found in /var/lib/mldonkey/ directory." msgstr "" -#: plinth/modules/mldonkey/__init__.py:40 +#: plinth/modules/mldonkey/__init__.py:50 msgid "Download files using eDonkey applications" msgstr "" -#: plinth/modules/mldonkey/__init__.py:54 +#: plinth/modules/mldonkey/__init__.py:53 #: plinth/modules/mldonkey/manifest.py:12 msgid "MLDonkey" msgstr "" -#: plinth/modules/mldonkey/__init__.py:56 +#: plinth/modules/mldonkey/__init__.py:55 msgid "Peer-to-peer File Sharing" msgstr "" @@ -2615,7 +2601,7 @@ msgstr "" msgid "AMLDonkey" msgstr "" -#: plinth/modules/monkeysphere/__init__.py:18 +#: plinth/modules/monkeysphere/__init__.py:19 msgid "" "With Monkeysphere, an OpenPGP key can be generated for each configured " "domain serving SSH. The OpenPGP public key can then be uploaded to the " @@ -2627,7 +2613,7 @@ msgid "" "for more details." msgstr "" -#: plinth/modules/monkeysphere/__init__.py:26 +#: plinth/modules/monkeysphere/__init__.py:27 msgid "" "Monkeysphere can also generate an OpenPGP key for each Secure Web Server " "(HTTPS) certificate installed on this machine. The OpenPGP public key can " @@ -2638,7 +2624,7 @@ msgid "" "Monkeysphere website." msgstr "" -#: plinth/modules/monkeysphere/__init__.py:50 +#: plinth/modules/monkeysphere/__init__.py:49 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:11 msgid "Monkeysphere" msgstr "" @@ -2687,15 +2673,15 @@ msgstr "" msgid "-" msgstr "" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:128 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:129 msgid "Import Key" msgstr "" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:137 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:139 msgid "Publish Key" msgstr "" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:146 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:149 msgid "Add Domains" msgstr "" @@ -2765,32 +2751,32 @@ msgstr "" msgid "Error occurred while publishing key." msgstr "" -#: plinth/modules/mumble/__init__.py:23 +#: plinth/modules/mumble/__init__.py:24 msgid "" "Mumble is an open source, low-latency, encrypted, high quality voice chat " "software." msgstr "" -#: plinth/modules/mumble/__init__.py:25 +#: plinth/modules/mumble/__init__.py:26 msgid "" "You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your " "desktop and Android devices are available." msgstr "" -#: plinth/modules/mumble/__init__.py:49 plinth/modules/mumble/manifest.py:12 +#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:12 msgid "Mumble" msgstr "" -#: plinth/modules/mumble/__init__.py:50 +#: plinth/modules/mumble/__init__.py:49 msgid "Voice Chat" msgstr "" -#: plinth/modules/mumble/forms.py:16 +#: plinth/modules/mumble/forms.py:14 msgid "Set SuperUser Password" msgstr "" -#: plinth/modules/mumble/forms.py:19 +#: plinth/modules/mumble/forms.py:17 msgid "" "Optional. Leave this field blank to keep the current password. SuperUser " "password can be used to manage permissions in Mumble." @@ -3073,7 +3059,7 @@ msgstr "" #: plinth/modules/networks/forms.py:297 #, python-brace-format -msgid "Choose how your {box_name} is connected to your network" +msgid "Specify how your {box_name} is connected to your network" msgstr "" #: plinth/modules/networks/forms.py:304 @@ -3292,7 +3278,7 @@ msgstr "" #: plinth/modules/networks/templates/connection_show.html:171 #: plinth/modules/networks/templates/connection_show.html:212 -#: plinth/modules/shadowsocks/forms.py:49 +#: plinth/modules/shadowsocks/forms.py:48 msgid "Method" msgstr "" @@ -3308,7 +3294,7 @@ msgstr "" #: plinth/modules/networks/templates/connection_show.html:201 #: plinth/modules/networks/templates/connection_show.html:240 -#: plinth/modules/storage/forms.py:141 +#: plinth/modules/storage/forms.py:139 msgid "Default" msgstr "" @@ -3747,6 +3733,11 @@ msgstr "" msgid "Setup failed." msgstr "" +#: plinth/modules/openvpn/views.py:135 plinth/modules/tor/views.py:136 +#: plinth/views.py:196 +msgid "Setting unchanged" +msgstr "" + #: plinth/modules/pagekite/__init__.py:27 #, python-brace-format msgid "" @@ -3803,75 +3794,75 @@ msgstr "" msgid "PageKite Domain" msgstr "" -#: plinth/modules/pagekite/forms.py:48 +#: plinth/modules/pagekite/forms.py:47 msgid "Server domain" msgstr "" -#: plinth/modules/pagekite/forms.py:50 +#: plinth/modules/pagekite/forms.py:49 msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " "pagekite.net server." msgstr "" -#: plinth/modules/pagekite/forms.py:53 plinth/modules/shadowsocks/forms.py:40 +#: plinth/modules/pagekite/forms.py:52 plinth/modules/shadowsocks/forms.py:39 msgid "Server port" msgstr "" -#: plinth/modules/pagekite/forms.py:54 +#: plinth/modules/pagekite/forms.py:53 msgid "Port of your pagekite server (default: 80)" msgstr "" -#: plinth/modules/pagekite/forms.py:56 +#: plinth/modules/pagekite/forms.py:55 msgid "Kite name" msgstr "" -#: plinth/modules/pagekite/forms.py:57 +#: plinth/modules/pagekite/forms.py:56 msgid "Example: mybox.pagekite.me" msgstr "" -#: plinth/modules/pagekite/forms.py:59 +#: plinth/modules/pagekite/forms.py:58 msgid "Invalid kite name" msgstr "" -#: plinth/modules/pagekite/forms.py:63 +#: plinth/modules/pagekite/forms.py:62 msgid "Kite secret" msgstr "" -#: plinth/modules/pagekite/forms.py:64 +#: plinth/modules/pagekite/forms.py:63 msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." msgstr "" -#: plinth/modules/pagekite/forms.py:101 +#: plinth/modules/pagekite/forms.py:100 msgid "protocol" msgstr "" -#: plinth/modules/pagekite/forms.py:104 +#: plinth/modules/pagekite/forms.py:103 msgid "external (frontend) port" msgstr "" -#: plinth/modules/pagekite/forms.py:107 +#: plinth/modules/pagekite/forms.py:106 msgid "internal (freedombox) port" msgstr "" -#: plinth/modules/pagekite/forms.py:108 +#: plinth/modules/pagekite/forms.py:107 msgid "Enable Subdomains" msgstr "" -#: plinth/modules/pagekite/forms.py:142 +#: plinth/modules/pagekite/forms.py:141 msgid "Deleted custom service" msgstr "" -#: plinth/modules/pagekite/forms.py:175 +#: plinth/modules/pagekite/forms.py:174 msgid "This service is already available as a standard service." msgstr "" -#: plinth/modules/pagekite/forms.py:183 +#: plinth/modules/pagekite/forms.py:182 msgid "Added custom service" msgstr "" -#: plinth/modules/pagekite/forms.py:186 +#: plinth/modules/pagekite/forms.py:185 msgid "This service already exists" msgstr "" @@ -3989,14 +3980,14 @@ msgstr "" msgid "Shut Down Now" msgstr "" -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 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:33 +#: plinth/modules/privoxy/__init__.py:34 #, python-brace-format msgid "" "You can use Privoxy by modifying your browser proxy settings to your " @@ -4006,20 +3997,20 @@ msgid "" "\">http://p.p." msgstr "" -#: plinth/modules/privoxy/__init__.py:56 +#: plinth/modules/privoxy/__init__.py:55 msgid "Privoxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:57 +#: plinth/modules/privoxy/__init__.py:56 msgid "Web Proxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:119 #, python-brace-format msgid "Access {url} with proxy {proxy} on tcp{kind}" msgstr "" -#: plinth/modules/quassel/__init__.py:32 +#: plinth/modules/quassel/__init__.py:33 #, python-brace-format msgid "" "Quassel is an IRC application that is split into two parts, a \"core\" and a " @@ -4030,7 +4021,7 @@ msgid "" "connect and disconnect from it." msgstr "" -#: plinth/modules/quassel/__init__.py:39 +#: plinth/modules/quassel/__init__.py:40 msgid "" "You can connect to your Quassel core on the default Quassel port 4242. " "Clients to connect to Quassel from your mobile devices are available." msgstr "" -#: plinth/modules/quassel/__init__.py:62 plinth/modules/quassel/manifest.py:10 +#: plinth/modules/quassel/__init__.py:61 plinth/modules/quassel/manifest.py:10 msgid "Quassel" msgstr "" -#: plinth/modules/quassel/__init__.py:63 +#: plinth/modules/quassel/__init__.py:62 msgid "IRC Client" msgstr "" -#: plinth/modules/quassel/forms.py:23 +#: plinth/modules/quassel/forms.py:22 msgid "TLS domain" msgstr "" -#: plinth/modules/quassel/forms.py:25 +#: plinth/modules/quassel/forms.py:24 msgid "" "Select a domain to use TLS with. If the list is empty, please configure at " "least one domain with certificates." @@ -4060,7 +4051,7 @@ msgstr "" msgid "Quasseldroid" msgstr "" -#: plinth/modules/radicale/__init__.py:32 +#: plinth/modules/radicale/__init__.py:33 #, python-brace-format msgid "" "Radicale is a CalDAV and CardDAV server. It allows synchronization and " @@ -4069,34 +4060,34 @@ msgid "" "can be accessed by any user with a {box_name} login." msgstr "" -#: plinth/modules/radicale/__init__.py:37 +#: plinth/modules/radicale/__init__.py:38 msgid "" "Radicale provides a basic web interface, which only supports creating new " "calendars and addressbooks. It does not support adding events or contacts, " "which must be done using a separate client." msgstr "" -#: plinth/modules/radicale/__init__.py:62 +#: plinth/modules/radicale/__init__.py:61 #: plinth/modules/radicale/manifest.py:75 msgid "Radicale" msgstr "" -#: plinth/modules/radicale/__init__.py:63 +#: plinth/modules/radicale/__init__.py:62 msgid "Calendar and Addressbook" msgstr "" -#: plinth/modules/radicale/forms.py:15 +#: plinth/modules/radicale/forms.py:14 msgid "Only the owner of a calendar/addressbook can view or make changes." msgstr "" -#: plinth/modules/radicale/forms.py:19 +#: plinth/modules/radicale/forms.py:18 #, python-brace-format msgid "" "Any user with a {box_name} login can view any calendar/addressbook, but only " "the owner can make changes." msgstr "" -#: plinth/modules/radicale/forms.py:24 +#: plinth/modules/radicale/forms.py:23 #, python-brace-format msgid "" "Any user with a {box_name} login can view or make changes to any calendar/" @@ -4212,11 +4203,11 @@ msgid "" "private space." msgstr "" -#: plinth/modules/samba/__init__.py:47 +#: plinth/modules/samba/__init__.py:59 msgid "Access to the private shares" msgstr "" -#: plinth/modules/samba/__init__.py:61 +#: plinth/modules/samba/__init__.py:62 msgid "Samba" msgstr "" @@ -4280,11 +4271,11 @@ msgstr "" msgid "Action" msgstr "" -#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:149 +#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:147 msgid "Open Share" msgstr "" -#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:147 +#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:145 msgid "Group Share" msgstr "" @@ -4322,43 +4313,43 @@ msgid "" "stores no cookies by default." msgstr "" -#: plinth/modules/searx/__init__.py:31 +#: plinth/modules/searx/__init__.py:45 msgid "Search the web" msgstr "" -#: plinth/modules/searx/__init__.py:47 plinth/modules/searx/manifest.py:9 +#: plinth/modules/searx/__init__.py:48 plinth/modules/searx/manifest.py:9 msgid "Searx" msgstr "" -#: plinth/modules/searx/__init__.py:48 +#: plinth/modules/searx/__init__.py:49 msgid "Web Search" msgstr "" -#: plinth/modules/searx/forms.py:15 +#: plinth/modules/searx/forms.py:13 msgid "Safe Search" msgstr "" -#: plinth/modules/searx/forms.py:16 +#: plinth/modules/searx/forms.py:14 msgid "Select the default family filter to apply to your search results." msgstr "" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "None" msgstr "" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "Moderate" msgstr "" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "Strict" msgstr "" -#: plinth/modules/searx/forms.py:20 +#: plinth/modules/searx/forms.py:18 msgid "Allow Public Access" msgstr "" -#: plinth/modules/searx/forms.py:21 +#: plinth/modules/searx/forms.py:19 msgid "Allow this application to be used by anyone who can reach it." msgstr "" @@ -4521,28 +4512,28 @@ msgstr "" msgid "Socks5 Proxy" msgstr "" +#: plinth/modules/shadowsocks/forms.py:12 #: plinth/modules/shadowsocks/forms.py:13 -#: plinth/modules/shadowsocks/forms.py:14 msgid "Recommended" msgstr "" -#: plinth/modules/shadowsocks/forms.py:37 +#: plinth/modules/shadowsocks/forms.py:36 msgid "Server" msgstr "" -#: plinth/modules/shadowsocks/forms.py:38 +#: plinth/modules/shadowsocks/forms.py:37 msgid "Server hostname or IP address" msgstr "" -#: plinth/modules/shadowsocks/forms.py:42 +#: plinth/modules/shadowsocks/forms.py:41 msgid "Server port number" msgstr "" -#: plinth/modules/shadowsocks/forms.py:45 +#: plinth/modules/shadowsocks/forms.py:44 msgid "Password used to encrypt data. Must match server password." msgstr "" -#: plinth/modules/shadowsocks/forms.py:50 +#: plinth/modules/shadowsocks/forms.py:49 msgid "Encryption method. Must match setting on server." msgstr "" @@ -4583,11 +4574,11 @@ msgstr "" msgid "Make files in this folder available to anyone with the link." msgstr "" -#: plinth/modules/sharing/forms.py:33 +#: plinth/modules/sharing/forms.py:34 msgid "User groups that can read the files in the share" msgstr "" -#: plinth/modules/sharing/forms.py:35 +#: plinth/modules/sharing/forms.py:36 msgid "" "Users of the selected user groups will be able to read the files in the " "share." @@ -4858,11 +4849,11 @@ msgstr "" msgid "Secure Shell (SSH) Server" msgstr "" -#: plinth/modules/ssh/forms.py:15 +#: plinth/modules/ssh/forms.py:13 msgid "Disable password authentication" msgstr "" -#: plinth/modules/ssh/forms.py:16 +#: plinth/modules/ssh/forms.py:14 msgid "" "Improves security by preventing password guessing. Ensure that you have " "setup SSH keys in your administrator user account before enabling this " @@ -4911,129 +4902,129 @@ msgid "" "media, expand the root partition etc." msgstr "" -#: plinth/modules/storage/__init__.py:52 plinth/modules/storage/__init__.py:318 +#: plinth/modules/storage/__init__.py:54 plinth/modules/storage/__init__.py:320 msgid "Storage" 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 "" -#: plinth/modules/storage/__init__.py:313 +#: plinth/modules/storage/__init__.py:315 #, no-python-format, python-brace-format msgid "Low space on system partition: {percent_used}% used, {free_space} free." msgstr "" -#: plinth/modules/storage/__init__.py:315 +#: plinth/modules/storage/__init__.py:317 msgid "Low disk space" msgstr "" -#: plinth/modules/storage/forms.py:64 +#: plinth/modules/storage/forms.py:63 msgid "Invalid directory name." msgstr "" -#: plinth/modules/storage/forms.py:82 +#: plinth/modules/storage/forms.py:80 msgid "Directory does not exist." msgstr "" -#: plinth/modules/storage/forms.py:84 +#: plinth/modules/storage/forms.py:83 msgid "Path is not a directory." msgstr "" -#: plinth/modules/storage/forms.py:87 +#: plinth/modules/storage/forms.py:86 msgid "Directory is not readable by the user." msgstr "" -#: plinth/modules/storage/forms.py:90 +#: plinth/modules/storage/forms.py:89 msgid "Directory is not writable by the user." msgstr "" -#: plinth/modules/storage/forms.py:95 +#: plinth/modules/storage/forms.py:94 msgid "Directory" msgstr "" -#: plinth/modules/storage/forms.py:98 +#: plinth/modules/storage/forms.py:96 msgid "Subdirectory (optional)" msgstr "" -#: plinth/modules/storage/forms.py:145 +#: plinth/modules/storage/forms.py:143 msgid "Share" msgstr "" -#: plinth/modules/storage/forms.py:153 +#: plinth/modules/storage/forms.py:151 msgid "Other directory (specify below)" msgstr "" @@ -5114,19 +5105,20 @@ msgid "" "synchronize more often. {box_name} runs a single instance of Syncthing that " "may be used by multiple users. Each user's set of devices may be " "synchronized with a distinct set of folders. The web interface on " -"{box_name} is only available for users belonging to the \"admin\" group." +"{box_name} is only available for users belonging to the \"admin\" or " +"\"syncthing\" group." msgstr "" -#: plinth/modules/syncthing/__init__.py:40 +#: plinth/modules/syncthing/__init__.py:53 msgid "Administer Syncthing application" msgstr "" -#: plinth/modules/syncthing/__init__.py:54 +#: plinth/modules/syncthing/__init__.py:56 #: plinth/modules/syncthing/manifest.py:13 msgid "Syncthing" msgstr "" -#: plinth/modules/syncthing/__init__.py:55 +#: plinth/modules/syncthing/__init__.py:57 msgid "File Synchronization" msgstr "" @@ -5163,33 +5155,33 @@ msgid "" "%(domain_name)s:5678\">https://%(domain_name)s:5678." msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:39 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:29 msgid "Local introducer" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:59 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:76 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:33 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:49 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:66 msgid "Pet Name" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:56 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:46 msgid "Add new introducer" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:67 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:57 msgid "Add" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:72 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:62 msgid "Connected introducers" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:89 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:79 msgid "Remove" msgstr "" -#: plinth/modules/tor/__init__.py:33 +#: plinth/modules/tor/__init__.py:34 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -5198,40 +5190,40 @@ msgid "" "\">Tor Browser." msgstr "" -#: plinth/modules/tor/__init__.py:55 +#: plinth/modules/tor/__init__.py:54 msgid "Tor" msgstr "" -#: plinth/modules/tor/__init__.py:66 +#: plinth/modules/tor/__init__.py:65 msgid "Tor Onion Service" msgstr "" -#: plinth/modules/tor/__init__.py:70 +#: plinth/modules/tor/__init__.py:69 msgid "Tor Socks Proxy" msgstr "" -#: plinth/modules/tor/__init__.py:74 +#: plinth/modules/tor/__init__.py:73 msgid "Tor Bridge Relay" msgstr "" -#: plinth/modules/tor/__init__.py:95 +#: plinth/modules/tor/__init__.py:98 msgid "Tor relay port available" msgstr "" -#: plinth/modules/tor/__init__.py:105 +#: plinth/modules/tor/__init__.py:108 msgid "Obfs3 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:115 +#: plinth/modules/tor/__init__.py:118 msgid "Obfs4 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:208 +#: plinth/modules/tor/__init__.py:211 #, python-brace-format msgid "Access URL {url} on tcp{kind} via Tor" msgstr "" -#: plinth/modules/tor/__init__.py:219 +#: plinth/modules/tor/__init__.py:222 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "" @@ -5357,13 +5349,13 @@ msgstr "" msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050." msgstr "" -#: plinth/modules/transmission/__init__.py:27 +#: plinth/modules/transmission/__init__.py:28 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:48 +#: plinth/modules/transmission/__init__.py:51 #: plinth/modules/transmission/manifest.py:9 msgid "Transmission" msgstr "" @@ -5389,15 +5381,15 @@ msgid "" "connecting." msgstr "" -#: plinth/modules/ttrss/__init__.py:42 +#: plinth/modules/ttrss/__init__.py:54 msgid "Read and subscribe to news feeds" msgstr "" -#: plinth/modules/ttrss/__init__.py:56 plinth/modules/ttrss/manifest.py:19 +#: plinth/modules/ttrss/__init__.py:57 plinth/modules/ttrss/manifest.py:19 msgid "Tiny Tiny RSS" msgstr "" -#: plinth/modules/ttrss/__init__.py:57 +#: plinth/modules/ttrss/__init__.py:58 msgid "News Feed Reader" msgstr "" @@ -5409,11 +5401,11 @@ msgstr "" msgid "Check for and apply the latest software and security updates." msgstr "" -#: plinth/modules/upgrades/__init__.py:38 plinth/templates/setup.html:74 +#: plinth/modules/upgrades/__init__.py:40 plinth/templates/setup.html:74 msgid "Update" msgstr "" -#: plinth/modules/upgrades/__init__.py:76 +#: plinth/modules/upgrades/__init__.py:78 msgid "FreedomBox Updated" msgstr "" @@ -5463,43 +5455,39 @@ msgstr "" #: plinth/modules/upgrades/templates/upgrades_configure.html:11 #: plinth/modules/upgrades/templates/upgrades_configure.html:12 -#: plinth/modules/upgrades/views.py:88 +#: plinth/modules/upgrades/views.py:85 msgid "Manual update" msgstr "" -#: plinth/modules/upgrades/views.py:47 +#: plinth/modules/upgrades/views.py:46 #, python-brace-format msgid "Error when configuring unattended-upgrades: {error}" msgstr "" -#: plinth/modules/upgrades/views.py:51 +#: plinth/modules/upgrades/views.py:50 msgid "Automatic upgrades enabled" msgstr "" -#: plinth/modules/upgrades/views.py:54 +#: plinth/modules/upgrades/views.py:53 msgid "Automatic upgrades disabled" msgstr "" -#: plinth/modules/upgrades/views.py:56 -msgid "Settings unchanged" -msgstr "" - -#: plinth/modules/upgrades/views.py:82 +#: plinth/modules/upgrades/views.py:79 msgid "Upgrade process started." msgstr "" -#: plinth/modules/upgrades/views.py:85 +#: plinth/modules/upgrades/views.py:82 msgid "Starting upgrade failed." msgstr "" -#: plinth/modules/users/__init__.py:37 +#: plinth/modules/users/__init__.py:39 msgid "" "Create and managed user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " "account to be part of a group to authorize the user to access the app." msgstr "" -#: plinth/modules/users/__init__.py:42 +#: plinth/modules/users/__init__.py:44 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -5507,102 +5495,101 @@ msgid "" "group may alter apps or system settings." msgstr "" -#: plinth/modules/users/__init__.py:64 +#: plinth/modules/users/__init__.py:65 msgid "Users and Groups" msgstr "" -#: plinth/modules/users/__init__.py:115 +#: plinth/modules/users/__init__.py:78 +msgid "Access to all services and system settings" +msgstr "" + +#: plinth/modules/users/__init__.py:122 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "" -#: plinth/modules/users/forms.py:28 -msgid "Access to all services and system settings" -msgstr "" - -#: plinth/modules/users/forms.py:44 +#: plinth/modules/users/forms.py:36 msgid "Username is taken or is reserved." msgstr "" -#: plinth/modules/users/forms.py:72 +#: plinth/modules/users/forms.py:63 msgid "Enter a valid username." msgstr "" -#: plinth/modules/users/forms.py:78 +#: plinth/modules/users/forms.py:69 msgid "" "Required. 150 characters or fewer. English letters, digits and @/./-/_ only." msgstr "" -#: plinth/modules/users/forms.py:91 plinth/modules/users/forms.py:207 +#: plinth/modules/users/forms.py:83 plinth/modules/users/forms.py:196 msgid "Permissions" msgstr "" -#: plinth/modules/users/forms.py:94 +#: plinth/modules/users/forms.py:85 msgid "" -"Select which services should be available to the new user. The user will be " -"able to log in to services that support single sign-on through LDAP, if they " -"are in the appropriate group.

Users in the admin group will be " -"able to log in to all services. They can also log in to the system through " -"SSH and have administrative privileges (sudo)." +"user. The user will be able to log in to services that support single sign-" +"on through LDAP, if they are in the appropriate group.

Users in " +"the admin group will be able to log in to all services. They can also log in " +"to the system through SSH and have administrative privileges (sudo)." msgstr "" -#: plinth/modules/users/forms.py:133 plinth/modules/users/forms.py:357 +#: plinth/modules/users/forms.py:122 plinth/modules/users/forms.py:345 msgid "Creating LDAP user failed." msgstr "" -#: plinth/modules/users/forms.py:144 +#: plinth/modules/users/forms.py:133 #, python-brace-format msgid "Failed to add new user to {group} group." msgstr "" -#: plinth/modules/users/forms.py:158 +#: plinth/modules/users/forms.py:147 msgid "Authorized SSH Keys" msgstr "" -#: plinth/modules/users/forms.py:160 +#: plinth/modules/users/forms.py:149 msgid "" "Setting an SSH public key will allow this user to securely log in to the " "system without using a password. You may enter multiple keys, one on each " "line. Blank lines and lines starting with # will be ignored." msgstr "" -#: plinth/modules/users/forms.py:244 +#: plinth/modules/users/forms.py:233 msgid "Renaming LDAP user failed." msgstr "" -#: plinth/modules/users/forms.py:256 +#: plinth/modules/users/forms.py:245 msgid "Failed to remove user from group." msgstr "" -#: plinth/modules/users/forms.py:267 +#: plinth/modules/users/forms.py:256 msgid "Failed to add user to group." msgstr "" -#: plinth/modules/users/forms.py:276 +#: plinth/modules/users/forms.py:265 msgid "Unable to set SSH keys." msgstr "" -#: plinth/modules/users/forms.py:291 +#: plinth/modules/users/forms.py:280 msgid "Failed to change user status." msgstr "" -#: plinth/modules/users/forms.py:299 +#: plinth/modules/users/forms.py:288 msgid "Cannot delete the only administrator in the system." msgstr "" -#: plinth/modules/users/forms.py:331 +#: plinth/modules/users/forms.py:319 msgid "Changing LDAP user password failed." msgstr "" -#: plinth/modules/users/forms.py:366 +#: plinth/modules/users/forms.py:354 msgid "Failed to add new user to admin group." msgstr "" -#: plinth/modules/users/forms.py:383 +#: plinth/modules/users/forms.py:371 msgid "Failed to restrict console access." msgstr "" -#: plinth/modules/users/forms.py:395 +#: plinth/modules/users/forms.py:383 msgid "User account created, you are now logged in" msgstr "" @@ -6332,14 +6319,6 @@ msgstr "" msgid "%(percentage)s%% complete" msgstr "" -#: plinth/views.py:184 -msgid "Application enabled" -msgstr "" - -#: plinth/views.py:187 -msgid "Application disabled" -msgstr "" - #: plinth/web_framework.py:107 msgid "Gujarati" msgstr "" diff --git a/plinth/locale/kn/LC_MESSAGES/django.po b/plinth/locale/kn/LC_MESSAGES/django.po index 73d9dd74d..8b27ac7f3 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: 2020-03-23 18:54-0400\n" +"POT-Creation-Date: 2020-04-06 19:59-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -51,29 +51,25 @@ msgstr "" msgid "Cannot connect to {host}:{port}" msgstr "" -#: plinth/forms.py:24 -msgid "Enable application" -msgstr "" - -#: plinth/forms.py:39 +#: plinth/forms.py:38 msgid "Select a domain name to be used with this application" msgstr "" -#: plinth/forms.py:41 +#: plinth/forms.py:40 msgid "" "Warning! The application may not work properly if domain name is changed " "later." msgstr "" -#: plinth/forms.py:49 +#: plinth/forms.py:48 msgid "Language" msgstr "" -#: plinth/forms.py:50 +#: plinth/forms.py:49 msgid "Language to use for presenting this web interface" msgstr "" -#: plinth/forms.py:57 +#: plinth/forms.py:56 msgid "Use the language preference set in the browser" msgstr "" @@ -595,20 +591,20 @@ msgstr "" msgid "Domain Name Server" msgstr "" -#: plinth/modules/bind/forms.py:22 +#: plinth/modules/bind/forms.py:20 msgid "Forwarders" msgstr "" -#: plinth/modules/bind/forms.py:23 +#: plinth/modules/bind/forms.py:21 msgid "" "A list DNS servers, separated by space, to which requests will be forwarded" msgstr "" -#: plinth/modules/bind/forms.py:27 +#: plinth/modules/bind/forms.py:25 msgid "Enable DNSSEC" msgstr "" -#: plinth/modules/bind/forms.py:28 +#: plinth/modules/bind/forms.py:26 msgid "Enable Domain Name System Security Extensions" msgstr "" @@ -640,10 +636,11 @@ msgstr "" msgid "Refresh IP address and domains" msgstr "" -#: plinth/modules/bind/views.py:72 plinth/modules/deluge/views.py:44 +#: plinth/modules/bind/views.py:72 plinth/modules/deluge/views.py:42 #: plinth/modules/dynamicdns/views.py:150 plinth/modules/openvpn/views.py:133 -#: plinth/modules/pagekite/forms.py:91 plinth/modules/shadowsocks/views.py:59 -#: plinth/modules/transmission/views.py:50 +#: plinth/modules/pagekite/forms.py:90 plinth/modules/quassel/views.py:30 +#: plinth/modules/shadowsocks/views.py:59 +#: plinth/modules/transmission/views.py:47 msgid "Configuration updated" msgstr "" @@ -691,11 +688,11 @@ msgid "" "name, webserver home page etc." msgstr "" -#: plinth/modules/config/__init__.py:50 +#: plinth/modules/config/__init__.py:52 msgid "General Configuration" msgstr "" -#: plinth/modules/config/__init__.py:55 plinth/modules/dynamicdns/views.py:29 +#: plinth/modules/config/__init__.py:57 plinth/modules/dynamicdns/views.py:29 #: plinth/modules/names/templates/names.html:29 #: plinth/modules/names/templates/names.html:43 #: plinth/modules/snapshot/views.py:26 @@ -703,7 +700,7 @@ msgstr "" msgid "Configure" msgstr "" -#: plinth/modules/config/__init__.py:59 plinth/modules/config/forms.py:61 +#: plinth/modules/config/__init__.py:61 plinth/modules/config/forms.py:61 #: plinth/modules/dynamicdns/forms.py:95 msgid "Domain Name" msgstr "" @@ -830,25 +827,25 @@ msgstr "" msgid "Coquelicot" msgstr "" -#: plinth/modules/coquelicot/__init__.py:47 plinth/modules/samba/__init__.py:62 +#: plinth/modules/coquelicot/__init__.py:47 plinth/modules/samba/__init__.py:63 msgid "File Sharing" msgstr "" -#: plinth/modules/coquelicot/forms.py:15 +#: plinth/modules/coquelicot/forms.py:13 msgid "Upload Password" msgstr "" -#: plinth/modules/coquelicot/forms.py:16 +#: plinth/modules/coquelicot/forms.py:14 msgid "" "Set a new upload password for Coquelicot. Leave this field blank to keep the " "current password." msgstr "" -#: plinth/modules/coquelicot/forms.py:20 +#: plinth/modules/coquelicot/forms.py:18 msgid "Maximum File Size (in MiB)" msgstr "" -#: plinth/modules/coquelicot/forms.py:21 +#: plinth/modules/coquelicot/forms.py:19 msgid "Set the maximum size of the files that can be uploaded to Coquelicot." msgstr "" @@ -886,17 +883,17 @@ msgstr "" msgid "Time synchronized to NTP server" msgstr "" -#: plinth/modules/datetime/forms.py:20 +#: plinth/modules/datetime/forms.py:18 msgid "Time Zone" msgstr "" -#: plinth/modules/datetime/forms.py:21 +#: plinth/modules/datetime/forms.py:19 msgid "" "Set your time zone to get accurate timestamps. This will set the system-wide " "time zone." msgstr "" -#: plinth/modules/datetime/forms.py:32 +#: plinth/modules/datetime/forms.py:30 msgid "-- no time zone set --" msgstr "" @@ -909,31 +906,31 @@ msgstr "" msgid "Time zone set" msgstr "" -#: plinth/modules/deluge/__init__.py:25 +#: plinth/modules/deluge/__init__.py:26 msgid "Deluge is a BitTorrent client that features a Web UI." msgstr "" -#: plinth/modules/deluge/__init__.py:26 +#: plinth/modules/deluge/__init__.py:27 msgid "" "The default password is 'deluge', but you should log in and change it " "immediately after enabling this service." msgstr "" -#: plinth/modules/deluge/__init__.py:30 -#: plinth/modules/transmission/__init__.py:34 +#: plinth/modules/deluge/__init__.py:46 +#: plinth/modules/transmission/__init__.py:48 msgid "Download files using BitTorrent applications" msgstr "" -#: plinth/modules/deluge/__init__.py:46 plinth/modules/deluge/manifest.py:9 +#: plinth/modules/deluge/__init__.py:50 plinth/modules/deluge/manifest.py:9 msgid "Deluge" msgstr "" -#: plinth/modules/deluge/__init__.py:47 -#: plinth/modules/transmission/__init__.py:50 +#: plinth/modules/deluge/__init__.py:51 +#: plinth/modules/transmission/__init__.py:53 msgid "BitTorrent Web Client" msgstr "" -#: plinth/modules/deluge/forms.py:20 plinth/modules/transmission/forms.py:20 +#: plinth/modules/deluge/forms.py:20 plinth/modules/transmission/forms.py:21 msgid "Download directory" msgstr "" @@ -1006,7 +1003,7 @@ msgstr "" msgid "Federated Social Network" msgstr "" -#: plinth/modules/diaspora/forms.py:15 +#: plinth/modules/diaspora/forms.py:13 msgid "Enable new user registrations" msgstr "" @@ -1032,32 +1029,23 @@ msgstr "" #: plinth/modules/diaspora/templates/diaspora-pre-setup.html:43 #: plinth/modules/dynamicdns/templates/dynamicdns_configure.html:25 -#: plinth/modules/ejabberd/templates/ejabberd.html:43 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:18 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:47 #: plinth/modules/snapshot/templates/snapshot.html:15 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:35 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:43 -#: plinth/templates/app.html:52 +#: plinth/templates/app.html:54 msgid "Update setup" msgstr "" -#: plinth/modules/diaspora/views.py:76 plinth/modules/ejabberd/views.py:46 -#: plinth/modules/matrixsynapse/views.py:85 -#: plinth/modules/mediawiki/views.py:58 plinth/modules/openvpn/views.py:135 -#: plinth/modules/tor/views.py:136 plinth/views.py:180 -msgid "Setting unchanged" -msgstr "" - -#: plinth/modules/diaspora/views.py:80 +#: plinth/modules/diaspora/views.py:74 msgid "User registrations enabled" msgstr "" -#: plinth/modules/diaspora/views.py:84 +#: plinth/modules/diaspora/views.py:78 msgid "User registrations disabled" msgstr "" -#: plinth/modules/dynamicdns/__init__.py:27 +#: plinth/modules/dynamicdns/__init__.py:28 #, python-brace-format msgid "" "If your Internet provider changes your IP address periodically (i.e. every " @@ -1065,7 +1053,7 @@ msgid "" "prevent others from finding services which are provided by this {box_name}." msgstr "" -#: plinth/modules/dynamicdns/__init__.py:31 +#: plinth/modules/dynamicdns/__init__.py:32 msgid "" "The solution is to assign a DNS name to your IP address and update the DNS " "name every time your IP is changed by your Internet provider. Dynamic DNS " @@ -1076,11 +1064,11 @@ msgid "" "IP address." msgstr "" -#: plinth/modules/dynamicdns/__init__.py:56 +#: plinth/modules/dynamicdns/__init__.py:55 msgid "Dynamic DNS Client" msgstr "" -#: plinth/modules/dynamicdns/__init__.py:66 +#: plinth/modules/dynamicdns/__init__.py:65 msgid "Dynamic Domain Name" msgstr "" @@ -1169,7 +1157,7 @@ msgid "Username" msgstr "" #: plinth/modules/dynamicdns/forms.py:104 plinth/modules/networks/forms.py:200 -#: plinth/modules/shadowsocks/forms.py:45 +#: plinth/modules/shadowsocks/forms.py:44 msgid "Password" msgstr "" @@ -1247,7 +1235,7 @@ msgstr "" msgid "Last update" msgstr "" -#: plinth/modules/dynamicdns/views.py:26 plinth/modules/help/__init__.py:49 +#: plinth/modules/dynamicdns/views.py:26 plinth/modules/help/__init__.py:51 #: plinth/templates/help-menu.html:46 plinth/templates/help-menu.html:47 msgid "About" msgstr "" @@ -1274,13 +1262,13 @@ msgstr "" msgid "Dynamic DNS Status" msgstr "" -#: plinth/modules/ejabberd/__init__.py:36 +#: plinth/modules/ejabberd/__init__.py:37 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:39 +#: plinth/modules/ejabberd/__init__.py:40 #, python-brace-format msgid "" "To actually communicate, you can use the web client user with a {box_name} login." msgstr "" -#: plinth/modules/ejabberd/__init__.py:70 +#: plinth/modules/ejabberd/__init__.py:69 msgid "ejabberd" msgstr "" -#: plinth/modules/ejabberd/__init__.py:71 +#: plinth/modules/ejabberd/__init__.py:70 #: plinth/modules/matrixsynapse/__init__.py:68 msgid "Chat Server" msgstr "" -#: plinth/modules/ejabberd/forms.py:17 +#: plinth/modules/ejabberd/forms.py:16 msgid "Enable Message Archive Management" msgstr "" -#: plinth/modules/ejabberd/forms.py:19 +#: plinth/modules/ejabberd/forms.py:18 #, python-brace-format msgid "" "If enabled, your {box_name} will store chat message histories. This allows " @@ -1357,19 +1345,11 @@ msgid "" "Configure page." msgstr "" -#: plinth/modules/ejabberd/templates/ejabberd.html:35 -#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 -#: plinth/modules/snapshot/templates/snapshot.html:12 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:27 -#: plinth/templates/app.html:45 -msgid "Configuration" -msgstr "" - -#: plinth/modules/ejabberd/views.py:58 +#: plinth/modules/ejabberd/views.py:45 msgid "Message Archive Management enabled" msgstr "" -#: plinth/modules/ejabberd/views.py:62 +#: plinth/modules/ejabberd/views.py:49 msgid "Message Archive Management disabled" msgstr "" @@ -1381,7 +1361,7 @@ msgid "" "configured reduces risk of security threat from the Internet." msgstr "" -#: plinth/modules/firewall/__init__.py:63 +#: plinth/modules/firewall/__init__.py:65 msgid "Firewall" msgstr "" @@ -1508,7 +1488,7 @@ msgid "" "gittutorial\">Git tutorial." msgstr "" -#: plinth/modules/gitweb/__init__.py:39 +#: plinth/modules/gitweb/__init__.py:51 msgid "Read-write access to Git repositories" msgstr "" @@ -1641,31 +1621,31 @@ msgstr "" msgid "Could not delete {name}: {error}" msgstr "" -#: plinth/modules/help/__init__.py:30 +#: plinth/modules/help/__init__.py:32 msgid "Documentation" msgstr "" -#: plinth/modules/help/__init__.py:33 plinth/modules/networks/forms.py:47 +#: plinth/modules/help/__init__.py:35 plinth/modules/networks/forms.py:47 #: plinth/modules/networks/forms.py:77 plinth/templates/help-menu.html:20 #: plinth/templates/help-menu.html:21 plinth/templates/index.html:128 msgid "Manual" msgstr "" -#: plinth/modules/help/__init__.py:37 +#: plinth/modules/help/__init__.py:39 #: plinth/modules/help/templates/help_support.html:9 #: plinth/modules/help/views.py:43 plinth/templates/help-menu.html:27 #: plinth/templates/help-menu.html:28 msgid "Get Support" msgstr "" -#: plinth/modules/help/__init__.py:41 +#: plinth/modules/help/__init__.py:43 #: plinth/modules/help/templates/help_feedback.html:9 #: plinth/modules/help/views.py:37 plinth/templates/help-menu.html:33 #: plinth/templates/help-menu.html:34 msgid "Submit Feedback" msgstr "" -#: plinth/modules/help/__init__.py:45 +#: plinth/modules/help/__init__.py:47 #: plinth/modules/help/templates/help_contribute.html:9 #: plinth/modules/help/views.py:31 plinth/templates/help-menu.html:39 #: plinth/templates/help-menu.html:40 @@ -1774,7 +1754,7 @@ msgstr "" #: plinth/modules/help/templates/help_contribute.html:42 #: plinth/modules/power/templates/power_restart.html:27 #: plinth/modules/power/templates/power_shutdown.html:26 -#: plinth/templates/app-header.html:51 +#: plinth/templates/app-header.html:53 msgid "Learn more..." msgstr "" @@ -1918,19 +1898,19 @@ msgid "" "configuration process." msgstr "" -#: plinth/modules/i2p/__init__.py:38 +#: plinth/modules/i2p/__init__.py:62 msgid "Manage I2P application" msgstr "" -#: plinth/modules/i2p/__init__.py:64 plinth/modules/i2p/manifest.py:16 +#: plinth/modules/i2p/__init__.py:65 plinth/modules/i2p/manifest.py:16 msgid "I2P" msgstr "" -#: plinth/modules/i2p/__init__.py:65 plinth/modules/tor/__init__.py:56 +#: plinth/modules/i2p/__init__.py:66 plinth/modules/tor/__init__.py:55 msgid "Anonymity Network" msgstr "" -#: plinth/modules/i2p/__init__.py:87 +#: plinth/modules/i2p/__init__.py:88 msgid "I2P Proxy" msgstr "" @@ -1983,18 +1963,18 @@ msgid "" "Configuration you can change these permissions or add new users." msgstr "" -#: plinth/modules/ikiwiki/__init__.py:39 -msgid "View and edit wiki applications" -msgstr "" - -#: plinth/modules/ikiwiki/__init__.py:53 plinth/modules/ikiwiki/manifest.py:9 +#: plinth/modules/ikiwiki/__init__.py:52 plinth/modules/ikiwiki/manifest.py:9 msgid "ikiwiki" msgstr "" -#: plinth/modules/ikiwiki/__init__.py:54 +#: plinth/modules/ikiwiki/__init__.py:53 msgid "Wiki and Blog" msgstr "" +#: plinth/modules/ikiwiki/__init__.py:73 +msgid "View and edit wiki applications" +msgstr "" + #: plinth/modules/ikiwiki/forms.py:17 msgid "Admin Account Name" msgstr "" @@ -2038,32 +2018,32 @@ msgid "" "history. Delete this wiki or blog permanently?" msgstr "" -#: plinth/modules/ikiwiki/views.py:72 +#: plinth/modules/ikiwiki/views.py:70 #, python-brace-format msgid "Created wiki {name}." msgstr "" -#: plinth/modules/ikiwiki/views.py:75 +#: plinth/modules/ikiwiki/views.py:73 #, python-brace-format msgid "Could not create wiki: {error}" msgstr "" -#: plinth/modules/ikiwiki/views.py:85 +#: plinth/modules/ikiwiki/views.py:83 #, python-brace-format msgid "Created blog {name}." msgstr "" -#: plinth/modules/ikiwiki/views.py:88 +#: plinth/modules/ikiwiki/views.py:86 #, python-brace-format msgid "Could not create blog: {error}" msgstr "" -#: plinth/modules/ikiwiki/views.py:103 +#: plinth/modules/ikiwiki/views.py:101 #, python-brace-format msgid "{title} deleted." msgstr "" -#: plinth/modules/ikiwiki/views.py:107 +#: plinth/modules/ikiwiki/views.py:105 #, python-brace-format msgid "Could not delete {title}: {error}" msgstr "" @@ -2103,17 +2083,17 @@ msgid "" "domain name." msgstr "" -#: plinth/modules/jsxc/__init__.py:22 +#: plinth/modules/jsxc/__init__.py:23 msgid "" "JSXC is a web client for XMPP. Typically it is used with an XMPP server " "running locally." msgstr "" -#: plinth/modules/jsxc/__init__.py:40 plinth/modules/jsxc/manifest.py:10 +#: plinth/modules/jsxc/__init__.py:43 plinth/modules/jsxc/manifest.py:10 msgid "JSXC" msgstr "" -#: plinth/modules/jsxc/__init__.py:41 +#: plinth/modules/jsxc/__init__.py:44 msgid "Chat Client" msgstr "" @@ -2276,11 +2256,11 @@ msgstr "" msgid "Matrix Synapse" msgstr "" -#: plinth/modules/matrixsynapse/forms.py:14 +#: plinth/modules/matrixsynapse/forms.py:12 msgid "Enable Public Registration" msgstr "" -#: plinth/modules/matrixsynapse/forms.py:15 +#: plinth/modules/matrixsynapse/forms.py:13 msgid "" "Enabling public registration means that anyone on the Internet can register " "a new account on your Matrix server. Disable this if you only want existing " @@ -2291,6 +2271,12 @@ msgstr "" msgid "Riot" msgstr "" +#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 +#: plinth/modules/snapshot/templates/snapshot.html:12 +#: plinth/templates/app.html:46 +msgid "Configuration" +msgstr "" + #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:18 msgid "" "Matrix service needs to be configured for a domain. Users on other Matrix " @@ -2335,11 +2321,11 @@ msgid "" "go to Let's Encrypt to obtain one." msgstr "" -#: plinth/modules/matrixsynapse/views.py:98 +#: plinth/modules/matrixsynapse/views.py:86 msgid "Public registration enabled" msgstr "" -#: plinth/modules/matrixsynapse/views.py:103 +#: plinth/modules/matrixsynapse/views.py:91 msgid "Public registration disabled" msgstr "" @@ -2375,71 +2361,71 @@ msgstr "" msgid "Wiki" msgstr "" -#: plinth/modules/mediawiki/forms.py:27 +#: plinth/modules/mediawiki/forms.py:25 msgid "Administrator Password" msgstr "" -#: plinth/modules/mediawiki/forms.py:28 +#: plinth/modules/mediawiki/forms.py:26 msgid "" "Set a new password for MediaWiki's administrator account (admin). Leave this " "field blank to keep the current password." msgstr "" -#: plinth/modules/mediawiki/forms.py:33 +#: plinth/modules/mediawiki/forms.py:31 msgid "Enable public registrations" msgstr "" -#: plinth/modules/mediawiki/forms.py:34 +#: plinth/modules/mediawiki/forms.py:32 msgid "" "If enabled, anyone on the internet will be able to create an account on your " "MediaWiki instance." msgstr "" -#: plinth/modules/mediawiki/forms.py:38 +#: plinth/modules/mediawiki/forms.py:36 msgid "Enable private mode" msgstr "" -#: plinth/modules/mediawiki/forms.py:39 +#: plinth/modules/mediawiki/forms.py:37 msgid "" "If enabled, access will be restricted. Only people who have accounts can " "read/write to the wiki. Public registrations will also be disabled." msgstr "" -#: plinth/modules/mediawiki/forms.py:44 +#: plinth/modules/mediawiki/forms.py:42 msgid "Default Skin" msgstr "" -#: plinth/modules/mediawiki/forms.py:45 +#: plinth/modules/mediawiki/forms.py:43 msgid "" "Choose a default skin for your MediaWiki installation. Users have the option " "to select their preferred skin." msgstr "" -#: plinth/modules/mediawiki/views.py:53 +#: plinth/modules/mediawiki/views.py:48 msgid "Password updated" msgstr "" -#: plinth/modules/mediawiki/views.py:72 +#: plinth/modules/mediawiki/views.py:57 msgid "Public registrations enabled" msgstr "" -#: plinth/modules/mediawiki/views.py:81 +#: plinth/modules/mediawiki/views.py:66 msgid "Public registrations disabled" msgstr "" -#: plinth/modules/mediawiki/views.py:86 +#: plinth/modules/mediawiki/views.py:71 msgid "Private mode enabled" msgstr "" -#: plinth/modules/mediawiki/views.py:93 +#: plinth/modules/mediawiki/views.py:78 msgid "Private mode disabled" msgstr "" -#: plinth/modules/mediawiki/views.py:101 +#: plinth/modules/mediawiki/views.py:86 msgid "Default skin changed" msgstr "" -#: plinth/modules/minetest/__init__.py:37 +#: plinth/modules/minetest/__init__.py:38 #, python-brace-format msgid "" "Minetest is a multiplayer infinite-world block sandbox. This module enables " @@ -2448,48 +2434,48 @@ msgid "" "downloads/\">Minetest client is needed." msgstr "" -#: plinth/modules/minetest/__init__.py:63 +#: plinth/modules/minetest/__init__.py:62 #: plinth/modules/minetest/manifest.py:10 msgid "Minetest" msgstr "" -#: plinth/modules/minetest/__init__.py:64 +#: plinth/modules/minetest/__init__.py:63 msgid "Block Sandbox" msgstr "" -#: plinth/modules/minetest/forms.py:15 +#: plinth/modules/minetest/forms.py:13 msgid "Maximum number of players" msgstr "" -#: plinth/modules/minetest/forms.py:17 +#: plinth/modules/minetest/forms.py:15 msgid "" "You can change the maximum number of players playing minetest at a single " "instance of time." msgstr "" -#: plinth/modules/minetest/forms.py:21 +#: plinth/modules/minetest/forms.py:19 msgid "Enable creative mode" msgstr "" -#: plinth/modules/minetest/forms.py:22 +#: plinth/modules/minetest/forms.py:20 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:27 +#: plinth/modules/minetest/forms.py:25 msgid "Enable PVP" msgstr "" -#: plinth/modules/minetest/forms.py:28 +#: plinth/modules/minetest/forms.py:26 msgid "Enabling Player Vs Player will allow players to damage other players." msgstr "" -#: plinth/modules/minetest/forms.py:32 +#: plinth/modules/minetest/forms.py:30 msgid "Enable damage" msgstr "" -#: plinth/modules/minetest/forms.py:33 +#: plinth/modules/minetest/forms.py:31 msgid "When disabled, players cannot die or receive damage of any kind." msgstr "" @@ -2530,19 +2516,19 @@ msgid "" "Kodi." msgstr "" -#: plinth/modules/minidlna/__init__.py:33 +#: plinth/modules/minidlna/__init__.py:44 msgid "Media streaming server" msgstr "" -#: plinth/modules/minidlna/__init__.py:47 +#: plinth/modules/minidlna/__init__.py:48 msgid "Simple Media Server" msgstr "" -#: plinth/modules/minidlna/forms.py:15 +#: plinth/modules/minidlna/forms.py:13 msgid "Media Files Directory" msgstr "" -#: plinth/modules/minidlna/forms.py:16 +#: plinth/modules/minidlna/forms.py:14 msgid "" "Directory that MiniDLNA Server will read for content. All sub-directories of " "this will be also scanned for media files. If you change the default ensure " @@ -2594,16 +2580,16 @@ msgid "" "On {box_name}, downloaded files can be found in /var/lib/mldonkey/ directory." msgstr "" -#: plinth/modules/mldonkey/__init__.py:40 +#: plinth/modules/mldonkey/__init__.py:50 msgid "Download files using eDonkey applications" msgstr "" -#: plinth/modules/mldonkey/__init__.py:54 +#: plinth/modules/mldonkey/__init__.py:53 #: plinth/modules/mldonkey/manifest.py:12 msgid "MLDonkey" msgstr "" -#: plinth/modules/mldonkey/__init__.py:56 +#: plinth/modules/mldonkey/__init__.py:55 msgid "Peer-to-peer File Sharing" msgstr "" @@ -2615,7 +2601,7 @@ msgstr "" msgid "AMLDonkey" msgstr "" -#: plinth/modules/monkeysphere/__init__.py:18 +#: plinth/modules/monkeysphere/__init__.py:19 msgid "" "With Monkeysphere, an OpenPGP key can be generated for each configured " "domain serving SSH. The OpenPGP public key can then be uploaded to the " @@ -2627,7 +2613,7 @@ msgid "" "for more details." msgstr "" -#: plinth/modules/monkeysphere/__init__.py:26 +#: plinth/modules/monkeysphere/__init__.py:27 msgid "" "Monkeysphere can also generate an OpenPGP key for each Secure Web Server " "(HTTPS) certificate installed on this machine. The OpenPGP public key can " @@ -2638,7 +2624,7 @@ msgid "" "Monkeysphere website." msgstr "" -#: plinth/modules/monkeysphere/__init__.py:50 +#: plinth/modules/monkeysphere/__init__.py:49 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:11 msgid "Monkeysphere" msgstr "" @@ -2687,15 +2673,15 @@ msgstr "" msgid "-" msgstr "" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:128 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:129 msgid "Import Key" msgstr "" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:137 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:139 msgid "Publish Key" msgstr "" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:146 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:149 msgid "Add Domains" msgstr "" @@ -2765,32 +2751,32 @@ msgstr "" msgid "Error occurred while publishing key." msgstr "" -#: plinth/modules/mumble/__init__.py:23 +#: plinth/modules/mumble/__init__.py:24 msgid "" "Mumble is an open source, low-latency, encrypted, high quality voice chat " "software." msgstr "" -#: plinth/modules/mumble/__init__.py:25 +#: plinth/modules/mumble/__init__.py:26 msgid "" "You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your " "desktop and Android devices are available." msgstr "" -#: plinth/modules/mumble/__init__.py:49 plinth/modules/mumble/manifest.py:12 +#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:12 msgid "Mumble" msgstr "" -#: plinth/modules/mumble/__init__.py:50 +#: plinth/modules/mumble/__init__.py:49 msgid "Voice Chat" msgstr "" -#: plinth/modules/mumble/forms.py:16 +#: plinth/modules/mumble/forms.py:14 msgid "Set SuperUser Password" msgstr "" -#: plinth/modules/mumble/forms.py:19 +#: plinth/modules/mumble/forms.py:17 msgid "" "Optional. Leave this field blank to keep the current password. SuperUser " "password can be used to manage permissions in Mumble." @@ -3073,7 +3059,7 @@ msgstr "" #: plinth/modules/networks/forms.py:297 #, python-brace-format -msgid "Choose how your {box_name} is connected to your network" +msgid "Specify how your {box_name} is connected to your network" msgstr "" #: plinth/modules/networks/forms.py:304 @@ -3292,7 +3278,7 @@ msgstr "" #: plinth/modules/networks/templates/connection_show.html:171 #: plinth/modules/networks/templates/connection_show.html:212 -#: plinth/modules/shadowsocks/forms.py:49 +#: plinth/modules/shadowsocks/forms.py:48 msgid "Method" msgstr "" @@ -3308,7 +3294,7 @@ msgstr "" #: plinth/modules/networks/templates/connection_show.html:201 #: plinth/modules/networks/templates/connection_show.html:240 -#: plinth/modules/storage/forms.py:141 +#: plinth/modules/storage/forms.py:139 msgid "Default" msgstr "" @@ -3747,6 +3733,11 @@ msgstr "" msgid "Setup failed." msgstr "" +#: plinth/modules/openvpn/views.py:135 plinth/modules/tor/views.py:136 +#: plinth/views.py:196 +msgid "Setting unchanged" +msgstr "" + #: plinth/modules/pagekite/__init__.py:27 #, python-brace-format msgid "" @@ -3803,75 +3794,75 @@ msgstr "" msgid "PageKite Domain" msgstr "" -#: plinth/modules/pagekite/forms.py:48 +#: plinth/modules/pagekite/forms.py:47 msgid "Server domain" msgstr "" -#: plinth/modules/pagekite/forms.py:50 +#: plinth/modules/pagekite/forms.py:49 msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " "pagekite.net server." msgstr "" -#: plinth/modules/pagekite/forms.py:53 plinth/modules/shadowsocks/forms.py:40 +#: plinth/modules/pagekite/forms.py:52 plinth/modules/shadowsocks/forms.py:39 msgid "Server port" msgstr "" -#: plinth/modules/pagekite/forms.py:54 +#: plinth/modules/pagekite/forms.py:53 msgid "Port of your pagekite server (default: 80)" msgstr "" -#: plinth/modules/pagekite/forms.py:56 +#: plinth/modules/pagekite/forms.py:55 msgid "Kite name" msgstr "" -#: plinth/modules/pagekite/forms.py:57 +#: plinth/modules/pagekite/forms.py:56 msgid "Example: mybox.pagekite.me" msgstr "" -#: plinth/modules/pagekite/forms.py:59 +#: plinth/modules/pagekite/forms.py:58 msgid "Invalid kite name" msgstr "" -#: plinth/modules/pagekite/forms.py:63 +#: plinth/modules/pagekite/forms.py:62 msgid "Kite secret" msgstr "" -#: plinth/modules/pagekite/forms.py:64 +#: plinth/modules/pagekite/forms.py:63 msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." msgstr "" -#: plinth/modules/pagekite/forms.py:101 +#: plinth/modules/pagekite/forms.py:100 msgid "protocol" msgstr "" -#: plinth/modules/pagekite/forms.py:104 +#: plinth/modules/pagekite/forms.py:103 msgid "external (frontend) port" msgstr "" -#: plinth/modules/pagekite/forms.py:107 +#: plinth/modules/pagekite/forms.py:106 msgid "internal (freedombox) port" msgstr "" -#: plinth/modules/pagekite/forms.py:108 +#: plinth/modules/pagekite/forms.py:107 msgid "Enable Subdomains" msgstr "" -#: plinth/modules/pagekite/forms.py:142 +#: plinth/modules/pagekite/forms.py:141 msgid "Deleted custom service" msgstr "" -#: plinth/modules/pagekite/forms.py:175 +#: plinth/modules/pagekite/forms.py:174 msgid "This service is already available as a standard service." msgstr "" -#: plinth/modules/pagekite/forms.py:183 +#: plinth/modules/pagekite/forms.py:182 msgid "Added custom service" msgstr "" -#: plinth/modules/pagekite/forms.py:186 +#: plinth/modules/pagekite/forms.py:185 msgid "This service already exists" msgstr "" @@ -3989,14 +3980,14 @@ msgstr "" msgid "Shut Down Now" msgstr "" -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 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:33 +#: plinth/modules/privoxy/__init__.py:34 #, python-brace-format msgid "" "You can use Privoxy by modifying your browser proxy settings to your " @@ -4006,20 +3997,20 @@ msgid "" "\">http://p.p." msgstr "" -#: plinth/modules/privoxy/__init__.py:56 +#: plinth/modules/privoxy/__init__.py:55 msgid "Privoxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:57 +#: plinth/modules/privoxy/__init__.py:56 msgid "Web Proxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:119 #, python-brace-format msgid "Access {url} with proxy {proxy} on tcp{kind}" msgstr "" -#: plinth/modules/quassel/__init__.py:32 +#: plinth/modules/quassel/__init__.py:33 #, python-brace-format msgid "" "Quassel is an IRC application that is split into two parts, a \"core\" and a " @@ -4030,7 +4021,7 @@ msgid "" "connect and disconnect from it." msgstr "" -#: plinth/modules/quassel/__init__.py:39 +#: plinth/modules/quassel/__init__.py:40 msgid "" "You can connect to your Quassel core on the default Quassel port 4242. " "Clients to connect to Quassel from your mobile devices are available." msgstr "" -#: plinth/modules/quassel/__init__.py:62 plinth/modules/quassel/manifest.py:10 +#: plinth/modules/quassel/__init__.py:61 plinth/modules/quassel/manifest.py:10 msgid "Quassel" msgstr "" -#: plinth/modules/quassel/__init__.py:63 +#: plinth/modules/quassel/__init__.py:62 msgid "IRC Client" msgstr "" -#: plinth/modules/quassel/forms.py:23 +#: plinth/modules/quassel/forms.py:22 msgid "TLS domain" msgstr "" -#: plinth/modules/quassel/forms.py:25 +#: plinth/modules/quassel/forms.py:24 msgid "" "Select a domain to use TLS with. If the list is empty, please configure at " "least one domain with certificates." @@ -4060,7 +4051,7 @@ msgstr "" msgid "Quasseldroid" msgstr "" -#: plinth/modules/radicale/__init__.py:32 +#: plinth/modules/radicale/__init__.py:33 #, python-brace-format msgid "" "Radicale is a CalDAV and CardDAV server. It allows synchronization and " @@ -4069,34 +4060,34 @@ msgid "" "can be accessed by any user with a {box_name} login." msgstr "" -#: plinth/modules/radicale/__init__.py:37 +#: plinth/modules/radicale/__init__.py:38 msgid "" "Radicale provides a basic web interface, which only supports creating new " "calendars and addressbooks. It does not support adding events or contacts, " "which must be done using a separate client." msgstr "" -#: plinth/modules/radicale/__init__.py:62 +#: plinth/modules/radicale/__init__.py:61 #: plinth/modules/radicale/manifest.py:75 msgid "Radicale" msgstr "" -#: plinth/modules/radicale/__init__.py:63 +#: plinth/modules/radicale/__init__.py:62 msgid "Calendar and Addressbook" msgstr "" -#: plinth/modules/radicale/forms.py:15 +#: plinth/modules/radicale/forms.py:14 msgid "Only the owner of a calendar/addressbook can view or make changes." msgstr "" -#: plinth/modules/radicale/forms.py:19 +#: plinth/modules/radicale/forms.py:18 #, python-brace-format msgid "" "Any user with a {box_name} login can view any calendar/addressbook, but only " "the owner can make changes." msgstr "" -#: plinth/modules/radicale/forms.py:24 +#: plinth/modules/radicale/forms.py:23 #, python-brace-format msgid "" "Any user with a {box_name} login can view or make changes to any calendar/" @@ -4212,11 +4203,11 @@ msgid "" "private space." msgstr "" -#: plinth/modules/samba/__init__.py:47 +#: plinth/modules/samba/__init__.py:59 msgid "Access to the private shares" msgstr "" -#: plinth/modules/samba/__init__.py:61 +#: plinth/modules/samba/__init__.py:62 msgid "Samba" msgstr "" @@ -4280,11 +4271,11 @@ msgstr "" msgid "Action" msgstr "" -#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:149 +#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:147 msgid "Open Share" msgstr "" -#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:147 +#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:145 msgid "Group Share" msgstr "" @@ -4322,43 +4313,43 @@ msgid "" "stores no cookies by default." msgstr "" -#: plinth/modules/searx/__init__.py:31 +#: plinth/modules/searx/__init__.py:45 msgid "Search the web" msgstr "" -#: plinth/modules/searx/__init__.py:47 plinth/modules/searx/manifest.py:9 +#: plinth/modules/searx/__init__.py:48 plinth/modules/searx/manifest.py:9 msgid "Searx" msgstr "" -#: plinth/modules/searx/__init__.py:48 +#: plinth/modules/searx/__init__.py:49 msgid "Web Search" msgstr "" -#: plinth/modules/searx/forms.py:15 +#: plinth/modules/searx/forms.py:13 msgid "Safe Search" msgstr "" -#: plinth/modules/searx/forms.py:16 +#: plinth/modules/searx/forms.py:14 msgid "Select the default family filter to apply to your search results." msgstr "" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "None" msgstr "" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "Moderate" msgstr "" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "Strict" msgstr "" -#: plinth/modules/searx/forms.py:20 +#: plinth/modules/searx/forms.py:18 msgid "Allow Public Access" msgstr "" -#: plinth/modules/searx/forms.py:21 +#: plinth/modules/searx/forms.py:19 msgid "Allow this application to be used by anyone who can reach it." msgstr "" @@ -4521,28 +4512,28 @@ msgstr "" msgid "Socks5 Proxy" msgstr "" +#: plinth/modules/shadowsocks/forms.py:12 #: plinth/modules/shadowsocks/forms.py:13 -#: plinth/modules/shadowsocks/forms.py:14 msgid "Recommended" msgstr "" -#: plinth/modules/shadowsocks/forms.py:37 +#: plinth/modules/shadowsocks/forms.py:36 msgid "Server" msgstr "" -#: plinth/modules/shadowsocks/forms.py:38 +#: plinth/modules/shadowsocks/forms.py:37 msgid "Server hostname or IP address" msgstr "" -#: plinth/modules/shadowsocks/forms.py:42 +#: plinth/modules/shadowsocks/forms.py:41 msgid "Server port number" msgstr "" -#: plinth/modules/shadowsocks/forms.py:45 +#: plinth/modules/shadowsocks/forms.py:44 msgid "Password used to encrypt data. Must match server password." msgstr "" -#: plinth/modules/shadowsocks/forms.py:50 +#: plinth/modules/shadowsocks/forms.py:49 msgid "Encryption method. Must match setting on server." msgstr "" @@ -4583,11 +4574,11 @@ msgstr "" msgid "Make files in this folder available to anyone with the link." msgstr "" -#: plinth/modules/sharing/forms.py:33 +#: plinth/modules/sharing/forms.py:34 msgid "User groups that can read the files in the share" msgstr "" -#: plinth/modules/sharing/forms.py:35 +#: plinth/modules/sharing/forms.py:36 msgid "" "Users of the selected user groups will be able to read the files in the " "share." @@ -4858,11 +4849,11 @@ msgstr "" msgid "Secure Shell (SSH) Server" msgstr "" -#: plinth/modules/ssh/forms.py:15 +#: plinth/modules/ssh/forms.py:13 msgid "Disable password authentication" msgstr "" -#: plinth/modules/ssh/forms.py:16 +#: plinth/modules/ssh/forms.py:14 msgid "" "Improves security by preventing password guessing. Ensure that you have " "setup SSH keys in your administrator user account before enabling this " @@ -4911,129 +4902,129 @@ msgid "" "media, expand the root partition etc." msgstr "" -#: plinth/modules/storage/__init__.py:52 plinth/modules/storage/__init__.py:318 +#: plinth/modules/storage/__init__.py:54 plinth/modules/storage/__init__.py:320 msgid "Storage" 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 "" -#: plinth/modules/storage/__init__.py:313 +#: plinth/modules/storage/__init__.py:315 #, no-python-format, python-brace-format msgid "Low space on system partition: {percent_used}% used, {free_space} free." msgstr "" -#: plinth/modules/storage/__init__.py:315 +#: plinth/modules/storage/__init__.py:317 msgid "Low disk space" msgstr "" -#: plinth/modules/storage/forms.py:64 +#: plinth/modules/storage/forms.py:63 msgid "Invalid directory name." msgstr "" -#: plinth/modules/storage/forms.py:82 +#: plinth/modules/storage/forms.py:80 msgid "Directory does not exist." msgstr "" -#: plinth/modules/storage/forms.py:84 +#: plinth/modules/storage/forms.py:83 msgid "Path is not a directory." msgstr "" -#: plinth/modules/storage/forms.py:87 +#: plinth/modules/storage/forms.py:86 msgid "Directory is not readable by the user." msgstr "" -#: plinth/modules/storage/forms.py:90 +#: plinth/modules/storage/forms.py:89 msgid "Directory is not writable by the user." msgstr "" -#: plinth/modules/storage/forms.py:95 +#: plinth/modules/storage/forms.py:94 msgid "Directory" msgstr "" -#: plinth/modules/storage/forms.py:98 +#: plinth/modules/storage/forms.py:96 msgid "Subdirectory (optional)" msgstr "" -#: plinth/modules/storage/forms.py:145 +#: plinth/modules/storage/forms.py:143 msgid "Share" msgstr "" -#: plinth/modules/storage/forms.py:153 +#: plinth/modules/storage/forms.py:151 msgid "Other directory (specify below)" msgstr "" @@ -5114,19 +5105,20 @@ msgid "" "synchronize more often. {box_name} runs a single instance of Syncthing that " "may be used by multiple users. Each user's set of devices may be " "synchronized with a distinct set of folders. The web interface on " -"{box_name} is only available for users belonging to the \"admin\" group." +"{box_name} is only available for users belonging to the \"admin\" or " +"\"syncthing\" group." msgstr "" -#: plinth/modules/syncthing/__init__.py:40 +#: plinth/modules/syncthing/__init__.py:53 msgid "Administer Syncthing application" msgstr "" -#: plinth/modules/syncthing/__init__.py:54 +#: plinth/modules/syncthing/__init__.py:56 #: plinth/modules/syncthing/manifest.py:13 msgid "Syncthing" msgstr "" -#: plinth/modules/syncthing/__init__.py:55 +#: plinth/modules/syncthing/__init__.py:57 msgid "File Synchronization" msgstr "" @@ -5163,33 +5155,33 @@ msgid "" "%(domain_name)s:5678\">https://%(domain_name)s:5678." msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:39 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:29 msgid "Local introducer" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:59 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:76 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:33 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:49 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:66 msgid "Pet Name" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:56 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:46 msgid "Add new introducer" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:67 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:57 msgid "Add" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:72 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:62 msgid "Connected introducers" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:89 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:79 msgid "Remove" msgstr "" -#: plinth/modules/tor/__init__.py:33 +#: plinth/modules/tor/__init__.py:34 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -5198,40 +5190,40 @@ msgid "" "\">Tor Browser." msgstr "" -#: plinth/modules/tor/__init__.py:55 +#: plinth/modules/tor/__init__.py:54 msgid "Tor" msgstr "" -#: plinth/modules/tor/__init__.py:66 +#: plinth/modules/tor/__init__.py:65 msgid "Tor Onion Service" msgstr "" -#: plinth/modules/tor/__init__.py:70 +#: plinth/modules/tor/__init__.py:69 msgid "Tor Socks Proxy" msgstr "" -#: plinth/modules/tor/__init__.py:74 +#: plinth/modules/tor/__init__.py:73 msgid "Tor Bridge Relay" msgstr "" -#: plinth/modules/tor/__init__.py:95 +#: plinth/modules/tor/__init__.py:98 msgid "Tor relay port available" msgstr "" -#: plinth/modules/tor/__init__.py:105 +#: plinth/modules/tor/__init__.py:108 msgid "Obfs3 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:115 +#: plinth/modules/tor/__init__.py:118 msgid "Obfs4 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:208 +#: plinth/modules/tor/__init__.py:211 #, python-brace-format msgid "Access URL {url} on tcp{kind} via Tor" msgstr "" -#: plinth/modules/tor/__init__.py:219 +#: plinth/modules/tor/__init__.py:222 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "" @@ -5357,13 +5349,13 @@ msgstr "" msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050." msgstr "" -#: plinth/modules/transmission/__init__.py:27 +#: plinth/modules/transmission/__init__.py:28 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:48 +#: plinth/modules/transmission/__init__.py:51 #: plinth/modules/transmission/manifest.py:9 msgid "Transmission" msgstr "" @@ -5389,15 +5381,15 @@ msgid "" "connecting." msgstr "" -#: plinth/modules/ttrss/__init__.py:42 +#: plinth/modules/ttrss/__init__.py:54 msgid "Read and subscribe to news feeds" msgstr "" -#: plinth/modules/ttrss/__init__.py:56 plinth/modules/ttrss/manifest.py:19 +#: plinth/modules/ttrss/__init__.py:57 plinth/modules/ttrss/manifest.py:19 msgid "Tiny Tiny RSS" msgstr "" -#: plinth/modules/ttrss/__init__.py:57 +#: plinth/modules/ttrss/__init__.py:58 msgid "News Feed Reader" msgstr "" @@ -5409,11 +5401,11 @@ msgstr "" msgid "Check for and apply the latest software and security updates." msgstr "" -#: plinth/modules/upgrades/__init__.py:38 plinth/templates/setup.html:74 +#: plinth/modules/upgrades/__init__.py:40 plinth/templates/setup.html:74 msgid "Update" msgstr "" -#: plinth/modules/upgrades/__init__.py:76 +#: plinth/modules/upgrades/__init__.py:78 msgid "FreedomBox Updated" msgstr "" @@ -5463,43 +5455,39 @@ msgstr "" #: plinth/modules/upgrades/templates/upgrades_configure.html:11 #: plinth/modules/upgrades/templates/upgrades_configure.html:12 -#: plinth/modules/upgrades/views.py:88 +#: plinth/modules/upgrades/views.py:85 msgid "Manual update" msgstr "" -#: plinth/modules/upgrades/views.py:47 +#: plinth/modules/upgrades/views.py:46 #, python-brace-format msgid "Error when configuring unattended-upgrades: {error}" msgstr "" -#: plinth/modules/upgrades/views.py:51 +#: plinth/modules/upgrades/views.py:50 msgid "Automatic upgrades enabled" msgstr "" -#: plinth/modules/upgrades/views.py:54 +#: plinth/modules/upgrades/views.py:53 msgid "Automatic upgrades disabled" msgstr "" -#: plinth/modules/upgrades/views.py:56 -msgid "Settings unchanged" -msgstr "" - -#: plinth/modules/upgrades/views.py:82 +#: plinth/modules/upgrades/views.py:79 msgid "Upgrade process started." msgstr "" -#: plinth/modules/upgrades/views.py:85 +#: plinth/modules/upgrades/views.py:82 msgid "Starting upgrade failed." msgstr "" -#: plinth/modules/users/__init__.py:37 +#: plinth/modules/users/__init__.py:39 msgid "" "Create and managed user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " "account to be part of a group to authorize the user to access the app." msgstr "" -#: plinth/modules/users/__init__.py:42 +#: plinth/modules/users/__init__.py:44 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -5507,102 +5495,101 @@ msgid "" "group may alter apps or system settings." msgstr "" -#: plinth/modules/users/__init__.py:64 +#: plinth/modules/users/__init__.py:65 msgid "Users and Groups" msgstr "" -#: plinth/modules/users/__init__.py:115 +#: plinth/modules/users/__init__.py:78 +msgid "Access to all services and system settings" +msgstr "" + +#: plinth/modules/users/__init__.py:122 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "" -#: plinth/modules/users/forms.py:28 -msgid "Access to all services and system settings" -msgstr "" - -#: plinth/modules/users/forms.py:44 +#: plinth/modules/users/forms.py:36 msgid "Username is taken or is reserved." msgstr "" -#: plinth/modules/users/forms.py:72 +#: plinth/modules/users/forms.py:63 msgid "Enter a valid username." msgstr "" -#: plinth/modules/users/forms.py:78 +#: plinth/modules/users/forms.py:69 msgid "" "Required. 150 characters or fewer. English letters, digits and @/./-/_ only." msgstr "" -#: plinth/modules/users/forms.py:91 plinth/modules/users/forms.py:207 +#: plinth/modules/users/forms.py:83 plinth/modules/users/forms.py:196 msgid "Permissions" msgstr "" -#: plinth/modules/users/forms.py:94 +#: plinth/modules/users/forms.py:85 msgid "" -"Select which services should be available to the new user. The user will be " -"able to log in to services that support single sign-on through LDAP, if they " -"are in the appropriate group.

Users in the admin group will be " -"able to log in to all services. They can also log in to the system through " -"SSH and have administrative privileges (sudo)." +"user. The user will be able to log in to services that support single sign-" +"on through LDAP, if they are in the appropriate group.

Users in " +"the admin group will be able to log in to all services. They can also log in " +"to the system through SSH and have administrative privileges (sudo)." msgstr "" -#: plinth/modules/users/forms.py:133 plinth/modules/users/forms.py:357 +#: plinth/modules/users/forms.py:122 plinth/modules/users/forms.py:345 msgid "Creating LDAP user failed." msgstr "" -#: plinth/modules/users/forms.py:144 +#: plinth/modules/users/forms.py:133 #, python-brace-format msgid "Failed to add new user to {group} group." msgstr "" -#: plinth/modules/users/forms.py:158 +#: plinth/modules/users/forms.py:147 msgid "Authorized SSH Keys" msgstr "" -#: plinth/modules/users/forms.py:160 +#: plinth/modules/users/forms.py:149 msgid "" "Setting an SSH public key will allow this user to securely log in to the " "system without using a password. You may enter multiple keys, one on each " "line. Blank lines and lines starting with # will be ignored." msgstr "" -#: plinth/modules/users/forms.py:244 +#: plinth/modules/users/forms.py:233 msgid "Renaming LDAP user failed." msgstr "" -#: plinth/modules/users/forms.py:256 +#: plinth/modules/users/forms.py:245 msgid "Failed to remove user from group." msgstr "" -#: plinth/modules/users/forms.py:267 +#: plinth/modules/users/forms.py:256 msgid "Failed to add user to group." msgstr "" -#: plinth/modules/users/forms.py:276 +#: plinth/modules/users/forms.py:265 msgid "Unable to set SSH keys." msgstr "" -#: plinth/modules/users/forms.py:291 +#: plinth/modules/users/forms.py:280 msgid "Failed to change user status." msgstr "" -#: plinth/modules/users/forms.py:299 +#: plinth/modules/users/forms.py:288 msgid "Cannot delete the only administrator in the system." msgstr "" -#: plinth/modules/users/forms.py:331 +#: plinth/modules/users/forms.py:319 msgid "Changing LDAP user password failed." msgstr "" -#: plinth/modules/users/forms.py:366 +#: plinth/modules/users/forms.py:354 msgid "Failed to add new user to admin group." msgstr "" -#: plinth/modules/users/forms.py:383 +#: plinth/modules/users/forms.py:371 msgid "Failed to restrict console access." msgstr "" -#: plinth/modules/users/forms.py:395 +#: plinth/modules/users/forms.py:383 msgid "User account created, you are now logged in" msgstr "" @@ -6332,14 +6319,6 @@ msgstr "" msgid "%(percentage)s%% complete" msgstr "" -#: plinth/views.py:184 -msgid "Application enabled" -msgstr "" - -#: plinth/views.py:187 -msgid "Application disabled" -msgstr "" - #: plinth/web_framework.py:107 msgid "Gujarati" msgstr "" diff --git a/plinth/locale/lt/LC_MESSAGES/django.po b/plinth/locale/lt/LC_MESSAGES/django.po index a6a266990..227d6c15d 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: 2020-03-23 18:54-0400\n" +"POT-Creation-Date: 2020-04-06 19:59-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -52,29 +52,25 @@ msgstr "" msgid "Cannot connect to {host}:{port}" msgstr "" -#: plinth/forms.py:24 -msgid "Enable application" -msgstr "" - -#: plinth/forms.py:39 +#: plinth/forms.py:38 msgid "Select a domain name to be used with this application" msgstr "" -#: plinth/forms.py:41 +#: plinth/forms.py:40 msgid "" "Warning! The application may not work properly if domain name is changed " "later." msgstr "" -#: plinth/forms.py:49 +#: plinth/forms.py:48 msgid "Language" msgstr "" -#: plinth/forms.py:50 +#: plinth/forms.py:49 msgid "Language to use for presenting this web interface" msgstr "" -#: plinth/forms.py:57 +#: plinth/forms.py:56 msgid "Use the language preference set in the browser" msgstr "" @@ -596,20 +592,20 @@ msgstr "" msgid "Domain Name Server" msgstr "" -#: plinth/modules/bind/forms.py:22 +#: plinth/modules/bind/forms.py:20 msgid "Forwarders" msgstr "" -#: plinth/modules/bind/forms.py:23 +#: plinth/modules/bind/forms.py:21 msgid "" "A list DNS servers, separated by space, to which requests will be forwarded" msgstr "" -#: plinth/modules/bind/forms.py:27 +#: plinth/modules/bind/forms.py:25 msgid "Enable DNSSEC" msgstr "" -#: plinth/modules/bind/forms.py:28 +#: plinth/modules/bind/forms.py:26 msgid "Enable Domain Name System Security Extensions" msgstr "" @@ -641,10 +637,11 @@ msgstr "" msgid "Refresh IP address and domains" msgstr "" -#: plinth/modules/bind/views.py:72 plinth/modules/deluge/views.py:44 +#: plinth/modules/bind/views.py:72 plinth/modules/deluge/views.py:42 #: plinth/modules/dynamicdns/views.py:150 plinth/modules/openvpn/views.py:133 -#: plinth/modules/pagekite/forms.py:91 plinth/modules/shadowsocks/views.py:59 -#: plinth/modules/transmission/views.py:50 +#: plinth/modules/pagekite/forms.py:90 plinth/modules/quassel/views.py:30 +#: plinth/modules/shadowsocks/views.py:59 +#: plinth/modules/transmission/views.py:47 msgid "Configuration updated" msgstr "" @@ -692,11 +689,11 @@ msgid "" "name, webserver home page etc." msgstr "" -#: plinth/modules/config/__init__.py:50 +#: plinth/modules/config/__init__.py:52 msgid "General Configuration" msgstr "" -#: plinth/modules/config/__init__.py:55 plinth/modules/dynamicdns/views.py:29 +#: plinth/modules/config/__init__.py:57 plinth/modules/dynamicdns/views.py:29 #: plinth/modules/names/templates/names.html:29 #: plinth/modules/names/templates/names.html:43 #: plinth/modules/snapshot/views.py:26 @@ -704,7 +701,7 @@ msgstr "" msgid "Configure" msgstr "" -#: plinth/modules/config/__init__.py:59 plinth/modules/config/forms.py:61 +#: plinth/modules/config/__init__.py:61 plinth/modules/config/forms.py:61 #: plinth/modules/dynamicdns/forms.py:95 msgid "Domain Name" msgstr "" @@ -831,25 +828,25 @@ msgstr "" msgid "Coquelicot" msgstr "" -#: plinth/modules/coquelicot/__init__.py:47 plinth/modules/samba/__init__.py:62 +#: plinth/modules/coquelicot/__init__.py:47 plinth/modules/samba/__init__.py:63 msgid "File Sharing" msgstr "" -#: plinth/modules/coquelicot/forms.py:15 +#: plinth/modules/coquelicot/forms.py:13 msgid "Upload Password" msgstr "" -#: plinth/modules/coquelicot/forms.py:16 +#: plinth/modules/coquelicot/forms.py:14 msgid "" "Set a new upload password for Coquelicot. Leave this field blank to keep the " "current password." msgstr "" -#: plinth/modules/coquelicot/forms.py:20 +#: plinth/modules/coquelicot/forms.py:18 msgid "Maximum File Size (in MiB)" msgstr "" -#: plinth/modules/coquelicot/forms.py:21 +#: plinth/modules/coquelicot/forms.py:19 msgid "Set the maximum size of the files that can be uploaded to Coquelicot." msgstr "" @@ -887,17 +884,17 @@ msgstr "" msgid "Time synchronized to NTP server" msgstr "" -#: plinth/modules/datetime/forms.py:20 +#: plinth/modules/datetime/forms.py:18 msgid "Time Zone" msgstr "" -#: plinth/modules/datetime/forms.py:21 +#: plinth/modules/datetime/forms.py:19 msgid "" "Set your time zone to get accurate timestamps. This will set the system-wide " "time zone." msgstr "" -#: plinth/modules/datetime/forms.py:32 +#: plinth/modules/datetime/forms.py:30 msgid "-- no time zone set --" msgstr "" @@ -910,31 +907,31 @@ msgstr "" msgid "Time zone set" msgstr "" -#: plinth/modules/deluge/__init__.py:25 +#: plinth/modules/deluge/__init__.py:26 msgid "Deluge is a BitTorrent client that features a Web UI." msgstr "" -#: plinth/modules/deluge/__init__.py:26 +#: plinth/modules/deluge/__init__.py:27 msgid "" "The default password is 'deluge', but you should log in and change it " "immediately after enabling this service." msgstr "" -#: plinth/modules/deluge/__init__.py:30 -#: plinth/modules/transmission/__init__.py:34 +#: plinth/modules/deluge/__init__.py:46 +#: plinth/modules/transmission/__init__.py:48 msgid "Download files using BitTorrent applications" msgstr "" -#: plinth/modules/deluge/__init__.py:46 plinth/modules/deluge/manifest.py:9 +#: plinth/modules/deluge/__init__.py:50 plinth/modules/deluge/manifest.py:9 msgid "Deluge" msgstr "" -#: plinth/modules/deluge/__init__.py:47 -#: plinth/modules/transmission/__init__.py:50 +#: plinth/modules/deluge/__init__.py:51 +#: plinth/modules/transmission/__init__.py:53 msgid "BitTorrent Web Client" msgstr "" -#: plinth/modules/deluge/forms.py:20 plinth/modules/transmission/forms.py:20 +#: plinth/modules/deluge/forms.py:20 plinth/modules/transmission/forms.py:21 msgid "Download directory" msgstr "" @@ -1007,7 +1004,7 @@ msgstr "" msgid "Federated Social Network" msgstr "" -#: plinth/modules/diaspora/forms.py:15 +#: plinth/modules/diaspora/forms.py:13 msgid "Enable new user registrations" msgstr "" @@ -1033,32 +1030,23 @@ msgstr "" #: plinth/modules/diaspora/templates/diaspora-pre-setup.html:43 #: plinth/modules/dynamicdns/templates/dynamicdns_configure.html:25 -#: plinth/modules/ejabberd/templates/ejabberd.html:43 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:18 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:47 #: plinth/modules/snapshot/templates/snapshot.html:15 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:35 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:43 -#: plinth/templates/app.html:52 +#: plinth/templates/app.html:54 msgid "Update setup" msgstr "" -#: plinth/modules/diaspora/views.py:76 plinth/modules/ejabberd/views.py:46 -#: plinth/modules/matrixsynapse/views.py:85 -#: plinth/modules/mediawiki/views.py:58 plinth/modules/openvpn/views.py:135 -#: plinth/modules/tor/views.py:136 plinth/views.py:180 -msgid "Setting unchanged" -msgstr "" - -#: plinth/modules/diaspora/views.py:80 +#: plinth/modules/diaspora/views.py:74 msgid "User registrations enabled" msgstr "" -#: plinth/modules/diaspora/views.py:84 +#: plinth/modules/diaspora/views.py:78 msgid "User registrations disabled" msgstr "" -#: plinth/modules/dynamicdns/__init__.py:27 +#: plinth/modules/dynamicdns/__init__.py:28 #, python-brace-format msgid "" "If your Internet provider changes your IP address periodically (i.e. every " @@ -1066,7 +1054,7 @@ msgid "" "prevent others from finding services which are provided by this {box_name}." msgstr "" -#: plinth/modules/dynamicdns/__init__.py:31 +#: plinth/modules/dynamicdns/__init__.py:32 msgid "" "The solution is to assign a DNS name to your IP address and update the DNS " "name every time your IP is changed by your Internet provider. Dynamic DNS " @@ -1077,11 +1065,11 @@ msgid "" "IP address." msgstr "" -#: plinth/modules/dynamicdns/__init__.py:56 +#: plinth/modules/dynamicdns/__init__.py:55 msgid "Dynamic DNS Client" msgstr "" -#: plinth/modules/dynamicdns/__init__.py:66 +#: plinth/modules/dynamicdns/__init__.py:65 msgid "Dynamic Domain Name" msgstr "" @@ -1170,7 +1158,7 @@ msgid "Username" msgstr "" #: plinth/modules/dynamicdns/forms.py:104 plinth/modules/networks/forms.py:200 -#: plinth/modules/shadowsocks/forms.py:45 +#: plinth/modules/shadowsocks/forms.py:44 msgid "Password" msgstr "" @@ -1248,7 +1236,7 @@ msgstr "" msgid "Last update" msgstr "" -#: plinth/modules/dynamicdns/views.py:26 plinth/modules/help/__init__.py:49 +#: plinth/modules/dynamicdns/views.py:26 plinth/modules/help/__init__.py:51 #: plinth/templates/help-menu.html:46 plinth/templates/help-menu.html:47 msgid "About" msgstr "" @@ -1275,13 +1263,13 @@ msgstr "" msgid "Dynamic DNS Status" msgstr "" -#: plinth/modules/ejabberd/__init__.py:36 +#: plinth/modules/ejabberd/__init__.py:37 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:39 +#: plinth/modules/ejabberd/__init__.py:40 #, python-brace-format msgid "" "To actually communicate, you can use the web client user with a {box_name} login." msgstr "" -#: plinth/modules/ejabberd/__init__.py:70 +#: plinth/modules/ejabberd/__init__.py:69 msgid "ejabberd" msgstr "" -#: plinth/modules/ejabberd/__init__.py:71 +#: plinth/modules/ejabberd/__init__.py:70 #: plinth/modules/matrixsynapse/__init__.py:68 msgid "Chat Server" msgstr "" -#: plinth/modules/ejabberd/forms.py:17 +#: plinth/modules/ejabberd/forms.py:16 msgid "Enable Message Archive Management" msgstr "" -#: plinth/modules/ejabberd/forms.py:19 +#: plinth/modules/ejabberd/forms.py:18 #, python-brace-format msgid "" "If enabled, your {box_name} will store chat message histories. This allows " @@ -1358,19 +1346,11 @@ msgid "" "Configure page." msgstr "" -#: plinth/modules/ejabberd/templates/ejabberd.html:35 -#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 -#: plinth/modules/snapshot/templates/snapshot.html:12 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:27 -#: plinth/templates/app.html:45 -msgid "Configuration" -msgstr "" - -#: plinth/modules/ejabberd/views.py:58 +#: plinth/modules/ejabberd/views.py:45 msgid "Message Archive Management enabled" msgstr "" -#: plinth/modules/ejabberd/views.py:62 +#: plinth/modules/ejabberd/views.py:49 msgid "Message Archive Management disabled" msgstr "" @@ -1382,7 +1362,7 @@ msgid "" "configured reduces risk of security threat from the Internet." msgstr "" -#: plinth/modules/firewall/__init__.py:63 +#: plinth/modules/firewall/__init__.py:65 msgid "Firewall" msgstr "" @@ -1509,7 +1489,7 @@ msgid "" "gittutorial\">Git tutorial." msgstr "" -#: plinth/modules/gitweb/__init__.py:39 +#: plinth/modules/gitweb/__init__.py:51 msgid "Read-write access to Git repositories" msgstr "" @@ -1642,31 +1622,31 @@ msgstr "" msgid "Could not delete {name}: {error}" msgstr "" -#: plinth/modules/help/__init__.py:30 +#: plinth/modules/help/__init__.py:32 msgid "Documentation" msgstr "" -#: plinth/modules/help/__init__.py:33 plinth/modules/networks/forms.py:47 +#: plinth/modules/help/__init__.py:35 plinth/modules/networks/forms.py:47 #: plinth/modules/networks/forms.py:77 plinth/templates/help-menu.html:20 #: plinth/templates/help-menu.html:21 plinth/templates/index.html:128 msgid "Manual" msgstr "" -#: plinth/modules/help/__init__.py:37 +#: plinth/modules/help/__init__.py:39 #: plinth/modules/help/templates/help_support.html:9 #: plinth/modules/help/views.py:43 plinth/templates/help-menu.html:27 #: plinth/templates/help-menu.html:28 msgid "Get Support" msgstr "" -#: plinth/modules/help/__init__.py:41 +#: plinth/modules/help/__init__.py:43 #: plinth/modules/help/templates/help_feedback.html:9 #: plinth/modules/help/views.py:37 plinth/templates/help-menu.html:33 #: plinth/templates/help-menu.html:34 msgid "Submit Feedback" msgstr "" -#: plinth/modules/help/__init__.py:45 +#: plinth/modules/help/__init__.py:47 #: plinth/modules/help/templates/help_contribute.html:9 #: plinth/modules/help/views.py:31 plinth/templates/help-menu.html:39 #: plinth/templates/help-menu.html:40 @@ -1775,7 +1755,7 @@ msgstr "" #: plinth/modules/help/templates/help_contribute.html:42 #: plinth/modules/power/templates/power_restart.html:27 #: plinth/modules/power/templates/power_shutdown.html:26 -#: plinth/templates/app-header.html:51 +#: plinth/templates/app-header.html:53 msgid "Learn more..." msgstr "" @@ -1919,19 +1899,19 @@ msgid "" "configuration process." msgstr "" -#: plinth/modules/i2p/__init__.py:38 +#: plinth/modules/i2p/__init__.py:62 msgid "Manage I2P application" msgstr "" -#: plinth/modules/i2p/__init__.py:64 plinth/modules/i2p/manifest.py:16 +#: plinth/modules/i2p/__init__.py:65 plinth/modules/i2p/manifest.py:16 msgid "I2P" msgstr "" -#: plinth/modules/i2p/__init__.py:65 plinth/modules/tor/__init__.py:56 +#: plinth/modules/i2p/__init__.py:66 plinth/modules/tor/__init__.py:55 msgid "Anonymity Network" msgstr "" -#: plinth/modules/i2p/__init__.py:87 +#: plinth/modules/i2p/__init__.py:88 msgid "I2P Proxy" msgstr "" @@ -1984,18 +1964,18 @@ msgid "" "Configuration you can change these permissions or add new users." msgstr "" -#: plinth/modules/ikiwiki/__init__.py:39 -msgid "View and edit wiki applications" -msgstr "" - -#: plinth/modules/ikiwiki/__init__.py:53 plinth/modules/ikiwiki/manifest.py:9 +#: plinth/modules/ikiwiki/__init__.py:52 plinth/modules/ikiwiki/manifest.py:9 msgid "ikiwiki" msgstr "" -#: plinth/modules/ikiwiki/__init__.py:54 +#: plinth/modules/ikiwiki/__init__.py:53 msgid "Wiki and Blog" msgstr "" +#: plinth/modules/ikiwiki/__init__.py:73 +msgid "View and edit wiki applications" +msgstr "" + #: plinth/modules/ikiwiki/forms.py:17 msgid "Admin Account Name" msgstr "" @@ -2039,32 +2019,32 @@ msgid "" "history. Delete this wiki or blog permanently?" msgstr "" -#: plinth/modules/ikiwiki/views.py:72 +#: plinth/modules/ikiwiki/views.py:70 #, python-brace-format msgid "Created wiki {name}." msgstr "" -#: plinth/modules/ikiwiki/views.py:75 +#: plinth/modules/ikiwiki/views.py:73 #, python-brace-format msgid "Could not create wiki: {error}" msgstr "" -#: plinth/modules/ikiwiki/views.py:85 +#: plinth/modules/ikiwiki/views.py:83 #, python-brace-format msgid "Created blog {name}." msgstr "" -#: plinth/modules/ikiwiki/views.py:88 +#: plinth/modules/ikiwiki/views.py:86 #, python-brace-format msgid "Could not create blog: {error}" msgstr "" -#: plinth/modules/ikiwiki/views.py:103 +#: plinth/modules/ikiwiki/views.py:101 #, python-brace-format msgid "{title} deleted." msgstr "" -#: plinth/modules/ikiwiki/views.py:107 +#: plinth/modules/ikiwiki/views.py:105 #, python-brace-format msgid "Could not delete {title}: {error}" msgstr "" @@ -2104,17 +2084,17 @@ msgid "" "domain name." msgstr "" -#: plinth/modules/jsxc/__init__.py:22 +#: plinth/modules/jsxc/__init__.py:23 msgid "" "JSXC is a web client for XMPP. Typically it is used with an XMPP server " "running locally." msgstr "" -#: plinth/modules/jsxc/__init__.py:40 plinth/modules/jsxc/manifest.py:10 +#: plinth/modules/jsxc/__init__.py:43 plinth/modules/jsxc/manifest.py:10 msgid "JSXC" msgstr "" -#: plinth/modules/jsxc/__init__.py:41 +#: plinth/modules/jsxc/__init__.py:44 msgid "Chat Client" msgstr "" @@ -2277,11 +2257,11 @@ msgstr "" msgid "Matrix Synapse" msgstr "" -#: plinth/modules/matrixsynapse/forms.py:14 +#: plinth/modules/matrixsynapse/forms.py:12 msgid "Enable Public Registration" msgstr "" -#: plinth/modules/matrixsynapse/forms.py:15 +#: plinth/modules/matrixsynapse/forms.py:13 msgid "" "Enabling public registration means that anyone on the Internet can register " "a new account on your Matrix server. Disable this if you only want existing " @@ -2292,6 +2272,12 @@ msgstr "" msgid "Riot" msgstr "" +#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 +#: plinth/modules/snapshot/templates/snapshot.html:12 +#: plinth/templates/app.html:46 +msgid "Configuration" +msgstr "" + #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:18 msgid "" "Matrix service needs to be configured for a domain. Users on other Matrix " @@ -2336,11 +2322,11 @@ msgid "" "go to Let's Encrypt to obtain one." msgstr "" -#: plinth/modules/matrixsynapse/views.py:98 +#: plinth/modules/matrixsynapse/views.py:86 msgid "Public registration enabled" msgstr "" -#: plinth/modules/matrixsynapse/views.py:103 +#: plinth/modules/matrixsynapse/views.py:91 msgid "Public registration disabled" msgstr "" @@ -2376,71 +2362,71 @@ msgstr "" msgid "Wiki" msgstr "" -#: plinth/modules/mediawiki/forms.py:27 +#: plinth/modules/mediawiki/forms.py:25 msgid "Administrator Password" msgstr "" -#: plinth/modules/mediawiki/forms.py:28 +#: plinth/modules/mediawiki/forms.py:26 msgid "" "Set a new password for MediaWiki's administrator account (admin). Leave this " "field blank to keep the current password." msgstr "" -#: plinth/modules/mediawiki/forms.py:33 +#: plinth/modules/mediawiki/forms.py:31 msgid "Enable public registrations" msgstr "" -#: plinth/modules/mediawiki/forms.py:34 +#: plinth/modules/mediawiki/forms.py:32 msgid "" "If enabled, anyone on the internet will be able to create an account on your " "MediaWiki instance." msgstr "" -#: plinth/modules/mediawiki/forms.py:38 +#: plinth/modules/mediawiki/forms.py:36 msgid "Enable private mode" msgstr "" -#: plinth/modules/mediawiki/forms.py:39 +#: plinth/modules/mediawiki/forms.py:37 msgid "" "If enabled, access will be restricted. Only people who have accounts can " "read/write to the wiki. Public registrations will also be disabled." msgstr "" -#: plinth/modules/mediawiki/forms.py:44 +#: plinth/modules/mediawiki/forms.py:42 msgid "Default Skin" msgstr "" -#: plinth/modules/mediawiki/forms.py:45 +#: plinth/modules/mediawiki/forms.py:43 msgid "" "Choose a default skin for your MediaWiki installation. Users have the option " "to select their preferred skin." msgstr "" -#: plinth/modules/mediawiki/views.py:53 +#: plinth/modules/mediawiki/views.py:48 msgid "Password updated" msgstr "" -#: plinth/modules/mediawiki/views.py:72 +#: plinth/modules/mediawiki/views.py:57 msgid "Public registrations enabled" msgstr "" -#: plinth/modules/mediawiki/views.py:81 +#: plinth/modules/mediawiki/views.py:66 msgid "Public registrations disabled" msgstr "" -#: plinth/modules/mediawiki/views.py:86 +#: plinth/modules/mediawiki/views.py:71 msgid "Private mode enabled" msgstr "" -#: plinth/modules/mediawiki/views.py:93 +#: plinth/modules/mediawiki/views.py:78 msgid "Private mode disabled" msgstr "" -#: plinth/modules/mediawiki/views.py:101 +#: plinth/modules/mediawiki/views.py:86 msgid "Default skin changed" msgstr "" -#: plinth/modules/minetest/__init__.py:37 +#: plinth/modules/minetest/__init__.py:38 #, python-brace-format msgid "" "Minetest is a multiplayer infinite-world block sandbox. This module enables " @@ -2449,48 +2435,48 @@ msgid "" "downloads/\">Minetest client is needed." msgstr "" -#: plinth/modules/minetest/__init__.py:63 +#: plinth/modules/minetest/__init__.py:62 #: plinth/modules/minetest/manifest.py:10 msgid "Minetest" msgstr "" -#: plinth/modules/minetest/__init__.py:64 +#: plinth/modules/minetest/__init__.py:63 msgid "Block Sandbox" msgstr "" -#: plinth/modules/minetest/forms.py:15 +#: plinth/modules/minetest/forms.py:13 msgid "Maximum number of players" msgstr "" -#: plinth/modules/minetest/forms.py:17 +#: plinth/modules/minetest/forms.py:15 msgid "" "You can change the maximum number of players playing minetest at a single " "instance of time." msgstr "" -#: plinth/modules/minetest/forms.py:21 +#: plinth/modules/minetest/forms.py:19 msgid "Enable creative mode" msgstr "" -#: plinth/modules/minetest/forms.py:22 +#: plinth/modules/minetest/forms.py:20 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:27 +#: plinth/modules/minetest/forms.py:25 msgid "Enable PVP" msgstr "" -#: plinth/modules/minetest/forms.py:28 +#: plinth/modules/minetest/forms.py:26 msgid "Enabling Player Vs Player will allow players to damage other players." msgstr "" -#: plinth/modules/minetest/forms.py:32 +#: plinth/modules/minetest/forms.py:30 msgid "Enable damage" msgstr "" -#: plinth/modules/minetest/forms.py:33 +#: plinth/modules/minetest/forms.py:31 msgid "When disabled, players cannot die or receive damage of any kind." msgstr "" @@ -2531,19 +2517,19 @@ msgid "" "Kodi." msgstr "" -#: plinth/modules/minidlna/__init__.py:33 +#: plinth/modules/minidlna/__init__.py:44 msgid "Media streaming server" msgstr "" -#: plinth/modules/minidlna/__init__.py:47 +#: plinth/modules/minidlna/__init__.py:48 msgid "Simple Media Server" msgstr "" -#: plinth/modules/minidlna/forms.py:15 +#: plinth/modules/minidlna/forms.py:13 msgid "Media Files Directory" msgstr "" -#: plinth/modules/minidlna/forms.py:16 +#: plinth/modules/minidlna/forms.py:14 msgid "" "Directory that MiniDLNA Server will read for content. All sub-directories of " "this will be also scanned for media files. If you change the default ensure " @@ -2595,16 +2581,16 @@ msgid "" "On {box_name}, downloaded files can be found in /var/lib/mldonkey/ directory." msgstr "" -#: plinth/modules/mldonkey/__init__.py:40 +#: plinth/modules/mldonkey/__init__.py:50 msgid "Download files using eDonkey applications" msgstr "" -#: plinth/modules/mldonkey/__init__.py:54 +#: plinth/modules/mldonkey/__init__.py:53 #: plinth/modules/mldonkey/manifest.py:12 msgid "MLDonkey" msgstr "" -#: plinth/modules/mldonkey/__init__.py:56 +#: plinth/modules/mldonkey/__init__.py:55 msgid "Peer-to-peer File Sharing" msgstr "" @@ -2616,7 +2602,7 @@ msgstr "" msgid "AMLDonkey" msgstr "" -#: plinth/modules/monkeysphere/__init__.py:18 +#: plinth/modules/monkeysphere/__init__.py:19 msgid "" "With Monkeysphere, an OpenPGP key can be generated for each configured " "domain serving SSH. The OpenPGP public key can then be uploaded to the " @@ -2628,7 +2614,7 @@ msgid "" "for more details." msgstr "" -#: plinth/modules/monkeysphere/__init__.py:26 +#: plinth/modules/monkeysphere/__init__.py:27 msgid "" "Monkeysphere can also generate an OpenPGP key for each Secure Web Server " "(HTTPS) certificate installed on this machine. The OpenPGP public key can " @@ -2639,7 +2625,7 @@ msgid "" "Monkeysphere website." msgstr "" -#: plinth/modules/monkeysphere/__init__.py:50 +#: plinth/modules/monkeysphere/__init__.py:49 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:11 msgid "Monkeysphere" msgstr "" @@ -2688,15 +2674,15 @@ msgstr "" msgid "-" msgstr "" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:128 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:129 msgid "Import Key" msgstr "" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:137 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:139 msgid "Publish Key" msgstr "" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:146 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:149 msgid "Add Domains" msgstr "" @@ -2766,32 +2752,32 @@ msgstr "" msgid "Error occurred while publishing key." msgstr "" -#: plinth/modules/mumble/__init__.py:23 +#: plinth/modules/mumble/__init__.py:24 msgid "" "Mumble is an open source, low-latency, encrypted, high quality voice chat " "software." msgstr "" -#: plinth/modules/mumble/__init__.py:25 +#: plinth/modules/mumble/__init__.py:26 msgid "" "You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your " "desktop and Android devices are available." msgstr "" -#: plinth/modules/mumble/__init__.py:49 plinth/modules/mumble/manifest.py:12 +#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:12 msgid "Mumble" msgstr "" -#: plinth/modules/mumble/__init__.py:50 +#: plinth/modules/mumble/__init__.py:49 msgid "Voice Chat" msgstr "" -#: plinth/modules/mumble/forms.py:16 +#: plinth/modules/mumble/forms.py:14 msgid "Set SuperUser Password" msgstr "" -#: plinth/modules/mumble/forms.py:19 +#: plinth/modules/mumble/forms.py:17 msgid "" "Optional. Leave this field blank to keep the current password. SuperUser " "password can be used to manage permissions in Mumble." @@ -3074,7 +3060,7 @@ msgstr "" #: plinth/modules/networks/forms.py:297 #, python-brace-format -msgid "Choose how your {box_name} is connected to your network" +msgid "Specify how your {box_name} is connected to your network" msgstr "" #: plinth/modules/networks/forms.py:304 @@ -3293,7 +3279,7 @@ msgstr "" #: plinth/modules/networks/templates/connection_show.html:171 #: plinth/modules/networks/templates/connection_show.html:212 -#: plinth/modules/shadowsocks/forms.py:49 +#: plinth/modules/shadowsocks/forms.py:48 msgid "Method" msgstr "" @@ -3309,7 +3295,7 @@ msgstr "" #: plinth/modules/networks/templates/connection_show.html:201 #: plinth/modules/networks/templates/connection_show.html:240 -#: plinth/modules/storage/forms.py:141 +#: plinth/modules/storage/forms.py:139 msgid "Default" msgstr "" @@ -3748,6 +3734,11 @@ msgstr "" msgid "Setup failed." msgstr "" +#: plinth/modules/openvpn/views.py:135 plinth/modules/tor/views.py:136 +#: plinth/views.py:196 +msgid "Setting unchanged" +msgstr "" + #: plinth/modules/pagekite/__init__.py:27 #, python-brace-format msgid "" @@ -3804,75 +3795,75 @@ msgstr "" msgid "PageKite Domain" msgstr "" -#: plinth/modules/pagekite/forms.py:48 +#: plinth/modules/pagekite/forms.py:47 msgid "Server domain" msgstr "" -#: plinth/modules/pagekite/forms.py:50 +#: plinth/modules/pagekite/forms.py:49 msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " "pagekite.net server." msgstr "" -#: plinth/modules/pagekite/forms.py:53 plinth/modules/shadowsocks/forms.py:40 +#: plinth/modules/pagekite/forms.py:52 plinth/modules/shadowsocks/forms.py:39 msgid "Server port" msgstr "" -#: plinth/modules/pagekite/forms.py:54 +#: plinth/modules/pagekite/forms.py:53 msgid "Port of your pagekite server (default: 80)" msgstr "" -#: plinth/modules/pagekite/forms.py:56 +#: plinth/modules/pagekite/forms.py:55 msgid "Kite name" msgstr "" -#: plinth/modules/pagekite/forms.py:57 +#: plinth/modules/pagekite/forms.py:56 msgid "Example: mybox.pagekite.me" msgstr "" -#: plinth/modules/pagekite/forms.py:59 +#: plinth/modules/pagekite/forms.py:58 msgid "Invalid kite name" msgstr "" -#: plinth/modules/pagekite/forms.py:63 +#: plinth/modules/pagekite/forms.py:62 msgid "Kite secret" msgstr "" -#: plinth/modules/pagekite/forms.py:64 +#: plinth/modules/pagekite/forms.py:63 msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." msgstr "" -#: plinth/modules/pagekite/forms.py:101 +#: plinth/modules/pagekite/forms.py:100 msgid "protocol" msgstr "" -#: plinth/modules/pagekite/forms.py:104 +#: plinth/modules/pagekite/forms.py:103 msgid "external (frontend) port" msgstr "" -#: plinth/modules/pagekite/forms.py:107 +#: plinth/modules/pagekite/forms.py:106 msgid "internal (freedombox) port" msgstr "" -#: plinth/modules/pagekite/forms.py:108 +#: plinth/modules/pagekite/forms.py:107 msgid "Enable Subdomains" msgstr "" -#: plinth/modules/pagekite/forms.py:142 +#: plinth/modules/pagekite/forms.py:141 msgid "Deleted custom service" msgstr "" -#: plinth/modules/pagekite/forms.py:175 +#: plinth/modules/pagekite/forms.py:174 msgid "This service is already available as a standard service." msgstr "" -#: plinth/modules/pagekite/forms.py:183 +#: plinth/modules/pagekite/forms.py:182 msgid "Added custom service" msgstr "" -#: plinth/modules/pagekite/forms.py:186 +#: plinth/modules/pagekite/forms.py:185 msgid "This service already exists" msgstr "" @@ -3990,14 +3981,14 @@ msgstr "" msgid "Shut Down Now" msgstr "" -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 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:33 +#: plinth/modules/privoxy/__init__.py:34 #, python-brace-format msgid "" "You can use Privoxy by modifying your browser proxy settings to your " @@ -4007,20 +3998,20 @@ msgid "" "\">http://p.p." msgstr "" -#: plinth/modules/privoxy/__init__.py:56 +#: plinth/modules/privoxy/__init__.py:55 msgid "Privoxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:57 +#: plinth/modules/privoxy/__init__.py:56 msgid "Web Proxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:119 #, python-brace-format msgid "Access {url} with proxy {proxy} on tcp{kind}" msgstr "" -#: plinth/modules/quassel/__init__.py:32 +#: plinth/modules/quassel/__init__.py:33 #, python-brace-format msgid "" "Quassel is an IRC application that is split into two parts, a \"core\" and a " @@ -4031,7 +4022,7 @@ msgid "" "connect and disconnect from it." msgstr "" -#: plinth/modules/quassel/__init__.py:39 +#: plinth/modules/quassel/__init__.py:40 msgid "" "You can connect to your Quassel core on the default Quassel port 4242. " "Clients to connect to Quassel from your mobile devices are available." msgstr "" -#: plinth/modules/quassel/__init__.py:62 plinth/modules/quassel/manifest.py:10 +#: plinth/modules/quassel/__init__.py:61 plinth/modules/quassel/manifest.py:10 msgid "Quassel" msgstr "" -#: plinth/modules/quassel/__init__.py:63 +#: plinth/modules/quassel/__init__.py:62 msgid "IRC Client" msgstr "" -#: plinth/modules/quassel/forms.py:23 +#: plinth/modules/quassel/forms.py:22 msgid "TLS domain" msgstr "" -#: plinth/modules/quassel/forms.py:25 +#: plinth/modules/quassel/forms.py:24 msgid "" "Select a domain to use TLS with. If the list is empty, please configure at " "least one domain with certificates." @@ -4061,7 +4052,7 @@ msgstr "" msgid "Quasseldroid" msgstr "" -#: plinth/modules/radicale/__init__.py:32 +#: plinth/modules/radicale/__init__.py:33 #, python-brace-format msgid "" "Radicale is a CalDAV and CardDAV server. It allows synchronization and " @@ -4070,34 +4061,34 @@ msgid "" "can be accessed by any user with a {box_name} login." msgstr "" -#: plinth/modules/radicale/__init__.py:37 +#: plinth/modules/radicale/__init__.py:38 msgid "" "Radicale provides a basic web interface, which only supports creating new " "calendars and addressbooks. It does not support adding events or contacts, " "which must be done using a separate client." msgstr "" -#: plinth/modules/radicale/__init__.py:62 +#: plinth/modules/radicale/__init__.py:61 #: plinth/modules/radicale/manifest.py:75 msgid "Radicale" msgstr "" -#: plinth/modules/radicale/__init__.py:63 +#: plinth/modules/radicale/__init__.py:62 msgid "Calendar and Addressbook" msgstr "" -#: plinth/modules/radicale/forms.py:15 +#: plinth/modules/radicale/forms.py:14 msgid "Only the owner of a calendar/addressbook can view or make changes." msgstr "" -#: plinth/modules/radicale/forms.py:19 +#: plinth/modules/radicale/forms.py:18 #, python-brace-format msgid "" "Any user with a {box_name} login can view any calendar/addressbook, but only " "the owner can make changes." msgstr "" -#: plinth/modules/radicale/forms.py:24 +#: plinth/modules/radicale/forms.py:23 #, python-brace-format msgid "" "Any user with a {box_name} login can view or make changes to any calendar/" @@ -4213,11 +4204,11 @@ msgid "" "private space." msgstr "" -#: plinth/modules/samba/__init__.py:47 +#: plinth/modules/samba/__init__.py:59 msgid "Access to the private shares" msgstr "" -#: plinth/modules/samba/__init__.py:61 +#: plinth/modules/samba/__init__.py:62 msgid "Samba" msgstr "" @@ -4281,11 +4272,11 @@ msgstr "" msgid "Action" msgstr "" -#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:149 +#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:147 msgid "Open Share" msgstr "" -#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:147 +#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:145 msgid "Group Share" msgstr "" @@ -4323,43 +4314,43 @@ msgid "" "stores no cookies by default." msgstr "" -#: plinth/modules/searx/__init__.py:31 +#: plinth/modules/searx/__init__.py:45 msgid "Search the web" msgstr "" -#: plinth/modules/searx/__init__.py:47 plinth/modules/searx/manifest.py:9 +#: plinth/modules/searx/__init__.py:48 plinth/modules/searx/manifest.py:9 msgid "Searx" msgstr "" -#: plinth/modules/searx/__init__.py:48 +#: plinth/modules/searx/__init__.py:49 msgid "Web Search" msgstr "" -#: plinth/modules/searx/forms.py:15 +#: plinth/modules/searx/forms.py:13 msgid "Safe Search" msgstr "" -#: plinth/modules/searx/forms.py:16 +#: plinth/modules/searx/forms.py:14 msgid "Select the default family filter to apply to your search results." msgstr "" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "None" msgstr "" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "Moderate" msgstr "" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "Strict" msgstr "" -#: plinth/modules/searx/forms.py:20 +#: plinth/modules/searx/forms.py:18 msgid "Allow Public Access" msgstr "" -#: plinth/modules/searx/forms.py:21 +#: plinth/modules/searx/forms.py:19 msgid "Allow this application to be used by anyone who can reach it." msgstr "" @@ -4522,28 +4513,28 @@ msgstr "" msgid "Socks5 Proxy" msgstr "" +#: plinth/modules/shadowsocks/forms.py:12 #: plinth/modules/shadowsocks/forms.py:13 -#: plinth/modules/shadowsocks/forms.py:14 msgid "Recommended" msgstr "" -#: plinth/modules/shadowsocks/forms.py:37 +#: plinth/modules/shadowsocks/forms.py:36 msgid "Server" msgstr "" -#: plinth/modules/shadowsocks/forms.py:38 +#: plinth/modules/shadowsocks/forms.py:37 msgid "Server hostname or IP address" msgstr "" -#: plinth/modules/shadowsocks/forms.py:42 +#: plinth/modules/shadowsocks/forms.py:41 msgid "Server port number" msgstr "" -#: plinth/modules/shadowsocks/forms.py:45 +#: plinth/modules/shadowsocks/forms.py:44 msgid "Password used to encrypt data. Must match server password." msgstr "" -#: plinth/modules/shadowsocks/forms.py:50 +#: plinth/modules/shadowsocks/forms.py:49 msgid "Encryption method. Must match setting on server." msgstr "" @@ -4584,11 +4575,11 @@ msgstr "" msgid "Make files in this folder available to anyone with the link." msgstr "" -#: plinth/modules/sharing/forms.py:33 +#: plinth/modules/sharing/forms.py:34 msgid "User groups that can read the files in the share" msgstr "" -#: plinth/modules/sharing/forms.py:35 +#: plinth/modules/sharing/forms.py:36 msgid "" "Users of the selected user groups will be able to read the files in the " "share." @@ -4859,11 +4850,11 @@ msgstr "" msgid "Secure Shell (SSH) Server" msgstr "" -#: plinth/modules/ssh/forms.py:15 +#: plinth/modules/ssh/forms.py:13 msgid "Disable password authentication" msgstr "" -#: plinth/modules/ssh/forms.py:16 +#: plinth/modules/ssh/forms.py:14 msgid "" "Improves security by preventing password guessing. Ensure that you have " "setup SSH keys in your administrator user account before enabling this " @@ -4912,129 +4903,129 @@ msgid "" "media, expand the root partition etc." msgstr "" -#: plinth/modules/storage/__init__.py:52 plinth/modules/storage/__init__.py:318 +#: plinth/modules/storage/__init__.py:54 plinth/modules/storage/__init__.py:320 msgid "Storage" 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 "" -#: plinth/modules/storage/__init__.py:313 +#: plinth/modules/storage/__init__.py:315 #, no-python-format, python-brace-format msgid "Low space on system partition: {percent_used}% used, {free_space} free." msgstr "" -#: plinth/modules/storage/__init__.py:315 +#: plinth/modules/storage/__init__.py:317 msgid "Low disk space" msgstr "" -#: plinth/modules/storage/forms.py:64 +#: plinth/modules/storage/forms.py:63 msgid "Invalid directory name." msgstr "" -#: plinth/modules/storage/forms.py:82 +#: plinth/modules/storage/forms.py:80 msgid "Directory does not exist." msgstr "" -#: plinth/modules/storage/forms.py:84 +#: plinth/modules/storage/forms.py:83 msgid "Path is not a directory." msgstr "" -#: plinth/modules/storage/forms.py:87 +#: plinth/modules/storage/forms.py:86 msgid "Directory is not readable by the user." msgstr "" -#: plinth/modules/storage/forms.py:90 +#: plinth/modules/storage/forms.py:89 msgid "Directory is not writable by the user." msgstr "" -#: plinth/modules/storage/forms.py:95 +#: plinth/modules/storage/forms.py:94 msgid "Directory" msgstr "" -#: plinth/modules/storage/forms.py:98 +#: plinth/modules/storage/forms.py:96 msgid "Subdirectory (optional)" msgstr "" -#: plinth/modules/storage/forms.py:145 +#: plinth/modules/storage/forms.py:143 msgid "Share" msgstr "" -#: plinth/modules/storage/forms.py:153 +#: plinth/modules/storage/forms.py:151 msgid "Other directory (specify below)" msgstr "" @@ -5115,19 +5106,20 @@ msgid "" "synchronize more often. {box_name} runs a single instance of Syncthing that " "may be used by multiple users. Each user's set of devices may be " "synchronized with a distinct set of folders. The web interface on " -"{box_name} is only available for users belonging to the \"admin\" group." +"{box_name} is only available for users belonging to the \"admin\" or " +"\"syncthing\" group." msgstr "" -#: plinth/modules/syncthing/__init__.py:40 +#: plinth/modules/syncthing/__init__.py:53 msgid "Administer Syncthing application" msgstr "" -#: plinth/modules/syncthing/__init__.py:54 +#: plinth/modules/syncthing/__init__.py:56 #: plinth/modules/syncthing/manifest.py:13 msgid "Syncthing" msgstr "" -#: plinth/modules/syncthing/__init__.py:55 +#: plinth/modules/syncthing/__init__.py:57 msgid "File Synchronization" msgstr "" @@ -5164,33 +5156,33 @@ msgid "" "%(domain_name)s:5678\">https://%(domain_name)s:5678." msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:39 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:29 msgid "Local introducer" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:59 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:76 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:33 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:49 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:66 msgid "Pet Name" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:56 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:46 msgid "Add new introducer" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:67 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:57 msgid "Add" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:72 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:62 msgid "Connected introducers" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:89 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:79 msgid "Remove" msgstr "" -#: plinth/modules/tor/__init__.py:33 +#: plinth/modules/tor/__init__.py:34 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -5199,40 +5191,40 @@ msgid "" "\">Tor Browser." msgstr "" -#: plinth/modules/tor/__init__.py:55 +#: plinth/modules/tor/__init__.py:54 msgid "Tor" msgstr "" -#: plinth/modules/tor/__init__.py:66 +#: plinth/modules/tor/__init__.py:65 msgid "Tor Onion Service" msgstr "" -#: plinth/modules/tor/__init__.py:70 +#: plinth/modules/tor/__init__.py:69 msgid "Tor Socks Proxy" msgstr "" -#: plinth/modules/tor/__init__.py:74 +#: plinth/modules/tor/__init__.py:73 msgid "Tor Bridge Relay" msgstr "" -#: plinth/modules/tor/__init__.py:95 +#: plinth/modules/tor/__init__.py:98 msgid "Tor relay port available" msgstr "" -#: plinth/modules/tor/__init__.py:105 +#: plinth/modules/tor/__init__.py:108 msgid "Obfs3 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:115 +#: plinth/modules/tor/__init__.py:118 msgid "Obfs4 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:208 +#: plinth/modules/tor/__init__.py:211 #, python-brace-format msgid "Access URL {url} on tcp{kind} via Tor" msgstr "" -#: plinth/modules/tor/__init__.py:219 +#: plinth/modules/tor/__init__.py:222 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "" @@ -5358,13 +5350,13 @@ msgstr "" msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050." msgstr "" -#: plinth/modules/transmission/__init__.py:27 +#: plinth/modules/transmission/__init__.py:28 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:48 +#: plinth/modules/transmission/__init__.py:51 #: plinth/modules/transmission/manifest.py:9 msgid "Transmission" msgstr "" @@ -5390,15 +5382,15 @@ msgid "" "connecting." msgstr "" -#: plinth/modules/ttrss/__init__.py:42 +#: plinth/modules/ttrss/__init__.py:54 msgid "Read and subscribe to news feeds" msgstr "" -#: plinth/modules/ttrss/__init__.py:56 plinth/modules/ttrss/manifest.py:19 +#: plinth/modules/ttrss/__init__.py:57 plinth/modules/ttrss/manifest.py:19 msgid "Tiny Tiny RSS" msgstr "" -#: plinth/modules/ttrss/__init__.py:57 +#: plinth/modules/ttrss/__init__.py:58 msgid "News Feed Reader" msgstr "" @@ -5410,11 +5402,11 @@ msgstr "" msgid "Check for and apply the latest software and security updates." msgstr "" -#: plinth/modules/upgrades/__init__.py:38 plinth/templates/setup.html:74 +#: plinth/modules/upgrades/__init__.py:40 plinth/templates/setup.html:74 msgid "Update" msgstr "" -#: plinth/modules/upgrades/__init__.py:76 +#: plinth/modules/upgrades/__init__.py:78 msgid "FreedomBox Updated" msgstr "" @@ -5464,43 +5456,39 @@ msgstr "" #: plinth/modules/upgrades/templates/upgrades_configure.html:11 #: plinth/modules/upgrades/templates/upgrades_configure.html:12 -#: plinth/modules/upgrades/views.py:88 +#: plinth/modules/upgrades/views.py:85 msgid "Manual update" msgstr "" -#: plinth/modules/upgrades/views.py:47 +#: plinth/modules/upgrades/views.py:46 #, python-brace-format msgid "Error when configuring unattended-upgrades: {error}" msgstr "" -#: plinth/modules/upgrades/views.py:51 +#: plinth/modules/upgrades/views.py:50 msgid "Automatic upgrades enabled" msgstr "" -#: plinth/modules/upgrades/views.py:54 +#: plinth/modules/upgrades/views.py:53 msgid "Automatic upgrades disabled" msgstr "" -#: plinth/modules/upgrades/views.py:56 -msgid "Settings unchanged" -msgstr "" - -#: plinth/modules/upgrades/views.py:82 +#: plinth/modules/upgrades/views.py:79 msgid "Upgrade process started." msgstr "" -#: plinth/modules/upgrades/views.py:85 +#: plinth/modules/upgrades/views.py:82 msgid "Starting upgrade failed." msgstr "" -#: plinth/modules/users/__init__.py:37 +#: plinth/modules/users/__init__.py:39 msgid "" "Create and managed user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " "account to be part of a group to authorize the user to access the app." msgstr "" -#: plinth/modules/users/__init__.py:42 +#: plinth/modules/users/__init__.py:44 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -5508,102 +5496,101 @@ msgid "" "group may alter apps or system settings." msgstr "" -#: plinth/modules/users/__init__.py:64 +#: plinth/modules/users/__init__.py:65 msgid "Users and Groups" msgstr "" -#: plinth/modules/users/__init__.py:115 +#: plinth/modules/users/__init__.py:78 +msgid "Access to all services and system settings" +msgstr "" + +#: plinth/modules/users/__init__.py:122 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "" -#: plinth/modules/users/forms.py:28 -msgid "Access to all services and system settings" -msgstr "" - -#: plinth/modules/users/forms.py:44 +#: plinth/modules/users/forms.py:36 msgid "Username is taken or is reserved." msgstr "" -#: plinth/modules/users/forms.py:72 +#: plinth/modules/users/forms.py:63 msgid "Enter a valid username." msgstr "" -#: plinth/modules/users/forms.py:78 +#: plinth/modules/users/forms.py:69 msgid "" "Required. 150 characters or fewer. English letters, digits and @/./-/_ only." msgstr "" -#: plinth/modules/users/forms.py:91 plinth/modules/users/forms.py:207 +#: plinth/modules/users/forms.py:83 plinth/modules/users/forms.py:196 msgid "Permissions" msgstr "" -#: plinth/modules/users/forms.py:94 +#: plinth/modules/users/forms.py:85 msgid "" -"Select which services should be available to the new user. The user will be " -"able to log in to services that support single sign-on through LDAP, if they " -"are in the appropriate group.

Users in the admin group will be " -"able to log in to all services. They can also log in to the system through " -"SSH and have administrative privileges (sudo)." +"user. The user will be able to log in to services that support single sign-" +"on through LDAP, if they are in the appropriate group.

Users in " +"the admin group will be able to log in to all services. They can also log in " +"to the system through SSH and have administrative privileges (sudo)." msgstr "" -#: plinth/modules/users/forms.py:133 plinth/modules/users/forms.py:357 +#: plinth/modules/users/forms.py:122 plinth/modules/users/forms.py:345 msgid "Creating LDAP user failed." msgstr "" -#: plinth/modules/users/forms.py:144 +#: plinth/modules/users/forms.py:133 #, python-brace-format msgid "Failed to add new user to {group} group." msgstr "" -#: plinth/modules/users/forms.py:158 +#: plinth/modules/users/forms.py:147 msgid "Authorized SSH Keys" msgstr "" -#: plinth/modules/users/forms.py:160 +#: plinth/modules/users/forms.py:149 msgid "" "Setting an SSH public key will allow this user to securely log in to the " "system without using a password. You may enter multiple keys, one on each " "line. Blank lines and lines starting with # will be ignored." msgstr "" -#: plinth/modules/users/forms.py:244 +#: plinth/modules/users/forms.py:233 msgid "Renaming LDAP user failed." msgstr "" -#: plinth/modules/users/forms.py:256 +#: plinth/modules/users/forms.py:245 msgid "Failed to remove user from group." msgstr "" -#: plinth/modules/users/forms.py:267 +#: plinth/modules/users/forms.py:256 msgid "Failed to add user to group." msgstr "" -#: plinth/modules/users/forms.py:276 +#: plinth/modules/users/forms.py:265 msgid "Unable to set SSH keys." msgstr "" -#: plinth/modules/users/forms.py:291 +#: plinth/modules/users/forms.py:280 msgid "Failed to change user status." msgstr "" -#: plinth/modules/users/forms.py:299 +#: plinth/modules/users/forms.py:288 msgid "Cannot delete the only administrator in the system." msgstr "" -#: plinth/modules/users/forms.py:331 +#: plinth/modules/users/forms.py:319 msgid "Changing LDAP user password failed." msgstr "" -#: plinth/modules/users/forms.py:366 +#: plinth/modules/users/forms.py:354 msgid "Failed to add new user to admin group." msgstr "" -#: plinth/modules/users/forms.py:383 +#: plinth/modules/users/forms.py:371 msgid "Failed to restrict console access." msgstr "" -#: plinth/modules/users/forms.py:395 +#: plinth/modules/users/forms.py:383 msgid "User account created, you are now logged in" msgstr "" @@ -6333,14 +6320,6 @@ msgstr "" msgid "%(percentage)s%% complete" msgstr "" -#: plinth/views.py:184 -msgid "Application enabled" -msgstr "" - -#: plinth/views.py:187 -msgid "Application disabled" -msgstr "" - #: plinth/web_framework.py:107 msgid "Gujarati" msgstr "" diff --git a/plinth/locale/nb/LC_MESSAGES/django.po b/plinth/locale/nb/LC_MESSAGES/django.po index 99717cc6b..497d3c745 100644 --- a/plinth/locale/nb/LC_MESSAGES/django.po +++ b/plinth/locale/nb/LC_MESSAGES/django.po @@ -15,8 +15,8 @@ msgid "" msgstr "" "Project-Id-Version: FreedomBox UI\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-23 18:54-0400\n" -"PO-Revision-Date: 2020-02-17 20:32+0000\n" +"POT-Creation-Date: 2020-04-06 19:59-0400\n" +"PO-Revision-Date: 2020-04-07 19:03+0000\n" "Last-Translator: Allan Nordhøy \n" "Language-Team: Norwegian Bokmål \n" @@ -25,7 +25,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 3.11\n" +"X-Generator: Weblate 4.0-dev\n" #: doc/dev/_templates/layout.html:11 msgid "Page source" @@ -39,7 +39,7 @@ msgstr "FreedomBox" #, fuzzy, python-brace-format #| msgid "Service %(service_name)s is running." msgid "Service {service_name} is running" -msgstr "Tjenesten %(service_name)s kjører." +msgstr "Tjenesten {service_name} kjører." #: plinth/daemon.py:96 #, python-brace-format @@ -61,30 +61,26 @@ msgstr "Koble til {host}:{port}" msgid "Cannot connect to {host}:{port}" msgstr "Klarer ikke koble til {host}:{port}" -#: plinth/forms.py:24 -msgid "Enable application" -msgstr "Aktiver program" - -#: plinth/forms.py:39 +#: plinth/forms.py:38 msgid "Select a domain name to be used with this application" msgstr "Velg et domenenavn som skal brukes med dette programmet" -#: plinth/forms.py:41 +#: plinth/forms.py:40 msgid "" "Warning! The application may not work properly if domain name is changed " "later." msgstr "" "ADVARSEL! Programmet kan slutte å virke rett hvis domenenavnet endres senere." -#: plinth/forms.py:49 +#: plinth/forms.py:48 msgid "Language" msgstr "Språk" -#: plinth/forms.py:50 +#: plinth/forms.py:49 msgid "Language to use for presenting this web interface" msgstr "Språk som skal brukes i dette nettgrensesnittet" -#: plinth/forms.py:57 +#: plinth/forms.py:56 msgid "Use the language preference set in the browser" msgstr "Bruk språkforvalg satt i nettleseren" @@ -409,32 +405,26 @@ msgid "Submit" msgstr "Send inn" #: plinth/modules/backups/templates/backups_repository.html:19 -#, fuzzy -#| msgid "Existing repository is not encrypted." msgid "This repository is encrypted" -msgstr "Eksisterende pakkebrønn er ikke kryptert." +msgstr "Dette depotet er kryptert" #: plinth/modules/backups/templates/backups_repository.html:34 -#, fuzzy -#| msgid "Remove Location" msgid "Unmount Location" -msgstr "Fjern plassering" +msgstr "Avmonter plassering" #: plinth/modules/backups/templates/backups_repository.html:45 -#, fuzzy -#| msgid "Mount Point" msgid "Mount Location" -msgstr "Monteringspunkt" +msgstr "Monter plassering" #: plinth/modules/backups/templates/backups_repository.html:56 msgid "Remove Backup Location. This will not delete the remote backup." msgstr "" +"Fjern sikkerhetskopieringsstedene. Dette vil ikke slette sikkerhetskopi på " +"fjerndepot." #: plinth/modules/backups/templates/backups_repository.html:77 -#, fuzzy -#| msgid "downloading" msgid "Download" -msgstr "laster ned" +msgstr "Last ned" #: plinth/modules/backups/templates/backups_repository.html:81 #: plinth/modules/backups/templates/backups_restore.html:28 @@ -679,22 +669,22 @@ msgstr "BIND" msgid "Domain Name Server" msgstr "Domenenavnetjener" -#: plinth/modules/bind/forms.py:22 +#: plinth/modules/bind/forms.py:20 msgid "Forwarders" msgstr "Videresendere" -#: plinth/modules/bind/forms.py:23 +#: plinth/modules/bind/forms.py:21 msgid "" "A list DNS servers, separated by space, to which requests will be forwarded" msgstr "" "En mellomromsinndelt liste over DNS-tjenere, som forespørsler vil bli " "videresendt til" -#: plinth/modules/bind/forms.py:27 +#: plinth/modules/bind/forms.py:25 msgid "Enable DNSSEC" msgstr "Aktiver DNSSEC" -#: plinth/modules/bind/forms.py:28 +#: plinth/modules/bind/forms.py:26 msgid "Enable Domain Name System Security Extensions" msgstr "Aktiver domenenavnsystemets sikkerhetsutvidelser" @@ -712,8 +702,6 @@ msgid "Type" msgstr "Type" #: plinth/modules/bind/templates/bind.html:17 -#, fuzzy -#| msgid "Domain Name" msgid "Domain Names" msgstr "Domenenavn" @@ -724,20 +712,19 @@ msgid "Serving" msgstr "Tjeneste" #: plinth/modules/bind/templates/bind.html:19 -#, fuzzy -#| msgid "IP address" msgid "IP addresses" -msgstr "IP-adresse" +msgstr "IP-adresser" #: plinth/modules/bind/templates/bind.html:35 #: plinth/modules/bind/templates/bind.html:37 msgid "Refresh IP address and domains" -msgstr "" +msgstr "Oppdater IP-adresse og domener" -#: plinth/modules/bind/views.py:72 plinth/modules/deluge/views.py:44 +#: plinth/modules/bind/views.py:72 plinth/modules/deluge/views.py:42 #: plinth/modules/dynamicdns/views.py:150 plinth/modules/openvpn/views.py:133 -#: plinth/modules/pagekite/forms.py:91 plinth/modules/shadowsocks/views.py:59 -#: plinth/modules/transmission/views.py:50 +#: plinth/modules/pagekite/forms.py:90 plinth/modules/quassel/views.py:30 +#: plinth/modules/shadowsocks/views.py:59 +#: plinth/modules/transmission/views.py:47 msgid "Configuration updated" msgstr "Oppsett oppdatert" @@ -802,11 +789,11 @@ msgstr "" "Her kan du sette noen generelle oppsettsvalg som vertsnavn, domenenavn, " "vevtjener-hjemmeside, etc." -#: plinth/modules/config/__init__.py:50 +#: plinth/modules/config/__init__.py:52 msgid "General Configuration" msgstr "Generelt oppsett" -#: plinth/modules/config/__init__.py:55 plinth/modules/dynamicdns/views.py:29 +#: plinth/modules/config/__init__.py:57 plinth/modules/dynamicdns/views.py:29 #: plinth/modules/names/templates/names.html:29 #: plinth/modules/names/templates/names.html:43 #: plinth/modules/snapshot/views.py:26 @@ -814,7 +801,7 @@ msgstr "Generelt oppsett" msgid "Configure" msgstr "Oppsett" -#: plinth/modules/config/__init__.py:59 plinth/modules/config/forms.py:61 +#: plinth/modules/config/__init__.py:61 plinth/modules/config/forms.py:61 #: plinth/modules/dynamicdns/forms.py:95 msgid "Domain Name" msgstr "Domenenavn" @@ -968,15 +955,15 @@ msgstr "" msgid "Coquelicot" msgstr "Coquelicot" -#: plinth/modules/coquelicot/__init__.py:47 plinth/modules/samba/__init__.py:62 +#: plinth/modules/coquelicot/__init__.py:47 plinth/modules/samba/__init__.py:63 msgid "File Sharing" msgstr "Fildeling" -#: plinth/modules/coquelicot/forms.py:15 +#: plinth/modules/coquelicot/forms.py:13 msgid "Upload Password" msgstr "Opplastingspassord" -#: plinth/modules/coquelicot/forms.py:16 +#: plinth/modules/coquelicot/forms.py:14 msgid "" "Set a new upload password for Coquelicot. Leave this field blank to keep the " "current password." @@ -984,11 +971,11 @@ msgstr "" "Sett et nytt opplastingspassord for Conquelicot. La dette feltet stå tomt " "for å beholde gjeldende passord." -#: plinth/modules/coquelicot/forms.py:20 +#: plinth/modules/coquelicot/forms.py:18 msgid "Maximum File Size (in MiB)" msgstr "Maksimal filstørrelse (MB)" -#: plinth/modules/coquelicot/forms.py:21 +#: plinth/modules/coquelicot/forms.py:19 msgid "Set the maximum size of the files that can be uploaded to Coquelicot." msgstr "" "Sett maksimal filstørrelse for filer som kan lastes opp til Coquelicot." @@ -1029,11 +1016,11 @@ msgstr "Dato og tid" msgid "Time synchronized to NTP server" msgstr "Tid synkronisert til NTP-tjener" -#: plinth/modules/datetime/forms.py:20 +#: plinth/modules/datetime/forms.py:18 msgid "Time Zone" msgstr "Tidssone" -#: plinth/modules/datetime/forms.py:21 +#: plinth/modules/datetime/forms.py:19 msgid "" "Set your time zone to get accurate timestamps. This will set the system-wide " "time zone." @@ -1041,7 +1028,7 @@ msgstr "" "Still inn tidssonen for å få korrekte klokkeslett. Dette vil sette hele " "systemets tidssone." -#: plinth/modules/datetime/forms.py:32 +#: plinth/modules/datetime/forms.py:30 msgid "-- no time zone set --" msgstr "– ingen tidssone satt –" @@ -1054,11 +1041,11 @@ msgstr "Feil ved setting av tidssone: {exception}" msgid "Time zone set" msgstr "Tidssone satt" -#: plinth/modules/deluge/__init__.py:25 +#: plinth/modules/deluge/__init__.py:26 msgid "Deluge is a BitTorrent client that features a Web UI." msgstr "Deluge er en BitTorrent-klient som har et Web-grensesnitt." -#: plinth/modules/deluge/__init__.py:26 +#: plinth/modules/deluge/__init__.py:27 #, fuzzy #| msgid "" #| "When enabled, the Deluge web client will be available from web clientbruker med innlogging på " "{box_name}." -#: plinth/modules/ejabberd/__init__.py:70 +#: plinth/modules/ejabberd/__init__.py:69 msgid "ejabberd" msgstr "ejabberd" -#: plinth/modules/ejabberd/__init__.py:71 +#: plinth/modules/ejabberd/__init__.py:70 #: plinth/modules/matrixsynapse/__init__.py:68 msgid "Chat Server" msgstr "Nettprat-tjener" -#: plinth/modules/ejabberd/forms.py:17 +#: plinth/modules/ejabberd/forms.py:16 msgid "Enable Message Archive Management" msgstr "Aktiver håndtering av meldingsarkiv" -#: plinth/modules/ejabberd/forms.py:19 +#: plinth/modules/ejabberd/forms.py:18 #, python-brace-format msgid "" "If enabled, your {box_name} will store chat message histories. This allows " @@ -1588,19 +1566,11 @@ msgstr "" "se slik ut: username@%(domainname)s. Du kan sette opp ditt domene på " "systemsiden Configure ." -#: plinth/modules/ejabberd/templates/ejabberd.html:35 -#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 -#: plinth/modules/snapshot/templates/snapshot.html:12 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:27 -#: plinth/templates/app.html:45 -msgid "Configuration" -msgstr "Oppsett" - -#: plinth/modules/ejabberd/views.py:58 +#: plinth/modules/ejabberd/views.py:45 msgid "Message Archive Management enabled" msgstr "Meldingsarkivhåndtering aktivert" -#: plinth/modules/ejabberd/views.py:62 +#: plinth/modules/ejabberd/views.py:49 msgid "Message Archive Management disabled" msgstr "Meldingsarkivhåndtering deaktivert" @@ -1615,7 +1585,7 @@ msgstr "" "utgående nettverkstrafikk på din {box_name}. Å holde en brannmur aktivert og " "riktig konfigurert, reduserer risikoen for sikkerhetstrusler fra Internett." -#: plinth/modules/firewall/__init__.py:63 +#: plinth/modules/firewall/__init__.py:65 msgid "Firewall" msgstr "Brannmur" @@ -1771,7 +1741,7 @@ msgstr "" "For å lære mer om bruk av Git, besøk Git-veiledningen." -#: plinth/modules/gitweb/__init__.py:39 +#: plinth/modules/gitweb/__init__.py:51 #, fuzzy msgid "Read-write access to Git repositories" msgstr "Lese- og skrivetilgang til Git-kodelagre" @@ -1786,16 +1756,12 @@ msgid "Simple Git Hosting" msgstr "Enkelt Git-vertsskap" #: plinth/modules/gitweb/forms.py:44 -#, fuzzy -#| msgid "Invalid hostname" msgid "Invalid repository URL." -msgstr "Ugyldig vertsnavn" +msgstr "Ugyldig depot-nettadresse." #: plinth/modules/gitweb/forms.py:54 -#, fuzzy -#| msgid "Invalid hostname" msgid "Invalid repository name." -msgstr "Ugyldig vertsnavn" +msgstr "Ugyldig depotnavn." #: plinth/modules/gitweb/forms.py:62 #, fuzzy @@ -1824,10 +1790,8 @@ msgid "Repository's owner name" msgstr "Depot fjernet." #: plinth/modules/gitweb/forms.py:76 -#, fuzzy -#| msgid "Create Repository" msgid "Private repository" -msgstr "Opprett depot" +msgstr "Privat depot" #: plinth/modules/gitweb/forms.py:77 #, fuzzy @@ -1841,10 +1805,8 @@ msgid "A repository with this name already exists." msgstr "En deling ved dette navnet finnes allerede." #: plinth/modules/gitweb/forms.py:111 -#, fuzzy -#| msgid "Name of the share" msgid "Name of the repository" -msgstr "Navn på delt område" +msgstr "Navn på depot" #: plinth/modules/gitweb/forms.py:115 #, fuzzy @@ -1903,10 +1865,8 @@ msgid "Delete Git Repository %(name)s" msgstr "Slette wiki eller blogg %(name)s" #: plinth/modules/gitweb/templates/gitweb_delete.html:18 -#, fuzzy -#| msgid "Delete this snapshot permanently?" msgid "Delete this repository permanently?" -msgstr "Slett dette øyeblikksbildet permanent?" +msgstr "Slett dette depotet for godt?" #: plinth/modules/gitweb/templates/gitweb_delete.html:27 #: plinth/modules/ikiwiki/templates/ikiwiki_delete.html:29 @@ -1927,16 +1887,12 @@ msgid "An error occurred while creating the repository." msgstr "En feil oppsto under konfigureringen." #: plinth/modules/gitweb/views.py:79 -#, fuzzy -#| msgid "Repository removed." msgid "Repository edited." -msgstr "Depot fjernet." +msgstr "Depot opprettet." #: plinth/modules/gitweb/views.py:84 -#, fuzzy -#| msgid "Create Repository" msgid "Edit repository" -msgstr "Opprett depot" +msgstr "Rediger depot" #: plinth/modules/gitweb/views.py:112 plinth/modules/searx/views.py:41 #: plinth/modules/searx/views.py:52 plinth/modules/tor/views.py:158 @@ -1953,31 +1909,31 @@ msgstr "Slettet {name}." msgid "Could not delete {name}: {error}" msgstr "Kunne ikke slette {name}: {error}" -#: plinth/modules/help/__init__.py:30 +#: plinth/modules/help/__init__.py:32 msgid "Documentation" msgstr "Dokumentasjon" -#: plinth/modules/help/__init__.py:33 plinth/modules/networks/forms.py:47 +#: plinth/modules/help/__init__.py:35 plinth/modules/networks/forms.py:47 #: plinth/modules/networks/forms.py:77 plinth/templates/help-menu.html:20 #: plinth/templates/help-menu.html:21 plinth/templates/index.html:128 msgid "Manual" msgstr "Manual" -#: plinth/modules/help/__init__.py:37 +#: plinth/modules/help/__init__.py:39 #: plinth/modules/help/templates/help_support.html:9 #: plinth/modules/help/views.py:43 plinth/templates/help-menu.html:27 #: plinth/templates/help-menu.html:28 msgid "Get Support" msgstr "Få støtte" -#: plinth/modules/help/__init__.py:41 +#: plinth/modules/help/__init__.py:43 #: plinth/modules/help/templates/help_feedback.html:9 #: plinth/modules/help/views.py:37 plinth/templates/help-menu.html:33 #: plinth/templates/help-menu.html:34 msgid "Submit Feedback" msgstr "Send inn tilbakemeldinger" -#: plinth/modules/help/__init__.py:45 +#: plinth/modules/help/__init__.py:47 #: plinth/modules/help/templates/help_contribute.html:9 #: plinth/modules/help/views.py:31 plinth/templates/help-menu.html:39 #: plinth/templates/help-menu.html:40 @@ -2121,7 +2077,7 @@ msgstr "" #: plinth/modules/help/templates/help_contribute.html:42 #: plinth/modules/power/templates/power_restart.html:27 #: plinth/modules/power/templates/power_shutdown.html:26 -#: plinth/templates/app-header.html:51 +#: plinth/templates/app-header.html:53 msgid "Learn more..." msgstr "Lær mer…" @@ -2308,23 +2264,21 @@ msgstr "" "Den første til å besøke det oppsatte nettgrensesnittet vil igangsette " "oppsettsprosessen." -#: plinth/modules/i2p/__init__.py:38 +#: plinth/modules/i2p/__init__.py:62 msgid "Manage I2P application" msgstr "Håndter I2P-program" -#: plinth/modules/i2p/__init__.py:64 plinth/modules/i2p/manifest.py:16 +#: plinth/modules/i2p/__init__.py:65 plinth/modules/i2p/manifest.py:16 msgid "I2P" msgstr "I2P" -#: plinth/modules/i2p/__init__.py:65 plinth/modules/tor/__init__.py:56 +#: plinth/modules/i2p/__init__.py:66 plinth/modules/tor/__init__.py:55 msgid "Anonymity Network" msgstr "Anonymitetsnettverk" -#: plinth/modules/i2p/__init__.py:87 -#, fuzzy -#| msgid "Web Proxy" +#: plinth/modules/i2p/__init__.py:88 msgid "I2P Proxy" -msgstr "Mellomtjener for nettet" +msgstr "I2P-mellomtjener" #: plinth/modules/i2p/templates/i2p.html:12 msgid "I2P Proxies and Tunnels" @@ -2400,18 +2354,18 @@ msgstr "" "\"{users_url}\">brukeroppsettet kan du endre disse tilgangene eller " "legge til nye brukere." -#: plinth/modules/ikiwiki/__init__.py:39 -msgid "View and edit wiki applications" -msgstr "Vis og rediger wiki-programmer" - -#: plinth/modules/ikiwiki/__init__.py:53 plinth/modules/ikiwiki/manifest.py:9 +#: plinth/modules/ikiwiki/__init__.py:52 plinth/modules/ikiwiki/manifest.py:9 msgid "ikiwiki" msgstr "ikiwiki" -#: plinth/modules/ikiwiki/__init__.py:54 +#: plinth/modules/ikiwiki/__init__.py:53 msgid "Wiki and Blog" msgstr "Wiki og Blogg" +#: plinth/modules/ikiwiki/__init__.py:73 +msgid "View and edit wiki applications" +msgstr "Vis og rediger wiki-programmer" + #: plinth/modules/ikiwiki/forms.py:17 msgid "Admin Account Name" msgstr "Administratorkonto navn" @@ -2457,33 +2411,32 @@ msgstr "" "Denne handlingen vil fjerne alle poster, sider og kommentarer inkludert " "revisjonshistorien. Skal denne wiki eller bloggen slettes permanent?" -#: plinth/modules/ikiwiki/views.py:72 +#: plinth/modules/ikiwiki/views.py:70 #, python-brace-format msgid "Created wiki {name}." msgstr "Opprettet wiki {name}." -#: plinth/modules/ikiwiki/views.py:75 +#: plinth/modules/ikiwiki/views.py:73 #, python-brace-format msgid "Could not create wiki: {error}" msgstr "Kunne ikke opprette wiki: {error}" -#: plinth/modules/ikiwiki/views.py:85 +#: plinth/modules/ikiwiki/views.py:83 #, python-brace-format msgid "Created blog {name}." msgstr "Opprettet blogg {name}." -#: plinth/modules/ikiwiki/views.py:88 +#: plinth/modules/ikiwiki/views.py:86 #, python-brace-format msgid "Could not create blog: {error}" msgstr "Kunne ikke lage blogg: {error}" -#: plinth/modules/ikiwiki/views.py:103 -#, fuzzy, python-brace-format -#| msgid "{name} deleted." +#: plinth/modules/ikiwiki/views.py:101 +#, python-brace-format msgid "{title} deleted." -msgstr "Slettet {name}." +msgstr "{title} slettet." -#: plinth/modules/ikiwiki/views.py:107 +#: plinth/modules/ikiwiki/views.py:105 #, fuzzy, python-brace-format #| msgid "Could not delete {name}: {error}" msgid "Could not delete {title}: {error}" @@ -2529,7 +2482,7 @@ msgstr "" "Start Gobby og velge «Koble til tjener», og skriver inn domenenavnet til din " "{box_name}." -#: plinth/modules/jsxc/__init__.py:22 +#: plinth/modules/jsxc/__init__.py:23 msgid "" "JSXC is a web client for XMPP. Typically it is used with an XMPP server " "running locally." @@ -2537,11 +2490,11 @@ msgstr "" "JSXC er en nettleserklient for XMPP. Typisk brukes den med en XMPP-tjener " "som kjører lokalt." -#: plinth/modules/jsxc/__init__.py:40 plinth/modules/jsxc/manifest.py:10 +#: plinth/modules/jsxc/__init__.py:43 plinth/modules/jsxc/manifest.py:10 msgid "JSXC" msgstr "JSXC" -#: plinth/modules/jsxc/__init__.py:41 +#: plinth/modules/jsxc/__init__.py:44 msgid "Chat Client" msgstr "Nettpratklient" @@ -2726,11 +2679,11 @@ msgstr "" msgid "Matrix Synapse" msgstr "Matrix Synapse" -#: plinth/modules/matrixsynapse/forms.py:14 +#: plinth/modules/matrixsynapse/forms.py:12 msgid "Enable Public Registration" msgstr "Skru på offentlig registrering" -#: plinth/modules/matrixsynapse/forms.py:15 +#: plinth/modules/matrixsynapse/forms.py:13 msgid "" "Enabling public registration means that anyone on the Internet can register " "a new account on your Matrix server. Disable this if you only want existing " @@ -2744,6 +2697,12 @@ msgstr "" msgid "Riot" msgstr "Riot" +#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 +#: plinth/modules/snapshot/templates/snapshot.html:12 +#: plinth/templates/app.html:46 +msgid "Configuration" +msgstr "Oppsett" + #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:18 msgid "" "Matrix service needs to be configured for a domain. Users on other Matrix " @@ -2818,11 +2777,11 @@ msgstr "" " Encrypt for å skaffe deg det.\n" " " -#: plinth/modules/matrixsynapse/views.py:98 +#: plinth/modules/matrixsynapse/views.py:86 msgid "Public registration enabled" msgstr "Offentlig registrering påskrudd" -#: plinth/modules/matrixsynapse/views.py:103 +#: plinth/modules/matrixsynapse/views.py:91 msgid "Public registration disabled" msgstr "Offentlig registrering avskrudd" @@ -2870,11 +2829,11 @@ msgstr "MediaWiki" msgid "Wiki" msgstr "Wiki" -#: plinth/modules/mediawiki/forms.py:27 +#: plinth/modules/mediawiki/forms.py:25 msgid "Administrator Password" msgstr "Administratorpassord" -#: plinth/modules/mediawiki/forms.py:28 +#: plinth/modules/mediawiki/forms.py:26 msgid "" "Set a new password for MediaWiki's administrator account (admin). Leave this " "field blank to keep the current password." @@ -2882,11 +2841,11 @@ msgstr "" "Sett et nytt passord for MediaWikis administratorkonto (admin). La dette " "feltet stå tomt for å beholde gjeldende passord." -#: plinth/modules/mediawiki/forms.py:33 +#: plinth/modules/mediawiki/forms.py:31 msgid "Enable public registrations" msgstr "Aktiver offentlig registrering" -#: plinth/modules/mediawiki/forms.py:34 +#: plinth/modules/mediawiki/forms.py:32 msgid "" "If enabled, anyone on the internet will be able to create an account on your " "MediaWiki instance." @@ -2894,11 +2853,11 @@ msgstr "" "Hvis påskrudd, vil alle på Internett kunne opprette en konto på din " "MediaWiki-instans." -#: plinth/modules/mediawiki/forms.py:38 +#: plinth/modules/mediawiki/forms.py:36 msgid "Enable private mode" msgstr "Skru på privat modus" -#: plinth/modules/mediawiki/forms.py:39 +#: plinth/modules/mediawiki/forms.py:37 msgid "" "If enabled, access will be restricted. Only people who have accounts can " "read/write to the wiki. Public registrations will also be disabled." @@ -2906,13 +2865,11 @@ msgstr "" "Hvis påskrudd, vil tilgang begrenses. Kun folk som har kontoer kan lese/" "skrive på wiki-en. Offentlige registreringer vil også bli avskrudd." -#: plinth/modules/mediawiki/forms.py:44 -#, fuzzy -#| msgid "Default" +#: plinth/modules/mediawiki/forms.py:42 msgid "Default Skin" -msgstr "Forvalg" +msgstr "Forvalgt drakt" -#: plinth/modules/mediawiki/forms.py:45 +#: plinth/modules/mediawiki/forms.py:43 msgid "" "Choose a default skin for your MediaWiki installation. Users have the option " "to select their preferred skin." @@ -2920,33 +2877,31 @@ msgstr "" "Velg forvalgsdrakt for din MediaWiki-installasjon. Brukere kan velge egen " "drakt." -#: plinth/modules/mediawiki/views.py:53 +#: plinth/modules/mediawiki/views.py:48 msgid "Password updated" msgstr "Passord oppdatert" -#: plinth/modules/mediawiki/views.py:72 +#: plinth/modules/mediawiki/views.py:57 msgid "Public registrations enabled" msgstr "Offentlig registrering aktivert" -#: plinth/modules/mediawiki/views.py:81 +#: plinth/modules/mediawiki/views.py:66 msgid "Public registrations disabled" msgstr "Offentlig registrering avskrudd" -#: plinth/modules/mediawiki/views.py:86 +#: plinth/modules/mediawiki/views.py:71 msgid "Private mode enabled" msgstr "Privat modus påskrudd" -#: plinth/modules/mediawiki/views.py:93 +#: plinth/modules/mediawiki/views.py:78 msgid "Private mode disabled" msgstr "Privat modus avskrudd" -#: plinth/modules/mediawiki/views.py:101 -#, fuzzy -#| msgid "Setting unchanged" +#: plinth/modules/mediawiki/views.py:86 msgid "Default skin changed" -msgstr "Oppsett uendret" +msgstr "Forvalgt drakt endret" -#: plinth/modules/minetest/__init__.py:37 +#: plinth/modules/minetest/__init__.py:38 #, python-brace-format msgid "" "Minetest is a multiplayer infinite-world block sandbox. This module enables " @@ -2959,20 +2914,20 @@ msgstr "" "forvalgte porten (30000). For å koble til tjeneren trengs en Minetest klient." -#: plinth/modules/minetest/__init__.py:63 +#: plinth/modules/minetest/__init__.py:62 #: plinth/modules/minetest/manifest.py:10 msgid "Minetest" msgstr "Minetest" -#: plinth/modules/minetest/__init__.py:64 +#: plinth/modules/minetest/__init__.py:63 msgid "Block Sandbox" msgstr "Block-sandkassen" -#: plinth/modules/minetest/forms.py:15 +#: plinth/modules/minetest/forms.py:13 msgid "Maximum number of players" msgstr "Maksimalt antall spillere" -#: plinth/modules/minetest/forms.py:17 +#: plinth/modules/minetest/forms.py:15 msgid "" "You can change the maximum number of players playing minetest at a single " "instance of time." @@ -2980,11 +2935,11 @@ msgstr "" "Du kan til enhver tid endre hvor mange som kan spille minetest på en enkelt " "instans." -#: plinth/modules/minetest/forms.py:21 +#: plinth/modules/minetest/forms.py:19 msgid "Enable creative mode" msgstr "Aktiver kreativ modus" -#: plinth/modules/minetest/forms.py:22 +#: plinth/modules/minetest/forms.py:20 msgid "" "Creative mode changes the rules of the game to make it more suitable for " "creative gameplay, rather than challenging \"survival\" gameplay." @@ -2992,19 +2947,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:27 +#: plinth/modules/minetest/forms.py:25 msgid "Enable PVP" msgstr "Aktiver PVP" -#: plinth/modules/minetest/forms.py:28 +#: plinth/modules/minetest/forms.py:26 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:32 +#: plinth/modules/minetest/forms.py:30 msgid "Enable damage" msgstr "Aktiver skade" -#: plinth/modules/minetest/forms.py:33 +#: plinth/modules/minetest/forms.py:31 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." @@ -3046,20 +3001,20 @@ msgid "" "Kodi." msgstr "" -#: plinth/modules/minidlna/__init__.py:33 +#: plinth/modules/minidlna/__init__.py:44 msgid "Media streaming server" msgstr "Media-strømmetjener" -#: plinth/modules/minidlna/__init__.py:47 +#: plinth/modules/minidlna/__init__.py:48 #, fuzzy msgid "Simple Media Server" msgstr "Enkel mediatjener" -#: plinth/modules/minidlna/forms.py:15 +#: plinth/modules/minidlna/forms.py:13 msgid "Media Files Directory" msgstr "Katalog for media-filer" -#: plinth/modules/minidlna/forms.py:16 +#: plinth/modules/minidlna/forms.py:14 msgid "" "Directory that MiniDLNA Server will read for content. All sub-directories of " "this will be also scanned for media files. If you change the default ensure " @@ -3119,16 +3074,16 @@ 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:40 +#: plinth/modules/mldonkey/__init__.py:50 msgid "Download files using eDonkey applications" msgstr "Last ned filer ved bruk av eDonkey-programmer" -#: plinth/modules/mldonkey/__init__.py:54 +#: plinth/modules/mldonkey/__init__.py:53 #: plinth/modules/mldonkey/manifest.py:12 msgid "MLDonkey" msgstr "MLDonkey" -#: plinth/modules/mldonkey/__init__.py:56 +#: plinth/modules/mldonkey/__init__.py:55 msgid "Peer-to-peer File Sharing" msgstr "Maskin til maskin-fildeling" @@ -3140,7 +3095,7 @@ msgstr "KMLDonkey" msgid "AMLDonkey" msgstr "AMLDonkey" -#: plinth/modules/monkeysphere/__init__.py:18 +#: plinth/modules/monkeysphere/__init__.py:19 msgid "" "With Monkeysphere, an OpenPGP key can be generated for each configured " "domain serving SSH. The OpenPGP public key can then be uploaded to the " @@ -3160,7 +3115,7 @@ msgstr "" "monkeysphere.info/getting-started-ssh/\"> Monkeysphere SSH documentation for flere detaljer." -#: plinth/modules/monkeysphere/__init__.py:26 +#: plinth/modules/monkeysphere/__init__.py:27 msgid "" "Monkeysphere can also generate an OpenPGP key for each Secure Web Server " "(HTTPS) certificate installed on this machine. The OpenPGP public key can " @@ -3178,7 +3133,7 @@ msgstr "" "brukeren å installere noe programvare som er tilgjengelig på Monkeysphere-nettsiden ." -#: plinth/modules/monkeysphere/__init__.py:50 +#: plinth/modules/monkeysphere/__init__.py:49 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:11 msgid "Monkeysphere" msgstr "Monkeysphere" @@ -3227,15 +3182,15 @@ msgstr "Se detaljer for nøkkel %(fingerprint)s" msgid "-" msgstr "-" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:128 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:129 msgid "Import Key" msgstr "Importer nøkkel" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:137 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:139 msgid "Publish Key" msgstr "Legge ut nøkkel" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:146 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:149 msgid "Add Domains" msgstr "Legg til domener" @@ -3308,7 +3263,7 @@ 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:23 +#: plinth/modules/mumble/__init__.py:24 msgid "" "Mumble is an open source, low-latency, encrypted, high quality voice chat " "software." @@ -3316,7 +3271,7 @@ msgstr "" "Mumble er en åpen kildekode, rask, kryptert, høy kvalitets programvare for " "nettprat." -#: plinth/modules/mumble/__init__.py:25 +#: plinth/modules/mumble/__init__.py:26 msgid "" "You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your " @@ -3326,21 +3281,21 @@ msgstr "" "\"http://mumble.info\">Klienter for å koble til Mumble når skrivebordet " "og/eller Android-enheter er tilgjengelige." -#: plinth/modules/mumble/__init__.py:49 plinth/modules/mumble/manifest.py:12 +#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:12 msgid "Mumble" msgstr "Mumble" -#: plinth/modules/mumble/__init__.py:50 +#: plinth/modules/mumble/__init__.py:49 msgid "Voice Chat" msgstr "Talenettprat" -#: plinth/modules/mumble/forms.py:16 +#: plinth/modules/mumble/forms.py:14 #, fuzzy #| msgid "SSH server password" msgid "Set SuperUser Password" msgstr "SSH-tjenermaskinpassord" -#: plinth/modules/mumble/forms.py:19 +#: plinth/modules/mumble/forms.py:17 msgid "" "Optional. Leave this field blank to keep the current password. SuperUser " "password can be used to manage permissions in Mumble." @@ -3426,10 +3381,8 @@ msgid "Connection Name" msgstr "Oppkoblingsnavn" #: plinth/modules/networks/forms.py:30 -#, fuzzy -#| msgid "Interface" msgid "Network Interface" -msgstr "Grensesnitt" +msgstr "Nettverksgrensesnitt" #: plinth/modules/networks/forms.py:31 msgid "The network device that this connection should be bound to." @@ -3667,9 +3620,9 @@ msgstr "Åpen" #: plinth/modules/networks/forms.py:297 #, fuzzy, python-brace-format -#| msgid "Use upstream bridges to connect to Tor network" -msgid "Choose how your {box_name} is connected to your network" -msgstr "Bruk oppstrøms broer til å koble til Tor-nettverket" +#| msgid "Choose how your {box_name} is connected to your network" +msgid "Specify how your {box_name} is connected to your network" +msgstr "Velg hvordan din {box_name} er koblet til nettverket ditt" #: plinth/modules/networks/forms.py:304 #, python-brace-format @@ -3889,7 +3842,7 @@ msgstr "IPv4" #: plinth/modules/networks/templates/connection_show.html:171 #: plinth/modules/networks/templates/connection_show.html:212 -#: plinth/modules/shadowsocks/forms.py:49 +#: plinth/modules/shadowsocks/forms.py:48 msgid "Method" msgstr "Metode" @@ -3905,7 +3858,7 @@ msgstr "DNS-tjener" #: plinth/modules/networks/templates/connection_show.html:201 #: plinth/modules/networks/templates/connection_show.html:240 -#: plinth/modules/storage/forms.py:141 +#: plinth/modules/storage/forms.py:139 msgid "Default" msgstr "Forvalg" @@ -4076,10 +4029,8 @@ msgid "Next" msgstr "Neste" #: plinth/modules/networks/templates/internet_connectivity_main.html:9 -#, fuzzy -#| msgid "Connection Type" msgid "Your Internet Connection Type" -msgstr "Oppkoblingstype" +msgstr "Din internett-oppkoblingstype" #: plinth/modules/networks/templates/internet_connectivity_main.html:14 msgid "" @@ -4113,9 +4064,8 @@ msgstr "Oppdater" #: plinth/modules/networks/templates/network_topology_content.html:10 #, fuzzy, python-format -#| msgid "Direct connection to the Internet." msgid "How is Your %(box_name)s Connected to the Internet?" -msgstr "Direkte forbindelse til Internettet." +msgstr "Hvordan er din %(box_name)s koblet til Internett?" #: plinth/modules/networks/templates/network_topology_content.html:16 #, python-format @@ -4394,6 +4344,11 @@ msgstr "Oppsettet fullført." msgid "Setup failed." msgstr "Oppsettet mislyktes." +#: plinth/modules/openvpn/views.py:135 plinth/modules/tor/views.py:136 +#: plinth/views.py:196 +msgid "Setting unchanged" +msgstr "Oppsett uendret" + #: plinth/modules/pagekite/__init__.py:27 #, python-brace-format msgid "" @@ -4469,11 +4424,11 @@ msgstr "Offentlig synlighet" msgid "PageKite Domain" msgstr "PageKite-domene" -#: plinth/modules/pagekite/forms.py:48 +#: plinth/modules/pagekite/forms.py:47 msgid "Server domain" msgstr "Tjenerdomene" -#: plinth/modules/pagekite/forms.py:50 +#: plinth/modules/pagekite/forms.py:49 msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " "pagekite.net server." @@ -4481,31 +4436,31 @@ msgstr "" "Velg din PageKite-tjener. Sett «pagekite.net» for å bruke den forvalgte " "pagekite.net-tjeneren." -#: plinth/modules/pagekite/forms.py:53 plinth/modules/shadowsocks/forms.py:40 +#: plinth/modules/pagekite/forms.py:52 plinth/modules/shadowsocks/forms.py:39 msgid "Server port" msgstr "Tjenerport" -#: plinth/modules/pagekite/forms.py:54 +#: plinth/modules/pagekite/forms.py:53 msgid "Port of your pagekite server (default: 80)" msgstr "Port for din PageKite-tjener (default: 80)" -#: plinth/modules/pagekite/forms.py:56 +#: plinth/modules/pagekite/forms.py:55 msgid "Kite name" msgstr "«Kite»-navn" -#: plinth/modules/pagekite/forms.py:57 +#: plinth/modules/pagekite/forms.py:56 msgid "Example: mybox.pagekite.me" msgstr "Eksempel: mybox.pagekite.me" -#: plinth/modules/pagekite/forms.py:59 +#: plinth/modules/pagekite/forms.py:58 msgid "Invalid kite name" msgstr "Ugyldig «kite»-navn" -#: plinth/modules/pagekite/forms.py:63 +#: plinth/modules/pagekite/forms.py:62 msgid "Kite secret" msgstr "«Kite»-hemmelig" -#: plinth/modules/pagekite/forms.py:64 +#: plinth/modules/pagekite/forms.py:63 msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." @@ -4513,27 +4468,27 @@ msgstr "" "En hemmelighet knyttet til «Kite»-en, eller den forvalgte hemmeligheten for " "din konto hvis ingen hemmelighet er satt for «Kite»-en." -#: plinth/modules/pagekite/forms.py:101 +#: plinth/modules/pagekite/forms.py:100 msgid "protocol" msgstr "protokoll" -#: plinth/modules/pagekite/forms.py:104 +#: plinth/modules/pagekite/forms.py:103 msgid "external (frontend) port" msgstr "Ekstern (frontend) port" -#: plinth/modules/pagekite/forms.py:107 +#: plinth/modules/pagekite/forms.py:106 msgid "internal (freedombox) port" msgstr "intern (FreedomBox) port" -#: plinth/modules/pagekite/forms.py:108 +#: plinth/modules/pagekite/forms.py:107 msgid "Enable Subdomains" msgstr "Tillat underdomener (Subdomains)" -#: plinth/modules/pagekite/forms.py:142 +#: plinth/modules/pagekite/forms.py:141 msgid "Deleted custom service" msgstr "Deaktivert selvvalgt (tilpasset) tjeneste" -#: plinth/modules/pagekite/forms.py:175 +#: plinth/modules/pagekite/forms.py:174 #, fuzzy #| msgid "" #| "This service is available as a standard service. Please use the " @@ -4543,11 +4498,11 @@ msgstr "" "Denne tjenesten er tilgjengelig som en standard tjeneste. Vennligst bruk " "«Standard Services»-siden for å aktivere den." -#: plinth/modules/pagekite/forms.py:183 +#: plinth/modules/pagekite/forms.py:182 msgid "Added custom service" msgstr "Lagt til selvvalgt tjeneste" -#: plinth/modules/pagekite/forms.py:186 +#: plinth/modules/pagekite/forms.py:185 msgid "This service already exists" msgstr "Denne tjenesten finnes allerede" @@ -4686,7 +4641,7 @@ msgstr "" msgid "Shut Down Now" msgstr "Slå av nå" -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 msgid "" "Privoxy is a non-caching web proxy with advanced filtering capabilities for " "enhancing privacy, modifying web page data and HTTP headers, controlling " @@ -4697,7 +4652,7 @@ msgstr "" "overskrifter, kontrollere tilgang, og fjerne annonser og annet ubehagelig " "Internett-søppel. " -#: plinth/modules/privoxy/__init__.py:33 +#: plinth/modules/privoxy/__init__.py:34 #, python-brace-format msgid "" "You can use Privoxy by modifying your browser proxy settings to your " @@ -4713,20 +4668,20 @@ msgstr "" "privoxy.org\">http://config.privoxy.org/ eller http://p.p." -#: plinth/modules/privoxy/__init__.py:56 +#: plinth/modules/privoxy/__init__.py:55 msgid "Privoxy" msgstr "Privoxy" -#: plinth/modules/privoxy/__init__.py:57 +#: plinth/modules/privoxy/__init__.py:56 msgid "Web Proxy" msgstr "Mellomtjener for nettet" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:119 #, 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:32 +#: plinth/modules/quassel/__init__.py:33 #, python-brace-format msgid "" "Quassel is an IRC application that is split into two parts, a \"core\" and a " @@ -4743,7 +4698,7 @@ msgstr "" "skrivebordet kan en eller flere Quassel-klienter brukes til å koble til og " "fra." -#: plinth/modules/quassel/__init__.py:39 +#: plinth/modules/quassel/__init__.py:40 msgid "" "You can connect to your Quassel core on the default Quassel port 4242. " "Clients to connect to Quassel from your desktop , og mobile enheter er tilgjengelig." -#: plinth/modules/quassel/__init__.py:62 plinth/modules/quassel/manifest.py:10 +#: plinth/modules/quassel/__init__.py:61 plinth/modules/quassel/manifest.py:10 msgid "Quassel" msgstr "Quassel" -#: plinth/modules/quassel/__init__.py:63 +#: plinth/modules/quassel/__init__.py:62 msgid "IRC Client" msgstr "IRC-klient" -#: plinth/modules/quassel/forms.py:23 -#, fuzzy -#| msgid "Subdomain" +#: plinth/modules/quassel/forms.py:22 msgid "TLS domain" -msgstr "Underdomene" +msgstr "TLS-domene" -#: plinth/modules/quassel/forms.py:25 +#: plinth/modules/quassel/forms.py:24 msgid "" "Select a domain to use TLS with. If the list is empty, please configure at " "least one domain with certificates." @@ -4781,7 +4734,7 @@ msgstr "" msgid "Quasseldroid" msgstr "Quasseldroid" -#: plinth/modules/radicale/__init__.py:32 +#: plinth/modules/radicale/__init__.py:33 #, python-brace-format msgid "" "Radicale is a CalDAV and CardDAV server. It allows synchronization and " @@ -4794,7 +4747,7 @@ msgstr "" "href=\"http://radicale.org/clients/\">støttet klientprogram . Radicale " "kan nås av alle brukere med {box_name}-innlogging." -#: plinth/modules/radicale/__init__.py:37 +#: plinth/modules/radicale/__init__.py:38 msgid "" "Radicale provides a basic web interface, which only supports creating new " "calendars and addressbooks. It does not support adding events or contacts, " @@ -4804,22 +4757,22 @@ msgstr "" "kalendre og adressebøker. Den tilbyr ikke å legge inn nye hendelser eller " "kontakter, det må gjøres med en egen klient." -#: plinth/modules/radicale/__init__.py:62 +#: plinth/modules/radicale/__init__.py:61 #: plinth/modules/radicale/manifest.py:75 msgid "Radicale" msgstr "Radicale" -#: plinth/modules/radicale/__init__.py:63 +#: plinth/modules/radicale/__init__.py:62 msgid "Calendar and Addressbook" msgstr "Kalender og adressebok" -#: plinth/modules/radicale/forms.py:15 +#: plinth/modules/radicale/forms.py:14 msgid "Only the owner of a calendar/addressbook can view or make changes." msgstr "" "Kun eieren av en kalender/adressebok har innsyn eller mulighet til å gjøre " "endringer." -#: plinth/modules/radicale/forms.py:19 +#: plinth/modules/radicale/forms.py:18 #, python-brace-format msgid "" "Any user with a {box_name} login can view any calendar/addressbook, but only " @@ -4828,7 +4781,7 @@ msgstr "" "Enhver bruker med brukernavn på {box_name} kan se enhver kalender/" "adressebok, men kun eieren kan gjøre endringer." -#: plinth/modules/radicale/forms.py:24 +#: plinth/modules/radicale/forms.py:23 #, python-brace-format msgid "" "Any user with a {box_name} login can view or make changes to any calendar/" @@ -4900,13 +4853,6 @@ msgstr "" "mappebehandling, søk etter meldinger og stavekontroll." #: plinth/modules/roundcube/__init__.py:26 -#, fuzzy -#| msgid "" -#| "You can access Roundcube from /roundcube. " -#| "Provide the username and password of the email account you wish to access " -#| "followed by the domain name of the IMAP server for your email provider, " -#| "like imap.example.com. For IMAP over SSL (recommended), " -#| "fill the server field like imaps://imap.example.com." msgid "" "You can access Roundcube from /roundcube. Provide the username and password of the email account " @@ -4915,11 +4861,11 @@ msgid "" "(recommended), fill the server field like imaps://imap.example.com." msgstr "" -"Du får tilgang til Roundcube fra /roundcube. Gi " -"brukernavn og passord til e-postkontoen du ønsker å åpne, fulgt av " -"domenenavnet til IMAP-tjeneren til din e-postleverandør, som imap." -"example.com. For IMAP over SSL (anbefalt), fyll feltet for tjeneren, " -"som imaps://imap.example.com." +"Du får tilgang til Roundcube fra /roundcube. Gi brukernavn og passord til e-postkontoen du ønsker " +"å åpne, fulgt av domenenavnet til IMAP-tjeneren til din e-postleverandør, " +"som imap.example.com. For IMAP over SSL (anbefalt), fyll " +"feltet for tjeneren, som imaps://imap.example.com." #: plinth/modules/roundcube/__init__.py:32 msgid "" @@ -4977,11 +4923,11 @@ msgid "" "private space." msgstr "" -#: plinth/modules/samba/__init__.py:47 +#: plinth/modules/samba/__init__.py:59 msgid "Access to the private shares" msgstr "Tilgang til private delinger" -#: plinth/modules/samba/__init__.py:61 +#: plinth/modules/samba/__init__.py:62 msgid "Samba" msgstr "Samba" @@ -4999,10 +4945,8 @@ msgid "" msgstr "" #: plinth/modules/samba/templates/samba.html:34 -#, fuzzy -#| msgid "Domain Name" msgid "Disk Name" -msgstr "Domenenavn" +msgstr "Disknavn" #: plinth/modules/samba/templates/samba.html:36 #: plinth/modules/storage/templates/storage.html:29 @@ -5010,8 +4954,6 @@ msgid "Used" msgstr "Brukt" #: plinth/modules/samba/templates/samba.html:57 -#, fuzzy -#| msgid "vfat partitions are not supported" msgid "VFAT partitions are not supported" msgstr "VFAT-partisjoner støttes ikke" @@ -5053,18 +4995,14 @@ msgid "Share name" msgstr "Deling lagt til." #: plinth/modules/samba/templates/samba.html:114 -#, fuzzy -#| msgid "Actions" msgid "Action" -msgstr "Handlinger" +msgstr "Handlinge" -#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:149 -#, fuzzy -#| msgid "Add Share" +#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:147 msgid "Open Share" -msgstr "Legg til deling" +msgstr "Åpne deling" -#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:147 +#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:145 #, fuzzy #| msgid "Add Share" msgid "Group Share" @@ -5116,45 +5054,45 @@ msgstr "" "Searx kan brukes for å unngå sporing og profilbygging av søkemotorer. Den " "lagrer ingen kaker som forvalg." -#: plinth/modules/searx/__init__.py:31 +#: plinth/modules/searx/__init__.py:45 msgid "Search the web" msgstr "Søk på nettet" -#: plinth/modules/searx/__init__.py:47 plinth/modules/searx/manifest.py:9 +#: plinth/modules/searx/__init__.py:48 plinth/modules/searx/manifest.py:9 msgid "Searx" msgstr "Searx" -#: plinth/modules/searx/__init__.py:48 +#: plinth/modules/searx/__init__.py:49 msgid "Web Search" msgstr "Nettsøk" -#: plinth/modules/searx/forms.py:15 +#: plinth/modules/searx/forms.py:13 msgid "Safe Search" msgstr "Trygt søk" -#: plinth/modules/searx/forms.py:16 +#: plinth/modules/searx/forms.py:14 msgid "Select the default family filter to apply to your search results." msgstr "" "Velg hvilket forvalgt familiefilter som skal anvendes for dine " "søkeresultater." -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "None" msgstr "Ingen" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "Moderate" msgstr "Moderat" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "Strict" msgstr "Streng" -#: plinth/modules/searx/forms.py:20 +#: plinth/modules/searx/forms.py:18 msgid "Allow Public Access" msgstr "Tillat offentlig tilgang" -#: plinth/modules/searx/forms.py:21 +#: plinth/modules/searx/forms.py:19 msgid "Allow this application to be used by anyone who can reach it." msgstr "Tillat dette programmet brukt av alle som kan nå det." @@ -5273,22 +5211,16 @@ msgid "N/A" msgstr "I/t" #: plinth/modules/security/templates/security_report.html:57 -#, fuzzy -#| msgid "yes" msgid "Yes" msgstr "Ja" #: plinth/modules/security/templates/security_report.html:59 -#, fuzzy -#| msgid "None" msgid "No" -msgstr "Ingen" +msgstr "Nei" #: plinth/modules/security/templates/security_report.html:66 -#, fuzzy -#| msgid "is not running" msgid "Not running" -msgstr "kjører ikke" +msgstr "Kjører ikke" #: plinth/modules/security/views.py:53 #, python-brace-format @@ -5366,28 +5298,28 @@ msgstr "Shadowsocks" msgid "Socks5 Proxy" msgstr "SOCKS5-mellomtjener" +#: plinth/modules/shadowsocks/forms.py:12 #: plinth/modules/shadowsocks/forms.py:13 -#: plinth/modules/shadowsocks/forms.py:14 msgid "Recommended" msgstr "Anbefalt" -#: plinth/modules/shadowsocks/forms.py:37 +#: plinth/modules/shadowsocks/forms.py:36 msgid "Server" msgstr "Tjener" -#: plinth/modules/shadowsocks/forms.py:38 +#: plinth/modules/shadowsocks/forms.py:37 msgid "Server hostname or IP address" msgstr "Tjernens vertsnavn eller IP-adresse" -#: plinth/modules/shadowsocks/forms.py:42 +#: plinth/modules/shadowsocks/forms.py:41 msgid "Server port number" msgstr "Tjener-portnummer" -#: plinth/modules/shadowsocks/forms.py:45 +#: plinth/modules/shadowsocks/forms.py:44 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:50 +#: plinth/modules/shadowsocks/forms.py:49 msgid "Encryption method. Must match setting on server." msgstr "Krypteringsmetode. Må samsvare med den brukt på tjeneren." @@ -5432,11 +5364,11 @@ msgstr "Del offentlig" msgid "Make files in this folder available to anyone with the link." msgstr "Gjør filene i denne mappen tilgjengelig for alle som har lenken." -#: plinth/modules/sharing/forms.py:33 +#: plinth/modules/sharing/forms.py:34 msgid "User groups that can read the files in the share" msgstr "Brukergrupper som kan lese filene på det delte området" -#: plinth/modules/sharing/forms.py:35 +#: plinth/modules/sharing/forms.py:36 msgid "" "Users of the selected user groups will be able to read the files in the " "share." @@ -5736,13 +5668,13 @@ msgstr "" msgid "Secure Shell (SSH) Server" msgstr "Secure Shell (SSH) tjener" -#: plinth/modules/ssh/forms.py:15 +#: plinth/modules/ssh/forms.py:13 #, fuzzy #| msgid "Use HTTP basic authentication" msgid "Disable password authentication" msgstr "Bruk HTTP-basisgodkjenning" -#: plinth/modules/ssh/forms.py:16 +#: plinth/modules/ssh/forms.py:14 #, fuzzy msgid "" "Improves security by preventing password guessing. Ensure that you have " @@ -5754,10 +5686,8 @@ msgstr "" "på dette valget." #: plinth/modules/ssh/templates/ssh.html:11 -#, fuzzy -#| msgid "SSH Fingerprint" msgid "Server Fingerprints" -msgstr "SSH Fingeravtrykk" +msgstr "Tjener-fingeravtrykk" #: plinth/modules/ssh/templates/ssh.html:14 #, fuzzy @@ -5807,89 +5737,89 @@ msgstr "" "kan vise lagringsmedia som er i bruk, montere og avmontere flyttbare medium, " "utvide rotpartisjonen, osv." -#: plinth/modules/storage/__init__.py:52 plinth/modules/storage/__init__.py:318 +#: plinth/modules/storage/__init__.py:54 plinth/modules/storage/__init__.py:320 msgid "Storage" msgstr "Lager" -#: 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." -#: plinth/modules/storage/__init__.py:313 +#: plinth/modules/storage/__init__.py:315 #, fuzzy, no-python-format, python-brace-format #| msgid "" #| "Warning: Low space on system partition ({percent_used}% used, " @@ -5899,53 +5829,45 @@ msgstr "" "Advarsel: Lite plass igjen på systempartisjon ({percent_used}% brukt, " "{free_space} ledig)." -#: plinth/modules/storage/__init__.py:315 +#: plinth/modules/storage/__init__.py:317 msgid "Low disk space" msgstr "Lite ledig diskplass" -#: plinth/modules/storage/forms.py:64 -#, fuzzy -#| msgid "Invalid hostname" +#: plinth/modules/storage/forms.py:63 msgid "Invalid directory name." -msgstr "Ugyldig vertsnavn" +msgstr "Ugyldig katalognavn." -#: plinth/modules/storage/forms.py:82 +#: plinth/modules/storage/forms.py:80 msgid "Directory does not exist." msgstr "Mappen finnes ikke." -#: plinth/modules/storage/forms.py:84 -#, fuzzy -#| msgid "Download directory" +#: plinth/modules/storage/forms.py:83 msgid "Path is not a directory." -msgstr "Last ned katalog" +msgstr "Stien er ikke en katalog." -#: plinth/modules/storage/forms.py:87 +#: plinth/modules/storage/forms.py:86 #, fuzzy #| msgid "The device is mounted by another user." msgid "Directory is not readable by the user." msgstr "Enheten er montert av en annen bruker." -#: plinth/modules/storage/forms.py:90 +#: plinth/modules/storage/forms.py:89 msgid "Directory is not writable by the user." msgstr "Mappen kan ikke skrives til av brukeren." -#: plinth/modules/storage/forms.py:95 -#, fuzzy -#| msgid "Download directory" +#: plinth/modules/storage/forms.py:94 msgid "Directory" -msgstr "Last ned katalog" +msgstr "Katalog" -#: plinth/modules/storage/forms.py:98 +#: plinth/modules/storage/forms.py:96 msgid "Subdirectory (optional)" msgstr "Undermappe (valgfritt)" -#: plinth/modules/storage/forms.py:145 -#, fuzzy -#| msgid "Shared" +#: plinth/modules/storage/forms.py:143 msgid "Share" -msgstr "Delt" +msgstr "Del" -#: plinth/modules/storage/forms.py:153 +#: plinth/modules/storage/forms.py:151 msgid "Other directory (specify below)" msgstr "Annen mappe (angi nedenfor)" @@ -6028,14 +5950,22 @@ msgstr "" "replikert (gjenskapt) til andre enheter." #: plinth/modules/syncthing/__init__.py:31 -#, python-brace-format +#, fuzzy, python-brace-format +#| msgid "" +#| "Running Syncthing on {box_name} provides an extra synchronization point " +#| "for your data that is available most of the time, allowing your devices " +#| "to synchronize more often. {box_name} runs a single instance of " +#| "Syncthing that may be used by multiple users. Each user's set of devices " +#| "may be synchronized with a distinct set of folders. The web interface on " +#| "{box_name} is only available for users belonging to the \"admin\" group." msgid "" "Running Syncthing on {box_name} provides an extra synchronization point for " "your data that is available most of the time, allowing your devices to " "synchronize more often. {box_name} runs a single instance of Syncthing that " "may be used by multiple users. Each user's set of devices may be " "synchronized with a distinct set of folders. The web interface on " -"{box_name} is only available for users belonging to the \"admin\" group." +"{box_name} is only available for users belonging to the \"admin\" or " +"\"syncthing\" group." msgstr "" "Å ta i bruk Syncthing på {box_name} gir et ekstra synkroniseringspunkt for " "data som er tilgjengelig mesteparten av tiden, slik at enhetene " @@ -6044,16 +5974,16 @@ 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:40 +#: plinth/modules/syncthing/__init__.py:53 msgid "Administer Syncthing application" msgstr "Administrer Syncthing-programmet" -#: plinth/modules/syncthing/__init__.py:54 +#: plinth/modules/syncthing/__init__.py:56 #: plinth/modules/syncthing/manifest.py:13 msgid "Syncthing" msgstr "Syncthing" -#: plinth/modules/syncthing/__init__.py:55 +#: plinth/modules/syncthing/__init__.py:57 msgid "File Synchronization" msgstr "Filsynkronisering" @@ -6101,33 +6031,33 @@ msgstr "" "VIL MISTE DATA. Du kan få tilgang til Tahoe-LAFS på https://%(domain_name)s:5678." -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:39 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:29 msgid "Local introducer" msgstr "Lokal introduserer" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:59 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:76 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:33 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:49 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:66 msgid "Pet Name" msgstr "Kjæledyrnavn" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:56 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:46 msgid "Add new introducer" msgstr "Legg til en ny introduserer" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:67 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:57 msgid "Add" msgstr "Legg til" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:72 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:62 msgid "Connected introducers" msgstr "Tilknyttede introduserere" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:89 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:79 msgid "Remove" msgstr "Fjern" -#: plinth/modules/tor/__init__.py:33 +#: plinth/modules/tor/__init__.py:34 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -6141,42 +6071,40 @@ msgstr "" "\"https://www.torproject.org/download/download-easy.html.en\">Tor Browser." -#: plinth/modules/tor/__init__.py:55 +#: plinth/modules/tor/__init__.py:54 msgid "Tor" msgstr "Tor" -#: plinth/modules/tor/__init__.py:66 -#, fuzzy -#| msgid "Tor Hidden Service" +#: plinth/modules/tor/__init__.py:65 msgid "Tor Onion Service" -msgstr "Skjult Tor-tjeneste" +msgstr "Tor-løktjeneste" -#: plinth/modules/tor/__init__.py:70 +#: plinth/modules/tor/__init__.py:69 msgid "Tor Socks Proxy" msgstr "Tor Socks-mellomtjener" -#: plinth/modules/tor/__init__.py:74 +#: plinth/modules/tor/__init__.py:73 msgid "Tor Bridge Relay" msgstr "Tor bro-stafettvideresendingsoppsett" -#: plinth/modules/tor/__init__.py:95 +#: plinth/modules/tor/__init__.py:98 msgid "Tor relay port available" msgstr "Tor relay-port tilgjengelig" -#: plinth/modules/tor/__init__.py:105 +#: plinth/modules/tor/__init__.py:108 msgid "Obfs3 transport registered" msgstr "Obfs3-transport registrert" -#: plinth/modules/tor/__init__.py:115 +#: plinth/modules/tor/__init__.py:118 msgid "Obfs4 transport registered" msgstr "Obfs4-transport registrert" -#: plinth/modules/tor/__init__.py:208 +#: plinth/modules/tor/__init__.py:211 #, 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:219 +#: plinth/modules/tor/__init__.py:222 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "Bekreft Tor-bruk på {url} via tcp{kind}" @@ -6302,10 +6230,8 @@ msgid "Tor configuration is being updated" msgstr "Tor-oppsettet oppdateres" #: plinth/modules/tor/templates/tor.html:35 -#, fuzzy -#| msgid "Hidden Service" msgid "Onion Service" -msgstr "Skjult tjeneste" +msgstr "Løktjeneste" #: plinth/modules/tor/templates/tor.html:37 msgid "Ports" @@ -6334,7 +6260,7 @@ 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:27 +#: plinth/modules/transmission/__init__.py:28 msgid "" "BitTorrent is a peer-to-peer file sharing protocol. Transmission daemon " "handles Bitorrent file sharing. Note that BitTorrent is not anonymous." @@ -6343,7 +6269,7 @@ msgstr "" "(overføringsdemon) håndterer BitTorrent-fildeling i bakgrunnen. Merk at " "BitTorrent ikke er anonym." -#: plinth/modules/transmission/__init__.py:48 +#: plinth/modules/transmission/__init__.py:51 #: plinth/modules/transmission/manifest.py:9 msgid "Transmission" msgstr "Transmission" @@ -6385,15 +6311,15 @@ 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:42 +#: plinth/modules/ttrss/__init__.py:54 msgid "Read and subscribe to news feeds" msgstr "Les og abonner på nyhetsstrømmer" -#: plinth/modules/ttrss/__init__.py:56 plinth/modules/ttrss/manifest.py:19 +#: plinth/modules/ttrss/__init__.py:57 plinth/modules/ttrss/manifest.py:19 msgid "Tiny Tiny RSS" msgstr "Tiny Tiny RSS" -#: plinth/modules/ttrss/__init__.py:57 +#: plinth/modules/ttrss/__init__.py:58 msgid "News Feed Reader" msgstr "Nyhetstrøm-leser" @@ -6405,11 +6331,11 @@ msgstr "Tiny Tiny RSS (avgreining)" msgid "Check for and apply the latest software and security updates." msgstr "Sjekk og legg til siste programvare- og sikkerhetsoppdateringer." -#: plinth/modules/upgrades/__init__.py:38 plinth/templates/setup.html:74 +#: plinth/modules/upgrades/__init__.py:40 plinth/templates/setup.html:74 msgid "Update" msgstr "Oppdater" -#: plinth/modules/upgrades/__init__.py:76 +#: plinth/modules/upgrades/__init__.py:78 #, fuzzy #| msgid "FreedomBox Foundation" msgid "FreedomBox Updated" @@ -6468,37 +6394,33 @@ msgstr "Veksle nylige oppdateringslogger" #: plinth/modules/upgrades/templates/upgrades_configure.html:11 #: plinth/modules/upgrades/templates/upgrades_configure.html:12 -#: plinth/modules/upgrades/views.py:88 +#: plinth/modules/upgrades/views.py:85 msgid "Manual update" msgstr "Manuell oppdatering" -#: plinth/modules/upgrades/views.py:47 +#: plinth/modules/upgrades/views.py:46 #, 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:51 +#: plinth/modules/upgrades/views.py:50 msgid "Automatic upgrades enabled" msgstr "Automatiske oppgraderinger aktivert" -#: plinth/modules/upgrades/views.py:54 +#: plinth/modules/upgrades/views.py:53 msgid "Automatic upgrades disabled" msgstr "Automatiske oppgraderinger avslått (deaktivert)" -#: plinth/modules/upgrades/views.py:56 -msgid "Settings unchanged" -msgstr "Oppsett uendret" - -#: plinth/modules/upgrades/views.py:82 +#: plinth/modules/upgrades/views.py:79 msgid "Upgrade process started." msgstr "Oppgraderingsprosessen (upgrade process) har startet." -#: plinth/modules/upgrades/views.py:85 +#: plinth/modules/upgrades/views.py:82 msgid "Starting upgrade failed." msgstr "Å starte oppgradering (upgrade) mislyktes." -#: plinth/modules/users/__init__.py:37 +#: plinth/modules/users/__init__.py:39 #, fuzzy msgid "" "Create and managed user accounts. These accounts serve as centralized " @@ -6509,7 +6431,7 @@ msgstr "" "identitetsbekreftelsesmekanisme for de fleste programmer. Noen kan kreve at " "en brukerkonto er en del av gruppen for å klarere brukrens tilgang til det." -#: plinth/modules/users/__init__.py:42 +#: plinth/modules/users/__init__.py:44 #, fuzzy, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -6520,46 +6442,52 @@ msgstr "" "liste over programmer som er relevante for dem på hjemmesiden. Dog kan kun " "brukere av admin-gruppen endre programmer eller systeminnstillinger." -#: plinth/modules/users/__init__.py:64 +#: plinth/modules/users/__init__.py:65 msgid "Users and Groups" msgstr "Brukere og grupper" -#: plinth/modules/users/__init__.py:115 +#: plinth/modules/users/__init__.py:78 +msgid "Access to all services and system settings" +msgstr "Tilgang til alle tjenester og systeminnstillinger" + +#: plinth/modules/users/__init__.py:122 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "Sjekk LDAP-oppføring «{search_item}»" -#: plinth/modules/users/forms.py:28 -msgid "Access to all services and system settings" -msgstr "Tilgang til alle tjenester og systeminnstillinger" - -#: plinth/modules/users/forms.py:44 +#: plinth/modules/users/forms.py:36 msgid "Username is taken or is reserved." msgstr "Brukernavnet er opptatt eller reservert." -#: plinth/modules/users/forms.py:72 +#: plinth/modules/users/forms.py:63 #, fuzzy #| msgid "Invalid server name" msgid "Enter a valid username." msgstr "Ugyldig tjenernavn" -#: plinth/modules/users/forms.py:78 +#: plinth/modules/users/forms.py:69 msgid "" "Required. 150 characters or fewer. English letters, digits and @/./-/_ only." msgstr "" "Påkrevd. 150 tegn eller mindre. Kun engelske bokstaver, tall og @/./-/_." -#: plinth/modules/users/forms.py:91 plinth/modules/users/forms.py:207 +#: plinth/modules/users/forms.py:83 plinth/modules/users/forms.py:196 msgid "Permissions" msgstr "Tilganger" -#: plinth/modules/users/forms.py:94 +#: plinth/modules/users/forms.py:85 +#, fuzzy +#| msgid "" +#| "Select which services should be available to the new user. The user will " +#| "be able to log in to services that support single sign-on through LDAP, " +#| "if they are in the appropriate group.

Users in the admin group " +#| "will be able to log in to all services. They can also log in to the " +#| "system through SSH and have administrative privileges (sudo)." msgid "" -"Select which services should be available to the new user. The user will be " -"able to log in to services that support single sign-on through LDAP, if they " -"are in the appropriate group.

Users in the admin group will be " -"able to log in to all services. They can also log in to the system through " -"SSH and have administrative privileges (sudo)." +"user. The user will be able to log in to services that support single sign-" +"on through LDAP, if they are in the appropriate group.

Users in " +"the admin group will be able to log in to all services. They can also log in " +"to the system through SSH and have administrative privileges (sudo)." msgstr "" "Velg hvilke tjenester som skal være tilgjengelige for den nye brukeren. " "Brukeren vil kunne logge seg på tjenester som støtter engangspålogging " @@ -6567,20 +6495,20 @@ msgstr "" "gruppen kan logge seg på alle tjenester. De kan også logge inn på systemet " "via SSH, og ha administrative rettigheter (sudo)." -#: plinth/modules/users/forms.py:133 plinth/modules/users/forms.py:357 +#: plinth/modules/users/forms.py:122 plinth/modules/users/forms.py:345 msgid "Creating LDAP user failed." msgstr "Oppretting av LDAP-bruker feilet." -#: plinth/modules/users/forms.py:144 +#: plinth/modules/users/forms.py:133 #, python-brace-format msgid "Failed to add new user to {group} group." msgstr "Klarte ikke legge ny bruker til gruppe {group}." -#: plinth/modules/users/forms.py:158 +#: plinth/modules/users/forms.py:147 msgid "Authorized SSH Keys" msgstr "Autoriserte SSH-nøkler" -#: plinth/modules/users/forms.py:160 +#: plinth/modules/users/forms.py:149 msgid "" "Setting an SSH public key will allow this user to securely log in to the " "system without using a password. You may enter multiple keys, one on each " @@ -6590,45 +6518,45 @@ msgstr "" "på systemet uten å bruke passord. Du kan legge inn multiple (flere) nøkler, " "én på hver linje. Blanke linjer og linjer som starter med # vil bli ignorert." -#: plinth/modules/users/forms.py:244 +#: plinth/modules/users/forms.py:233 msgid "Renaming LDAP user failed." msgstr "Klarte ikke å bytte navn på LDAP-bruker." -#: plinth/modules/users/forms.py:256 +#: plinth/modules/users/forms.py:245 msgid "Failed to remove user from group." msgstr "Klarte ikke å slette bruker fra gruppe." -#: plinth/modules/users/forms.py:267 +#: plinth/modules/users/forms.py:256 msgid "Failed to add user to group." msgstr "Klarte ikke legge bruker til gruppe." -#: plinth/modules/users/forms.py:276 +#: plinth/modules/users/forms.py:265 msgid "Unable to set SSH keys." msgstr "Klarte ikke sette SSH-nøkler." -#: plinth/modules/users/forms.py:291 +#: plinth/modules/users/forms.py:280 #, fuzzy #| msgid "Failed to add user to group." msgid "Failed to change user status." msgstr "Klarte ikke legge bruker til gruppe." -#: plinth/modules/users/forms.py:299 +#: plinth/modules/users/forms.py:288 msgid "Cannot delete the only administrator in the system." msgstr "Kan ikke slette kun administratoren i systemet." -#: plinth/modules/users/forms.py:331 +#: plinth/modules/users/forms.py:319 msgid "Changing LDAP user password failed." msgstr "Klarte ikke å bytte passord for LDAP-bruker." -#: plinth/modules/users/forms.py:366 +#: plinth/modules/users/forms.py:354 msgid "Failed to add new user to admin group." msgstr "Klarte ikke å legge til en ny bruker i admin-gruppen." -#: plinth/modules/users/forms.py:383 +#: plinth/modules/users/forms.py:371 msgid "Failed to restrict console access." msgstr "Klarte ikke begrense konsolltilgang." -#: plinth/modules/users/forms.py:395 +#: plinth/modules/users/forms.py:383 msgid "User account created, you are now logged in" msgstr "Brukerkonto er opprettet, du er nå logget inn" @@ -6768,19 +6696,15 @@ msgid "WireGuard" msgstr "WireGuard" #: plinth/modules/wireguard/forms.py:32 -#, fuzzy -#| msgid "Invalid kite name" msgid "Invalid key." -msgstr "Ugyldig «kite»-navn" +msgstr "Ugyldig nøkkel." #: plinth/modules/wireguard/forms.py:61 #: plinth/modules/wireguard/templates/wireguard.html:17 #: plinth/modules/wireguard/templates/wireguard.html:74 #: plinth/modules/wireguard/templates/wireguard_delete_server.html:23 -#, fuzzy -#| msgid "Publish Key" msgid "Public Key" -msgstr "Legge ut nøkkel" +msgstr "Offentlig nøkkel" #: plinth/modules/wireguard/forms.py:62 msgid "" @@ -6866,7 +6790,7 @@ msgstr "Nettprat-tjener" #: plinth/modules/wireguard/templates/wireguard.html:12 msgid "Peers allowed to connect to this server:" -msgstr "" +msgstr "Likemenn får koble seg til denne tjeneren:" #: plinth/modules/wireguard/templates/wireguard.html:18 msgid "Allowed IPs" @@ -6930,23 +6854,17 @@ msgid "No connections to remote servers are configured yet." msgstr "Identitetsbekreftelse til fjerntjener mislyktes." #: plinth/modules/wireguard/templates/wireguard.html:104 -#, fuzzy -#| msgid "Add new introducer" msgid "Add a new server" -msgstr "Legg til en ny introduserer" +msgstr "Legg til ny tjener" #: plinth/modules/wireguard/templates/wireguard.html:108 #: plinth/modules/wireguard/views.py:159 -#, fuzzy -#| msgid "Add Connection" msgid "Add Connection to Server" -msgstr "Legg til tilkobling" +msgstr "Legg til tilkobling til tjener" #: plinth/modules/wireguard/templates/wireguard_add_client.html:19 -#, fuzzy -#| msgid "IRC Client" msgid "Add Client" -msgstr "IRC-klient" +msgstr "Legg til klient" #: plinth/modules/wireguard/templates/wireguard_delete_client.html:14 #, fuzzy @@ -7114,10 +7032,8 @@ msgid "Updated server." msgstr "Oppdater oppsett" #: plinth/modules/wireguard/views.py:198 -#, fuzzy -#| msgid "Edit Connection" msgid "Modify Connection to Server" -msgstr "Endre oppkobling" +msgstr "Endre oppkobling til tjener" #: plinth/modules/wireguard/views.py:235 #, fuzzy @@ -7126,10 +7042,8 @@ msgid "Delete Connection to Server" msgstr "Slett tilkobling" #: plinth/modules/wireguard/views.py:255 -#, fuzzy -#| msgid "Share deleted." msgid "Server deleted." -msgstr "Deling slettet." +msgstr "Tjener slettet." #: plinth/network.py:27 msgid "PPPoE" @@ -7410,10 +7324,8 @@ msgstr "" "Følgende nettverksgrensesnitt er nå satt opp som interne: %(interface_list)s" #: plinth/templates/notifications-dropdown.html:11 -#, fuzzy -#| msgid "No certificate" msgid "Notifications" -msgstr "Sertifikat mangler" +msgstr "Merknader" #: plinth/templates/port-forwarding-info.html:8 msgid "Port Forwarding" @@ -7472,18 +7384,22 @@ msgstr "Installere %(package_names)s: %(status)s" msgid "%(percentage)s%% complete" msgstr "%(percentage)s%% fullført" -#: plinth/views.py:184 -msgid "Application enabled" -msgstr "Programmet er aktivert" - -#: plinth/views.py:187 -msgid "Application disabled" -msgstr "Programmet er deaktivert" - #: plinth/web_framework.py:107 msgid "Gujarati" msgstr "Gujarati" +#~ msgid "Enable application" +#~ msgstr "Aktiver program" + +#~ msgid "Settings unchanged" +#~ msgstr "Oppsett uendret" + +#~ msgid "Application enabled" +#~ msgstr "Programmet er aktivert" + +#~ msgid "Application disabled" +#~ msgstr "Programmet er deaktivert" + #~ msgid "Kite details set" #~ msgstr "«Kite»-detaljer satt" diff --git a/plinth/locale/nl/LC_MESSAGES/django.po b/plinth/locale/nl/LC_MESSAGES/django.po index 0ef957eba..2d78e006e 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: 2020-03-23 18:54-0400\n" +"POT-Creation-Date: 2020-04-06 19:59-0400\n" "PO-Revision-Date: 2020-01-17 21:21+0000\n" "Last-Translator: ikmaak \n" "Language-Team: Dutch web clientgebruiker van {box_name} daartoe " "toegang krijgen." -#: plinth/modules/ejabberd/__init__.py:70 +#: plinth/modules/ejabberd/__init__.py:69 msgid "ejabberd" msgstr "ejabberd" -#: plinth/modules/ejabberd/__init__.py:71 +#: plinth/modules/ejabberd/__init__.py:70 #: plinth/modules/matrixsynapse/__init__.py:68 msgid "Chat Server" msgstr "Chatserver" -#: plinth/modules/ejabberd/forms.py:17 +#: plinth/modules/ejabberd/forms.py:16 msgid "Enable Message Archive Management" msgstr "Inschakelen Berichten Archief Management" -#: plinth/modules/ejabberd/forms.py:19 +#: plinth/modules/ejabberd/forms.py:18 #, python-brace-format msgid "" "If enabled, your {box_name} will store chat message histories. This allows " @@ -1527,19 +1515,11 @@ msgstr "" "eruit als username@%(domainname)s. Het domein kan worden ingesteld op " "de Instellingen pagina." -#: plinth/modules/ejabberd/templates/ejabberd.html:35 -#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 -#: plinth/modules/snapshot/templates/snapshot.html:12 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:27 -#: plinth/templates/app.html:45 -msgid "Configuration" -msgstr "Configuratie" - -#: plinth/modules/ejabberd/views.py:58 +#: plinth/modules/ejabberd/views.py:45 msgid "Message Archive Management enabled" msgstr "Berichten Archief Management aangezet" -#: plinth/modules/ejabberd/views.py:62 +#: plinth/modules/ejabberd/views.py:49 msgid "Message Archive Management disabled" msgstr "Berichten Archief Management uitgezet" @@ -1554,7 +1534,7 @@ msgstr "" "datastromen van {box_name} stuurt. Een geactiveerde en goed ingestelde " "firewall vermindert het risico op beveiligingsrisico's vanuit internet." -#: plinth/modules/firewall/__init__.py:63 +#: plinth/modules/firewall/__init__.py:65 msgid "Firewall" msgstr "Firewall" @@ -1696,7 +1676,7 @@ msgid "" "gittutorial\">Git tutorial." msgstr "" -#: plinth/modules/gitweb/__init__.py:39 +#: plinth/modules/gitweb/__init__.py:51 msgid "Read-write access to Git repositories" msgstr "" @@ -1844,31 +1824,31 @@ msgstr "{name} verwijderd." msgid "Could not delete {name}: {error}" msgstr "Verwijderen van {name} mislukt: {error}" -#: plinth/modules/help/__init__.py:30 +#: plinth/modules/help/__init__.py:32 msgid "Documentation" msgstr "Documentatie" -#: plinth/modules/help/__init__.py:33 plinth/modules/networks/forms.py:47 +#: plinth/modules/help/__init__.py:35 plinth/modules/networks/forms.py:47 #: plinth/modules/networks/forms.py:77 plinth/templates/help-menu.html:20 #: plinth/templates/help-menu.html:21 plinth/templates/index.html:128 msgid "Manual" msgstr "Handleiding" -#: plinth/modules/help/__init__.py:37 +#: plinth/modules/help/__init__.py:39 #: plinth/modules/help/templates/help_support.html:9 #: plinth/modules/help/views.py:43 plinth/templates/help-menu.html:27 #: plinth/templates/help-menu.html:28 msgid "Get Support" msgstr "Ondersteuning krijgen" -#: plinth/modules/help/__init__.py:41 +#: plinth/modules/help/__init__.py:43 #: plinth/modules/help/templates/help_feedback.html:9 #: plinth/modules/help/views.py:37 plinth/templates/help-menu.html:33 #: plinth/templates/help-menu.html:34 msgid "Submit Feedback" msgstr "Feedback indienen" -#: plinth/modules/help/__init__.py:45 +#: plinth/modules/help/__init__.py:47 #: plinth/modules/help/templates/help_contribute.html:9 #: plinth/modules/help/views.py:31 plinth/templates/help-menu.html:39 #: plinth/templates/help-menu.html:40 @@ -1998,7 +1978,7 @@ msgstr "" #: plinth/modules/help/templates/help_contribute.html:42 #: plinth/modules/power/templates/power_restart.html:27 #: plinth/modules/power/templates/power_shutdown.html:26 -#: plinth/templates/app-header.html:51 +#: plinth/templates/app-header.html:53 msgid "Learn more..." msgstr "Lees meer..." @@ -2165,19 +2145,19 @@ msgid "" "configuration process." msgstr "" -#: plinth/modules/i2p/__init__.py:38 +#: plinth/modules/i2p/__init__.py:62 msgid "Manage I2P application" msgstr "I2P-toepassing beheren" -#: plinth/modules/i2p/__init__.py:64 plinth/modules/i2p/manifest.py:16 +#: plinth/modules/i2p/__init__.py:65 plinth/modules/i2p/manifest.py:16 msgid "I2P" msgstr "I2P" -#: plinth/modules/i2p/__init__.py:65 plinth/modules/tor/__init__.py:56 +#: plinth/modules/i2p/__init__.py:66 plinth/modules/tor/__init__.py:55 msgid "Anonymity Network" msgstr "Anonimiteitsnetwerk" -#: plinth/modules/i2p/__init__.py:87 +#: plinth/modules/i2p/__init__.py:88 msgid "I2P Proxy" msgstr "I2P proxy" @@ -2250,18 +2230,18 @@ msgstr "" "Configuratie kan je deze instellingen wijzigen en nieuwe gebruikers " "registreren." -#: plinth/modules/ikiwiki/__init__.py:39 -msgid "View and edit wiki applications" -msgstr "Bekijken en bewerken van wiki toepassingen" - -#: plinth/modules/ikiwiki/__init__.py:53 plinth/modules/ikiwiki/manifest.py:9 +#: plinth/modules/ikiwiki/__init__.py:52 plinth/modules/ikiwiki/manifest.py:9 msgid "ikiwiki" msgstr "ikiwiki" -#: plinth/modules/ikiwiki/__init__.py:54 +#: plinth/modules/ikiwiki/__init__.py:53 msgid "Wiki and Blog" msgstr "Wiki en Blog" +#: plinth/modules/ikiwiki/__init__.py:73 +msgid "View and edit wiki applications" +msgstr "Bekijken en bewerken van wiki toepassingen" + #: plinth/modules/ikiwiki/forms.py:17 msgid "Admin Account Name" msgstr "Beheerdersaccount naam" @@ -2307,33 +2287,33 @@ msgstr "" "Deze actie zal alle bijdragen, pagina's, en commentaar inclusief revisie-" "historie. Deze wiki of blog permanent verwijderen?" -#: plinth/modules/ikiwiki/views.py:72 +#: plinth/modules/ikiwiki/views.py:70 #, python-brace-format msgid "Created wiki {name}." msgstr "Wiki {name} gemaakt." -#: plinth/modules/ikiwiki/views.py:75 +#: plinth/modules/ikiwiki/views.py:73 #, python-brace-format msgid "Could not create wiki: {error}" msgstr "Kan wiki niet aanmaken: {error}" -#: plinth/modules/ikiwiki/views.py:85 +#: plinth/modules/ikiwiki/views.py:83 #, python-brace-format msgid "Created blog {name}." msgstr "Blog {name} gemaakt." -#: plinth/modules/ikiwiki/views.py:88 +#: plinth/modules/ikiwiki/views.py:86 #, python-brace-format msgid "Could not create blog: {error}" msgstr "Kan blog niet aanmaken: {error}" -#: plinth/modules/ikiwiki/views.py:103 +#: plinth/modules/ikiwiki/views.py:101 #, fuzzy, python-brace-format #| msgid "{name} deleted." msgid "{title} deleted." msgstr "{name} verwijderd." -#: plinth/modules/ikiwiki/views.py:107 +#: plinth/modules/ikiwiki/views.py:105 #, fuzzy, python-brace-format #| msgid "Could not delete {name}: {error}" msgid "Could not delete {title}: {error}" @@ -2381,7 +2361,7 @@ msgstr "" "Start Gobby en selecteer vervolgens \"Verbinden met Server\" en voer uw " "{box_name} domeinnaam in." -#: plinth/modules/jsxc/__init__.py:22 +#: plinth/modules/jsxc/__init__.py:23 msgid "" "JSXC is a web client for XMPP. Typically it is used with an XMPP server " "running locally." @@ -2389,11 +2369,11 @@ msgstr "" "JSXC is een webclient voor XMPP. Het wordt meestal gebruikt met een XMPP-" "server die lokaal wordt uitgevoerd." -#: plinth/modules/jsxc/__init__.py:40 plinth/modules/jsxc/manifest.py:10 +#: plinth/modules/jsxc/__init__.py:43 plinth/modules/jsxc/manifest.py:10 msgid "JSXC" msgstr "JSXC" -#: plinth/modules/jsxc/__init__.py:41 +#: plinth/modules/jsxc/__init__.py:44 msgid "Chat Client" msgstr "Chat Cliënt" @@ -2581,11 +2561,11 @@ msgstr "" msgid "Matrix Synapse" msgstr "Matrix Synapse" -#: plinth/modules/matrixsynapse/forms.py:14 +#: plinth/modules/matrixsynapse/forms.py:12 msgid "Enable Public Registration" msgstr "Openbare registratie inschakelen" -#: plinth/modules/matrixsynapse/forms.py:15 +#: plinth/modules/matrixsynapse/forms.py:13 msgid "" "Enabling public registration means that anyone on the Internet can register " "a new account on your Matrix server. Disable this if you only want existing " @@ -2600,6 +2580,12 @@ msgstr "" msgid "Riot" msgstr "Riot" +#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 +#: plinth/modules/snapshot/templates/snapshot.html:12 +#: plinth/templates/app.html:46 +msgid "Configuration" +msgstr "Configuratie" + #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:18 msgid "" "Matrix service needs to be configured for a domain. Users on other Matrix " @@ -2661,11 +2647,11 @@ msgid "" "go to Let's Encrypt to obtain one." msgstr "" -#: plinth/modules/matrixsynapse/views.py:98 +#: plinth/modules/matrixsynapse/views.py:86 msgid "Public registration enabled" msgstr "Openbare registratie ingeschakeld" -#: plinth/modules/matrixsynapse/views.py:103 +#: plinth/modules/matrixsynapse/views.py:91 msgid "Public registration disabled" msgstr "Openbare registratie uitgeschakeld" @@ -2713,11 +2699,11 @@ msgstr "MediaWiki" msgid "Wiki" msgstr "Wiki" -#: plinth/modules/mediawiki/forms.py:27 +#: plinth/modules/mediawiki/forms.py:25 msgid "Administrator Password" msgstr "Beheerderswachtwoord" -#: plinth/modules/mediawiki/forms.py:28 +#: plinth/modules/mediawiki/forms.py:26 msgid "" "Set a new password for MediaWiki's administrator account (admin). Leave this " "field blank to keep the current password." @@ -2725,11 +2711,11 @@ msgstr "" "Stel een nieuw wachtwoord in voor MediaWiki's beheerdersaccount (admin). " "Laat dit veld leeg om het huidige wachtwoord te behouden." -#: plinth/modules/mediawiki/forms.py:33 +#: plinth/modules/mediawiki/forms.py:31 msgid "Enable public registrations" msgstr "Openbare registraties inschakelen" -#: plinth/modules/mediawiki/forms.py:34 +#: plinth/modules/mediawiki/forms.py:32 msgid "" "If enabled, anyone on the internet will be able to create an account on your " "MediaWiki instance." @@ -2737,11 +2723,11 @@ msgstr "" "Als dit actief is, zal iedereen via het internet een gebruiker op uw " "MediaWiki applicatie kunnen registreren." -#: plinth/modules/mediawiki/forms.py:38 +#: plinth/modules/mediawiki/forms.py:36 msgid "Enable private mode" msgstr "Privé-modus inschakelen" -#: plinth/modules/mediawiki/forms.py:39 +#: plinth/modules/mediawiki/forms.py:37 msgid "" "If enabled, access will be restricted. Only people who have accounts can " "read/write to the wiki. Public registrations will also be disabled." @@ -2750,45 +2736,45 @@ msgstr "" "gebruikers zullen de wiki kunnen lezen en bewerken. Registratie is niet open " "voor publiek." -#: plinth/modules/mediawiki/forms.py:44 +#: plinth/modules/mediawiki/forms.py:42 #, fuzzy #| msgid "Default" msgid "Default Skin" msgstr "Standaard" -#: plinth/modules/mediawiki/forms.py:45 +#: plinth/modules/mediawiki/forms.py:43 msgid "" "Choose a default skin for your MediaWiki installation. Users have the option " "to select their preferred skin." msgstr "" -#: plinth/modules/mediawiki/views.py:53 +#: plinth/modules/mediawiki/views.py:48 msgid "Password updated" msgstr "Wachtwoord bijgewerkt" -#: plinth/modules/mediawiki/views.py:72 +#: plinth/modules/mediawiki/views.py:57 msgid "Public registrations enabled" msgstr "Openbare registraties ingeschakeld" -#: plinth/modules/mediawiki/views.py:81 +#: plinth/modules/mediawiki/views.py:66 msgid "Public registrations disabled" msgstr "Openbare registraties uitgeschakeld" -#: plinth/modules/mediawiki/views.py:86 +#: plinth/modules/mediawiki/views.py:71 msgid "Private mode enabled" msgstr "Privé-modus ingeschakeld" -#: plinth/modules/mediawiki/views.py:93 +#: plinth/modules/mediawiki/views.py:78 msgid "Private mode disabled" msgstr "Privé-modus uitgeschakeld" -#: plinth/modules/mediawiki/views.py:101 +#: plinth/modules/mediawiki/views.py:86 #, fuzzy #| msgid "Setting unchanged" msgid "Default skin changed" msgstr "Instelling onveranderd" -#: plinth/modules/minetest/__init__.py:37 +#: plinth/modules/minetest/__init__.py:38 #, python-brace-format msgid "" "Minetest is a multiplayer infinite-world block sandbox. This module enables " @@ -2801,31 +2787,31 @@ msgstr "" "standaardpoort (30000). Voor de verbinding met de server is een Minetest client nodig." -#: plinth/modules/minetest/__init__.py:63 +#: plinth/modules/minetest/__init__.py:62 #: plinth/modules/minetest/manifest.py:10 msgid "Minetest" msgstr "Minetest" -#: plinth/modules/minetest/__init__.py:64 +#: plinth/modules/minetest/__init__.py:63 msgid "Block Sandbox" msgstr "Block Sandbox" -#: plinth/modules/minetest/forms.py:15 +#: plinth/modules/minetest/forms.py:13 msgid "Maximum number of players" msgstr "Maximum aantal spelers" -#: plinth/modules/minetest/forms.py:17 +#: plinth/modules/minetest/forms.py:15 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:21 +#: plinth/modules/minetest/forms.py:19 msgid "Enable creative mode" msgstr "Creatieve modus inschakelen" -#: plinth/modules/minetest/forms.py:22 +#: plinth/modules/minetest/forms.py:20 msgid "" "Creative mode changes the rules of the game to make it more suitable for " "creative gameplay, rather than challenging \"survival\" gameplay." @@ -2834,21 +2820,21 @@ msgstr "" "maken voor creatief gebruik, in plaats van de uitdagingen van de " "\"overlevings\" modus." -#: plinth/modules/minetest/forms.py:27 +#: plinth/modules/minetest/forms.py:25 msgid "Enable PVP" msgstr "Schakel PVP in" -#: plinth/modules/minetest/forms.py:28 +#: plinth/modules/minetest/forms.py:26 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:32 +#: plinth/modules/minetest/forms.py:30 msgid "Enable damage" msgstr "Inschakelen Schade" -#: plinth/modules/minetest/forms.py:33 +#: plinth/modules/minetest/forms.py:31 msgid "When disabled, players cannot die or receive damage of any kind." msgstr "Indien uitgeschakeld, kunnen spelers niet sterven of schade oplopen." @@ -2889,21 +2875,21 @@ msgid "" "Kodi." msgstr "" -#: plinth/modules/minidlna/__init__.py:33 +#: plinth/modules/minidlna/__init__.py:44 msgid "Media streaming server" msgstr "" -#: plinth/modules/minidlna/__init__.py:47 +#: plinth/modules/minidlna/__init__.py:48 #, fuzzy #| msgid "Mumble Voice Chat Server" msgid "Simple Media Server" msgstr "Mumble Voice Chat Server" -#: plinth/modules/minidlna/forms.py:15 +#: plinth/modules/minidlna/forms.py:13 msgid "Media Files Directory" msgstr "" -#: plinth/modules/minidlna/forms.py:16 +#: plinth/modules/minidlna/forms.py:14 msgid "" "Directory that MiniDLNA Server will read for content. All sub-directories of " "this will be also scanned for media files. If you change the default ensure " @@ -2955,16 +2941,16 @@ msgid "" "On {box_name}, downloaded files can be found in /var/lib/mldonkey/ directory." msgstr "" -#: plinth/modules/mldonkey/__init__.py:40 +#: plinth/modules/mldonkey/__init__.py:50 msgid "Download files using eDonkey applications" msgstr "Bestanden downloaden met eDonkey-toepassingen" -#: plinth/modules/mldonkey/__init__.py:54 +#: plinth/modules/mldonkey/__init__.py:53 #: plinth/modules/mldonkey/manifest.py:12 msgid "MLDonkey" msgstr "MLDonkey" -#: plinth/modules/mldonkey/__init__.py:56 +#: plinth/modules/mldonkey/__init__.py:55 msgid "Peer-to-peer File Sharing" msgstr "Peer-to-peer bestandsdeling" @@ -2976,7 +2962,7 @@ msgstr "KMLDonkey" msgid "AMLDonkey" msgstr "AMLDonkey" -#: plinth/modules/monkeysphere/__init__.py:18 +#: plinth/modules/monkeysphere/__init__.py:19 msgid "" "With Monkeysphere, an OpenPGP key can be generated for each configured " "domain serving SSH. The OpenPGP public key can then be uploaded to the " @@ -2998,7 +2984,7 @@ msgstr "" "monkeysphere.info/getting-started-ssh/\"> Monkeysphere SSH documentatie " "voor meer details." -#: plinth/modules/monkeysphere/__init__.py:26 +#: plinth/modules/monkeysphere/__init__.py:27 msgid "" "Monkeysphere can also generate an OpenPGP key for each Secure Web Server " "(HTTPS) certificate installed on this machine. The OpenPGP public key can " @@ -3017,7 +3003,7 @@ msgstr "" "href=\"https://web.monkeysphere.info/download/\">Monkeysphere website " "moeten installeren." -#: plinth/modules/monkeysphere/__init__.py:50 +#: plinth/modules/monkeysphere/__init__.py:49 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:11 msgid "Monkeysphere" msgstr "Monkeysphere" @@ -3066,15 +3052,15 @@ msgstr "Toon details voor sleutel %(fingerprint)s" msgid "-" msgstr "-" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:128 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:129 msgid "Import Key" msgstr "Sleutel importeren" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:137 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:139 msgid "Publish Key" msgstr "Sleutel Publiceren" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:146 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:149 msgid "Add Domains" msgstr "Domeinen toevoegen" @@ -3147,7 +3133,7 @@ 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:23 +#: plinth/modules/mumble/__init__.py:24 msgid "" "Mumble is an open source, low-latency, encrypted, high quality voice chat " "software." @@ -3155,7 +3141,7 @@ msgstr "" "Mumble is een Open Source, snelle, versleutelde, hoge kwaliteit " "groepsgespreksserver." -#: plinth/modules/mumble/__init__.py:25 +#: plinth/modules/mumble/__init__.py:26 msgid "" "You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your " @@ -3166,21 +3152,21 @@ msgstr "" "programma's waarmee de Mumble dienst gebruikt kan worden. Er zijn " "programma's voor zowel desktop en Android machines." -#: plinth/modules/mumble/__init__.py:49 plinth/modules/mumble/manifest.py:12 +#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:12 msgid "Mumble" msgstr "Mumble" -#: plinth/modules/mumble/__init__.py:50 +#: plinth/modules/mumble/__init__.py:49 msgid "Voice Chat" msgstr "Voice Chat" -#: plinth/modules/mumble/forms.py:16 +#: plinth/modules/mumble/forms.py:14 #, fuzzy #| msgid "SSH server password" msgid "Set SuperUser Password" msgstr "SSH-server wachtwoord" -#: plinth/modules/mumble/forms.py:19 +#: plinth/modules/mumble/forms.py:17 msgid "" "Optional. Leave this field blank to keep the current password. SuperUser " "password can be used to manage permissions in Mumble." @@ -3498,7 +3484,7 @@ msgstr "Open" #: plinth/modules/networks/forms.py:297 #, fuzzy, python-brace-format #| msgid "Use upstream bridges to connect to Tor network" -msgid "Choose how your {box_name} is connected to your network" +msgid "Specify how your {box_name} is connected to your network" msgstr "Gebruik upstream bridges om verbinding te maken met het Tor netwerk" #: plinth/modules/networks/forms.py:304 @@ -3719,7 +3705,7 @@ msgstr "IPv4" #: plinth/modules/networks/templates/connection_show.html:171 #: plinth/modules/networks/templates/connection_show.html:212 -#: plinth/modules/shadowsocks/forms.py:49 +#: plinth/modules/shadowsocks/forms.py:48 msgid "Method" msgstr "Methode" @@ -3735,7 +3721,7 @@ msgstr "DNS server" #: plinth/modules/networks/templates/connection_show.html:201 #: plinth/modules/networks/templates/connection_show.html:240 -#: plinth/modules/storage/forms.py:141 +#: plinth/modules/storage/forms.py:139 msgid "Default" msgstr "Standaard" @@ -4217,6 +4203,11 @@ msgstr "Instelling voltooid." msgid "Setup failed." msgstr "Instelling mislukt." +#: plinth/modules/openvpn/views.py:135 plinth/modules/tor/views.py:136 +#: plinth/views.py:196 +msgid "Setting unchanged" +msgstr "Instelling onveranderd" + #: plinth/modules/pagekite/__init__.py:27 #, python-brace-format msgid "" @@ -4294,11 +4285,11 @@ msgstr "Publieke zichtbaarheid" msgid "PageKite Domain" msgstr "PageKite domein" -#: plinth/modules/pagekite/forms.py:48 +#: plinth/modules/pagekite/forms.py:47 msgid "Server domain" msgstr "Serverdomein" -#: plinth/modules/pagekite/forms.py:50 +#: plinth/modules/pagekite/forms.py:49 msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " "pagekite.net server." @@ -4306,31 +4297,31 @@ msgstr "" "Selecteer een pagekite server. Gebruik \"pagekite.net\" om de standaard " "pagekite.net server te gebruiken." -#: plinth/modules/pagekite/forms.py:53 plinth/modules/shadowsocks/forms.py:40 +#: plinth/modules/pagekite/forms.py:52 plinth/modules/shadowsocks/forms.py:39 msgid "Server port" msgstr "Serverpoort" -#: plinth/modules/pagekite/forms.py:54 +#: plinth/modules/pagekite/forms.py:53 msgid "Port of your pagekite server (default: 80)" msgstr "Poort voor de pagekite server (default: 80)" -#: plinth/modules/pagekite/forms.py:56 +#: plinth/modules/pagekite/forms.py:55 msgid "Kite name" msgstr "Kitenaam" -#: plinth/modules/pagekite/forms.py:57 +#: plinth/modules/pagekite/forms.py:56 msgid "Example: mybox.pagekite.me" msgstr "Voorbeeld: mybox.pagekite.me" -#: plinth/modules/pagekite/forms.py:59 +#: plinth/modules/pagekite/forms.py:58 msgid "Invalid kite name" msgstr "Foute kite-naam" -#: plinth/modules/pagekite/forms.py:63 +#: plinth/modules/pagekite/forms.py:62 msgid "Kite secret" msgstr "Kite-geheim" -#: plinth/modules/pagekite/forms.py:64 +#: plinth/modules/pagekite/forms.py:63 msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." @@ -4338,27 +4329,27 @@ msgstr "" "Het wachtwoord dat met deze kite is verbonden, en het standaard wachtwoord " "voor deze account als deze kite geen eigen wachtwoord heeft." -#: plinth/modules/pagekite/forms.py:101 +#: plinth/modules/pagekite/forms.py:100 msgid "protocol" msgstr "protocol" -#: plinth/modules/pagekite/forms.py:104 +#: plinth/modules/pagekite/forms.py:103 msgid "external (frontend) port" msgstr "externe (frontend) poort" -#: plinth/modules/pagekite/forms.py:107 +#: plinth/modules/pagekite/forms.py:106 msgid "internal (freedombox) port" msgstr "interne (freedombox) poort" -#: plinth/modules/pagekite/forms.py:108 +#: plinth/modules/pagekite/forms.py:107 msgid "Enable Subdomains" msgstr "Subdomeinen Inschakelen" -#: plinth/modules/pagekite/forms.py:142 +#: plinth/modules/pagekite/forms.py:141 msgid "Deleted custom service" msgstr "Verwijderde aangepaste dienst" -#: plinth/modules/pagekite/forms.py:175 +#: plinth/modules/pagekite/forms.py:174 #, fuzzy #| msgid "" #| "This service is available as a standard service. Please use the " @@ -4368,11 +4359,11 @@ msgstr "" "Deze dienst is beschikbaar als een standaarddienst. Gebruik de \"Standaard " "Diensten\" pagina." -#: plinth/modules/pagekite/forms.py:183 +#: plinth/modules/pagekite/forms.py:182 msgid "Added custom service" msgstr "Aangepaste dienst toevoegen" -#: plinth/modules/pagekite/forms.py:186 +#: plinth/modules/pagekite/forms.py:185 msgid "This service already exists" msgstr "Deze dienst bestaat al" @@ -4512,7 +4503,7 @@ msgstr "" msgid "Shut Down Now" msgstr "Nu Uitschakelen" -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 msgid "" "Privoxy is a non-caching web proxy with advanced filtering capabilities for " "enhancing privacy, modifying web page data and HTTP headers, controlling " @@ -4522,7 +4513,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:33 +#: plinth/modules/privoxy/__init__.py:34 #, python-brace-format msgid "" "You can use Privoxy by modifying your browser proxy settings to your " @@ -4537,20 +4528,20 @@ msgstr "" "href=\"http://config.privoxy.org\">http://config.privoxy.org/ of http://p.p." -#: plinth/modules/privoxy/__init__.py:56 +#: plinth/modules/privoxy/__init__.py:55 msgid "Privoxy" msgstr "Privoxy" -#: plinth/modules/privoxy/__init__.py:57 +#: plinth/modules/privoxy/__init__.py:56 msgid "Web Proxy" msgstr "Web Proxy" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:119 #, 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:32 +#: plinth/modules/quassel/__init__.py:33 #, python-brace-format msgid "" "Quassel is an IRC application that is split into two parts, a \"core\" and a " @@ -4568,7 +4559,7 @@ msgstr "" "telefoon kunnen worden gebruikt om te verbinden of de verbinding te " "verbreken." -#: plinth/modules/quassel/__init__.py:39 +#: plinth/modules/quassel/__init__.py:40 msgid "" "You can connect to your Quassel core on the default Quassel port 4242. " "Clients to connect to Quassel from your desktop en mobiele apparaten." -#: plinth/modules/quassel/__init__.py:62 plinth/modules/quassel/manifest.py:10 +#: plinth/modules/quassel/__init__.py:61 plinth/modules/quassel/manifest.py:10 msgid "Quassel" msgstr "Quassel" -#: plinth/modules/quassel/__init__.py:63 +#: plinth/modules/quassel/__init__.py:62 msgid "IRC Client" msgstr "IRC Cliënt" -#: plinth/modules/quassel/forms.py:23 +#: plinth/modules/quassel/forms.py:22 #, fuzzy #| msgid "Subdomain" msgid "TLS domain" msgstr "Subdomein" -#: plinth/modules/quassel/forms.py:25 +#: plinth/modules/quassel/forms.py:24 msgid "" "Select a domain to use TLS with. If the list is empty, please configure at " "least one domain with certificates." @@ -4604,7 +4595,7 @@ msgstr "" msgid "Quasseldroid" msgstr "Quasseldroid" -#: plinth/modules/radicale/__init__.py:32 +#: plinth/modules/radicale/__init__.py:33 #, python-brace-format msgid "" "Radicale is a CalDAV and CardDAV server. It allows synchronization and " @@ -4617,29 +4608,29 @@ msgstr "" "\"http://radicale.org/clients\">ondersteunde clienttoepassing nodig. " "Radicale kan worden benaderd door elke {box_name} gebruiker." -#: plinth/modules/radicale/__init__.py:37 +#: plinth/modules/radicale/__init__.py:38 msgid "" "Radicale provides a basic web interface, which only supports creating new " "calendars and addressbooks. It does not support adding events or contacts, " "which must be done using a separate client." msgstr "" -#: plinth/modules/radicale/__init__.py:62 +#: plinth/modules/radicale/__init__.py:61 #: plinth/modules/radicale/manifest.py:75 msgid "Radicale" msgstr "Radicale" -#: plinth/modules/radicale/__init__.py:63 +#: plinth/modules/radicale/__init__.py:62 msgid "Calendar and Addressbook" msgstr "Agenda en Adresboek" -#: plinth/modules/radicale/forms.py:15 +#: plinth/modules/radicale/forms.py:14 msgid "Only the owner of a calendar/addressbook can view or make changes." msgstr "" "Alleen de eigenaar van een kalender/adresboek kan deze bekijken of " "wijzigingen aanbrengen." -#: plinth/modules/radicale/forms.py:19 +#: plinth/modules/radicale/forms.py:18 #, python-brace-format msgid "" "Any user with a {box_name} login can view any calendar/addressbook, but only " @@ -4648,7 +4639,7 @@ msgstr "" "Elke gebruiker met een {box_name} login kan een kalender/adresboek bekijken, " "maar alleen de eigenaar kan wijzigingen aanbrengen." -#: plinth/modules/radicale/forms.py:24 +#: plinth/modules/radicale/forms.py:23 #, python-brace-format msgid "" "Any user with a {box_name} login can view or make changes to any calendar/" @@ -4797,11 +4788,11 @@ msgid "" "private space." msgstr "" -#: plinth/modules/samba/__init__.py:47 +#: plinth/modules/samba/__init__.py:59 msgid "Access to the private shares" msgstr "" -#: plinth/modules/samba/__init__.py:61 +#: plinth/modules/samba/__init__.py:62 msgid "Samba" msgstr "" @@ -4875,13 +4866,13 @@ msgstr "Gedeelde map toegevoegd." msgid "Action" msgstr "Acties" -#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:149 +#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:147 #, fuzzy #| msgid "Add Share" msgid "Open Share" msgstr "Gedeelde map toevoegen" -#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:147 +#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:145 #, fuzzy #| msgid "Add Share" msgid "Group Share" @@ -4933,44 +4924,44 @@ msgstr "" "Searx kan worden gebruikt om tracking en profilering door zoekmachines te " "voorkomen. Het slaat standaard geen cookies op." -#: plinth/modules/searx/__init__.py:31 +#: plinth/modules/searx/__init__.py:45 msgid "Search the web" msgstr "Zoeken op internet" -#: plinth/modules/searx/__init__.py:47 plinth/modules/searx/manifest.py:9 +#: plinth/modules/searx/__init__.py:48 plinth/modules/searx/manifest.py:9 msgid "Searx" msgstr "Searx" -#: plinth/modules/searx/__init__.py:48 +#: plinth/modules/searx/__init__.py:49 msgid "Web Search" msgstr "Zoeken op het Internet" -#: plinth/modules/searx/forms.py:15 +#: plinth/modules/searx/forms.py:13 msgid "Safe Search" msgstr "Veilig Zoeken" -#: plinth/modules/searx/forms.py:16 +#: plinth/modules/searx/forms.py:14 msgid "Select the default family filter to apply to your search results." msgstr "" "Kies het standaard familiefilter om toe te passen op uw zoekresultaten." -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "None" msgstr "Geen" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "Moderate" msgstr "Modereren" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "Strict" msgstr "Strikt" -#: plinth/modules/searx/forms.py:20 +#: plinth/modules/searx/forms.py:18 msgid "Allow Public Access" msgstr "Openbare toegang toestaan" -#: plinth/modules/searx/forms.py:21 +#: plinth/modules/searx/forms.py:19 msgid "Allow this application to be used by anyone who can reach it." msgstr "" "Sta toe dat deze applicatie wordt gebruikt door iedereen die er toegang toe " @@ -5168,30 +5159,30 @@ msgstr "Shadowsocks" msgid "Socks5 Proxy" msgstr "Socks5 Proxy" +#: plinth/modules/shadowsocks/forms.py:12 #: plinth/modules/shadowsocks/forms.py:13 -#: plinth/modules/shadowsocks/forms.py:14 msgid "Recommended" msgstr "Aanbevolen" -#: plinth/modules/shadowsocks/forms.py:37 +#: plinth/modules/shadowsocks/forms.py:36 msgid "Server" msgstr "Server" -#: plinth/modules/shadowsocks/forms.py:38 +#: plinth/modules/shadowsocks/forms.py:37 msgid "Server hostname or IP address" msgstr "Server hostnaam of IP adres" -#: plinth/modules/shadowsocks/forms.py:42 +#: plinth/modules/shadowsocks/forms.py:41 msgid "Server port number" msgstr "Server poortnummer" -#: plinth/modules/shadowsocks/forms.py:45 +#: plinth/modules/shadowsocks/forms.py:44 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:50 +#: plinth/modules/shadowsocks/forms.py:49 msgid "Encryption method. Must match setting on server." msgstr "Encryptie methode. Moet overeenkomen met de instelling van de server." @@ -5236,11 +5227,11 @@ msgstr "Publieke share" msgid "Make files in this folder available to anyone with the link." msgstr "Bestanden in deze map beschikbaar maken voor iedereen met de link." -#: plinth/modules/sharing/forms.py:33 +#: plinth/modules/sharing/forms.py:34 msgid "User groups that can read the files in the share" msgstr "Gebruikersgroepen die de bestanden in de share kunnen lezen" -#: plinth/modules/sharing/forms.py:35 +#: plinth/modules/sharing/forms.py:36 msgid "" "Users of the selected user groups will be able to read the files in the " "share." @@ -5533,13 +5524,13 @@ msgstr "" msgid "Secure Shell (SSH) Server" msgstr "Secure Shell (SSH) Server" -#: plinth/modules/ssh/forms.py:15 +#: plinth/modules/ssh/forms.py:13 #, fuzzy #| msgid "Use HTTP basic authentication" msgid "Disable password authentication" msgstr "Gebruik HTTP-basisverificatie" -#: plinth/modules/ssh/forms.py:16 +#: plinth/modules/ssh/forms.py:14 msgid "" "Improves security by preventing password guessing. Ensure that you have " "setup SSH keys in your administrator user account before enabling this " @@ -5592,88 +5583,88 @@ msgid "" "media, expand the root partition etc." msgstr "" -#: plinth/modules/storage/__init__.py:52 plinth/modules/storage/__init__.py:318 +#: plinth/modules/storage/__init__.py:54 plinth/modules/storage/__init__.py:320 msgid "Storage" msgstr "Storage" -#: 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 "De bewerking is mislukt." -#: plinth/modules/storage/__init__.py:235 +#: plinth/modules/storage/__init__.py:237 msgid "The operation was cancelled." msgstr "De bewerking is afgebroken." -#: plinth/modules/storage/__init__.py:237 +#: plinth/modules/storage/__init__.py:239 msgid "The device is already unmounting." msgstr "Het apparaat is al aan het ontkoppelen." -#: 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 "Er is een time-out opgetreden voor deze bewerking." -#: 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 "Poging om een apparaat te ontkoppelen dat in gebruik is." -#: plinth/modules/storage/__init__.py:249 +#: plinth/modules/storage/__init__.py:251 msgid "The operation has already been cancelled." msgstr "De bewerking is al geannuleerd." -#: 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 "Het apparaat is al gekoppeld." -#: plinth/modules/storage/__init__.py:259 +#: plinth/modules/storage/__init__.py:261 msgid "The device is not mounted." msgstr "Het apparaat is niet ge-mount." -#: 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 "" -#: plinth/modules/storage/__init__.py:313 +#: plinth/modules/storage/__init__.py:315 #, fuzzy, no-python-format, python-brace-format #| msgid "" #| "Warning: Low space on system partition ({percent_used}% used, " @@ -5683,51 +5674,51 @@ msgstr "" "Waarschuwing: Weinig ruimte op de systeempartitie ({percent_used} % " "gebruikt, {free_space} vrij)." -#: plinth/modules/storage/__init__.py:315 +#: plinth/modules/storage/__init__.py:317 msgid "Low disk space" msgstr "" -#: plinth/modules/storage/forms.py:64 +#: plinth/modules/storage/forms.py:63 #, fuzzy #| msgid "Invalid hostname" msgid "Invalid directory name." msgstr "Foutieve hostnaam" -#: plinth/modules/storage/forms.py:82 +#: plinth/modules/storage/forms.py:80 msgid "Directory does not exist." msgstr "" -#: plinth/modules/storage/forms.py:84 +#: plinth/modules/storage/forms.py:83 #, fuzzy #| msgid "Download directory" msgid "Path is not a directory." msgstr "Opslagmap" -#: plinth/modules/storage/forms.py:87 +#: plinth/modules/storage/forms.py:86 msgid "Directory is not readable by the user." msgstr "" -#: plinth/modules/storage/forms.py:90 +#: plinth/modules/storage/forms.py:89 msgid "Directory is not writable by the user." msgstr "" -#: plinth/modules/storage/forms.py:95 +#: plinth/modules/storage/forms.py:94 #, fuzzy #| msgid "Download directory" msgid "Directory" msgstr "Opslagmap" -#: plinth/modules/storage/forms.py:98 +#: plinth/modules/storage/forms.py:96 msgid "Subdirectory (optional)" msgstr "" -#: plinth/modules/storage/forms.py:145 +#: plinth/modules/storage/forms.py:143 #, fuzzy #| msgid "Shared" msgid "Share" msgstr "Gedeeld" -#: plinth/modules/storage/forms.py:153 +#: plinth/modules/storage/forms.py:151 msgid "Other directory (specify below)" msgstr "" @@ -5813,14 +5804,22 @@ msgstr "" "Syncthing draait." #: plinth/modules/syncthing/__init__.py:31 -#, python-brace-format +#, fuzzy, python-brace-format +#| msgid "" +#| "Running Syncthing on {box_name} provides an extra synchronization point " +#| "for your data that is available most of the time, allowing your devices " +#| "to synchronize more often. {box_name} runs a single instance of " +#| "Syncthing that may be used by multiple users. Each user's set of devices " +#| "may be synchronized with a distinct set of folders. The web interface on " +#| "{box_name} is only available for users belonging to the \"admin\" group." msgid "" "Running Syncthing on {box_name} provides an extra synchronization point for " "your data that is available most of the time, allowing your devices to " "synchronize more often. {box_name} runs a single instance of Syncthing that " "may be used by multiple users. Each user's set of devices may be " "synchronized with a distinct set of folders. The web interface on " -"{box_name} is only available for users belonging to the \"admin\" group." +"{box_name} is only available for users belonging to the \"admin\" or " +"\"syncthing\" group." msgstr "" "Syncthing op {box_name} biedt een extra synchronisatiepunt voor uw gegevens. " "{box_name} draait een enkel exemplaar van Syncthing die gebruikt kan worden " @@ -5829,16 +5828,16 @@ msgstr "" "{box_name} is alleen beschikbaar voor gebruikers die tot de \"admin\"-groep " "behoren." -#: plinth/modules/syncthing/__init__.py:40 +#: plinth/modules/syncthing/__init__.py:53 msgid "Administer Syncthing application" msgstr "Beheer Syncthing toepassing" -#: plinth/modules/syncthing/__init__.py:54 +#: plinth/modules/syncthing/__init__.py:56 #: plinth/modules/syncthing/manifest.py:13 msgid "Syncthing" msgstr "Syncthing" -#: plinth/modules/syncthing/__init__.py:55 +#: plinth/modules/syncthing/__init__.py:57 msgid "File Synchronization" msgstr "Bestandssynchronisatie" @@ -5888,33 +5887,33 @@ msgstr "" "LAFS op https://" "%(domain_name)s:5678." -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:39 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:29 msgid "Local introducer" msgstr "Lokale introduceerder" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:59 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:76 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:33 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:49 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:66 msgid "Pet Name" msgstr "Naam Huisdier" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:56 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:46 msgid "Add new introducer" msgstr "Nieuwe introduceerder toevoegen" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:67 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:57 msgid "Add" msgstr "Toevoegen" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:72 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:62 msgid "Connected introducers" msgstr "Verbonden introduceerders" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:89 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:79 msgid "Remove" msgstr "Verwijderen" -#: plinth/modules/tor/__init__.py:33 +#: plinth/modules/tor/__init__.py:34 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -5928,42 +5927,42 @@ msgstr "" "de Tor " "Browser aan." -#: plinth/modules/tor/__init__.py:55 +#: plinth/modules/tor/__init__.py:54 msgid "Tor" msgstr "Tor" -#: plinth/modules/tor/__init__.py:66 +#: plinth/modules/tor/__init__.py:65 #, fuzzy #| msgid "Tor Hidden Service" msgid "Tor Onion Service" msgstr "Tor-Hidden Service" -#: plinth/modules/tor/__init__.py:70 +#: plinth/modules/tor/__init__.py:69 msgid "Tor Socks Proxy" msgstr "Tor Socks Proxy" -#: plinth/modules/tor/__init__.py:74 +#: plinth/modules/tor/__init__.py:73 msgid "Tor Bridge Relay" msgstr "Tor Bridge Relay" -#: plinth/modules/tor/__init__.py:95 +#: plinth/modules/tor/__init__.py:98 msgid "Tor relay port available" msgstr "Tor relay poort beschikbaar" -#: plinth/modules/tor/__init__.py:105 +#: plinth/modules/tor/__init__.py:108 msgid "Obfs3 transport registered" msgstr "Obfs3 transport geregistreerd" -#: plinth/modules/tor/__init__.py:115 +#: plinth/modules/tor/__init__.py:118 msgid "Obfs4 transport registered" msgstr "Obfs4 transport geregistreerd" -#: plinth/modules/tor/__init__.py:208 +#: plinth/modules/tor/__init__.py:211 #, 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:219 +#: plinth/modules/tor/__init__.py:222 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "Bevestig Tor gebruik met {url} via tcp{kind}" @@ -6125,7 +6124,7 @@ 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:27 +#: plinth/modules/transmission/__init__.py:28 msgid "" "BitTorrent is a peer-to-peer file sharing protocol. Transmission daemon " "handles Bitorrent file sharing. Note that BitTorrent is not anonymous." @@ -6134,7 +6133,7 @@ msgstr "" "daemon voorziet in Bittorrent bestandsdelingdiensten. Houd in gedachten dat " "BitTorrent gebruik niet anoniem is." -#: plinth/modules/transmission/__init__.py:48 +#: plinth/modules/transmission/__init__.py:51 #: plinth/modules/transmission/manifest.py:9 msgid "Transmission" msgstr "Transmission" @@ -6177,15 +6176,15 @@ msgstr "" "gebruikt, voer dan de URL /tt-rss-app in om te " "verbinden." -#: plinth/modules/ttrss/__init__.py:42 +#: plinth/modules/ttrss/__init__.py:54 msgid "Read and subscribe to news feeds" msgstr "Lezen en abonneren op nieuwsfeeds" -#: plinth/modules/ttrss/__init__.py:56 plinth/modules/ttrss/manifest.py:19 +#: plinth/modules/ttrss/__init__.py:57 plinth/modules/ttrss/manifest.py:19 msgid "Tiny Tiny RSS" msgstr "Tiny Tiny RSS" -#: plinth/modules/ttrss/__init__.py:57 +#: plinth/modules/ttrss/__init__.py:58 msgid "News Feed Reader" msgstr "News Feed Reader" @@ -6198,11 +6197,11 @@ msgid "Check for and apply the latest software and security updates." msgstr "" "Controleer de nieuwste software- en beveiligingsupdates en pas deze toe." -#: plinth/modules/upgrades/__init__.py:38 plinth/templates/setup.html:74 +#: plinth/modules/upgrades/__init__.py:40 plinth/templates/setup.html:74 msgid "Update" msgstr "Update" -#: plinth/modules/upgrades/__init__.py:76 +#: plinth/modules/upgrades/__init__.py:78 #, fuzzy #| msgid "FreedomBox Foundation" msgid "FreedomBox Updated" @@ -6262,43 +6261,39 @@ msgstr "" #: plinth/modules/upgrades/templates/upgrades_configure.html:11 #: plinth/modules/upgrades/templates/upgrades_configure.html:12 -#: plinth/modules/upgrades/views.py:88 +#: plinth/modules/upgrades/views.py:85 msgid "Manual update" msgstr "Handmatige update" -#: plinth/modules/upgrades/views.py:47 +#: plinth/modules/upgrades/views.py:46 #, python-brace-format msgid "Error when configuring unattended-upgrades: {error}" msgstr "Fout bij het instellen van automatische upgrades: {error}" -#: plinth/modules/upgrades/views.py:51 +#: plinth/modules/upgrades/views.py:50 msgid "Automatic upgrades enabled" msgstr "Automatisch bijwerken ingeschakeld" -#: plinth/modules/upgrades/views.py:54 +#: plinth/modules/upgrades/views.py:53 msgid "Automatic upgrades disabled" msgstr "Automatisch bijwerken uitgeschakeld" -#: plinth/modules/upgrades/views.py:56 -msgid "Settings unchanged" -msgstr "Instellingen onveranderd" - -#: plinth/modules/upgrades/views.py:82 +#: plinth/modules/upgrades/views.py:79 msgid "Upgrade process started." msgstr "Upgrade-proces gestart." -#: plinth/modules/upgrades/views.py:85 +#: plinth/modules/upgrades/views.py:82 msgid "Starting upgrade failed." msgstr "Starten van de upgrade is mislukt." -#: plinth/modules/users/__init__.py:37 +#: plinth/modules/users/__init__.py:39 msgid "" "Create and managed user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " "account to be part of a group to authorize the user to access the app." msgstr "" -#: plinth/modules/users/__init__.py:42 +#: plinth/modules/users/__init__.py:44 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -6306,45 +6301,51 @@ msgid "" "group may alter apps or system settings." msgstr "" -#: plinth/modules/users/__init__.py:64 +#: plinth/modules/users/__init__.py:65 msgid "Users and Groups" msgstr "Gebruikers en Groepen" -#: plinth/modules/users/__init__.py:115 +#: plinth/modules/users/__init__.py:78 +msgid "Access to all services and system settings" +msgstr "Toegang tot alle diensten en systeeminstellingen" + +#: plinth/modules/users/__init__.py:122 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "Zoek LDAP item \"{search_item}\"" -#: plinth/modules/users/forms.py:28 -msgid "Access to all services and system settings" -msgstr "Toegang tot alle diensten en systeeminstellingen" - -#: plinth/modules/users/forms.py:44 +#: plinth/modules/users/forms.py:36 msgid "Username is taken or is reserved." msgstr "Gebruikersnaam is in gebruik of is gereserveerd." -#: plinth/modules/users/forms.py:72 +#: plinth/modules/users/forms.py:63 #, fuzzy #| msgid "Invalid server name" msgid "Enter a valid username." msgstr "Foute servernaam" -#: plinth/modules/users/forms.py:78 +#: plinth/modules/users/forms.py:69 msgid "" "Required. 150 characters or fewer. English letters, digits and @/./-/_ only." msgstr "" -#: plinth/modules/users/forms.py:91 plinth/modules/users/forms.py:207 +#: plinth/modules/users/forms.py:83 plinth/modules/users/forms.py:196 msgid "Permissions" msgstr "Toegangsrechten" -#: plinth/modules/users/forms.py:94 +#: plinth/modules/users/forms.py:85 +#, fuzzy +#| msgid "" +#| "Select which services should be available to the new user. The user will " +#| "be able to log in to services that support single sign-on through LDAP, " +#| "if they are in the appropriate group.

Users in the admin group " +#| "will be able to log in to all services. They can also log in to the " +#| "system through SSH and have administrative privileges (sudo)." msgid "" -"Select which services should be available to the new user. The user will be " -"able to log in to services that support single sign-on through LDAP, if they " -"are in the appropriate group.

Users in the admin group will be " -"able to log in to all services. They can also log in to the system through " -"SSH and have administrative privileges (sudo)." +"user. The user will be able to log in to services that support single sign-" +"on through LDAP, if they are in the appropriate group.

Users in " +"the admin group will be able to log in to all services. They can also log in " +"to the system through SSH and have administrative privileges (sudo)." msgstr "" "Selecteer de diensten die voor de nieuwe gebruiker beschikbaar moeten zijn. " "De gebruiker kan inloggen op de diensten die single sign-in met LDAP " @@ -6353,20 +6354,20 @@ msgstr "" "ook op het systeem inloggen met SSH en kunnen systeemadministratie doen " "(sudo)." -#: plinth/modules/users/forms.py:133 plinth/modules/users/forms.py:357 +#: plinth/modules/users/forms.py:122 plinth/modules/users/forms.py:345 msgid "Creating LDAP user failed." msgstr "LDAP gebruiker aanmaken mislukt." -#: plinth/modules/users/forms.py:144 +#: plinth/modules/users/forms.py:133 #, python-brace-format msgid "Failed to add new user to {group} group." msgstr "Nieuwe gebruiker aan groep {group} toevoegen mislukt." -#: plinth/modules/users/forms.py:158 +#: plinth/modules/users/forms.py:147 msgid "Authorized SSH Keys" msgstr "Geautoriseerde SSH-sleutels" -#: plinth/modules/users/forms.py:160 +#: plinth/modules/users/forms.py:149 msgid "" "Setting an SSH public key will allow this user to securely log in to the " "system without using a password. You may enter multiple keys, one on each " @@ -6377,45 +6378,45 @@ msgstr "" "sleutels toevoegen, één op elke regel. Lege regels en regels die beginnen " "met # worden genegeerd." -#: plinth/modules/users/forms.py:244 +#: plinth/modules/users/forms.py:233 msgid "Renaming LDAP user failed." msgstr "LDAP gebruiker hernoemen mislukt." -#: plinth/modules/users/forms.py:256 +#: plinth/modules/users/forms.py:245 msgid "Failed to remove user from group." msgstr "Gebruiker uit groep verwijderen mislukt." -#: plinth/modules/users/forms.py:267 +#: plinth/modules/users/forms.py:256 msgid "Failed to add user to group." msgstr "Gebruiker aan groep toevoegen mislukt." -#: plinth/modules/users/forms.py:276 +#: plinth/modules/users/forms.py:265 msgid "Unable to set SSH keys." msgstr "Kan de SSH-sleutels niet instellen." -#: plinth/modules/users/forms.py:291 +#: plinth/modules/users/forms.py:280 #, fuzzy #| msgid "Failed to add user to group." msgid "Failed to change user status." msgstr "Gebruiker aan groep toevoegen mislukt." -#: plinth/modules/users/forms.py:299 +#: plinth/modules/users/forms.py:288 msgid "Cannot delete the only administrator in the system." msgstr "Kan de enige beheerder in het systeem niet verwijderen." -#: plinth/modules/users/forms.py:331 +#: plinth/modules/users/forms.py:319 msgid "Changing LDAP user password failed." msgstr "Wijzigen LDAP gebruikerswachtwoord mislukt." -#: plinth/modules/users/forms.py:366 +#: plinth/modules/users/forms.py:354 msgid "Failed to add new user to admin group." msgstr "Toevoegen van gebruiker aan admin groep mislukt." -#: plinth/modules/users/forms.py:383 +#: plinth/modules/users/forms.py:371 msgid "Failed to restrict console access." msgstr "Consoletoegang beperken is mislukt." -#: plinth/modules/users/forms.py:395 +#: plinth/modules/users/forms.py:383 msgid "User account created, you are now logged in" msgstr "Gebruikersaccount aangemaakt, U bent nu ingelogd" @@ -7244,18 +7245,22 @@ msgstr "Installeren van %(package_names)s: %(status)s" msgid "%(percentage)s%% complete" msgstr "%(percentage)s%% voltooid" -#: plinth/views.py:184 -msgid "Application enabled" -msgstr "Toepassing ingeschakeld" - -#: plinth/views.py:187 -msgid "Application disabled" -msgstr "Toepassing uitgeschakeld" - #: plinth/web_framework.py:107 msgid "Gujarati" msgstr "Gujarati" +#~ msgid "Enable application" +#~ msgstr "Toepassing inschakelen" + +#~ msgid "Settings unchanged" +#~ msgstr "Instellingen onveranderd" + +#~ msgid "Application enabled" +#~ msgstr "Toepassing ingeschakeld" + +#~ msgid "Application disabled" +#~ msgstr "Toepassing uitgeschakeld" + #~ msgid "Kite details set" #~ msgstr "Kite details ingesteld" diff --git a/plinth/locale/pl/LC_MESSAGES/django.po b/plinth/locale/pl/LC_MESSAGES/django.po index 6f742a24b..98d9b3384 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: 2020-03-23 18:54-0400\n" +"POT-Creation-Date: 2020-04-06 19:59-0400\n" "PO-Revision-Date: 2020-02-19 22:47+0000\n" "Last-Translator: Radek Pasiok \n" "Language-Team: Polish . Standardowe hasło to \"deluge\", powinno ono być zmienione zaraz po " "zalogowaniu." -#: plinth/modules/deluge/__init__.py:30 -#: plinth/modules/transmission/__init__.py:34 +#: plinth/modules/deluge/__init__.py:46 +#: plinth/modules/transmission/__init__.py:48 msgid "Download files using BitTorrent applications" msgstr "Ściągnij pliki korzystając z aplikacji BitTorrent" -#: plinth/modules/deluge/__init__.py:46 plinth/modules/deluge/manifest.py:9 +#: plinth/modules/deluge/__init__.py:50 plinth/modules/deluge/manifest.py:9 msgid "Deluge" msgstr "Deluge" -#: plinth/modules/deluge/__init__.py:47 -#: plinth/modules/transmission/__init__.py:50 +#: plinth/modules/deluge/__init__.py:51 +#: plinth/modules/transmission/__init__.py:53 msgid "BitTorrent Web Client" msgstr "Klient BitTorrent" -#: plinth/modules/deluge/forms.py:20 plinth/modules/transmission/forms.py:20 +#: plinth/modules/deluge/forms.py:20 plinth/modules/transmission/forms.py:21 msgid "Download directory" msgstr "" @@ -1137,7 +1134,7 @@ msgstr "diaspora*" msgid "Federated Social Network" msgstr "Rozproszona sieć społecznościowa" -#: plinth/modules/diaspora/forms.py:15 +#: plinth/modules/diaspora/forms.py:13 msgid "Enable new user registrations" msgstr "Włącz rejestrację nowych użytkowników" @@ -1171,32 +1168,23 @@ msgstr "" #: plinth/modules/diaspora/templates/diaspora-pre-setup.html:43 #: plinth/modules/dynamicdns/templates/dynamicdns_configure.html:25 -#: plinth/modules/ejabberd/templates/ejabberd.html:43 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:18 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:47 #: plinth/modules/snapshot/templates/snapshot.html:15 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:35 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:43 -#: plinth/templates/app.html:52 +#: plinth/templates/app.html:54 msgid "Update setup" msgstr "Aktualizuj ustawienia" -#: plinth/modules/diaspora/views.py:76 plinth/modules/ejabberd/views.py:46 -#: plinth/modules/matrixsynapse/views.py:85 -#: plinth/modules/mediawiki/views.py:58 plinth/modules/openvpn/views.py:135 -#: plinth/modules/tor/views.py:136 plinth/views.py:180 -msgid "Setting unchanged" -msgstr "Ustawienie bez zmian" - -#: plinth/modules/diaspora/views.py:80 +#: plinth/modules/diaspora/views.py:74 msgid "User registrations enabled" msgstr "Rejestracja użytkowników włączona" -#: plinth/modules/diaspora/views.py:84 +#: plinth/modules/diaspora/views.py:78 msgid "User registrations disabled" msgstr "Rejestracja użytkowników wyłączona" -#: plinth/modules/dynamicdns/__init__.py:27 +#: plinth/modules/dynamicdns/__init__.py:28 #, python-brace-format msgid "" "If your Internet provider changes your IP address periodically (i.e. every " @@ -1207,7 +1195,7 @@ msgstr "" "twój numer IP, innym użytkownikom może być trudno cię odnaleźć. Uniemożliwia " "to znajdowanie usług świadczonych przez {box_name}." -#: plinth/modules/dynamicdns/__init__.py:31 +#: plinth/modules/dynamicdns/__init__.py:32 msgid "" "The solution is to assign a DNS name to your IP address and update the DNS " "name every time your IP is changed by your Internet provider. Dynamic DNS " @@ -1225,11 +1213,11 @@ 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:56 +#: plinth/modules/dynamicdns/__init__.py:55 msgid "Dynamic DNS Client" msgstr "Klient Dynamic DNS" -#: plinth/modules/dynamicdns/__init__.py:66 +#: plinth/modules/dynamicdns/__init__.py:65 msgid "Dynamic Domain Name" msgstr "Dynamiczna nazwa domeny" @@ -1333,7 +1321,7 @@ msgid "Username" msgstr "Nazwa użytkownika" #: plinth/modules/dynamicdns/forms.py:104 plinth/modules/networks/forms.py:200 -#: plinth/modules/shadowsocks/forms.py:45 +#: plinth/modules/shadowsocks/forms.py:44 msgid "Password" msgstr "Hasło" @@ -1428,7 +1416,7 @@ msgstr "" msgid "Last update" msgstr "Ostatnie uaktualnienie" -#: plinth/modules/dynamicdns/views.py:26 plinth/modules/help/__init__.py:49 +#: plinth/modules/dynamicdns/views.py:26 plinth/modules/help/__init__.py:51 #: plinth/templates/help-menu.html:46 plinth/templates/help-menu.html:47 msgid "About" msgstr "Informacje" @@ -1455,7 +1443,7 @@ msgstr "Konfiguruj Dynamic DNS" msgid "Dynamic DNS Status" msgstr "Status Dynamic DNS" -#: plinth/modules/ejabberd/__init__.py:36 +#: plinth/modules/ejabberd/__init__.py:37 msgid "" "XMPP is an open and standardized communication protocol. Here you can run " "and configure your XMPP server, called ejabberd." @@ -1463,7 +1451,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:39 +#: plinth/modules/ejabberd/__init__.py:40 #, python-brace-format msgid "" "To actually communicate, you can use the web clientklienta XMPP. Gdy włączony, ejabberd jest " "dostępny dla każdego użytkownika {box_name}." -#: plinth/modules/ejabberd/__init__.py:70 +#: plinth/modules/ejabberd/__init__.py:69 msgid "ejabberd" msgstr "ejabberd" -#: plinth/modules/ejabberd/__init__.py:71 +#: plinth/modules/ejabberd/__init__.py:70 #: plinth/modules/matrixsynapse/__init__.py:68 msgid "Chat Server" msgstr "Serwer czatu" -#: plinth/modules/ejabberd/forms.py:17 +#: plinth/modules/ejabberd/forms.py:16 msgid "Enable Message Archive Management" msgstr "Włącz zarządzanie archiwum wiadomości" -#: plinth/modules/ejabberd/forms.py:19 +#: plinth/modules/ejabberd/forms.py:18 #, python-brace-format msgid "" "If enabled, your {box_name} will store chat message histories. This allows " @@ -1554,19 +1542,11 @@ msgstr "" "i>. Możesz ustawić swoją domenę na stronie Konfiguruj." -#: plinth/modules/ejabberd/templates/ejabberd.html:35 -#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 -#: plinth/modules/snapshot/templates/snapshot.html:12 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:27 -#: plinth/templates/app.html:45 -msgid "Configuration" -msgstr "Konfiguracja" - -#: plinth/modules/ejabberd/views.py:58 +#: plinth/modules/ejabberd/views.py:45 msgid "Message Archive Management enabled" msgstr "Zarządzanie historią wiadomości włączone" -#: plinth/modules/ejabberd/views.py:62 +#: plinth/modules/ejabberd/views.py:49 msgid "Message Archive Management disabled" msgstr "Zarządzanie historią wiadomości wyłączone" @@ -1581,7 +1561,7 @@ msgstr "" "ruch sieciowy na twoim {box_name}. Włączony i poprawnie skonfigurowany " "firewall redukuje ryzyko zagrożeń z Internetu." -#: plinth/modules/firewall/__init__.py:63 +#: plinth/modules/firewall/__init__.py:65 msgid "Firewall" msgstr "Firewall" @@ -1719,7 +1699,7 @@ msgid "" "gittutorial\">Git tutorial." msgstr "" -#: plinth/modules/gitweb/__init__.py:39 +#: plinth/modules/gitweb/__init__.py:51 msgid "Read-write access to Git repositories" msgstr "" @@ -1884,31 +1864,31 @@ msgstr "" msgid "Could not delete {name}: {error}" msgstr "" -#: plinth/modules/help/__init__.py:30 +#: plinth/modules/help/__init__.py:32 msgid "Documentation" msgstr "Dokumentacja" -#: plinth/modules/help/__init__.py:33 plinth/modules/networks/forms.py:47 +#: plinth/modules/help/__init__.py:35 plinth/modules/networks/forms.py:47 #: plinth/modules/networks/forms.py:77 plinth/templates/help-menu.html:20 #: plinth/templates/help-menu.html:21 plinth/templates/index.html:128 msgid "Manual" msgstr "Instrukcja" -#: plinth/modules/help/__init__.py:37 +#: plinth/modules/help/__init__.py:39 #: plinth/modules/help/templates/help_support.html:9 #: plinth/modules/help/views.py:43 plinth/templates/help-menu.html:27 #: plinth/templates/help-menu.html:28 msgid "Get Support" msgstr "" -#: plinth/modules/help/__init__.py:41 +#: plinth/modules/help/__init__.py:43 #: plinth/modules/help/templates/help_feedback.html:9 #: plinth/modules/help/views.py:37 plinth/templates/help-menu.html:33 #: plinth/templates/help-menu.html:34 msgid "Submit Feedback" msgstr "" -#: plinth/modules/help/__init__.py:45 +#: plinth/modules/help/__init__.py:47 #: plinth/modules/help/templates/help_contribute.html:9 #: plinth/modules/help/views.py:31 plinth/templates/help-menu.html:39 #: plinth/templates/help-menu.html:40 @@ -2028,7 +2008,7 @@ msgstr "" #: plinth/modules/help/templates/help_contribute.html:42 #: plinth/modules/power/templates/power_restart.html:27 #: plinth/modules/power/templates/power_shutdown.html:26 -#: plinth/templates/app-header.html:51 +#: plinth/templates/app-header.html:53 #, fuzzy #| msgid "Learn more »" msgid "Learn more..." @@ -2182,23 +2162,23 @@ msgid "" "configuration process." msgstr "" -#: plinth/modules/i2p/__init__.py:38 +#: plinth/modules/i2p/__init__.py:62 #, fuzzy #| msgid "Enable application" msgid "Manage I2P application" msgstr "Aktywuj aplikację" -#: plinth/modules/i2p/__init__.py:64 plinth/modules/i2p/manifest.py:16 +#: plinth/modules/i2p/__init__.py:65 plinth/modules/i2p/manifest.py:16 msgid "I2P" msgstr "" -#: plinth/modules/i2p/__init__.py:65 plinth/modules/tor/__init__.py:56 +#: plinth/modules/i2p/__init__.py:66 plinth/modules/tor/__init__.py:55 #, fuzzy #| msgid "Go to Networks" msgid "Anonymity Network" msgstr "Przejdź do sieci" -#: plinth/modules/i2p/__init__.py:87 +#: plinth/modules/i2p/__init__.py:88 msgid "I2P Proxy" msgstr "" @@ -2251,20 +2231,20 @@ msgid "" "Configuration you can change these permissions or add new users." msgstr "" -#: plinth/modules/ikiwiki/__init__.py:39 +#: plinth/modules/ikiwiki/__init__.py:52 plinth/modules/ikiwiki/manifest.py:9 +msgid "ikiwiki" +msgstr "ikiwiki" + +#: plinth/modules/ikiwiki/__init__.py:53 +msgid "Wiki and Blog" +msgstr "Wiki i blog" + +#: plinth/modules/ikiwiki/__init__.py:73 #, fuzzy #| msgid "Services and Applications" msgid "View and edit wiki applications" msgstr "Aplikacje i usługi" -#: plinth/modules/ikiwiki/__init__.py:53 plinth/modules/ikiwiki/manifest.py:9 -msgid "ikiwiki" -msgstr "ikiwiki" - -#: plinth/modules/ikiwiki/__init__.py:54 -msgid "Wiki and Blog" -msgstr "Wiki i blog" - #: plinth/modules/ikiwiki/forms.py:17 msgid "Admin Account Name" msgstr "Nazwa konta administratora" @@ -2310,33 +2290,33 @@ msgstr "" "Ta akcja spowoduje usunięcie wszystkich postów, stron oraz komentarzy - w " "tym historii zmian. Trwale usunąć wiki lub blog?" -#: plinth/modules/ikiwiki/views.py:72 +#: plinth/modules/ikiwiki/views.py:70 #, python-brace-format msgid "Created wiki {name}." msgstr "" -#: plinth/modules/ikiwiki/views.py:75 +#: plinth/modules/ikiwiki/views.py:73 #, python-brace-format msgid "Could not create wiki: {error}" msgstr "" -#: plinth/modules/ikiwiki/views.py:85 +#: plinth/modules/ikiwiki/views.py:83 #, python-brace-format msgid "Created blog {name}." msgstr "" -#: plinth/modules/ikiwiki/views.py:88 +#: plinth/modules/ikiwiki/views.py:86 #, python-brace-format msgid "Could not create blog: {error}" msgstr "" -#: plinth/modules/ikiwiki/views.py:103 +#: plinth/modules/ikiwiki/views.py:101 #, fuzzy, python-brace-format #| msgid "Archive deleted." msgid "{title} deleted." msgstr "Archiwum zostało usunięte." -#: plinth/modules/ikiwiki/views.py:107 +#: plinth/modules/ikiwiki/views.py:105 #, python-brace-format msgid "Could not delete {title}: {error}" msgstr "" @@ -2376,7 +2356,7 @@ msgid "" "domain name." msgstr "" -#: plinth/modules/jsxc/__init__.py:22 +#: plinth/modules/jsxc/__init__.py:23 msgid "" "JSXC is a web client for XMPP. Typically it is used with an XMPP server " "running locally." @@ -2384,12 +2364,12 @@ msgstr "" "JSXC jest klientem przeglądarkowym XMPP. Zazwyczaj używany jest z serwerem " "XMPP uruchomionym lokalnie." -#: plinth/modules/jsxc/__init__.py:40 plinth/modules/jsxc/manifest.py:10 +#: plinth/modules/jsxc/__init__.py:43 plinth/modules/jsxc/manifest.py:10 #, fuzzy msgid "JSXC" msgstr "JSXC" -#: plinth/modules/jsxc/__init__.py:41 +#: plinth/modules/jsxc/__init__.py:44 msgid "Chat Client" msgstr "Klient czatu" @@ -2555,13 +2535,13 @@ msgstr "" msgid "Matrix Synapse" msgstr "" -#: plinth/modules/matrixsynapse/forms.py:14 +#: plinth/modules/matrixsynapse/forms.py:12 #, fuzzy #| msgid "Enable application" msgid "Enable Public Registration" msgstr "Aktywuj aplikację" -#: plinth/modules/matrixsynapse/forms.py:15 +#: plinth/modules/matrixsynapse/forms.py:13 msgid "" "Enabling public registration means that anyone on the Internet can register " "a new account on your Matrix server. Disable this if you only want existing " @@ -2572,6 +2552,12 @@ msgstr "" msgid "Riot" msgstr "" +#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 +#: plinth/modules/snapshot/templates/snapshot.html:12 +#: plinth/templates/app.html:46 +msgid "Configuration" +msgstr "Konfiguracja" + #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:18 msgid "" "Matrix service needs to be configured for a domain. Users on other Matrix " @@ -2616,11 +2602,11 @@ msgid "" "go to Let's Encrypt to obtain one." msgstr "" -#: plinth/modules/matrixsynapse/views.py:98 +#: plinth/modules/matrixsynapse/views.py:86 msgid "Public registration enabled" msgstr "" -#: plinth/modules/matrixsynapse/views.py:103 +#: plinth/modules/matrixsynapse/views.py:91 #, fuzzy #| msgid "Application installed." msgid "Public registration disabled" @@ -2658,89 +2644,89 @@ msgstr "" msgid "Wiki" msgstr "" -#: plinth/modules/mediawiki/forms.py:27 +#: plinth/modules/mediawiki/forms.py:25 #, fuzzy #| msgid "Administrator Account" msgid "Administrator Password" msgstr "Konto Administratora" -#: plinth/modules/mediawiki/forms.py:28 +#: plinth/modules/mediawiki/forms.py:26 msgid "" "Set a new password for MediaWiki's administrator account (admin). Leave this " "field blank to keep the current password." msgstr "" -#: plinth/modules/mediawiki/forms.py:33 +#: plinth/modules/mediawiki/forms.py:31 #, fuzzy #| msgid "Enable application" msgid "Enable public registrations" msgstr "Aktywuj aplikację" -#: plinth/modules/mediawiki/forms.py:34 +#: plinth/modules/mediawiki/forms.py:32 msgid "" "If enabled, anyone on the internet will be able to create an account on your " "MediaWiki instance." msgstr "" -#: plinth/modules/mediawiki/forms.py:38 +#: plinth/modules/mediawiki/forms.py:36 #, fuzzy #| msgid "Enable creative mode" msgid "Enable private mode" msgstr "Włącz tryb kreatywny" -#: plinth/modules/mediawiki/forms.py:39 +#: plinth/modules/mediawiki/forms.py:37 msgid "" "If enabled, access will be restricted. Only people who have accounts can " "read/write to the wiki. Public registrations will also be disabled." msgstr "" -#: plinth/modules/mediawiki/forms.py:44 +#: plinth/modules/mediawiki/forms.py:42 msgid "Default Skin" msgstr "" -#: plinth/modules/mediawiki/forms.py:45 +#: plinth/modules/mediawiki/forms.py:43 msgid "" "Choose a default skin for your MediaWiki installation. Users have the option " "to select their preferred skin." msgstr "" -#: plinth/modules/mediawiki/views.py:53 +#: plinth/modules/mediawiki/views.py:48 #, fuzzy #| msgid "Password" msgid "Password updated" msgstr "Hasło" -#: plinth/modules/mediawiki/views.py:72 +#: plinth/modules/mediawiki/views.py:57 #, fuzzy #| msgid "Application installed." msgid "Public registrations enabled" msgstr "Aplikacja zainstalowania." -#: plinth/modules/mediawiki/views.py:81 +#: plinth/modules/mediawiki/views.py:66 #, fuzzy #| msgid "Application installed." msgid "Public registrations disabled" msgstr "Aplikacja zainstalowania." -#: plinth/modules/mediawiki/views.py:86 +#: plinth/modules/mediawiki/views.py:71 #, fuzzy #| msgid "Application enabled" msgid "Private mode enabled" msgstr "Aplikacja włączona" -#: plinth/modules/mediawiki/views.py:93 +#: plinth/modules/mediawiki/views.py:78 #, fuzzy #| msgid "Application disabled" msgid "Private mode disabled" msgstr "Aplikacja wyłączona" -#: plinth/modules/mediawiki/views.py:101 +#: plinth/modules/mediawiki/views.py:86 #, fuzzy #| msgid "Setting unchanged" msgid "Default skin changed" msgstr "Ustawienie bez zmian" -#: plinth/modules/minetest/__init__.py:37 +#: plinth/modules/minetest/__init__.py:38 #, python-brace-format msgid "" "Minetest is a multiplayer infinite-world block sandbox. This module enables " @@ -2749,50 +2735,50 @@ msgid "" "downloads/\">Minetest client is needed." msgstr "" -#: plinth/modules/minetest/__init__.py:63 +#: plinth/modules/minetest/__init__.py:62 #: plinth/modules/minetest/manifest.py:10 msgid "Minetest" msgstr "" -#: plinth/modules/minetest/__init__.py:64 +#: plinth/modules/minetest/__init__.py:63 #, fuzzy #| msgid "Blocked" msgid "Block Sandbox" msgstr "Zablokowano" -#: plinth/modules/minetest/forms.py:15 +#: plinth/modules/minetest/forms.py:13 msgid "Maximum number of players" msgstr "" -#: plinth/modules/minetest/forms.py:17 +#: plinth/modules/minetest/forms.py:15 msgid "" "You can change the maximum number of players playing minetest at a single " "instance of time." msgstr "" -#: plinth/modules/minetest/forms.py:21 +#: plinth/modules/minetest/forms.py:19 msgid "Enable creative mode" msgstr "Włącz tryb kreatywny" -#: plinth/modules/minetest/forms.py:22 +#: plinth/modules/minetest/forms.py:20 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:27 +#: plinth/modules/minetest/forms.py:25 msgid "Enable PVP" msgstr "Włącz PVP" -#: plinth/modules/minetest/forms.py:28 +#: plinth/modules/minetest/forms.py:26 msgid "Enabling Player Vs Player will allow players to damage other players." msgstr "" -#: plinth/modules/minetest/forms.py:32 +#: plinth/modules/minetest/forms.py:30 msgid "Enable damage" msgstr "Włącz zniszczenia" -#: plinth/modules/minetest/forms.py:33 +#: plinth/modules/minetest/forms.py:31 msgid "When disabled, players cannot die or receive damage of any kind." msgstr "" @@ -2833,19 +2819,19 @@ msgid "" "Kodi." msgstr "" -#: plinth/modules/minidlna/__init__.py:33 +#: plinth/modules/minidlna/__init__.py:44 msgid "Media streaming server" msgstr "" -#: plinth/modules/minidlna/__init__.py:47 +#: plinth/modules/minidlna/__init__.py:48 msgid "Simple Media Server" msgstr "" -#: plinth/modules/minidlna/forms.py:15 +#: plinth/modules/minidlna/forms.py:13 msgid "Media Files Directory" msgstr "" -#: plinth/modules/minidlna/forms.py:16 +#: plinth/modules/minidlna/forms.py:14 msgid "" "Directory that MiniDLNA Server will read for content. All sub-directories of " "this will be also scanned for media files. If you change the default ensure " @@ -2897,16 +2883,16 @@ msgid "" "On {box_name}, downloaded files can be found in /var/lib/mldonkey/ directory." msgstr "" -#: plinth/modules/mldonkey/__init__.py:40 +#: plinth/modules/mldonkey/__init__.py:50 msgid "Download files using eDonkey applications" msgstr "" -#: plinth/modules/mldonkey/__init__.py:54 +#: plinth/modules/mldonkey/__init__.py:53 #: plinth/modules/mldonkey/manifest.py:12 msgid "MLDonkey" msgstr "" -#: plinth/modules/mldonkey/__init__.py:56 +#: plinth/modules/mldonkey/__init__.py:55 msgid "Peer-to-peer File Sharing" msgstr "" @@ -2918,7 +2904,7 @@ msgstr "" msgid "AMLDonkey" msgstr "" -#: plinth/modules/monkeysphere/__init__.py:18 +#: plinth/modules/monkeysphere/__init__.py:19 msgid "" "With Monkeysphere, an OpenPGP key can be generated for each configured " "domain serving SSH. The OpenPGP public key can then be uploaded to the " @@ -2930,7 +2916,7 @@ msgid "" "for more details." msgstr "" -#: plinth/modules/monkeysphere/__init__.py:26 +#: plinth/modules/monkeysphere/__init__.py:27 msgid "" "Monkeysphere can also generate an OpenPGP key for each Secure Web Server " "(HTTPS) certificate installed on this machine. The OpenPGP public key can " @@ -2941,7 +2927,7 @@ msgid "" "Monkeysphere website." msgstr "" -#: plinth/modules/monkeysphere/__init__.py:50 +#: plinth/modules/monkeysphere/__init__.py:49 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:11 msgid "Monkeysphere" msgstr "" @@ -2990,15 +2976,15 @@ msgstr "" msgid "-" msgstr "" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:128 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:129 msgid "Import Key" msgstr "" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:137 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:139 msgid "Publish Key" msgstr "" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:146 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:149 msgid "Add Domains" msgstr "" @@ -3068,34 +3054,34 @@ msgstr "" msgid "Error occurred while publishing key." msgstr "" -#: plinth/modules/mumble/__init__.py:23 +#: plinth/modules/mumble/__init__.py:24 msgid "" "Mumble is an open source, low-latency, encrypted, high quality voice chat " "software." msgstr "" -#: plinth/modules/mumble/__init__.py:25 +#: plinth/modules/mumble/__init__.py:26 msgid "" "You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your " "desktop and Android devices are available." msgstr "" -#: plinth/modules/mumble/__init__.py:49 plinth/modules/mumble/manifest.py:12 +#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:12 msgid "Mumble" msgstr "" -#: plinth/modules/mumble/__init__.py:50 +#: plinth/modules/mumble/__init__.py:49 msgid "Voice Chat" msgstr "" -#: plinth/modules/mumble/forms.py:16 +#: plinth/modules/mumble/forms.py:14 #, fuzzy #| msgid "SSH server password" msgid "Set SuperUser Password" msgstr "Hasło do serwera SSH" -#: plinth/modules/mumble/forms.py:19 +#: plinth/modules/mumble/forms.py:17 msgid "" "Optional. Leave this field blank to keep the current password. SuperUser " "password can be used to manage permissions in Mumble." @@ -3377,9 +3363,10 @@ msgid "Open" msgstr "" #: plinth/modules/networks/forms.py:297 -#, python-brace-format -msgid "Choose how your {box_name} is connected to your network" -msgstr "" +#, fuzzy, python-brace-format +#| msgid "Direct connection to the Internet." +msgid "Specify how your {box_name} is connected to your network" +msgstr "Bezpośrednie połłączenie z internetem." #: plinth/modules/networks/forms.py:304 #, python-brace-format @@ -3599,7 +3586,7 @@ msgstr "" #: plinth/modules/networks/templates/connection_show.html:171 #: plinth/modules/networks/templates/connection_show.html:212 -#: plinth/modules/shadowsocks/forms.py:49 +#: plinth/modules/shadowsocks/forms.py:48 msgid "Method" msgstr "" @@ -3615,7 +3602,7 @@ msgstr "" #: plinth/modules/networks/templates/connection_show.html:201 #: plinth/modules/networks/templates/connection_show.html:240 -#: plinth/modules/storage/forms.py:141 +#: plinth/modules/storage/forms.py:139 msgid "Default" msgstr "" @@ -4060,6 +4047,11 @@ msgstr "" msgid "Setup failed." msgstr "" +#: plinth/modules/openvpn/views.py:135 plinth/modules/tor/views.py:136 +#: plinth/views.py:196 +msgid "Setting unchanged" +msgstr "Ustawienie bez zmian" + #: plinth/modules/pagekite/__init__.py:27 #, python-brace-format msgid "" @@ -4116,75 +4108,75 @@ msgstr "" msgid "PageKite Domain" msgstr "" -#: plinth/modules/pagekite/forms.py:48 +#: plinth/modules/pagekite/forms.py:47 msgid "Server domain" msgstr "" -#: plinth/modules/pagekite/forms.py:50 +#: plinth/modules/pagekite/forms.py:49 msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " "pagekite.net server." msgstr "" -#: plinth/modules/pagekite/forms.py:53 plinth/modules/shadowsocks/forms.py:40 +#: plinth/modules/pagekite/forms.py:52 plinth/modules/shadowsocks/forms.py:39 msgid "Server port" msgstr "" -#: plinth/modules/pagekite/forms.py:54 +#: plinth/modules/pagekite/forms.py:53 msgid "Port of your pagekite server (default: 80)" msgstr "" -#: plinth/modules/pagekite/forms.py:56 +#: plinth/modules/pagekite/forms.py:55 msgid "Kite name" msgstr "" -#: plinth/modules/pagekite/forms.py:57 +#: plinth/modules/pagekite/forms.py:56 msgid "Example: mybox.pagekite.me" msgstr "" -#: plinth/modules/pagekite/forms.py:59 +#: plinth/modules/pagekite/forms.py:58 msgid "Invalid kite name" msgstr "" -#: plinth/modules/pagekite/forms.py:63 +#: plinth/modules/pagekite/forms.py:62 msgid "Kite secret" msgstr "" -#: plinth/modules/pagekite/forms.py:64 +#: plinth/modules/pagekite/forms.py:63 msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." msgstr "" -#: plinth/modules/pagekite/forms.py:101 +#: plinth/modules/pagekite/forms.py:100 msgid "protocol" msgstr "" -#: plinth/modules/pagekite/forms.py:104 +#: plinth/modules/pagekite/forms.py:103 msgid "external (frontend) port" msgstr "" -#: plinth/modules/pagekite/forms.py:107 +#: plinth/modules/pagekite/forms.py:106 msgid "internal (freedombox) port" msgstr "" -#: plinth/modules/pagekite/forms.py:108 +#: plinth/modules/pagekite/forms.py:107 msgid "Enable Subdomains" msgstr "" -#: plinth/modules/pagekite/forms.py:142 +#: plinth/modules/pagekite/forms.py:141 msgid "Deleted custom service" msgstr "" -#: plinth/modules/pagekite/forms.py:175 +#: plinth/modules/pagekite/forms.py:174 msgid "This service is already available as a standard service." msgstr "" -#: plinth/modules/pagekite/forms.py:183 +#: plinth/modules/pagekite/forms.py:182 msgid "Added custom service" msgstr "" -#: plinth/modules/pagekite/forms.py:186 +#: plinth/modules/pagekite/forms.py:185 msgid "This service already exists" msgstr "" @@ -4309,14 +4301,14 @@ msgstr "" msgid "Shut Down Now" msgstr "" -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 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:33 +#: plinth/modules/privoxy/__init__.py:34 #, python-brace-format msgid "" "You can use Privoxy by modifying your browser proxy settings to your " @@ -4326,20 +4318,20 @@ msgid "" "\">http://p.p." msgstr "" -#: plinth/modules/privoxy/__init__.py:56 +#: plinth/modules/privoxy/__init__.py:55 msgid "Privoxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:57 +#: plinth/modules/privoxy/__init__.py:56 msgid "Web Proxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:119 #, python-brace-format msgid "Access {url} with proxy {proxy} on tcp{kind}" msgstr "" -#: plinth/modules/quassel/__init__.py:32 +#: plinth/modules/quassel/__init__.py:33 #, python-brace-format msgid "" "Quassel is an IRC application that is split into two parts, a \"core\" and a " @@ -4350,7 +4342,7 @@ msgid "" "connect and disconnect from it." msgstr "" -#: plinth/modules/quassel/__init__.py:39 +#: plinth/modules/quassel/__init__.py:40 msgid "" "You can connect to your Quassel core on the default Quassel port 4242. " "Clients to connect to Quassel from your mobile devices are available." msgstr "" -#: plinth/modules/quassel/__init__.py:62 plinth/modules/quassel/manifest.py:10 +#: plinth/modules/quassel/__init__.py:61 plinth/modules/quassel/manifest.py:10 msgid "Quassel" msgstr "" -#: plinth/modules/quassel/__init__.py:63 +#: plinth/modules/quassel/__init__.py:62 msgid "IRC Client" msgstr "" -#: plinth/modules/quassel/forms.py:23 +#: plinth/modules/quassel/forms.py:22 #, fuzzy #| msgid "Subdomain" msgid "TLS domain" msgstr "Subdomena" -#: plinth/modules/quassel/forms.py:25 +#: plinth/modules/quassel/forms.py:24 msgid "" "Select a domain to use TLS with. If the list is empty, please configure at " "least one domain with certificates." @@ -4382,7 +4374,7 @@ msgstr "" msgid "Quasseldroid" msgstr "" -#: plinth/modules/radicale/__init__.py:32 +#: plinth/modules/radicale/__init__.py:33 #, python-brace-format msgid "" "Radicale is a CalDAV and CardDAV server. It allows synchronization and " @@ -4391,34 +4383,34 @@ msgid "" "can be accessed by any user with a {box_name} login." msgstr "" -#: plinth/modules/radicale/__init__.py:37 +#: plinth/modules/radicale/__init__.py:38 msgid "" "Radicale provides a basic web interface, which only supports creating new " "calendars and addressbooks. It does not support adding events or contacts, " "which must be done using a separate client." msgstr "" -#: plinth/modules/radicale/__init__.py:62 +#: plinth/modules/radicale/__init__.py:61 #: plinth/modules/radicale/manifest.py:75 msgid "Radicale" msgstr "" -#: plinth/modules/radicale/__init__.py:63 +#: plinth/modules/radicale/__init__.py:62 msgid "Calendar and Addressbook" msgstr "" -#: plinth/modules/radicale/forms.py:15 +#: plinth/modules/radicale/forms.py:14 msgid "Only the owner of a calendar/addressbook can view or make changes." msgstr "" -#: plinth/modules/radicale/forms.py:19 +#: plinth/modules/radicale/forms.py:18 #, python-brace-format msgid "" "Any user with a {box_name} login can view any calendar/addressbook, but only " "the owner can make changes." msgstr "" -#: plinth/modules/radicale/forms.py:24 +#: plinth/modules/radicale/forms.py:23 #, python-brace-format msgid "" "Any user with a {box_name} login can view or make changes to any calendar/" @@ -4536,11 +4528,11 @@ msgid "" "private space." msgstr "" -#: plinth/modules/samba/__init__.py:47 +#: plinth/modules/samba/__init__.py:59 msgid "Access to the private shares" msgstr "" -#: plinth/modules/samba/__init__.py:61 +#: plinth/modules/samba/__init__.py:62 msgid "Samba" msgstr "" @@ -4608,11 +4600,11 @@ msgstr "" msgid "Action" msgstr "Akcje" -#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:149 +#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:147 msgid "Open Share" msgstr "" -#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:147 +#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:145 msgid "Group Share" msgstr "" @@ -4656,43 +4648,43 @@ msgid "" "stores no cookies by default." msgstr "" -#: plinth/modules/searx/__init__.py:31 +#: plinth/modules/searx/__init__.py:45 msgid "Search the web" msgstr "" -#: plinth/modules/searx/__init__.py:47 plinth/modules/searx/manifest.py:9 +#: plinth/modules/searx/__init__.py:48 plinth/modules/searx/manifest.py:9 msgid "Searx" msgstr "" -#: plinth/modules/searx/__init__.py:48 +#: plinth/modules/searx/__init__.py:49 msgid "Web Search" msgstr "" -#: plinth/modules/searx/forms.py:15 +#: plinth/modules/searx/forms.py:13 msgid "Safe Search" msgstr "" -#: plinth/modules/searx/forms.py:16 +#: plinth/modules/searx/forms.py:14 msgid "Select the default family filter to apply to your search results." msgstr "" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "None" msgstr "" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "Moderate" msgstr "" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "Strict" msgstr "" -#: plinth/modules/searx/forms.py:20 +#: plinth/modules/searx/forms.py:18 msgid "Allow Public Access" msgstr "" -#: plinth/modules/searx/forms.py:21 +#: plinth/modules/searx/forms.py:19 msgid "Allow this application to be used by anyone who can reach it." msgstr "" @@ -4863,30 +4855,30 @@ msgstr "" msgid "Socks5 Proxy" msgstr "" +#: plinth/modules/shadowsocks/forms.py:12 #: plinth/modules/shadowsocks/forms.py:13 -#: plinth/modules/shadowsocks/forms.py:14 msgid "Recommended" msgstr "" -#: plinth/modules/shadowsocks/forms.py:37 +#: plinth/modules/shadowsocks/forms.py:36 #, fuzzy #| msgid "Chat Server" msgid "Server" msgstr "Serwer czatu" -#: plinth/modules/shadowsocks/forms.py:38 +#: plinth/modules/shadowsocks/forms.py:37 msgid "Server hostname or IP address" msgstr "" -#: plinth/modules/shadowsocks/forms.py:42 +#: plinth/modules/shadowsocks/forms.py:41 msgid "Server port number" msgstr "" -#: plinth/modules/shadowsocks/forms.py:45 +#: plinth/modules/shadowsocks/forms.py:44 msgid "Password used to encrypt data. Must match server password." msgstr "" -#: plinth/modules/shadowsocks/forms.py:50 +#: plinth/modules/shadowsocks/forms.py:49 msgid "Encryption method. Must match setting on server." msgstr "" @@ -4927,11 +4919,11 @@ msgstr "" msgid "Make files in this folder available to anyone with the link." msgstr "" -#: plinth/modules/sharing/forms.py:33 +#: plinth/modules/sharing/forms.py:34 msgid "User groups that can read the files in the share" msgstr "" -#: plinth/modules/sharing/forms.py:35 +#: plinth/modules/sharing/forms.py:36 msgid "" "Users of the selected user groups will be able to read the files in the " "share." @@ -5220,13 +5212,13 @@ msgstr "" msgid "Secure Shell (SSH) Server" msgstr "" -#: plinth/modules/ssh/forms.py:15 +#: plinth/modules/ssh/forms.py:13 #, fuzzy #| msgid "Use HTTP basic authentication" msgid "Disable password authentication" msgstr "Użyj podstawowej autentyfikacji HTTP" -#: plinth/modules/ssh/forms.py:16 +#: plinth/modules/ssh/forms.py:14 msgid "" "Improves security by preventing password guessing. Ensure that you have " "setup SSH keys in your administrator user account before enabling this " @@ -5279,134 +5271,134 @@ msgid "" "media, expand the root partition etc." msgstr "" -#: plinth/modules/storage/__init__.py:52 plinth/modules/storage/__init__.py:318 +#: plinth/modules/storage/__init__.py:54 plinth/modules/storage/__init__.py:320 msgid "Storage" 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 "" -#: plinth/modules/storage/__init__.py:313 +#: plinth/modules/storage/__init__.py:315 #, no-python-format, python-brace-format msgid "Low space on system partition: {percent_used}% used, {free_space} free." msgstr "" -#: plinth/modules/storage/__init__.py:315 +#: plinth/modules/storage/__init__.py:317 msgid "Low disk space" msgstr "" -#: plinth/modules/storage/forms.py:64 +#: plinth/modules/storage/forms.py:63 #, fuzzy #| msgid "Invalid hostname" msgid "Invalid directory name." msgstr "Niewłaściwa nazwa hosta" -#: plinth/modules/storage/forms.py:82 +#: plinth/modules/storage/forms.py:80 msgid "Directory does not exist." msgstr "" -#: plinth/modules/storage/forms.py:84 +#: plinth/modules/storage/forms.py:83 msgid "Path is not a directory." msgstr "" -#: plinth/modules/storage/forms.py:87 +#: plinth/modules/storage/forms.py:86 msgid "Directory is not readable by the user." msgstr "" -#: plinth/modules/storage/forms.py:90 +#: plinth/modules/storage/forms.py:89 msgid "Directory is not writable by the user." msgstr "" -#: plinth/modules/storage/forms.py:95 +#: plinth/modules/storage/forms.py:94 msgid "Directory" msgstr "" -#: plinth/modules/storage/forms.py:98 +#: plinth/modules/storage/forms.py:96 msgid "Subdirectory (optional)" msgstr "" -#: plinth/modules/storage/forms.py:145 +#: plinth/modules/storage/forms.py:143 msgid "Share" msgstr "" -#: plinth/modules/storage/forms.py:153 +#: plinth/modules/storage/forms.py:151 msgid "Other directory (specify below)" msgstr "" @@ -5495,19 +5487,20 @@ msgid "" "synchronize more often. {box_name} runs a single instance of Syncthing that " "may be used by multiple users. Each user's set of devices may be " "synchronized with a distinct set of folders. The web interface on " -"{box_name} is only available for users belonging to the \"admin\" group." +"{box_name} is only available for users belonging to the \"admin\" or " +"\"syncthing\" group." msgstr "" -#: plinth/modules/syncthing/__init__.py:40 +#: plinth/modules/syncthing/__init__.py:53 msgid "Administer Syncthing application" msgstr "" -#: plinth/modules/syncthing/__init__.py:54 +#: plinth/modules/syncthing/__init__.py:56 #: plinth/modules/syncthing/manifest.py:13 msgid "Syncthing" msgstr "" -#: plinth/modules/syncthing/__init__.py:55 +#: plinth/modules/syncthing/__init__.py:57 msgid "File Synchronization" msgstr "" @@ -5544,33 +5537,33 @@ msgid "" "%(domain_name)s:5678\">https://%(domain_name)s:5678." msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:39 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:29 msgid "Local introducer" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:59 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:76 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:33 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:49 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:66 msgid "Pet Name" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:56 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:46 msgid "Add new introducer" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:67 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:57 msgid "Add" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:72 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:62 msgid "Connected introducers" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:89 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:79 msgid "Remove" msgstr "" -#: plinth/modules/tor/__init__.py:33 +#: plinth/modules/tor/__init__.py:34 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -5579,40 +5572,40 @@ msgid "" "\">Tor Browser." msgstr "" -#: plinth/modules/tor/__init__.py:55 +#: plinth/modules/tor/__init__.py:54 msgid "Tor" msgstr "" -#: plinth/modules/tor/__init__.py:66 +#: plinth/modules/tor/__init__.py:65 msgid "Tor Onion Service" msgstr "" -#: plinth/modules/tor/__init__.py:70 +#: plinth/modules/tor/__init__.py:69 msgid "Tor Socks Proxy" msgstr "" -#: plinth/modules/tor/__init__.py:74 +#: plinth/modules/tor/__init__.py:73 msgid "Tor Bridge Relay" msgstr "" -#: plinth/modules/tor/__init__.py:95 +#: plinth/modules/tor/__init__.py:98 msgid "Tor relay port available" msgstr "" -#: plinth/modules/tor/__init__.py:105 +#: plinth/modules/tor/__init__.py:108 msgid "Obfs3 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:115 +#: plinth/modules/tor/__init__.py:118 msgid "Obfs4 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:208 +#: plinth/modules/tor/__init__.py:211 #, python-brace-format msgid "Access URL {url} on tcp{kind} via Tor" msgstr "" -#: plinth/modules/tor/__init__.py:219 +#: plinth/modules/tor/__init__.py:222 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "" @@ -5742,13 +5735,13 @@ msgstr "" msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050." msgstr "" -#: plinth/modules/transmission/__init__.py:27 +#: plinth/modules/transmission/__init__.py:28 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:48 +#: plinth/modules/transmission/__init__.py:51 #: plinth/modules/transmission/manifest.py:9 msgid "Transmission" msgstr "" @@ -5781,15 +5774,15 @@ msgid "" "connecting." msgstr "" -#: plinth/modules/ttrss/__init__.py:42 +#: plinth/modules/ttrss/__init__.py:54 msgid "Read and subscribe to news feeds" msgstr "" -#: plinth/modules/ttrss/__init__.py:56 plinth/modules/ttrss/manifest.py:19 +#: plinth/modules/ttrss/__init__.py:57 plinth/modules/ttrss/manifest.py:19 msgid "Tiny Tiny RSS" msgstr "" -#: plinth/modules/ttrss/__init__.py:57 +#: plinth/modules/ttrss/__init__.py:58 msgid "News Feed Reader" msgstr "" @@ -5801,11 +5794,11 @@ msgstr "" msgid "Check for and apply the latest software and security updates." msgstr "" -#: plinth/modules/upgrades/__init__.py:38 plinth/templates/setup.html:74 +#: plinth/modules/upgrades/__init__.py:40 plinth/templates/setup.html:74 msgid "Update" msgstr "" -#: plinth/modules/upgrades/__init__.py:76 +#: plinth/modules/upgrades/__init__.py:78 #, fuzzy #| msgid "FreedomBox Foundation" msgid "FreedomBox Updated" @@ -5862,45 +5855,41 @@ msgstr "" #: plinth/modules/upgrades/templates/upgrades_configure.html:11 #: plinth/modules/upgrades/templates/upgrades_configure.html:12 -#: plinth/modules/upgrades/views.py:88 +#: plinth/modules/upgrades/views.py:85 #, fuzzy #| msgid "Last update" msgid "Manual update" msgstr "Ostatnie uaktualnienie" -#: plinth/modules/upgrades/views.py:47 +#: plinth/modules/upgrades/views.py:46 #, python-brace-format msgid "Error when configuring unattended-upgrades: {error}" msgstr "" -#: plinth/modules/upgrades/views.py:51 +#: plinth/modules/upgrades/views.py:50 msgid "Automatic upgrades enabled" msgstr "" -#: plinth/modules/upgrades/views.py:54 +#: plinth/modules/upgrades/views.py:53 msgid "Automatic upgrades disabled" msgstr "" -#: plinth/modules/upgrades/views.py:56 -msgid "Settings unchanged" -msgstr "" - -#: plinth/modules/upgrades/views.py:82 +#: plinth/modules/upgrades/views.py:79 msgid "Upgrade process started." msgstr "" -#: plinth/modules/upgrades/views.py:85 +#: plinth/modules/upgrades/views.py:82 msgid "Starting upgrade failed." msgstr "" -#: plinth/modules/users/__init__.py:37 +#: plinth/modules/users/__init__.py:39 msgid "" "Create and managed user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " "account to be part of a group to authorize the user to access the app." msgstr "" -#: plinth/modules/users/__init__.py:42 +#: plinth/modules/users/__init__.py:44 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -5908,106 +5897,105 @@ msgid "" "group may alter apps or system settings." msgstr "" -#: plinth/modules/users/__init__.py:64 +#: plinth/modules/users/__init__.py:65 msgid "Users and Groups" msgstr "" -#: plinth/modules/users/__init__.py:115 +#: plinth/modules/users/__init__.py:78 +msgid "Access to all services and system settings" +msgstr "" + +#: plinth/modules/users/__init__.py:122 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "" -#: plinth/modules/users/forms.py:28 -msgid "Access to all services and system settings" -msgstr "" - -#: plinth/modules/users/forms.py:44 +#: plinth/modules/users/forms.py:36 msgid "Username is taken or is reserved." msgstr "" -#: plinth/modules/users/forms.py:72 +#: plinth/modules/users/forms.py:63 #, fuzzy #| msgid "Invalid server name" msgid "Enter a valid username." msgstr "Niewłaściwa nazwa użytkownika" -#: plinth/modules/users/forms.py:78 +#: plinth/modules/users/forms.py:69 msgid "" "Required. 150 characters or fewer. English letters, digits and @/./-/_ only." msgstr "" -#: plinth/modules/users/forms.py:91 plinth/modules/users/forms.py:207 +#: plinth/modules/users/forms.py:83 plinth/modules/users/forms.py:196 msgid "Permissions" msgstr "" -#: plinth/modules/users/forms.py:94 +#: plinth/modules/users/forms.py:85 msgid "" -"Select which services should be available to the new user. The user will be " -"able to log in to services that support single sign-on through LDAP, if they " -"are in the appropriate group.

Users in the admin group will be " -"able to log in to all services. They can also log in to the system through " -"SSH and have administrative privileges (sudo)." +"user. The user will be able to log in to services that support single sign-" +"on through LDAP, if they are in the appropriate group.

Users in " +"the admin group will be able to log in to all services. They can also log in " +"to the system through SSH and have administrative privileges (sudo)." msgstr "" -#: plinth/modules/users/forms.py:133 plinth/modules/users/forms.py:357 +#: plinth/modules/users/forms.py:122 plinth/modules/users/forms.py:345 msgid "Creating LDAP user failed." msgstr "Tworzenie użytkownika LDAP się nie udało." -#: plinth/modules/users/forms.py:144 +#: plinth/modules/users/forms.py:133 #, python-brace-format msgid "Failed to add new user to {group} group." msgstr "" -#: plinth/modules/users/forms.py:158 +#: plinth/modules/users/forms.py:147 msgid "Authorized SSH Keys" msgstr "" -#: plinth/modules/users/forms.py:160 +#: plinth/modules/users/forms.py:149 msgid "" "Setting an SSH public key will allow this user to securely log in to the " "system without using a password. You may enter multiple keys, one on each " "line. Blank lines and lines starting with # will be ignored." msgstr "" -#: plinth/modules/users/forms.py:244 +#: plinth/modules/users/forms.py:233 msgid "Renaming LDAP user failed." msgstr "" -#: plinth/modules/users/forms.py:256 +#: plinth/modules/users/forms.py:245 msgid "Failed to remove user from group." msgstr "" -#: plinth/modules/users/forms.py:267 +#: plinth/modules/users/forms.py:256 msgid "Failed to add user to group." msgstr "" -#: plinth/modules/users/forms.py:276 +#: plinth/modules/users/forms.py:265 msgid "Unable to set SSH keys." msgstr "" -#: plinth/modules/users/forms.py:291 +#: plinth/modules/users/forms.py:280 #, fuzzy #| msgid "Failed to add new user to admin group." msgid "Failed to change user status." msgstr "Nieudane dodawanie użytkownika do grupy admin." -#: plinth/modules/users/forms.py:299 +#: plinth/modules/users/forms.py:288 msgid "Cannot delete the only administrator in the system." msgstr "" -#: plinth/modules/users/forms.py:331 +#: plinth/modules/users/forms.py:319 msgid "Changing LDAP user password failed." msgstr "" -#: plinth/modules/users/forms.py:366 +#: plinth/modules/users/forms.py:354 msgid "Failed to add new user to admin group." msgstr "Nieudane dodawanie użytkownika do grupy admin." -#: plinth/modules/users/forms.py:383 +#: plinth/modules/users/forms.py:371 msgid "Failed to restrict console access." msgstr "" -#: plinth/modules/users/forms.py:395 +#: plinth/modules/users/forms.py:383 msgid "User account created, you are now logged in" msgstr "Utworzono konto użytkownika, możesz się teraz zalogować" @@ -6838,18 +6826,19 @@ msgstr "" msgid "%(percentage)s%% complete" msgstr "" -#: plinth/views.py:184 -msgid "Application enabled" -msgstr "Aplikacja włączona" - -#: plinth/views.py:187 -msgid "Application disabled" -msgstr "Aplikacja wyłączona" - #: plinth/web_framework.py:107 msgid "Gujarati" msgstr "" +#~ msgid "Enable application" +#~ msgstr "Aktywuj aplikację" + +#~ msgid "Application enabled" +#~ msgstr "Aplikacja włączona" + +#~ msgid "Application disabled" +#~ msgstr "Aplikacja wyłączona" + #~ msgid "Setup a freedombox.me subdomain with your voucher" #~ msgstr "Ustaw subdomenę freedombox.me jeśli masz kupon" diff --git a/plinth/locale/pt/LC_MESSAGES/django.po b/plinth/locale/pt/LC_MESSAGES/django.po index cc834e651..b18843eab 100644 --- a/plinth/locale/pt/LC_MESSAGES/django.po +++ b/plinth/locale/pt/LC_MESSAGES/django.po @@ -7,9 +7,9 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-23 18:54-0400\n" -"PO-Revision-Date: 2019-12-16 22:57+0000\n" -"Last-Translator: adaragao \n" +"POT-Creation-Date: 2020-04-06 19:59-0400\n" +"PO-Revision-Date: 2020-04-08 13:55+0000\n" +"Last-Translator: Manuela Silva \n" "Language-Team: Portuguese \n" "Language: pt\n" @@ -17,21 +17,20 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 3.10-dev\n" +"X-Generator: Weblate 4.0-dev\n" #: doc/dev/_templates/layout.html:11 msgid "Page source" -msgstr "" +msgstr "Fonte da página" #: plinth/context_processors.py:23 plinth/views.py:53 msgid "FreedomBox" msgstr "Freedombox" #: plinth/daemon.py:70 -#, fuzzy, python-brace-format -#| msgid "Service discovery server is running" +#, python-brace-format msgid "Service {service_name} is running" -msgstr "O Servidor da descoberta do serviço está a correr" +msgstr "O serviço {service_name} está em execução" #: plinth/daemon.py:96 #, python-brace-format @@ -53,15 +52,11 @@ msgstr "Ligar a {host}:{port}" msgid "Cannot connect to {host}:{port}" msgstr "Não é possível ligar a {host}:{port}" -#: plinth/forms.py:24 -msgid "Enable application" -msgstr "Ativar aplicação" - -#: plinth/forms.py:39 +#: plinth/forms.py:38 msgid "Select a domain name to be used with this application" msgstr "Selecionar um nome de domínio a ser utilizado pela aplicação" -#: plinth/forms.py:41 +#: plinth/forms.py:40 msgid "" "Warning! The application may not work properly if domain name is changed " "later." @@ -69,15 +64,15 @@ msgstr "" "Atenção! O aplicativo pode não responder corretamente se o nome de domínio " "for alterado mais tarde." -#: plinth/forms.py:49 +#: plinth/forms.py:48 msgid "Language" msgstr "Língua" -#: plinth/forms.py:50 +#: plinth/forms.py:49 msgid "Language to use for presenting this web interface" msgstr "Idioma a ser usado para apresentar a interface de administração web" -#: plinth/forms.py:57 +#: plinth/forms.py:56 msgid "Use the language preference set in the browser" msgstr "Use a preferência de idioma definida no navegador" @@ -160,23 +155,23 @@ msgstr "Apps incluídos" #: plinth/modules/backups/forms.py:52 msgid "Apps to include in the backup" -msgstr "Apps para incluir no backup" +msgstr "Aplicações a incluir na cópia de segurança" #: plinth/modules/backups/forms.py:66 msgid "Select the apps you want to restore" -msgstr "Selecione os aplicativos que deseja restaurar" +msgstr "Selecione as aplicações que pretende restaurar" #: plinth/modules/backups/forms.py:79 msgid "Upload File" -msgstr "Carregar Ficheiro" +msgstr "Enviar Ficheiro" #: plinth/modules/backups/forms.py:81 msgid "Backup files have to be in .tar.gz format" -msgstr "Ficheiros de cópias de segurança têm de ser em formato .tar.gz" +msgstr "Os ficheiros de cópias de segurança têm de estar no formato .tar.gz" #: plinth/modules/backups/forms.py:82 msgid "Select the backup file you want to upload" -msgstr "Selecione o ficheiro de backup que deseja carregar" +msgstr "Selecione o ficheiro de cópias de segurança que deseja enviar" #: plinth/modules/backups/forms.py:88 msgid "Repository path format incorrect." @@ -190,12 +185,12 @@ msgstr "Nome de utilizador inválido: {username}" #: plinth/modules/backups/forms.py:105 #, python-brace-format msgid "Invalid hostname: {hostname}" -msgstr "Nome {hostname} inválido." +msgstr "Nome de hospedeiro inválido: {hostname}" #: plinth/modules/backups/forms.py:109 #, python-brace-format msgid "Invalid directory path: {dir_path}" -msgstr "Caminho de directório inválido: {dir_path}" +msgstr "Caminho da diretoria inválido: {dir_path}" #: plinth/modules/backups/forms.py:115 msgid "Encryption" @@ -206,36 +201,36 @@ msgid "" "\"Key in Repository\" means that a password-protected key is stored with the " "backup." msgstr "" -"\"Chave no Repositório\" significa que uma chave protegida por password é " -"guardada com a cópia de segurança." +"\"Chave no Repositório\" significa que uma chave protegida por palavra-passe " +"é guardada com a cópia de segurança." #: plinth/modules/backups/forms.py:120 plinth/modules/networks/forms.py:262 msgid "Passphrase" -msgstr "Frase-Chave" +msgstr "Frase Chave" #: plinth/modules/backups/forms.py:121 msgid "Passphrase; Only needed when using encryption." -msgstr "Frase-Chave; Apenas necessária quando é usada encriptação." +msgstr "Frase Chave; Apenas necessária quando é utilizada a encriptação." #: plinth/modules/backups/forms.py:124 msgid "Confirm Passphrase" -msgstr "Confirme Frase-Chave" +msgstr "Confirmar Frase Chave" #: plinth/modules/backups/forms.py:124 msgid "Repeat the passphrase." -msgstr "Repetir a Frase-Chave." +msgstr "Repita a Frase Chave." #: plinth/modules/backups/forms.py:135 msgid "The entered encryption passphrases do not match" -msgstr "As Frases-Chaves de encriptação inseridas não coincidem" +msgstr "As \"Frases Chaves\" de encriptação inseridas não coincidem" #: plinth/modules/backups/forms.py:139 msgid "Passphrase is needed for encryption." -msgstr "Frase-Chave é necessária para encriptação." +msgstr "A \"Frase Chave\" é necessária para a encriptação." #: plinth/modules/backups/forms.py:174 msgid "Select Disk or Partition" -msgstr "Seleccione Disco ou Partição" +msgstr "Selecionar Disco ou Partição" #: plinth/modules/backups/forms.py:175 msgid "Backups will be stored in the directory FreedomBoxBackups" @@ -243,19 +238,19 @@ msgstr "Os Backups serão gravados no directório FreedomBoxBackups" #: plinth/modules/backups/forms.py:184 msgid "SSH Repository Path" -msgstr "Caminho do repositório SSH" +msgstr "Caminho do Repositório SSH" #: plinth/modules/backups/forms.py:185 msgid "" "Path of a new or existing repository. Example: user@host:~/path/to/repo/" msgstr "" -"Caminho para um repositório novo ou existente. Exemplo: user@host:~/path/" -"to/repo/" +"Caminho de um repositório novo ou existente. Exemplo: user@host:~/path/to/" +"repo/" #: plinth/modules/backups/forms.py:189 msgid "SSH server password" -msgstr "Password do servidor SSH" +msgstr "Palavra-passe do servidor SSH" #: plinth/modules/backups/forms.py:190 msgid "" @@ -400,20 +395,14 @@ msgid "Submit" msgstr "Submeter" #: plinth/modules/backups/templates/backups_repository.html:19 -#, fuzzy -#| msgid "Existing repository is not encrypted." msgid "This repository is encrypted" -msgstr "Repositório existente não está encriptado." +msgstr "Este repositório está encriptado" #: plinth/modules/backups/templates/backups_repository.html:34 -#, fuzzy -#| msgid "Remove Location" msgid "Unmount Location" msgstr "Remover Localização" #: plinth/modules/backups/templates/backups_repository.html:45 -#, fuzzy -#| msgid "Create Location" msgid "Mount Location" msgstr "Criar Localização" @@ -422,10 +411,8 @@ msgid "Remove Backup Location. This will not delete the remote backup." msgstr "" #: plinth/modules/backups/templates/backups_repository.html:77 -#, fuzzy -#| msgid "Download" msgid "Download" -msgstr "Descarregar" +msgstr "Transferir" #: plinth/modules/backups/templates/backups_repository.html:81 #: plinth/modules/backups/templates/backups_restore.html:28 @@ -435,30 +422,19 @@ msgstr "Restaurar" #: plinth/modules/backups/templates/backups_repository.html:103 msgid "No archives currently exist." -msgstr "Nenhum arquivo atualmente existe." +msgstr "Atualmente, não existe nenhum arquivo." #: plinth/modules/backups/templates/backups_repository_remove.html:13 msgid "Are you sure that you want to remove this repository?" -msgstr "Tem a certeza que quer remover este repositório?" +msgstr "Tem a certeza que deseja remover este repositório?" #: plinth/modules/backups/templates/backups_repository_remove.html:19 -#, fuzzy -#| msgid "" -#| "\n" -#| " The remote repository will not be deleted.\n" -#| " This just removes the repository from the listing on the backup " -#| "page, you\n" -#| " can add it again later on.\n" -#| " " msgid "" "The remote repository will not be deleted. This just removes the repository " "from the listing on the backup page, you can add it again later on." msgstr "" -"\n" -" O repositório remoto não será apagado.\n" -" Isto apenas remove o repositório da lista na pagina de backup,\n" -" pode adiciona-lo mais tarde.\n" -" " +"O repositório remoto não será eliminado. Isto remove apenas o repositório da " +"lista na pagina de cópias de segurança, pode adicioná-lo mais tarde." #: plinth/modules/backups/templates/backups_repository_remove.html:31 msgid "Remove Location" @@ -470,7 +446,7 @@ msgstr "Restaurar dados de" #: plinth/modules/backups/templates/backups_restore.html:32 msgid "Restoring" -msgstr "Restaurando" +msgstr "A restaurar" #: plinth/modules/backups/templates/backups_upload.html:17 #, python-format @@ -484,16 +460,17 @@ msgid "" " " msgstr "" "\n" -" Importar um ficheiro de backup de outro %(box_name)s para restaurar o " -"seu conteúdo.\n" -"Pode escolher as apps que deseja restaurar depois de importar o ficheiro de " -"backup.\n" +" Enviar um ficheiro de cópias de segurança transferido de outro " +"%(box_name)s\n" +" para restaurar o seu conteúdo. Pode escolher as aplicações que deseja " +"\n" +" restaurar depois de enviar este ficheiro.\n" " " #: plinth/modules/backups/templates/backups_upload.html:27 #: plinth/modules/help/templates/statuslog.html:23 msgid "Caution:" -msgstr "" +msgstr "Cuidado:" #: plinth/modules/backups/templates/backups_upload.html:28 #, python-format @@ -504,7 +481,7 @@ msgstr "" #: plinth/modules/backups/templates/backups_upload.html:41 msgid "Upload file" -msgstr "Importar ficheiro" +msgstr "Enviar ficheiro" #: plinth/modules/backups/templates/verify_ssh_hostkey.html:18 #, python-format @@ -533,7 +510,7 @@ msgstr "" #: plinth/modules/backups/templates/verify_ssh_hostkey.html:60 msgid "Verify Host" -msgstr "" +msgstr "Verificar Hospedeiro" #: plinth/modules/backups/views.py:55 msgid "Archive created." @@ -541,39 +518,39 @@ msgstr "Arquivo criado." #: plinth/modules/backups/views.py:82 msgid "Delete Archive" -msgstr "Apagar arquivo" +msgstr "Eliminar Arquivo" #: plinth/modules/backups/views.py:94 msgid "Archive deleted." -msgstr "Arquivo apagado." +msgstr "Arquivo eliminado." #: plinth/modules/backups/views.py:107 msgid "Upload and restore a backup" -msgstr "Importar e restaurar backup" +msgstr "Enviar e restaurar uma cópia de segurança" #: plinth/modules/backups/views.py:142 msgid "Restored files from backup." -msgstr "Arquivos do backup restaurados." +msgstr "Ficheiros da cópia de segurança restaurados." #: plinth/modules/backups/views.py:169 msgid "No backup file found." -msgstr "Ficheiro de backup não encontrado." +msgstr "Ficheiro de cópias de segurança não encontrado." #: plinth/modules/backups/views.py:177 msgid "Restore from uploaded file" -msgstr "Restaurar a partir do ficheiro de backup" +msgstr "Restaurar de um ficheiro enviado" #: plinth/modules/backups/views.py:234 msgid "No additional disks available to add a repository." -msgstr "" +msgstr "Nenhum disco adicional disponível para adicionar um repositório." #: plinth/modules/backups/views.py:242 msgid "Create backup repository" -msgstr "Criar repositório de backup" +msgstr "Criar repositório de cópias de segurança" #: plinth/modules/backups/views.py:269 msgid "Create remote backup repository" -msgstr "" +msgstr "Criar repositório remoto de cópias de segurança" #: plinth/modules/backups/views.py:288 msgid "Added new remote SSH repository." @@ -609,33 +586,28 @@ msgstr "Repositório removido." #: plinth/modules/backups/views.py:389 msgid "Remove Repository" -msgstr "" +msgstr "Remover Repositório" #: plinth/modules/backups/views.py:398 msgid "Repository removed. Backups were not deleted." -msgstr "" +msgstr "Repositório removido. As cópias de segurança não foram eliminadas." #: plinth/modules/backups/views.py:408 msgid "Unmounting failed!" -msgstr "" +msgstr "Remoção falhou!" #: plinth/modules/backups/views.py:423 plinth/modules/backups/views.py:427 msgid "Mounting failed" -msgstr "" +msgstr "Criação falhou" #: plinth/modules/bind/__init__.py:29 -#, fuzzy -#| msgid "" -#| "BIND is open source software that enables you to publish your Domain Name " -#| "System (DNS) information on the Internet, and to resolve DNS queries for " -#| "your users." 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 "" -"BIND é um software de código aberto que permite publicar o seu sistema de " -"resolução de nomes (DNS) na Internet, e resolver pedidos de DNS para os seus " -"utilizadores." +"BIND permite-lhe publicar a informação do seu «Sistema de Nomes de Domínio» " +"(DNS) na Internet, e resolver pedidos de DNS para os dispositivos de " +"utilizador na sua rede." #: plinth/modules/bind/__init__.py:33 #, python-brace-format @@ -653,59 +625,56 @@ msgstr "BIND" msgid "Domain Name Server" msgstr "Servidor de Nomes de Domínio" -#: plinth/modules/bind/forms.py:22 +#: plinth/modules/bind/forms.py:20 msgid "Forwarders" msgstr "Remetentes" -#: plinth/modules/bind/forms.py:23 +#: plinth/modules/bind/forms.py:21 msgid "" "A list DNS servers, separated by space, to which requests will be forwarded" msgstr "" -#: plinth/modules/bind/forms.py:27 +#: plinth/modules/bind/forms.py:25 msgid "Enable DNSSEC" -msgstr "Habilitar DNSSEC" +msgstr "Ativar DNSSEC" -#: plinth/modules/bind/forms.py:28 +#: plinth/modules/bind/forms.py:26 msgid "Enable Domain Name System Security Extensions" -msgstr "" +msgstr "Ativar Extensões de segurança do Sistema de Nomes de Domínio" #: plinth/modules/bind/templates/bind.html:11 -#, fuzzy -#| msgid "Domain Name" msgid "Serving Domains" -msgstr "Nome de Domínio" +msgstr "Domínios em Serviço" #: plinth/modules/bind/templates/bind.html:16 #: plinth/modules/ikiwiki/forms.py:12 #: plinth/modules/networks/templates/connection_show.html:83 #: plinth/modules/storage/templates/storage.html:28 msgid "Type" -msgstr "" +msgstr "Tipo" #: plinth/modules/bind/templates/bind.html:17 -#, fuzzy -#| msgid "Domain Name" msgid "Domain Names" -msgstr "Nome de Domínio" +msgstr "Nomes de Domínio" #: plinth/modules/bind/templates/bind.html:18 msgid "Serving" -msgstr "" +msgstr "Em Serviço" #: plinth/modules/bind/templates/bind.html:19 msgid "IP addresses" -msgstr "" +msgstr "Endereços de IP" #: plinth/modules/bind/templates/bind.html:35 #: plinth/modules/bind/templates/bind.html:37 msgid "Refresh IP address and domains" -msgstr "" +msgstr "Atualizar endereço de IP e domínios" -#: plinth/modules/bind/views.py:72 plinth/modules/deluge/views.py:44 +#: plinth/modules/bind/views.py:72 plinth/modules/deluge/views.py:42 #: plinth/modules/dynamicdns/views.py:150 plinth/modules/openvpn/views.py:133 -#: plinth/modules/pagekite/forms.py:91 plinth/modules/shadowsocks/views.py:59 -#: plinth/modules/transmission/views.py:50 +#: plinth/modules/pagekite/forms.py:90 plinth/modules/quassel/views.py:30 +#: plinth/modules/shadowsocks/views.py:59 +#: plinth/modules/transmission/views.py:47 msgid "Configuration updated" msgstr "Configuração atualizada" @@ -737,11 +706,11 @@ msgstr "Cockpit" #: plinth/modules/cockpit/__init__.py:61 msgid "Server Administration" -msgstr "Administração do servidor" +msgstr "Administração do Servidor" #: plinth/modules/cockpit/templates/cockpit.html:11 msgid "Access" -msgstr "" +msgstr "Aceder" #: plinth/modules/cockpit/templates/cockpit.html:14 msgid "Cockpit will only work when accessed using the following URLs." @@ -753,11 +722,11 @@ msgid "" "name, webserver home page etc." msgstr "" -#: plinth/modules/config/__init__.py:50 +#: plinth/modules/config/__init__.py:52 msgid "General Configuration" msgstr "Configuração Geral" -#: plinth/modules/config/__init__.py:55 plinth/modules/dynamicdns/views.py:29 +#: plinth/modules/config/__init__.py:57 plinth/modules/dynamicdns/views.py:29 #: plinth/modules/names/templates/names.html:29 #: plinth/modules/names/templates/names.html:43 #: plinth/modules/snapshot/views.py:26 @@ -765,7 +734,7 @@ msgstr "Configuração Geral" msgid "Configure" msgstr "Configurar" -#: plinth/modules/config/__init__.py:59 plinth/modules/config/forms.py:61 +#: plinth/modules/config/__init__.py:61 plinth/modules/config/forms.py:61 #: plinth/modules/dynamicdns/forms.py:95 msgid "Domain Name" msgstr "Nome de Domínio" @@ -788,40 +757,24 @@ msgid "Hostname" msgstr "" #: plinth/modules/config/forms.py:50 -#, fuzzy, python-brace-format -#| msgid "" -#| "Domain name is the global name by which other machines on the Internet " -#| "can reach you. It must consist of labels separated by dots. Each label " -#| "must start and end with an alphabet or a digit and have as interior " -#| "characters only alphabets, digits and hyphens. Length of each label must " -#| "be 63 characters or less. Total length of domain name must be 253 " -#| "characters or less." +#, python-brace-format msgid "" "Hostname is the local name by which other devices on the local network can " "reach your {box_name}. It must start and end with an alphabet or a digit " "and have as interior characters only alphabets, digits and hyphens. Total " "length must be 63 characters or less." msgstr "" -"O nome de domínio é o nome global pelo qual as outras máquinas na Internet " -"podem chegar até si. Deve consistir em etiquetas separadas por pontos. Cada " -"etiqueta deve começar e terminar com uma letra ou um dígito e ter como " -"caracteres interiores apenas letras, dígitos e hífenes. O comprimento de " -"cada etiqueta deve ser 63 caracteres ou menos. O comprimento total do nome " -"de domínio deve ser 253 caracteres ou menos." +"O nome de hospedeiro é o nome local pelo qual os outros dispositivos na rede " +"local podem chegar até {box_name}. Este deve iniciar e terminar com uma " +"letra ou um dígito e ter como carateres interiores apenas letras, dígitos e " +"hífenes. O comprimento deve ser de 63 carateres ou inferior." #: plinth/modules/config/forms.py:57 msgid "Invalid hostname" -msgstr "" +msgstr "Nome de hospedeiro inválido" #: plinth/modules/config/forms.py:63 -#, fuzzy, python-brace-format -#| msgid "" -#| "Domain name is the global name by which other machines on the Internet " -#| "can reach you. It must consist of labels separated by dots. Each label " -#| "must start and end with an alphabet or a digit and have as interior " -#| "characters only alphabets, digits and hyphens. Length of each label must " -#| "be 63 characters or less. Total length of domain name must be 253 " -#| "characters or less." +#, python-brace-format msgid "" "Domain name is the global name by which other devices on the Internet can " "reach your {box_name}. It must consist of labels separated by dots. Each " @@ -830,16 +783,16 @@ msgid "" "63 characters or less. Total length of domain name must be 253 characters " "or less." msgstr "" -"O nome de domínio é o nome global pelo qual as outras máquinas na Internet " -"podem chegar até si. Deve consistir em etiquetas separadas por pontos. Cada " -"etiqueta deve começar e terminar com uma letra ou um dígito e ter como " -"caracteres interiores apenas letras, dígitos e hífenes. O comprimento de " -"cada etiqueta deve ser 63 caracteres ou menos. O comprimento total do nome " -"de domínio deve ser 253 caracteres ou menos." +"O nome de domínio é o nome global pelo qual os outros dispositivos na " +"Internet podem chegar até {box_name}. Este deve consistir em etiquetas " +"separadas por pontos. Cada etiqueta deve começar e terminar com uma letra ou " +"um dígito e ter como carateres interiores apenas letras, dígitos e hífenes. " +"O comprimento de cada etiqueta deve ser de 63 carateres ou inferior. O " +"comprimento total do nome de domínio deve ser de 253 carateres ou inferior." #: plinth/modules/config/forms.py:78 msgid "Webserver Home Page" -msgstr "" +msgstr "Página Inicial do Servidor da Web" #: plinth/modules/config/forms.py:80 #, python-brace-format @@ -857,16 +810,17 @@ msgstr "" #: plinth/modules/config/forms.py:92 msgid "Show apps and features that require more technical knowledge." -msgstr "Mostrar apps e funcionalidades que requerem conhecimento mais técnico." +msgstr "" +"Mostrar aplicações e funcionalidades que requerem conhecimento mais técnico." #: plinth/modules/config/views.py:46 #, python-brace-format msgid "Error setting hostname: {exception}" -msgstr "" +msgstr "Erro ao definir o nome do hospedeiro: {exception}" #: plinth/modules/config/views.py:49 msgid "Hostname set" -msgstr "" +msgstr "Nome de hospedeiro definido" #: plinth/modules/config/views.py:58 #, python-brace-format @@ -878,24 +832,22 @@ msgid "Domain name set" msgstr "Nome do domínio definido" #: plinth/modules/config/views.py:69 -#, fuzzy, python-brace-format -#| msgid "Error setting domain name: {exception}" +#, python-brace-format msgid "Error setting webserver home page: {exception}" -msgstr "Erro ao definir o nome do domínio: {exception}" +msgstr "Erro ao definir a página inicial do servidor da Web: {exception}" #: plinth/modules/config/views.py:72 msgid "Webserver home page set" -msgstr "Definir página principal do servidor" +msgstr "Página inicial do servidor da Web definida" #: plinth/modules/config/views.py:80 -#, fuzzy, python-brace-format -#| msgid "Error setting domain name: {exception}" +#, python-brace-format msgid "Error changing advanced mode: {exception}" -msgstr "Erro ao definir o nome do domínio: {exception}" +msgstr "Erro ao alterar o modo avançado: {exception}" #: plinth/modules/config/views.py:85 msgid "Showing advanced apps and features" -msgstr "" +msgstr "A mostrar as aplicações e funcionalidades avançadas" #: plinth/modules/config/views.py:88 msgid "Hiding advanced apps and features" @@ -920,25 +872,25 @@ msgstr "" msgid "Coquelicot" msgstr "" -#: plinth/modules/coquelicot/__init__.py:47 plinth/modules/samba/__init__.py:62 +#: plinth/modules/coquelicot/__init__.py:47 plinth/modules/samba/__init__.py:63 msgid "File Sharing" -msgstr "" +msgstr "Partilha de Ficheiro" -#: plinth/modules/coquelicot/forms.py:15 +#: plinth/modules/coquelicot/forms.py:13 msgid "Upload Password" -msgstr "" +msgstr "Palavra-passe de Envio" -#: plinth/modules/coquelicot/forms.py:16 +#: plinth/modules/coquelicot/forms.py:14 msgid "" "Set a new upload password for Coquelicot. Leave this field blank to keep the " "current password." msgstr "" -#: plinth/modules/coquelicot/forms.py:20 +#: plinth/modules/coquelicot/forms.py:18 msgid "Maximum File Size (in MiB)" -msgstr "" +msgstr "Tamanho Máximo do Ficheiro (em MiB)" -#: plinth/modules/coquelicot/forms.py:21 +#: plinth/modules/coquelicot/forms.py:19 msgid "Set the maximum size of the files that can be uploaded to Coquelicot." msgstr "" @@ -948,21 +900,19 @@ msgstr "" #: plinth/modules/coquelicot/views.py:36 msgid "Upload password updated" -msgstr "" +msgstr "Palavra-passe de envio atualizada" #: plinth/modules/coquelicot/views.py:39 msgid "Failed to update upload password" -msgstr "" +msgstr "Não foi possível atualizar a palavra-passe de envio" #: plinth/modules/coquelicot/views.py:47 -#, fuzzy -#| msgid "Configuration updated" msgid "Maximum file size updated" -msgstr "Configuração atualizada" +msgstr "Tamanho máximo do ficheiro atualizado" #: plinth/modules/coquelicot/views.py:50 msgid "Failed to update maximum file size" -msgstr "" +msgstr "Não foi possível atualizar tamanho máximo do ficheiro" #: plinth/modules/datetime/__init__.py:25 msgid "" @@ -978,17 +928,17 @@ msgstr "Data e Hora" msgid "Time synchronized to NTP server" msgstr "" -#: plinth/modules/datetime/forms.py:20 +#: plinth/modules/datetime/forms.py:18 msgid "Time Zone" msgstr "Fuso Horário" -#: plinth/modules/datetime/forms.py:21 +#: plinth/modules/datetime/forms.py:19 msgid "" "Set your time zone to get accurate timestamps. This will set the system-wide " "time zone." msgstr "" -#: plinth/modules/datetime/forms.py:32 +#: plinth/modules/datetime/forms.py:30 msgid "-- no time zone set --" msgstr "" @@ -1001,31 +951,31 @@ msgstr "" msgid "Time zone set" msgstr "" -#: plinth/modules/deluge/__init__.py:25 +#: plinth/modules/deluge/__init__.py:26 msgid "Deluge is a BitTorrent client that features a Web UI." msgstr "" -#: plinth/modules/deluge/__init__.py:26 +#: plinth/modules/deluge/__init__.py:27 msgid "" "The default password is 'deluge', but you should log in and change it " "immediately after enabling this service." msgstr "" -#: plinth/modules/deluge/__init__.py:30 -#: plinth/modules/transmission/__init__.py:34 +#: plinth/modules/deluge/__init__.py:46 +#: plinth/modules/transmission/__init__.py:48 msgid "Download files using BitTorrent applications" msgstr "" -#: plinth/modules/deluge/__init__.py:46 plinth/modules/deluge/manifest.py:9 +#: plinth/modules/deluge/__init__.py:50 plinth/modules/deluge/manifest.py:9 msgid "Deluge" msgstr "" -#: plinth/modules/deluge/__init__.py:47 -#: plinth/modules/transmission/__init__.py:50 +#: plinth/modules/deluge/__init__.py:51 +#: plinth/modules/transmission/__init__.py:53 msgid "BitTorrent Web Client" msgstr "" -#: plinth/modules/deluge/forms.py:20 plinth/modules/transmission/forms.py:20 +#: plinth/modules/deluge/forms.py:20 plinth/modules/transmission/forms.py:21 msgid "Download directory" msgstr "" @@ -1098,7 +1048,7 @@ msgstr "" msgid "Federated Social Network" msgstr "" -#: plinth/modules/diaspora/forms.py:15 +#: plinth/modules/diaspora/forms.py:13 msgid "Enable new user registrations" msgstr "" @@ -1124,36 +1074,27 @@ msgstr "" #: plinth/modules/diaspora/templates/diaspora-pre-setup.html:43 #: plinth/modules/dynamicdns/templates/dynamicdns_configure.html:25 -#: plinth/modules/ejabberd/templates/ejabberd.html:43 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:18 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:47 #: plinth/modules/snapshot/templates/snapshot.html:15 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:35 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:43 -#: plinth/templates/app.html:52 +#: plinth/templates/app.html:54 msgid "Update setup" msgstr "" -#: plinth/modules/diaspora/views.py:76 plinth/modules/ejabberd/views.py:46 -#: plinth/modules/matrixsynapse/views.py:85 -#: plinth/modules/mediawiki/views.py:58 plinth/modules/openvpn/views.py:135 -#: plinth/modules/tor/views.py:136 plinth/views.py:180 -msgid "Setting unchanged" -msgstr "Definição inalterada" - -#: plinth/modules/diaspora/views.py:80 +#: plinth/modules/diaspora/views.py:74 #, fuzzy #| msgid "Applications" msgid "User registrations enabled" msgstr "Aplicações" -#: plinth/modules/diaspora/views.py:84 +#: plinth/modules/diaspora/views.py:78 #, fuzzy #| msgid "Applications" msgid "User registrations disabled" msgstr "Aplicações" -#: plinth/modules/dynamicdns/__init__.py:27 +#: plinth/modules/dynamicdns/__init__.py:28 #, python-brace-format msgid "" "If your Internet provider changes your IP address periodically (i.e. every " @@ -1161,7 +1102,7 @@ msgid "" "prevent others from finding services which are provided by this {box_name}." msgstr "" -#: plinth/modules/dynamicdns/__init__.py:31 +#: plinth/modules/dynamicdns/__init__.py:32 msgid "" "The solution is to assign a DNS name to your IP address and update the DNS " "name every time your IP is changed by your Internet provider. Dynamic DNS " @@ -1172,11 +1113,11 @@ msgid "" "IP address." msgstr "" -#: plinth/modules/dynamicdns/__init__.py:56 +#: plinth/modules/dynamicdns/__init__.py:55 msgid "Dynamic DNS Client" msgstr "" -#: plinth/modules/dynamicdns/__init__.py:66 +#: plinth/modules/dynamicdns/__init__.py:65 #, fuzzy #| msgid "Domain Name" msgid "Dynamic Domain Name" @@ -1269,7 +1210,7 @@ msgid "Username" msgstr "" #: plinth/modules/dynamicdns/forms.py:104 plinth/modules/networks/forms.py:200 -#: plinth/modules/shadowsocks/forms.py:45 +#: plinth/modules/shadowsocks/forms.py:44 msgid "Password" msgstr "" @@ -1347,7 +1288,7 @@ msgstr "" msgid "Last update" msgstr "" -#: plinth/modules/dynamicdns/views.py:26 plinth/modules/help/__init__.py:49 +#: plinth/modules/dynamicdns/views.py:26 plinth/modules/help/__init__.py:51 #: plinth/templates/help-menu.html:46 plinth/templates/help-menu.html:47 msgid "About" msgstr "" @@ -1374,13 +1315,13 @@ msgstr "" msgid "Dynamic DNS Status" msgstr "" -#: plinth/modules/ejabberd/__init__.py:36 +#: plinth/modules/ejabberd/__init__.py:37 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:39 +#: plinth/modules/ejabberd/__init__.py:40 #, python-brace-format msgid "" "To actually communicate, you can use the web client user with a {box_name} login." msgstr "" -#: plinth/modules/ejabberd/__init__.py:70 +#: plinth/modules/ejabberd/__init__.py:69 msgid "ejabberd" msgstr "" -#: plinth/modules/ejabberd/__init__.py:71 +#: plinth/modules/ejabberd/__init__.py:70 #: plinth/modules/matrixsynapse/__init__.py:68 msgid "Chat Server" msgstr "" -#: plinth/modules/ejabberd/forms.py:17 +#: plinth/modules/ejabberd/forms.py:16 msgid "Enable Message Archive Management" msgstr "" -#: plinth/modules/ejabberd/forms.py:19 +#: plinth/modules/ejabberd/forms.py:18 #, python-brace-format msgid "" "If enabled, your {box_name} will store chat message histories. This allows " @@ -1459,19 +1400,11 @@ msgid "" "Configure page." msgstr "" -#: plinth/modules/ejabberd/templates/ejabberd.html:35 -#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 -#: plinth/modules/snapshot/templates/snapshot.html:12 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:27 -#: plinth/templates/app.html:45 -msgid "Configuration" -msgstr "Configuração" - -#: plinth/modules/ejabberd/views.py:58 +#: plinth/modules/ejabberd/views.py:45 msgid "Message Archive Management enabled" msgstr "" -#: plinth/modules/ejabberd/views.py:62 +#: plinth/modules/ejabberd/views.py:49 msgid "Message Archive Management disabled" msgstr "" @@ -1483,7 +1416,7 @@ msgid "" "configured reduces risk of security threat from the Internet." msgstr "" -#: plinth/modules/firewall/__init__.py:63 +#: plinth/modules/firewall/__init__.py:65 msgid "Firewall" msgstr "" @@ -1612,7 +1545,7 @@ msgid "" "gittutorial\">Git tutorial." msgstr "" -#: plinth/modules/gitweb/__init__.py:39 +#: plinth/modules/gitweb/__init__.py:51 msgid "Read-write access to Git repositories" msgstr "" @@ -1768,31 +1701,31 @@ msgstr "" msgid "Could not delete {name}: {error}" msgstr "" -#: plinth/modules/help/__init__.py:30 +#: plinth/modules/help/__init__.py:32 msgid "Documentation" msgstr "" -#: plinth/modules/help/__init__.py:33 plinth/modules/networks/forms.py:47 +#: plinth/modules/help/__init__.py:35 plinth/modules/networks/forms.py:47 #: plinth/modules/networks/forms.py:77 plinth/templates/help-menu.html:20 #: plinth/templates/help-menu.html:21 plinth/templates/index.html:128 msgid "Manual" msgstr "Manual" -#: plinth/modules/help/__init__.py:37 +#: plinth/modules/help/__init__.py:39 #: plinth/modules/help/templates/help_support.html:9 #: plinth/modules/help/views.py:43 plinth/templates/help-menu.html:27 #: plinth/templates/help-menu.html:28 msgid "Get Support" msgstr "" -#: plinth/modules/help/__init__.py:41 +#: plinth/modules/help/__init__.py:43 #: plinth/modules/help/templates/help_feedback.html:9 #: plinth/modules/help/views.py:37 plinth/templates/help-menu.html:33 #: plinth/templates/help-menu.html:34 msgid "Submit Feedback" msgstr "" -#: plinth/modules/help/__init__.py:45 +#: plinth/modules/help/__init__.py:47 #: plinth/modules/help/templates/help_contribute.html:9 #: plinth/modules/help/views.py:31 plinth/templates/help-menu.html:39 #: plinth/templates/help-menu.html:40 @@ -1901,7 +1834,7 @@ msgstr "" #: plinth/modules/help/templates/help_contribute.html:42 #: plinth/modules/power/templates/power_restart.html:27 #: plinth/modules/power/templates/power_shutdown.html:26 -#: plinth/templates/app-header.html:51 +#: plinth/templates/app-header.html:53 msgid "Learn more..." msgstr "" @@ -2051,21 +1984,21 @@ msgid "" "configuration process." msgstr "" -#: plinth/modules/i2p/__init__.py:38 +#: plinth/modules/i2p/__init__.py:62 #, fuzzy #| msgid "Enable application" msgid "Manage I2P application" msgstr "Ativar aplicação" -#: plinth/modules/i2p/__init__.py:64 plinth/modules/i2p/manifest.py:16 +#: plinth/modules/i2p/__init__.py:65 plinth/modules/i2p/manifest.py:16 msgid "I2P" msgstr "" -#: plinth/modules/i2p/__init__.py:65 plinth/modules/tor/__init__.py:56 +#: plinth/modules/i2p/__init__.py:66 plinth/modules/tor/__init__.py:55 msgid "Anonymity Network" msgstr "" -#: plinth/modules/i2p/__init__.py:87 +#: plinth/modules/i2p/__init__.py:88 msgid "I2P Proxy" msgstr "" @@ -2121,22 +2054,22 @@ msgid "" "Configuration you can change these permissions or add new users." msgstr "" -#: plinth/modules/ikiwiki/__init__.py:39 -#, fuzzy -#| msgid "Services and Applications" -msgid "View and edit wiki applications" -msgstr "Serviços e Aplicações" - -#: plinth/modules/ikiwiki/__init__.py:53 plinth/modules/ikiwiki/manifest.py:9 +#: plinth/modules/ikiwiki/__init__.py:52 plinth/modules/ikiwiki/manifest.py:9 #, fuzzy #| msgid "Enable network time" msgid "ikiwiki" msgstr "Ativar tempo da rede" -#: plinth/modules/ikiwiki/__init__.py:54 +#: plinth/modules/ikiwiki/__init__.py:53 msgid "Wiki and Blog" msgstr "" +#: plinth/modules/ikiwiki/__init__.py:73 +#, fuzzy +#| msgid "Services and Applications" +msgid "View and edit wiki applications" +msgstr "Serviços e Aplicações" + #: plinth/modules/ikiwiki/forms.py:17 msgid "Admin Account Name" msgstr "" @@ -2180,33 +2113,33 @@ msgid "" "history. Delete this wiki or blog permanently?" msgstr "" -#: plinth/modules/ikiwiki/views.py:72 +#: plinth/modules/ikiwiki/views.py:70 #, python-brace-format msgid "Created wiki {name}." msgstr "" -#: plinth/modules/ikiwiki/views.py:75 +#: plinth/modules/ikiwiki/views.py:73 #, python-brace-format msgid "Could not create wiki: {error}" msgstr "" -#: plinth/modules/ikiwiki/views.py:85 +#: plinth/modules/ikiwiki/views.py:83 #, python-brace-format msgid "Created blog {name}." msgstr "" -#: plinth/modules/ikiwiki/views.py:88 +#: plinth/modules/ikiwiki/views.py:86 #, python-brace-format msgid "Could not create blog: {error}" msgstr "" -#: plinth/modules/ikiwiki/views.py:103 +#: plinth/modules/ikiwiki/views.py:101 #, fuzzy, python-brace-format #| msgid "Archive deleted." msgid "{title} deleted." msgstr "Arquivo apagado." -#: plinth/modules/ikiwiki/views.py:107 +#: plinth/modules/ikiwiki/views.py:105 #, python-brace-format msgid "Could not delete {title}: {error}" msgstr "" @@ -2246,17 +2179,17 @@ msgid "" "domain name." msgstr "" -#: plinth/modules/jsxc/__init__.py:22 +#: plinth/modules/jsxc/__init__.py:23 msgid "" "JSXC is a web client for XMPP. Typically it is used with an XMPP server " "running locally." msgstr "" -#: plinth/modules/jsxc/__init__.py:40 plinth/modules/jsxc/manifest.py:10 +#: plinth/modules/jsxc/__init__.py:43 plinth/modules/jsxc/manifest.py:10 msgid "JSXC" msgstr "" -#: plinth/modules/jsxc/__init__.py:41 +#: plinth/modules/jsxc/__init__.py:44 msgid "Chat Client" msgstr "" @@ -2423,13 +2356,13 @@ msgstr "" msgid "Matrix Synapse" msgstr "" -#: plinth/modules/matrixsynapse/forms.py:14 +#: plinth/modules/matrixsynapse/forms.py:12 #, fuzzy #| msgid "Enable application" msgid "Enable Public Registration" msgstr "Ativar aplicação" -#: plinth/modules/matrixsynapse/forms.py:15 +#: plinth/modules/matrixsynapse/forms.py:13 msgid "" "Enabling public registration means that anyone on the Internet can register " "a new account on your Matrix server. Disable this if you only want existing " @@ -2440,6 +2373,12 @@ msgstr "" msgid "Riot" msgstr "" +#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 +#: plinth/modules/snapshot/templates/snapshot.html:12 +#: plinth/templates/app.html:46 +msgid "Configuration" +msgstr "Configuração" + #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:18 msgid "" "Matrix service needs to be configured for a domain. Users on other Matrix " @@ -2485,13 +2424,13 @@ msgid "" "go to Let's Encrypt to obtain one." msgstr "" -#: plinth/modules/matrixsynapse/views.py:98 +#: plinth/modules/matrixsynapse/views.py:86 #, fuzzy #| msgid "Applications" msgid "Public registration enabled" msgstr "Aplicações" -#: plinth/modules/matrixsynapse/views.py:103 +#: plinth/modules/matrixsynapse/views.py:91 #, fuzzy #| msgid "Applications" msgid "Public registration disabled" @@ -2529,85 +2468,85 @@ msgstr "" msgid "Wiki" msgstr "" -#: plinth/modules/mediawiki/forms.py:27 +#: plinth/modules/mediawiki/forms.py:25 msgid "Administrator Password" msgstr "" -#: plinth/modules/mediawiki/forms.py:28 +#: plinth/modules/mediawiki/forms.py:26 msgid "" "Set a new password for MediaWiki's administrator account (admin). Leave this " "field blank to keep the current password." msgstr "" -#: plinth/modules/mediawiki/forms.py:33 +#: plinth/modules/mediawiki/forms.py:31 #, fuzzy #| msgid "Enable application" msgid "Enable public registrations" msgstr "Ativar aplicação" -#: plinth/modules/mediawiki/forms.py:34 +#: plinth/modules/mediawiki/forms.py:32 msgid "" "If enabled, anyone on the internet will be able to create an account on your " "MediaWiki instance." msgstr "" -#: plinth/modules/mediawiki/forms.py:38 +#: plinth/modules/mediawiki/forms.py:36 #, fuzzy #| msgid "Applications" msgid "Enable private mode" msgstr "Aplicações" -#: plinth/modules/mediawiki/forms.py:39 +#: plinth/modules/mediawiki/forms.py:37 msgid "" "If enabled, access will be restricted. Only people who have accounts can " "read/write to the wiki. Public registrations will also be disabled." msgstr "" -#: plinth/modules/mediawiki/forms.py:44 +#: plinth/modules/mediawiki/forms.py:42 msgid "Default Skin" msgstr "" -#: plinth/modules/mediawiki/forms.py:45 +#: plinth/modules/mediawiki/forms.py:43 msgid "" "Choose a default skin for your MediaWiki installation. Users have the option " "to select their preferred skin." msgstr "" -#: plinth/modules/mediawiki/views.py:53 +#: plinth/modules/mediawiki/views.py:48 msgid "Password updated" msgstr "" -#: plinth/modules/mediawiki/views.py:72 +#: plinth/modules/mediawiki/views.py:57 #, fuzzy #| msgid "Applications" msgid "Public registrations enabled" msgstr "Aplicações" -#: plinth/modules/mediawiki/views.py:81 +#: plinth/modules/mediawiki/views.py:66 #, fuzzy #| msgid "Applications" msgid "Public registrations disabled" msgstr "Aplicações" -#: plinth/modules/mediawiki/views.py:86 +#: plinth/modules/mediawiki/views.py:71 #, fuzzy #| msgid "Applications" msgid "Private mode enabled" msgstr "Aplicações" -#: plinth/modules/mediawiki/views.py:93 +#: plinth/modules/mediawiki/views.py:78 #, fuzzy #| msgid "Applications" msgid "Private mode disabled" msgstr "Aplicações" -#: plinth/modules/mediawiki/views.py:101 +#: plinth/modules/mediawiki/views.py:86 #, fuzzy #| msgid "Setting unchanged" msgid "Default skin changed" msgstr "Definição inalterada" -#: plinth/modules/minetest/__init__.py:37 +#: plinth/modules/minetest/__init__.py:38 #, python-brace-format msgid "" "Minetest is a multiplayer infinite-world block sandbox. This module enables " @@ -2616,50 +2555,50 @@ msgid "" "downloads/\">Minetest client is needed." msgstr "" -#: plinth/modules/minetest/__init__.py:63 +#: plinth/modules/minetest/__init__.py:62 #: plinth/modules/minetest/manifest.py:10 msgid "Minetest" msgstr "" -#: plinth/modules/minetest/__init__.py:64 +#: plinth/modules/minetest/__init__.py:63 msgid "Block Sandbox" msgstr "" -#: plinth/modules/minetest/forms.py:15 +#: plinth/modules/minetest/forms.py:13 msgid "Maximum number of players" msgstr "" -#: plinth/modules/minetest/forms.py:17 +#: plinth/modules/minetest/forms.py:15 msgid "" "You can change the maximum number of players playing minetest at a single " "instance of time." msgstr "" -#: plinth/modules/minetest/forms.py:21 +#: plinth/modules/minetest/forms.py:19 #, fuzzy #| msgid "Applications" msgid "Enable creative mode" msgstr "Aplicações" -#: plinth/modules/minetest/forms.py:22 +#: plinth/modules/minetest/forms.py:20 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:27 +#: plinth/modules/minetest/forms.py:25 msgid "Enable PVP" msgstr "" -#: plinth/modules/minetest/forms.py:28 +#: plinth/modules/minetest/forms.py:26 msgid "Enabling Player Vs Player will allow players to damage other players." msgstr "" -#: plinth/modules/minetest/forms.py:32 +#: plinth/modules/minetest/forms.py:30 msgid "Enable damage" msgstr "" -#: plinth/modules/minetest/forms.py:33 +#: plinth/modules/minetest/forms.py:31 msgid "When disabled, players cannot die or receive damage of any kind." msgstr "" @@ -2708,19 +2647,19 @@ msgid "" "Kodi." msgstr "" -#: plinth/modules/minidlna/__init__.py:33 +#: plinth/modules/minidlna/__init__.py:44 msgid "Media streaming server" msgstr "" -#: plinth/modules/minidlna/__init__.py:47 +#: plinth/modules/minidlna/__init__.py:48 msgid "Simple Media Server" msgstr "" -#: plinth/modules/minidlna/forms.py:15 +#: plinth/modules/minidlna/forms.py:13 msgid "Media Files Directory" msgstr "" -#: plinth/modules/minidlna/forms.py:16 +#: plinth/modules/minidlna/forms.py:14 msgid "" "Directory that MiniDLNA Server will read for content. All sub-directories of " "this will be also scanned for media files. If you change the default ensure " @@ -2772,16 +2711,16 @@ msgid "" "On {box_name}, downloaded files can be found in /var/lib/mldonkey/ directory." msgstr "" -#: plinth/modules/mldonkey/__init__.py:40 +#: plinth/modules/mldonkey/__init__.py:50 msgid "Download files using eDonkey applications" msgstr "" -#: plinth/modules/mldonkey/__init__.py:54 +#: plinth/modules/mldonkey/__init__.py:53 #: plinth/modules/mldonkey/manifest.py:12 msgid "MLDonkey" msgstr "" -#: plinth/modules/mldonkey/__init__.py:56 +#: plinth/modules/mldonkey/__init__.py:55 msgid "Peer-to-peer File Sharing" msgstr "" @@ -2793,7 +2732,7 @@ msgstr "" msgid "AMLDonkey" msgstr "" -#: plinth/modules/monkeysphere/__init__.py:18 +#: plinth/modules/monkeysphere/__init__.py:19 msgid "" "With Monkeysphere, an OpenPGP key can be generated for each configured " "domain serving SSH. The OpenPGP public key can then be uploaded to the " @@ -2805,7 +2744,7 @@ msgid "" "for more details." msgstr "" -#: plinth/modules/monkeysphere/__init__.py:26 +#: plinth/modules/monkeysphere/__init__.py:27 msgid "" "Monkeysphere can also generate an OpenPGP key for each Secure Web Server " "(HTTPS) certificate installed on this machine. The OpenPGP public key can " @@ -2816,7 +2755,7 @@ msgid "" "Monkeysphere website." msgstr "" -#: plinth/modules/monkeysphere/__init__.py:50 +#: plinth/modules/monkeysphere/__init__.py:49 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:11 msgid "Monkeysphere" msgstr "" @@ -2867,15 +2806,15 @@ msgstr "" msgid "-" msgstr "" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:128 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:129 msgid "Import Key" msgstr "" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:137 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:139 msgid "Publish Key" msgstr "" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:146 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:149 #, fuzzy #| msgid "Domain Name" msgid "Add Domains" @@ -2949,34 +2888,34 @@ msgstr "" msgid "Error occurred while publishing key." msgstr "" -#: plinth/modules/mumble/__init__.py:23 +#: plinth/modules/mumble/__init__.py:24 msgid "" "Mumble is an open source, low-latency, encrypted, high quality voice chat " "software." msgstr "" -#: plinth/modules/mumble/__init__.py:25 +#: plinth/modules/mumble/__init__.py:26 msgid "" "You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your " "desktop and Android devices are available." msgstr "" -#: plinth/modules/mumble/__init__.py:49 plinth/modules/mumble/manifest.py:12 +#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:12 msgid "Mumble" msgstr "" -#: plinth/modules/mumble/__init__.py:50 +#: plinth/modules/mumble/__init__.py:49 msgid "Voice Chat" msgstr "" -#: plinth/modules/mumble/forms.py:16 +#: plinth/modules/mumble/forms.py:14 #, fuzzy #| msgid "SSH server password" msgid "Set SuperUser Password" msgstr "Password do servidor SSH" -#: plinth/modules/mumble/forms.py:19 +#: plinth/modules/mumble/forms.py:17 msgid "" "Optional. Leave this field blank to keep the current password. SuperUser " "password can be used to manage permissions in Mumble." @@ -3261,7 +3200,7 @@ msgstr "" #: plinth/modules/networks/forms.py:297 #, python-brace-format -msgid "Choose how your {box_name} is connected to your network" +msgid "Specify how your {box_name} is connected to your network" msgstr "" #: plinth/modules/networks/forms.py:304 @@ -3482,7 +3421,7 @@ msgstr "" #: plinth/modules/networks/templates/connection_show.html:171 #: plinth/modules/networks/templates/connection_show.html:212 -#: plinth/modules/shadowsocks/forms.py:49 +#: plinth/modules/shadowsocks/forms.py:48 msgid "Method" msgstr "" @@ -3498,7 +3437,7 @@ msgstr "" #: plinth/modules/networks/templates/connection_show.html:201 #: plinth/modules/networks/templates/connection_show.html:240 -#: plinth/modules/storage/forms.py:141 +#: plinth/modules/storage/forms.py:139 msgid "Default" msgstr "" @@ -3941,6 +3880,11 @@ msgstr "" msgid "Setup failed." msgstr "" +#: plinth/modules/openvpn/views.py:135 plinth/modules/tor/views.py:136 +#: plinth/views.py:196 +msgid "Setting unchanged" +msgstr "Definição inalterada" + #: plinth/modules/pagekite/__init__.py:27 #, python-brace-format msgid "" @@ -3997,75 +3941,75 @@ msgstr "" msgid "PageKite Domain" msgstr "" -#: plinth/modules/pagekite/forms.py:48 +#: plinth/modules/pagekite/forms.py:47 msgid "Server domain" msgstr "" -#: plinth/modules/pagekite/forms.py:50 +#: plinth/modules/pagekite/forms.py:49 msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " "pagekite.net server." msgstr "" -#: plinth/modules/pagekite/forms.py:53 plinth/modules/shadowsocks/forms.py:40 +#: plinth/modules/pagekite/forms.py:52 plinth/modules/shadowsocks/forms.py:39 msgid "Server port" msgstr "" -#: plinth/modules/pagekite/forms.py:54 +#: plinth/modules/pagekite/forms.py:53 msgid "Port of your pagekite server (default: 80)" msgstr "" -#: plinth/modules/pagekite/forms.py:56 +#: plinth/modules/pagekite/forms.py:55 msgid "Kite name" msgstr "" -#: plinth/modules/pagekite/forms.py:57 +#: plinth/modules/pagekite/forms.py:56 msgid "Example: mybox.pagekite.me" msgstr "" -#: plinth/modules/pagekite/forms.py:59 +#: plinth/modules/pagekite/forms.py:58 msgid "Invalid kite name" msgstr "" -#: plinth/modules/pagekite/forms.py:63 +#: plinth/modules/pagekite/forms.py:62 msgid "Kite secret" msgstr "" -#: plinth/modules/pagekite/forms.py:64 +#: plinth/modules/pagekite/forms.py:63 msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." msgstr "" -#: plinth/modules/pagekite/forms.py:101 +#: plinth/modules/pagekite/forms.py:100 msgid "protocol" msgstr "" -#: plinth/modules/pagekite/forms.py:104 +#: plinth/modules/pagekite/forms.py:103 msgid "external (frontend) port" msgstr "" -#: plinth/modules/pagekite/forms.py:107 +#: plinth/modules/pagekite/forms.py:106 msgid "internal (freedombox) port" msgstr "" -#: plinth/modules/pagekite/forms.py:108 +#: plinth/modules/pagekite/forms.py:107 msgid "Enable Subdomains" msgstr "" -#: plinth/modules/pagekite/forms.py:142 +#: plinth/modules/pagekite/forms.py:141 msgid "Deleted custom service" msgstr "" -#: plinth/modules/pagekite/forms.py:175 +#: plinth/modules/pagekite/forms.py:174 msgid "This service is already available as a standard service." msgstr "" -#: plinth/modules/pagekite/forms.py:183 +#: plinth/modules/pagekite/forms.py:182 msgid "Added custom service" msgstr "" -#: plinth/modules/pagekite/forms.py:186 +#: plinth/modules/pagekite/forms.py:185 msgid "This service already exists" msgstr "" @@ -4183,14 +4127,14 @@ msgstr "" msgid "Shut Down Now" msgstr "" -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 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:33 +#: plinth/modules/privoxy/__init__.py:34 #, python-brace-format msgid "" "You can use Privoxy by modifying your browser proxy settings to your " @@ -4200,20 +4144,20 @@ msgid "" "\">http://p.p." msgstr "" -#: plinth/modules/privoxy/__init__.py:56 +#: plinth/modules/privoxy/__init__.py:55 msgid "Privoxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:57 +#: plinth/modules/privoxy/__init__.py:56 msgid "Web Proxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:119 #, python-brace-format msgid "Access {url} with proxy {proxy} on tcp{kind}" msgstr "" -#: plinth/modules/quassel/__init__.py:32 +#: plinth/modules/quassel/__init__.py:33 #, python-brace-format msgid "" "Quassel is an IRC application that is split into two parts, a \"core\" and a " @@ -4224,7 +4168,7 @@ msgid "" "connect and disconnect from it." msgstr "" -#: plinth/modules/quassel/__init__.py:39 +#: plinth/modules/quassel/__init__.py:40 msgid "" "You can connect to your Quassel core on the default Quassel port 4242. " "Clients to connect to Quassel from your mobile devices are available." msgstr "" -#: plinth/modules/quassel/__init__.py:62 plinth/modules/quassel/manifest.py:10 +#: plinth/modules/quassel/__init__.py:61 plinth/modules/quassel/manifest.py:10 msgid "Quassel" msgstr "" -#: plinth/modules/quassel/__init__.py:63 +#: plinth/modules/quassel/__init__.py:62 msgid "IRC Client" msgstr "" -#: plinth/modules/quassel/forms.py:23 +#: plinth/modules/quassel/forms.py:22 #, fuzzy #| msgid "Domain Name" msgid "TLS domain" msgstr "Nome de Domínio" -#: plinth/modules/quassel/forms.py:25 +#: plinth/modules/quassel/forms.py:24 msgid "" "Select a domain to use TLS with. If the list is empty, please configure at " "least one domain with certificates." @@ -4256,7 +4200,7 @@ msgstr "" msgid "Quasseldroid" msgstr "" -#: plinth/modules/radicale/__init__.py:32 +#: plinth/modules/radicale/__init__.py:33 #, python-brace-format msgid "" "Radicale is a CalDAV and CardDAV server. It allows synchronization and " @@ -4265,34 +4209,34 @@ msgid "" "can be accessed by any user with a {box_name} login." msgstr "" -#: plinth/modules/radicale/__init__.py:37 +#: plinth/modules/radicale/__init__.py:38 msgid "" "Radicale provides a basic web interface, which only supports creating new " "calendars and addressbooks. It does not support adding events or contacts, " "which must be done using a separate client." msgstr "" -#: plinth/modules/radicale/__init__.py:62 +#: plinth/modules/radicale/__init__.py:61 #: plinth/modules/radicale/manifest.py:75 msgid "Radicale" msgstr "" -#: plinth/modules/radicale/__init__.py:63 +#: plinth/modules/radicale/__init__.py:62 msgid "Calendar and Addressbook" msgstr "" -#: plinth/modules/radicale/forms.py:15 +#: plinth/modules/radicale/forms.py:14 msgid "Only the owner of a calendar/addressbook can view or make changes." msgstr "" -#: plinth/modules/radicale/forms.py:19 +#: plinth/modules/radicale/forms.py:18 #, python-brace-format msgid "" "Any user with a {box_name} login can view any calendar/addressbook, but only " "the owner can make changes." msgstr "" -#: plinth/modules/radicale/forms.py:24 +#: plinth/modules/radicale/forms.py:23 #, python-brace-format msgid "" "Any user with a {box_name} login can view or make changes to any calendar/" @@ -4410,11 +4354,11 @@ msgid "" "private space." msgstr "" -#: plinth/modules/samba/__init__.py:47 +#: plinth/modules/samba/__init__.py:59 msgid "Access to the private shares" msgstr "" -#: plinth/modules/samba/__init__.py:61 +#: plinth/modules/samba/__init__.py:62 msgid "Samba" msgstr "" @@ -4486,11 +4430,11 @@ msgstr "Nome do arquivo" msgid "Action" msgstr "Aplicações" -#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:149 +#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:147 msgid "Open Share" msgstr "" -#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:147 +#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:145 msgid "Group Share" msgstr "" @@ -4532,43 +4476,43 @@ msgid "" "stores no cookies by default." msgstr "" -#: plinth/modules/searx/__init__.py:31 +#: plinth/modules/searx/__init__.py:45 msgid "Search the web" msgstr "" -#: plinth/modules/searx/__init__.py:47 plinth/modules/searx/manifest.py:9 +#: plinth/modules/searx/__init__.py:48 plinth/modules/searx/manifest.py:9 msgid "Searx" msgstr "" -#: plinth/modules/searx/__init__.py:48 +#: plinth/modules/searx/__init__.py:49 msgid "Web Search" msgstr "" -#: plinth/modules/searx/forms.py:15 +#: plinth/modules/searx/forms.py:13 msgid "Safe Search" msgstr "" -#: plinth/modules/searx/forms.py:16 +#: plinth/modules/searx/forms.py:14 msgid "Select the default family filter to apply to your search results." msgstr "" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "None" msgstr "" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "Moderate" msgstr "" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "Strict" msgstr "" -#: plinth/modules/searx/forms.py:20 +#: plinth/modules/searx/forms.py:18 msgid "Allow Public Access" msgstr "" -#: plinth/modules/searx/forms.py:21 +#: plinth/modules/searx/forms.py:19 msgid "Allow this application to be used by anyone who can reach it." msgstr "Permitir o uso desta aplicação por todos." @@ -4740,28 +4684,28 @@ msgstr "" msgid "Socks5 Proxy" msgstr "" +#: plinth/modules/shadowsocks/forms.py:12 #: plinth/modules/shadowsocks/forms.py:13 -#: plinth/modules/shadowsocks/forms.py:14 msgid "Recommended" msgstr "" -#: plinth/modules/shadowsocks/forms.py:37 +#: plinth/modules/shadowsocks/forms.py:36 msgid "Server" msgstr "" -#: plinth/modules/shadowsocks/forms.py:38 +#: plinth/modules/shadowsocks/forms.py:37 msgid "Server hostname or IP address" msgstr "" -#: plinth/modules/shadowsocks/forms.py:42 +#: plinth/modules/shadowsocks/forms.py:41 msgid "Server port number" msgstr "" -#: plinth/modules/shadowsocks/forms.py:45 +#: plinth/modules/shadowsocks/forms.py:44 msgid "Password used to encrypt data. Must match server password." msgstr "" -#: plinth/modules/shadowsocks/forms.py:50 +#: plinth/modules/shadowsocks/forms.py:49 msgid "Encryption method. Must match setting on server." msgstr "" @@ -4802,11 +4746,11 @@ msgstr "" msgid "Make files in this folder available to anyone with the link." msgstr "" -#: plinth/modules/sharing/forms.py:33 +#: plinth/modules/sharing/forms.py:34 msgid "User groups that can read the files in the share" msgstr "" -#: plinth/modules/sharing/forms.py:35 +#: plinth/modules/sharing/forms.py:36 msgid "" "Users of the selected user groups will be able to read the files in the " "share." @@ -5079,11 +5023,11 @@ msgstr "" msgid "Secure Shell (SSH) Server" msgstr "" -#: plinth/modules/ssh/forms.py:15 +#: plinth/modules/ssh/forms.py:13 msgid "Disable password authentication" msgstr "" -#: plinth/modules/ssh/forms.py:16 +#: plinth/modules/ssh/forms.py:14 msgid "" "Improves security by preventing password guessing. Ensure that you have " "setup SSH keys in your administrator user account before enabling this " @@ -5134,135 +5078,135 @@ msgid "" "media, expand the root partition etc." msgstr "" -#: plinth/modules/storage/__init__.py:52 plinth/modules/storage/__init__.py:318 +#: plinth/modules/storage/__init__.py:54 plinth/modules/storage/__init__.py:320 msgid "Storage" 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 "Esta operação pode ligar um disco que esteja no estado de adormecido." -#: 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 "" -#: plinth/modules/storage/__init__.py:313 +#: plinth/modules/storage/__init__.py:315 #, no-python-format, python-brace-format msgid "Low space on system partition: {percent_used}% used, {free_space} free." msgstr "" -#: plinth/modules/storage/__init__.py:315 +#: plinth/modules/storage/__init__.py:317 msgid "Low disk space" msgstr "" -#: plinth/modules/storage/forms.py:64 +#: plinth/modules/storage/forms.py:63 #, fuzzy #| msgid "Invalid domain name" msgid "Invalid directory name." msgstr "Nome de domínio inválido" -#: plinth/modules/storage/forms.py:82 +#: plinth/modules/storage/forms.py:80 msgid "Directory does not exist." msgstr "" -#: plinth/modules/storage/forms.py:84 +#: plinth/modules/storage/forms.py:83 msgid "Path is not a directory." msgstr "" -#: plinth/modules/storage/forms.py:87 +#: plinth/modules/storage/forms.py:86 msgid "Directory is not readable by the user." msgstr "" -#: plinth/modules/storage/forms.py:90 +#: plinth/modules/storage/forms.py:89 msgid "Directory is not writable by the user." msgstr "" -#: plinth/modules/storage/forms.py:95 +#: plinth/modules/storage/forms.py:94 msgid "Directory" msgstr "" -#: plinth/modules/storage/forms.py:98 +#: plinth/modules/storage/forms.py:96 msgid "Subdirectory (optional)" msgstr "" -#: plinth/modules/storage/forms.py:145 +#: plinth/modules/storage/forms.py:143 #, fuzzy #| msgid "Archive name" msgid "Share" msgstr "Nome do arquivo" -#: plinth/modules/storage/forms.py:153 +#: plinth/modules/storage/forms.py:151 msgid "Other directory (specify below)" msgstr "" @@ -5344,19 +5288,20 @@ msgid "" "synchronize more often. {box_name} runs a single instance of Syncthing that " "may be used by multiple users. Each user's set of devices may be " "synchronized with a distinct set of folders. The web interface on " -"{box_name} is only available for users belonging to the \"admin\" group." +"{box_name} is only available for users belonging to the \"admin\" or " +"\"syncthing\" group." msgstr "" -#: plinth/modules/syncthing/__init__.py:40 +#: plinth/modules/syncthing/__init__.py:53 msgid "Administer Syncthing application" msgstr "" -#: plinth/modules/syncthing/__init__.py:54 +#: plinth/modules/syncthing/__init__.py:56 #: plinth/modules/syncthing/manifest.py:13 msgid "Syncthing" msgstr "" -#: plinth/modules/syncthing/__init__.py:55 +#: plinth/modules/syncthing/__init__.py:57 msgid "File Synchronization" msgstr "" @@ -5393,33 +5338,33 @@ msgid "" "%(domain_name)s:5678\">https://%(domain_name)s:5678." msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:39 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:29 msgid "Local introducer" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:59 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:76 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:33 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:49 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:66 msgid "Pet Name" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:56 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:46 msgid "Add new introducer" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:67 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:57 msgid "Add" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:72 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:62 msgid "Connected introducers" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:89 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:79 msgid "Remove" msgstr "" -#: plinth/modules/tor/__init__.py:33 +#: plinth/modules/tor/__init__.py:34 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -5428,40 +5373,40 @@ msgid "" "\">Tor Browser." msgstr "" -#: plinth/modules/tor/__init__.py:55 +#: plinth/modules/tor/__init__.py:54 msgid "Tor" msgstr "" -#: plinth/modules/tor/__init__.py:66 +#: plinth/modules/tor/__init__.py:65 msgid "Tor Onion Service" msgstr "" -#: plinth/modules/tor/__init__.py:70 +#: plinth/modules/tor/__init__.py:69 msgid "Tor Socks Proxy" msgstr "" -#: plinth/modules/tor/__init__.py:74 +#: plinth/modules/tor/__init__.py:73 msgid "Tor Bridge Relay" msgstr "" -#: plinth/modules/tor/__init__.py:95 +#: plinth/modules/tor/__init__.py:98 msgid "Tor relay port available" msgstr "" -#: plinth/modules/tor/__init__.py:105 +#: plinth/modules/tor/__init__.py:108 msgid "Obfs3 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:115 +#: plinth/modules/tor/__init__.py:118 msgid "Obfs4 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:208 +#: plinth/modules/tor/__init__.py:211 #, python-brace-format msgid "Access URL {url} on tcp{kind} via Tor" msgstr "" -#: plinth/modules/tor/__init__.py:219 +#: plinth/modules/tor/__init__.py:222 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "" @@ -5593,13 +5538,13 @@ msgstr "" msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050." msgstr "" -#: plinth/modules/transmission/__init__.py:27 +#: plinth/modules/transmission/__init__.py:28 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:48 +#: plinth/modules/transmission/__init__.py:51 #: plinth/modules/transmission/manifest.py:9 msgid "Transmission" msgstr "" @@ -5625,15 +5570,15 @@ msgid "" "connecting." msgstr "" -#: plinth/modules/ttrss/__init__.py:42 +#: plinth/modules/ttrss/__init__.py:54 msgid "Read and subscribe to news feeds" msgstr "" -#: plinth/modules/ttrss/__init__.py:56 plinth/modules/ttrss/manifest.py:19 +#: plinth/modules/ttrss/__init__.py:57 plinth/modules/ttrss/manifest.py:19 msgid "Tiny Tiny RSS" msgstr "" -#: plinth/modules/ttrss/__init__.py:57 +#: plinth/modules/ttrss/__init__.py:58 msgid "News Feed Reader" msgstr "" @@ -5645,11 +5590,11 @@ msgstr "" msgid "Check for and apply the latest software and security updates." msgstr "" -#: plinth/modules/upgrades/__init__.py:38 plinth/templates/setup.html:74 +#: plinth/modules/upgrades/__init__.py:40 plinth/templates/setup.html:74 msgid "Update" msgstr "" -#: plinth/modules/upgrades/__init__.py:76 +#: plinth/modules/upgrades/__init__.py:78 #, fuzzy #| msgid "FreedomBox" msgid "FreedomBox Updated" @@ -5705,45 +5650,39 @@ msgstr "" #: plinth/modules/upgrades/templates/upgrades_configure.html:11 #: plinth/modules/upgrades/templates/upgrades_configure.html:12 -#: plinth/modules/upgrades/views.py:88 +#: plinth/modules/upgrades/views.py:85 msgid "Manual update" msgstr "" -#: plinth/modules/upgrades/views.py:47 +#: plinth/modules/upgrades/views.py:46 #, python-brace-format msgid "Error when configuring unattended-upgrades: {error}" msgstr "" -#: plinth/modules/upgrades/views.py:51 +#: plinth/modules/upgrades/views.py:50 msgid "Automatic upgrades enabled" msgstr "" -#: plinth/modules/upgrades/views.py:54 +#: plinth/modules/upgrades/views.py:53 msgid "Automatic upgrades disabled" msgstr "" -#: plinth/modules/upgrades/views.py:56 -#, fuzzy -#| msgid "Setting unchanged" -msgid "Settings unchanged" -msgstr "Definição inalterada" - -#: plinth/modules/upgrades/views.py:82 +#: plinth/modules/upgrades/views.py:79 msgid "Upgrade process started." msgstr "" -#: plinth/modules/upgrades/views.py:85 +#: plinth/modules/upgrades/views.py:82 msgid "Starting upgrade failed." msgstr "" -#: plinth/modules/users/__init__.py:37 +#: plinth/modules/users/__init__.py:39 msgid "" "Create and managed user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " "account to be part of a group to authorize the user to access the app." msgstr "" -#: plinth/modules/users/__init__.py:42 +#: plinth/modules/users/__init__.py:44 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -5751,104 +5690,103 @@ msgid "" "group may alter apps or system settings." msgstr "" -#: plinth/modules/users/__init__.py:64 +#: plinth/modules/users/__init__.py:65 msgid "Users and Groups" msgstr "" -#: plinth/modules/users/__init__.py:115 +#: plinth/modules/users/__init__.py:78 +msgid "Access to all services and system settings" +msgstr "" + +#: plinth/modules/users/__init__.py:122 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "" -#: plinth/modules/users/forms.py:28 -msgid "Access to all services and system settings" -msgstr "" - -#: plinth/modules/users/forms.py:44 +#: plinth/modules/users/forms.py:36 msgid "Username is taken or is reserved." msgstr "" -#: plinth/modules/users/forms.py:72 +#: plinth/modules/users/forms.py:63 #, fuzzy #| msgid "Invalid domain name" msgid "Enter a valid username." msgstr "Nome de domínio inválido" -#: plinth/modules/users/forms.py:78 +#: plinth/modules/users/forms.py:69 msgid "" "Required. 150 characters or fewer. English letters, digits and @/./-/_ only." msgstr "" -#: plinth/modules/users/forms.py:91 plinth/modules/users/forms.py:207 +#: plinth/modules/users/forms.py:83 plinth/modules/users/forms.py:196 msgid "Permissions" msgstr "" -#: plinth/modules/users/forms.py:94 +#: plinth/modules/users/forms.py:85 msgid "" -"Select which services should be available to the new user. The user will be " -"able to log in to services that support single sign-on through LDAP, if they " -"are in the appropriate group.

Users in the admin group will be " -"able to log in to all services. They can also log in to the system through " -"SSH and have administrative privileges (sudo)." +"user. The user will be able to log in to services that support single sign-" +"on through LDAP, if they are in the appropriate group.

Users in " +"the admin group will be able to log in to all services. They can also log in " +"to the system through SSH and have administrative privileges (sudo)." msgstr "" -#: plinth/modules/users/forms.py:133 plinth/modules/users/forms.py:357 +#: plinth/modules/users/forms.py:122 plinth/modules/users/forms.py:345 msgid "Creating LDAP user failed." msgstr "" -#: plinth/modules/users/forms.py:144 +#: plinth/modules/users/forms.py:133 #, python-brace-format msgid "Failed to add new user to {group} group." msgstr "" -#: plinth/modules/users/forms.py:158 +#: plinth/modules/users/forms.py:147 msgid "Authorized SSH Keys" msgstr "" -#: plinth/modules/users/forms.py:160 +#: plinth/modules/users/forms.py:149 msgid "" "Setting an SSH public key will allow this user to securely log in to the " "system without using a password. You may enter multiple keys, one on each " "line. Blank lines and lines starting with # will be ignored." msgstr "" -#: plinth/modules/users/forms.py:244 +#: plinth/modules/users/forms.py:233 msgid "Renaming LDAP user failed." msgstr "" -#: plinth/modules/users/forms.py:256 +#: plinth/modules/users/forms.py:245 msgid "Failed to remove user from group." msgstr "" -#: plinth/modules/users/forms.py:267 +#: plinth/modules/users/forms.py:256 msgid "Failed to add user to group." msgstr "" -#: plinth/modules/users/forms.py:276 +#: plinth/modules/users/forms.py:265 msgid "Unable to set SSH keys." msgstr "" -#: plinth/modules/users/forms.py:291 +#: plinth/modules/users/forms.py:280 msgid "Failed to change user status." msgstr "" -#: plinth/modules/users/forms.py:299 +#: plinth/modules/users/forms.py:288 msgid "Cannot delete the only administrator in the system." msgstr "" -#: plinth/modules/users/forms.py:331 +#: plinth/modules/users/forms.py:319 msgid "Changing LDAP user password failed." msgstr "" -#: plinth/modules/users/forms.py:366 +#: plinth/modules/users/forms.py:354 msgid "Failed to add new user to admin group." msgstr "" -#: plinth/modules/users/forms.py:383 +#: plinth/modules/users/forms.py:371 msgid "Failed to restrict console access." msgstr "" -#: plinth/modules/users/forms.py:395 +#: plinth/modules/users/forms.py:383 msgid "User account created, you are now logged in" msgstr "" @@ -6568,16 +6506,12 @@ msgid "" msgstr "" #: plinth/templates/notifications-dropdown.html:11 -#, fuzzy -#| msgid "Applications" msgid "Notifications" -msgstr "Aplicações" +msgstr "Notificações" #: plinth/templates/port-forwarding-info.html:8 -#, fuzzy -#| msgid "Enable network time" msgid "Port Forwarding" -msgstr "Ativar tempo da rede" +msgstr "Porta de Reencaminhar" #: plinth/templates/port-forwarding-info.html:11 #, python-format @@ -6589,59 +6523,67 @@ msgstr "" #: plinth/templates/setup.html:36 msgid "Install this application?" -msgstr "" +msgstr "Instalar esta aplicação?" #: plinth/templates/setup.html:40 msgid "This application needs an update. Update now?" -msgstr "" +msgstr "Esta aplicação precisa de ser atualizada. Atualizar agora?" #: plinth/templates/setup.html:51 msgid "" "Another installation or upgrade is already running. Please wait for a few " "moments before trying again." msgstr "" +"Outra instalação ou atualização já está em execução. Por favor, aguarde " +"alguns instantes antes de tentar novamente." #: plinth/templates/setup.html:58 msgid "This application is currently not available in your distribution." -msgstr "" +msgstr "Atualmente, esta aplicação não está disponível na sua distribuição." #: plinth/templates/setup.html:72 msgid "Install" -msgstr "" +msgstr "Instalar" #: plinth/templates/setup.html:83 msgid "Performing pre-install operation" -msgstr "" +msgstr "A executar a operação de pré-instalação" #: plinth/templates/setup.html:87 msgid "Performing post-install operation" -msgstr "" +msgstr "A executar a operação de pós-Instalação" #: plinth/templates/setup.html:92 #, python-format msgid "Installing %(package_names)s: %(status)s" -msgstr "" +msgstr "A instalar %(package_names)s: %(status)s" #: plinth/templates/setup.html:102 #, python-format msgid "%(percentage)s%% complete" -msgstr "" - -#: plinth/views.py:184 -#, fuzzy -#| msgid "Applications" -msgid "Application enabled" -msgstr "Aplicações" - -#: plinth/views.py:187 -#, fuzzy -#| msgid "Applications" -msgid "Application disabled" -msgstr "Aplicações" +msgstr "%(percentage)s%% concluída" #: plinth/web_framework.py:107 msgid "Gujarati" -msgstr "" +msgstr "Gujarati" + +#~ msgid "Enable application" +#~ msgstr "Ativar aplicação" + +#, fuzzy +#~| msgid "Setting unchanged" +#~ msgid "Settings unchanged" +#~ msgstr "Definição inalterada" + +#, fuzzy +#~| msgid "Applications" +#~ msgid "Application enabled" +#~ msgstr "Aplicações" + +#, fuzzy +#~| msgid "Applications" +#~ msgid "Application disabled" +#~ msgstr "Aplicações" #, fuzzy #~| msgid "Connection refused" diff --git a/plinth/locale/ru/LC_MESSAGES/django.po b/plinth/locale/ru/LC_MESSAGES/django.po index 2a9658494..310f74b51 100644 --- a/plinth/locale/ru/LC_MESSAGES/django.po +++ b/plinth/locale/ru/LC_MESSAGES/django.po @@ -7,22 +7,22 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-23 18:54-0400\n" -"PO-Revision-Date: 2019-07-22 17:06+0000\n" -"Last-Translator: Igor \n" +"POT-Creation-Date: 2020-04-06 19:59-0400\n" +"PO-Revision-Date: 2020-04-11 13:36+0000\n" +"Last-Translator: wind \n" "Language-Team: Russian \n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Generator: Weblate 3.8-dev\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=" +"4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 4.0-dev\n" #: doc/dev/_templates/layout.html:11 msgid "Page source" -msgstr "" +msgstr "Страница источника" #: plinth/context_processors.py:23 plinth/views.py:53 msgid "FreedomBox" @@ -54,15 +54,11 @@ msgstr "Подключение к {host}:{port}" msgid "Cannot connect to {host}:{port}" msgstr "Невозможно подключиться к {host}:{port}" -#: plinth/forms.py:24 -msgid "Enable application" -msgstr "Включить приложение" - -#: plinth/forms.py:39 +#: plinth/forms.py:38 msgid "Select a domain name to be used with this application" msgstr "Выберите доменное имя, которое будет использоваться этим приложением" -#: plinth/forms.py:41 +#: plinth/forms.py:40 msgid "" "Warning! The application may not work properly if domain name is changed " "later." @@ -70,15 +66,15 @@ msgstr "" "Предупреждение! Приложение может не работать должным образом, если доменное " "имя будет изменено." -#: plinth/forms.py:49 +#: plinth/forms.py:48 msgid "Language" msgstr "Язык" -#: plinth/forms.py:50 +#: plinth/forms.py:49 msgid "Language to use for presenting this web interface" msgstr "Язык, используемый для представления данного веб-интерфейса" -#: plinth/forms.py:57 +#: plinth/forms.py:56 msgid "Use the language preference set in the browser" msgstr "Использовать языковые настройки браузера" @@ -140,7 +136,7 @@ msgstr "Обнаружение служб" #: plinth/modules/avahi/__init__.py:68 msgid "Local Network Domain" -msgstr "" +msgstr "Домен локальной сети" #: plinth/modules/backups/__init__.py:28 msgid "Backups allows creating and managing backup archives." @@ -237,11 +233,11 @@ msgstr "Парольная фраза необходима для шифрова #: plinth/modules/backups/forms.py:174 msgid "Select Disk or Partition" -msgstr "" +msgstr "Выберите диск или раздел" #: plinth/modules/backups/forms.py:175 msgid "Backups will be stored in the directory FreedomBoxBackups" -msgstr "" +msgstr "Резервные копии сохраняются в директорию FreedomBoxBackups" #: plinth/modules/backups/forms.py:184 msgid "SSH Repository Path" @@ -306,7 +302,7 @@ msgstr "" #: plinth/modules/backups/repository.py:137 msgid "Existing repository is not encrypted." -msgstr "" +msgstr "Имеющийся репозиторий не зашифрован." #: plinth/modules/backups/repository.py:322 #, python-brace-format @@ -441,6 +437,7 @@ msgstr "Точка монтирования" #: plinth/modules/backups/templates/backups_repository.html:56 msgid "Remove Backup Location. This will not delete the remote backup." msgstr "" +"Удалить место сохранения резервной копии. Резервная копия не будет удалена." #: plinth/modules/backups/templates/backups_repository.html:77 #, fuzzy @@ -546,6 +543,8 @@ msgid "" "Could not reach SSH host %(hostname)s. Please verify that the host is up and " "accepting connections." msgstr "" +"Невозможно соединиться с SSH-хостом %(hostname)s. Пожалуйста, убедитесь, что " +"хост включён и принимает соединения." #: plinth/modules/backups/templates/verify_ssh_hostkey.html:28 #, python-format @@ -553,6 +552,8 @@ msgid "" "The authenticity of SSH host %(hostname)s could not be established. The host " "advertises the following SSH public keys. Please verify any one of them." msgstr "" +"Невозможно подтвердить аутентичность SSH-хоста %(hostname)s. Хост предлагает " +"следующие SSH-публичные ключи. Пожалуйста, подтвердите один из них." #: plinth/modules/backups/templates/verify_ssh_hostkey.html:40 msgid "How to verify?" @@ -604,7 +605,7 @@ msgstr "Восстановить из загруженного файла" #: plinth/modules/backups/views.py:234 msgid "No additional disks available to add a repository." -msgstr "" +msgstr "Нет дополнительных дисков, чтобы добавить репозиторий." #: plinth/modules/backups/views.py:242 #, fuzzy @@ -695,21 +696,21 @@ msgstr "BIND" msgid "Domain Name Server" msgstr "Сервер доменных имен" -#: plinth/modules/bind/forms.py:22 +#: plinth/modules/bind/forms.py:20 msgid "Forwarders" msgstr "Форвардеры" -#: plinth/modules/bind/forms.py:23 +#: plinth/modules/bind/forms.py:21 msgid "" "A list DNS servers, separated by space, to which requests will be forwarded" msgstr "" "Список DNS-серверов, разделенных пробелами, которые будут пересылать запросы" -#: plinth/modules/bind/forms.py:27 +#: plinth/modules/bind/forms.py:25 msgid "Enable DNSSEC" msgstr "Включить DNSSEC" -#: plinth/modules/bind/forms.py:28 +#: plinth/modules/bind/forms.py:26 msgid "Enable Domain Name System Security Extensions" msgstr "Включить расширения безопасности системы доменных имен" @@ -747,12 +748,13 @@ msgstr "IP-адрес" #: plinth/modules/bind/templates/bind.html:35 #: plinth/modules/bind/templates/bind.html:37 msgid "Refresh IP address and domains" -msgstr "" +msgstr "Обновите IP-адреса и домены" -#: plinth/modules/bind/views.py:72 plinth/modules/deluge/views.py:44 +#: plinth/modules/bind/views.py:72 plinth/modules/deluge/views.py:42 #: plinth/modules/dynamicdns/views.py:150 plinth/modules/openvpn/views.py:133 -#: plinth/modules/pagekite/forms.py:91 plinth/modules/shadowsocks/views.py:59 -#: plinth/modules/transmission/views.py:50 +#: plinth/modules/pagekite/forms.py:90 plinth/modules/quassel/views.py:30 +#: plinth/modules/shadowsocks/views.py:59 +#: plinth/modules/transmission/views.py:47 msgid "Configuration updated" msgstr "Конфигурация обновлена" @@ -788,6 +790,8 @@ msgid "" "Cockpit requires that you access it through a domain name. It will not work " "when accessed using an IP address as part of the URL." msgstr "" +"Доступ в Кокпит возможен только через доменное имя. Доступ невозможен, если " +"использовать IP-адрес как часть URL." #: plinth/modules/cockpit/__init__.py:59 plinth/modules/cockpit/manifest.py:12 msgid "Cockpit" @@ -805,19 +809,21 @@ msgstr "Точка доступа" #: plinth/modules/cockpit/templates/cockpit.html:14 msgid "Cockpit will only work when accessed using the following URLs." -msgstr "" +msgstr "Кокпит будет работать, только если использовать следующие адреса." #: plinth/modules/config/__init__.py:23 msgid "" "Here you can set some general configuration options like hostname, domain " "name, webserver home page etc." msgstr "" +"Здесь вы можете установить такие опции конфигурации, как имя хоста, доменное " +"имя, домашняя страница веб-сервера и тому подобное." -#: plinth/modules/config/__init__.py:50 +#: plinth/modules/config/__init__.py:52 msgid "General Configuration" msgstr "Общие настройки" -#: plinth/modules/config/__init__.py:55 plinth/modules/dynamicdns/views.py:29 +#: plinth/modules/config/__init__.py:57 plinth/modules/dynamicdns/views.py:29 #: plinth/modules/names/templates/names.html:29 #: plinth/modules/names/templates/names.html:43 #: plinth/modules/snapshot/views.py:26 @@ -825,7 +831,7 @@ msgstr "Общие настройки" msgid "Configure" msgstr "Настроить" -#: plinth/modules/config/__init__.py:59 plinth/modules/config/forms.py:61 +#: plinth/modules/config/__init__.py:61 plinth/modules/config/forms.py:61 #: plinth/modules/dynamicdns/forms.py:95 msgid "Domain Name" msgstr "Доменное имя" @@ -907,6 +913,7 @@ msgstr "Показывать дополнительные приложения #: plinth/modules/config/forms.py:92 msgid "Show apps and features that require more technical knowledge." msgstr "" +"Показать приложения и функции, которые требуют больше технических знаний." #: plinth/modules/config/views.py:46 #, python-brace-format @@ -943,11 +950,11 @@ msgstr "Ошибка параметра имени домена: {exception}" #: plinth/modules/config/views.py:85 msgid "Showing advanced apps and features" -msgstr "" +msgstr "Показать продвинутые приложения и функции" #: plinth/modules/config/views.py:88 msgid "Hiding advanced apps and features" -msgstr "" +msgstr "Скрыть продвинутые приложения и функции" #: plinth/modules/coquelicot/__init__.py:24 #, fuzzy @@ -980,15 +987,15 @@ msgstr "" msgid "Coquelicot" msgstr "Coquelicot" -#: plinth/modules/coquelicot/__init__.py:47 plinth/modules/samba/__init__.py:62 +#: plinth/modules/coquelicot/__init__.py:47 plinth/modules/samba/__init__.py:63 msgid "File Sharing" msgstr "Обмен Файлами" -#: plinth/modules/coquelicot/forms.py:15 +#: plinth/modules/coquelicot/forms.py:13 msgid "Upload Password" msgstr "Пароль загрузки" -#: plinth/modules/coquelicot/forms.py:16 +#: plinth/modules/coquelicot/forms.py:14 msgid "" "Set a new upload password for Coquelicot. Leave this field blank to keep the " "current password." @@ -996,11 +1003,11 @@ msgstr "" "Установить новый пароль для Coquelicot. Оставьте это поле пустым, чтобы " "сохранить текущий пароль." -#: plinth/modules/coquelicot/forms.py:20 +#: plinth/modules/coquelicot/forms.py:18 msgid "Maximum File Size (in MiB)" msgstr "Максимальный размер файла (в Мб)" -#: plinth/modules/coquelicot/forms.py:21 +#: plinth/modules/coquelicot/forms.py:19 msgid "Set the maximum size of the files that can be uploaded to Coquelicot." msgstr "" "Установить максимальный размер файлов, которые могут быть загружены на " @@ -1042,11 +1049,11 @@ msgstr "Дата и Время" msgid "Time synchronized to NTP server" msgstr "Время синхронизируется с NTP сервером" -#: plinth/modules/datetime/forms.py:20 +#: plinth/modules/datetime/forms.py:18 msgid "Time Zone" msgstr "Часовой пояс" -#: plinth/modules/datetime/forms.py:21 +#: plinth/modules/datetime/forms.py:19 msgid "" "Set your time zone to get accurate timestamps. This will set the system-wide " "time zone." @@ -1054,7 +1061,7 @@ msgstr "" "Задайте свой часовой пояс, чтобы получить точные временные метки. Это " "позволит установить общесистемный часовой пояс." -#: plinth/modules/datetime/forms.py:32 +#: plinth/modules/datetime/forms.py:30 msgid "-- no time zone set --" msgstr "-- не выбран часовой пояс --" @@ -1067,11 +1074,11 @@ msgstr "Ошибка установки часового пояса: {exception} msgid "Time zone set" msgstr "Смена часового пояса" -#: plinth/modules/deluge/__init__.py:25 +#: plinth/modules/deluge/__init__.py:26 msgid "Deluge is a BitTorrent client that features a Web UI." msgstr "Deluge это клиент BitTorrent, имеющий веб-интерфейс." -#: plinth/modules/deluge/__init__.py:26 +#: plinth/modules/deluge/__init__.py:27 #, fuzzy #| msgid "" #| "When enabled, the Deluge web client will be available from на веб-сервере. Пароль по умолчанию 'deluge', но вы должны " "войти и изменить его сразу же после включения этой службы." -#: plinth/modules/deluge/__init__.py:30 -#: plinth/modules/transmission/__init__.py:34 +#: plinth/modules/deluge/__init__.py:46 +#: plinth/modules/transmission/__init__.py:48 msgid "Download files using BitTorrent applications" msgstr "Загружать файлы используя приложения BitTorrent" -#: plinth/modules/deluge/__init__.py:46 plinth/modules/deluge/manifest.py:9 +#: plinth/modules/deluge/__init__.py:50 plinth/modules/deluge/manifest.py:9 msgid "Deluge" msgstr "Delugе" -#: plinth/modules/deluge/__init__.py:47 -#: plinth/modules/transmission/__init__.py:50 +#: plinth/modules/deluge/__init__.py:51 +#: plinth/modules/transmission/__init__.py:53 msgid "BitTorrent Web Client" msgstr "BitTorrent Веб Клиент" -#: plinth/modules/deluge/forms.py:20 plinth/modules/transmission/forms.py:20 +#: plinth/modules/deluge/forms.py:20 plinth/modules/transmission/forms.py:21 msgid "Download directory" msgstr "Папка для загрузок" @@ -1138,7 +1145,7 @@ msgstr "Результаты" #: plinth/modules/diagnostics/templates/diagnostics_app.html:12 #, python-format msgid "App: %(app_id)s" -msgstr "" +msgstr "Приложение: %(app_id)s" #: plinth/modules/diagnostics/templates/diagnostics_app.html:10 msgid "Diagnostic Results" @@ -1179,7 +1186,7 @@ msgstr "diasporа*" msgid "Federated Social Network" msgstr "Federated Social Netwоrk" -#: plinth/modules/diaspora/forms.py:15 +#: plinth/modules/diaspora/forms.py:13 msgid "Enable new user registrations" msgstr "Включение регистрации нового пользователя" @@ -1212,32 +1219,23 @@ msgstr "" #: plinth/modules/diaspora/templates/diaspora-pre-setup.html:43 #: plinth/modules/dynamicdns/templates/dynamicdns_configure.html:25 -#: plinth/modules/ejabberd/templates/ejabberd.html:43 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:18 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:47 #: plinth/modules/snapshot/templates/snapshot.html:15 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:35 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:43 -#: plinth/templates/app.html:52 +#: plinth/templates/app.html:54 msgid "Update setup" msgstr "Обновить настройки" -#: plinth/modules/diaspora/views.py:76 plinth/modules/ejabberd/views.py:46 -#: plinth/modules/matrixsynapse/views.py:85 -#: plinth/modules/mediawiki/views.py:58 plinth/modules/openvpn/views.py:135 -#: plinth/modules/tor/views.py:136 plinth/views.py:180 -msgid "Setting unchanged" -msgstr "Настройки без изменений" - -#: plinth/modules/diaspora/views.py:80 +#: plinth/modules/diaspora/views.py:74 msgid "User registrations enabled" msgstr "Регистрации пользователя включена" -#: plinth/modules/diaspora/views.py:84 +#: plinth/modules/diaspora/views.py:78 msgid "User registrations disabled" msgstr "Приложение отключено" -#: plinth/modules/dynamicdns/__init__.py:27 +#: plinth/modules/dynamicdns/__init__.py:28 #, python-brace-format msgid "" "If your Internet provider changes your IP address periodically (i.e. every " @@ -1248,7 +1246,7 @@ msgstr "" "в 24 часа) это может стать препятствиям, чтобы найти вас в Интернете. Это " "так-же может сделать недоступными предоставляемые {box_name} услуги." -#: plinth/modules/dynamicdns/__init__.py:31 +#: plinth/modules/dynamicdns/__init__.py:32 msgid "" "The solution is to assign a DNS name to your IP address and update the DNS " "name every time your IP is changed by your Internet provider. Dynamic DNS " @@ -1265,11 +1263,11 @@ msgstr "" "сервер будет назначать DNS-имя на новый IP-адрес, и если кто-то из Интернета " "запрашивает DNS-имя, они будут получать ответ ваш текущий IP-адрес." -#: plinth/modules/dynamicdns/__init__.py:56 +#: plinth/modules/dynamicdns/__init__.py:55 msgid "Dynamic DNS Client" msgstr "Клиент динамического DNS" -#: plinth/modules/dynamicdns/__init__.py:66 +#: plinth/modules/dynamicdns/__init__.py:65 #, fuzzy #| msgid "Domain Name" msgid "Dynamic Domain Name" @@ -1376,7 +1374,7 @@ msgid "Username" msgstr "Имя пользователя" #: plinth/modules/dynamicdns/forms.py:104 plinth/modules/networks/forms.py:200 -#: plinth/modules/shadowsocks/forms.py:45 +#: plinth/modules/shadowsocks/forms.py:44 msgid "Password" msgstr "Пароль" @@ -1472,7 +1470,7 @@ msgstr "" msgid "Last update" msgstr "Последнее обновление" -#: plinth/modules/dynamicdns/views.py:26 plinth/modules/help/__init__.py:49 +#: plinth/modules/dynamicdns/views.py:26 plinth/modules/help/__init__.py:51 #: plinth/templates/help-menu.html:46 plinth/templates/help-menu.html:47 msgid "About" msgstr "О службе" @@ -1499,7 +1497,7 @@ msgstr "Настройка динамического DNS" msgid "Dynamic DNS Status" msgstr "Состояние динамического DNS" -#: plinth/modules/ejabberd/__init__.py:36 +#: plinth/modules/ejabberd/__init__.py:37 msgid "" "XMPP is an open and standardized communication protocol. Here you can run " "and configure your XMPP server, called ejabberd." @@ -1507,7 +1505,7 @@ msgstr "" "XMPP является открытым и стандартизированным коммуникационным протоколом. " "Здесь вы можете запустить и настроить сервер XMPP, называемый ejabberd." -#: plinth/modules/ejabberd/__init__.py:39 +#: plinth/modules/ejabberd/__init__.py:40 #, fuzzy, python-brace-format #| msgid "" #| "To actually communicate, you can use the web " @@ -1525,20 +1523,20 @@ msgstr "" "XMPP клиент. Когда включено, ejabberd доступен всем пользователям {box_name} ." -#: plinth/modules/ejabberd/__init__.py:70 +#: plinth/modules/ejabberd/__init__.py:69 msgid "ejabberd" msgstr "еjabberd" -#: plinth/modules/ejabberd/__init__.py:71 +#: plinth/modules/ejabberd/__init__.py:70 #: plinth/modules/matrixsynapse/__init__.py:68 msgid "Chat Server" msgstr "Чат-сервер" -#: plinth/modules/ejabberd/forms.py:17 +#: plinth/modules/ejabberd/forms.py:16 msgid "Enable Message Archive Management" msgstr "Включить Управление архивом сообщений" -#: plinth/modules/ejabberd/forms.py:19 +#: plinth/modules/ejabberd/forms.py:18 #, python-brace-format msgid "" "If enabled, your {box_name} will store chat message histories. This allows " @@ -1606,19 +1604,11 @@ msgstr "" "пользователей будет выглядеть как username@%(domainname)s. Вы можете " "настроить ваш домен на странице Настройка." -#: plinth/modules/ejabberd/templates/ejabberd.html:35 -#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 -#: plinth/modules/snapshot/templates/snapshot.html:12 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:27 -#: plinth/templates/app.html:45 -msgid "Configuration" -msgstr "Конфигурация" - -#: plinth/modules/ejabberd/views.py:58 +#: plinth/modules/ejabberd/views.py:45 msgid "Message Archive Management enabled" msgstr "Управление архивом сообщение включено" -#: plinth/modules/ejabberd/views.py:62 +#: plinth/modules/ejabberd/views.py:49 msgid "Message Archive Management disabled" msgstr "Управление архивом сообщений выключено" @@ -1634,7 +1624,7 @@ msgstr "" "правильно настроенным, чтобы уменьшить риск информационной опасности из " "Интернета." -#: plinth/modules/firewall/__init__.py:63 +#: plinth/modules/firewall/__init__.py:65 msgid "Firewall" msgstr "Брандмауэр" @@ -1653,7 +1643,7 @@ msgstr "%(service_name)s доступно только во внутр #: plinth/modules/firewall/components.py:131 #, python-brace-format msgid "Port {name} ({details}) unavailable for external networks" -msgstr "" +msgstr "Порт {name} ({details}) недоступен для внешних сетей" #: plinth/modules/firewall/templates/firewall.html:15 #, python-format @@ -1729,7 +1719,7 @@ msgstr "" #: plinth/modules/first_boot/forms.py:19 msgid "Firstboot Wizard Secret" -msgstr "" +msgstr "Ассистент при первой загрузке" #: plinth/modules/first_boot/templates/firstboot_complete.html:11 msgid "Setup Complete!" @@ -1777,18 +1767,21 @@ msgid "" "To learn more on how to use Git visit Git tutorial." msgstr "" +"Чтобы узнать больше о том, как использовать Git, посетите Git tutorial." -#: plinth/modules/gitweb/__init__.py:39 +#: plinth/modules/gitweb/__init__.py:51 msgid "Read-write access to Git repositories" -msgstr "" +msgstr "Доступ к Git-репозиторию с возможностью чтения и записи" #: plinth/modules/gitweb/__init__.py:56 plinth/modules/gitweb/manifest.py:13 +#, fuzzy msgid "Gitweb" -msgstr "" +msgstr "Gitweb" #: plinth/modules/gitweb/__init__.py:57 msgid "Simple Git Hosting" -msgstr "" +msgstr "Простой хостинг Git" #: plinth/modules/gitweb/forms.py:44 #, fuzzy @@ -1819,7 +1812,7 @@ msgstr "Создать новый репозиторий" #: plinth/modules/gitweb/forms.py:69 plinth/modules/gitweb/forms.py:73 msgid "Optional, for displaying on Gitweb." -msgstr "" +msgstr "Дополнительно, для показа на Gitweb." #: plinth/modules/gitweb/forms.py:71 #, fuzzy @@ -1836,6 +1829,7 @@ msgstr "Создать репозиторий" #: plinth/modules/gitweb/forms.py:77 msgid "Allow only authorized users to access this repository." msgstr "" +"Доступ к этому репозиторий разрешён только авторизованным пользователям." #: plinth/modules/gitweb/forms.py:98 plinth/modules/gitweb/forms.py:130 #, fuzzy @@ -1860,8 +1854,9 @@ msgstr "" "ресурс. Пример: media." #: plinth/modules/gitweb/manifest.py:21 +#, fuzzy msgid "Git" -msgstr "" +msgstr "Git" #: plinth/modules/gitweb/templates/gitweb_configure.html:31 #, fuzzy @@ -1955,31 +1950,31 @@ msgstr "{name} удален." msgid "Could not delete {name}: {error}" msgstr "Не удалось удалить {name}: {error}" -#: plinth/modules/help/__init__.py:30 +#: plinth/modules/help/__init__.py:32 msgid "Documentation" msgstr "Документация" -#: plinth/modules/help/__init__.py:33 plinth/modules/networks/forms.py:47 +#: plinth/modules/help/__init__.py:35 plinth/modules/networks/forms.py:47 #: plinth/modules/networks/forms.py:77 plinth/templates/help-menu.html:20 #: plinth/templates/help-menu.html:21 plinth/templates/index.html:128 msgid "Manual" msgstr "Руководство" -#: plinth/modules/help/__init__.py:37 +#: plinth/modules/help/__init__.py:39 #: plinth/modules/help/templates/help_support.html:9 #: plinth/modules/help/views.py:43 plinth/templates/help-menu.html:27 #: plinth/templates/help-menu.html:28 msgid "Get Support" -msgstr "" +msgstr "Получить поддержку" -#: plinth/modules/help/__init__.py:41 +#: plinth/modules/help/__init__.py:43 #: plinth/modules/help/templates/help_feedback.html:9 #: plinth/modules/help/views.py:37 plinth/templates/help-menu.html:33 #: plinth/templates/help-menu.html:34 msgid "Submit Feedback" msgstr "" -#: plinth/modules/help/__init__.py:45 +#: plinth/modules/help/__init__.py:47 #: plinth/modules/help/templates/help_contribute.html:9 #: plinth/modules/help/views.py:31 plinth/templates/help-menu.html:39 #: plinth/templates/help-menu.html:40 @@ -2108,14 +2103,14 @@ msgstr "" #: plinth/modules/help/templates/help_contribute.html:42 #: plinth/modules/power/templates/power_restart.html:27 #: plinth/modules/power/templates/power_shutdown.html:26 -#: plinth/templates/app-header.html:51 +#: plinth/templates/app-header.html:53 msgid "Learn more..." msgstr "Подробнее..." #: plinth/modules/help/templates/help_feedback.html:12 #, python-format msgid "Your feedback will help us improve %(box_name)s!" -msgstr "" +msgstr "Ваш отзыв поможет нам улучшить %(box_name)s!" #: plinth/modules/help/templates/help_feedback.html:18 msgid "" @@ -2123,6 +2118,9 @@ msgid "" "improve them on our discussion forum." msgstr "" +"Напишите нам об отсутствующих функциях, о ваших любимых приложениях и о том, " +"как мы можем улучшить их, на нашем discussion forum." #: plinth/modules/help/templates/help_feedback.html:26 msgid "" @@ -2131,10 +2129,15 @@ msgid "" "a> to let our developers know. To report, first check if the issue is " "already reported and then use the \"New issue\" button." msgstr "" +"Если вы обнаружили ошибку или проблему, используйте, пожалуйста: " +"issue tracker , чтобы сообщить разработчикам. Прежде чем сделать это, " +"проверьте, нет ли уже сообщения о такой проблеме и только потом нажимайте " +"кнопку \"New issue\"." #: plinth/modules/help/templates/help_feedback.html:36 msgid "Thank you!" -msgstr "" +msgstr "Спасибо!" #: plinth/modules/help/templates/help_index.html:12 #: plinth/templates/help-menu.html:8 plinth/templates/help-menu.html:13 @@ -2212,6 +2215,10 @@ msgid "" "Or send an email to our mailing list." msgstr "" +"Вы можете говорить с нами в чате на наших IRC и Matrix каналах (bridged): " +"
  • #freedombox on irc.oftc.net
  • #freedombox:matrix.org
  • " +"
Или пишите нам e-mail на наш адрес mailing list." #: plinth/modules/help/templates/statuslog.html:10 msgid "Status Log" @@ -2276,23 +2283,24 @@ msgstr "" msgid "" "The first visit to the provided web interface will initiate the " "configuration process." -msgstr "" +msgstr "При первом посещении веб-интерфейса будет запущен процесс конфигурации." -#: plinth/modules/i2p/__init__.py:38 +#: plinth/modules/i2p/__init__.py:62 #, fuzzy #| msgid "Enable application" msgid "Manage I2P application" msgstr "Включить приложение" -#: plinth/modules/i2p/__init__.py:64 plinth/modules/i2p/manifest.py:16 +#: plinth/modules/i2p/__init__.py:65 plinth/modules/i2p/manifest.py:16 +#, fuzzy msgid "I2P" -msgstr "" +msgstr "I2P" -#: plinth/modules/i2p/__init__.py:65 plinth/modules/tor/__init__.py:56 +#: plinth/modules/i2p/__init__.py:66 plinth/modules/tor/__init__.py:55 msgid "Anonymity Network" msgstr "Anonymity Network" -#: plinth/modules/i2p/__init__.py:87 +#: plinth/modules/i2p/__init__.py:88 #, fuzzy #| msgid "Web Proxy" msgid "I2P Proxy" @@ -2300,7 +2308,7 @@ msgstr "Web-прокси" #: plinth/modules/i2p/templates/i2p.html:12 msgid "I2P Proxies and Tunnels" -msgstr "" +msgstr "Прокси и туннели I2P" #: plinth/modules/i2p/templates/i2p.html:21 #: plinth/modules/i2p/templates/i2p.html:34 plinth/templates/clients.html:28 @@ -2309,7 +2317,7 @@ msgstr "Запуск" #: plinth/modules/i2p/templates/i2p.html:25 msgid "Anonymous Torrents" -msgstr "" +msgstr "Анонимные торренты" #: plinth/modules/i2p/views.py:16 msgid "" @@ -2323,6 +2331,8 @@ msgid "" "By default HTTP, HTTPS and IRC proxies are available. Additional proxies and " "tunnels may be configured using the tunnel configuration interface." msgstr "" +"По умолчанию предоставлены HTTP, HTTPS и IRC прокси. Дополнительные прокси и " +"туннели могут быть настроены в интерфейсе конфигурации туннелей." #: plinth/modules/i2p/views.py:24 msgid "" @@ -2363,18 +2373,18 @@ msgstr "" "href=\"{users_url}\">Конфигурация пользователей вы можете изменить " "разрешения или добавить новых пользователей." -#: plinth/modules/ikiwiki/__init__.py:39 -msgid "View and edit wiki applications" -msgstr "Просмотр и редактирование приложений Wiki" - -#: plinth/modules/ikiwiki/__init__.py:53 plinth/modules/ikiwiki/manifest.py:9 +#: plinth/modules/ikiwiki/__init__.py:52 plinth/modules/ikiwiki/manifest.py:9 msgid "ikiwiki" msgstr "ikiwiki" -#: plinth/modules/ikiwiki/__init__.py:54 +#: plinth/modules/ikiwiki/__init__.py:53 msgid "Wiki and Blog" msgstr "Вики и Блог" +#: plinth/modules/ikiwiki/__init__.py:73 +msgid "View and edit wiki applications" +msgstr "Просмотр и редактирование приложений Wiki" + #: plinth/modules/ikiwiki/forms.py:17 msgid "Admin Account Name" msgstr "Имя учетной записи администратора" @@ -2420,33 +2430,33 @@ msgstr "" "Это действие приведет к удалению всех постов, страниц и комментариев, " "включая историю изменений. Окончательно удалить этот вики или блог?" -#: plinth/modules/ikiwiki/views.py:72 +#: plinth/modules/ikiwiki/views.py:70 #, python-brace-format msgid "Created wiki {name}." msgstr "Создать вики {name}." -#: plinth/modules/ikiwiki/views.py:75 +#: plinth/modules/ikiwiki/views.py:73 #, python-brace-format msgid "Could not create wiki: {error}" msgstr "Не удалось создать вики: {error}" -#: plinth/modules/ikiwiki/views.py:85 +#: plinth/modules/ikiwiki/views.py:83 #, python-brace-format msgid "Created blog {name}." msgstr "Созданный блог {name}." -#: plinth/modules/ikiwiki/views.py:88 +#: plinth/modules/ikiwiki/views.py:86 #, python-brace-format msgid "Could not create blog: {error}" msgstr "Не удалось создать блог: {error}" -#: plinth/modules/ikiwiki/views.py:103 +#: plinth/modules/ikiwiki/views.py:101 #, fuzzy, python-brace-format #| msgid "{name} deleted." msgid "{title} deleted." msgstr "{name} удален." -#: plinth/modules/ikiwiki/views.py:107 +#: plinth/modules/ikiwiki/views.py:105 #, fuzzy, python-brace-format #| msgid "Could not delete {name}: {error}" msgid "Could not delete {title}: {error}" @@ -2492,7 +2502,7 @@ msgstr "" "Запустите Gobby, выберите \"Подключиться к серверу\" и введите доменное имя " "вашего {box_name}." -#: plinth/modules/jsxc/__init__.py:22 +#: plinth/modules/jsxc/__init__.py:23 msgid "" "JSXC is a web client for XMPP. Typically it is used with an XMPP server " "running locally." @@ -2500,11 +2510,11 @@ msgstr "" "JSXC является веб-клиентом для XMPP. Обычно он используется с XMPP сервером " "работающим локально." -#: plinth/modules/jsxc/__init__.py:40 plinth/modules/jsxc/manifest.py:10 +#: plinth/modules/jsxc/__init__.py:43 plinth/modules/jsxc/manifest.py:10 msgid "JSXC" msgstr "JSXC" -#: plinth/modules/jsxc/__init__.py:41 +#: plinth/modules/jsxc/__init__.py:44 msgid "Chat Client" msgstr "Чат-клиент" @@ -2693,11 +2703,11 @@ msgstr "" msgid "Matrix Synapse" msgstr "Matrix Synapse" -#: plinth/modules/matrixsynapse/forms.py:14 +#: plinth/modules/matrixsynapse/forms.py:12 msgid "Enable Public Registration" msgstr "Включить публичную регистрацию" -#: plinth/modules/matrixsynapse/forms.py:15 +#: plinth/modules/matrixsynapse/forms.py:13 msgid "" "Enabling public registration means that anyone on the Internet can register " "a new account on your Matrix server. Disable this if you only want existing " @@ -2711,6 +2721,12 @@ msgstr "" msgid "Riot" msgstr "Riot" +#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 +#: plinth/modules/snapshot/templates/snapshot.html:12 +#: plinth/templates/app.html:46 +msgid "Configuration" +msgstr "Конфигурация" + #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:18 msgid "" "Matrix service needs to be configured for a domain. Users on other Matrix " @@ -2785,11 +2801,11 @@ msgstr "" " Encrypt, чтобы получить его.\n" " " -#: plinth/modules/matrixsynapse/views.py:98 +#: plinth/modules/matrixsynapse/views.py:86 msgid "Public registration enabled" msgstr "Публичная регистрация включена" -#: plinth/modules/matrixsynapse/views.py:103 +#: plinth/modules/matrixsynapse/views.py:91 msgid "Public registration disabled" msgstr "Публичная регистрация отключена" @@ -2837,11 +2853,11 @@ msgstr "MediaWiki" msgid "Wiki" msgstr "Wiki" -#: plinth/modules/mediawiki/forms.py:27 +#: plinth/modules/mediawiki/forms.py:25 msgid "Administrator Password" msgstr "Пароль администратора" -#: plinth/modules/mediawiki/forms.py:28 +#: plinth/modules/mediawiki/forms.py:26 msgid "" "Set a new password for MediaWiki's administrator account (admin). Leave this " "field blank to keep the current password." @@ -2849,11 +2865,11 @@ msgstr "" "Установить новый пароль для учетной записи администратора MediaWiki (admin). " "Оставьте это поле пустым, чтобы сохранить текущий пароль." -#: plinth/modules/mediawiki/forms.py:33 +#: plinth/modules/mediawiki/forms.py:31 msgid "Enable public registrations" msgstr "Включить публичную регистрацию" -#: plinth/modules/mediawiki/forms.py:34 +#: plinth/modules/mediawiki/forms.py:32 msgid "" "If enabled, anyone on the internet will be able to create an account on your " "MediaWiki instance." @@ -2861,11 +2877,11 @@ msgstr "" "Если включено, кто угодно в интернете сможет создать учётную запись в вашем " "экземпляре MediaWiki." -#: plinth/modules/mediawiki/forms.py:38 +#: plinth/modules/mediawiki/forms.py:36 msgid "Enable private mode" msgstr "Включить режим приватности" -#: plinth/modules/mediawiki/forms.py:39 +#: plinth/modules/mediawiki/forms.py:37 msgid "" "If enabled, access will be restricted. Only people who have accounts can " "read/write to the wiki. Public registrations will also be disabled." @@ -2874,45 +2890,45 @@ msgstr "" "записи, смогут читать или писать в вики. Публичные регистрации также будут " "отключены." -#: plinth/modules/mediawiki/forms.py:44 +#: plinth/modules/mediawiki/forms.py:42 #, fuzzy #| msgid "Default" msgid "Default Skin" msgstr "По умолчанию" -#: plinth/modules/mediawiki/forms.py:45 +#: plinth/modules/mediawiki/forms.py:43 msgid "" "Choose a default skin for your MediaWiki installation. Users have the option " "to select their preferred skin." msgstr "" -#: plinth/modules/mediawiki/views.py:53 +#: plinth/modules/mediawiki/views.py:48 msgid "Password updated" msgstr "Пароль обновлен" -#: plinth/modules/mediawiki/views.py:72 +#: plinth/modules/mediawiki/views.py:57 msgid "Public registrations enabled" msgstr "Публичная регистрация включена" -#: plinth/modules/mediawiki/views.py:81 +#: plinth/modules/mediawiki/views.py:66 msgid "Public registrations disabled" msgstr "Публичная регистрация отключена" -#: plinth/modules/mediawiki/views.py:86 +#: plinth/modules/mediawiki/views.py:71 msgid "Private mode enabled" msgstr "Режим приватности включен" -#: plinth/modules/mediawiki/views.py:93 +#: plinth/modules/mediawiki/views.py:78 msgid "Private mode disabled" msgstr "Режим приватности выключен" -#: plinth/modules/mediawiki/views.py:101 +#: plinth/modules/mediawiki/views.py:86 #, fuzzy #| msgid "Setting unchanged" msgid "Default skin changed" msgstr "Настройки без изменений" -#: plinth/modules/minetest/__init__.py:37 +#: plinth/modules/minetest/__init__.py:38 #, python-brace-format msgid "" "Minetest is a multiplayer infinite-world block sandbox. This module enables " @@ -2925,20 +2941,20 @@ msgstr "" "порту (30000). Для подключения к серверу требуется Minetest клиент." -#: plinth/modules/minetest/__init__.py:63 +#: plinth/modules/minetest/__init__.py:62 #: plinth/modules/minetest/manifest.py:10 msgid "Minetest" msgstr "Minetest" -#: plinth/modules/minetest/__init__.py:64 +#: plinth/modules/minetest/__init__.py:63 msgid "Block Sandbox" msgstr "Песочница" -#: plinth/modules/minetest/forms.py:15 +#: plinth/modules/minetest/forms.py:13 msgid "Maximum number of players" msgstr "Максимальное количество игроков" -#: plinth/modules/minetest/forms.py:17 +#: plinth/modules/minetest/forms.py:15 msgid "" "You can change the maximum number of players playing minetest at a single " "instance of time." @@ -2946,11 +2962,11 @@ msgstr "" "Можно изменить максимальное количество игроков, играющих в minetest " "одновременно." -#: plinth/modules/minetest/forms.py:21 +#: plinth/modules/minetest/forms.py:19 msgid "Enable creative mode" msgstr "Включить творческий режим" -#: plinth/modules/minetest/forms.py:22 +#: plinth/modules/minetest/forms.py:20 msgid "" "Creative mode changes the rules of the game to make it more suitable for " "creative gameplay, rather than challenging \"survival\" gameplay." @@ -2958,21 +2974,21 @@ msgstr "" "Творческий режим меняет правила игры, чтобы сделать его более подходящим для " "творческой игры, а не сложного режима «выживание»." -#: plinth/modules/minetest/forms.py:27 +#: plinth/modules/minetest/forms.py:25 msgid "Enable PVP" msgstr "Включить PVP" -#: plinth/modules/minetest/forms.py:28 +#: plinth/modules/minetest/forms.py:26 msgid "Enabling Player Vs Player will allow players to damage other players." msgstr "" "Включение \"Игрок против игрока\" позволит игрокам наносить урон другим " "игрокам." -#: plinth/modules/minetest/forms.py:32 +#: plinth/modules/minetest/forms.py:30 msgid "Enable damage" msgstr "Включить урон" -#: plinth/modules/minetest/forms.py:33 +#: plinth/modules/minetest/forms.py:31 msgid "When disabled, players cannot die or receive damage of any kind." msgstr "" "Когда выключено, игроки не могут умереть или получить урон любого рода." @@ -3014,21 +3030,21 @@ msgid "" "Kodi." msgstr "" -#: plinth/modules/minidlna/__init__.py:33 +#: plinth/modules/minidlna/__init__.py:44 msgid "Media streaming server" msgstr "" -#: plinth/modules/minidlna/__init__.py:47 +#: plinth/modules/minidlna/__init__.py:48 #, fuzzy #| msgid "Mumble Voice Chat Server" msgid "Simple Media Server" msgstr "Mumble Сервер Голосового Чата" -#: plinth/modules/minidlna/forms.py:15 +#: plinth/modules/minidlna/forms.py:13 msgid "Media Files Directory" msgstr "" -#: plinth/modules/minidlna/forms.py:16 +#: plinth/modules/minidlna/forms.py:14 msgid "" "Directory that MiniDLNA Server will read for content. All sub-directories of " "this will be also scanned for media files. If you change the default ensure " @@ -3090,16 +3106,16 @@ msgstr "" "В {box_name}, загруженные Файлы могут быть найдены в /var/lib/mldonkey/ " "directory." -#: plinth/modules/mldonkey/__init__.py:40 +#: plinth/modules/mldonkey/__init__.py:50 msgid "Download files using eDonkey applications" msgstr "Загрузить файлы, используя приложение eDonkey" -#: plinth/modules/mldonkey/__init__.py:54 +#: plinth/modules/mldonkey/__init__.py:53 #: plinth/modules/mldonkey/manifest.py:12 msgid "MLDonkey" msgstr "MLDonkey" -#: plinth/modules/mldonkey/__init__.py:56 +#: plinth/modules/mldonkey/__init__.py:55 msgid "Peer-to-peer File Sharing" msgstr "Файлообмен P2P" @@ -3111,7 +3127,7 @@ msgstr "KMLDonkey" msgid "AMLDonkey" msgstr "AMLDonkey" -#: plinth/modules/monkeysphere/__init__.py:18 +#: plinth/modules/monkeysphere/__init__.py:19 msgid "" "With Monkeysphere, an OpenPGP key can be generated for each configured " "domain serving SSH. The OpenPGP public key can then be uploaded to the " @@ -3130,7 +3146,7 @@ msgstr "" "monkeysphere.info/getting-started-ssh/\">Monkeysphere SSH documentation " "для подробностей." -#: plinth/modules/monkeysphere/__init__.py:26 +#: plinth/modules/monkeysphere/__init__.py:27 msgid "" "Monkeysphere can also generate an OpenPGP key for each Secure Web Server " "(HTTPS) certificate installed on this machine. The OpenPGP public key can " @@ -3148,7 +3164,7 @@ msgstr "" "может потребоваться программное обеспечение, которое доступно на сайте Monkeysphere ." -#: plinth/modules/monkeysphere/__init__.py:50 +#: plinth/modules/monkeysphere/__init__.py:49 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:11 msgid "Monkeysphere" msgstr "MonkeySphere" @@ -3197,15 +3213,15 @@ msgstr "Показать детали для ключа %(fingerprint)s" msgid "-" msgstr "-" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:128 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:129 msgid "Import Key" msgstr "Импортировать ключ" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:137 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:139 msgid "Publish Key" msgstr "Опубликовать ключ" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:146 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:149 msgid "Add Domains" msgstr "Добавить домен" @@ -3277,7 +3293,7 @@ msgstr "Опубликованый ключ на сервере ключей." msgid "Error occurred while publishing key." msgstr "Произошла ошибка при публикации ключа." -#: plinth/modules/mumble/__init__.py:23 +#: plinth/modules/mumble/__init__.py:24 msgid "" "Mumble is an open source, low-latency, encrypted, high quality voice chat " "software." @@ -3285,7 +3301,7 @@ msgstr "" "Mumble это шифрованый чат с высоким качеством голоса, низкой задержкой и " "открытым исходным кодом." -#: plinth/modules/mumble/__init__.py:25 +#: plinth/modules/mumble/__init__.py:26 msgid "" "You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your " @@ -3295,21 +3311,21 @@ msgstr "" "64738. На Клиенты вы можете найти " "клиенты для вашего компьютера и Android устройств." -#: plinth/modules/mumble/__init__.py:49 plinth/modules/mumble/manifest.py:12 +#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:12 msgid "Mumble" msgstr "Mumble" -#: plinth/modules/mumble/__init__.py:50 +#: plinth/modules/mumble/__init__.py:49 msgid "Voice Chat" msgstr "Голосовой чат" -#: plinth/modules/mumble/forms.py:16 +#: plinth/modules/mumble/forms.py:14 #, fuzzy #| msgid "SSH server password" msgid "Set SuperUser Password" msgstr "Пароль SSH-сервера" -#: plinth/modules/mumble/forms.py:19 +#: plinth/modules/mumble/forms.py:17 msgid "" "Optional. Leave this field blank to keep the current password. SuperUser " "password can be used to manage permissions in Mumble." @@ -3633,7 +3649,7 @@ msgstr "Open" #: plinth/modules/networks/forms.py:297 #, fuzzy, python-brace-format #| msgid "Use upstream bridges to connect to Tor network" -msgid "Choose how your {box_name} is connected to your network" +msgid "Specify how your {box_name} is connected to your network" msgstr "Использовать upstream bridges для подключения к сети Tor" #: plinth/modules/networks/forms.py:304 @@ -3854,7 +3870,7 @@ msgstr "IРv4" #: plinth/modules/networks/templates/connection_show.html:171 #: plinth/modules/networks/templates/connection_show.html:212 -#: plinth/modules/shadowsocks/forms.py:49 +#: plinth/modules/shadowsocks/forms.py:48 msgid "Method" msgstr "Метод" @@ -3870,7 +3886,7 @@ msgstr "DNS-сервер" #: plinth/modules/networks/templates/connection_show.html:201 #: plinth/modules/networks/templates/connection_show.html:240 -#: plinth/modules/storage/forms.py:141 +#: plinth/modules/storage/forms.py:139 msgid "Default" msgstr "По умолчанию" @@ -4355,6 +4371,11 @@ msgstr "Установка завершена." msgid "Setup failed." msgstr "Установка не удалась." +#: plinth/modules/openvpn/views.py:135 plinth/modules/tor/views.py:136 +#: plinth/views.py:196 +msgid "Setting unchanged" +msgstr "Настройки без изменений" + #: plinth/modules/pagekite/__init__.py:27 #, python-brace-format msgid "" @@ -4433,11 +4454,11 @@ msgstr "Публичная видимость" msgid "PageKite Domain" msgstr "Учетная запись PageKite" -#: plinth/modules/pagekite/forms.py:48 +#: plinth/modules/pagekite/forms.py:47 msgid "Server domain" msgstr "Домен сервера" -#: plinth/modules/pagekite/forms.py:50 +#: plinth/modules/pagekite/forms.py:49 msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " "pagekite.net server." @@ -4445,31 +4466,31 @@ msgstr "" "Выберите свой сервер pagekite. Выберите \"pagekite.net\", чтобы использовать " "сервер по умолчанию - pagekite.net." -#: plinth/modules/pagekite/forms.py:53 plinth/modules/shadowsocks/forms.py:40 +#: plinth/modules/pagekite/forms.py:52 plinth/modules/shadowsocks/forms.py:39 msgid "Server port" msgstr "Порт сервера" -#: plinth/modules/pagekite/forms.py:54 +#: plinth/modules/pagekite/forms.py:53 msgid "Port of your pagekite server (default: 80)" msgstr "Порт сервера pagekite (по умолчанию: 80)" -#: plinth/modules/pagekite/forms.py:56 +#: plinth/modules/pagekite/forms.py:55 msgid "Kite name" msgstr "Имя Kite" -#: plinth/modules/pagekite/forms.py:57 +#: plinth/modules/pagekite/forms.py:56 msgid "Example: mybox.pagekite.me" msgstr "Пример: mybox.pagekite.me" -#: plinth/modules/pagekite/forms.py:59 +#: plinth/modules/pagekite/forms.py:58 msgid "Invalid kite name" msgstr "Недопустимое имя kite" -#: plinth/modules/pagekite/forms.py:63 +#: plinth/modules/pagekite/forms.py:62 msgid "Kite secret" msgstr "Kite secrеt" -#: plinth/modules/pagekite/forms.py:64 +#: plinth/modules/pagekite/forms.py:63 msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." @@ -4477,27 +4498,27 @@ msgstr "" "Секрет, связанный с kite или секрет по умолчанию для вашей учетной записи, " "если не секрет устанавливается на kite." -#: plinth/modules/pagekite/forms.py:101 +#: plinth/modules/pagekite/forms.py:100 msgid "protocol" msgstr "протокол" -#: plinth/modules/pagekite/forms.py:104 +#: plinth/modules/pagekite/forms.py:103 msgid "external (frontend) port" msgstr "внешний (frontend) порт" -#: plinth/modules/pagekite/forms.py:107 +#: plinth/modules/pagekite/forms.py:106 msgid "internal (freedombox) port" msgstr "Внутренний (freedombox) порт" -#: plinth/modules/pagekite/forms.py:108 +#: plinth/modules/pagekite/forms.py:107 msgid "Enable Subdomains" msgstr "Включить поддомены" -#: plinth/modules/pagekite/forms.py:142 +#: plinth/modules/pagekite/forms.py:141 msgid "Deleted custom service" msgstr "Удалить пользовательские службы" -#: plinth/modules/pagekite/forms.py:175 +#: plinth/modules/pagekite/forms.py:174 #, fuzzy #| msgid "" #| "This service is available as a standard service. Please use the " @@ -4507,11 +4528,11 @@ msgstr "" "Этот сервис доступна как стандартная служба. Пожалуйста, используйте " "страницу \"Стандартные службы\" чтобы включить её." -#: plinth/modules/pagekite/forms.py:183 +#: plinth/modules/pagekite/forms.py:182 msgid "Added custom service" msgstr "Добавить пользовательскую службу" -#: plinth/modules/pagekite/forms.py:186 +#: plinth/modules/pagekite/forms.py:185 msgid "This service already exists" msgstr "Эта служба уже существует" @@ -4648,7 +4669,7 @@ msgstr "" msgid "Shut Down Now" msgstr "Завершить работу сейчас" -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 msgid "" "Privoxy is a non-caching web proxy with advanced filtering capabilities for " "enhancing privacy, modifying web page data and HTTP headers, controlling " @@ -4659,7 +4680,7 @@ msgstr "" "HTTP, контроля доступа и удаления рекламы и прочего неприятного мусора в " "интернете. " -#: plinth/modules/privoxy/__init__.py:33 +#: plinth/modules/privoxy/__init__.py:34 #, python-brace-format msgid "" "You can use Privoxy by modifying your browser proxy settings to your " @@ -4674,20 +4695,20 @@ msgstr "" "config.privoxy.org\">http://config.privoxy.org или http://p.p." -#: plinth/modules/privoxy/__init__.py:56 +#: plinth/modules/privoxy/__init__.py:55 msgid "Privoxy" msgstr "Privoxy" -#: plinth/modules/privoxy/__init__.py:57 +#: plinth/modules/privoxy/__init__.py:56 msgid "Web Proxy" msgstr "Web-прокси" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:119 #, python-brace-format msgid "Access {url} with proxy {proxy} on tcp{kind}" msgstr "Доступ к {url} с прокси {proxy} на tcp{kind}" -#: plinth/modules/quassel/__init__.py:32 +#: plinth/modules/quassel/__init__.py:33 #, python-brace-format msgid "" "Quassel is an IRC application that is split into two parts, a \"core\" and a " @@ -4704,7 +4725,7 @@ msgstr "" "клиентов. Для этого могут использоваться как клиенты настольного компьютера, " "так и мобильные версии." -#: plinth/modules/quassel/__init__.py:39 +#: plinth/modules/quassel/__init__.py:40 msgid "" "You can connect to your Quassel core on the default Quassel port 4242. " "Clients to connect to Quassel from your для десктопов и мобильных устройств." -#: plinth/modules/quassel/__init__.py:62 plinth/modules/quassel/manifest.py:10 +#: plinth/modules/quassel/__init__.py:61 plinth/modules/quassel/manifest.py:10 msgid "Quassel" msgstr "Quassel" -#: plinth/modules/quassel/__init__.py:63 +#: plinth/modules/quassel/__init__.py:62 msgid "IRC Client" msgstr "IRC-клиент" -#: plinth/modules/quassel/forms.py:23 +#: plinth/modules/quassel/forms.py:22 #, fuzzy #| msgid "Subdomain" msgid "TLS domain" msgstr "Субдомен" -#: plinth/modules/quassel/forms.py:25 +#: plinth/modules/quassel/forms.py:24 msgid "" "Select a domain to use TLS with. If the list is empty, please configure at " "least one domain with certificates." @@ -4740,7 +4761,7 @@ msgstr "" msgid "Quasseldroid" msgstr "Quasseldroid" -#: plinth/modules/radicale/__init__.py:32 +#: plinth/modules/radicale/__init__.py:33 #, python-brace-format msgid "" "Radicale is a CalDAV and CardDAV server. It allows synchronization and " @@ -4754,7 +4775,7 @@ msgstr "" "клиентское приложение. Radicale будет доступен всем пользователям " "{box_name}." -#: plinth/modules/radicale/__init__.py:37 +#: plinth/modules/radicale/__init__.py:38 msgid "" "Radicale provides a basic web interface, which only supports creating new " "calendars and addressbooks. It does not support adding events or contacts, " @@ -4764,22 +4785,22 @@ msgstr "" "создание новых календарей и адресных книг. Он не поддерживает добавление " "событий или контактов, для этого требуется отдельный клиент." -#: plinth/modules/radicale/__init__.py:62 +#: plinth/modules/radicale/__init__.py:61 #: plinth/modules/radicale/manifest.py:75 msgid "Radicale" msgstr "Radicale" -#: plinth/modules/radicale/__init__.py:63 +#: plinth/modules/radicale/__init__.py:62 msgid "Calendar and Addressbook" msgstr "Календарь и Адресная книга" -#: plinth/modules/radicale/forms.py:15 +#: plinth/modules/radicale/forms.py:14 msgid "Only the owner of a calendar/addressbook can view or make changes." msgstr "" "Только владелец календаря/адресной книги можно просмотреть или внести " "изменения." -#: plinth/modules/radicale/forms.py:19 +#: plinth/modules/radicale/forms.py:18 #, python-brace-format msgid "" "Any user with a {box_name} login can view any calendar/addressbook, but only " @@ -4788,7 +4809,7 @@ msgstr "" "Любой пользователь с логином {box_name} может просматривать любой календарь/" "адресную книгу, но только владелец может вносить изменения." -#: plinth/modules/radicale/forms.py:24 +#: plinth/modules/radicale/forms.py:23 #, python-brace-format msgid "" "Any user with a {box_name} login can view or make changes to any calendar/" @@ -4938,11 +4959,11 @@ msgid "" "private space." msgstr "" -#: plinth/modules/samba/__init__.py:47 +#: plinth/modules/samba/__init__.py:59 msgid "Access to the private shares" msgstr "" -#: plinth/modules/samba/__init__.py:61 +#: plinth/modules/samba/__init__.py:62 msgid "Samba" msgstr "" @@ -5016,13 +5037,13 @@ msgstr "Общий ресурс добавлен." msgid "Action" msgstr "Действия" -#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:149 +#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:147 #, fuzzy #| msgid "Add Share" msgid "Open Share" msgstr "Добавить общий ресурс" -#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:147 +#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:145 #, fuzzy #| msgid "Add Share" msgid "Group Share" @@ -5074,45 +5095,45 @@ msgstr "" "Searx может быть использован, чтобы избежать отслеживания и профилирования " "поисковыми системами. Она не хранит никаких файлов cookie по умолчанию." -#: plinth/modules/searx/__init__.py:31 +#: plinth/modules/searx/__init__.py:45 msgid "Search the web" msgstr "Поиск в интернете" -#: plinth/modules/searx/__init__.py:47 plinth/modules/searx/manifest.py:9 +#: plinth/modules/searx/__init__.py:48 plinth/modules/searx/manifest.py:9 msgid "Searx" msgstr "Searx" -#: plinth/modules/searx/__init__.py:48 +#: plinth/modules/searx/__init__.py:49 msgid "Web Search" msgstr "Веб-поиск" -#: plinth/modules/searx/forms.py:15 +#: plinth/modules/searx/forms.py:13 msgid "Safe Search" msgstr "Безопасный Поиск" -#: plinth/modules/searx/forms.py:16 +#: plinth/modules/searx/forms.py:14 msgid "Select the default family filter to apply to your search results." msgstr "" "Выберите семейный фильтр по умолчанию, чтобы применить к вашим результатам " "поиска." -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "None" msgstr "нет" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "Moderate" msgstr "Умеренный" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "Strict" msgstr "Строгий" -#: plinth/modules/searx/forms.py:20 +#: plinth/modules/searx/forms.py:18 msgid "Allow Public Access" msgstr "" -#: plinth/modules/searx/forms.py:21 +#: plinth/modules/searx/forms.py:19 msgid "Allow this application to be used by anyone who can reach it." msgstr "" @@ -5313,30 +5334,30 @@ msgstr "Shadowsocks" msgid "Socks5 Proxy" msgstr "Socks5 Прокси" +#: plinth/modules/shadowsocks/forms.py:12 #: plinth/modules/shadowsocks/forms.py:13 -#: plinth/modules/shadowsocks/forms.py:14 msgid "Recommended" msgstr "Рекомендуется" -#: plinth/modules/shadowsocks/forms.py:37 +#: plinth/modules/shadowsocks/forms.py:36 msgid "Server" msgstr "Сервер" -#: plinth/modules/shadowsocks/forms.py:38 +#: plinth/modules/shadowsocks/forms.py:37 msgid "Server hostname or IP address" msgstr "Имя или IP адрес сервера" -#: plinth/modules/shadowsocks/forms.py:42 +#: plinth/modules/shadowsocks/forms.py:41 msgid "Server port number" msgstr "Номер порта сервера" -#: plinth/modules/shadowsocks/forms.py:45 +#: plinth/modules/shadowsocks/forms.py:44 msgid "Password used to encrypt data. Must match server password." msgstr "" "Пароль, используемый для шифрования данных. Должен совпадать с паролем " "сервера." -#: plinth/modules/shadowsocks/forms.py:50 +#: plinth/modules/shadowsocks/forms.py:49 msgid "Encryption method. Must match setting on server." msgstr "Метод шифрования. Должен соответствовать параметру на сервере." @@ -5383,13 +5404,13 @@ msgstr "Опубликовать ключ" msgid "Make files in this folder available to anyone with the link." msgstr "" -#: plinth/modules/sharing/forms.py:33 +#: plinth/modules/sharing/forms.py:34 #, fuzzy #| msgid "User groups who can read the files in the share" msgid "User groups that can read the files in the share" msgstr "Группы пользователей, которые могут читать файлы общего ресурса" -#: plinth/modules/sharing/forms.py:35 +#: plinth/modules/sharing/forms.py:36 #, fuzzy #| msgid "" #| "Users who have these permissions will also be able to read the files in " @@ -5690,13 +5711,13 @@ msgstr "" msgid "Secure Shell (SSH) Server" msgstr "Secure Shell (SSH) сервер" -#: plinth/modules/ssh/forms.py:15 +#: plinth/modules/ssh/forms.py:13 #, fuzzy #| msgid "Use HTTP basic authentication" msgid "Disable password authentication" msgstr "Использовать базовую аутентификацию HTTP" -#: plinth/modules/ssh/forms.py:16 +#: plinth/modules/ssh/forms.py:14 msgid "" "Improves security by preventing password guessing. Ensure that you have " "setup SSH keys in your administrator user account before enabling this " @@ -5754,89 +5775,89 @@ msgstr "" "{box_name}. Вы можете видеть, какие носители используются, монтировать и " "размонтировать подключаемые носители, увеличивать корневой раздел итп." -#: plinth/modules/storage/__init__.py:52 plinth/modules/storage/__init__.py:318 +#: plinth/modules/storage/__init__.py:54 plinth/modules/storage/__init__.py:320 msgid "Storage" msgstr "Storage" -#: 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 "Устройство подключено другим пользователем." -#: plinth/modules/storage/__init__.py:313 +#: plinth/modules/storage/__init__.py:315 #, fuzzy, no-python-format, python-brace-format #| msgid "" #| "Warning: Low space on system partition ({percent_used}% used, " @@ -5846,53 +5867,53 @@ msgstr "" "Предупреждение: недостаточно свободного пространства на системном разделе " "({percent_used}% используется, {free_space} свободно)." -#: plinth/modules/storage/__init__.py:315 +#: plinth/modules/storage/__init__.py:317 msgid "Low disk space" msgstr "" -#: plinth/modules/storage/forms.py:64 +#: plinth/modules/storage/forms.py:63 #, fuzzy #| msgid "Invalid hostname" msgid "Invalid directory name." msgstr "Недопустимое имя хоста" -#: plinth/modules/storage/forms.py:82 +#: plinth/modules/storage/forms.py:80 msgid "Directory does not exist." msgstr "" -#: plinth/modules/storage/forms.py:84 +#: plinth/modules/storage/forms.py:83 #, fuzzy #| msgid "Download directory" msgid "Path is not a directory." msgstr "Папка для загрузок" -#: plinth/modules/storage/forms.py:87 +#: plinth/modules/storage/forms.py:86 #, fuzzy #| msgid "The device is mounted by another user." msgid "Directory is not readable by the user." msgstr "Устройство подключено другим пользователем." -#: plinth/modules/storage/forms.py:90 +#: plinth/modules/storage/forms.py:89 msgid "Directory is not writable by the user." msgstr "" -#: plinth/modules/storage/forms.py:95 +#: plinth/modules/storage/forms.py:94 #, fuzzy #| msgid "Download directory" msgid "Directory" msgstr "Папка для загрузок" -#: plinth/modules/storage/forms.py:98 +#: plinth/modules/storage/forms.py:96 msgid "Subdirectory (optional)" msgstr "" -#: plinth/modules/storage/forms.py:145 +#: plinth/modules/storage/forms.py:143 #, fuzzy #| msgid "Shared" msgid "Share" msgstr "Общее" -#: plinth/modules/storage/forms.py:153 +#: plinth/modules/storage/forms.py:151 msgid "Other directory (specify below)" msgstr "" @@ -5977,14 +5998,22 @@ msgstr "" "на все другие устройства, на которых работает Syncthing." #: plinth/modules/syncthing/__init__.py:31 -#, python-brace-format +#, fuzzy, python-brace-format +#| msgid "" +#| "Running Syncthing on {box_name} provides an extra synchronization point " +#| "for your data that is available most of the time, allowing your devices " +#| "to synchronize more often. {box_name} runs a single instance of " +#| "Syncthing that may be used by multiple users. Each user's set of devices " +#| "may be synchronized with a distinct set of folders. The web interface on " +#| "{box_name} is only available for users belonging to the \"admin\" group." msgid "" "Running Syncthing on {box_name} provides an extra synchronization point for " "your data that is available most of the time, allowing your devices to " "synchronize more often. {box_name} runs a single instance of Syncthing that " "may be used by multiple users. Each user's set of devices may be " "synchronized with a distinct set of folders. The web interface on " -"{box_name} is only available for users belonging to the \"admin\" group." +"{box_name} is only available for users belonging to the \"admin\" or " +"\"syncthing\" group." msgstr "" "Запуск Syncthing на {box_name} предоставляет точку дополнительной " "синхронизации для ваших данных, который доступен большую часть времени, так " @@ -5994,16 +6023,16 @@ msgstr "" "собственный набор папок. Веб-интерфейс доступен только для пользователей, " "принадлежащих к группе «admin»." -#: plinth/modules/syncthing/__init__.py:40 +#: plinth/modules/syncthing/__init__.py:53 msgid "Administer Syncthing application" msgstr "Администрирование приложения Syncthing" -#: plinth/modules/syncthing/__init__.py:54 +#: plinth/modules/syncthing/__init__.py:56 #: plinth/modules/syncthing/manifest.py:13 msgid "Syncthing" msgstr "Syncthing" -#: plinth/modules/syncthing/__init__.py:55 +#: plinth/modules/syncthing/__init__.py:57 msgid "File Synchronization" msgstr "Синхронизация файлов" @@ -6051,33 +6080,33 @@ msgstr "" "ВСЕ ВАШИ ДАННЫЕ. Вы получить доступ к Tahoe-LAFS на https://%(domain_name)s:5678." -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:39 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:29 msgid "Local introducer" msgstr "Локальный посредник" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:59 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:76 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:33 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:49 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:66 msgid "Pet Name" msgstr "Имя питомца" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:56 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:46 msgid "Add new introducer" msgstr "Добавить нового посредника" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:67 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:57 msgid "Add" msgstr "Добавить" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:72 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:62 msgid "Connected introducers" msgstr "Подключенные посредники" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:89 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:79 msgid "Remove" msgstr "Удалить" -#: plinth/modules/tor/__init__.py:33 +#: plinth/modules/tor/__init__.py:34 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -6091,42 +6120,42 @@ msgstr "" "\"https://www.torproject.org/download/download-easy.html.en\">Tor Browser." -#: plinth/modules/tor/__init__.py:55 +#: plinth/modules/tor/__init__.py:54 msgid "Tor" msgstr "Tor" -#: plinth/modules/tor/__init__.py:66 +#: plinth/modules/tor/__init__.py:65 #, fuzzy #| msgid "Tor Hidden Service" msgid "Tor Onion Service" msgstr "Скрытый сервис Tor" -#: plinth/modules/tor/__init__.py:70 +#: plinth/modules/tor/__init__.py:69 msgid "Tor Socks Proxy" msgstr "Tor Socks прокси" -#: plinth/modules/tor/__init__.py:74 +#: plinth/modules/tor/__init__.py:73 msgid "Tor Bridge Relay" msgstr "Ретранслятор Tor типа мост" -#: plinth/modules/tor/__init__.py:95 +#: plinth/modules/tor/__init__.py:98 msgid "Tor relay port available" msgstr "Доступен порт трансляции Tor" -#: plinth/modules/tor/__init__.py:105 +#: plinth/modules/tor/__init__.py:108 msgid "Obfs3 transport registered" msgstr "Obfs3 транспорт зарегестрирован" -#: plinth/modules/tor/__init__.py:115 +#: plinth/modules/tor/__init__.py:118 msgid "Obfs4 transport registered" msgstr "Obfs4 транспорт зарегистрирован" -#: plinth/modules/tor/__init__.py:208 +#: plinth/modules/tor/__init__.py:211 #, python-brace-format msgid "Access URL {url} on tcp{kind} via Tor" msgstr "Доступ к {url} по tcp{kind} через Tor" -#: plinth/modules/tor/__init__.py:219 +#: plinth/modules/tor/__init__.py:222 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "Подтверждение использования Tor в {url} по tcp {kind}" @@ -6283,7 +6312,7 @@ 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:27 +#: plinth/modules/transmission/__init__.py:28 msgid "" "BitTorrent is a peer-to-peer file sharing protocol. Transmission daemon " "handles Bitorrent file sharing. Note that BitTorrent is not anonymous." @@ -6292,7 +6321,7 @@ msgstr "" "обрабатывает обмен файлами Bitorrent. Обратите внимание, что BitTorrent не " "является анонимным." -#: plinth/modules/transmission/__init__.py:48 +#: plinth/modules/transmission/__init__.py:51 #: plinth/modules/transmission/manifest.py:9 msgid "Transmission" msgstr "Transmissiоn" @@ -6333,15 +6362,15 @@ msgstr "" "Tiny RSS используйте URL / tt-rss-app для " "подключения." -#: plinth/modules/ttrss/__init__.py:42 +#: plinth/modules/ttrss/__init__.py:54 msgid "Read and subscribe to news feeds" msgstr "Чтение и подписка на ленты новостей" -#: plinth/modules/ttrss/__init__.py:56 plinth/modules/ttrss/manifest.py:19 +#: plinth/modules/ttrss/__init__.py:57 plinth/modules/ttrss/manifest.py:19 msgid "Tiny Tiny RSS" msgstr "Tiny Tiny RSS" -#: plinth/modules/ttrss/__init__.py:57 +#: plinth/modules/ttrss/__init__.py:58 msgid "News Feed Reader" msgstr "Чтение ленты новостей" @@ -6353,11 +6382,11 @@ msgstr "Tiny Tiny RSS (Fork)" msgid "Check for and apply the latest software and security updates." msgstr "Проверьте и установите новейшие программы и обновления безопасности." -#: plinth/modules/upgrades/__init__.py:38 plinth/templates/setup.html:74 +#: plinth/modules/upgrades/__init__.py:40 plinth/templates/setup.html:74 msgid "Update" msgstr "Обновление" -#: plinth/modules/upgrades/__init__.py:76 +#: plinth/modules/upgrades/__init__.py:78 #, fuzzy #| msgid "FreedomBox Foundation" msgid "FreedomBox Updated" @@ -6420,43 +6449,39 @@ msgstr "Переключите последние протоколы обнов #: plinth/modules/upgrades/templates/upgrades_configure.html:11 #: plinth/modules/upgrades/templates/upgrades_configure.html:12 -#: plinth/modules/upgrades/views.py:88 +#: plinth/modules/upgrades/views.py:85 msgid "Manual update" msgstr "Ручное обновление" -#: plinth/modules/upgrades/views.py:47 +#: plinth/modules/upgrades/views.py:46 #, python-brace-format msgid "Error when configuring unattended-upgrades: {error}" msgstr "Ошибка при настройке автоматического обновления: {error}" -#: plinth/modules/upgrades/views.py:51 +#: plinth/modules/upgrades/views.py:50 msgid "Automatic upgrades enabled" msgstr "Автоматические обновления включены" -#: plinth/modules/upgrades/views.py:54 +#: plinth/modules/upgrades/views.py:53 msgid "Automatic upgrades disabled" msgstr "Автоматические обновления отключены" -#: plinth/modules/upgrades/views.py:56 -msgid "Settings unchanged" -msgstr "Настройки без изменений" - -#: plinth/modules/upgrades/views.py:82 +#: plinth/modules/upgrades/views.py:79 msgid "Upgrade process started." msgstr "Начался процесс обновления." -#: plinth/modules/upgrades/views.py:85 +#: plinth/modules/upgrades/views.py:82 msgid "Starting upgrade failed." msgstr "Сбой при запуске обновления." -#: plinth/modules/users/__init__.py:37 +#: plinth/modules/users/__init__.py:39 msgid "" "Create and managed user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " "account to be part of a group to authorize the user to access the app." msgstr "" -#: plinth/modules/users/__init__.py:42 +#: plinth/modules/users/__init__.py:44 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -6464,45 +6489,51 @@ msgid "" "group may alter apps or system settings." msgstr "" -#: plinth/modules/users/__init__.py:64 +#: plinth/modules/users/__init__.py:65 msgid "Users and Groups" msgstr "Пользователи и группы" -#: plinth/modules/users/__init__.py:115 +#: plinth/modules/users/__init__.py:78 +msgid "Access to all services and system settings" +msgstr "Доступ ко всем сервисам и настройкам системы" + +#: plinth/modules/users/__init__.py:122 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "Проверьте запись LDAP \"{search_item}\"" -#: plinth/modules/users/forms.py:28 -msgid "Access to all services and system settings" -msgstr "Доступ ко всем сервисам и настройкам системы" - -#: plinth/modules/users/forms.py:44 +#: plinth/modules/users/forms.py:36 msgid "Username is taken or is reserved." msgstr "Имя пользователя уже занято." -#: plinth/modules/users/forms.py:72 +#: plinth/modules/users/forms.py:63 #, fuzzy #| msgid "Invalid server name" msgid "Enter a valid username." msgstr "Недопустимое имя сервера" -#: plinth/modules/users/forms.py:78 +#: plinth/modules/users/forms.py:69 msgid "" "Required. 150 characters or fewer. English letters, digits and @/./-/_ only." msgstr "" -#: plinth/modules/users/forms.py:91 plinth/modules/users/forms.py:207 +#: plinth/modules/users/forms.py:83 plinth/modules/users/forms.py:196 msgid "Permissions" msgstr "Разрешения" -#: plinth/modules/users/forms.py:94 +#: plinth/modules/users/forms.py:85 +#, fuzzy +#| msgid "" +#| "Select which services should be available to the new user. The user will " +#| "be able to log in to services that support single sign-on through LDAP, " +#| "if they are in the appropriate group.

Users in the admin group " +#| "will be able to log in to all services. They can also log in to the " +#| "system through SSH and have administrative privileges (sudo)." msgid "" -"Select which services should be available to the new user. The user will be " -"able to log in to services that support single sign-on through LDAP, if they " -"are in the appropriate group.

Users in the admin group will be " -"able to log in to all services. They can also log in to the system through " -"SSH and have administrative privileges (sudo)." +"user. The user will be able to log in to services that support single sign-" +"on through LDAP, if they are in the appropriate group.

Users in " +"the admin group will be able to log in to all services. They can also log in " +"to the system through SSH and have administrative privileges (sudo)." msgstr "" "Выберите, какие службы должны быть доступны для нового пользователя. " "Пользователь сможет войти в службы, которые поддерживают единый вход через " @@ -6510,20 +6541,20 @@ msgstr "" "Пользователи в группе администратора имеют доступ ко всем службам. Они также " "могут войти в систему через SSH и иметь административные привилегии (sudo)." -#: plinth/modules/users/forms.py:133 plinth/modules/users/forms.py:357 +#: plinth/modules/users/forms.py:122 plinth/modules/users/forms.py:345 msgid "Creating LDAP user failed." msgstr "Создание пользователя LDAP не удалось." -#: plinth/modules/users/forms.py:144 +#: plinth/modules/users/forms.py:133 #, python-brace-format msgid "Failed to add new user to {group} group." msgstr "Не удалось добавить нового пользователя в группу {group}." -#: plinth/modules/users/forms.py:158 +#: plinth/modules/users/forms.py:147 msgid "Authorized SSH Keys" msgstr "Авторизованные SSH ключи" -#: plinth/modules/users/forms.py:160 +#: plinth/modules/users/forms.py:149 msgid "" "Setting an SSH public key will allow this user to securely log in to the " "system without using a password. You may enter multiple keys, one on each " @@ -6534,45 +6565,45 @@ msgstr "" "на каждой строке. Пустые строки и строки, начинающиеся с # будут " "игнорироваться." -#: plinth/modules/users/forms.py:244 +#: plinth/modules/users/forms.py:233 msgid "Renaming LDAP user failed." msgstr "Переименование пользователя LDAP не удалось." -#: plinth/modules/users/forms.py:256 +#: plinth/modules/users/forms.py:245 msgid "Failed to remove user from group." msgstr "Не удалось удалить пользователя из группы." -#: plinth/modules/users/forms.py:267 +#: plinth/modules/users/forms.py:256 msgid "Failed to add user to group." msgstr "Не удалось добавить пользователя в группу." -#: plinth/modules/users/forms.py:276 +#: plinth/modules/users/forms.py:265 msgid "Unable to set SSH keys." msgstr "Не удалось задать ключи SSH." -#: plinth/modules/users/forms.py:291 +#: plinth/modules/users/forms.py:280 #, fuzzy #| msgid "Failed to add user to group." msgid "Failed to change user status." msgstr "Не удалось добавить пользователя в группу." -#: plinth/modules/users/forms.py:299 +#: plinth/modules/users/forms.py:288 msgid "Cannot delete the only administrator in the system." msgstr "Невозможно удалить единственного администратора в системе." -#: plinth/modules/users/forms.py:331 +#: plinth/modules/users/forms.py:319 msgid "Changing LDAP user password failed." msgstr "Изменение LDAP пароля пользователя не удалось." -#: plinth/modules/users/forms.py:366 +#: plinth/modules/users/forms.py:354 msgid "Failed to add new user to admin group." msgstr "Не удалось добавить нового пользователя в группу администратора." -#: plinth/modules/users/forms.py:383 +#: plinth/modules/users/forms.py:371 msgid "Failed to restrict console access." msgstr "Не удалось ограничить доступ к консоли." -#: plinth/modules/users/forms.py:395 +#: plinth/modules/users/forms.py:383 msgid "User account created, you are now logged in" msgstr "Учетная запись пользователя создана, теперь вы вошли" @@ -7403,18 +7434,22 @@ msgstr "Установка %(package_names)s: %(status)s" msgid "%(percentage)s%% complete" msgstr "%(percentage)s%% завершено" -#: plinth/views.py:184 -msgid "Application enabled" -msgstr "Приложение включено" - -#: plinth/views.py:187 -msgid "Application disabled" -msgstr "Приложение отключено" - #: plinth/web_framework.py:107 msgid "Gujarati" msgstr "Гуджарати" +#~ msgid "Enable application" +#~ msgstr "Включить приложение" + +#~ msgid "Settings unchanged" +#~ msgstr "Настройки без изменений" + +#~ msgid "Application enabled" +#~ msgstr "Приложение включено" + +#~ msgid "Application disabled" +#~ msgstr "Приложение отключено" + #~ msgid "Kite details set" #~ msgstr "Изменить детали Kite" diff --git a/plinth/locale/sl/LC_MESSAGES/django.po b/plinth/locale/sl/LC_MESSAGES/django.po index f5eacab79..f8babb4a8 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: 2020-03-23 18:54-0400\n" +"POT-Creation-Date: 2020-04-06 19:59-0400\n" "PO-Revision-Date: 2019-05-07 20:48+0000\n" "Last-Translator: Erik Ušaj \n" "Language-Team: Slovenian web client user with a {box_name} login." msgstr "" -#: plinth/modules/ejabberd/__init__.py:70 +#: plinth/modules/ejabberd/__init__.py:69 msgid "ejabberd" msgstr "" -#: plinth/modules/ejabberd/__init__.py:71 +#: plinth/modules/ejabberd/__init__.py:70 #: plinth/modules/matrixsynapse/__init__.py:68 msgid "Chat Server" msgstr "" -#: plinth/modules/ejabberd/forms.py:17 +#: plinth/modules/ejabberd/forms.py:16 msgid "Enable Message Archive Management" msgstr "" -#: plinth/modules/ejabberd/forms.py:19 +#: plinth/modules/ejabberd/forms.py:18 #, python-brace-format msgid "" "If enabled, your {box_name} will store chat message histories. This allows " @@ -1485,19 +1473,11 @@ msgid "" "Configure page." msgstr "" -#: plinth/modules/ejabberd/templates/ejabberd.html:35 -#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 -#: plinth/modules/snapshot/templates/snapshot.html:12 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:27 -#: plinth/templates/app.html:45 -msgid "Configuration" -msgstr "" - -#: plinth/modules/ejabberd/views.py:58 +#: plinth/modules/ejabberd/views.py:45 msgid "Message Archive Management enabled" msgstr "" -#: plinth/modules/ejabberd/views.py:62 +#: plinth/modules/ejabberd/views.py:49 msgid "Message Archive Management disabled" msgstr "" @@ -1509,7 +1489,7 @@ msgid "" "configured reduces risk of security threat from the Internet." msgstr "" -#: plinth/modules/firewall/__init__.py:63 +#: plinth/modules/firewall/__init__.py:65 msgid "Firewall" msgstr "" @@ -1636,7 +1616,7 @@ msgid "" "gittutorial\">Git tutorial." msgstr "" -#: plinth/modules/gitweb/__init__.py:39 +#: plinth/modules/gitweb/__init__.py:51 msgid "Read-write access to Git repositories" msgstr "" @@ -1794,31 +1774,31 @@ msgstr "" msgid "Could not delete {name}: {error}" msgstr "" -#: plinth/modules/help/__init__.py:30 +#: plinth/modules/help/__init__.py:32 msgid "Documentation" msgstr "" -#: plinth/modules/help/__init__.py:33 plinth/modules/networks/forms.py:47 +#: plinth/modules/help/__init__.py:35 plinth/modules/networks/forms.py:47 #: plinth/modules/networks/forms.py:77 plinth/templates/help-menu.html:20 #: plinth/templates/help-menu.html:21 plinth/templates/index.html:128 msgid "Manual" msgstr "" -#: plinth/modules/help/__init__.py:37 +#: plinth/modules/help/__init__.py:39 #: plinth/modules/help/templates/help_support.html:9 #: plinth/modules/help/views.py:43 plinth/templates/help-menu.html:27 #: plinth/templates/help-menu.html:28 msgid "Get Support" msgstr "" -#: plinth/modules/help/__init__.py:41 +#: plinth/modules/help/__init__.py:43 #: plinth/modules/help/templates/help_feedback.html:9 #: plinth/modules/help/views.py:37 plinth/templates/help-menu.html:33 #: plinth/templates/help-menu.html:34 msgid "Submit Feedback" msgstr "" -#: plinth/modules/help/__init__.py:45 +#: plinth/modules/help/__init__.py:47 #: plinth/modules/help/templates/help_contribute.html:9 #: plinth/modules/help/views.py:31 plinth/templates/help-menu.html:39 #: plinth/templates/help-menu.html:40 @@ -1927,7 +1907,7 @@ msgstr "" #: plinth/modules/help/templates/help_contribute.html:42 #: plinth/modules/power/templates/power_restart.html:27 #: plinth/modules/power/templates/power_shutdown.html:26 -#: plinth/templates/app-header.html:51 +#: plinth/templates/app-header.html:53 msgid "Learn more..." msgstr "" @@ -2071,19 +2051,19 @@ msgid "" "configuration process." msgstr "" -#: plinth/modules/i2p/__init__.py:38 +#: plinth/modules/i2p/__init__.py:62 msgid "Manage I2P application" msgstr "" -#: plinth/modules/i2p/__init__.py:64 plinth/modules/i2p/manifest.py:16 +#: plinth/modules/i2p/__init__.py:65 plinth/modules/i2p/manifest.py:16 msgid "I2P" msgstr "" -#: plinth/modules/i2p/__init__.py:65 plinth/modules/tor/__init__.py:56 +#: plinth/modules/i2p/__init__.py:66 plinth/modules/tor/__init__.py:55 msgid "Anonymity Network" msgstr "" -#: plinth/modules/i2p/__init__.py:87 +#: plinth/modules/i2p/__init__.py:88 msgid "I2P Proxy" msgstr "" @@ -2136,18 +2116,18 @@ msgid "" "Configuration you can change these permissions or add new users." msgstr "" -#: plinth/modules/ikiwiki/__init__.py:39 -msgid "View and edit wiki applications" -msgstr "" - -#: plinth/modules/ikiwiki/__init__.py:53 plinth/modules/ikiwiki/manifest.py:9 +#: plinth/modules/ikiwiki/__init__.py:52 plinth/modules/ikiwiki/manifest.py:9 msgid "ikiwiki" msgstr "" -#: plinth/modules/ikiwiki/__init__.py:54 +#: plinth/modules/ikiwiki/__init__.py:53 msgid "Wiki and Blog" msgstr "" +#: plinth/modules/ikiwiki/__init__.py:73 +msgid "View and edit wiki applications" +msgstr "" + #: plinth/modules/ikiwiki/forms.py:17 msgid "Admin Account Name" msgstr "" @@ -2191,33 +2171,33 @@ msgid "" "history. Delete this wiki or blog permanently?" msgstr "" -#: plinth/modules/ikiwiki/views.py:72 +#: plinth/modules/ikiwiki/views.py:70 #, python-brace-format msgid "Created wiki {name}." msgstr "" -#: plinth/modules/ikiwiki/views.py:75 +#: plinth/modules/ikiwiki/views.py:73 #, python-brace-format msgid "Could not create wiki: {error}" msgstr "" -#: plinth/modules/ikiwiki/views.py:85 +#: plinth/modules/ikiwiki/views.py:83 #, python-brace-format msgid "Created blog {name}." msgstr "" -#: plinth/modules/ikiwiki/views.py:88 +#: plinth/modules/ikiwiki/views.py:86 #, python-brace-format msgid "Could not create blog: {error}" msgstr "" -#: plinth/modules/ikiwiki/views.py:103 +#: plinth/modules/ikiwiki/views.py:101 #, fuzzy, python-brace-format #| msgid "Archive deleted." msgid "{title} deleted." msgstr "Arhiv je izbrisan." -#: plinth/modules/ikiwiki/views.py:107 +#: plinth/modules/ikiwiki/views.py:105 #, python-brace-format msgid "Could not delete {title}: {error}" msgstr "" @@ -2257,17 +2237,17 @@ msgid "" "domain name." msgstr "" -#: plinth/modules/jsxc/__init__.py:22 +#: plinth/modules/jsxc/__init__.py:23 msgid "" "JSXC is a web client for XMPP. Typically it is used with an XMPP server " "running locally." msgstr "" -#: plinth/modules/jsxc/__init__.py:40 plinth/modules/jsxc/manifest.py:10 +#: plinth/modules/jsxc/__init__.py:43 plinth/modules/jsxc/manifest.py:10 msgid "JSXC" msgstr "" -#: plinth/modules/jsxc/__init__.py:41 +#: plinth/modules/jsxc/__init__.py:44 msgid "Chat Client" msgstr "" @@ -2430,11 +2410,11 @@ msgstr "" msgid "Matrix Synapse" msgstr "" -#: plinth/modules/matrixsynapse/forms.py:14 +#: plinth/modules/matrixsynapse/forms.py:12 msgid "Enable Public Registration" msgstr "" -#: plinth/modules/matrixsynapse/forms.py:15 +#: plinth/modules/matrixsynapse/forms.py:13 msgid "" "Enabling public registration means that anyone on the Internet can register " "a new account on your Matrix server. Disable this if you only want existing " @@ -2445,6 +2425,12 @@ msgstr "" msgid "Riot" msgstr "" +#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 +#: plinth/modules/snapshot/templates/snapshot.html:12 +#: plinth/templates/app.html:46 +msgid "Configuration" +msgstr "" + #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:18 msgid "" "Matrix service needs to be configured for a domain. Users on other Matrix " @@ -2489,11 +2475,11 @@ msgid "" "go to Let's Encrypt to obtain one." msgstr "" -#: plinth/modules/matrixsynapse/views.py:98 +#: plinth/modules/matrixsynapse/views.py:86 msgid "Public registration enabled" msgstr "" -#: plinth/modules/matrixsynapse/views.py:103 +#: plinth/modules/matrixsynapse/views.py:91 msgid "Public registration disabled" msgstr "" @@ -2529,71 +2515,71 @@ msgstr "" msgid "Wiki" msgstr "" -#: plinth/modules/mediawiki/forms.py:27 +#: plinth/modules/mediawiki/forms.py:25 msgid "Administrator Password" msgstr "" -#: plinth/modules/mediawiki/forms.py:28 +#: plinth/modules/mediawiki/forms.py:26 msgid "" "Set a new password for MediaWiki's administrator account (admin). Leave this " "field blank to keep the current password." msgstr "" -#: plinth/modules/mediawiki/forms.py:33 +#: plinth/modules/mediawiki/forms.py:31 msgid "Enable public registrations" msgstr "" -#: plinth/modules/mediawiki/forms.py:34 +#: plinth/modules/mediawiki/forms.py:32 msgid "" "If enabled, anyone on the internet will be able to create an account on your " "MediaWiki instance." msgstr "" -#: plinth/modules/mediawiki/forms.py:38 +#: plinth/modules/mediawiki/forms.py:36 msgid "Enable private mode" msgstr "" -#: plinth/modules/mediawiki/forms.py:39 +#: plinth/modules/mediawiki/forms.py:37 msgid "" "If enabled, access will be restricted. Only people who have accounts can " "read/write to the wiki. Public registrations will also be disabled." msgstr "" -#: plinth/modules/mediawiki/forms.py:44 +#: plinth/modules/mediawiki/forms.py:42 msgid "Default Skin" msgstr "" -#: plinth/modules/mediawiki/forms.py:45 +#: plinth/modules/mediawiki/forms.py:43 msgid "" "Choose a default skin for your MediaWiki installation. Users have the option " "to select their preferred skin." msgstr "" -#: plinth/modules/mediawiki/views.py:53 +#: plinth/modules/mediawiki/views.py:48 msgid "Password updated" msgstr "" -#: plinth/modules/mediawiki/views.py:72 +#: plinth/modules/mediawiki/views.py:57 msgid "Public registrations enabled" msgstr "" -#: plinth/modules/mediawiki/views.py:81 +#: plinth/modules/mediawiki/views.py:66 msgid "Public registrations disabled" msgstr "" -#: plinth/modules/mediawiki/views.py:86 +#: plinth/modules/mediawiki/views.py:71 msgid "Private mode enabled" msgstr "" -#: plinth/modules/mediawiki/views.py:93 +#: plinth/modules/mediawiki/views.py:78 msgid "Private mode disabled" msgstr "" -#: plinth/modules/mediawiki/views.py:101 +#: plinth/modules/mediawiki/views.py:86 msgid "Default skin changed" msgstr "" -#: plinth/modules/minetest/__init__.py:37 +#: plinth/modules/minetest/__init__.py:38 #, python-brace-format msgid "" "Minetest is a multiplayer infinite-world block sandbox. This module enables " @@ -2602,48 +2588,48 @@ msgid "" "downloads/\">Minetest client is needed." msgstr "" -#: plinth/modules/minetest/__init__.py:63 +#: plinth/modules/minetest/__init__.py:62 #: plinth/modules/minetest/manifest.py:10 msgid "Minetest" msgstr "" -#: plinth/modules/minetest/__init__.py:64 +#: plinth/modules/minetest/__init__.py:63 msgid "Block Sandbox" msgstr "" -#: plinth/modules/minetest/forms.py:15 +#: plinth/modules/minetest/forms.py:13 msgid "Maximum number of players" msgstr "" -#: plinth/modules/minetest/forms.py:17 +#: plinth/modules/minetest/forms.py:15 msgid "" "You can change the maximum number of players playing minetest at a single " "instance of time." msgstr "" -#: plinth/modules/minetest/forms.py:21 +#: plinth/modules/minetest/forms.py:19 msgid "Enable creative mode" msgstr "" -#: plinth/modules/minetest/forms.py:22 +#: plinth/modules/minetest/forms.py:20 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:27 +#: plinth/modules/minetest/forms.py:25 msgid "Enable PVP" msgstr "" -#: plinth/modules/minetest/forms.py:28 +#: plinth/modules/minetest/forms.py:26 msgid "Enabling Player Vs Player will allow players to damage other players." msgstr "" -#: plinth/modules/minetest/forms.py:32 +#: plinth/modules/minetest/forms.py:30 msgid "Enable damage" msgstr "" -#: plinth/modules/minetest/forms.py:33 +#: plinth/modules/minetest/forms.py:31 msgid "When disabled, players cannot die or receive damage of any kind." msgstr "" @@ -2684,19 +2670,19 @@ msgid "" "Kodi." msgstr "" -#: plinth/modules/minidlna/__init__.py:33 +#: plinth/modules/minidlna/__init__.py:44 msgid "Media streaming server" msgstr "" -#: plinth/modules/minidlna/__init__.py:47 +#: plinth/modules/minidlna/__init__.py:48 msgid "Simple Media Server" msgstr "" -#: plinth/modules/minidlna/forms.py:15 +#: plinth/modules/minidlna/forms.py:13 msgid "Media Files Directory" msgstr "" -#: plinth/modules/minidlna/forms.py:16 +#: plinth/modules/minidlna/forms.py:14 msgid "" "Directory that MiniDLNA Server will read for content. All sub-directories of " "this will be also scanned for media files. If you change the default ensure " @@ -2748,16 +2734,16 @@ msgid "" "On {box_name}, downloaded files can be found in /var/lib/mldonkey/ directory." msgstr "" -#: plinth/modules/mldonkey/__init__.py:40 +#: plinth/modules/mldonkey/__init__.py:50 msgid "Download files using eDonkey applications" msgstr "" -#: plinth/modules/mldonkey/__init__.py:54 +#: plinth/modules/mldonkey/__init__.py:53 #: plinth/modules/mldonkey/manifest.py:12 msgid "MLDonkey" msgstr "" -#: plinth/modules/mldonkey/__init__.py:56 +#: plinth/modules/mldonkey/__init__.py:55 msgid "Peer-to-peer File Sharing" msgstr "" @@ -2769,7 +2755,7 @@ msgstr "" msgid "AMLDonkey" msgstr "" -#: plinth/modules/monkeysphere/__init__.py:18 +#: plinth/modules/monkeysphere/__init__.py:19 msgid "" "With Monkeysphere, an OpenPGP key can be generated for each configured " "domain serving SSH. The OpenPGP public key can then be uploaded to the " @@ -2781,7 +2767,7 @@ msgid "" "for more details." msgstr "" -#: plinth/modules/monkeysphere/__init__.py:26 +#: plinth/modules/monkeysphere/__init__.py:27 msgid "" "Monkeysphere can also generate an OpenPGP key for each Secure Web Server " "(HTTPS) certificate installed on this machine. The OpenPGP public key can " @@ -2792,7 +2778,7 @@ msgid "" "Monkeysphere website." msgstr "" -#: plinth/modules/monkeysphere/__init__.py:50 +#: plinth/modules/monkeysphere/__init__.py:49 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:11 msgid "Monkeysphere" msgstr "" @@ -2841,15 +2827,15 @@ msgstr "" msgid "-" msgstr "" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:128 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:129 msgid "Import Key" msgstr "" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:137 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:139 msgid "Publish Key" msgstr "" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:146 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:149 msgid "Add Domains" msgstr "" @@ -2919,34 +2905,34 @@ msgstr "" msgid "Error occurred while publishing key." msgstr "" -#: plinth/modules/mumble/__init__.py:23 +#: plinth/modules/mumble/__init__.py:24 msgid "" "Mumble is an open source, low-latency, encrypted, high quality voice chat " "software." msgstr "" -#: plinth/modules/mumble/__init__.py:25 +#: plinth/modules/mumble/__init__.py:26 msgid "" "You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your " "desktop and Android devices are available." msgstr "" -#: plinth/modules/mumble/__init__.py:49 plinth/modules/mumble/manifest.py:12 +#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:12 msgid "Mumble" msgstr "" -#: plinth/modules/mumble/__init__.py:50 +#: plinth/modules/mumble/__init__.py:49 msgid "Voice Chat" msgstr "" -#: plinth/modules/mumble/forms.py:16 +#: plinth/modules/mumble/forms.py:14 #, fuzzy #| msgid "SSH server password" msgid "Set SuperUser Password" msgstr "Geslo strežnika SSH" -#: plinth/modules/mumble/forms.py:19 +#: plinth/modules/mumble/forms.py:17 msgid "" "Optional. Leave this field blank to keep the current password. SuperUser " "password can be used to manage permissions in Mumble." @@ -3229,7 +3215,7 @@ msgstr "" #: plinth/modules/networks/forms.py:297 #, python-brace-format -msgid "Choose how your {box_name} is connected to your network" +msgid "Specify how your {box_name} is connected to your network" msgstr "" #: plinth/modules/networks/forms.py:304 @@ -3448,7 +3434,7 @@ msgstr "" #: plinth/modules/networks/templates/connection_show.html:171 #: plinth/modules/networks/templates/connection_show.html:212 -#: plinth/modules/shadowsocks/forms.py:49 +#: plinth/modules/shadowsocks/forms.py:48 msgid "Method" msgstr "" @@ -3464,7 +3450,7 @@ msgstr "" #: plinth/modules/networks/templates/connection_show.html:201 #: plinth/modules/networks/templates/connection_show.html:240 -#: plinth/modules/storage/forms.py:141 +#: plinth/modules/storage/forms.py:139 msgid "Default" msgstr "" @@ -3905,6 +3891,11 @@ msgstr "" msgid "Setup failed." msgstr "" +#: plinth/modules/openvpn/views.py:135 plinth/modules/tor/views.py:136 +#: plinth/views.py:196 +msgid "Setting unchanged" +msgstr "" + #: plinth/modules/pagekite/__init__.py:27 #, python-brace-format msgid "" @@ -3961,75 +3952,75 @@ msgstr "" msgid "PageKite Domain" msgstr "" -#: plinth/modules/pagekite/forms.py:48 +#: plinth/modules/pagekite/forms.py:47 msgid "Server domain" msgstr "" -#: plinth/modules/pagekite/forms.py:50 +#: plinth/modules/pagekite/forms.py:49 msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " "pagekite.net server." msgstr "" -#: plinth/modules/pagekite/forms.py:53 plinth/modules/shadowsocks/forms.py:40 +#: plinth/modules/pagekite/forms.py:52 plinth/modules/shadowsocks/forms.py:39 msgid "Server port" msgstr "" -#: plinth/modules/pagekite/forms.py:54 +#: plinth/modules/pagekite/forms.py:53 msgid "Port of your pagekite server (default: 80)" msgstr "" -#: plinth/modules/pagekite/forms.py:56 +#: plinth/modules/pagekite/forms.py:55 msgid "Kite name" msgstr "" -#: plinth/modules/pagekite/forms.py:57 +#: plinth/modules/pagekite/forms.py:56 msgid "Example: mybox.pagekite.me" msgstr "" -#: plinth/modules/pagekite/forms.py:59 +#: plinth/modules/pagekite/forms.py:58 msgid "Invalid kite name" msgstr "" -#: plinth/modules/pagekite/forms.py:63 +#: plinth/modules/pagekite/forms.py:62 msgid "Kite secret" msgstr "" -#: plinth/modules/pagekite/forms.py:64 +#: plinth/modules/pagekite/forms.py:63 msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." msgstr "" -#: plinth/modules/pagekite/forms.py:101 +#: plinth/modules/pagekite/forms.py:100 msgid "protocol" msgstr "" -#: plinth/modules/pagekite/forms.py:104 +#: plinth/modules/pagekite/forms.py:103 msgid "external (frontend) port" msgstr "" -#: plinth/modules/pagekite/forms.py:107 +#: plinth/modules/pagekite/forms.py:106 msgid "internal (freedombox) port" msgstr "" -#: plinth/modules/pagekite/forms.py:108 +#: plinth/modules/pagekite/forms.py:107 msgid "Enable Subdomains" msgstr "" -#: plinth/modules/pagekite/forms.py:142 +#: plinth/modules/pagekite/forms.py:141 msgid "Deleted custom service" msgstr "" -#: plinth/modules/pagekite/forms.py:175 +#: plinth/modules/pagekite/forms.py:174 msgid "This service is already available as a standard service." msgstr "" -#: plinth/modules/pagekite/forms.py:183 +#: plinth/modules/pagekite/forms.py:182 msgid "Added custom service" msgstr "" -#: plinth/modules/pagekite/forms.py:186 +#: plinth/modules/pagekite/forms.py:185 msgid "This service already exists" msgstr "" @@ -4147,14 +4138,14 @@ msgstr "" msgid "Shut Down Now" msgstr "" -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 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:33 +#: plinth/modules/privoxy/__init__.py:34 #, python-brace-format msgid "" "You can use Privoxy by modifying your browser proxy settings to your " @@ -4164,20 +4155,20 @@ msgid "" "\">http://p.p." msgstr "" -#: plinth/modules/privoxy/__init__.py:56 +#: plinth/modules/privoxy/__init__.py:55 msgid "Privoxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:57 +#: plinth/modules/privoxy/__init__.py:56 msgid "Web Proxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:119 #, python-brace-format msgid "Access {url} with proxy {proxy} on tcp{kind}" msgstr "" -#: plinth/modules/quassel/__init__.py:32 +#: plinth/modules/quassel/__init__.py:33 #, python-brace-format msgid "" "Quassel is an IRC application that is split into two parts, a \"core\" and a " @@ -4188,7 +4179,7 @@ msgid "" "connect and disconnect from it." msgstr "" -#: plinth/modules/quassel/__init__.py:39 +#: plinth/modules/quassel/__init__.py:40 msgid "" "You can connect to your Quassel core on the default Quassel port 4242. " "Clients to connect to Quassel from your mobile devices are available." msgstr "" -#: plinth/modules/quassel/__init__.py:62 plinth/modules/quassel/manifest.py:10 +#: plinth/modules/quassel/__init__.py:61 plinth/modules/quassel/manifest.py:10 msgid "Quassel" msgstr "" -#: plinth/modules/quassel/__init__.py:63 +#: plinth/modules/quassel/__init__.py:62 msgid "IRC Client" msgstr "" -#: plinth/modules/quassel/forms.py:23 +#: plinth/modules/quassel/forms.py:22 msgid "TLS domain" msgstr "" -#: plinth/modules/quassel/forms.py:25 +#: plinth/modules/quassel/forms.py:24 msgid "" "Select a domain to use TLS with. If the list is empty, please configure at " "least one domain with certificates." @@ -4218,7 +4209,7 @@ msgstr "" msgid "Quasseldroid" msgstr "" -#: plinth/modules/radicale/__init__.py:32 +#: plinth/modules/radicale/__init__.py:33 #, python-brace-format msgid "" "Radicale is a CalDAV and CardDAV server. It allows synchronization and " @@ -4227,34 +4218,34 @@ msgid "" "can be accessed by any user with a {box_name} login." msgstr "" -#: plinth/modules/radicale/__init__.py:37 +#: plinth/modules/radicale/__init__.py:38 msgid "" "Radicale provides a basic web interface, which only supports creating new " "calendars and addressbooks. It does not support adding events or contacts, " "which must be done using a separate client." msgstr "" -#: plinth/modules/radicale/__init__.py:62 +#: plinth/modules/radicale/__init__.py:61 #: plinth/modules/radicale/manifest.py:75 msgid "Radicale" msgstr "" -#: plinth/modules/radicale/__init__.py:63 +#: plinth/modules/radicale/__init__.py:62 msgid "Calendar and Addressbook" msgstr "" -#: plinth/modules/radicale/forms.py:15 +#: plinth/modules/radicale/forms.py:14 msgid "Only the owner of a calendar/addressbook can view or make changes." msgstr "" -#: plinth/modules/radicale/forms.py:19 +#: plinth/modules/radicale/forms.py:18 #, python-brace-format msgid "" "Any user with a {box_name} login can view any calendar/addressbook, but only " "the owner can make changes." msgstr "" -#: plinth/modules/radicale/forms.py:24 +#: plinth/modules/radicale/forms.py:23 #, python-brace-format msgid "" "Any user with a {box_name} login can view or make changes to any calendar/" @@ -4370,11 +4361,11 @@ msgid "" "private space." msgstr "" -#: plinth/modules/samba/__init__.py:47 +#: plinth/modules/samba/__init__.py:59 msgid "Access to the private shares" msgstr "" -#: plinth/modules/samba/__init__.py:61 +#: plinth/modules/samba/__init__.py:62 msgid "Samba" msgstr "" @@ -4442,11 +4433,11 @@ msgstr "" msgid "Action" msgstr "Šifriranje" -#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:149 +#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:147 msgid "Open Share" msgstr "" -#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:147 +#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:145 msgid "Group Share" msgstr "" @@ -4486,43 +4477,43 @@ msgid "" "stores no cookies by default." msgstr "" -#: plinth/modules/searx/__init__.py:31 +#: plinth/modules/searx/__init__.py:45 msgid "Search the web" msgstr "" -#: plinth/modules/searx/__init__.py:47 plinth/modules/searx/manifest.py:9 +#: plinth/modules/searx/__init__.py:48 plinth/modules/searx/manifest.py:9 msgid "Searx" msgstr "" -#: plinth/modules/searx/__init__.py:48 +#: plinth/modules/searx/__init__.py:49 msgid "Web Search" msgstr "" -#: plinth/modules/searx/forms.py:15 +#: plinth/modules/searx/forms.py:13 msgid "Safe Search" msgstr "" -#: plinth/modules/searx/forms.py:16 +#: plinth/modules/searx/forms.py:14 msgid "Select the default family filter to apply to your search results." msgstr "" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "None" msgstr "" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "Moderate" msgstr "" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "Strict" msgstr "" -#: plinth/modules/searx/forms.py:20 +#: plinth/modules/searx/forms.py:18 msgid "Allow Public Access" msgstr "" -#: plinth/modules/searx/forms.py:21 +#: plinth/modules/searx/forms.py:19 msgid "Allow this application to be used by anyone who can reach it." msgstr "" @@ -4687,28 +4678,28 @@ msgstr "" msgid "Socks5 Proxy" msgstr "" +#: plinth/modules/shadowsocks/forms.py:12 #: plinth/modules/shadowsocks/forms.py:13 -#: plinth/modules/shadowsocks/forms.py:14 msgid "Recommended" msgstr "" -#: plinth/modules/shadowsocks/forms.py:37 +#: plinth/modules/shadowsocks/forms.py:36 msgid "Server" msgstr "" -#: plinth/modules/shadowsocks/forms.py:38 +#: plinth/modules/shadowsocks/forms.py:37 msgid "Server hostname or IP address" msgstr "" -#: plinth/modules/shadowsocks/forms.py:42 +#: plinth/modules/shadowsocks/forms.py:41 msgid "Server port number" msgstr "" -#: plinth/modules/shadowsocks/forms.py:45 +#: plinth/modules/shadowsocks/forms.py:44 msgid "Password used to encrypt data. Must match server password." msgstr "" -#: plinth/modules/shadowsocks/forms.py:50 +#: plinth/modules/shadowsocks/forms.py:49 msgid "Encryption method. Must match setting on server." msgstr "" @@ -4749,11 +4740,11 @@ msgstr "" msgid "Make files in this folder available to anyone with the link." msgstr "" -#: plinth/modules/sharing/forms.py:33 +#: plinth/modules/sharing/forms.py:34 msgid "User groups that can read the files in the share" msgstr "" -#: plinth/modules/sharing/forms.py:35 +#: plinth/modules/sharing/forms.py:36 msgid "" "Users of the selected user groups will be able to read the files in the " "share." @@ -5024,11 +5015,11 @@ msgstr "" msgid "Secure Shell (SSH) Server" msgstr "" -#: plinth/modules/ssh/forms.py:15 +#: plinth/modules/ssh/forms.py:13 msgid "Disable password authentication" msgstr "" -#: plinth/modules/ssh/forms.py:16 +#: plinth/modules/ssh/forms.py:14 msgid "" "Improves security by preventing password guessing. Ensure that you have " "setup SSH keys in your administrator user account before enabling this " @@ -5079,131 +5070,131 @@ msgid "" "media, expand the root partition etc." msgstr "" -#: plinth/modules/storage/__init__.py:52 plinth/modules/storage/__init__.py:318 +#: plinth/modules/storage/__init__.py:54 plinth/modules/storage/__init__.py:320 msgid "Storage" 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 "" -#: plinth/modules/storage/__init__.py:313 +#: plinth/modules/storage/__init__.py:315 #, no-python-format, python-brace-format msgid "Low space on system partition: {percent_used}% used, {free_space} free." msgstr "" -#: plinth/modules/storage/__init__.py:315 +#: plinth/modules/storage/__init__.py:317 msgid "Low disk space" msgstr "" -#: plinth/modules/storage/forms.py:64 +#: plinth/modules/storage/forms.py:63 #, fuzzy #| msgid "Invalid hostname" msgid "Invalid directory name." msgstr "Neveljavno ime gostitelja" -#: plinth/modules/storage/forms.py:82 +#: plinth/modules/storage/forms.py:80 msgid "Directory does not exist." msgstr "" -#: plinth/modules/storage/forms.py:84 +#: plinth/modules/storage/forms.py:83 msgid "Path is not a directory." msgstr "" -#: plinth/modules/storage/forms.py:87 +#: plinth/modules/storage/forms.py:86 msgid "Directory is not readable by the user." msgstr "" -#: plinth/modules/storage/forms.py:90 +#: plinth/modules/storage/forms.py:89 msgid "Directory is not writable by the user." msgstr "" -#: plinth/modules/storage/forms.py:95 +#: plinth/modules/storage/forms.py:94 msgid "Directory" msgstr "" -#: plinth/modules/storage/forms.py:98 +#: plinth/modules/storage/forms.py:96 msgid "Subdirectory (optional)" msgstr "" -#: plinth/modules/storage/forms.py:145 +#: plinth/modules/storage/forms.py:143 msgid "Share" msgstr "" -#: plinth/modules/storage/forms.py:153 +#: plinth/modules/storage/forms.py:151 msgid "Other directory (specify below)" msgstr "" @@ -5284,19 +5275,20 @@ msgid "" "synchronize more often. {box_name} runs a single instance of Syncthing that " "may be used by multiple users. Each user's set of devices may be " "synchronized with a distinct set of folders. The web interface on " -"{box_name} is only available for users belonging to the \"admin\" group." +"{box_name} is only available for users belonging to the \"admin\" or " +"\"syncthing\" group." msgstr "" -#: plinth/modules/syncthing/__init__.py:40 +#: plinth/modules/syncthing/__init__.py:53 msgid "Administer Syncthing application" msgstr "" -#: plinth/modules/syncthing/__init__.py:54 +#: plinth/modules/syncthing/__init__.py:56 #: plinth/modules/syncthing/manifest.py:13 msgid "Syncthing" msgstr "" -#: plinth/modules/syncthing/__init__.py:55 +#: plinth/modules/syncthing/__init__.py:57 msgid "File Synchronization" msgstr "" @@ -5333,33 +5325,33 @@ msgid "" "%(domain_name)s:5678\">https://%(domain_name)s:5678." msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:39 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:29 msgid "Local introducer" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:59 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:76 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:33 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:49 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:66 msgid "Pet Name" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:56 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:46 msgid "Add new introducer" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:67 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:57 msgid "Add" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:72 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:62 msgid "Connected introducers" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:89 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:79 msgid "Remove" msgstr "" -#: plinth/modules/tor/__init__.py:33 +#: plinth/modules/tor/__init__.py:34 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -5368,40 +5360,40 @@ msgid "" "\">Tor Browser." msgstr "" -#: plinth/modules/tor/__init__.py:55 +#: plinth/modules/tor/__init__.py:54 msgid "Tor" msgstr "" -#: plinth/modules/tor/__init__.py:66 +#: plinth/modules/tor/__init__.py:65 msgid "Tor Onion Service" msgstr "" -#: plinth/modules/tor/__init__.py:70 +#: plinth/modules/tor/__init__.py:69 msgid "Tor Socks Proxy" msgstr "" -#: plinth/modules/tor/__init__.py:74 +#: plinth/modules/tor/__init__.py:73 msgid "Tor Bridge Relay" msgstr "" -#: plinth/modules/tor/__init__.py:95 +#: plinth/modules/tor/__init__.py:98 msgid "Tor relay port available" msgstr "" -#: plinth/modules/tor/__init__.py:105 +#: plinth/modules/tor/__init__.py:108 msgid "Obfs3 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:115 +#: plinth/modules/tor/__init__.py:118 msgid "Obfs4 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:208 +#: plinth/modules/tor/__init__.py:211 #, python-brace-format msgid "Access URL {url} on tcp{kind} via Tor" msgstr "" -#: plinth/modules/tor/__init__.py:219 +#: plinth/modules/tor/__init__.py:222 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "" @@ -5527,13 +5519,13 @@ msgstr "" msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050." msgstr "" -#: plinth/modules/transmission/__init__.py:27 +#: plinth/modules/transmission/__init__.py:28 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:48 +#: plinth/modules/transmission/__init__.py:51 #: plinth/modules/transmission/manifest.py:9 msgid "Transmission" msgstr "" @@ -5567,15 +5559,15 @@ msgid "" "connecting." msgstr "" -#: plinth/modules/ttrss/__init__.py:42 +#: plinth/modules/ttrss/__init__.py:54 msgid "Read and subscribe to news feeds" msgstr "" -#: plinth/modules/ttrss/__init__.py:56 plinth/modules/ttrss/manifest.py:19 +#: plinth/modules/ttrss/__init__.py:57 plinth/modules/ttrss/manifest.py:19 msgid "Tiny Tiny RSS" msgstr "" -#: plinth/modules/ttrss/__init__.py:57 +#: plinth/modules/ttrss/__init__.py:58 msgid "News Feed Reader" msgstr "" @@ -5587,11 +5579,11 @@ msgstr "" msgid "Check for and apply the latest software and security updates." msgstr "" -#: plinth/modules/upgrades/__init__.py:38 plinth/templates/setup.html:74 +#: plinth/modules/upgrades/__init__.py:40 plinth/templates/setup.html:74 msgid "Update" msgstr "" -#: plinth/modules/upgrades/__init__.py:76 +#: plinth/modules/upgrades/__init__.py:78 #, fuzzy #| msgid "FreedomBox" msgid "FreedomBox Updated" @@ -5643,43 +5635,39 @@ msgstr "" #: plinth/modules/upgrades/templates/upgrades_configure.html:11 #: plinth/modules/upgrades/templates/upgrades_configure.html:12 -#: plinth/modules/upgrades/views.py:88 +#: plinth/modules/upgrades/views.py:85 msgid "Manual update" msgstr "" -#: plinth/modules/upgrades/views.py:47 +#: plinth/modules/upgrades/views.py:46 #, python-brace-format msgid "Error when configuring unattended-upgrades: {error}" msgstr "" -#: plinth/modules/upgrades/views.py:51 +#: plinth/modules/upgrades/views.py:50 msgid "Automatic upgrades enabled" msgstr "" -#: plinth/modules/upgrades/views.py:54 +#: plinth/modules/upgrades/views.py:53 msgid "Automatic upgrades disabled" msgstr "" -#: plinth/modules/upgrades/views.py:56 -msgid "Settings unchanged" -msgstr "" - -#: plinth/modules/upgrades/views.py:82 +#: plinth/modules/upgrades/views.py:79 msgid "Upgrade process started." msgstr "" -#: plinth/modules/upgrades/views.py:85 +#: plinth/modules/upgrades/views.py:82 msgid "Starting upgrade failed." msgstr "" -#: plinth/modules/users/__init__.py:37 +#: plinth/modules/users/__init__.py:39 msgid "" "Create and managed user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " "account to be part of a group to authorize the user to access the app." msgstr "" -#: plinth/modules/users/__init__.py:42 +#: plinth/modules/users/__init__.py:44 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -5687,104 +5675,103 @@ msgid "" "group may alter apps or system settings." msgstr "" -#: plinth/modules/users/__init__.py:64 +#: plinth/modules/users/__init__.py:65 msgid "Users and Groups" msgstr "" -#: plinth/modules/users/__init__.py:115 +#: plinth/modules/users/__init__.py:78 +msgid "Access to all services and system settings" +msgstr "" + +#: plinth/modules/users/__init__.py:122 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "" -#: plinth/modules/users/forms.py:28 -msgid "Access to all services and system settings" -msgstr "" - -#: plinth/modules/users/forms.py:44 +#: plinth/modules/users/forms.py:36 msgid "Username is taken or is reserved." msgstr "" -#: plinth/modules/users/forms.py:72 +#: plinth/modules/users/forms.py:63 #, fuzzy #| msgid "Invalid hostname" msgid "Enter a valid username." msgstr "Neveljavno ime gostitelja" -#: plinth/modules/users/forms.py:78 +#: plinth/modules/users/forms.py:69 msgid "" "Required. 150 characters or fewer. English letters, digits and @/./-/_ only." msgstr "" -#: plinth/modules/users/forms.py:91 plinth/modules/users/forms.py:207 +#: plinth/modules/users/forms.py:83 plinth/modules/users/forms.py:196 msgid "Permissions" msgstr "" -#: plinth/modules/users/forms.py:94 +#: plinth/modules/users/forms.py:85 msgid "" -"Select which services should be available to the new user. The user will be " -"able to log in to services that support single sign-on through LDAP, if they " -"are in the appropriate group.

Users in the admin group will be " -"able to log in to all services. They can also log in to the system through " -"SSH and have administrative privileges (sudo)." +"user. The user will be able to log in to services that support single sign-" +"on through LDAP, if they are in the appropriate group.

Users in " +"the admin group will be able to log in to all services. They can also log in " +"to the system through SSH and have administrative privileges (sudo)." msgstr "" -#: plinth/modules/users/forms.py:133 plinth/modules/users/forms.py:357 +#: plinth/modules/users/forms.py:122 plinth/modules/users/forms.py:345 msgid "Creating LDAP user failed." msgstr "" -#: plinth/modules/users/forms.py:144 +#: plinth/modules/users/forms.py:133 #, python-brace-format msgid "Failed to add new user to {group} group." msgstr "" -#: plinth/modules/users/forms.py:158 +#: plinth/modules/users/forms.py:147 msgid "Authorized SSH Keys" msgstr "" -#: plinth/modules/users/forms.py:160 +#: plinth/modules/users/forms.py:149 msgid "" "Setting an SSH public key will allow this user to securely log in to the " "system without using a password. You may enter multiple keys, one on each " "line. Blank lines and lines starting with # will be ignored." msgstr "" -#: plinth/modules/users/forms.py:244 +#: plinth/modules/users/forms.py:233 msgid "Renaming LDAP user failed." msgstr "" -#: plinth/modules/users/forms.py:256 +#: plinth/modules/users/forms.py:245 msgid "Failed to remove user from group." msgstr "" -#: plinth/modules/users/forms.py:267 +#: plinth/modules/users/forms.py:256 msgid "Failed to add user to group." msgstr "" -#: plinth/modules/users/forms.py:276 +#: plinth/modules/users/forms.py:265 msgid "Unable to set SSH keys." msgstr "" -#: plinth/modules/users/forms.py:291 +#: plinth/modules/users/forms.py:280 msgid "Failed to change user status." msgstr "" -#: plinth/modules/users/forms.py:299 +#: plinth/modules/users/forms.py:288 msgid "Cannot delete the only administrator in the system." msgstr "" -#: plinth/modules/users/forms.py:331 +#: plinth/modules/users/forms.py:319 msgid "Changing LDAP user password failed." msgstr "" -#: plinth/modules/users/forms.py:366 +#: plinth/modules/users/forms.py:354 msgid "Failed to add new user to admin group." msgstr "" -#: plinth/modules/users/forms.py:383 +#: plinth/modules/users/forms.py:371 msgid "Failed to restrict console access." msgstr "" -#: plinth/modules/users/forms.py:395 +#: plinth/modules/users/forms.py:383 msgid "User account created, you are now logged in" msgstr "" @@ -6546,18 +6533,13 @@ msgstr "" msgid "%(percentage)s%% complete" msgstr "" -#: plinth/views.py:184 -msgid "Application enabled" -msgstr "" - -#: plinth/views.py:187 -msgid "Application disabled" -msgstr "" - #: plinth/web_framework.py:107 msgid "Gujarati" msgstr "" +#~ msgid "Enable application" +#~ msgstr "Omogoči aplikacijo" + #, fuzzy #~| msgid "Connection refused" #~ msgid "Custom Section" diff --git a/plinth/locale/sr/LC_MESSAGES/django.po b/plinth/locale/sr/LC_MESSAGES/django.po new file mode 100644 index 000000000..766ac1188 --- /dev/null +++ b/plinth/locale/sr/LC_MESSAGES/django.po @@ -0,0 +1,6365 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-04-06 19:59-0400\n" +"PO-Revision-Date: 2020-04-11 13:36+0000\n" +"Last-Translator: vihor \n" +"Language-Team: Serbian \n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=" +"4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 4.0-dev\n" + +#: doc/dev/_templates/layout.html:11 +msgid "Page source" +msgstr "Izvorna stranica" + +#: plinth/context_processors.py:23 plinth/views.py:53 +msgid "FreedomBox" +msgstr "KutijaSlobode" + +#: plinth/daemon.py:70 +#, python-brace-format +msgid "Service {service_name} is running" +msgstr "Servis {service_name} je pokrenut" + +#: plinth/daemon.py:96 +#, python-brace-format +msgid "Listening on {kind} port {listen_address}:{port}" +msgstr "Slušam na {kind} portu {listen_address}:{port}" + +#: plinth/daemon.py:99 +#, python-brace-format +msgid "Listening on {kind} port {port}" +msgstr "Slušam na {kind} portu {port}" + +#: plinth/daemon.py:167 +#, python-brace-format +msgid "Connect to {host}:{port}" +msgstr "Poveži se na {host}:{port}" + +#: plinth/daemon.py:169 +#, python-brace-format +msgid "Cannot connect to {host}:{port}" +msgstr "Nije moguće povezati se na {host}:{port}" + +#: plinth/forms.py:38 +msgid "Select a domain name to be used with this application" +msgstr "Izaberi domen koji će ova aplikacija koristiti" + +#: plinth/forms.py:40 +msgid "" +"Warning! The application may not work properly if domain name is changed " +"later." +msgstr "" +"Upozorenje! Ukoliko se domen bude menjao kasnije, aplikacija neće raditi." + +#: plinth/forms.py:48 +msgid "Language" +msgstr "Jezik" + +#: plinth/forms.py:49 +msgid "Language to use for presenting this web interface" +msgstr "Jezik za web interfejs" + +#: plinth/forms.py:56 +msgid "Use the language preference set in the browser" +msgstr "Koristi jezik podešen u pretraživaču" + +#: plinth/middleware.py:57 plinth/templates/setup.html:30 +msgid "Application installed." +msgstr "Aplikacija instalirana." + +#: plinth/middleware.py:63 +#, python-brace-format +msgid "Error installing application: {string} {details}" +msgstr "Greška prilikom instaliranja aplikacije: {string}{details}" + +#: plinth/middleware.py:67 +#, python-brace-format +msgid "Error installing application: {error}" +msgstr "Greška prilikom instaliranja aplikacije: {error}" + +#: plinth/modules/apache/__init__.py:40 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:73 +#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:45 +msgid "Web Server" +msgstr "Web Server" + +#: plinth/modules/apache/__init__.py:46 +#, python-brace-format +msgid "{box_name} Web Interface (Plinth)" +msgstr "{box_name} Web Interfejs (Plinth)" + +#: plinth/modules/apache/components.py:120 +#, python-brace-format +msgid "Access URL {url} on tcp{kind}" +msgstr "Pristupi URL-u {url} na tcp {kind}" + +#: plinth/modules/apache/components.py:124 +#, python-brace-format +msgid "Access URL {url}" +msgstr "URL za pristup {url}" + +#: plinth/modules/avahi/__init__.py:34 +#, python-brace-format +msgid "" +"Service discovery allows other devices on the network to discover your " +"{box_name} and services running on it. It also allows {box_name} to " +"discover other devices and services running on your local network. Service " +"discovery is not essential and works only on internal networks. It may be " +"disabled to improve security especially when connecting to a hostile local " +"network." +msgstr "" +"Otkrivanje servisa dozvoljava drugim uređajima na mreži da pronađu " +"{box_name} i servise koje ima. Takođe, dozvoljava da {box_name} otkrije " +"druge uređaje i servise na lokalnoj mreži. Otkrivanje servisa nije " +"esencijalan i jedino radi na internim mrežama. Može se deaktivirati radi " +"unapređenja sigurnosti, pogotovo u slučaju povezivanja na nesigurnu lokalnu " +"mrežu." + +#: plinth/modules/avahi/__init__.py:58 +msgid "Service Discovery" +msgstr "Otkrivanje Servisa" + +#: plinth/modules/avahi/__init__.py:68 +msgid "Local Network Domain" +msgstr "Lokalni Mrežni Domen" + +#: plinth/modules/backups/__init__.py:28 +msgid "Backups allows creating and managing backup archives." +msgstr "" +"Izrada sigurnosnih kopija omogućava kreiranje i upravljanje arhivima " +"sigurnosnih kopija." + +#: plinth/modules/backups/__init__.py:47 +msgid "Backups" +msgstr "Sigurnosne kopije" + +#: plinth/modules/backups/forms.py:33 +#, python-brace-format +msgid "{app} (No data to backup)" +msgstr "{app} (nema podataka za čuvanje)" + +#: plinth/modules/backups/forms.py:52 +msgid "Included apps" +msgstr "Uključene aplikacije" + +#: plinth/modules/backups/forms.py:52 +msgid "Apps to include in the backup" +msgstr "Aplikacije koje treba uključiti u rezervnu kopiju" + +#: plinth/modules/backups/forms.py:66 +msgid "Select the apps you want to restore" +msgstr "Izaberite aplikacije koje želite da vratite" + +#: plinth/modules/backups/forms.py:79 +msgid "Upload File" +msgstr "Otpremi datoteku" + +#: plinth/modules/backups/forms.py:81 +msgid "Backup files have to be in .tar.gz format" +msgstr "Sigurnosne kopije moraju biti u .tar.gz formatu" + +#: plinth/modules/backups/forms.py:82 +msgid "Select the backup file you want to upload" +msgstr "Izaberite sigurnosnu kopiju koju želite da otpremite" + +#: plinth/modules/backups/forms.py:88 +msgid "Repository path format incorrect." +msgstr "Format putanje repozitorijuma je pogrešan." + +#: plinth/modules/backups/forms.py:95 +#, python-brace-format +msgid "Invalid username: {username}" +msgstr "Pogrešno korisničko ime: {username}" + +#: plinth/modules/backups/forms.py:105 +#, python-brace-format +msgid "Invalid hostname: {hostname}" +msgstr "Pogrešno ime hosta: {hostname}" + +#: plinth/modules/backups/forms.py:109 +#, python-brace-format +msgid "Invalid directory path: {dir_path}" +msgstr "Pogrešna putanja direktorijuma: {dir_path}" + +#: plinth/modules/backups/forms.py:115 +msgid "Encryption" +msgstr "Enkripcija" + +#: plinth/modules/backups/forms.py:116 +msgid "" +"\"Key in Repository\" means that a password-protected key is stored with the " +"backup." +msgstr "" +"\"Ključ u repozitorijumu\" znači da je ključ sačuvan u sigurnosnoj kopiji " +"pod lozinkom." + +#: plinth/modules/backups/forms.py:120 plinth/modules/networks/forms.py:262 +msgid "Passphrase" +msgstr "Lozinka" + +#: plinth/modules/backups/forms.py:121 +msgid "Passphrase; Only needed when using encryption." +msgstr "Lozinka; Potrebna samo ako se koristi enkripcija." + +#: plinth/modules/backups/forms.py:124 +msgid "Confirm Passphrase" +msgstr "Potvrdite lozinku" + +#: plinth/modules/backups/forms.py:124 +msgid "Repeat the passphrase." +msgstr "Ponovite lozinku." + +#: plinth/modules/backups/forms.py:135 +msgid "The entered encryption passphrases do not match" +msgstr "Unete enkriptovane lozinke se ne poklapaju" + +#: plinth/modules/backups/forms.py:139 +msgid "Passphrase is needed for encryption." +msgstr "Lozinka je potrebna za enkripciju." + +#: plinth/modules/backups/forms.py:174 +msgid "Select Disk or Partition" +msgstr "Izaberite Disk ili Particiju" + +#: plinth/modules/backups/forms.py:175 +msgid "Backups will be stored in the directory FreedomBoxBackups" +msgstr "Sigurnosne kopije će biti sačuvane u folderu FreedomBoxBackups" + +#: plinth/modules/backups/forms.py:184 +msgid "SSH Repository Path" +msgstr "SSH putanja repozitorijuma" + +#: plinth/modules/backups/forms.py:185 +msgid "" +"Path of a new or existing repository. Example: user@host:~/path/to/repo/" +msgstr "" +"Putanja novog ili postojećeg repozitorijuma: Primer: user@host:~/path/to/" +"repo/" + +#: plinth/modules/backups/forms.py:189 +msgid "SSH server password" +msgstr "SSH serverska lozinka" + +#: plinth/modules/backups/forms.py:190 +msgid "" +"Password of the SSH Server.
SSH key-based authentication is not yet " +"possible." +msgstr "" +"SSH serverska lozinka.
Autentifikacija sa SSH ključem još uvek nije " +"moguća." + +#: plinth/modules/backups/forms.py:209 +msgid "Remote backup repository already exists." +msgstr "Remote rezervni repozitorijum već postoji." + +#: plinth/modules/backups/forms.py:215 +msgid "Select verified SSH public key" +msgstr "Izaberi provereni SSH javni ključ" + +#: plinth/modules/backups/repository.py:33 +msgid "" +"Connection refused - make sure you provided correct credentials and the " +"server is running." +msgstr "Veza odbijena - proverite kredencijale i da li je server uključen." + +#: plinth/modules/backups/repository.py:40 +msgid "Connection refused" +msgstr "Veza odbijena" + +#: plinth/modules/backups/repository.py:47 +msgid "Repository not found" +msgstr "Repozitorijum nije pronađen" + +#: plinth/modules/backups/repository.py:52 +msgid "Incorrect encryption passphrase" +msgstr "Neispravna lozinka za enkripciju" + +#: plinth/modules/backups/repository.py:57 +msgid "SSH access denied" +msgstr "SSH pristup je odbijen" + +#: plinth/modules/backups/repository.py:63 +msgid "Repository path is neither empty nor is an existing backups repository." +msgstr "Putanja ka repozitorijumu nije prazna." + +#: plinth/modules/backups/repository.py:137 +msgid "Existing repository is not encrypted." +msgstr "Postojeći repozitorijum nije enkriptovan." + +#: plinth/modules/backups/repository.py:322 +#, python-brace-format +msgid "{box_name} storage" +msgstr "{box_name} skladište" + +#: plinth/modules/backups/templates/backups.html:30 +#: plinth/modules/backups/views.py:60 +msgid "Create a new backup" +msgstr "Kreiraj novu rezervnu kopiju" + +#: plinth/modules/backups/templates/backups.html:34 +msgid "Create Backup" +msgstr "Kreiraj rezervnu kopiju" + +#: plinth/modules/backups/templates/backups.html:37 +msgid "Upload and restore a backup archive" +msgstr "Otpremi i vrati rezervnu arhivsku kopiju" + +#: plinth/modules/backups/templates/backups.html:41 +msgid "Upload and Restore" +msgstr "Otpremi i Vrati" + +#: plinth/modules/backups/templates/backups.html:44 +msgid "Add a backup location" +msgstr "Dodaj rezervnu lokaciju" + +#: plinth/modules/backups/templates/backups.html:48 +msgid "Add Backup Location" +msgstr "Dodaj rezervnu lokaciju" + +#: plinth/modules/backups/templates/backups.html:51 +msgid "Add a remote backup location" +msgstr "Dodaj remote rezervnu lokaciju" + +#: plinth/modules/backups/templates/backups.html:55 +msgid "Add Remote Backup Location" +msgstr "Dodaj remote rezervnu lokaciju" + +#: plinth/modules/backups/templates/backups.html:58 +msgid "Existing Backups" +msgstr "Postojeće rezervne kopije" + +#: plinth/modules/backups/templates/backups_add_remote_repository.html:19 +#, python-format +msgid "" +"The credentials for this repository are stored on your %(box_name)s.
" +"To restore a backup on a new %(box_name)s you need the ssh credentials and, " +"if chosen, the encryption passphrase." +msgstr "" +"Kredencijali su sačuvani na %(box_name)s.
Da vratite sačuvanu kopiju " +"na %(box_name)s potreban je SSH i, ako je potrebno, lozinka za enkripciju." + +#: plinth/modules/backups/templates/backups_add_remote_repository.html:28 +msgid "Create Location" +msgstr "Kreirajte lokaciju" + +#: plinth/modules/backups/templates/backups_add_repository.html:19 +#: plinth/modules/gitweb/views.py:49 +msgid "Create Repository" +msgstr "Kreirajte repozitorij" + +#: plinth/modules/backups/templates/backups_delete.html:12 +msgid "Delete this archive permanently?" +msgstr "Obrisati arhivu trajno?" + +#: plinth/modules/backups/templates/backups_delete.html:18 +#: plinth/modules/ikiwiki/forms.py:15 +#: plinth/modules/networks/templates/connection_show.html:63 +#: plinth/modules/sharing/templates/sharing.html:37 +msgid "Name" +msgstr "Ime" + +#: plinth/modules/backups/templates/backups_delete.html:19 +msgid "Time" +msgstr "Vreme" + +#: plinth/modules/backups/templates/backups_delete.html:36 +#, python-format +msgid "Delete Archive %(name)s" +msgstr "Izbriši Arhivu %(name)s" + +#: plinth/modules/backups/templates/backups_form.html:20 +#: plinth/modules/gitweb/templates/gitweb_create_edit.html:20 +#: plinth/modules/networks/templates/internet_connectivity_type.html:18 +#: plinth/modules/networks/templates/network_topology_update.html:18 +#: plinth/modules/networks/templates/router_configuration_update.html:19 +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:28 +#: plinth/modules/sharing/templates/sharing_add_edit.html:20 +msgid "Submit" +msgstr "Pošalji" + +#: plinth/modules/backups/templates/backups_repository.html:19 +msgid "This repository is encrypted" +msgstr "Repozitorij je enkriptovan" + +#: plinth/modules/backups/templates/backups_repository.html:34 +msgid "Unmount Location" +msgstr "Unmount-uj lokaciju" + +#: plinth/modules/backups/templates/backups_repository.html:45 +msgid "Mount Location" +msgstr "Mount-uj lokaciju" + +#: plinth/modules/backups/templates/backups_repository.html:56 +msgid "Remove Backup Location. This will not delete the remote backup." +msgstr "Obriši rezervnu lokaciju. Ovo neće obrisati remote kopiju." + +#: plinth/modules/backups/templates/backups_repository.html:77 +msgid "Download" +msgstr "Preuzmi" + +#: plinth/modules/backups/templates/backups_repository.html:81 +#: plinth/modules/backups/templates/backups_restore.html:28 +#: plinth/modules/backups/views.py:154 +msgid "Restore" +msgstr "Vrati" + +#: plinth/modules/backups/templates/backups_repository.html:103 +msgid "No archives currently exist." +msgstr "Trenutno nema arhiva." + +#: plinth/modules/backups/templates/backups_repository_remove.html:13 +msgid "Are you sure that you want to remove this repository?" +msgstr "Da li ste sigurni da hoćete da uklonite ovaj repozitorij?" + +#: plinth/modules/backups/templates/backups_repository_remove.html:19 +msgid "" +"The remote repository will not be deleted. This just removes the repository " +"from the listing on the backup page, you can add it again later on." +msgstr "" +"Remote repozitorij neće biti obrisan. Uklanja se samo ovaj repo sa listinga " +"na backup strani, možete ga dodati kasnije." + +#: plinth/modules/backups/templates/backups_repository_remove.html:31 +msgid "Remove Location" +msgstr "Ukloni lokaciju" + +#: plinth/modules/backups/templates/backups_restore.html:15 +msgid "Restore data from" +msgstr "Vrati podatke sa" + +#: plinth/modules/backups/templates/backups_restore.html:32 +msgid "Restoring" +msgstr "Vraćanje podataka" + +#: plinth/modules/backups/templates/backups_upload.html:17 +#, python-format +msgid "" +"\n" +" Upload a backup file downloaded from another %(box_name)s to restore " +"its\n" +" contents. You can choose the apps you wish to restore after uploading " +"a\n" +" backup file.\n" +" " +msgstr "" +"\n" +" Otpremi rezervnu kopiju sa drugog %(box_name)s da bi povratili njen\n" +" sadržaj. Možete birati koje aplikacije želite\n" +" da vratite.\n" +" " + +#: plinth/modules/backups/templates/backups_upload.html:27 +#: plinth/modules/help/templates/statuslog.html:23 +msgid "Caution:" +msgstr "Oprez:" + +#: plinth/modules/backups/templates/backups_upload.html:28 +#, python-format +msgid "" +"You have %(max_filesize)s available to restore a backup. Exceeding this " +"limit can leave your %(box_name)s unusable." +msgstr "" +"Imate %(max_filesize)s slobodnog prostora da vratite backup. Ako odete preko " +"limita %(box_name)s postaće neispravan." + +#: plinth/modules/backups/templates/backups_upload.html:41 +msgid "Upload file" +msgstr "Otpremi fajl" + +#: plinth/modules/backups/templates/verify_ssh_hostkey.html:18 +#, python-format +msgid "" +"Could not reach SSH host %(hostname)s. Please verify that the host is up and " +"accepting connections." +msgstr "" +"Konekcija ka hostu %(hostname)s nije moguća. Proverite da li je host aktivan." + +#: plinth/modules/backups/templates/verify_ssh_hostkey.html:28 +#, python-format +msgid "" +"The authenticity of SSH host %(hostname)s could not be established. The host " +"advertises the following SSH public keys. Please verify any one of them." +msgstr "" +"Nije moguće utvrditi autentičnost hosts %(hostname)s. Host šalje sledeće SSH " +"javni ključeve. Proverite ih ponovo." + +#: plinth/modules/backups/templates/verify_ssh_hostkey.html:40 +msgid "How to verify?" +msgstr "Kako proveriti?" + +#: plinth/modules/backups/templates/verify_ssh_hostkey.html:45 +msgid "" +"Run the following command on the SSH host machine. The output should match " +"one of the provided options. You can also use dsa, ecdsa, ed25519 etc. " +"instead of rsa, by choosing the corresponding file." +msgstr "" +"Pokrenite sledeću SSH komandu na host mašini. Rezultat treba da se poklapa " +"sa datim opcijama. Može se izabratio i dsa, ecdsa, ed25519 itd, umesto rsa" + +#: plinth/modules/backups/templates/verify_ssh_hostkey.html:60 +msgid "Verify Host" +msgstr "Potvrdi host mašinu" + +#: plinth/modules/backups/views.py:55 +msgid "Archive created." +msgstr "Arhiva kreirana." + +#: plinth/modules/backups/views.py:82 +msgid "Delete Archive" +msgstr "Izbriši arhivu" + +#: plinth/modules/backups/views.py:94 +msgid "Archive deleted." +msgstr "Arhiva izbrisana." + +#: plinth/modules/backups/views.py:107 +msgid "Upload and restore a backup" +msgstr "Otpremi ili vrati rezervnu arhivsku kopiju" + +#: plinth/modules/backups/views.py:142 +msgid "Restored files from backup." +msgstr "Restorovane datoteke." + +#: plinth/modules/backups/views.py:169 +msgid "No backup file found." +msgstr "Nije pronađena rezervna datoteka." + +#: plinth/modules/backups/views.py:177 +msgid "Restore from uploaded file" +msgstr "Povrati podatke iz otpremljenog fajla" + +#: plinth/modules/backups/views.py:234 +msgid "No additional disks available to add a repository." +msgstr "Nema dodatnih hard diskova , da dodate repozitorijum." + +#: plinth/modules/backups/views.py:242 +msgid "Create backup repository" +msgstr "Kreirajte rezervni repozitorij" + +#: plinth/modules/backups/views.py:269 +msgid "Create remote backup repository" +msgstr "Kreirajte remote rezervni repozitorij" + +#: plinth/modules/backups/views.py:288 +msgid "Added new remote SSH repository." +msgstr "Novi remote SSH repozitorij dodat." + +#: plinth/modules/backups/views.py:310 +msgid "Verify SSH hostkey" +msgstr "Verifikujte SSH hostkey" + +#: plinth/modules/backups/views.py:336 +msgid "SSH host already verified." +msgstr "SSH je već verifikovan." + +#: plinth/modules/backups/views.py:346 +msgid "SSH host verified." +msgstr "SSH host je verifikovan." + +#: plinth/modules/backups/views.py:360 +msgid "SSH host public key could not be verified." +msgstr "SSH host public key nije verifikovan." + +#: plinth/modules/backups/views.py:362 +msgid "Authentication to remote server failed." +msgstr "Remote server autentifikacija je neuspešna." + +#: plinth/modules/backups/views.py:364 +msgid "Error establishing connection to server: {}" +msgstr "Greška prilikom uspostavljanja veze sa serverom: {}" + +#: plinth/modules/backups/views.py:375 +msgid "Repository removed." +msgstr "Repozitorij obrisan." + +#: plinth/modules/backups/views.py:389 +msgid "Remove Repository" +msgstr "Obriši repozitorij" + +#: plinth/modules/backups/views.py:398 +msgid "Repository removed. Backups were not deleted." +msgstr "Repzitorij obrisan. Rezervne kopije nisu izbrisane." + +#: plinth/modules/backups/views.py:408 +msgid "Unmounting failed!" +msgstr "Neuspešno unmountovanje!" + +#: plinth/modules/backups/views.py:423 plinth/modules/backups/views.py:427 +msgid "Mounting failed" +msgstr "Mountovanje neuspešno" + +#: plinth/modules/bind/__init__.py:29 +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 "" +"BIND omogućava da objavite svoj DNS internetu, i resolvujete DNS kverije za " +"uređaje u svojoj mreži." + +#: plinth/modules/bind/__init__.py:33 +#, python-brace-format +msgid "" +"Currently, on {box_name}, BIND is only used to resolve DNS queries for other " +"machines on local network. It is also incompatible with sharing Internet " +"connection from {box_name}." +msgstr "" +"Trenutno, na {box_name}, BIND se koristi samo da resolvuje DNS kverije za " +"druge mašine na lokalnoj mreži. Nije kompatibilno sa deljenjem Internet " +"konekcije sa {box_name}." + +#: plinth/modules/bind/__init__.py:82 +msgid "BIND" +msgstr "BIND" + +#: plinth/modules/bind/__init__.py:83 +msgid "Domain Name Server" +msgstr "Domain Name Server" + +#: plinth/modules/bind/forms.py:20 +msgid "Forwarders" +msgstr "Prosleđivači" + +#: plinth/modules/bind/forms.py:21 +msgid "" +"A list DNS servers, separated by space, to which requests will be forwarded" +msgstr "Lista DNS servera, odvojena razmakom, kojima će se prosleđivati zahtevi" + +#: plinth/modules/bind/forms.py:25 +msgid "Enable DNSSEC" +msgstr "Aktiviraj DNSSEC" + +#: plinth/modules/bind/forms.py:26 +msgid "Enable Domain Name System Security Extensions" +msgstr "Aktiviraj Domain Name System Security Ekstenziju" + +#: plinth/modules/bind/templates/bind.html:11 +msgid "Serving Domains" +msgstr "Domeni" + +#: plinth/modules/bind/templates/bind.html:16 +#: plinth/modules/ikiwiki/forms.py:12 +#: plinth/modules/networks/templates/connection_show.html:83 +#: plinth/modules/storage/templates/storage.html:28 +msgid "Type" +msgstr "Tip" + +#: plinth/modules/bind/templates/bind.html:17 +msgid "Domain Names" +msgstr "Domeni" + +#: plinth/modules/bind/templates/bind.html:18 +msgid "Serving" +msgstr "Služi" + +#: plinth/modules/bind/templates/bind.html:19 +msgid "IP addresses" +msgstr "IP adrese" + +#: plinth/modules/bind/templates/bind.html:35 +#: plinth/modules/bind/templates/bind.html:37 +msgid "Refresh IP address and domains" +msgstr "" + +#: plinth/modules/bind/views.py:72 plinth/modules/deluge/views.py:42 +#: plinth/modules/dynamicdns/views.py:150 plinth/modules/openvpn/views.py:133 +#: plinth/modules/pagekite/forms.py:90 plinth/modules/quassel/views.py:30 +#: plinth/modules/shadowsocks/views.py:59 +#: plinth/modules/transmission/views.py:47 +msgid "Configuration updated" +msgstr "" + +#: plinth/modules/cockpit/__init__.py:32 +#, python-brace-format +msgid "" +"Cockpit is a server manager that makes it easy to administer GNU/Linux " +"servers via a web browser. On a {box_name}, controls are available for many " +"advanced functions that are not usually required. A web based terminal for " +"console operations is also available." +msgstr "" + +#: plinth/modules/cockpit/__init__.py:38 +#, python-brace-format +msgid "" +"It can be accessed by any user on {box_name} " +"belonging to the admin group." +msgstr "" + +#: plinth/modules/cockpit/__init__.py:42 +msgid "" +"Cockpit requires that you access it through a domain name. It will not work " +"when accessed using an IP address as part of the URL." +msgstr "" + +#: plinth/modules/cockpit/__init__.py:59 plinth/modules/cockpit/manifest.py:12 +msgid "Cockpit" +msgstr "" + +#: plinth/modules/cockpit/__init__.py:61 +msgid "Server Administration" +msgstr "" + +#: plinth/modules/cockpit/templates/cockpit.html:11 +msgid "Access" +msgstr "" + +#: plinth/modules/cockpit/templates/cockpit.html:14 +msgid "Cockpit will only work when accessed using the following URLs." +msgstr "" + +#: plinth/modules/config/__init__.py:23 +msgid "" +"Here you can set some general configuration options like hostname, domain " +"name, webserver home page etc." +msgstr "" + +#: plinth/modules/config/__init__.py:52 +msgid "General Configuration" +msgstr "" + +#: plinth/modules/config/__init__.py:57 plinth/modules/dynamicdns/views.py:29 +#: plinth/modules/names/templates/names.html:29 +#: plinth/modules/names/templates/names.html:43 +#: plinth/modules/snapshot/views.py:26 +#: plinth/modules/tahoe/templates/tahoe-pre-setup.html:24 +msgid "Configure" +msgstr "" + +#: plinth/modules/config/__init__.py:61 plinth/modules/config/forms.py:61 +#: plinth/modules/dynamicdns/forms.py:95 +msgid "Domain Name" +msgstr "" + +#: plinth/modules/config/forms.py:27 plinth/modules/config/forms.py:73 +#: plinth/modules/dynamicdns/forms.py:98 +msgid "Invalid domain name" +msgstr "" + +#: plinth/modules/config/forms.py:35 +msgid "Apache Default" +msgstr "" + +#: plinth/modules/config/forms.py:36 +msgid "FreedomBox Service (Plinth)" +msgstr "" + +#: plinth/modules/config/forms.py:48 +msgid "Hostname" +msgstr "" + +#: plinth/modules/config/forms.py:50 +#, python-brace-format +msgid "" +"Hostname is the local name by which other devices on the local network can " +"reach your {box_name}. It must start and end with an alphabet or a digit " +"and have as interior characters only alphabets, digits and hyphens. Total " +"length must be 63 characters or less." +msgstr "" + +#: plinth/modules/config/forms.py:57 +msgid "Invalid hostname" +msgstr "" + +#: plinth/modules/config/forms.py:63 +#, python-brace-format +msgid "" +"Domain name is the global name by which other devices on the Internet can " +"reach your {box_name}. It must consist of labels separated by dots. Each " +"label must start and end with an alphabet or a digit and have as interior " +"characters only alphabets, digits and hyphens. Length of each label must be " +"63 characters or less. Total length of domain name must be 253 characters " +"or less." +msgstr "" + +#: plinth/modules/config/forms.py:78 +msgid "Webserver Home Page" +msgstr "" + +#: plinth/modules/config/forms.py:80 +#, python-brace-format +msgid "" +"Choose the default page that must be served when someone visits your " +"{box_name} on the web. A typical use case is to set your blog or wiki as the " +"home page when someone visits the domain name. Note that once the home page " +"is set to something other than {box_name} Service (Plinth), your users must " +"explicitly type /plinth or /freedombox to reach {box_name} Service (Plinth)." +msgstr "" + +#: plinth/modules/config/forms.py:91 +msgid "Show advanced apps and features" +msgstr "" + +#: plinth/modules/config/forms.py:92 +msgid "Show apps and features that require more technical knowledge." +msgstr "" + +#: plinth/modules/config/views.py:46 +#, python-brace-format +msgid "Error setting hostname: {exception}" +msgstr "" + +#: plinth/modules/config/views.py:49 +msgid "Hostname set" +msgstr "" + +#: plinth/modules/config/views.py:58 +#, python-brace-format +msgid "Error setting domain name: {exception}" +msgstr "" + +#: plinth/modules/config/views.py:61 +msgid "Domain name set" +msgstr "" + +#: plinth/modules/config/views.py:69 +#, python-brace-format +msgid "Error setting webserver home page: {exception}" +msgstr "" + +#: plinth/modules/config/views.py:72 +msgid "Webserver home page set" +msgstr "" + +#: plinth/modules/config/views.py:80 +#, python-brace-format +msgid "Error changing advanced mode: {exception}" +msgstr "" + +#: plinth/modules/config/views.py:85 +msgid "Showing advanced apps and features" +msgstr "" + +#: plinth/modules/config/views.py:88 +msgid "Hiding advanced apps and features" +msgstr "" + +#: plinth/modules/coquelicot/__init__.py:24 +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:27 +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 " +"in the form that will appear below after installation. The default upload " +"password is \"test\"." +msgstr "" + +#: plinth/modules/coquelicot/__init__.py:45 +msgid "Coquelicot" +msgstr "" + +#: plinth/modules/coquelicot/__init__.py:47 plinth/modules/samba/__init__.py:63 +msgid "File Sharing" +msgstr "" + +#: plinth/modules/coquelicot/forms.py:13 +msgid "Upload Password" +msgstr "" + +#: plinth/modules/coquelicot/forms.py:14 +msgid "" +"Set a new upload password for Coquelicot. Leave this field blank to keep the " +"current password." +msgstr "" + +#: plinth/modules/coquelicot/forms.py:18 +msgid "Maximum File Size (in MiB)" +msgstr "" + +#: plinth/modules/coquelicot/forms.py:19 +msgid "Set the maximum size of the files that can be uploaded to Coquelicot." +msgstr "" + +#: plinth/modules/coquelicot/manifest.py:9 +msgid "coquelicot" +msgstr "" + +#: plinth/modules/coquelicot/views.py:36 +msgid "Upload password updated" +msgstr "" + +#: plinth/modules/coquelicot/views.py:39 +msgid "Failed to update upload password" +msgstr "" + +#: plinth/modules/coquelicot/views.py:47 +msgid "Maximum file size updated" +msgstr "" + +#: plinth/modules/coquelicot/views.py:50 +msgid "Failed to update maximum file size" +msgstr "" + +#: plinth/modules/datetime/__init__.py:25 +msgid "" +"Network time server is a program that maintains the system time in " +"synchronization with servers on the Internet." +msgstr "" + +#: plinth/modules/datetime/__init__.py:42 +msgid "Date & Time" +msgstr "" + +#: plinth/modules/datetime/__init__.py:85 +msgid "Time synchronized to NTP server" +msgstr "" + +#: plinth/modules/datetime/forms.py:18 +msgid "Time Zone" +msgstr "" + +#: plinth/modules/datetime/forms.py:19 +msgid "" +"Set your time zone to get accurate timestamps. This will set the system-wide " +"time zone." +msgstr "" + +#: plinth/modules/datetime/forms.py:30 +msgid "-- no time zone set --" +msgstr "" + +#: plinth/modules/datetime/views.py:45 +#, python-brace-format +msgid "Error setting time zone: {exception}" +msgstr "" + +#: plinth/modules/datetime/views.py:48 +msgid "Time zone set" +msgstr "" + +#: plinth/modules/deluge/__init__.py:26 +msgid "Deluge is a BitTorrent client that features a Web UI." +msgstr "" + +#: plinth/modules/deluge/__init__.py:27 +msgid "" +"The default password is 'deluge', but you should log in and change it " +"immediately after enabling this service." +msgstr "" + +#: plinth/modules/deluge/__init__.py:46 +#: plinth/modules/transmission/__init__.py:48 +msgid "Download files using BitTorrent applications" +msgstr "" + +#: plinth/modules/deluge/__init__.py:50 plinth/modules/deluge/manifest.py:9 +msgid "Deluge" +msgstr "" + +#: plinth/modules/deluge/__init__.py:51 +#: plinth/modules/transmission/__init__.py:53 +msgid "BitTorrent Web Client" +msgstr "" + +#: plinth/modules/deluge/forms.py:20 plinth/modules/transmission/forms.py:21 +msgid "Download directory" +msgstr "" + +#: plinth/modules/deluge/manifest.py:10 +msgid "Bittorrent client written in Python/PyGTK" +msgstr "" + +#: plinth/modules/diagnostics/__init__.py:24 +msgid "" +"The system diagnostic test will run a number of checks on your system to " +"confirm that applications and services are working as expected." +msgstr "" + +#: plinth/modules/diagnostics/__init__.py:48 +msgid "Diagnostics" +msgstr "" + +#: plinth/modules/diagnostics/templates/diagnostics.html:28 +#: plinth/modules/diagnostics/templates/diagnostics_button.html:13 +#: plinth/modules/diagnostics/templates/diagnostics_button.html:16 +msgid "Run Diagnostics" +msgstr "" + +#: plinth/modules/diagnostics/templates/diagnostics.html:31 +msgid "Diagnostics test is currently running" +msgstr "" + +#: plinth/modules/diagnostics/templates/diagnostics.html:44 +msgid "Results" +msgstr "" + +#: plinth/modules/diagnostics/templates/diagnostics.html:52 +#: plinth/modules/diagnostics/templates/diagnostics_app.html:12 +#, python-format +msgid "App: %(app_id)s" +msgstr "" + +#: plinth/modules/diagnostics/templates/diagnostics_app.html:10 +msgid "Diagnostic Results" +msgstr "" + +#: plinth/modules/diagnostics/templates/diagnostics_app.html:17 +msgid "This app does not support diagnostics" +msgstr "" + +#: plinth/modules/diagnostics/templates/diagnostics_results.html:10 +msgid "Test" +msgstr "" + +#: plinth/modules/diagnostics/templates/diagnostics_results.html:11 +msgid "Result" +msgstr "" + +#: plinth/modules/diagnostics/views.py:37 +msgid "Diagnostic Test" +msgstr "" + +#: plinth/modules/diaspora/__init__.py:45 +msgid "" +"diaspora* is a decentralized social network where you can store and control " +"your own data." +msgstr "" + +#: plinth/modules/diaspora/__init__.py:69 +#: plinth/modules/diaspora/manifest.py:23 +msgid "diaspora*" +msgstr "" + +#: plinth/modules/diaspora/__init__.py:70 +msgid "Federated Social Network" +msgstr "" + +#: plinth/modules/diaspora/forms.py:13 +msgid "Enable new user registrations" +msgstr "" + +#: plinth/modules/diaspora/manifest.py:11 +msgid "dandelion*" +msgstr "" + +#: plinth/modules/diaspora/manifest.py:13 +msgid "" +"It is an unofficial webview based client for the community-run, distributed " +"social network diaspora*" +msgstr "" + +#: plinth/modules/diaspora/templates/diaspora-post-setup.html:16 +#, python-format +msgid "" +"The diaspora* pod domain is set to %(domain_name)s. User IDs will " +"look like username@diaspora.%(domain_name)s
If the FreedomBox " +"domain name is changed, all data of the users registered with the previous " +"podname wouldn't be accessible.
You can access the diaspora* pod at diaspora.%(domain_name)s " +msgstr "" + +#: plinth/modules/diaspora/templates/diaspora-pre-setup.html:43 +#: plinth/modules/dynamicdns/templates/dynamicdns_configure.html:25 +#: plinth/modules/ikiwiki/templates/ikiwiki_create.html:18 +#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:47 +#: plinth/modules/snapshot/templates/snapshot.html:15 +#: plinth/modules/tahoe/templates/tahoe-pre-setup.html:43 +#: plinth/templates/app.html:54 +msgid "Update setup" +msgstr "" + +#: plinth/modules/diaspora/views.py:74 +msgid "User registrations enabled" +msgstr "" + +#: plinth/modules/diaspora/views.py:78 +msgid "User registrations disabled" +msgstr "" + +#: plinth/modules/dynamicdns/__init__.py:28 +#, python-brace-format +msgid "" +"If your Internet provider changes your IP address periodically (i.e. every " +"24h), it may be hard for others to find you on the Internet. This will " +"prevent others from finding services which are provided by this {box_name}." +msgstr "" + +#: plinth/modules/dynamicdns/__init__.py:32 +msgid "" +"The solution is to assign a DNS name to your IP address and update the DNS " +"name every time your IP is changed by your Internet provider. Dynamic DNS " +"allows you to push your current public IP address to a GnuDIP server. Afterwards, " +"the server will assign your DNS name to the new IP, and if someone from the " +"Internet asks for your DNS name, they will get a response with your current " +"IP address." +msgstr "" + +#: plinth/modules/dynamicdns/__init__.py:55 +msgid "Dynamic DNS Client" +msgstr "" + +#: plinth/modules/dynamicdns/__init__.py:65 +msgid "Dynamic Domain Name" +msgstr "" + +#: plinth/modules/dynamicdns/forms.py:27 +msgid "" +"The Variables <User>, <Pass>, <Ip>, <Domain> may be " +"used within the URL. For details see the update URL templates of the example " +"providers." +msgstr "" + +#: plinth/modules/dynamicdns/forms.py:31 +msgid "" +"Please choose an update protocol according to your provider. If your " +"provider does not support the GnuDIP protocol or your provider is not listed " +"you may use the update URL of your provider." +msgstr "" + +#: plinth/modules/dynamicdns/forms.py:36 +msgid "" +"Please do not enter a URL here (like \"https://example.com/\") but only the " +"hostname of the GnuDIP server (like \"example.com\")." +msgstr "" + +#: plinth/modules/dynamicdns/forms.py:40 +#, python-brace-format +msgid "The public domain name you want to use to reach your {box_name}." +msgstr "" + +#: plinth/modules/dynamicdns/forms.py:43 +msgid "Use this option if your provider uses self signed certificates." +msgstr "" + +#: plinth/modules/dynamicdns/forms.py:46 +msgid "" +"If this option is selected, your username and password will be used for HTTP " +"basic authentication." +msgstr "" + +#: plinth/modules/dynamicdns/forms.py:49 +msgid "Leave this field empty if you want to keep your current password." +msgstr "" + +#: plinth/modules/dynamicdns/forms.py:52 +#, python-brace-format +msgid "" +"Optional Value. If your {box_name} is not connected directly to the Internet " +"(i.e. connected to a NAT router) this URL is used to determine the real IP " +"address. The URL should simply return the IP where the client comes from " +"(example: http://myip.datasystems24.de)." +msgstr "" + +#: plinth/modules/dynamicdns/forms.py:60 +msgid "The username that was used when the account was created." +msgstr "" + +#: plinth/modules/dynamicdns/forms.py:68 +msgid "Enable Dynamic DNS" +msgstr "" + +#: plinth/modules/dynamicdns/forms.py:71 +msgid "Service Type" +msgstr "" + +#: plinth/modules/dynamicdns/forms.py:76 +msgid "GnuDIP Server Address" +msgstr "" + +#: plinth/modules/dynamicdns/forms.py:79 +msgid "Invalid server name" +msgstr "" + +#: plinth/modules/dynamicdns/forms.py:82 +msgid "Update URL" +msgstr "" + +#: plinth/modules/dynamicdns/forms.py:87 +msgid "Accept all SSL certificates" +msgstr "" + +#: plinth/modules/dynamicdns/forms.py:91 +msgid "Use HTTP basic authentication" +msgstr "" + +#: plinth/modules/dynamicdns/forms.py:101 plinth/modules/networks/forms.py:199 +msgid "Username" +msgstr "" + +#: plinth/modules/dynamicdns/forms.py:104 plinth/modules/networks/forms.py:200 +#: plinth/modules/shadowsocks/forms.py:44 +msgid "Password" +msgstr "" + +#: plinth/modules/dynamicdns/forms.py:108 plinth/modules/networks/forms.py:202 +msgid "Show password" +msgstr "" + +#: plinth/modules/dynamicdns/forms.py:112 +msgid "URL to look up public IP" +msgstr "" + +#: plinth/modules/dynamicdns/forms.py:136 +msgid "Please provide an update URL or a GnuDIP server address" +msgstr "" + +#: plinth/modules/dynamicdns/forms.py:141 +msgid "Please provide a GnuDIP username" +msgstr "" + +#: plinth/modules/dynamicdns/forms.py:145 +msgid "Please provide a GnuDIP domain name" +msgstr "" + +#: plinth/modules/dynamicdns/forms.py:150 +msgid "Please provide a password" +msgstr "" + +#: plinth/modules/dynamicdns/templates/dynamicdns.html:12 +msgid "" +"If you are looking for a free dynamic DNS account, you may find a free " +"GnuDIP service at gnudip.datasystems24.net or you may find free update URL " +"based services at " +"freedns.afraid.org." +msgstr "" + +#: plinth/modules/dynamicdns/templates/dynamicdns.html:23 +#, python-format +msgid "" +"If your %(box_name)s is connected behind a NAT router, don't forget to add " +"port forwarding for standard ports, including TCP port 80 (HTTP) and TCP " +"port 443 (HTTPS)." +msgstr "" + +#: plinth/modules/dynamicdns/templates/dynamicdns_configure.html:15 +msgid "" +"You have disabled Javascript. Dynamic form mode is disabled and some helper " +"functions may not work (but the main functionality should work)." +msgstr "" + +#: plinth/modules/dynamicdns/templates/dynamicdns_status.html:9 +msgid "NAT type" +msgstr "" + +#: plinth/modules/dynamicdns/templates/dynamicdns_status.html:13 +msgid "" +"NAT type was not detected yet. If you do not provide an \"IP Check URL\", we " +"will not detect a NAT type." +msgstr "" + +#: plinth/modules/dynamicdns/templates/dynamicdns_status.html:19 +msgid "Direct connection to the Internet." +msgstr "" + +#: plinth/modules/dynamicdns/templates/dynamicdns_status.html:21 +#, python-format +msgid "" +"Behind NAT. This means that Dynamic DNS service will poll the \"URL to look " +"up public IP\" for changes (the \"URL to look up public IP\" entry is needed " +"for this, otherwise IP changes will not be detected). In case the WAN IP " +"changes, it may take up to %(timer)s minutes until your DNS entry is updated." +msgstr "" + +#: plinth/modules/dynamicdns/templates/dynamicdns_status.html:33 +msgid "Last update" +msgstr "" + +#: plinth/modules/dynamicdns/views.py:26 plinth/modules/help/__init__.py:51 +#: plinth/templates/help-menu.html:46 plinth/templates/help-menu.html:47 +msgid "About" +msgstr "" + +#: plinth/modules/dynamicdns/views.py:32 +#: plinth/modules/firewall/templates/firewall.html:10 +#: plinth/modules/firewall/templates/firewall.html:30 +#: plinth/modules/letsencrypt/templates/letsencrypt.html:23 +#: plinth/modules/networks/templates/connection_show.html:246 +#: plinth/modules/openvpn/templates/openvpn.html:24 +#: plinth/modules/openvpn/templates/openvpn.html:45 +#: plinth/modules/tor/templates/tor.html:22 +#: plinth/modules/tor/templates/tor.html:36 +#: plinth/modules/wireguard/templates/wireguard_show_client.html:46 +#: plinth/modules/wireguard/templates/wireguard_show_server.html:45 +msgid "Status" +msgstr "" + +#: plinth/modules/dynamicdns/views.py:62 +msgid "Configure Dynamic DNS" +msgstr "" + +#: plinth/modules/dynamicdns/views.py:86 +msgid "Dynamic DNS Status" +msgstr "" + +#: plinth/modules/ejabberd/__init__.py:37 +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:40 +#, python-brace-format +msgid "" +"To actually communicate, you can use the web client or any other XMPP client. When enabled, ejabberd can be accessed by " +"any user with a {box_name} login." +msgstr "" + +#: plinth/modules/ejabberd/__init__.py:69 +msgid "ejabberd" +msgstr "" + +#: plinth/modules/ejabberd/__init__.py:70 +#: plinth/modules/matrixsynapse/__init__.py:68 +msgid "Chat Server" +msgstr "" + +#: plinth/modules/ejabberd/forms.py:16 +msgid "Enable Message Archive Management" +msgstr "" + +#: plinth/modules/ejabberd/forms.py:18 +#, python-brace-format +msgid "" +"If enabled, your {box_name} will store chat message histories. This allows " +"synchronization of conversations between multiple clients, and reading the " +"history of a multi-user chat room. It depends on the client settings whether " +"the histories are stored as plain text or encrypted." +msgstr "" + +#: plinth/modules/ejabberd/manifest.py:11 +msgid "Conversations" +msgstr "" + +#: plinth/modules/ejabberd/manifest.py:25 +msgid "Xabber" +msgstr "" + +#: plinth/modules/ejabberd/manifest.py:27 +msgid "" +"Open source Jabber (XMPP) client with multi-account support and clean and " +"simple interface. " +msgstr "" + +#: plinth/modules/ejabberd/manifest.py:42 +msgid "Yaxim" +msgstr "" + +#: plinth/modules/ejabberd/manifest.py:56 +msgid "ChatSecure" +msgstr "" + +#: plinth/modules/ejabberd/manifest.py:58 +msgid "" +"ChatSecure is a free and open source messaging app that features OTR " +"encryption over XMPP. You can connect to an existing Google account, create " +"new accounts on public XMPP servers (including via Tor), or even connect to " +"your own server for extra security." +msgstr "" + +#: plinth/modules/ejabberd/manifest.py:74 +msgid "Dino" +msgstr "" + +#: plinth/modules/ejabberd/manifest.py:86 +msgid "Gajim" +msgstr "" + +#: plinth/modules/ejabberd/templates/ejabberd.html:18 +#, python-format +msgid "" +"Your XMPP server domain is set to %(domainname)s. User IDs will look " +"like username@%(domainname)s. You can setup your domain on the system " +"Configure page." +msgstr "" + +#: plinth/modules/ejabberd/views.py:45 +msgid "Message Archive Management enabled" +msgstr "" + +#: plinth/modules/ejabberd/views.py:49 +msgid "Message Archive Management disabled" +msgstr "" + +#: plinth/modules/firewall/__init__.py:32 +#, python-brace-format +msgid "" +"Firewall is a security system that controls the incoming and outgoing " +"network traffic on your {box_name}. Keeping a firewall enabled and properly " +"configured reduces risk of security threat from the Internet." +msgstr "" + +#: plinth/modules/firewall/__init__.py:65 +msgid "Firewall" +msgstr "" + +#: plinth/modules/firewall/components.py:118 +#, python-brace-format +msgid "Port {name} ({details}) available for internal networks" +msgstr "" + +#: plinth/modules/firewall/components.py:126 +#, python-brace-format +msgid "Port {name} ({details}) available for external networks" +msgstr "" + +#: plinth/modules/firewall/components.py:131 +#, python-brace-format +msgid "Port {name} ({details}) unavailable for external networks" +msgstr "" + +#: plinth/modules/firewall/templates/firewall.html:15 +#, python-format +msgid "" +"Firewall daemon is not running. Please run it. Firewall comes enabled by " +"default on %(box_name)s. On any Debian based system (such as %(box_name)s) " +"you may run it using the command 'service firewalld start' or in case of a " +"system with systemd 'systemctl start firewalld'." +msgstr "" + +#: plinth/modules/firewall/templates/firewall.html:28 +msgid "Show Ports" +msgstr "" + +#: plinth/modules/firewall/templates/firewall.html:29 +msgid "Service/Port" +msgstr "" + +#: plinth/modules/firewall/templates/firewall.html:48 +#: plinth/modules/letsencrypt/templates/letsencrypt.html:74 +msgid "Enabled" +msgstr "" + +#: plinth/modules/firewall/templates/firewall.html:51 +#: plinth/modules/letsencrypt/templates/letsencrypt.html:76 +#: plinth/modules/networks/forms.py:47 plinth/templates/cards.html:34 +msgid "Disabled" +msgstr "" + +#: plinth/modules/firewall/templates/firewall.html:67 +msgid "Permitted" +msgstr "" + +#: plinth/modules/firewall/templates/firewall.html:70 +msgid "Permitted (internal only)" +msgstr "" + +#: plinth/modules/firewall/templates/firewall.html:73 +msgid "Permitted (external only)" +msgstr "" + +#: plinth/modules/firewall/templates/firewall.html:76 +msgid "Blocked" +msgstr "" + +#: plinth/modules/firewall/templates/firewall.html:88 +msgid "" +"The operation of the firewall is automatic. When you enable a service it is " +"also permitted in the firewall and when you disable a service it is also " +"disabled in the firewall." +msgstr "" + +#: plinth/modules/first_boot/forms.py:14 +#, python-brace-format +msgid "" +"Enter the secret generated during FreedomBox installation. This secret can " +"also be obtained by running the command \"sudo cat /var/lib/plinth/firstboot-" +"wizard-secret\" on your {box_name}" +msgstr "" + +#: plinth/modules/first_boot/forms.py:19 +msgid "Firstboot Wizard Secret" +msgstr "" + +#: plinth/modules/first_boot/templates/firstboot_complete.html:11 +msgid "Setup Complete!" +msgstr "" + +#: plinth/modules/first_boot/templates/firstboot_complete.html:14 +#, python-format +msgid "Without any apps, your %(box_name)s cannot do very much." +msgstr "" + +#: plinth/modules/first_boot/templates/firstboot_complete.html:21 +msgid "Install Apps" +msgstr "" + +#: plinth/modules/first_boot/templates/firstboot_complete.html:27 +#, python-format +msgid "" +"You may want to check the network setup and " +"modify it if necessary." +msgstr "" + +#: plinth/modules/first_boot/templates/firstboot_welcome.html:37 +msgid "Start Setup" +msgstr "" + +#: plinth/modules/first_boot/views.py:49 +msgid "Setup Complete" +msgstr "" + +#: plinth/modules/gitweb/__init__.py:28 +msgid "" +"Git is a distributed version-control system for tracking changes in source " +"code during software development. Gitweb provides a web interface to Git " +"repositories. You can browse history and content of source code, use search " +"to find relevant commits and code. You can also clone repositories and " +"upload code changes with a command-line Git client or with multiple " +"available graphical clients. And you can share your code with people around " +"the world." +msgstr "" + +#: plinth/modules/gitweb/__init__.py:35 +msgid "" +"To learn more on how to use Git visit Git tutorial." +msgstr "" + +#: plinth/modules/gitweb/__init__.py:51 +msgid "Read-write access to Git repositories" +msgstr "" + +#: plinth/modules/gitweb/__init__.py:56 plinth/modules/gitweb/manifest.py:13 +msgid "Gitweb" +msgstr "" + +#: plinth/modules/gitweb/__init__.py:57 +msgid "Simple Git Hosting" +msgstr "" + +#: plinth/modules/gitweb/forms.py:44 +msgid "Invalid repository URL." +msgstr "" + +#: plinth/modules/gitweb/forms.py:54 +msgid "Invalid repository name." +msgstr "" + +#: plinth/modules/gitweb/forms.py:62 +msgid "Name of a new repository or URL to import an existing repository." +msgstr "" + +#: plinth/modules/gitweb/forms.py:68 +msgid "Description of the repository" +msgstr "" + +#: plinth/modules/gitweb/forms.py:69 plinth/modules/gitweb/forms.py:73 +msgid "Optional, for displaying on Gitweb." +msgstr "" + +#: plinth/modules/gitweb/forms.py:71 +msgid "Repository's owner name" +msgstr "" + +#: plinth/modules/gitweb/forms.py:76 +msgid "Private repository" +msgstr "" + +#: plinth/modules/gitweb/forms.py:77 +msgid "Allow only authorized users to access this repository." +msgstr "" + +#: plinth/modules/gitweb/forms.py:98 plinth/modules/gitweb/forms.py:130 +msgid "A repository with this name already exists." +msgstr "" + +#: plinth/modules/gitweb/forms.py:111 +msgid "Name of the repository" +msgstr "" + +#: plinth/modules/gitweb/forms.py:115 +msgid "An alpha-numeric string that uniquely identifies a repository." +msgstr "" + +#: plinth/modules/gitweb/manifest.py:21 +msgid "Git" +msgstr "" + +#: plinth/modules/gitweb/templates/gitweb_configure.html:31 +msgid "Manage Repositories" +msgstr "" + +#: plinth/modules/gitweb/templates/gitweb_configure.html:35 +#: plinth/modules/gitweb/templates/gitweb_configure.html:37 +msgid "Create repository" +msgstr "" + +#: plinth/modules/gitweb/templates/gitweb_configure.html:44 +msgid "No repositories available." +msgstr "" + +#: plinth/modules/gitweb/templates/gitweb_configure.html:52 +#, python-format +msgid "Delete repository %(repo.name)s" +msgstr "" + +#: plinth/modules/gitweb/templates/gitweb_configure.html:68 +msgid "Cloning..." +msgstr "" + +#: plinth/modules/gitweb/templates/gitweb_configure.html:74 +#, python-format +msgid "Go to repository %(repo.name)s" +msgstr "" + +#: plinth/modules/gitweb/templates/gitweb_delete.html:12 +#, python-format +msgid "Delete Git Repository %(name)s" +msgstr "" + +#: plinth/modules/gitweb/templates/gitweb_delete.html:18 +msgid "Delete this repository permanently?" +msgstr "" + +#: plinth/modules/gitweb/templates/gitweb_delete.html:27 +#: plinth/modules/ikiwiki/templates/ikiwiki_delete.html:29 +#, python-format +msgid "Delete %(name)s" +msgstr "" + +#: plinth/modules/gitweb/views.py:44 +msgid "Repository created." +msgstr "" + +#: plinth/modules/gitweb/views.py:66 +msgid "An error occurred while creating the repository." +msgstr "" + +#: plinth/modules/gitweb/views.py:79 +msgid "Repository edited." +msgstr "" + +#: plinth/modules/gitweb/views.py:84 +msgid "Edit repository" +msgstr "" + +#: plinth/modules/gitweb/views.py:112 plinth/modules/searx/views.py:41 +#: plinth/modules/searx/views.py:52 plinth/modules/tor/views.py:158 +msgid "An error occurred during configuration." +msgstr "" + +#: plinth/modules/gitweb/views.py:133 +#, python-brace-format +msgid "{name} deleted." +msgstr "" + +#: plinth/modules/gitweb/views.py:137 +#, python-brace-format +msgid "Could not delete {name}: {error}" +msgstr "" + +#: plinth/modules/help/__init__.py:32 +msgid "Documentation" +msgstr "" + +#: plinth/modules/help/__init__.py:35 plinth/modules/networks/forms.py:47 +#: plinth/modules/networks/forms.py:77 plinth/templates/help-menu.html:20 +#: plinth/templates/help-menu.html:21 plinth/templates/index.html:128 +msgid "Manual" +msgstr "" + +#: plinth/modules/help/__init__.py:39 +#: plinth/modules/help/templates/help_support.html:9 +#: plinth/modules/help/views.py:43 plinth/templates/help-menu.html:27 +#: plinth/templates/help-menu.html:28 +msgid "Get Support" +msgstr "" + +#: plinth/modules/help/__init__.py:43 +#: plinth/modules/help/templates/help_feedback.html:9 +#: plinth/modules/help/views.py:37 plinth/templates/help-menu.html:33 +#: plinth/templates/help-menu.html:34 +msgid "Submit Feedback" +msgstr "" + +#: plinth/modules/help/__init__.py:47 +#: plinth/modules/help/templates/help_contribute.html:9 +#: plinth/modules/help/views.py:31 plinth/templates/help-menu.html:39 +#: plinth/templates/help-menu.html:40 +msgid "Contribute" +msgstr "" + +#: plinth/modules/help/templates/help_about.html:17 +#, python-format +msgid "" +"%(box_name)s is a community project to develop, design and promote personal " +"servers running free software for private, personal communications. It is a " +"networking appliance designed to allow interfacing with the rest of the " +"Internet under conditions of protected privacy and data security. It hosts " +"applications such as blog, wiki, website, social network, email, web proxy " +"and a Tor relay, on a device that can replace your Wi-Fi router, so that " +"your data stays with you." +msgstr "" + +#: plinth/modules/help/templates/help_about.html:30 +msgid "" +"We live in a world where our use of the network is mediated by those who " +"often do not have our best interests at heart. By building software that " +"does not rely on a central service, we can regain control and privacy. By " +"keeping our data in our homes, we gain useful legal protections over it. By " +"giving back power to the users over their networks and machines, we are " +"returning the Internet to its intended peer-to-peer architecture." +msgstr "" + +#: plinth/modules/help/templates/help_about.html:43 +#, python-format +msgid "" +"There are a number of projects working to realize a future of distributed " +"services; %(box_name)s aims to bring them all together in a convenient " +"package." +msgstr "" + +#: plinth/modules/help/templates/help_about.html:51 +#, python-format +msgid "" +"For more information about the %(box_name)s project, see the %(box_name)s Wiki." +msgstr "" + +#: plinth/modules/help/templates/help_about.html:60 +msgid "Learn more »" +msgstr "" + +#: plinth/modules/help/templates/help_about.html:63 +#, python-format +msgid "You are running %(os_release)s and %(box_name)s version %(version)s." +msgstr "" + +#: plinth/modules/help/templates/help_about.html:68 +#, python-format +msgid "There is a new %(box_name)s version available." +msgstr "" + +#: plinth/modules/help/templates/help_about.html:72 +#, python-format +msgid "%(box_name)s is up to date." +msgstr "" + +#: plinth/modules/help/templates/help_about.html:79 +msgid "Security Notice" +msgstr "" + +#: plinth/modules/help/templates/help_about.html:81 +msgid "" +"You are using packages from Debian backports. Please note that these " +"packages do not have security support from Debian. However, they are " +"maintained on a best-effort basis by contributors in Debian and FreedomBox " +"community." +msgstr "" + +#: plinth/modules/help/templates/help_base.html:21 +#: plinth/modules/help/templates/help_index.html:61 +#, python-format +msgid "%(box_name)s Setup" +msgstr "" + +#: plinth/modules/help/templates/help_contribute.html:12 +msgid "The FreedomBox project welcomes contributions of all kinds." +msgstr "" + +#: plinth/modules/help/templates/help_contribute.html:18 +msgid "" +"You can contribute by writing code, testing and reporting bugs, discussing " +"new use cases and applications, designing logos and artwork, providing " +"support to your fellow users, translating FreedomBox and its applications " +"into your language, hosting hackathons or install fests, and by spreading " +"the word." +msgstr "" + +#: plinth/modules/help/templates/help_contribute.html:28 +msgid "" +"You can also help the project financially by donating to the non-profit FreedomBox " +"Foundation. Founded in 2011, the FreedomBox Foundation is a non-profit " +"organization with 501(c)(3) status based in New York City that exists to " +"support FreedomBox. It provides technical infrastructure and legal services " +"for the project, pursues partnerships, and advocates for FreedomBox " +"throughout the world. The FreedomBox Foundation would not exist without its " +"supporters." +msgstr "" + +#: plinth/modules/help/templates/help_contribute.html:42 +#: plinth/modules/power/templates/power_restart.html:27 +#: plinth/modules/power/templates/power_shutdown.html:26 +#: plinth/templates/app-header.html:53 +msgid "Learn more..." +msgstr "" + +#: plinth/modules/help/templates/help_feedback.html:12 +#, python-format +msgid "Your feedback will help us improve %(box_name)s!" +msgstr "" + +#: plinth/modules/help/templates/help_feedback.html:18 +msgid "" +"Let us know about missing features, your favourite apps and how we can " +"improve them on our discussion forum." +msgstr "" + +#: plinth/modules/help/templates/help_feedback.html:26 +msgid "" +"If you find any bugs or issues, please use the issue tracker to let our developers know. To report, first check if the issue is " +"already reported and then use the \"New issue\" button." +msgstr "" + +#: plinth/modules/help/templates/help_feedback.html:36 +msgid "Thank you!" +msgstr "" + +#: plinth/modules/help/templates/help_index.html:12 +#: plinth/templates/help-menu.html:8 plinth/templates/help-menu.html:13 +msgid "Help" +msgstr "" + +#: plinth/modules/help/templates/help_index.html:16 +#, python-format +msgid "" +"The %(box_name)s Manual is the best place to " +"start for information regarding %(box_name)s." +msgstr "" + +#: plinth/modules/help/templates/help_index.html:23 +#, python-format +msgid "" +" " +"%(box_name)s project wiki contains further information." +msgstr "" + +#: plinth/modules/help/templates/help_index.html:30 +#, python-format +msgid "" +"To seek help from %(box_name)s community, queries may be posted on the mailing list. The list archives also contain information about " +"problems faced by other users and possible solutions." +msgstr "" + +#: plinth/modules/help/templates/help_index.html:40 +#, python-format +msgid "" +"Many %(box_name)s contributors and users are also available on the irc.oftc." +"net IRC network. Join and request help on the #freedombox " +"channel using the IRC web interface." +msgstr "" + +#: plinth/modules/help/templates/help_manual.html:25 +msgid "Download as PDF" +msgstr "" + +#: plinth/modules/help/templates/help_support.html:12 +#, python-format +msgid "" +"If you need help in getting something done or if you are facing problems " +"using %(box_name)s, you can ask for help from our community of users and " +"contributors." +msgstr "" + +#: plinth/modules/help/templates/help_support.html:20 +msgid "" +"Search for past discussions or post a new query on our discussion forum." +msgstr "" + +#: plinth/modules/help/templates/help_support.html:27 +msgid "" +"You can also chat with us on our IRC and Matrix channels (bridged):
    " +"
  • #freedombox on irc.oftc.net
  • #freedombox:matrix.org
" +"Or send an email to our mailing list." +msgstr "" + +#: plinth/modules/help/templates/statuslog.html:10 +msgid "Status Log" +msgstr "" + +#: plinth/modules/help/templates/statuslog.html:13 +#, python-format +msgid "" +"These are the last %(num_lines)s lines of the status log for this web " +"interface. If you want to report a bug, please use the bug tracker and attach " +"this status log to the bug report." +msgstr "" + +#: plinth/modules/help/templates/statuslog.html:24 +msgid "" +"Please remove any passwords or other personal information from the log " +"before submitting the bug report." +msgstr "" + +#: plinth/modules/help/views.py:25 +msgid "Documentation and FAQ" +msgstr "" + +#: plinth/modules/help/views.py:51 +#, python-brace-format +msgid "About {box_name}" +msgstr "" + +#: plinth/modules/help/views.py:86 +#, python-brace-format +msgid "{box_name} Manual" +msgstr "" + +#: plinth/modules/i2p/__init__.py:28 +msgid "" +"The Invisible Internet Project is an anonymous network layer intended to " +"protect communication from censorship and surveillance. I2P provides " +"anonymity by sending encrypted traffic through a volunteer-run network " +"distributed around the world." +msgstr "" + +#: plinth/modules/i2p/__init__.py:32 +msgid "" +"Find more information about I2P on their project homepage." +msgstr "" + +#: plinth/modules/i2p/__init__.py:34 +msgid "" +"The first visit to the provided web interface will initiate the " +"configuration process." +msgstr "" + +#: plinth/modules/i2p/__init__.py:62 +msgid "Manage I2P application" +msgstr "" + +#: plinth/modules/i2p/__init__.py:65 plinth/modules/i2p/manifest.py:16 +msgid "I2P" +msgstr "" + +#: plinth/modules/i2p/__init__.py:66 plinth/modules/tor/__init__.py:55 +msgid "Anonymity Network" +msgstr "" + +#: plinth/modules/i2p/__init__.py:88 +msgid "I2P Proxy" +msgstr "" + +#: plinth/modules/i2p/templates/i2p.html:12 +msgid "I2P Proxies and Tunnels" +msgstr "" + +#: plinth/modules/i2p/templates/i2p.html:21 +#: plinth/modules/i2p/templates/i2p.html:34 plinth/templates/clients.html:28 +msgid "Launch" +msgstr "" + +#: plinth/modules/i2p/templates/i2p.html:25 +msgid "Anonymous Torrents" +msgstr "" + +#: plinth/modules/i2p/views.py:16 +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:19 +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:24 +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:27 +msgid "" +"ikiwiki is a simple wiki and blog application. It supports several " +"lightweight markup languages, including Markdown, and common blogging " +"functionality such as comments and RSS feeds." +msgstr "" + +#: plinth/modules/ikiwiki/__init__.py:31 +#, python-brace-format +msgid "" +"Only {box_name} users in the admin group can create and " +"manage blogs and wikis, but any user in the wiki group can " +"edit existing ones. In the User " +"Configuration you can change these permissions or add new users." +msgstr "" + +#: plinth/modules/ikiwiki/__init__.py:52 plinth/modules/ikiwiki/manifest.py:9 +msgid "ikiwiki" +msgstr "" + +#: plinth/modules/ikiwiki/__init__.py:53 +msgid "Wiki and Blog" +msgstr "" + +#: plinth/modules/ikiwiki/__init__.py:73 +msgid "View and edit wiki applications" +msgstr "" + +#: plinth/modules/ikiwiki/forms.py:17 +msgid "Admin Account Name" +msgstr "" + +#: plinth/modules/ikiwiki/forms.py:19 +msgid "Admin Account Password" +msgstr "" + +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:12 +msgid "Manage Wikis and Blogs" +msgstr "" + +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:16 +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:18 +#: plinth/modules/ikiwiki/templates/ikiwiki_create.html:10 +msgid "Create Wiki or Blog" +msgstr "" + +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:25 +msgid "No wikis or blogs available." +msgstr "" + +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:33 +#, python-format +msgid "Delete site %(site)s" +msgstr "" + +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:40 +#, python-format +msgid "Go to site %(site)s" +msgstr "" + +#: plinth/modules/ikiwiki/templates/ikiwiki_delete.html:12 +#, python-format +msgid "Delete Wiki or Blog %(name)s" +msgstr "" + +#: plinth/modules/ikiwiki/templates/ikiwiki_delete.html:18 +msgid "" +"This action will remove all the posts, pages and comments including revision " +"history. Delete this wiki or blog permanently?" +msgstr "" + +#: plinth/modules/ikiwiki/views.py:70 +#, python-brace-format +msgid "Created wiki {name}." +msgstr "" + +#: plinth/modules/ikiwiki/views.py:73 +#, python-brace-format +msgid "Could not create wiki: {error}" +msgstr "" + +#: plinth/modules/ikiwiki/views.py:83 +#, python-brace-format +msgid "Created blog {name}." +msgstr "" + +#: plinth/modules/ikiwiki/views.py:86 +#, python-brace-format +msgid "Could not create blog: {error}" +msgstr "" + +#: plinth/modules/ikiwiki/views.py:101 +#, python-brace-format +msgid "{title} deleted." +msgstr "" + +#: plinth/modules/ikiwiki/views.py:105 +#, python-brace-format +msgid "Could not delete {title}: {error}" +msgstr "" + +#: plinth/modules/infinoted/__init__.py:25 +msgid "infinoted is a server for Gobby, a collaborative text editor." +msgstr "" + +#: plinth/modules/infinoted/__init__.py:27 +#, python-brace-format +msgid "" +"To use it, download Gobby, desktop " +"client and install it. Then start Gobby and select \"Connect to Server\" and " +"enter your {box_name}'s domain name." +msgstr "" + +#: plinth/modules/infinoted/__init__.py:47 +msgid "infinoted" +msgstr "" + +#: plinth/modules/infinoted/__init__.py:48 +msgid "Gobby Server" +msgstr "" + +#: plinth/modules/infinoted/manifest.py:12 +msgid "Gobby" +msgstr "" + +#: plinth/modules/infinoted/manifest.py:14 +msgid "Gobby is a collaborative text editor" +msgstr "" + +#: plinth/modules/infinoted/manifest.py:17 +#, python-brace-format +msgid "" +"Start Gobby and select \"Connect to Server\" and enter your {box_name}'s " +"domain name." +msgstr "" + +#: plinth/modules/jsxc/__init__.py:23 +msgid "" +"JSXC is a web client for XMPP. Typically it is used with an XMPP server " +"running locally." +msgstr "" + +#: plinth/modules/jsxc/__init__.py:43 plinth/modules/jsxc/manifest.py:10 +msgid "JSXC" +msgstr "" + +#: plinth/modules/jsxc/__init__.py:44 +msgid "Chat Client" +msgstr "" + +#: plinth/modules/jsxc/templates/jsxc_launch.html:125 +#: plinth/templates/base.html:237 +msgid "JavaScript license information" +msgstr "" + +#: plinth/modules/letsencrypt/__init__.py:35 +#, python-brace-format +msgid "" +"A digital certificate allows users of a web service to verify the identity " +"of the service and to securely communicate with it. {box_name} can " +"automatically obtain and setup digital certificates for each available " +"domain. It does so by proving itself to be the owner of a domain to Let's " +"Encrypt, a certificate authority (CA)." +msgstr "" + +#: plinth/modules/letsencrypt/__init__.py:41 +msgid "" +"Let's Encrypt is a free, automated, and open certificate authority, run for " +"the public's benefit by the Internet Security Research Group (ISRG). Please " +"read and agree with the Let's Encrypt Subscriber Agreement before using this service." +msgstr "" + +#: plinth/modules/letsencrypt/__init__.py:65 +msgid "Let's Encrypt" +msgstr "" + +#: plinth/modules/letsencrypt/__init__.py:66 +msgid "Certificates" +msgstr "" + +#: plinth/modules/letsencrypt/templates/letsencrypt.html:29 +msgid "Domain" +msgstr "" + +#: plinth/modules/letsencrypt/templates/letsencrypt.html:30 +msgid "Certificate Status" +msgstr "" + +#: plinth/modules/letsencrypt/templates/letsencrypt.html:31 +msgid "Website Security" +msgstr "" + +#: plinth/modules/letsencrypt/templates/letsencrypt.html:32 +#: plinth/modules/storage/templates/storage.html:30 +msgid "Actions" +msgstr "" + +#: plinth/modules/letsencrypt/templates/letsencrypt.html:42 +#, python-format +msgid "Valid, expires on %(expiry_date)s" +msgstr "" + +#: plinth/modules/letsencrypt/templates/letsencrypt.html:49 +msgid "Revoked" +msgstr "" + +#: plinth/modules/letsencrypt/templates/letsencrypt.html:53 +#, python-format +msgid "Expired on %(expiry_date)s" +msgstr "" + +#: plinth/modules/letsencrypt/templates/letsencrypt.html:57 +msgid "Invalid test certificate" +msgstr "" + +#: plinth/modules/letsencrypt/templates/letsencrypt.html:61 +#, python-format +msgid "Invalid (%(reason)s)" +msgstr "" + +#: plinth/modules/letsencrypt/templates/letsencrypt.html:68 +msgid "No certificate" +msgstr "" + +#: plinth/modules/letsencrypt/templates/letsencrypt.html:85 +msgid "Re-obtain" +msgstr "" + +#: plinth/modules/letsencrypt/templates/letsencrypt.html:91 +#: plinth/modules/networks/templates/connection_show.html:48 +#: plinth/modules/samba/templates/samba.html:127 +#: plinth/modules/wireguard/templates/wireguard_delete_client.html:24 +#: plinth/modules/wireguard/templates/wireguard_delete_server.html:33 +#: plinth/modules/wireguard/templates/wireguard_show_client.html:73 +#: plinth/modules/wireguard/templates/wireguard_show_server.html:74 +msgid "Delete" +msgstr "" + +#: plinth/modules/letsencrypt/templates/letsencrypt.html:98 +msgid "Revoke" +msgstr "" + +#: plinth/modules/letsencrypt/templates/letsencrypt.html:106 +msgid "Obtain" +msgstr "" + +#: plinth/modules/letsencrypt/templates/letsencrypt.html:117 +#, python-format +msgid "" +"No domains have been configured. Configure " +"domains to be able to obtain certificates for them." +msgstr "" + +#: plinth/modules/letsencrypt/views.py:41 +#, python-brace-format +msgid "" +"Certificate successfully revoked for domain {domain}.This may take a few " +"moments to take effect." +msgstr "" + +#: plinth/modules/letsencrypt/views.py:47 +#, python-brace-format +msgid "Failed to revoke certificate for domain {domain}: {error}" +msgstr "" + +#: plinth/modules/letsencrypt/views.py:60 +#: plinth/modules/letsencrypt/views.py:77 +#, python-brace-format +msgid "Certificate successfully obtained for domain {domain}" +msgstr "" + +#: plinth/modules/letsencrypt/views.py:65 +#: plinth/modules/letsencrypt/views.py:82 +#, python-brace-format +msgid "Failed to obtain certificate for domain {domain}: {error}" +msgstr "" + +#: plinth/modules/letsencrypt/views.py:94 +#, python-brace-format +msgid "Certificate successfully deleted for domain {domain}" +msgstr "" + +#: plinth/modules/letsencrypt/views.py:99 +#, python-brace-format +msgid "Failed to delete certificate for domain {domain}: {error}" +msgstr "" + +#: plinth/modules/matrixsynapse/__init__.py:34 +msgid "" +"Matrix is an new " +"ecosystem for open, federated instant messaging and VoIP. Synapse is a " +"server implementing the Matrix protocol. It provides chat groups, audio/" +"video calls, end-to-end encryption, multiple device synchronization and does " +"not require phone numbers to work. Users on a given Matrix server can " +"converse with users on all other Matrix servers via federation." +msgstr "" + +#: plinth/modules/matrixsynapse/__init__.py:41 +msgid "" +"To communicate, you can use the available clients for mobile, desktop and the web. Riot client is recommended." +msgstr "" + +#: plinth/modules/matrixsynapse/__init__.py:66 +msgid "Matrix Synapse" +msgstr "" + +#: plinth/modules/matrixsynapse/forms.py:12 +msgid "Enable Public Registration" +msgstr "" + +#: plinth/modules/matrixsynapse/forms.py:13 +msgid "" +"Enabling public registration means that anyone on the Internet can register " +"a new account on your Matrix server. Disable this if you only want existing " +"users to be able to use it." +msgstr "" + +#: plinth/modules/matrixsynapse/manifest.py:13 +msgid "Riot" +msgstr "" + +#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 +#: plinth/modules/snapshot/templates/snapshot.html:12 +#: plinth/templates/app.html:46 +msgid "Configuration" +msgstr "" + +#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:18 +msgid "" +"Matrix service needs to be configured for a domain. Users on other Matrix " +"servers will be able to reach users on this server using this domain name. " +"Matrix user IDs will look like @username:domainname." +msgstr "" + +#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:26 +msgid "" +"\n" +" Warning! Changing the domain name after the initial\n" +" setup is currently not supported.\n" +" " +msgstr "" + +#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:35 +#, python-format +msgid "" +"No domain(s) are available. Configure at " +"least one domain to be able to use Matrix Synapse." +msgstr "" + +#: plinth/modules/matrixsynapse/templates/matrix-synapse.html:14 +#, python-format +msgid "" +"The Matrix server domain is set to %(domain_name)s. User IDs will " +"look like @username:%(domain_name)s. Changing the domain name after " +"the initial setup is currently not supported." +msgstr "" + +#: plinth/modules/matrixsynapse/templates/matrix-synapse.html:21 +msgid "" +"New users can be registered from any client if public registration is " +"enabled." +msgstr "" + +#: plinth/modules/matrixsynapse/templates/matrix-synapse.html:30 +#, python-format +msgid "" +"The configured domain name is using a self-signed certificate. Federation " +"with other Matrix Synapse instances requires a valid TLS certificate. Please " +"go to Let's Encrypt to obtain one." +msgstr "" + +#: plinth/modules/matrixsynapse/views.py:86 +msgid "Public registration enabled" +msgstr "" + +#: plinth/modules/matrixsynapse/views.py:91 +msgid "Public registration disabled" +msgstr "" + +#: plinth/modules/mediawiki/__init__.py:26 +msgid "" +"MediaWiki is the wiki engine that powers Wikipedia and other WikiMedia " +"projects. A wiki engine is a program for creating a collaboratively edited " +"website. You can use MediaWiki to host a wiki-like website, take notes or " +"collaborate with friends on projects." +msgstr "" + +#: plinth/modules/mediawiki/__init__.py:30 +msgid "" +"This MediaWiki instance comes with a randomly generated administrator " +"password. You can set a new password in the \"Configuration\" section and " +"log in using the \"admin\" account. You can then create more user accounts " +"from MediaWiki itself by going to the Special:CreateAccount page." +msgstr "" + +#: plinth/modules/mediawiki/__init__.py:36 +msgid "" +"Anyone with a link to this wiki can read it. Only users that are logged in " +"can make changes to the content." +msgstr "" + +#: plinth/modules/mediawiki/__init__.py:54 +#: plinth/modules/mediawiki/manifest.py:9 +msgid "MediaWiki" +msgstr "" + +#: plinth/modules/mediawiki/__init__.py:55 plinth/templates/index.html:132 +msgid "Wiki" +msgstr "" + +#: plinth/modules/mediawiki/forms.py:25 +msgid "Administrator Password" +msgstr "" + +#: plinth/modules/mediawiki/forms.py:26 +msgid "" +"Set a new password for MediaWiki's administrator account (admin). Leave this " +"field blank to keep the current password." +msgstr "" + +#: plinth/modules/mediawiki/forms.py:31 +msgid "Enable public registrations" +msgstr "" + +#: plinth/modules/mediawiki/forms.py:32 +msgid "" +"If enabled, anyone on the internet will be able to create an account on your " +"MediaWiki instance." +msgstr "" + +#: plinth/modules/mediawiki/forms.py:36 +msgid "Enable private mode" +msgstr "" + +#: plinth/modules/mediawiki/forms.py:37 +msgid "" +"If enabled, access will be restricted. Only people who have accounts can " +"read/write to the wiki. Public registrations will also be disabled." +msgstr "" + +#: plinth/modules/mediawiki/forms.py:42 +msgid "Default Skin" +msgstr "" + +#: plinth/modules/mediawiki/forms.py:43 +msgid "" +"Choose a default skin for your MediaWiki installation. Users have the option " +"to select their preferred skin." +msgstr "" + +#: plinth/modules/mediawiki/views.py:48 +msgid "Password updated" +msgstr "" + +#: plinth/modules/mediawiki/views.py:57 +msgid "Public registrations enabled" +msgstr "" + +#: plinth/modules/mediawiki/views.py:66 +msgid "Public registrations disabled" +msgstr "" + +#: plinth/modules/mediawiki/views.py:71 +msgid "Private mode enabled" +msgstr "" + +#: plinth/modules/mediawiki/views.py:78 +msgid "Private mode disabled" +msgstr "" + +#: plinth/modules/mediawiki/views.py:86 +msgid "Default skin changed" +msgstr "" + +#: plinth/modules/minetest/__init__.py:38 +#, python-brace-format +msgid "" +"Minetest is a multiplayer infinite-world block sandbox. This module enables " +"the Minetest server to be run on this {box_name}, on the default port " +"(30000). To connect to the server, a Minetest client is needed." +msgstr "" + +#: plinth/modules/minetest/__init__.py:62 +#: plinth/modules/minetest/manifest.py:10 +msgid "Minetest" +msgstr "" + +#: plinth/modules/minetest/__init__.py:63 +msgid "Block Sandbox" +msgstr "" + +#: plinth/modules/minetest/forms.py:13 +msgid "Maximum number of players" +msgstr "" + +#: plinth/modules/minetest/forms.py:15 +msgid "" +"You can change the maximum number of players playing minetest at a single " +"instance of time." +msgstr "" + +#: plinth/modules/minetest/forms.py:19 +msgid "Enable creative mode" +msgstr "" + +#: plinth/modules/minetest/forms.py:20 +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:25 +msgid "Enable PVP" +msgstr "" + +#: plinth/modules/minetest/forms.py:26 +msgid "Enabling Player Vs Player will allow players to damage other players." +msgstr "" + +#: plinth/modules/minetest/forms.py:30 +msgid "Enable damage" +msgstr "" + +#: plinth/modules/minetest/forms.py:31 +msgid "When disabled, players cannot die or receive damage of any kind." +msgstr "" + +#: plinth/modules/minetest/templates/minetest.html:18 +#: plinth/modules/networks/forms.py:49 plinth/modules/networks/forms.py:79 +msgid "Address" +msgstr "" + +#: plinth/modules/minetest/templates/minetest.html:19 +#: plinth/modules/tor/templates/tor.html:81 +msgid "Port" +msgstr "" + +#: plinth/modules/minetest/views.py:49 +msgid "Maximum players configuration updated" +msgstr "" + +#: plinth/modules/minetest/views.py:56 +msgid "Creative mode configuration updated" +msgstr "" + +#: plinth/modules/minetest/views.py:62 +msgid "PVP configuration updated" +msgstr "" + +#: plinth/modules/minetest/views.py:68 +msgid "Damage configuration updated" +msgstr "" + +#: plinth/modules/minidlna/__init__.py:23 +msgid "" +"MiniDLNA is a simple media server software, with the aim of being fully " +"compliant with DLNA/UPnP-AV clients. The MiniDNLA daemon serves media files " +"(music, pictures, and video) to clients on a network. DNLA/UPnP is zero " +"configuration protocol and is compliant with any device passing the DLNA " +"Certification like portable media players, Smartphones, Televisions, and " +"gaming systems (such as PS3 and Xbox 360) or applications such as totem and " +"Kodi." +msgstr "" + +#: plinth/modules/minidlna/__init__.py:44 +msgid "Media streaming server" +msgstr "" + +#: plinth/modules/minidlna/__init__.py:48 +msgid "Simple Media Server" +msgstr "" + +#: plinth/modules/minidlna/forms.py:13 +msgid "Media Files Directory" +msgstr "" + +#: plinth/modules/minidlna/forms.py:14 +msgid "" +"Directory that MiniDLNA Server will read for content. All sub-directories of " +"this will be also scanned for media files. If you change the default ensure " +"that the new directory exists and that is readable from the \"minidlna\" " +"user. Any user media directories (\"/home/username/\") will usually work." +msgstr "" + +#: plinth/modules/minidlna/manifest.py:10 +msgid "vlc" +msgstr "" + +#: plinth/modules/minidlna/manifest.py:49 +msgid "kodi" +msgstr "" + +#: plinth/modules/minidlna/manifest.py:88 +msgid "yaacc" +msgstr "" + +#: plinth/modules/minidlna/manifest.py:99 +msgid "totem" +msgstr "" + +#: plinth/modules/minidlna/views.py:37 +msgid "Specified directory does not exist." +msgstr "" + +#: plinth/modules/minidlna/views.py:42 +msgid "Updated media directory" +msgstr "" + +#: plinth/modules/mldonkey/__init__.py:26 +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:29 +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:34 +#, python-brace-format +msgid "" +"On {box_name}, downloaded files can be found in /var/lib/mldonkey/ directory." +msgstr "" + +#: plinth/modules/mldonkey/__init__.py:50 +msgid "Download files using eDonkey applications" +msgstr "" + +#: plinth/modules/mldonkey/__init__.py:53 +#: plinth/modules/mldonkey/manifest.py:12 +msgid "MLDonkey" +msgstr "" + +#: plinth/modules/mldonkey/__init__.py:55 +msgid "Peer-to-peer File Sharing" +msgstr "" + +#: plinth/modules/mldonkey/manifest.py:19 +msgid "KMLDonkey" +msgstr "" + +#: plinth/modules/mldonkey/manifest.py:31 +msgid "AMLDonkey" +msgstr "" + +#: plinth/modules/monkeysphere/__init__.py:19 +msgid "" +"With Monkeysphere, an OpenPGP key can be generated for each configured " +"domain serving SSH. The OpenPGP public key can then be uploaded to the " +"OpenPGP keyservers. Users connecting to this machine through SSH can verify " +"that they are connecting to the correct host. For users to trust the key, " +"at least one person (usually the machine owner) must sign the key using the " +"regular OpenPGP key signing process. See the Monkeysphere SSH documentation " +"for more details." +msgstr "" + +#: plinth/modules/monkeysphere/__init__.py:27 +msgid "" +"Monkeysphere can also generate an OpenPGP key for each Secure Web Server " +"(HTTPS) certificate installed on this machine. The OpenPGP public key can " +"then be uploaded to the OpenPGP keyservers. Users accessing the web server " +"through HTTPS can verify that they are connecting to the correct host. To " +"validate the certificate, the user will need to install some software that " +"is available on the " +"Monkeysphere website." +msgstr "" + +#: plinth/modules/monkeysphere/__init__.py:49 +#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:11 +msgid "Monkeysphere" +msgstr "" + +#: plinth/modules/monkeysphere/templates/monkeysphere.html:45 +msgid "Publishing key to keyserver..." +msgstr "" + +#: plinth/modules/monkeysphere/templates/monkeysphere.html:52 +#: plinth/modules/users/templates/users_delete.html:26 +msgid "Cancel" +msgstr "" + +#: plinth/modules/monkeysphere/templates/monkeysphere.html:60 +#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:40 +#: plinth/modules/tor/templates/tor.html:80 +msgid "Service" +msgstr "" + +#: plinth/modules/monkeysphere/templates/monkeysphere.html:61 +msgid "Domains" +msgstr "" + +#: plinth/modules/monkeysphere/templates/monkeysphere.html:62 +#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:16 +msgid "OpenPGP Fingerprint" +msgstr "" + +#: plinth/modules/monkeysphere/templates/monkeysphere.html:71 +#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:43 +#: plinth/modules/names/components.py:24 +msgid "Secure Shell" +msgstr "" + +#: plinth/modules/monkeysphere/templates/monkeysphere.html:75 +#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:47 +msgid "Other" +msgstr "" + +#: plinth/modules/monkeysphere/templates/monkeysphere.html:112 +#, python-format +msgid "Show details for key %(fingerprint)s" +msgstr "" + +#: plinth/modules/monkeysphere/templates/monkeysphere.html:118 +msgid "-" +msgstr "" + +#: plinth/modules/monkeysphere/templates/monkeysphere.html:129 +msgid "Import Key" +msgstr "" + +#: plinth/modules/monkeysphere/templates/monkeysphere.html:139 +msgid "Publish Key" +msgstr "" + +#: plinth/modules/monkeysphere/templates/monkeysphere.html:149 +msgid "Add Domains" +msgstr "" + +#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:20 +msgid "OpenPGP User IDs" +msgstr "" + +#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:24 +msgid "Key Import Date" +msgstr "" + +#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:28 +msgid "SSH Key Type" +msgstr "" + +#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:32 +msgid "SSH Key Size" +msgstr "" + +#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:36 +msgid "SSH Fingerprint" +msgstr "" + +#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:52 +msgid "Key File" +msgstr "" + +#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:56 +msgid "Available Domains" +msgstr "" + +#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:60 +msgid "Added Domains" +msgstr "" + +#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:67 +msgid "" +"After this key is published to the keyservers, it can be signed using GnuPG with the following commands:" +msgstr "" + +#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:73 +msgid "Download the key" +msgstr "" + +#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:76 +msgid "Sign the key" +msgstr "" + +#: plinth/modules/monkeysphere/templates/monkeysphere_details.html:79 +msgid "Send the key back to the keyservers" +msgstr "" + +#: plinth/modules/monkeysphere/views.py:43 +msgid "Imported key." +msgstr "" + +#: plinth/modules/monkeysphere/views.py:79 +msgid "Cancelled key publishing." +msgstr "" + +#: plinth/modules/monkeysphere/views.py:130 +msgid "Published key to keyserver." +msgstr "" + +#: plinth/modules/monkeysphere/views.py:132 +msgid "Error occurred while publishing key." +msgstr "" + +#: plinth/modules/mumble/__init__.py:24 +msgid "" +"Mumble is an open source, low-latency, encrypted, high quality voice chat " +"software." +msgstr "" + +#: plinth/modules/mumble/__init__.py:26 +msgid "" +"You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your " +"desktop and Android devices are available." +msgstr "" + +#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:12 +msgid "Mumble" +msgstr "" + +#: plinth/modules/mumble/__init__.py:49 +msgid "Voice Chat" +msgstr "" + +#: plinth/modules/mumble/forms.py:14 +msgid "Set SuperUser Password" +msgstr "" + +#: plinth/modules/mumble/forms.py:17 +msgid "" +"Optional. Leave this field blank to keep the current password. SuperUser " +"password can be used to manage permissions in Mumble." +msgstr "" + +#: plinth/modules/mumble/manifest.py:37 +msgid "Plumble" +msgstr "" + +#: plinth/modules/mumble/manifest.py:51 +msgid "Mumblefly" +msgstr "" + +#: plinth/modules/mumble/views.py:29 +msgid "SuperUser password successfully updated." +msgstr "" + +#: plinth/modules/names/__init__.py:26 +#, python-brace-format +msgid "" +"Name Services provides an overview of the ways {box_name} can be reached " +"from the public Internet: domain name, Tor onion service, and Pagekite. For " +"each type of name, it is shown whether the HTTP, HTTPS, and SSH services are " +"enabled or disabled for incoming connections through the given name." +msgstr "" + +#: plinth/modules/names/__init__.py:46 +msgid "Name Services" +msgstr "" + +#: plinth/modules/names/components.py:12 +msgid "All" +msgstr "" + +#: plinth/modules/names/components.py:16 plinth/modules/names/components.py:20 +msgid "All web apps" +msgstr "" + +#: plinth/modules/networks/__init__.py:40 +msgid "" +"Configure network devices. Connect to the Internet via Ethernet, Wi-Fi or " +"PPPoE. Share that connection with other devices on the network." +msgstr "" + +#: plinth/modules/networks/__init__.py:42 +msgid "" +"Devices administered through other methods may not be available for " +"configuration here." +msgstr "" + +#: plinth/modules/networks/__init__.py:64 +msgid "Networks" +msgstr "" + +#: plinth/modules/networks/__init__.py:157 +#, python-brace-format +msgid "Using DNSSEC on IPv{kind}" +msgstr "" + +#: plinth/modules/networks/forms.py:16 +msgid "Connection Type" +msgstr "" + +#: plinth/modules/networks/forms.py:28 +msgid "Connection Name" +msgstr "" + +#: plinth/modules/networks/forms.py:30 +msgid "Network Interface" +msgstr "" + +#: plinth/modules/networks/forms.py:31 +msgid "The network device that this connection should be bound to." +msgstr "" + +#: plinth/modules/networks/forms.py:34 +msgid "Firewall Zone" +msgstr "" + +#: plinth/modules/networks/forms.py:35 +msgid "" +"The firewall zone will control which services are available over this " +"interfaces. Select Internal only for trusted networks." +msgstr "" + +#: plinth/modules/networks/forms.py:38 +#: plinth/modules/networks/templates/connections_diagram.html:63 +msgid "External" +msgstr "" + +#: plinth/modules/networks/forms.py:38 +#: plinth/modules/networks/templates/connections_diagram.html:92 +msgid "Internal" +msgstr "" + +#: plinth/modules/networks/forms.py:40 +msgid "IPv4 Addressing Method" +msgstr "" + +#: plinth/modules/networks/forms.py:41 +#, python-brace-format +msgid "" +"\"Automatic\" method will make {box_name} acquire configuration from this " +"network making it a client. \"Shared\" method will make {box_name} act as a " +"router, configure clients on this network and share its Internet connection." +msgstr "" + +#: plinth/modules/networks/forms.py:46 +msgid "Automatic (DHCP)" +msgstr "" + +#: plinth/modules/networks/forms.py:46 +msgid "Shared" +msgstr "" + +#: plinth/modules/networks/forms.py:52 +msgid "Netmask" +msgstr "" + +#: plinth/modules/networks/forms.py:53 +msgid "" +"Optional value. If left blank, a default netmask based on the address will " +"be used." +msgstr "" + +#: plinth/modules/networks/forms.py:57 plinth/modules/networks/forms.py:86 +#: plinth/modules/networks/templates/connection_show.html:187 +#: plinth/modules/networks/templates/connection_show.html:226 +msgid "Gateway" +msgstr "" + +#: plinth/modules/networks/forms.py:57 plinth/modules/networks/forms.py:86 +msgid "Optional value." +msgstr "" + +#: plinth/modules/networks/forms.py:60 plinth/modules/networks/forms.py:89 +msgid "DNS Server" +msgstr "" + +#: plinth/modules/networks/forms.py:61 +msgid "" +"Optional value. If this value is given and IPv4 addressing method is " +"\"Automatic\", the DNS Servers provided by a DHCP server will be ignored." +msgstr "" + +#: plinth/modules/networks/forms.py:66 plinth/modules/networks/forms.py:95 +msgid "Second DNS Server" +msgstr "" + +#: plinth/modules/networks/forms.py:67 +msgid "" +"Optional value. If this value is given and IPv4 Addressing Method is " +"\"Automatic\", the DNS Servers provided by a DHCP server will be ignored." +msgstr "" + +#: plinth/modules/networks/forms.py:72 +msgid "IPv6 Addressing Method" +msgstr "" + +#: plinth/modules/networks/forms.py:73 +#, python-brace-format +msgid "" +"\"Automatic\" methods will make {box_name} acquire configuration from this " +"network making it a client." +msgstr "" + +#: plinth/modules/networks/forms.py:76 plinth/modules/networks/forms.py:241 +msgid "Automatic" +msgstr "" + +#: plinth/modules/networks/forms.py:76 +msgid "Automatic, DHCP only" +msgstr "" + +#: plinth/modules/networks/forms.py:77 +msgid "Ignore" +msgstr "" + +#: plinth/modules/networks/forms.py:81 +msgid "Prefix" +msgstr "" + +#: plinth/modules/networks/forms.py:82 +msgid "Value between 1 and 128." +msgstr "" + +#: plinth/modules/networks/forms.py:90 +msgid "" +"Optional value. If this value is given and IPv6 addressing method is " +"\"Automatic\", the DNS Servers provided by a DHCP server will be ignored." +msgstr "" + +#: plinth/modules/networks/forms.py:96 +msgid "" +"Optional value. If this value is given and IPv6 Addressing Method is " +"\"Automatic\", the DNS Servers provided by a DHCP server will be ignored." +msgstr "" + +#: plinth/modules/networks/forms.py:109 +msgid "-- select --" +msgstr "" + +#: plinth/modules/networks/forms.py:234 +#: plinth/modules/networks/templates/connection_show.html:129 +msgid "SSID" +msgstr "" + +#: plinth/modules/networks/forms.py:235 +msgid "The visible name of the network." +msgstr "" + +#: plinth/modules/networks/forms.py:237 +#: plinth/modules/networks/templates/connection_show.html:142 +msgid "Mode" +msgstr "" + +#: plinth/modules/networks/forms.py:237 +msgid "Infrastructure" +msgstr "" + +#: plinth/modules/networks/forms.py:238 +msgid "Access Point" +msgstr "" + +#: plinth/modules/networks/forms.py:239 +msgid "Ad-hoc" +msgstr "" + +#: plinth/modules/networks/forms.py:241 +msgid "Frequency Band" +msgstr "" + +#: plinth/modules/networks/forms.py:242 +msgid "A (5 GHz)" +msgstr "" + +#: plinth/modules/networks/forms.py:243 +msgid "B/G (2.4 GHz)" +msgstr "" + +#: plinth/modules/networks/forms.py:245 +#: plinth/modules/networks/templates/connection_show.html:158 +msgid "Channel" +msgstr "" + +#: plinth/modules/networks/forms.py:246 +msgid "" +"Optional value. Wireless channel in the selected frequency band to restrict " +"to. Blank or 0 value means automatic selection." +msgstr "" + +#: plinth/modules/networks/forms.py:251 +msgid "BSSID" +msgstr "" + +#: plinth/modules/networks/forms.py:252 +msgid "" +"Optional value. Unique identifier for the access point. When connecting to " +"an access point, connect only if the BSSID of the access point matches the " +"one provided. Example: 00:11:22:aa:bb:cc." +msgstr "" + +#: plinth/modules/networks/forms.py:258 +msgid "Authentication Mode" +msgstr "" + +#: plinth/modules/networks/forms.py:259 +msgid "" +"Select WPA if the wireless network is secured and requires clients to have " +"the password to connect." +msgstr "" + +#: plinth/modules/networks/forms.py:261 +msgid "WPA" +msgstr "" + +#: plinth/modules/networks/forms.py:261 +msgid "Open" +msgstr "" + +#: plinth/modules/networks/forms.py:297 +#, python-brace-format +msgid "Specify how your {box_name} is connected to your network" +msgstr "" + +#: plinth/modules/networks/forms.py:304 +#, python-brace-format +msgid "" +"Connected to a router

Your {box_name} gets its " +"Internet connection from your router via Wi-Fi or Ethernet cable. This is a " +"typical home setup.

" +msgstr "" + +#: plinth/modules/networks/forms.py:311 +#, python-brace-format +msgid "" +"{box_name} is your router

Your {box_name} has " +"multiple network interfaces such as multiple Ethernet ports or a Wi-Fi " +"adapter. {box_name} is directly connected to the Internet and all your " +"devices connect to {box_name} for their Internet connectivity.

" +msgstr "" + +#: plinth/modules/networks/forms.py:320 +#, python-brace-format +msgid "" +"Directly connected to the Internet

Your Internet " +"connection is directly attached to your {box_name} and there are no other " +"devices on the network. This can happen on community or cloud setups.

" +msgstr "" + +#: plinth/modules/networks/forms.py:339 +msgid "Choose your internet connection type" +msgstr "" + +#: plinth/modules/networks/forms.py:343 +msgid "" +"I have a public IP address that may change over time

This means that devices on the Internet can reach you when you are " +"connected to the Internet. Every time you connect to the Internet with your " +"Internet Service Provider (ISP), you may get a different IP address, " +"especially after some offline time. Many ISPs offer this type of " +"connectivity. If you have a public IP address but are unsure if it changes " +"over time or not, it is safer to choose this option.

" +msgstr "" + +#: plinth/modules/networks/forms.py:355 +#, python-brace-format +msgid "" +"I have a public IP address that does not change overtime (recommended)

This means that devices on the Internet can reach you " +"when you are connected to the Internet. Every time you connect to the " +"Internet with your Internet Service Provider (ISP), you always get the same " +"IP address. This is the most trouble-free setup for many {box_name} services " +"but very few ISPs offer this. You may be able to get this service from your " +"ISP by making an additional payment.

" +msgstr "" + +#: plinth/modules/networks/forms.py:368 +#, python-brace-format +msgid "" +"I dont have a public IP address

This means that " +"devices on the Internet can not reach you when you are connected to " +"the Internet. Every time you connect to the Internet with your Internet " +"Service Provider (ISP), you get an IP address that is only relevant for " +"local networks. Many ISPs offer this type of connectivity. This is the most " +"troublesome situation for hosting services at home. {box_name} provides many " +"workaround solutions but each solution has some limitations.

" +msgstr "" + +#: plinth/modules/networks/forms.py:381 +msgid "" +"I do not know the type of connection my ISP provides

You will be suggested the most conservative actions.

" +msgstr "" + +#: plinth/modules/networks/forms.py:398 +msgid "Preferred router configuration" +msgstr "" + +#: plinth/modules/networks/forms.py:403 +#, python-brace-format +msgid "" +"Use DMZ feature to forward all traffic (recommended)

Most routers provide a configuration setting called DMZ. This will allow " +"the router to forward all incoming traffic from the Internet to a single IP " +"address such as the {box_name}'s IP address. First remember to configure a " +"static local IP address for your {box_name} in your router's configuration." +msgstr "" + +#: plinth/modules/networks/forms.py:415 +#, python-brace-format +msgid "" +"Forward specific traffic as needed by each application

You may alternatively choose to forward only specific traffic to your " +"{box_name}. This is ideal if you have other servers like {box_name} in your " +"network or if your router does not support DMZ feature. All applications " +"that provide a web interface need you to forward traffic from ports 80 and " +"443 to work. Each of the other applications will suggest which port(s) need " +"to be forwarded for that application to work.

" +msgstr "" + +#: plinth/modules/networks/forms.py:429 +msgid "" +"Router is currently unconfigured

Choose this if you " +"have not configured or are unable to configure the router currently and wish " +"to be reminded later. Some of the other configuration steps may fail.

" +msgstr "" + +#: plinth/modules/networks/templates/connection_show.html:28 +msgid "Edit connection" +msgstr "" + +#: plinth/modules/networks/templates/connection_show.html:28 +#: plinth/modules/wireguard/templates/wireguard_show_client.html:68 +#: plinth/modules/wireguard/templates/wireguard_show_server.html:69 +#: plinth/templates/base.html:151 plinth/templates/base.html:152 +msgid "Edit" +msgstr "" + +#: plinth/modules/networks/templates/connection_show.html:35 +#: plinth/modules/networks/templates/connections_list.html:40 +msgid "Deactivate" +msgstr "" + +#: plinth/modules/networks/templates/connection_show.html:42 +#: plinth/modules/networks/templates/connections_list.html:48 +msgid "Activate" +msgstr "" + +#: plinth/modules/networks/templates/connection_show.html:48 +msgid "Delete connection" +msgstr "" + +#: plinth/modules/networks/templates/connection_show.html:51 +#: plinth/modules/networks/templates/connections_diagram.html:58 +#: plinth/modules/networks/templates/connections_diagram.html:61 +#: plinth/modules/networks/templates/connections_diagram.html:90 +#: plinth/modules/networks/templates/connections_diagram.html:112 +msgid "Connection" +msgstr "" + +#: plinth/modules/networks/templates/connection_show.html:56 +msgid "Primary connection" +msgstr "" + +#: plinth/modules/networks/templates/connection_show.html:58 +#: plinth/modules/networks/templates/connection_show.html:202 +#: plinth/modules/networks/templates/connection_show.html:241 +msgid "yes" +msgstr "" + +#: plinth/modules/networks/templates/connection_show.html:69 +#: plinth/modules/storage/templates/storage.html:25 +msgid "Device" +msgstr "" + +#: plinth/modules/networks/templates/connection_show.html:73 +msgid "State" +msgstr "" + +#: plinth/modules/networks/templates/connection_show.html:78 +msgid "State reason" +msgstr "" + +#: plinth/modules/networks/templates/connection_show.html:87 +msgid "MAC address" +msgstr "" + +#: plinth/modules/networks/templates/connection_show.html:91 +msgid "Interface" +msgstr "" + +#: plinth/modules/networks/templates/connection_show.html:95 +#: plinth/modules/snapshot/templates/snapshot_delete_selected.html:18 +#: plinth/modules/snapshot/templates/snapshot_manage.html:30 +#: plinth/modules/snapshot/templates/snapshot_rollback.html:26 +msgid "Description" +msgstr "" + +#: plinth/modules/networks/templates/connection_show.html:101 +msgid "Physical Link" +msgstr "" + +#: plinth/modules/networks/templates/connection_show.html:106 +msgid "Link state" +msgstr "" + +#: plinth/modules/networks/templates/connection_show.html:110 +msgid "cable is connected" +msgstr "" + +#: plinth/modules/networks/templates/connection_show.html:113 +msgid "please check cable" +msgstr "" + +#: plinth/modules/networks/templates/connection_show.html:118 +#: plinth/modules/networks/templates/connection_show.html:134 +msgid "Speed" +msgstr "" + +#: plinth/modules/networks/templates/connection_show.html:120 +#, python-format +msgid "%(ethernet_speed)s Mbit/s" +msgstr "" + +#: plinth/modules/networks/templates/connection_show.html:136 +#, python-format +msgid "%(wireless_bitrate)s Mbit/s" +msgstr "" + +#: plinth/modules/networks/templates/connection_show.html:148 +msgid "Signal strength" +msgstr "" + +#: plinth/modules/networks/templates/connection_show.html:166 +msgid "IPv4" +msgstr "" + +#: plinth/modules/networks/templates/connection_show.html:171 +#: plinth/modules/networks/templates/connection_show.html:212 +#: plinth/modules/shadowsocks/forms.py:48 +msgid "Method" +msgstr "" + +#: plinth/modules/networks/templates/connection_show.html:178 +#: plinth/modules/networks/templates/connection_show.html:219 +msgid "IP address" +msgstr "" + +#: plinth/modules/networks/templates/connection_show.html:194 +#: plinth/modules/networks/templates/connection_show.html:233 +msgid "DNS server" +msgstr "" + +#: plinth/modules/networks/templates/connection_show.html:201 +#: plinth/modules/networks/templates/connection_show.html:240 +#: plinth/modules/storage/forms.py:139 +msgid "Default" +msgstr "" + +#: plinth/modules/networks/templates/connection_show.html:207 +msgid "IPv6" +msgstr "" + +#: plinth/modules/networks/templates/connection_show.html:248 +msgid "This connection is not active." +msgstr "" + +#: plinth/modules/networks/templates/connection_show.html:251 +#: plinth/modules/security/__init__.py:45 +msgid "Security" +msgstr "" + +#: plinth/modules/networks/templates/connection_show.html:256 +#: plinth/modules/networks/templates/connection_show.html:276 +#: plinth/modules/networks/templates/connection_show.html:295 +msgid "Firewall zone" +msgstr "" + +#: plinth/modules/networks/templates/connection_show.html:265 +msgid "" +"This interface should be connected to a local network/machine. If you " +"connect this interface to a public network, services meant to be available " +"only internally will become available externally. This is a security risk." +msgstr "" + +#: plinth/modules/networks/templates/connection_show.html:285 +msgid "" +"This interface should receive your Internet connection. If you connect it to " +"a local network/machine, many services meant to available only internally " +"will not be available." +msgstr "" + +#: plinth/modules/networks/templates/connection_show.html:304 +#, python-format +msgid "" +"This interface is not maintained by %(box_name)s. Its security status is " +"unknown to %(box_name)s. Many %(box_name)s services may not be available on " +"this interface. It is recommended that you deactivate or delete this " +"connection and re-configure it." +msgstr "" + +#: plinth/modules/networks/templates/connections_create.html:19 +msgid "Create Connection" +msgstr "" + +#: plinth/modules/networks/templates/connections_delete.html:11 +#: plinth/modules/networks/views.py:408 +msgid "Delete Connection" +msgstr "" + +#: plinth/modules/networks/templates/connections_delete.html:14 +#, python-format +msgid "Delete connection %(name)s permanently?" +msgstr "" + +#: plinth/modules/networks/templates/connections_diagram.html:50 +msgid "Internet" +msgstr "" + +#: plinth/modules/networks/templates/connections_diagram.html:55 +#: plinth/modules/networks/templates/connections_diagram.html:87 +msgid "Spacing" +msgstr "" + +#: plinth/modules/networks/templates/connections_diagram.html:68 +#: plinth/modules/networks/templates/connections_diagram.html:98 +#: plinth/network.py:25 +msgid "Ethernet" +msgstr "" + +#: plinth/modules/networks/templates/connections_diagram.html:71 +#: plinth/modules/networks/templates/connections_diagram.html:101 +#: plinth/network.py:26 +msgid "Wi-Fi" +msgstr "" + +#: plinth/modules/networks/templates/connections_diagram.html:74 +#, python-format +msgid "Show connection %(connection.name)s" +msgstr "" + +#: plinth/modules/networks/templates/connections_diagram.html:104 +#, python-format +msgid "Show connection %(name)s" +msgstr "" + +#: plinth/modules/networks/templates/connections_diagram.html:116 +msgid "Computer" +msgstr "" + +#: plinth/modules/networks/templates/connections_edit.html:20 +#: plinth/modules/networks/views.py:128 plinth/modules/networks/views.py:212 +msgid "Edit Connection" +msgstr "" + +#: plinth/modules/networks/templates/connections_list.html:8 +msgid "Connections" +msgstr "" + +#: plinth/modules/networks/templates/connections_list.html:12 +#: plinth/modules/networks/templates/connections_list.html:14 +#: plinth/modules/networks/views.py:261 +msgid "Nearby Wi-Fi Networks" +msgstr "" + +#: plinth/modules/networks/templates/connections_list.html:17 +#: plinth/modules/networks/templates/connections_list.html:19 +#: plinth/modules/networks/views.py:285 +#: plinth/modules/wireguard/templates/wireguard_add_server.html:19 +msgid "Add Connection" +msgstr "" + +#: plinth/modules/networks/templates/connections_list.html:29 +#, python-format +msgid "Delete connection %(name)s" +msgstr "" + +#: plinth/modules/networks/templates/connections_list.html:54 +msgid "Active" +msgstr "" + +#: plinth/modules/networks/templates/connections_list.html:57 +msgid "Inactive" +msgstr "" + +#: plinth/modules/networks/templates/connections_type_select.html:19 +msgid "Create..." +msgstr "" + +#: plinth/modules/networks/templates/internet_connectivity_content.html:10 +msgid "What Type Of Internet Connection Do You Have?" +msgstr "" + +#: plinth/modules/networks/templates/internet_connectivity_content.html:16 +msgid "" +"Select an option that best describes the type of Internet connection. This " +"information is used only to guide you with further setup." +msgstr "" + +#: plinth/modules/networks/templates/internet_connectivity_firstboot.html:19 +#: plinth/modules/networks/templates/network_topology_firstboot.html:19 +#: plinth/modules/networks/templates/router_configuration_firstboot.html:19 +msgid "Skip this step" +msgstr "" + +#: plinth/modules/networks/templates/internet_connectivity_firstboot.html:21 +#: plinth/modules/networks/templates/network_topology_firstboot.html:21 +#: plinth/modules/networks/templates/router_configuration_firstboot.html:21 +msgid "Next" +msgstr "" + +#: plinth/modules/networks/templates/internet_connectivity_main.html:9 +msgid "Your Internet Connection Type" +msgstr "" + +#: plinth/modules/networks/templates/internet_connectivity_main.html:14 +msgid "" +"The following best describes the type of Internet connection provided by " +"your ISP. This information is only used to suggest you necessary " +"configuration actions." +msgstr "" + +#: plinth/modules/networks/templates/internet_connectivity_main.html:23 +msgid "My ISP provides a public IP address that does not change over time." +msgstr "" + +#: plinth/modules/networks/templates/internet_connectivity_main.html:27 +msgid "My ISP provides a public IP address that may change over time." +msgstr "" + +#: plinth/modules/networks/templates/internet_connectivity_main.html:31 +msgid "My ISP does not provide a public IP address." +msgstr "" + +#: plinth/modules/networks/templates/internet_connectivity_main.html:35 +msgid "I do not know the type of connection my ISP provides." +msgstr "" + +#: plinth/modules/networks/templates/internet_connectivity_main.html:41 +#: plinth/modules/networks/templates/network_topology_main.html:41 +msgid "Update..." +msgstr "" + +#: plinth/modules/networks/templates/network_topology_content.html:10 +#, python-format +msgid "How is Your %(box_name)s Connected to the Internet?" +msgstr "" + +#: plinth/modules/networks/templates/network_topology_content.html:16 +#, python-format +msgid "" +"Select an option that best describes how your %(box_name)s is connected in " +"your network. This information is used to guide you with further setup. It " +"can be changed later." +msgstr "" + +#: plinth/modules/networks/templates/network_topology_main.html:9 +#, python-format +msgid "%(box_name)s Internet Connectivity" +msgstr "" + +#: plinth/modules/networks/templates/network_topology_main.html:15 +#, python-format +msgid "" +"The following best describes how your %(box_name)s is connected in your " +"network. This information is used only to suggest necessary configuration " +"actions." +msgstr "" + +#: plinth/modules/networks/templates/network_topology_main.html:24 +#, python-format +msgid "" +"Your %(box_name)s gets its Internet connection from your router via Wi-Fi or " +"Ethernet cable. This is a typical home setup." +msgstr "" + +#: plinth/modules/networks/templates/network_topology_main.html:29 +#, python-format +msgid "" +"Your %(box_name)s is directly connected to the Internet and all your devices " +"connect to %(box_name)s for their Internet connectivity." +msgstr "" + +#: plinth/modules/networks/templates/network_topology_main.html:34 +#, python-format +msgid "" +"Your Internet connection is directly attached to your %(box_name)s and there " +"are no other devices on the network." +msgstr "" + +#: plinth/modules/networks/templates/router_configuration_content.html:10 +#, python-format +msgid "Setup %(box_name)s Behind a Router" +msgstr "" + +#: plinth/modules/networks/templates/router_configuration_content.html:16 +#, python-format +msgid "" +"Your %(box_name)s gets its internet connection from your router via Wi-Fi or " +"Ethernet cable. This is a typical home setup." +msgstr "" + +#: plinth/modules/networks/templates/router_configuration_content.html:23 +#, python-format +msgid "" +"With this setup, any device on the internet trying to reach your " +"%(box_name)s will have to go through your router. The router will need to be " +"configured to forward all traffic it receives so that %(box_name)s provides " +"the services." +msgstr "" + +#: plinth/modules/networks/templates/router_configuration_content.html:32 +msgid "" +"If you don't have control over your router, choose not to configure it. To " +"see options to overcome this limitation, choose 'no public address' option " +"in Internet connection type selection." +msgstr "" + +#: plinth/modules/networks/templates/router_configuration_content.html:39 +msgid "Choose How You Wish to Configure Your Router" +msgstr "" + +#: plinth/modules/networks/templates/router_configuration_content.html:42 +msgid "" +"You will need to login to your router's administration console provided by " +"the router. This may look like one of the following:" +msgstr "" + +#: plinth/modules/networks/templates/router_configuration_content.html:54 +msgid "" +"The username and password is configured by you when you first setup the " +"router. For many routers, this information is printed at the back of the " +"router. If you don't remember the credentials or the IP address of the " +"router, you may decide to reset it and set it up freshly. Lookup your router " +"model number and search online for the router's manual. This will provide " +"full instructions on how to perform this task." +msgstr "" + +#: plinth/modules/networks/views.py:36 +msgid "Network Connections" +msgstr "" + +#: plinth/modules/networks/views.py:51 +msgid "Cannot show connection: Connection not found." +msgstr "" + +#: plinth/modules/networks/views.py:86 +msgid "Connection Information" +msgstr "" + +#: plinth/modules/networks/views.py:100 +msgid "Cannot edit connection: Connection not found." +msgstr "" + +#: plinth/modules/networks/views.py:106 +msgid "This type of connection is not yet understood." +msgstr "" + +#: plinth/modules/networks/views.py:224 +#, python-brace-format +msgid "Activated connection {name}." +msgstr "" + +#: plinth/modules/networks/views.py:228 +msgid "Failed to activate connection: Connection not found." +msgstr "" + +#: plinth/modules/networks/views.py:234 +#, python-brace-format +msgid "Failed to activate connection {name}: No suitable device is available." +msgstr "" + +#: plinth/modules/networks/views.py:247 +#, python-brace-format +msgid "Deactivated connection {name}." +msgstr "" + +#: plinth/modules/networks/views.py:251 +msgid "Failed to de-activate connection: Connection not found." +msgstr "" + +#: plinth/modules/networks/views.py:303 +msgid "Adding New Generic Connection" +msgstr "" + +#: plinth/modules/networks/views.py:321 +msgid "Adding New Ethernet Connection" +msgstr "" + +#: plinth/modules/networks/views.py:339 +msgid "Adding New PPPoE Connection" +msgstr "" + +#: plinth/modules/networks/views.py:374 +msgid "Adding New Wi-Fi Connection" +msgstr "" + +#: plinth/modules/networks/views.py:389 +#, python-brace-format +msgid "Connection {name} deleted." +msgstr "" + +#: plinth/modules/networks/views.py:393 plinth/modules/networks/views.py:403 +msgid "Failed to delete connection: Connection not found." +msgstr "" + +#: plinth/modules/openvpn/__init__.py:26 +#, python-brace-format +msgid "" +"Virtual Private Network (VPN) is a technique for securely connecting two " +"devices in order to access resources of a private network. While you are " +"away from home, you can connect to your {box_name} in order to join your " +"home network and access private/internal services provided by {box_name}. " +"You can also access the rest of the Internet via {box_name} for added " +"security and anonymity." +msgstr "" + +#: plinth/modules/openvpn/__init__.py:49 plinth/modules/openvpn/manifest.py:18 +msgid "OpenVPN" +msgstr "" + +#: plinth/modules/openvpn/__init__.py:50 +#: plinth/modules/wireguard/__init__.py:53 +msgid "Virtual Private Network" +msgstr "" + +#: plinth/modules/openvpn/__init__.py:61 +#, python-brace-format +msgid "" +"Download Profile" +msgstr "" + +#: plinth/modules/openvpn/forms.py:12 +msgid "Enable OpenVPN server" +msgstr "" + +#: plinth/modules/openvpn/manifest.py:48 +msgid "Tunnelblick" +msgstr "" + +#: plinth/modules/openvpn/templates/openvpn.html:27 +#, python-format +msgid "" +"OpenVPN has not yet been setup. Performing a secure setup takes a very long " +"time. Depending on how fast your %(box_name)s is, it may even take hours. " +"If the setup is interrupted, you may start it again." +msgstr "" + +#: plinth/modules/openvpn/templates/openvpn.html:40 +msgid "Start setup" +msgstr "" + +#: plinth/modules/openvpn/templates/openvpn.html:49 +msgid "OpenVPN setup is running" +msgstr "" + +#: plinth/modules/openvpn/templates/openvpn.html:53 +#, python-format +msgid "" +"To perform a secure setup, this process takes a very long time. Depending " +"on how fast your %(box_name)s is, it may even take hours. If the setup is " +"interrupted, you may start it again." +msgstr "" + +#: plinth/modules/openvpn/templates/openvpn.html:72 +msgid "Profile" +msgstr "" + +#: plinth/modules/openvpn/templates/openvpn.html:75 +#, python-format +msgid "" +"To connect to %(box_name)s's VPN, you need to download a profile and feed it " +"to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are " +"available for most platforms. Click \"Learn more...\" above for recommended " +"clients and instructions on how to configure them." +msgstr "" + +#: plinth/modules/openvpn/templates/openvpn.html:85 +#, python-format +msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." +msgstr "" + +#: plinth/modules/openvpn/templates/openvpn.html:96 +msgid "Download my profile" +msgstr "" + +#: plinth/modules/openvpn/views.py:113 +msgid "Setup completed." +msgstr "" + +#: plinth/modules/openvpn/views.py:115 +msgid "Setup failed." +msgstr "" + +#: plinth/modules/openvpn/views.py:135 plinth/modules/tor/views.py:136 +#: plinth/views.py:196 +msgid "Setting unchanged" +msgstr "" + +#: plinth/modules/pagekite/__init__.py:27 +#, python-brace-format +msgid "" +"PageKite is a system for exposing {box_name} services when you don't have a " +"direct connection to the Internet. You only need this if your {box_name} " +"services are unreachable from the rest of the Internet. This includes the " +"following situations:" +msgstr "" + +#: plinth/modules/pagekite/__init__.py:32 +#, python-brace-format +msgid "{box_name} is behind a restricted firewall." +msgstr "" + +#: plinth/modules/pagekite/__init__.py:35 +#, python-brace-format +msgid "{box_name} is connected to a (wireless) router which you don't control." +msgstr "" + +#: plinth/modules/pagekite/__init__.py:37 +msgid "" +"Your ISP does not provide you an external IP address and instead provides " +"Internet connection through NAT." +msgstr "" + +#: plinth/modules/pagekite/__init__.py:39 +msgid "" +"Your ISP does not provide you a static IP address and your IP address " +"changes every time you connect to Internet." +msgstr "" + +#: plinth/modules/pagekite/__init__.py:41 +msgid "Your ISP limits incoming connections." +msgstr "" + +#: plinth/modules/pagekite/__init__.py:43 +#, python-brace-format +msgid "" +"PageKite works around NAT, firewalls and IP address limitations by using a " +"combination of tunnels and reverse proxies. You can use any pagekite service " +"provider, for example pagekite.net. In " +"the future it might be possible to use your buddy's {box_name} for this." +msgstr "" + +#: plinth/modules/pagekite/__init__.py:63 +msgid "PageKite" +msgstr "" + +#: plinth/modules/pagekite/__init__.py:65 +msgid "Public Visibility" +msgstr "" + +#: plinth/modules/pagekite/__init__.py:75 +msgid "PageKite Domain" +msgstr "" + +#: plinth/modules/pagekite/forms.py:47 +msgid "Server domain" +msgstr "" + +#: plinth/modules/pagekite/forms.py:49 +msgid "" +"Select your pagekite server. Set \"pagekite.net\" to use the default " +"pagekite.net server." +msgstr "" + +#: plinth/modules/pagekite/forms.py:52 plinth/modules/shadowsocks/forms.py:39 +msgid "Server port" +msgstr "" + +#: plinth/modules/pagekite/forms.py:53 +msgid "Port of your pagekite server (default: 80)" +msgstr "" + +#: plinth/modules/pagekite/forms.py:55 +msgid "Kite name" +msgstr "" + +#: plinth/modules/pagekite/forms.py:56 +msgid "Example: mybox.pagekite.me" +msgstr "" + +#: plinth/modules/pagekite/forms.py:58 +msgid "Invalid kite name" +msgstr "" + +#: plinth/modules/pagekite/forms.py:62 +msgid "Kite secret" +msgstr "" + +#: plinth/modules/pagekite/forms.py:63 +msgid "" +"A secret associated with the kite or the default secret for your account if " +"no secret is set on the kite." +msgstr "" + +#: plinth/modules/pagekite/forms.py:100 +msgid "protocol" +msgstr "" + +#: plinth/modules/pagekite/forms.py:103 +msgid "external (frontend) port" +msgstr "" + +#: plinth/modules/pagekite/forms.py:106 +msgid "internal (freedombox) port" +msgstr "" + +#: plinth/modules/pagekite/forms.py:107 +msgid "Enable Subdomains" +msgstr "" + +#: plinth/modules/pagekite/forms.py:141 +msgid "Deleted custom service" +msgstr "" + +#: plinth/modules/pagekite/forms.py:174 +msgid "This service is already available as a standard service." +msgstr "" + +#: plinth/modules/pagekite/forms.py:182 +msgid "Added custom service" +msgstr "" + +#: plinth/modules/pagekite/forms.py:185 +msgid "This service already exists" +msgstr "" + +#: plinth/modules/pagekite/templates/pagekite_configure.html:25 +msgid "Custom Services" +msgstr "" + +#: plinth/modules/pagekite/templates/pagekite_configure.html:29 +#: plinth/modules/pagekite/templates/pagekite_configure.html:31 +msgid "Add Custom Service" +msgstr "" + +#: plinth/modules/pagekite/templates/pagekite_configure.html:47 +#, python-format +msgid "connected to %(backend_host)s:%(backend_port)s" +msgstr "" + +#: plinth/modules/pagekite/templates/pagekite_configure.html:59 +msgid "Delete this service" +msgstr "" + +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:11 +#: plinth/modules/pagekite/views.py:33 +msgid "Add custom PageKite service" +msgstr "" + +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:14 +msgid "" +"Warning:
Your PageKite frontend server may not support all the " +"protocol/port combinations that you are able to define here. For example, " +"HTTPS on ports other than 443 is known to cause problems." +msgstr "" + +#: plinth/modules/pagekite/utils.py:42 +msgid "Web Server (HTTP)" +msgstr "" + +#: plinth/modules/pagekite/utils.py:44 +#, python-brace-format +msgid "Site will be available at http://{0}" +msgstr "" + +#: plinth/modules/pagekite/utils.py:56 +msgid "Web Server (HTTPS)" +msgstr "" + +#: plinth/modules/pagekite/utils.py:58 +#, python-brace-format +msgid "Site will be available at https://{0}" +msgstr "" + +#: plinth/modules/pagekite/utils.py:70 +msgid "Secure Shell (SSH)" +msgstr "" + +#: plinth/modules/pagekite/utils.py:72 +msgid "" +"See SSH client setup instructions" +msgstr "" + +#: plinth/modules/power/__init__.py:16 +msgid "Restart or shut down the system." +msgstr "" + +#: plinth/modules/power/__init__.py:31 +msgid "Power" +msgstr "" + +#: plinth/modules/power/templates/power.html:13 +msgid "" +"Currently an installation or upgrade is running. Consider waiting until it's " +"finished before shutting down or restarting." +msgstr "" + +#: plinth/modules/power/templates/power.html:22 +msgid "Restart »" +msgstr "" + +#: plinth/modules/power/templates/power.html:25 +msgid "Shut Down »" +msgstr "" + +#: plinth/modules/power/templates/power_restart.html:17 +msgid "" +"Are you sure you want to restart? You will not be able to access this web " +"interface for a few minutes until the system is restarted." +msgstr "" + +#: plinth/modules/power/templates/power_restart.html:34 +msgid "" +"Currently an installation or upgrade is running. Consider waiting until it's " +"finished before restarting." +msgstr "" + +#: plinth/modules/power/templates/power_restart.html:48 +#: plinth/modules/power/templates/power_restart.html:51 +msgid "Restart Now" +msgstr "" + +#: plinth/modules/power/templates/power_shutdown.html:17 +msgid "" +"Are you sure you want to shut down? You will not be able to access this web " +"interface after shut down." +msgstr "" + +#: plinth/modules/power/templates/power_shutdown.html:33 +msgid "" +"Currently an installation or upgrade is running. Consider waiting until it's " +"finished before shutting down." +msgstr "" + +#: plinth/modules/power/templates/power_shutdown.html:47 +#: plinth/modules/power/templates/power_shutdown.html:50 +msgid "Shut Down Now" +msgstr "" + +#: plinth/modules/privoxy/__init__.py:29 +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:34 +#, python-brace-format +msgid "" +"You can use Privoxy by modifying your browser proxy settings to your " +"{box_name} hostname (or IP address) with port 8118. While using Privoxy, you " +"can see its configuration details and documentation at http://config.privoxy.org/ or http://p.p." +msgstr "" + +#: plinth/modules/privoxy/__init__.py:55 +msgid "Privoxy" +msgstr "" + +#: plinth/modules/privoxy/__init__.py:56 +msgid "Web Proxy" +msgstr "" + +#: plinth/modules/privoxy/__init__.py:119 +#, python-brace-format +msgid "Access {url} with proxy {proxy} on tcp{kind}" +msgstr "" + +#: plinth/modules/quassel/__init__.py:33 +#, python-brace-format +msgid "" +"Quassel is an IRC application that is split into two parts, a \"core\" and a " +"\"client\". This allows the core to remain connected to IRC servers, and to " +"continue receiving messages, even when the client is disconnected. " +"{box_name} can run the Quassel core service keeping you always online and " +"one or more Quassel clients from a desktop or a mobile can be used to " +"connect and disconnect from it." +msgstr "" + +#: plinth/modules/quassel/__init__.py:40 +msgid "" +"You can connect to your Quassel core on the default Quassel port 4242. " +"Clients to connect to Quassel from your desktop and mobile devices are available." +msgstr "" + +#: plinth/modules/quassel/__init__.py:61 plinth/modules/quassel/manifest.py:10 +msgid "Quassel" +msgstr "" + +#: plinth/modules/quassel/__init__.py:62 +msgid "IRC Client" +msgstr "" + +#: plinth/modules/quassel/forms.py:22 +msgid "TLS domain" +msgstr "" + +#: plinth/modules/quassel/forms.py:24 +msgid "" +"Select a domain to use TLS with. If the list is empty, please configure at " +"least one domain with certificates." +msgstr "" + +#: plinth/modules/quassel/manifest.py:34 +msgid "Quasseldroid" +msgstr "" + +#: plinth/modules/radicale/__init__.py:33 +#, python-brace-format +msgid "" +"Radicale is a CalDAV and CardDAV server. It allows synchronization and " +"sharing of scheduling and contact data. To use Radicale, a supported client application is needed. Radicale " +"can be accessed by any user with a {box_name} login." +msgstr "" + +#: plinth/modules/radicale/__init__.py:38 +msgid "" +"Radicale provides a basic web interface, which only supports creating new " +"calendars and addressbooks. It does not support adding events or contacts, " +"which must be done using a separate client." +msgstr "" + +#: plinth/modules/radicale/__init__.py:61 +#: plinth/modules/radicale/manifest.py:75 +msgid "Radicale" +msgstr "" + +#: plinth/modules/radicale/__init__.py:62 +msgid "Calendar and Addressbook" +msgstr "" + +#: plinth/modules/radicale/forms.py:14 +msgid "Only the owner of a calendar/addressbook can view or make changes." +msgstr "" + +#: plinth/modules/radicale/forms.py:18 +#, python-brace-format +msgid "" +"Any user with a {box_name} login can view any calendar/addressbook, but only " +"the owner can make changes." +msgstr "" + +#: plinth/modules/radicale/forms.py:23 +#, python-brace-format +msgid "" +"Any user with a {box_name} login can view or make changes to any calendar/" +"addressbook." +msgstr "" + +#: plinth/modules/radicale/manifest.py:10 +msgid "DAVx5" +msgstr "" + +#: plinth/modules/radicale/manifest.py:12 +msgid "" +"Enter the URL of the Radicale server (e.g. https://) and your user name. DAVx5 will show all existing calendars and " +"address books and you can create new." +msgstr "" + +#: plinth/modules/radicale/manifest.py:29 +msgid "GNOME Calendar" +msgstr "" + +#: plinth/modules/radicale/manifest.py:37 +msgid "Mozilla Thunderbird" +msgstr "" + +#: plinth/modules/radicale/manifest.py:57 +msgid "Evolution" +msgstr "" + +#: plinth/modules/radicale/manifest.py:59 +msgid "" +"Evolution is a personal information management application that provides " +"integrated mail, calendaring and address book functionality." +msgstr "" + +#: plinth/modules/radicale/manifest.py:63 +msgid "" +"In Evolution add a new calendar and address book respectively with WebDAV. " +"Enter the URL of the Radicale server (e.g. https://) and your user name. Clicking on the search button will list the " +"existing calendars and address books." +msgstr "" + +#: plinth/modules/radicale/views.py:35 +msgid "Access rights configuration updated" +msgstr "" + +#: plinth/modules/roundcube/__init__.py:21 +msgid "" +"Roundcube webmail is a browser-based multilingual IMAP client with an " +"application-like user interface. It provides full functionality you expect " +"from an email client, including MIME support, address book, folder " +"manipulation, message searching and spell checking." +msgstr "" + +#: plinth/modules/roundcube/__init__.py:26 +msgid "" +"You can access Roundcube from /roundcube. Provide the username and password of the email account " +"you wish to access followed by the domain name of the IMAP server for your " +"email provider, like imap.example.com. For IMAP over SSL " +"(recommended), fill the server field like imaps://imap.example.com." +msgstr "" + +#: plinth/modules/roundcube/__init__.py:32 +msgid "" +"For Gmail, username will be your Gmail address, password will be your Google " +"account password and server will be imaps://imap.gmail.com. " +"Note that you will also need to enable \"Less secure apps\" in your Google " +"account settings (https://www.google.com/settings/security/lesssecureapps)." +msgstr "" + +#: plinth/modules/roundcube/__init__.py:54 +#: plinth/modules/roundcube/manifest.py:9 +msgid "Roundcube" +msgstr "" + +#: plinth/modules/roundcube/__init__.py:55 +msgid "Email Client" +msgstr "" + +#: plinth/modules/samba/__init__.py:32 +msgid "" +"Samba allows to share files and folders between FreedomBox and other " +"computers in your local network." +msgstr "" + +#: plinth/modules/samba/__init__.py:35 +#, python-brace-format +msgid "" +"After installation, you can choose which disks to use for sharing. Enabled " +"shares are accessible in the file manager on your computer at location \\" +"\\{hostname} (on Windows) or smb://{hostname}.local (on Linux and Mac). " +"There are three types of shares you can choose from: " +msgstr "" + +#: plinth/modules/samba/__init__.py:40 +msgid "Open share - accessible to everyone in your local network." +msgstr "" + +#: plinth/modules/samba/__init__.py:41 +msgid "" +"Group share - accessible only to FreedomBox users who are in the freedombox-" +"share group." +msgstr "" + +#: plinth/modules/samba/__init__.py:43 +msgid "" +"Home share - every user in the freedombox-share group can have their own " +"private space." +msgstr "" + +#: plinth/modules/samba/__init__.py:59 +msgid "Access to the private shares" +msgstr "" + +#: plinth/modules/samba/__init__.py:62 +msgid "Samba" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:24 +#: plinth/modules/samba/templates/samba.html:35 +msgid "Shares" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:26 +msgid "" +"Note: Only specially created directories will be shared on selected disks, " +"not the whole disk." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:34 +msgid "Disk Name" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:36 +#: plinth/modules/storage/templates/storage.html:29 +msgid "Used" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:57 +msgid "VFAT partitions are not supported" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:88 +#, python-format +msgid "" +"You can find additional information about disks on the storage module page and configure access to the " +"shares on the users module page." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:94 +msgid "Users who can currently access group and home shares" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:98 +msgid "" +"Users needing to re-enter their password on the password change page to " +"access group and home shares" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:103 +msgid "Unavailable Shares" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:105 +msgid "" +"Shares that are configured but the disk is not available. If the disk is " +"plugged back in, sharing will be automatically enabled." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:113 +msgid "Share name" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:114 +msgid "Action" +msgstr "" + +#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:147 +msgid "Open Share" +msgstr "" + +#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:145 +msgid "Group Share" +msgstr "" + +#: plinth/modules/samba/views.py:45 +msgid "Home Share" +msgstr "" + +#: plinth/modules/samba/views.py:78 +msgid "Share enabled." +msgstr "" + +#: plinth/modules/samba/views.py:83 +#, python-brace-format +msgid "Error enabling share: {error_message}" +msgstr "" + +#: plinth/modules/samba/views.py:88 +msgid "Share disabled." +msgstr "" + +#: plinth/modules/samba/views.py:93 +#, python-brace-format +msgid "Error disabling share: {error_message}" +msgstr "" + +#: plinth/modules/searx/__init__.py:25 +msgid "" +"Searx is a privacy-respecting Internet metasearch engine. It aggregrates and " +"displays results from multiple search engines." +msgstr "" + +#: plinth/modules/searx/__init__.py:27 +msgid "" +"Searx can be used to avoid tracking and profiling by search engines. It " +"stores no cookies by default." +msgstr "" + +#: plinth/modules/searx/__init__.py:45 +msgid "Search the web" +msgstr "" + +#: plinth/modules/searx/__init__.py:48 plinth/modules/searx/manifest.py:9 +msgid "Searx" +msgstr "" + +#: plinth/modules/searx/__init__.py:49 +msgid "Web Search" +msgstr "" + +#: plinth/modules/searx/forms.py:13 +msgid "Safe Search" +msgstr "" + +#: plinth/modules/searx/forms.py:14 +msgid "Select the default family filter to apply to your search results." +msgstr "" + +#: plinth/modules/searx/forms.py:15 +msgid "None" +msgstr "" + +#: plinth/modules/searx/forms.py:15 +msgid "Moderate" +msgstr "" + +#: plinth/modules/searx/forms.py:15 +msgid "Strict" +msgstr "" + +#: plinth/modules/searx/forms.py:18 +msgid "Allow Public Access" +msgstr "" + +#: plinth/modules/searx/forms.py:19 +msgid "Allow this application to be used by anyone who can reach it." +msgstr "" + +#: plinth/modules/searx/views.py:38 plinth/modules/searx/views.py:49 +#: plinth/modules/tor/views.py:129 plinth/modules/tor/views.py:156 +msgid "Configuration updated." +msgstr "" + +#: plinth/modules/security/forms.py:13 +msgid "Restrict console logins (recommended)" +msgstr "" + +#: plinth/modules/security/forms.py:14 +msgid "" +"When this option is enabled, only users in the \"admin\" group will be able " +"to log in to console or via SSH. Console users may be able to access some " +"services without further authorization." +msgstr "" + +#: plinth/modules/security/forms.py:19 +msgid "Fail2Ban (recommended)" +msgstr "" + +#: plinth/modules/security/forms.py:20 +msgid "" +"When this option is enabled, Fail2Ban will limit brute force break-in " +"attempts to the SSH server and other enabled password protected internet-" +"services." +msgstr "" + +#: plinth/modules/security/templates/security.html:11 +#: plinth/modules/security/templates/security.html:13 +msgid "Show security report" +msgstr "" + +#: plinth/modules/security/templates/security_report.html:10 +#: plinth/modules/security/views.py:71 +msgid "Security Report" +msgstr "" + +#: plinth/modules/security/templates/security_report.html:12 +#, python-format +msgid "" +"The installed version of FreedomBox has %(count)s reported security " +"vulnerabilities." +msgstr "" + +#: plinth/modules/security/templates/security_report.html:18 +msgid "" +"The following table lists the current reported number, and historical count, " +"of security vulnerabilities for each installed app." +msgstr "" + +#: plinth/modules/security/templates/security_report.html:24 +msgid "" +"For apps that provide services, the \"Sandboxed\" column shows whether " +"sandboxing features are in use. Sandboxing mitigates the impact of a " +"potentially compromised app to the rest of the system." +msgstr "" + +#: plinth/modules/security/templates/security_report.html:31 +msgid "" +"\"Sandbox Coverage\" is a score of how effectively the service is isolated " +"from the rest of the system. It is only displayed while the service is " +"running." +msgstr "" + +#: plinth/modules/security/templates/security_report.html:40 +msgid "App Name" +msgstr "" + +#: plinth/modules/security/templates/security_report.html:41 +msgid "Current Vulnerabilities" +msgstr "" + +#: plinth/modules/security/templates/security_report.html:42 +msgid "Past Vulnerabilities" +msgstr "" + +#: plinth/modules/security/templates/security_report.html:43 +msgid "Sandboxed" +msgstr "" + +#: plinth/modules/security/templates/security_report.html:44 +msgid "Sandbox Coverage" +msgstr "" + +#: plinth/modules/security/templates/security_report.html:55 +msgid "N/A" +msgstr "" + +#: plinth/modules/security/templates/security_report.html:57 +msgid "Yes" +msgstr "" + +#: plinth/modules/security/templates/security_report.html:59 +msgid "No" +msgstr "" + +#: plinth/modules/security/templates/security_report.html:66 +msgid "Not running" +msgstr "" + +#: plinth/modules/security/views.py:53 +#, python-brace-format +msgid "Error setting restricted access: {exception}" +msgstr "" + +#: plinth/modules/security/views.py:56 +msgid "Updated security configuration" +msgstr "" + +#: plinth/modules/shaarli/__init__.py:20 +msgid "Shaarli allows you to save and share bookmarks." +msgstr "" + +#: plinth/modules/shaarli/__init__.py:21 +msgid "" +"When enabled, Shaarli will be available from /shaarli path on the web server. Note that Shaarli " +"only supports a single user account, which you will need to setup on the " +"initial visit." +msgstr "" + +#: plinth/modules/shaarli/__init__.py:39 plinth/modules/shaarli/manifest.py:8 +msgid "Shaarli" +msgstr "" + +#: plinth/modules/shaarli/__init__.py:40 +msgid "Bookmarks" +msgstr "" + +#: plinth/modules/shadowsocks/__init__.py:25 +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:29 +#, python-brace-format +msgid "" +"Your {box_name} can run a Shadowsocks client, that can connect to a " +"Shadowsocks server. It will also run a SOCKS5 proxy. Local devices can " +"connect to this proxy, and their data will be encrypted and proxied through " +"the Shadowsocks server." +msgstr "" + +#: plinth/modules/shadowsocks/__init__.py:34 +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/__init__.py:50 +msgid "Shadowsocks" +msgstr "" + +#: plinth/modules/shadowsocks/__init__.py:52 +msgid "Socks5 Proxy" +msgstr "" + +#: plinth/modules/shadowsocks/forms.py:12 +#: plinth/modules/shadowsocks/forms.py:13 +msgid "Recommended" +msgstr "" + +#: plinth/modules/shadowsocks/forms.py:36 +msgid "Server" +msgstr "" + +#: plinth/modules/shadowsocks/forms.py:37 +msgid "Server hostname or IP address" +msgstr "" + +#: plinth/modules/shadowsocks/forms.py:41 +msgid "Server port number" +msgstr "" + +#: plinth/modules/shadowsocks/forms.py:44 +msgid "Password used to encrypt data. Must match server password." +msgstr "" + +#: plinth/modules/shadowsocks/forms.py:49 +msgid "Encryption method. Must match setting on server." +msgstr "" + +#: plinth/modules/sharing/__init__.py:21 +#, python-brace-format +msgid "" +"Sharing allows you to share files and folders on your {box_name} over the " +"web with chosen groups of users." +msgstr "" + +#: plinth/modules/sharing/__init__.py:38 +msgid "Sharing" +msgstr "" + +#: plinth/modules/sharing/forms.py:18 +msgid "Name of the share" +msgstr "" + +#: plinth/modules/sharing/forms.py:20 +msgid "" +"A lowercase alpha-numeric string that uniquely identifies a share. Example: " +"media." +msgstr "" + +#: plinth/modules/sharing/forms.py:24 +msgid "Path to share" +msgstr "" + +#: plinth/modules/sharing/forms.py:25 +msgid "Disk path to a folder on this server that you intend to share." +msgstr "" + +#: plinth/modules/sharing/forms.py:28 +msgid "Public share" +msgstr "" + +#: plinth/modules/sharing/forms.py:29 +msgid "Make files in this folder available to anyone with the link." +msgstr "" + +#: plinth/modules/sharing/forms.py:34 +msgid "User groups that can read the files in the share" +msgstr "" + +#: plinth/modules/sharing/forms.py:36 +msgid "" +"Users of the selected user groups will be able to read the files in the " +"share." +msgstr "" + +#: plinth/modules/sharing/forms.py:52 +msgid "A share with this name already exists." +msgstr "" + +#: plinth/modules/sharing/forms.py:63 +msgid "Shares should be either public or shared with at least one group" +msgstr "" + +#: plinth/modules/sharing/templates/sharing.html:24 +#: plinth/modules/sharing/templates/sharing.html:27 +msgid "Add share" +msgstr "" + +#: plinth/modules/sharing/templates/sharing.html:32 +msgid "No shares currently configured." +msgstr "" + +#: plinth/modules/sharing/templates/sharing.html:38 +msgid "Disk Path" +msgstr "" + +#: plinth/modules/sharing/templates/sharing.html:39 +msgid "Shared Over" +msgstr "" + +#: plinth/modules/sharing/templates/sharing.html:40 +msgid "With Groups" +msgstr "" + +#: plinth/modules/sharing/templates/sharing.html:58 +msgid "public access" +msgstr "" + +#: plinth/modules/sharing/views.py:39 +msgid "Share added." +msgstr "" + +#: plinth/modules/sharing/views.py:44 +msgid "Add Share" +msgstr "" + +#: plinth/modules/sharing/views.py:59 +msgid "Share edited." +msgstr "" + +#: plinth/modules/sharing/views.py:64 +msgid "Edit Share" +msgstr "" + +#: plinth/modules/sharing/views.py:95 +msgid "Share deleted." +msgstr "" + +#: plinth/modules/snapshot/__init__.py:23 +msgid "" +"Snapshots allows creating and managing btrfs file system snapshots. These " +"can be used to roll back the system to a previously known good state in case " +"of unwanted changes to the system." +msgstr "" + +#: plinth/modules/snapshot/__init__.py:27 +#, no-python-format +msgid "" +"Snapshots are taken periodically (called timeline snapshots) and also before " +"and after a software installation. Older snapshots will be automatically " +"cleaned up according to the settings below." +msgstr "" + +#: plinth/modules/snapshot/__init__.py:30 +msgid "" +"Snapshots currently work on btrfs file systems only and on the root " +"partition only. Snapshots are not a replacement for backups since they can only be stored on the same partition. " +msgstr "" + +#: plinth/modules/snapshot/__init__.py:52 +msgid "Storage Snapshots" +msgstr "" + +#: plinth/modules/snapshot/forms.py:12 +msgid "Free Disk Space to Maintain" +msgstr "" + +#: plinth/modules/snapshot/forms.py:13 +msgid "" +"Maintain this percentage of free space on the disk. If free space falls " +"below this value, older snapshots are removed until this much free space is " +"regained. The default value is 30%." +msgstr "" + +#: plinth/modules/snapshot/forms.py:20 +msgid "Timeline Snapshots" +msgstr "" + +#: plinth/modules/snapshot/forms.py:21 +msgid "" +"Enable or disable timeline snapshots (hourly, daily, monthly and yearly)." +msgstr "" + +#: plinth/modules/snapshot/forms.py:26 +msgid "Software Installation Snapshots" +msgstr "" + +#: plinth/modules/snapshot/forms.py:27 +msgid "Enable or disable snapshots before and after software installation" +msgstr "" + +#: plinth/modules/snapshot/forms.py:32 +msgid "Hourly Snapshots Limit" +msgstr "" + +#: plinth/modules/snapshot/forms.py:33 +msgid "Keep a maximum of this many hourly snapshots." +msgstr "" + +#: plinth/modules/snapshot/forms.py:36 +msgid "Daily Snapshots Limit" +msgstr "" + +#: plinth/modules/snapshot/forms.py:37 +msgid "Keep a maximum of this many daily snapshots." +msgstr "" + +#: plinth/modules/snapshot/forms.py:40 +msgid "Weekly Snapshots Limit" +msgstr "" + +#: plinth/modules/snapshot/forms.py:41 +msgid "Keep a maximum of this many weekly snapshots." +msgstr "" + +#: plinth/modules/snapshot/forms.py:44 +msgid "Monthly Snapshots Limit" +msgstr "" + +#: plinth/modules/snapshot/forms.py:45 +msgid "Keep a maximum of this many monthly snapshots." +msgstr "" + +#: plinth/modules/snapshot/forms.py:48 +msgid "Yearly Snapshots Limit" +msgstr "" + +#: plinth/modules/snapshot/forms.py:49 +msgid "" +"Keep a maximum of this many yearly snapshots. The default value is 0 " +"(disabled)." +msgstr "" + +#: plinth/modules/snapshot/templates/snapshot_delete_selected.html:12 +msgid "Delete the following snapshots permanently?" +msgstr "" + +#: plinth/modules/snapshot/templates/snapshot_delete_selected.html:16 +#: plinth/modules/snapshot/templates/snapshot_manage.html:28 +#: plinth/modules/snapshot/templates/snapshot_rollback.html:24 +msgid "Number" +msgstr "" + +#: plinth/modules/snapshot/templates/snapshot_delete_selected.html:17 +#: plinth/modules/snapshot/templates/snapshot_manage.html:29 +#: plinth/modules/snapshot/templates/snapshot_rollback.html:25 +msgid "Date" +msgstr "" + +#: plinth/modules/snapshot/templates/snapshot_delete_selected.html:37 +#: plinth/modules/snapshot/templates/snapshot_manage.html:22 +#: plinth/modules/snapshot/views.py:175 +msgid "Delete Snapshots" +msgstr "" + +#: plinth/modules/snapshot/templates/snapshot_manage.html:18 +msgid "Create Snapshot" +msgstr "" + +#: plinth/modules/snapshot/templates/snapshot_manage.html:31 +msgid "Rollback" +msgstr "" + +#: plinth/modules/snapshot/templates/snapshot_manage.html:42 +msgid "active" +msgstr "" + +#: plinth/modules/snapshot/templates/snapshot_manage.html:51 +#, python-format +msgid "Rollback to snapshot #%(number)s" +msgstr "" + +#: plinth/modules/snapshot/templates/snapshot_not_supported.html:11 +#, python-format +msgid "" +"Your have a filesystem of type %(fs_type)s. Snapshots are " +"currently only available on %(types_supported)s filesystems." +msgstr "" + +#: plinth/modules/snapshot/templates/snapshot_rollback.html:12 +msgid "Roll back the system to this snapshot?" +msgstr "" + +#: plinth/modules/snapshot/templates/snapshot_rollback.html:15 +msgid "" +"A new snapshot with the current state of the file system will be " +"automatically created. You will be able to undo a rollback by reverting to " +"the newly created snapshot." +msgstr "" + +#: plinth/modules/snapshot/templates/snapshot_rollback.html:42 +#, python-format +msgid "Rollback to Snapshot #%(number)s" +msgstr "" + +#: plinth/modules/snapshot/views.py:30 +msgid "Manage Snapshots" +msgstr "" + +#: plinth/modules/snapshot/views.py:79 +msgid "Created snapshot." +msgstr "" + +#: plinth/modules/snapshot/views.py:135 +msgid "Storage snapshots configuration updated" +msgstr "" + +#: plinth/modules/snapshot/views.py:139 plinth/modules/tor/views.py:59 +#, python-brace-format +msgid "Action error: {0} [{1}] [{2}]" +msgstr "" + +#: plinth/modules/snapshot/views.py:154 +msgid "Deleted all snapshots" +msgstr "" + +#: plinth/modules/snapshot/views.py:158 +msgid "Deleted selected snapshots" +msgstr "" + +#: plinth/modules/snapshot/views.py:163 +msgid "Snapshot is currently in use. Please try again later." +msgstr "" + +#: plinth/modules/snapshot/views.py:186 +#, python-brace-format +msgid "Rolled back to snapshot #{number}." +msgstr "" + +#: plinth/modules/snapshot/views.py:189 +msgid "The system must be restarted to complete the rollback." +msgstr "" + +#: plinth/modules/snapshot/views.py:201 +msgid "Rollback to Snapshot" +msgstr "" + +#: plinth/modules/ssh/__init__.py:29 +msgid "" +"A Secure Shell server uses the secure shell protocol to accept connections " +"from remote computers. An authorized remote computer can perform " +"administration tasks, copy files or run other services using such " +"connections." +msgstr "" + +#: plinth/modules/ssh/__init__.py:50 +msgid "Secure Shell (SSH) Server" +msgstr "" + +#: plinth/modules/ssh/forms.py:13 +msgid "Disable password authentication" +msgstr "" + +#: plinth/modules/ssh/forms.py:14 +msgid "" +"Improves security by preventing password guessing. Ensure that you have " +"setup SSH keys in your administrator user account before enabling this " +"option." +msgstr "" + +#: plinth/modules/ssh/templates/ssh.html:11 +msgid "Server Fingerprints" +msgstr "" + +#: plinth/modules/ssh/templates/ssh.html:14 +msgid "" +"When connecting to the server, ensure that the fingerprint shown by the SSH " +"client matches one of these fingerprints." +msgstr "" + +#: plinth/modules/ssh/templates/ssh.html:23 +msgid "Algorithm" +msgstr "" + +#: plinth/modules/ssh/templates/ssh.html:24 +msgid "Fingerprint" +msgstr "" + +#: plinth/modules/ssh/views.py:48 +msgid "SSH authentication with password disabled." +msgstr "" + +#: plinth/modules/ssh/views.py:51 +msgid "SSH authentication with password enabled." +msgstr "" + +#: plinth/modules/sso/__init__.py:33 +msgid "Single Sign On" +msgstr "" + +#: plinth/modules/sso/templates/login.html:20 +msgid "Login" +msgstr "" + +#: plinth/modules/storage/__init__.py:30 +#, python-brace-format +msgid "" +"This module allows you to manage storage media attached to your {box_name}. " +"You can view the storage media currently in use, mount and unmount removable " +"media, expand the root partition etc." +msgstr "" + +#: plinth/modules/storage/__init__.py:54 plinth/modules/storage/__init__.py:320 +msgid "Storage" +msgstr "" + +#: plinth/modules/storage/__init__.py:213 +#, python-brace-format +msgid "{disk_size:.1f} bytes" +msgstr "" + +#: plinth/modules/storage/__init__.py:217 +#, python-brace-format +msgid "{disk_size:.1f} KiB" +msgstr "" + +#: plinth/modules/storage/__init__.py:221 +#, python-brace-format +msgid "{disk_size:.1f} MiB" +msgstr "" + +#: plinth/modules/storage/__init__.py:225 +#, python-brace-format +msgid "{disk_size:.1f} GiB" +msgstr "" + +#: plinth/modules/storage/__init__.py:228 +#, python-brace-format +msgid "{disk_size:.1f} TiB" +msgstr "" + +#: plinth/modules/storage/__init__.py:235 +msgid "The operation failed." +msgstr "" + +#: plinth/modules/storage/__init__.py:237 +msgid "The operation was cancelled." +msgstr "" + +#: plinth/modules/storage/__init__.py:239 +msgid "The device is already unmounting." +msgstr "" + +#: plinth/modules/storage/__init__.py:241 +msgid "The operation is not supported due to missing driver/tool support." +msgstr "" + +#: plinth/modules/storage/__init__.py:244 +msgid "The operation timed out." +msgstr "" + +#: 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:249 +msgid "Attempting to unmount a device that is busy." +msgstr "" + +#: plinth/modules/storage/__init__.py:251 +msgid "The operation has already been cancelled." +msgstr "" + +#: plinth/modules/storage/__init__.py:257 +msgid "Not authorized to perform the requested operation." +msgstr "" + +#: plinth/modules/storage/__init__.py:259 +msgid "The device is already mounted." +msgstr "" + +#: plinth/modules/storage/__init__.py:261 +msgid "The device is not mounted." +msgstr "" + +#: plinth/modules/storage/__init__.py:264 +msgid "Not permitted to use the requested option." +msgstr "" + +#: plinth/modules/storage/__init__.py:267 +msgid "The device is mounted by another user." +msgstr "" + +#: plinth/modules/storage/__init__.py:315 +#, no-python-format, python-brace-format +msgid "Low space on system partition: {percent_used}% used, {free_space} free." +msgstr "" + +#: plinth/modules/storage/__init__.py:317 +msgid "Low disk space" +msgstr "" + +#: plinth/modules/storage/forms.py:63 +msgid "Invalid directory name." +msgstr "" + +#: plinth/modules/storage/forms.py:80 +msgid "Directory does not exist." +msgstr "" + +#: plinth/modules/storage/forms.py:83 +msgid "Path is not a directory." +msgstr "" + +#: plinth/modules/storage/forms.py:86 +msgid "Directory is not readable by the user." +msgstr "" + +#: plinth/modules/storage/forms.py:89 +msgid "Directory is not writable by the user." +msgstr "" + +#: plinth/modules/storage/forms.py:94 +msgid "Directory" +msgstr "" + +#: plinth/modules/storage/forms.py:96 +msgid "Subdirectory (optional)" +msgstr "" + +#: plinth/modules/storage/forms.py:143 +msgid "Share" +msgstr "" + +#: plinth/modules/storage/forms.py:151 +msgid "Other directory (specify below)" +msgstr "" + +#: plinth/modules/storage/templates/storage.html:20 +msgid "The following storage devices are in use:" +msgstr "" + +#: plinth/modules/storage/templates/storage.html:26 +msgid "Label" +msgstr "" + +#: plinth/modules/storage/templates/storage.html:27 +msgid "Mount Point" +msgstr "" + +#: plinth/modules/storage/templates/storage.html:75 +msgid "Partition Expansion" +msgstr "" + +#: plinth/modules/storage/templates/storage.html:77 +#, python-format +msgid "" +"There is %(expandable_root_size)s of unallocated space available after your " +"root partition. Root partition can be expanded to use this space. This " +"will provide you additional free space to store your files." +msgstr "" + +#: plinth/modules/storage/templates/storage.html:87 +#: plinth/modules/storage/templates/storage_expand.html:24 +#: plinth/modules/storage/views.py:57 +msgid "Expand Root Partition" +msgstr "" + +#: plinth/modules/storage/templates/storage_expand.html:14 +#, python-format +msgid "" +"Please backup your data before proceeding. After this operation, " +"%(expandable_root_size)s of additional free space will be available in your " +"root partition." +msgstr "" + +#: plinth/modules/storage/views.py:69 +#, python-brace-format +msgid "Error expanding partition: {exception}" +msgstr "" + +#: plinth/modules/storage/views.py:72 +msgid "Partition expanded successfully." +msgstr "" + +#: plinth/modules/storage/views.py:90 +#, python-brace-format +msgid "{drive_vendor} {drive_model} can be safely unplugged." +msgstr "" + +#: plinth/modules/storage/views.py:94 +msgid "Device can be safely unplugged." +msgstr "" + +#: plinth/modules/storage/views.py:104 +#, python-brace-format +msgid "Error ejecting device: {error_message}" +msgstr "" + +#: plinth/modules/syncthing/__init__.py:26 +msgid "" +"Syncthing is an application to synchronize files across multiple devices, e." +"g. your desktop computer and mobile phone. Creation, modification, or " +"deletion of files on one device will be automatically replicated on all " +"other devices that also run Syncthing." +msgstr "" + +#: plinth/modules/syncthing/__init__.py:31 +#, python-brace-format +msgid "" +"Running Syncthing on {box_name} provides an extra synchronization point for " +"your data that is available most of the time, allowing your devices to " +"synchronize more often. {box_name} runs a single instance of Syncthing that " +"may be used by multiple users. Each user's set of devices may be " +"synchronized with a distinct set of folders. The web interface on " +"{box_name} is only available for users belonging to the \"admin\" or " +"\"syncthing\" group." +msgstr "" + +#: plinth/modules/syncthing/__init__.py:53 +msgid "Administer Syncthing application" +msgstr "" + +#: plinth/modules/syncthing/__init__.py:56 +#: plinth/modules/syncthing/manifest.py:13 +msgid "Syncthing" +msgstr "" + +#: plinth/modules/syncthing/__init__.py:57 +msgid "File Synchronization" +msgstr "" + +#: plinth/modules/tahoe/__init__.py:30 +msgid "" +"Tahoe-LAFS is a decentralized secure file storage system. It uses provider " +"independent security to store files over a distributed network of storage " +"nodes. Even if some of the nodes fail, your files can be retrieved from the " +"remaining nodes." +msgstr "" + +#: plinth/modules/tahoe/__init__.py:35 +#, python-brace-format +msgid "" +"This {box_name} hosts a storage node and an introducer by default. " +"Additional introducers can be added, which will introduce this node to the " +"other storage nodes." +msgstr "" + +#: plinth/modules/tahoe/__init__.py:66 +msgid "Tahoe-LAFS" +msgstr "" + +#: plinth/modules/tahoe/__init__.py:68 +msgid "Distributed File Storage" +msgstr "" + +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:17 +#, python-format +msgid "" +"The Tahoe-LAFS server domain is set to %(domain_name)s. Changing the " +"FreedomBox domain name needs a reinstall of Tahoe-LAFS and you WILL LOSE " +"DATA. You can access Tahoe-LAFS at https://%(domain_name)s:5678." +msgstr "" + +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:29 +msgid "Local introducer" +msgstr "" + +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:33 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:49 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:66 +msgid "Pet Name" +msgstr "" + +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:46 +msgid "Add new introducer" +msgstr "" + +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:57 +msgid "Add" +msgstr "" + +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:62 +msgid "Connected introducers" +msgstr "" + +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:79 +msgid "Remove" +msgstr "" + +#: plinth/modules/tor/__init__.py:34 +msgid "" +"Tor is an anonymous communication system. You can learn more about it from " +"the Tor Project website. For " +"best protection when web surfing, the Tor Project recommends that you use " +"the Tor Browser." +msgstr "" + +#: plinth/modules/tor/__init__.py:54 +msgid "Tor" +msgstr "" + +#: plinth/modules/tor/__init__.py:65 +msgid "Tor Onion Service" +msgstr "" + +#: plinth/modules/tor/__init__.py:69 +msgid "Tor Socks Proxy" +msgstr "" + +#: plinth/modules/tor/__init__.py:73 +msgid "Tor Bridge Relay" +msgstr "" + +#: plinth/modules/tor/__init__.py:98 +msgid "Tor relay port available" +msgstr "" + +#: plinth/modules/tor/__init__.py:108 +msgid "Obfs3 transport registered" +msgstr "" + +#: plinth/modules/tor/__init__.py:118 +msgid "Obfs4 transport registered" +msgstr "" + +#: plinth/modules/tor/__init__.py:211 +#, python-brace-format +msgid "Access URL {url} on tcp{kind} via Tor" +msgstr "" + +#: plinth/modules/tor/__init__.py:222 +#, python-brace-format +msgid "Confirm Tor usage at {url} on tcp{kind}" +msgstr "" + +#: plinth/modules/tor/forms.py:31 +msgid "" +"Enter a valid bridge with this format: [transport] IP:ORPort [fingerprint]" +msgstr "" + +#: plinth/modules/tor/forms.py:73 +msgid "Enable Tor" +msgstr "" + +#: plinth/modules/tor/forms.py:75 +msgid "Use upstream bridges to connect to Tor network" +msgstr "" + +#: plinth/modules/tor/forms.py:77 +msgid "" +"When enabled, the bridges configured below will be used to connect to the " +"Tor network. Use this option if your Internet Service Provider (ISP) blocks " +"or censors connections to the Tor Network. This will disable relay modes." +msgstr "" + +#: plinth/modules/tor/forms.py:82 +msgid "Upstream bridges" +msgstr "" + +#: plinth/modules/tor/forms.py:84 +msgid "" +"You can get some bridges from https://bridges.torproject.org/ and copy/paste the bridge information " +"here. Currently supported transports are none, obfs3, obfs4 and scamblesuit." +msgstr "" + +#: plinth/modules/tor/forms.py:90 +msgid "Enable Tor relay" +msgstr "" + +#: plinth/modules/tor/forms.py:91 +#, python-brace-format +msgid "" +"When enabled, your {box_name} will run a Tor relay and donate bandwidth to " +"the Tor network. Do this if you have more than 2 megabits/s of upload and " +"download bandwidth." +msgstr "" + +#: plinth/modules/tor/forms.py:96 +msgid "Enable Tor bridge relay" +msgstr "" + +#: plinth/modules/tor/forms.py:98 +msgid "" +"When enabled, relay information is published in the Tor bridge database " +"instead of public Tor relay database making it harder to censor this node. " +"This helps others circumvent censorship." +msgstr "" + +#: plinth/modules/tor/forms.py:103 +msgid "Enable Tor Hidden Service" +msgstr "" + +#: plinth/modules/tor/forms.py:105 +#, python-brace-format +msgid "" +"A hidden service will allow {box_name} to provide selected services (such as " +"wiki or chat) without revealing its location. Do not use this for strong " +"anonymity yet." +msgstr "" + +#: plinth/modules/tor/forms.py:110 +msgid "Download software packages over Tor" +msgstr "" + +#: plinth/modules/tor/forms.py:111 +msgid "" +"When enabled, software will be downloaded over the Tor network for " +"installations and upgrades. This adds a degree of privacy and security " +"during software downloads." +msgstr "" + +#: plinth/modules/tor/forms.py:126 +msgid "Specify at least one upstream bridge to use upstream bridges." +msgstr "" + +#: plinth/modules/tor/manifest.py:14 +msgid "Tor Browser" +msgstr "" + +#: plinth/modules/tor/manifest.py:30 +msgid "Orbot: Proxy with Tor" +msgstr "" + +#: plinth/modules/tor/templates/tor.html:26 +msgid "Tor configuration is being updated" +msgstr "" + +#: plinth/modules/tor/templates/tor.html:35 +msgid "Onion Service" +msgstr "" + +#: plinth/modules/tor/templates/tor.html:37 +msgid "Ports" +msgstr "" + +#: plinth/modules/tor/templates/tor.html:67 +msgid "Relay" +msgstr "" + +#: plinth/modules/tor/templates/tor.html:69 +#, python-format +msgid "" +"If your %(box_name)s is behind a router or firewall, you should make sure " +"the following ports are open, and port-forwarded, if necessary:" +msgstr "" + +#: plinth/modules/tor/templates/tor.html:97 +msgid "SOCKS" +msgstr "" + +#: plinth/modules/tor/templates/tor.html:100 +#, python-format +msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050." +msgstr "" + +#: plinth/modules/transmission/__init__.py:28 +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:51 +#: plinth/modules/transmission/manifest.py:9 +msgid "Transmission" +msgstr "" + +#: plinth/modules/ttrss/__init__.py:29 +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:33 +#, python-brace-format +msgid "" +"When enabled, Tiny Tiny RSS can be accessed by any user with a {box_name} login." +msgstr "" + +#: plinth/modules/ttrss/__init__.py:37 +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:54 +msgid "Read and subscribe to news feeds" +msgstr "" + +#: plinth/modules/ttrss/__init__.py:57 plinth/modules/ttrss/manifest.py:19 +msgid "Tiny Tiny RSS" +msgstr "" + +#: plinth/modules/ttrss/__init__.py:58 +msgid "News Feed Reader" +msgstr "" + +#: plinth/modules/ttrss/manifest.py:10 +msgid "Tiny Tiny RSS (Fork)" +msgstr "" + +#: plinth/modules/upgrades/__init__.py:23 +msgid "Check for and apply the latest software and security updates." +msgstr "" + +#: plinth/modules/upgrades/__init__.py:40 plinth/templates/setup.html:74 +msgid "Update" +msgstr "" + +#: plinth/modules/upgrades/__init__.py:78 +msgid "FreedomBox Updated" +msgstr "" + +#: plinth/modules/upgrades/forms.py:13 +msgid "Enable auto-update" +msgstr "" + +#: plinth/modules/upgrades/forms.py:14 +msgid "When enabled, FreedomBox automatically updates once a day." +msgstr "" + +#: plinth/modules/upgrades/templates/upgrades-new-release.html:9 +#, python-format +msgid "%(box_name)s Updated" +msgstr "" + +#: plinth/modules/upgrades/templates/upgrades-new-release.html:13 +#, python-format +msgid "" +"%(box_name)s has been updated to version %(version)s. See the release announcement." +msgstr "" + +#: plinth/modules/upgrades/templates/upgrades-new-release.html:22 +#: plinth/templates/notifications.html:44 +msgid "Dismiss" +msgstr "" + +#: plinth/modules/upgrades/templates/upgrades.html:30 +msgid "Update now" +msgstr "" + +#: plinth/modules/upgrades/templates/upgrades.html:39 +msgid "Updating..." +msgstr "" + +#: plinth/modules/upgrades/templates/upgrades.html:44 +msgid "" +"This may take a long time to complete. During an update, " +"you cannot install apps. Also, this web interface may be temporarily " +"unavailable and show an error. In that case, refresh the page to continue." +msgstr "" + +#: plinth/modules/upgrades/templates/upgrades.html:58 +msgid "Toggle recent update logs" +msgstr "" + +#: plinth/modules/upgrades/templates/upgrades_configure.html:11 +#: plinth/modules/upgrades/templates/upgrades_configure.html:12 +#: plinth/modules/upgrades/views.py:85 +msgid "Manual update" +msgstr "" + +#: plinth/modules/upgrades/views.py:46 +#, python-brace-format +msgid "Error when configuring unattended-upgrades: {error}" +msgstr "" + +#: plinth/modules/upgrades/views.py:50 +msgid "Automatic upgrades enabled" +msgstr "" + +#: plinth/modules/upgrades/views.py:53 +msgid "Automatic upgrades disabled" +msgstr "" + +#: plinth/modules/upgrades/views.py:79 +msgid "Upgrade process started." +msgstr "" + +#: plinth/modules/upgrades/views.py:82 +msgid "Starting upgrade failed." +msgstr "" + +#: plinth/modules/users/__init__.py:39 +msgid "" +"Create and managed user accounts. These accounts serve as centralized " +"authentication mechanism for most apps. Some apps further require a user " +"account to be part of a group to authorize the user to access the app." +msgstr "" + +#: plinth/modules/users/__init__.py:44 +#, python-brace-format +msgid "" +"Any user may login to {box_name} web interface to see a list of apps " +"relevant to them in the home page. However, only users of the admin " +"group may alter apps or system settings." +msgstr "" + +#: plinth/modules/users/__init__.py:65 +msgid "Users and Groups" +msgstr "" + +#: plinth/modules/users/__init__.py:78 +msgid "Access to all services and system settings" +msgstr "" + +#: plinth/modules/users/__init__.py:122 +#, python-brace-format +msgid "Check LDAP entry \"{search_item}\"" +msgstr "" + +#: plinth/modules/users/forms.py:36 +msgid "Username is taken or is reserved." +msgstr "" + +#: plinth/modules/users/forms.py:63 +msgid "Enter a valid username." +msgstr "" + +#: plinth/modules/users/forms.py:69 +msgid "" +"Required. 150 characters or fewer. English letters, digits and @/./-/_ only." +msgstr "" + +#: plinth/modules/users/forms.py:83 plinth/modules/users/forms.py:196 +msgid "Permissions" +msgstr "" + +#: plinth/modules/users/forms.py:85 +msgid "" +"user. The user will be able to log in to services that support single sign-" +"on through LDAP, if they are in the appropriate group.

Users in " +"the admin group will be able to log in to all services. They can also log in " +"to the system through SSH and have administrative privileges (sudo)." +msgstr "" + +#: plinth/modules/users/forms.py:122 plinth/modules/users/forms.py:345 +msgid "Creating LDAP user failed." +msgstr "" + +#: plinth/modules/users/forms.py:133 +#, python-brace-format +msgid "Failed to add new user to {group} group." +msgstr "" + +#: plinth/modules/users/forms.py:147 +msgid "Authorized SSH Keys" +msgstr "" + +#: plinth/modules/users/forms.py:149 +msgid "" +"Setting an SSH public key will allow this user to securely log in to the " +"system without using a password. You may enter multiple keys, one on each " +"line. Blank lines and lines starting with # will be ignored." +msgstr "" + +#: plinth/modules/users/forms.py:233 +msgid "Renaming LDAP user failed." +msgstr "" + +#: plinth/modules/users/forms.py:245 +msgid "Failed to remove user from group." +msgstr "" + +#: plinth/modules/users/forms.py:256 +msgid "Failed to add user to group." +msgstr "" + +#: plinth/modules/users/forms.py:265 +msgid "Unable to set SSH keys." +msgstr "" + +#: plinth/modules/users/forms.py:280 +msgid "Failed to change user status." +msgstr "" + +#: plinth/modules/users/forms.py:288 +msgid "Cannot delete the only administrator in the system." +msgstr "" + +#: plinth/modules/users/forms.py:319 +msgid "Changing LDAP user password failed." +msgstr "" + +#: plinth/modules/users/forms.py:354 +msgid "Failed to add new user to admin group." +msgstr "" + +#: plinth/modules/users/forms.py:371 +msgid "Failed to restrict console access." +msgstr "" + +#: plinth/modules/users/forms.py:383 +msgid "User account created, you are now logged in" +msgstr "" + +#: plinth/modules/users/templates/users_change_password.html:11 +#, python-format +msgid "Change Password for %(username)s" +msgstr "" + +#: plinth/modules/users/templates/users_change_password.html:21 +msgid "Save Password" +msgstr "" + +#: plinth/modules/users/templates/users_create.html:17 +#: plinth/modules/users/templates/users_list.html:27 +#: plinth/modules/users/templates/users_list.html:29 +#: plinth/modules/users/views.py:42 +msgid "Create User" +msgstr "" + +#: plinth/modules/users/templates/users_delete.html:11 +#: plinth/modules/users/views.py:120 +msgid "Delete User" +msgstr "" + +#: plinth/modules/users/templates/users_delete.html:14 +#, python-format +msgid "Delete user %(username)s permanently?" +msgstr "" + +#: plinth/modules/users/templates/users_delete.html:23 +#, python-format +msgid "Delete %(username)s" +msgstr "" + +#: plinth/modules/users/templates/users_firstboot.html:11 +msgid "Administrator Account" +msgstr "" + +#: plinth/modules/users/templates/users_firstboot.html:14 +msgid "" +"Choose a username and password to access this web interface. The password " +"can be changed later. This user will be granted administrative privileges. " +"Other users can be added later." +msgstr "" + +#: plinth/modules/users/templates/users_firstboot.html:27 +msgid "Create Account" +msgstr "" + +#: plinth/modules/users/templates/users_list.html:23 +#: plinth/modules/users/views.py:59 +msgid "Users" +msgstr "" + +#: plinth/modules/users/templates/users_list.html:42 +#, python-format +msgid "Delete user %(username)s" +msgstr "" + +#: plinth/modules/users/templates/users_list.html:50 +#, python-format +msgid "Edit user %(username)s" +msgstr "" + +#: plinth/modules/users/templates/users_update.html:15 +#, python-format +msgid "" +"Use the change password form to " +"change the password." +msgstr "" + +#: plinth/modules/users/templates/users_update.html:27 +#: plinth/templates/language-selection.html:17 +msgid "Save Changes" +msgstr "" + +#: plinth/modules/users/views.py:40 +#, python-format +msgid "User %(username)s created." +msgstr "" + +#: plinth/modules/users/views.py:74 +#, python-format +msgid "User %(username)s updated." +msgstr "" + +#: plinth/modules/users/views.py:75 +msgid "Edit User" +msgstr "" + +#: plinth/modules/users/views.py:130 +#, python-brace-format +msgid "User {user} deleted." +msgstr "" + +#: plinth/modules/users/views.py:137 +msgid "Deleting LDAP user failed." +msgstr "" + +#: plinth/modules/users/views.py:146 +msgid "Change Password" +msgstr "" + +#: plinth/modules/users/views.py:147 +msgid "Password changed successfully." +msgstr "" + +#: plinth/modules/wireguard/__init__.py:24 +msgid "WireGuard is a fast, modern, secure VPN tunnel." +msgstr "" + +#: plinth/modules/wireguard/__init__.py:26 +#, python-brace-format +msgid "" +"It can be used to connect to a VPN provider which supports WireGuard, and to " +"route all outgoing traffic from {box_name} through the VPN." +msgstr "" + +#: plinth/modules/wireguard/__init__.py:30 +#, python-brace-format +msgid "" +"A second use case is to connect a mobile device to {box_name} while " +"travelling. While connected to a public Wi-Fi network, all traffic can be " +"securely relayed through {box_name}." +msgstr "" + +#: plinth/modules/wireguard/__init__.py:52 +#: plinth/modules/wireguard/manifest.py:14 +msgid "WireGuard" +msgstr "" + +#: plinth/modules/wireguard/forms.py:32 +msgid "Invalid key." +msgstr "" + +#: plinth/modules/wireguard/forms.py:61 +#: plinth/modules/wireguard/templates/wireguard.html:17 +#: plinth/modules/wireguard/templates/wireguard.html:74 +#: plinth/modules/wireguard/templates/wireguard_delete_server.html:23 +msgid "Public Key" +msgstr "" + +#: plinth/modules/wireguard/forms.py:62 +msgid "" +"Public key of the peer. Example: " +"MConEJFIg6+DFHg2J1nn9SNLOSE9KR0ysdPgmPjibEs= ." +msgstr "" + +#: plinth/modules/wireguard/forms.py:70 +msgid "Endpoint of the server" +msgstr "" + +#: plinth/modules/wireguard/forms.py:71 +msgid "" +"Domain name and port in the form \"ip:port\". Example: demo.wireguard." +"com:12912 ." +msgstr "" + +#: plinth/modules/wireguard/forms.py:76 +msgid "Public key of the server" +msgstr "" + +#: plinth/modules/wireguard/forms.py:77 +msgid "" +"Provided by the server operator, a long string of characters. Example: " +"MConEJFIg6+DFHg2J1nn9SNLOSE9KR0ysdPgmPjibEs= ." +msgstr "" + +#: plinth/modules/wireguard/forms.py:82 +msgid "Client IP address provided by server" +msgstr "" + +#: plinth/modules/wireguard/forms.py:83 +msgid "" +"IP address assigned to this machine on the VPN after connecting to the " +"endpoint. This value is usually provided by the server operator. Example: " +"192.168.0.10." +msgstr "" + +#: plinth/modules/wireguard/forms.py:89 +msgid "Private key of this machine" +msgstr "" + +#: plinth/modules/wireguard/forms.py:90 +msgid "" +"Optional. New public/private keys are generated if left blank. Public key " +"can then be provided to the server. This is the recommended way. However, " +"some server operators insist on providing this. Example: " +"MConEJFIg6+DFHg2J1nn9SNLOSE9KR0ysdPgmPjibEs= ." +msgstr "" + +#: plinth/modules/wireguard/forms.py:98 +msgid "Pre-shared key" +msgstr "" + +#: plinth/modules/wireguard/forms.py:99 +msgid "" +"Optional. A shared secret key provided by the server to add an additional " +"layer of security. Fill in only if provided. Example: " +"MConEJFIg6+DFHg2J1nn9SNLOSE9KR0ysdPgmPjibEs=." +msgstr "" + +#: plinth/modules/wireguard/forms.py:105 +msgid "Use this connection to send all outgoing traffic" +msgstr "" + +#: plinth/modules/wireguard/forms.py:107 +msgid "Typically checked for a VPN service though which all traffic is sent." +msgstr "" + +#: plinth/modules/wireguard/templates/wireguard.html:10 +msgid "As a Server" +msgstr "" + +#: plinth/modules/wireguard/templates/wireguard.html:12 +msgid "Peers allowed to connect to this server:" +msgstr "" + +#: plinth/modules/wireguard/templates/wireguard.html:18 +msgid "Allowed IPs" +msgstr "" + +#: plinth/modules/wireguard/templates/wireguard.html:19 +#: plinth/modules/wireguard/templates/wireguard.html:75 +msgid "Last Connected Time" +msgstr "" + +#: plinth/modules/wireguard/templates/wireguard.html:38 +#, python-format +msgid "No peers configured to connect to this %(box_name)s yet." +msgstr "" + +#: plinth/modules/wireguard/templates/wireguard.html:47 +#, python-format +msgid "Public key for this %(box_name)s:" +msgstr "" + +#: plinth/modules/wireguard/templates/wireguard.html:53 +msgid "Not configured yet." +msgstr "" + +#: plinth/modules/wireguard/templates/wireguard.html:57 +msgid "Add a new peer" +msgstr "" + +#: plinth/modules/wireguard/templates/wireguard.html:61 +#: plinth/modules/wireguard/views.py:50 +msgid "Add Allowed Client" +msgstr "" + +#: plinth/modules/wireguard/templates/wireguard.html:64 +msgid "As a Client" +msgstr "" + +#: plinth/modules/wireguard/templates/wireguard.html:66 +#, python-format +msgid "Servers that %(box_name)s will connect to:" +msgstr "" + +#: plinth/modules/wireguard/templates/wireguard.html:73 +#: plinth/modules/wireguard/templates/wireguard_delete_server.html:19 +msgid "Endpoint" +msgstr "" + +#: plinth/modules/wireguard/templates/wireguard.html:96 +msgid "No connections to remote servers are configured yet." +msgstr "" + +#: plinth/modules/wireguard/templates/wireguard.html:104 +msgid "Add a new server" +msgstr "" + +#: plinth/modules/wireguard/templates/wireguard.html:108 +#: plinth/modules/wireguard/views.py:159 +msgid "Add Connection to Server" +msgstr "" + +#: plinth/modules/wireguard/templates/wireguard_add_client.html:19 +msgid "Add Client" +msgstr "" + +#: plinth/modules/wireguard/templates/wireguard_delete_client.html:14 +msgid "Are you sure that you want to delete this client?" +msgstr "" + +#: plinth/modules/wireguard/templates/wireguard_delete_server.html:14 +msgid "Are you sure that you want to delete this server?" +msgstr "" + +#: plinth/modules/wireguard/templates/wireguard_edit_client.html:19 +msgid "Update Client" +msgstr "" + +#: plinth/modules/wireguard/templates/wireguard_edit_server.html:19 +msgid "Update Connection" +msgstr "" + +#: plinth/modules/wireguard/templates/wireguard_show_client.html:12 +#, python-format +msgid "" +"%(box_name)s will allow this client to connect to it. Ensure that the client " +"is configured with the following information." +msgstr "" + +#: plinth/modules/wireguard/templates/wireguard_show_client.html:20 +msgid "Client public key:" +msgstr "" + +#: plinth/modules/wireguard/templates/wireguard_show_client.html:24 +msgid "IP address to use for client:" +msgstr "" + +#: plinth/modules/wireguard/templates/wireguard_show_client.html:28 +#: plinth/modules/wireguard/templates/wireguard_show_server.html:31 +msgid "Pre-shared key:" +msgstr "" + +#: plinth/modules/wireguard/templates/wireguard_show_client.html:32 +msgid "Server endpoints:" +msgstr "" + +#: plinth/modules/wireguard/templates/wireguard_show_client.html:40 +#: plinth/modules/wireguard/templates/wireguard_show_server.html:27 +msgid "Server public key:" +msgstr "" + +#: plinth/modules/wireguard/templates/wireguard_show_client.html:50 +#: plinth/modules/wireguard/templates/wireguard_show_server.html:49 +msgid "Data transmitted:" +msgstr "" + +#: plinth/modules/wireguard/templates/wireguard_show_client.html:54 +#: plinth/modules/wireguard/templates/wireguard_show_server.html:53 +msgid "Data received:" +msgstr "" + +#: plinth/modules/wireguard/templates/wireguard_show_client.html:58 +#: plinth/modules/wireguard/templates/wireguard_show_server.html:57 +msgid "Latest handshake:" +msgstr "" + +#: plinth/modules/wireguard/templates/wireguard_show_server.html:14 +#, python-format +msgid "" +"%(box_name)s will attempt to reach a WireGuard server with the following " +"information. Ensure that the server is configured to allow %(box_name)s's " +"public key and IP address." +msgstr "" + +#: plinth/modules/wireguard/templates/wireguard_show_server.html:23 +msgid "Server endpoint:" +msgstr "" + +#: plinth/modules/wireguard/templates/wireguard_show_server.html:35 +msgid "Public key of this machine:" +msgstr "" + +#: plinth/modules/wireguard/templates/wireguard_show_server.html:39 +msgid "IP address of this machine:" +msgstr "" + +#: plinth/modules/wireguard/views.py:45 +msgid "Added new client." +msgstr "" + +#: plinth/modules/wireguard/views.py:60 plinth/modules/wireguard/views.py:119 +msgid "Client with public key already exists" +msgstr "" + +#: plinth/modules/wireguard/views.py:73 +msgid "Allowed Client" +msgstr "" + +#: plinth/modules/wireguard/views.py:95 +msgid "Updated client." +msgstr "" + +#: plinth/modules/wireguard/views.py:100 +msgid "Modify Client" +msgstr "" + +#: plinth/modules/wireguard/views.py:133 +msgid "Delete Allowed Client" +msgstr "" + +#: plinth/modules/wireguard/views.py:142 +msgid "Client deleted." +msgstr "" + +#: plinth/modules/wireguard/views.py:144 +msgid "Client not found" +msgstr "" + +#: plinth/modules/wireguard/views.py:154 +msgid "Added new server." +msgstr "" + +#: plinth/modules/wireguard/views.py:175 +msgid "Connection to Server" +msgstr "" + +#: plinth/modules/wireguard/views.py:193 +msgid "Updated server." +msgstr "" + +#: plinth/modules/wireguard/views.py:198 +msgid "Modify Connection to Server" +msgstr "" + +#: plinth/modules/wireguard/views.py:235 +msgid "Delete Connection to Server" +msgstr "" + +#: plinth/modules/wireguard/views.py:255 +msgid "Server deleted." +msgstr "" + +#: plinth/network.py:27 +msgid "PPPoE" +msgstr "" + +#: plinth/network.py:28 +msgid "Generic" +msgstr "" + +#: plinth/package.py:122 +msgid "Error during installation" +msgstr "" + +#: plinth/package.py:144 +msgid "installing" +msgstr "" + +#: plinth/package.py:146 +msgid "downloading" +msgstr "" + +#: plinth/package.py:148 +msgid "media change" +msgstr "" + +#: plinth/package.py:150 +#, python-brace-format +msgid "configuration file: {file}" +msgstr "" + +#: plinth/templates/403.html:10 +msgid "403 Forbidden" +msgstr "" + +#: plinth/templates/403.html:14 +#, python-format +msgid "You don't have permission to access %(request_path)s on this server." +msgstr "" + +#: plinth/templates/404.html:10 +msgid "404" +msgstr "" + +#: plinth/templates/404.html:13 +#, python-format +msgid "Requested page %(request_path)s was not found." +msgstr "" + +#: plinth/templates/404.html:19 +msgid "" +"If you believe this missing page should exist, please file a bug at the " +"FreedomBox Service (Plinth) project issue tracker." +msgstr "" + +#: plinth/templates/500.html:10 +msgid "500" +msgstr "" + +#: plinth/templates/500.html:14 +#, python-format +msgid "" +"This is an internal error and not something you caused or can fix. Please " +"report the error on the bug tracker so we can fix it. Also, please attach the status log to the bug report." +msgstr "" + +#: plinth/templates/app-header.html:22 +msgid "Installation" +msgstr "" + +#: plinth/templates/app.html:29 +#, python-format +msgid "Service %(service_name)s is not running." +msgstr "" + +#: plinth/templates/base.html:35 +#, python-format +msgid "Core functionality and web interface for %(box_name)s" +msgstr "" + +#: plinth/templates/base.html:80 +msgid "Toggle navigation" +msgstr "" + +#: plinth/templates/base.html:104 plinth/templates/base.html:107 +msgid "Home" +msgstr "" + +#: plinth/templates/base.html:112 plinth/templates/base.html:116 +msgid "Apps" +msgstr "" + +#: plinth/templates/base.html:121 plinth/templates/base.html:125 +msgid "System" +msgstr "" + +#: plinth/templates/base.html:157 plinth/templates/base.html:158 +msgid "Change password" +msgstr "" + +#: plinth/templates/base.html:165 plinth/templates/base.html:166 +msgid "Restart" +msgstr "" + +#: plinth/templates/base.html:171 plinth/templates/base.html:172 +msgid "Shut down" +msgstr "" + +#: plinth/templates/base.html:179 plinth/templates/base.html:180 +#: plinth/templates/base.html:204 plinth/templates/base.html:206 +msgid "Log out" +msgstr "" + +#: plinth/templates/base.html:188 plinth/templates/base.html:191 +msgid "Select language" +msgstr "" + +#: plinth/templates/base.html:196 plinth/templates/base.html:198 +msgid "Log in" +msgstr "" + +#: plinth/templates/clients-button.html:16 +msgid "Launch web client" +msgstr "" + +#: plinth/templates/clients-button.html:25 +msgid "Client Apps" +msgstr "" + +#: plinth/templates/clients.html:17 +msgid "Web" +msgstr "" + +#: plinth/templates/clients.html:42 +msgid "Desktop" +msgstr "" + +#: plinth/templates/clients.html:53 +msgid "GNU/Linux" +msgstr "" + +#: plinth/templates/clients.html:55 +msgid "Windows" +msgstr "" + +#: plinth/templates/clients.html:57 +msgid "macOS" +msgstr "" + +#: plinth/templates/clients.html:73 +msgid "Mobile" +msgstr "" + +#: plinth/templates/clients.html:84 +msgid "Play Store" +msgstr "" + +#: plinth/templates/clients.html:86 +msgid "F-Droid" +msgstr "" + +#: plinth/templates/clients.html:88 +msgid "App Store" +msgstr "" + +#: plinth/templates/clients.html:104 +msgid "Package" +msgstr "" + +#: plinth/templates/clients.html:111 +msgid "Debian:" +msgstr "" + +#: plinth/templates/clients.html:114 +msgid "Homebrew:" +msgstr "" + +#: plinth/templates/clients.html:117 +msgid "RPM:" +msgstr "" + +#: plinth/templates/first_setup.html:24 +#, python-format +msgid "" +"Please wait for %(box_name)s to finish installation. You can start using " +"your %(box_name)s once it is done." +msgstr "" + +#: plinth/templates/index.html:22 +#, python-format +msgid "" +"Enable some applications to add shortcuts to " +"this page." +msgstr "" + +#: plinth/templates/index.html:46 +msgid "Configure »" +msgstr "" + +#: plinth/templates/index.html:108 +#, python-format +msgid "" +"%(box_name)s, a Debian pure blend, is a 100%% free software self-hosting web " +"server to deploy social applications on small machines. It provides online " +"communication tools respecting your privacy and data ownership." +msgstr "" + +#: plinth/templates/index.html:117 +#, python-format +msgid "" +"This portal is a part of the %(box_name)s web interface. %(box_name)s is " +"free software, distributed under the GNU Affero General Public License, " +"Version 3 or later." +msgstr "" + +#: plinth/templates/index.html:137 +msgid "Homepage" +msgstr "" + +#: plinth/templates/index.html:140 +msgid "Source Code" +msgstr "" + +#: plinth/templates/index.html:143 +msgid "Donate" +msgstr "" + +#: plinth/templates/index.html:147 +msgid "FreedomBox Foundation" +msgstr "" + +#: plinth/templates/index.html:154 +msgid "IRC Chatroom" +msgstr "" + +#: plinth/templates/index.html:159 +msgid "Mailing list" +msgstr "" + +#: plinth/templates/internal-zone.html:11 +#, python-format +msgid "%(service_name)s is available only on internal networks." +msgstr "" + +#: plinth/templates/internal-zone.html:17 +msgid "Currently there are no network interfaces configured as internal." +msgstr "" + +#: plinth/templates/internal-zone.html:19 +#, python-format +msgid "" +"Currently the following network interfaces are configured as internal: " +"%(interface_list)s" +msgstr "" + +#: plinth/templates/notifications-dropdown.html:11 +msgid "Notifications" +msgstr "" + +#: plinth/templates/port-forwarding-info.html:8 +msgid "Port Forwarding" +msgstr "" + +#: plinth/templates/port-forwarding-info.html:11 +#, python-format +msgid "" +"If your FreedomBox is behind a router, you will need to set up port " +"forwarding on your router. You should forward the following ports for " +"%(service_name)s:" +msgstr "" + +#: plinth/templates/setup.html:36 +msgid "Install this application?" +msgstr "" + +#: plinth/templates/setup.html:40 +msgid "This application needs an update. Update now?" +msgstr "" + +#: plinth/templates/setup.html:51 +msgid "" +"Another installation or upgrade is already running. Please wait for a few " +"moments before trying again." +msgstr "" + +#: plinth/templates/setup.html:58 +msgid "This application is currently not available in your distribution." +msgstr "" + +#: plinth/templates/setup.html:72 +msgid "Install" +msgstr "" + +#: plinth/templates/setup.html:83 +msgid "Performing pre-install operation" +msgstr "" + +#: plinth/templates/setup.html:87 +msgid "Performing post-install operation" +msgstr "" + +#: plinth/templates/setup.html:92 +#, python-format +msgid "Installing %(package_names)s: %(status)s" +msgstr "" + +#: plinth/templates/setup.html:102 +#, python-format +msgid "%(percentage)s%% complete" +msgstr "" + +#: plinth/web_framework.py:107 +msgid "Gujarati" +msgstr "" + +#~ msgid "Enable application" +#~ msgstr "Aktiviraj aplikaciju" diff --git a/plinth/locale/sv/LC_MESSAGES/django.po b/plinth/locale/sv/LC_MESSAGES/django.po index bc12ed5ba..187e02449 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: 2020-03-23 18:54-0400\n" +"POT-Creation-Date: 2020-04-06 19:59-0400\n" "PO-Revision-Date: 2020-03-23 21:41+0000\n" "Last-Translator: James Valleroy \n" "Language-Team: Swedish web client användare med en {box_name} inloggning." -#: plinth/modules/ejabberd/__init__.py:70 +#: plinth/modules/ejabberd/__init__.py:69 msgid "ejabberd" msgstr "ejabbert" -#: plinth/modules/ejabberd/__init__.py:71 +#: plinth/modules/ejabberd/__init__.py:70 #: plinth/modules/matrixsynapse/__init__.py:68 msgid "Chat Server" msgstr "Chat-Server" -#: plinth/modules/ejabberd/forms.py:17 +#: plinth/modules/ejabberd/forms.py:16 msgid "Enable Message Archive Management" msgstr "Aktivera meddelandearkivhantering" -#: plinth/modules/ejabberd/forms.py:19 +#: plinth/modules/ejabberd/forms.py:18 #, python-brace-format msgid "" "If enabled, your {box_name} will store chat message histories. This allows " @@ -1524,19 +1512,11 @@ msgstr "" "kommer att se ut som användarnamn@%(domainname)s. Du kan ställa in " "din domän på systemet Konfigurera sidan." -#: plinth/modules/ejabberd/templates/ejabberd.html:35 -#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 -#: plinth/modules/snapshot/templates/snapshot.html:12 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:27 -#: plinth/templates/app.html:45 -msgid "Configuration" -msgstr "Konfiguration" - -#: plinth/modules/ejabberd/views.py:58 +#: plinth/modules/ejabberd/views.py:45 msgid "Message Archive Management enabled" msgstr "Meddelandearkivhantering aktiverad" -#: plinth/modules/ejabberd/views.py:62 +#: plinth/modules/ejabberd/views.py:49 msgid "Message Archive Management disabled" msgstr "Meddelandearkivhantering avaktiverad" @@ -1551,7 +1531,7 @@ msgstr "" "nätverkstrafiken på din {box_name}. Att ha en brandvägg aktiverad och " "korrekt konfigurerad minskar risken för säkerhetshot från Internet." -#: plinth/modules/firewall/__init__.py:63 +#: plinth/modules/firewall/__init__.py:65 msgid "Firewall" msgstr "Brandvägg" @@ -1699,7 +1679,7 @@ msgstr "" "För att lära dig mer om hur du använder Git besökGit handledning." -#: plinth/modules/gitweb/__init__.py:39 +#: plinth/modules/gitweb/__init__.py:51 msgid "Read-write access to Git repositories" msgstr "Läs-skrivåtkomst till Git-respositories" @@ -1833,31 +1813,31 @@ msgstr "{name} borttagen." msgid "Could not delete {name}: {error}" msgstr "Kunde inte ta bort {name}: {error}" -#: plinth/modules/help/__init__.py:30 +#: plinth/modules/help/__init__.py:32 msgid "Documentation" msgstr "Dokumentation" -#: plinth/modules/help/__init__.py:33 plinth/modules/networks/forms.py:47 +#: plinth/modules/help/__init__.py:35 plinth/modules/networks/forms.py:47 #: plinth/modules/networks/forms.py:77 plinth/templates/help-menu.html:20 #: plinth/templates/help-menu.html:21 plinth/templates/index.html:128 msgid "Manual" msgstr "Manual" -#: plinth/modules/help/__init__.py:37 +#: plinth/modules/help/__init__.py:39 #: plinth/modules/help/templates/help_support.html:9 #: plinth/modules/help/views.py:43 plinth/templates/help-menu.html:27 #: plinth/templates/help-menu.html:28 msgid "Get Support" msgstr "Få stöd" -#: plinth/modules/help/__init__.py:41 +#: plinth/modules/help/__init__.py:43 #: plinth/modules/help/templates/help_feedback.html:9 #: plinth/modules/help/views.py:37 plinth/templates/help-menu.html:33 #: plinth/templates/help-menu.html:34 msgid "Submit Feedback" msgstr "Skicka feedback" -#: plinth/modules/help/__init__.py:45 +#: plinth/modules/help/__init__.py:47 #: plinth/modules/help/templates/help_contribute.html:9 #: plinth/modules/help/views.py:31 plinth/templates/help-menu.html:39 #: plinth/templates/help-menu.html:40 @@ -2001,7 +1981,7 @@ msgstr "" #: plinth/modules/help/templates/help_contribute.html:42 #: plinth/modules/power/templates/power_restart.html:27 #: plinth/modules/power/templates/power_shutdown.html:26 -#: plinth/templates/app-header.html:51 +#: plinth/templates/app-header.html:53 msgid "Learn more..." msgstr "Läs mer..." @@ -2187,19 +2167,19 @@ msgstr "" "Det första besöket i det medföljande webbgränssnittet kommer att initiera " "konfigurationsprocessen." -#: plinth/modules/i2p/__init__.py:38 +#: plinth/modules/i2p/__init__.py:62 msgid "Manage I2P application" msgstr "Hantera I2P appen" -#: plinth/modules/i2p/__init__.py:64 plinth/modules/i2p/manifest.py:16 +#: plinth/modules/i2p/__init__.py:65 plinth/modules/i2p/manifest.py:16 msgid "I2P" msgstr "I2P" -#: plinth/modules/i2p/__init__.py:65 plinth/modules/tor/__init__.py:56 +#: plinth/modules/i2p/__init__.py:66 plinth/modules/tor/__init__.py:55 msgid "Anonymity Network" msgstr "Anonymitetsnätverk" -#: plinth/modules/i2p/__init__.py:87 +#: plinth/modules/i2p/__init__.py:88 msgid "I2P Proxy" msgstr "I2P proxy" @@ -2267,18 +2247,18 @@ msgstr "" "redigera befindliga. I Användarkonfiguration kan du ändra dessa behörigheter eller lägga till nya användare." -#: plinth/modules/ikiwiki/__init__.py:39 -msgid "View and edit wiki applications" -msgstr "Visa och redigera wiki-applikationer" - -#: plinth/modules/ikiwiki/__init__.py:53 plinth/modules/ikiwiki/manifest.py:9 +#: plinth/modules/ikiwiki/__init__.py:52 plinth/modules/ikiwiki/manifest.py:9 msgid "ikiwiki" msgstr "Ikiwiki" -#: plinth/modules/ikiwiki/__init__.py:54 +#: plinth/modules/ikiwiki/__init__.py:53 msgid "Wiki and Blog" msgstr "Wiki och Blogg" +#: plinth/modules/ikiwiki/__init__.py:73 +msgid "View and edit wiki applications" +msgstr "Visa och redigera wiki-applikationer" + #: plinth/modules/ikiwiki/forms.py:17 msgid "Admin Account Name" msgstr "Namn på administratörskontot" @@ -2324,32 +2304,32 @@ msgstr "" "Den här åtgärden tar bort alla inlägg, sidor och kommentarer, även " "versionshistorik. Ta bort denna wiki eller blogg permanent?" -#: plinth/modules/ikiwiki/views.py:72 +#: plinth/modules/ikiwiki/views.py:70 #, python-brace-format msgid "Created wiki {name}." msgstr "Skapade wiki {name}." -#: plinth/modules/ikiwiki/views.py:75 +#: plinth/modules/ikiwiki/views.py:73 #, python-brace-format msgid "Could not create wiki: {error}" msgstr "Kunde inte skapa wiki: {error}" -#: plinth/modules/ikiwiki/views.py:85 +#: plinth/modules/ikiwiki/views.py:83 #, python-brace-format msgid "Created blog {name}." msgstr "Blogg skapad {name}." -#: plinth/modules/ikiwiki/views.py:88 +#: plinth/modules/ikiwiki/views.py:86 #, python-brace-format msgid "Could not create blog: {error}" msgstr "Kunde inte skapa blogg: {error}" -#: plinth/modules/ikiwiki/views.py:103 +#: plinth/modules/ikiwiki/views.py:101 #, python-brace-format msgid "{title} deleted." msgstr "{title} borttagen." -#: plinth/modules/ikiwiki/views.py:107 +#: plinth/modules/ikiwiki/views.py:105 #, python-brace-format msgid "Could not delete {title}: {error}" msgstr "Kunde inte ta bort {title}: {error}" @@ -2394,7 +2374,7 @@ msgstr "" "Starta Gobby och välj \"Anslut till server\" och ange ditt {box_name} " "domännamn." -#: plinth/modules/jsxc/__init__.py:22 +#: plinth/modules/jsxc/__init__.py:23 msgid "" "JSXC is a web client for XMPP. Typically it is used with an XMPP server " "running locally." @@ -2402,11 +2382,11 @@ msgstr "" "JSXC är en webbklient för XMPP. Vanligtvis används den med en XMPP-server " "som körs lokalt." -#: plinth/modules/jsxc/__init__.py:40 plinth/modules/jsxc/manifest.py:10 +#: plinth/modules/jsxc/__init__.py:43 plinth/modules/jsxc/manifest.py:10 msgid "JSXC" msgstr "JSXC" -#: plinth/modules/jsxc/__init__.py:41 +#: plinth/modules/jsxc/__init__.py:44 msgid "Chat Client" msgstr "Chat klient" @@ -2592,11 +2572,11 @@ msgstr "" msgid "Matrix Synapse" msgstr "Matrix Synapse" -#: plinth/modules/matrixsynapse/forms.py:14 +#: plinth/modules/matrixsynapse/forms.py:12 msgid "Enable Public Registration" msgstr "Aktivera offentlig registrering" -#: plinth/modules/matrixsynapse/forms.py:15 +#: plinth/modules/matrixsynapse/forms.py:13 msgid "" "Enabling public registration means that anyone on the Internet can register " "a new account on your Matrix server. Disable this if you only want existing " @@ -2610,6 +2590,12 @@ msgstr "" msgid "Riot" msgstr "Upplopp" +#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 +#: plinth/modules/snapshot/templates/snapshot.html:12 +#: plinth/templates/app.html:46 +msgid "Configuration" +msgstr "Konfiguration" + #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:18 msgid "" "Matrix service needs to be configured for a domain. Users on other Matrix " @@ -2672,11 +2658,11 @@ msgstr "" "certifikat. Gå till Let's Encrypt för " "att få en sådan." -#: plinth/modules/matrixsynapse/views.py:98 +#: plinth/modules/matrixsynapse/views.py:86 msgid "Public registration enabled" msgstr "Offentlig registrering aktiverad" -#: plinth/modules/matrixsynapse/views.py:103 +#: plinth/modules/matrixsynapse/views.py:91 msgid "Public registration disabled" msgstr "Offentlig registrering avaktiverad" @@ -2723,11 +2709,11 @@ msgstr "MediaWiki" msgid "Wiki" msgstr "Wiki" -#: plinth/modules/mediawiki/forms.py:27 +#: plinth/modules/mediawiki/forms.py:25 msgid "Administrator Password" msgstr "Administratörs lösenord" -#: plinth/modules/mediawiki/forms.py:28 +#: plinth/modules/mediawiki/forms.py:26 msgid "" "Set a new password for MediaWiki's administrator account (admin). Leave this " "field blank to keep the current password." @@ -2735,11 +2721,11 @@ msgstr "" "Ställ in ett nytt lösenord för MediaWikis administratörskonto (admin). Lämna " "det här fältet tomt för att behålla det aktuella lösenordet." -#: plinth/modules/mediawiki/forms.py:33 +#: plinth/modules/mediawiki/forms.py:31 msgid "Enable public registrations" msgstr "Aktivera offentliga registreringar" -#: plinth/modules/mediawiki/forms.py:34 +#: plinth/modules/mediawiki/forms.py:32 msgid "" "If enabled, anyone on the internet will be able to create an account on your " "MediaWiki instance." @@ -2747,11 +2733,11 @@ msgstr "" "Om aktiverad, kommer alla på Internet att kunna skapa ett konto på din " "MediaWiki instans." -#: plinth/modules/mediawiki/forms.py:38 +#: plinth/modules/mediawiki/forms.py:36 msgid "Enable private mode" msgstr "Aktivera privat läge" -#: plinth/modules/mediawiki/forms.py:39 +#: plinth/modules/mediawiki/forms.py:37 msgid "" "If enabled, access will be restricted. Only people who have accounts can " "read/write to the wiki. Public registrations will also be disabled." @@ -2760,11 +2746,11 @@ msgstr "" "läsa/skriva till wiki. Offentliga registreringar kommer också att " "inaktiveras." -#: plinth/modules/mediawiki/forms.py:44 +#: plinth/modules/mediawiki/forms.py:42 msgid "Default Skin" msgstr "Standardskal" -#: plinth/modules/mediawiki/forms.py:45 +#: plinth/modules/mediawiki/forms.py:43 msgid "" "Choose a default skin for your MediaWiki installation. Users have the option " "to select their preferred skin." @@ -2772,31 +2758,31 @@ msgstr "" "Välj ett standardskal för din MediaWiki-installation. Användare har " "möjlighet att välja önskad utseendet." -#: plinth/modules/mediawiki/views.py:53 +#: plinth/modules/mediawiki/views.py:48 msgid "Password updated" msgstr "Lösenord uppdaterad" -#: plinth/modules/mediawiki/views.py:72 +#: plinth/modules/mediawiki/views.py:57 msgid "Public registrations enabled" msgstr "Offentliga registreringar aktiverade" -#: plinth/modules/mediawiki/views.py:81 +#: plinth/modules/mediawiki/views.py:66 msgid "Public registrations disabled" msgstr "Offentliga registreringar avaktiverad" -#: plinth/modules/mediawiki/views.py:86 +#: plinth/modules/mediawiki/views.py:71 msgid "Private mode enabled" msgstr "Privat läge aktiverat" -#: plinth/modules/mediawiki/views.py:93 +#: plinth/modules/mediawiki/views.py:78 msgid "Private mode disabled" msgstr "Privat läge inaktiverat" -#: plinth/modules/mediawiki/views.py:101 +#: plinth/modules/mediawiki/views.py:86 msgid "Default skin changed" msgstr "Standardskal ändrat" -#: plinth/modules/minetest/__init__.py:37 +#: plinth/modules/minetest/__init__.py:38 #, python-brace-format msgid "" "Minetest is a multiplayer infinite-world block sandbox. This module enables " @@ -2809,20 +2795,20 @@ msgstr "" "(30000). För att ansluta till servern, en Minetest klient behövs." -#: plinth/modules/minetest/__init__.py:63 +#: plinth/modules/minetest/__init__.py:62 #: plinth/modules/minetest/manifest.py:10 msgid "Minetest" msgstr "Minetest" -#: plinth/modules/minetest/__init__.py:64 +#: plinth/modules/minetest/__init__.py:63 msgid "Block Sandbox" msgstr "Block sandbox" -#: plinth/modules/minetest/forms.py:15 +#: plinth/modules/minetest/forms.py:13 msgid "Maximum number of players" msgstr "Maximalt antal spelare" -#: plinth/modules/minetest/forms.py:17 +#: plinth/modules/minetest/forms.py:15 msgid "" "You can change the maximum number of players playing minetest at a single " "instance of time." @@ -2830,11 +2816,11 @@ msgstr "" "Du kan ändra det maximala antalet spelare som spelar minetest vid en enda " "instans av tid." -#: plinth/modules/minetest/forms.py:21 +#: plinth/modules/minetest/forms.py:19 msgid "Enable creative mode" msgstr "Aktivera kreativt läge" -#: plinth/modules/minetest/forms.py:22 +#: plinth/modules/minetest/forms.py:20 msgid "" "Creative mode changes the rules of the game to make it more suitable for " "creative gameplay, rather than challenging \"survival\" gameplay." @@ -2842,20 +2828,20 @@ msgstr "" "Kreativt läge ändrar spelets regler för att göra det mer lämpligt för " "kreativt spel, snarare än att utmana \"survival\" -spel." -#: plinth/modules/minetest/forms.py:27 +#: plinth/modules/minetest/forms.py:25 msgid "Enable PVP" msgstr "Aktivera PVP" -#: plinth/modules/minetest/forms.py:28 +#: plinth/modules/minetest/forms.py:26 msgid "Enabling Player Vs Player will allow players to damage other players." msgstr "" "Aktivering av spelare mot spelare gör att spelare kan skada andra spelare." -#: plinth/modules/minetest/forms.py:32 +#: plinth/modules/minetest/forms.py:30 msgid "Enable damage" msgstr "Aktivera skador" -#: plinth/modules/minetest/forms.py:33 +#: plinth/modules/minetest/forms.py:31 msgid "When disabled, players cannot die or receive damage of any kind." msgstr "Om inaktiverat kan spelare inte dö eller få skador av något slag." @@ -2902,19 +2888,19 @@ msgstr "" "certifiering som bärbara mediaspelare, smartphones, TV-apparater och " "spelsystem (såsom PS3 och Xbox 360) eller applikationer som totem och Kodi." -#: plinth/modules/minidlna/__init__.py:33 +#: plinth/modules/minidlna/__init__.py:44 msgid "Media streaming server" msgstr "Media Streaming Server" -#: plinth/modules/minidlna/__init__.py:47 +#: plinth/modules/minidlna/__init__.py:48 msgid "Simple Media Server" msgstr "Enkel mediaserver" -#: plinth/modules/minidlna/forms.py:15 +#: plinth/modules/minidlna/forms.py:13 msgid "Media Files Directory" msgstr "Media-filer katalog" -#: plinth/modules/minidlna/forms.py:16 +#: plinth/modules/minidlna/forms.py:14 msgid "" "Directory that MiniDLNA Server will read for content. All sub-directories of " "this will be also scanned for media files. If you change the default ensure " @@ -2979,16 +2965,16 @@ msgid "" msgstr "" "På {box_name}, kan nedladdade filer hittas i /var/lib/mldonkey/ mappen." -#: plinth/modules/mldonkey/__init__.py:40 +#: plinth/modules/mldonkey/__init__.py:50 msgid "Download files using eDonkey applications" msgstr "Ladda ner filer med eDonkey program" -#: plinth/modules/mldonkey/__init__.py:54 +#: plinth/modules/mldonkey/__init__.py:53 #: plinth/modules/mldonkey/manifest.py:12 msgid "MLDonkey" msgstr "Mldonkey" -#: plinth/modules/mldonkey/__init__.py:56 +#: plinth/modules/mldonkey/__init__.py:55 msgid "Peer-to-peer File Sharing" msgstr "Peer-to-peer fildelning" @@ -3000,7 +2986,7 @@ msgstr "KML Donkey" msgid "AMLDonkey" msgstr "AMLDonkey" -#: plinth/modules/monkeysphere/__init__.py:18 +#: plinth/modules/monkeysphere/__init__.py:19 msgid "" "With Monkeysphere, an OpenPGP key can be generated for each configured " "domain serving SSH. The OpenPGP public key can then be uploaded to the " @@ -3020,7 +3006,7 @@ msgstr "" "Se " "Monkeysphere SSH dokumentation för mer information." -#: plinth/modules/monkeysphere/__init__.py:26 +#: plinth/modules/monkeysphere/__init__.py:27 msgid "" "Monkeysphere can also generate an OpenPGP key for each Secure Web Server " "(HTTPS) certificate installed on this machine. The OpenPGP public key can " @@ -3038,7 +3024,7 @@ msgstr "" "program som finns på Monkeyshere webbsida." -#: plinth/modules/monkeysphere/__init__.py:50 +#: plinth/modules/monkeysphere/__init__.py:49 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:11 msgid "Monkeysphere" msgstr "Monkeysphere" @@ -3087,15 +3073,15 @@ msgstr "Visa Detaljer för nyckel %(fingerprint)s" msgid "-" msgstr "-" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:128 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:129 msgid "Import Key" msgstr "Importera nyckel" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:137 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:139 msgid "Publish Key" msgstr "Publicera nyckel" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:146 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:149 msgid "Add Domains" msgstr "Lägg till domäner" @@ -3167,7 +3153,7 @@ msgstr "Publicerade nyckeln till nyckelserver." msgid "Error occurred while publishing key." msgstr "Fel uppstod när nyckeln publicerades." -#: plinth/modules/mumble/__init__.py:23 +#: plinth/modules/mumble/__init__.py:24 msgid "" "Mumble is an open source, low-latency, encrypted, high quality voice chat " "software." @@ -3175,7 +3161,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:25 +#: plinth/modules/mumble/__init__.py:26 msgid "" "You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your " @@ -3185,19 +3171,19 @@ msgstr "" "\"http://mumble.info\"> Appar finns för att ansluta till Mumble från din " "dator- och Android-enheter." -#: plinth/modules/mumble/__init__.py:49 plinth/modules/mumble/manifest.py:12 +#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:12 msgid "Mumble" msgstr "Mumble" -#: plinth/modules/mumble/__init__.py:50 +#: plinth/modules/mumble/__init__.py:49 msgid "Voice Chat" msgstr "Röstchatt" -#: plinth/modules/mumble/forms.py:16 +#: plinth/modules/mumble/forms.py:14 msgid "Set SuperUser Password" msgstr "Ange SuperUser lösenord" -#: plinth/modules/mumble/forms.py:19 +#: plinth/modules/mumble/forms.py:17 msgid "" "Optional. Leave this field blank to keep the current password. SuperUser " "password can be used to manage permissions in Mumble." @@ -3517,8 +3503,9 @@ msgid "Open" msgstr "Öppet" #: plinth/modules/networks/forms.py:297 -#, python-brace-format -msgid "Choose how your {box_name} is connected to your network" +#, fuzzy, python-brace-format +#| msgid "Choose how your {box_name} is connected to your network" +msgid "Specify how your {box_name} is connected to your network" msgstr "Välj hur ditt {box_name} är anslutet till ditt nätverk" #: plinth/modules/networks/forms.py:304 @@ -3789,7 +3776,7 @@ msgstr "IPv4" #: plinth/modules/networks/templates/connection_show.html:171 #: plinth/modules/networks/templates/connection_show.html:212 -#: plinth/modules/shadowsocks/forms.py:49 +#: plinth/modules/shadowsocks/forms.py:48 msgid "Method" msgstr "Metod" @@ -3805,7 +3792,7 @@ msgstr "DNS-Server" #: plinth/modules/networks/templates/connection_show.html:201 #: plinth/modules/networks/templates/connection_show.html:240 -#: plinth/modules/storage/forms.py:141 +#: plinth/modules/storage/forms.py:139 msgid "Default" msgstr "Standard" @@ -4312,6 +4299,11 @@ msgstr "Installationen har slutförts." msgid "Setup failed." msgstr "Installationen misslyckades." +#: plinth/modules/openvpn/views.py:135 plinth/modules/tor/views.py:136 +#: plinth/views.py:196 +msgid "Setting unchanged" +msgstr "Instänllningar oförändrade" + #: plinth/modules/pagekite/__init__.py:27 #, python-brace-format msgid "" @@ -4382,11 +4374,11 @@ msgstr "Offentlig Synlighet" msgid "PageKite Domain" msgstr "PageKite domän" -#: plinth/modules/pagekite/forms.py:48 +#: plinth/modules/pagekite/forms.py:47 msgid "Server domain" msgstr "Server-domän" -#: plinth/modules/pagekite/forms.py:50 +#: plinth/modules/pagekite/forms.py:49 msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " "pagekite.net server." @@ -4394,31 +4386,31 @@ msgstr "" "Välj din pagekite-Server. Ange \"pagekite.net\" om du vill använda " "standardservern pagekite.net." -#: plinth/modules/pagekite/forms.py:53 plinth/modules/shadowsocks/forms.py:40 +#: plinth/modules/pagekite/forms.py:52 plinth/modules/shadowsocks/forms.py:39 msgid "Server port" msgstr "Server Port" -#: plinth/modules/pagekite/forms.py:54 +#: plinth/modules/pagekite/forms.py:53 msgid "Port of your pagekite server (default: 80)" msgstr "Port på din pagekite Server (standard: 80)" -#: plinth/modules/pagekite/forms.py:56 +#: plinth/modules/pagekite/forms.py:55 msgid "Kite name" msgstr "Kite namn" -#: plinth/modules/pagekite/forms.py:57 +#: plinth/modules/pagekite/forms.py:56 msgid "Example: mybox.pagekite.me" msgstr "Exempel: mybox.pagekite.me" -#: plinth/modules/pagekite/forms.py:59 +#: plinth/modules/pagekite/forms.py:58 msgid "Invalid kite name" msgstr "Ogiltigt kite-namn" -#: plinth/modules/pagekite/forms.py:63 +#: plinth/modules/pagekite/forms.py:62 msgid "Kite secret" msgstr "Kite hemlighet" -#: plinth/modules/pagekite/forms.py:64 +#: plinth/modules/pagekite/forms.py:63 msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." @@ -4426,27 +4418,27 @@ msgstr "" "En hemlighet som är associerad med draken eller standard hemligheten för " "ditt konto om ingen hemlighet är inställd på draken." -#: plinth/modules/pagekite/forms.py:101 +#: plinth/modules/pagekite/forms.py:100 msgid "protocol" msgstr "Protokollet" -#: plinth/modules/pagekite/forms.py:104 +#: plinth/modules/pagekite/forms.py:103 msgid "external (frontend) port" msgstr "extern port (frontend)" -#: plinth/modules/pagekite/forms.py:107 +#: plinth/modules/pagekite/forms.py:106 msgid "internal (freedombox) port" msgstr "intern port (freedombox)" -#: plinth/modules/pagekite/forms.py:108 +#: plinth/modules/pagekite/forms.py:107 msgid "Enable Subdomains" msgstr "Aktivera underdomäner" -#: plinth/modules/pagekite/forms.py:142 +#: plinth/modules/pagekite/forms.py:141 msgid "Deleted custom service" msgstr "Borttagen anpassad tjänst" -#: plinth/modules/pagekite/forms.py:175 +#: plinth/modules/pagekite/forms.py:174 #, fuzzy #| msgid "" #| "This service is available as a standard service. Please use the " @@ -4456,11 +4448,11 @@ msgstr "" "Denna tjänst är tillgänglig som standardtjänst. Använd sidan \"standard " "tjänster\" för att aktivera den." -#: plinth/modules/pagekite/forms.py:183 +#: plinth/modules/pagekite/forms.py:182 msgid "Added custom service" msgstr "Lade till anpassad service" -#: plinth/modules/pagekite/forms.py:186 +#: plinth/modules/pagekite/forms.py:185 msgid "This service already exists" msgstr "Den här tjänsten finns redan" @@ -4597,7 +4589,7 @@ msgstr "" msgid "Shut Down Now" msgstr "Stäng av nu" -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 msgid "" "Privoxy is a non-caching web proxy with advanced filtering capabilities for " "enhancing privacy, modifying web page data and HTTP headers, controlling " @@ -4607,7 +4599,7 @@ msgstr "" "för att förbättra sekretessen, ändra webbsidan data och HTTP-huvuden, " "kontrollera åtkomst och ta bort annonser och andra avskyvärda Internet Junk. " -#: plinth/modules/privoxy/__init__.py:33 +#: plinth/modules/privoxy/__init__.py:34 #, python-brace-format msgid "" "You can use Privoxy by modifying your browser proxy settings to your " @@ -4622,20 +4614,20 @@ msgstr "" "\"http://config.privoxy.org\">http://config.privoxy.org/ eller http://p.p." -#: plinth/modules/privoxy/__init__.py:56 +#: plinth/modules/privoxy/__init__.py:55 msgid "Privoxy" msgstr "Privoxy" -#: plinth/modules/privoxy/__init__.py:57 +#: plinth/modules/privoxy/__init__.py:56 msgid "Web Proxy" msgstr "Webbproxy" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:119 #, python-brace-format msgid "Access {url} with proxy {proxy} on tcp{kind}" msgstr "Åtkomst till {url} med proxy {proxy} på TCP {kind}" -#: plinth/modules/quassel/__init__.py:32 +#: plinth/modules/quassel/__init__.py:33 #, python-brace-format msgid "" "Quassel is an IRC application that is split into two parts, a \"core\" and a " @@ -4652,7 +4644,7 @@ msgstr "" "quassel-klienter från ett skrivbord eller en mobil kan användas för att " "ansluta och koppla från den." -#: plinth/modules/quassel/__init__.py:39 +#: plinth/modules/quassel/__init__.py:40 msgid "" "You can connect to your Quassel core on the default Quassel port 4242. " "Clients to connect to Quassel from your Desktop och mobila-enheter är tillgängliga." -#: plinth/modules/quassel/__init__.py:62 plinth/modules/quassel/manifest.py:10 +#: plinth/modules/quassel/__init__.py:61 plinth/modules/quassel/manifest.py:10 msgid "Quassel" msgstr "Quassel" -#: plinth/modules/quassel/__init__.py:63 +#: plinth/modules/quassel/__init__.py:62 msgid "IRC Client" msgstr "IRC-klient" -#: plinth/modules/quassel/forms.py:23 +#: plinth/modules/quassel/forms.py:22 msgid "TLS domain" msgstr "TLS Domän" -#: plinth/modules/quassel/forms.py:25 +#: plinth/modules/quassel/forms.py:24 msgid "" "Select a domain to use TLS with. If the list is empty, please configure at " "least one domain with certificates." @@ -4688,7 +4680,7 @@ msgstr "" msgid "Quasseldroid" msgstr "Quasseldroid" -#: plinth/modules/radicale/__init__.py:32 +#: plinth/modules/radicale/__init__.py:33 #, python-brace-format msgid "" "Radicale is a CalDAV and CardDAV server. It allows synchronization and " @@ -4701,7 +4693,7 @@ msgstr "" "en klientprogram som stöds. " "Radicale kan kommas åt av alla användare med en {box_name}-inloggning." -#: plinth/modules/radicale/__init__.py:37 +#: plinth/modules/radicale/__init__.py:38 msgid "" "Radicale provides a basic web interface, which only supports creating new " "calendars and addressbooks. It does not support adding events or contacts, " @@ -4711,21 +4703,21 @@ msgstr "" "skapandet av nya kalendrar och adressböcker. Det stöder inte att lägga till " "händelser eller kontakter, som måste göras med hjälp av en separat klient." -#: plinth/modules/radicale/__init__.py:62 +#: plinth/modules/radicale/__init__.py:61 #: plinth/modules/radicale/manifest.py:75 msgid "Radicale" msgstr "Radicale" -#: plinth/modules/radicale/__init__.py:63 +#: plinth/modules/radicale/__init__.py:62 msgid "Calendar and Addressbook" msgstr "Kalender och adressbok" -#: plinth/modules/radicale/forms.py:15 +#: plinth/modules/radicale/forms.py:14 msgid "Only the owner of a calendar/addressbook can view or make changes." msgstr "" "Endast ägaren av en kalender/AddressBook kan visa eller göra ändringar." -#: plinth/modules/radicale/forms.py:19 +#: plinth/modules/radicale/forms.py:18 #, python-brace-format msgid "" "Any user with a {box_name} login can view any calendar/addressbook, but only " @@ -4734,7 +4726,7 @@ msgstr "" "Alla användare med en {box_name}-inloggning kan visa valfri kalender/" "adressbok, men endast ägaren kan göra ändringar." -#: plinth/modules/radicale/forms.py:24 +#: plinth/modules/radicale/forms.py:23 #, python-brace-format msgid "" "Any user with a {box_name} login can view or make changes to any calendar/" @@ -4887,11 +4879,11 @@ msgstr "" "Hemdelning - varje användare i gruppen freedombox-share kan ha sitt eget " "privata utrymme." -#: plinth/modules/samba/__init__.py:47 +#: plinth/modules/samba/__init__.py:59 msgid "Access to the private shares" msgstr "Tillgång till de privata shares" -#: plinth/modules/samba/__init__.py:61 +#: plinth/modules/samba/__init__.py:62 msgid "Samba" msgstr "Samba" @@ -4963,11 +4955,11 @@ msgstr "Resursnamn" msgid "Action" msgstr "Åtgärder" -#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:149 +#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:147 msgid "Open Share" msgstr "Öppna Share" -#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:147 +#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:145 msgid "Group Share" msgstr "Grupp Share" @@ -5009,43 +5001,43 @@ msgstr "" "Searx kan användas för att undvika spårning och profilering av sökmotorer. " "Den lagrar inga cookies som standard." -#: plinth/modules/searx/__init__.py:31 +#: plinth/modules/searx/__init__.py:45 msgid "Search the web" msgstr "Sök på webben" -#: plinth/modules/searx/__init__.py:47 plinth/modules/searx/manifest.py:9 +#: plinth/modules/searx/__init__.py:48 plinth/modules/searx/manifest.py:9 msgid "Searx" msgstr "Searx" -#: plinth/modules/searx/__init__.py:48 +#: plinth/modules/searx/__init__.py:49 msgid "Web Search" msgstr "Webbsökning" -#: plinth/modules/searx/forms.py:15 +#: plinth/modules/searx/forms.py:13 msgid "Safe Search" msgstr "Säker sökning" -#: plinth/modules/searx/forms.py:16 +#: plinth/modules/searx/forms.py:14 msgid "Select the default family filter to apply to your search results." msgstr "Välj det standard familjefilter som ska användas för sökresultaten." -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "None" msgstr "Ingen" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "Moderate" msgstr "Måttlig" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "Strict" msgstr "Strikt" -#: plinth/modules/searx/forms.py:20 +#: plinth/modules/searx/forms.py:18 msgid "Allow Public Access" msgstr "Tillåt offentlig åtkomst" -#: plinth/modules/searx/forms.py:21 +#: plinth/modules/searx/forms.py:19 msgid "Allow this application to be used by anyone who can reach it." msgstr "Tillåt att det här programmet används av alla som kan nå det." @@ -5236,29 +5228,29 @@ msgstr "Shadowsocks" msgid "Socks5 Proxy" msgstr "Socks5 proxy" +#: plinth/modules/shadowsocks/forms.py:12 #: plinth/modules/shadowsocks/forms.py:13 -#: plinth/modules/shadowsocks/forms.py:14 msgid "Recommended" msgstr "Rekommenderas" -#: plinth/modules/shadowsocks/forms.py:37 +#: plinth/modules/shadowsocks/forms.py:36 msgid "Server" msgstr "Server" -#: plinth/modules/shadowsocks/forms.py:38 +#: plinth/modules/shadowsocks/forms.py:37 msgid "Server hostname or IP address" msgstr "Serverns värdnamn eller IP-adress" -#: plinth/modules/shadowsocks/forms.py:42 +#: plinth/modules/shadowsocks/forms.py:41 msgid "Server port number" msgstr "Server portnummer" -#: plinth/modules/shadowsocks/forms.py:45 +#: plinth/modules/shadowsocks/forms.py:44 msgid "Password used to encrypt data. Must match server password." msgstr "" "Lösenord som används för att kryptera data. Måste matcha serverns lösenord." -#: plinth/modules/shadowsocks/forms.py:50 +#: plinth/modules/shadowsocks/forms.py:49 msgid "Encryption method. Must match setting on server." msgstr "Krypteringsmetod. Måste matcha inställningen på servern." @@ -5303,11 +5295,11 @@ msgstr "Offentlig Share" msgid "Make files in this folder available to anyone with the link." msgstr "Gör filer i den här mappen tillgängliga för alla med länken." -#: plinth/modules/sharing/forms.py:33 +#: plinth/modules/sharing/forms.py:34 msgid "User groups that can read the files in the share" msgstr "Användargrupper som kan läsa filerna i Share" -#: plinth/modules/sharing/forms.py:35 +#: plinth/modules/sharing/forms.py:36 msgid "" "Users of the selected user groups will be able to read the files in the " "share." @@ -5609,11 +5601,11 @@ msgstr "" msgid "Secure Shell (SSH) Server" msgstr "Secure Shell-Server (SSH)" -#: plinth/modules/ssh/forms.py:15 +#: plinth/modules/ssh/forms.py:13 msgid "Disable password authentication" msgstr "Inaktivera lösenordsautentisering" -#: plinth/modules/ssh/forms.py:16 +#: plinth/modules/ssh/forms.py:14 msgid "" "Improves security by preventing password guessing. Ensure that you have " "setup SSH keys in your administrator user account before enabling this " @@ -5670,131 +5662,131 @@ msgstr "" "{box_name}. Du kan visa lagringsmedia som för närvarande används, montera " "och demontera flyttbara media, expandera rotpartitionen etc." -#: plinth/modules/storage/__init__.py:52 plinth/modules/storage/__init__.py:318 +#: plinth/modules/storage/__init__.py:54 plinth/modules/storage/__init__.py:320 msgid "Storage" msgstr "Lagring" -#: 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 "Åtgärden misslyckades." -#: plinth/modules/storage/__init__.py:235 +#: plinth/modules/storage/__init__.py:237 msgid "The operation was cancelled." msgstr "Operationen avbröts." -#: plinth/modules/storage/__init__.py:237 +#: plinth/modules/storage/__init__.py:239 msgid "The device is already unmounting." msgstr "Enheten lossnar redan." -#: 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 "Åtgärden stöds inte på grund av saknade drivrutiner/verktygsstöd." -#: plinth/modules/storage/__init__.py:242 +#: plinth/modules/storage/__init__.py:244 msgid "The operation timed out." msgstr "Åtgärden orsakade timeout." -#: 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 "Åtgärden skulle väcka en disk som är i ett djupviloläge." -#: plinth/modules/storage/__init__.py:247 +#: plinth/modules/storage/__init__.py:249 msgid "Attempting to unmount a device that is busy." msgstr "Försöker avmontera en enhet som är upptagen." -#: plinth/modules/storage/__init__.py:249 +#: plinth/modules/storage/__init__.py:251 msgid "The operation has already been cancelled." msgstr "Operationen har redan avbrutits." -#: plinth/modules/storage/__init__.py:255 +#: plinth/modules/storage/__init__.py:257 msgid "Not authorized to perform the requested operation." msgstr "Inte behörig att utföra den begärda åtgärden." -#: plinth/modules/storage/__init__.py:257 +#: plinth/modules/storage/__init__.py:259 msgid "The device is already mounted." msgstr "Enheten är redan monterad." -#: plinth/modules/storage/__init__.py:259 +#: plinth/modules/storage/__init__.py:261 msgid "The device is not mounted." msgstr "Enheten är inte monterad." -#: plinth/modules/storage/__init__.py:262 +#: plinth/modules/storage/__init__.py:264 msgid "Not permitted to use the requested option." msgstr "Inte tillåtet att använda det begärda alternativet." -#: plinth/modules/storage/__init__.py:265 +#: plinth/modules/storage/__init__.py:267 msgid "The device is mounted by another user." msgstr "Enheten monteras av en annan användare." -#: plinth/modules/storage/__init__.py:313 +#: plinth/modules/storage/__init__.py:315 #, no-python-format, python-brace-format msgid "Low space on system partition: {percent_used}% used, {free_space} free." msgstr "" "Lågt utrymme på systempartitionen: {percent_used}% används, {free_space} " "fritt." -#: plinth/modules/storage/__init__.py:315 +#: plinth/modules/storage/__init__.py:317 msgid "Low disk space" msgstr "Lågt diskutrymme" -#: plinth/modules/storage/forms.py:64 +#: plinth/modules/storage/forms.py:63 msgid "Invalid directory name." msgstr "Ogiltigt katalognamn." -#: plinth/modules/storage/forms.py:82 +#: plinth/modules/storage/forms.py:80 msgid "Directory does not exist." msgstr "Katalogen finns inte." -#: plinth/modules/storage/forms.py:84 +#: plinth/modules/storage/forms.py:83 msgid "Path is not a directory." msgstr "Sökvägen är inte en katalog." -#: plinth/modules/storage/forms.py:87 +#: plinth/modules/storage/forms.py:86 msgid "Directory is not readable by the user." msgstr "Katalogen är inte läsbar av användaren." -#: plinth/modules/storage/forms.py:90 +#: plinth/modules/storage/forms.py:89 msgid "Directory is not writable by the user." msgstr "Katalogen är inte skrivbar av användaren." -#: plinth/modules/storage/forms.py:95 +#: plinth/modules/storage/forms.py:94 msgid "Directory" msgstr "Katalog" -#: plinth/modules/storage/forms.py:98 +#: plinth/modules/storage/forms.py:96 msgid "Subdirectory (optional)" msgstr "Underkatalog (valfritt)" -#: plinth/modules/storage/forms.py:145 +#: plinth/modules/storage/forms.py:143 msgid "Share" msgstr "Share" -#: plinth/modules/storage/forms.py:153 +#: plinth/modules/storage/forms.py:151 msgid "Other directory (specify below)" msgstr "Annan katalog (specificera nedan)" @@ -5878,14 +5870,22 @@ msgstr "" "som också kör Syncthing." #: plinth/modules/syncthing/__init__.py:31 -#, python-brace-format +#, fuzzy, python-brace-format +#| msgid "" +#| "Running Syncthing on {box_name} provides an extra synchronization point " +#| "for your data that is available most of the time, allowing your devices " +#| "to synchronize more often. {box_name} runs a single instance of " +#| "Syncthing that may be used by multiple users. Each user's set of devices " +#| "may be synchronized with a distinct set of folders. The web interface on " +#| "{box_name} is only available for users belonging to the \"admin\" group." msgid "" "Running Syncthing on {box_name} provides an extra synchronization point for " "your data that is available most of the time, allowing your devices to " "synchronize more often. {box_name} runs a single instance of Syncthing that " "may be used by multiple users. Each user's set of devices may be " "synchronized with a distinct set of folders. The web interface on " -"{box_name} is only available for users belonging to the \"admin\" group." +"{box_name} is only available for users belonging to the \"admin\" or " +"\"syncthing\" group." msgstr "" "Kör Syncthing på {box_name} ger en extra synkroniseringspunkt för dina data " "som är tillgängliga för det mesta, vilket gör att dina enheter att " @@ -5895,16 +5895,16 @@ msgstr "" "{box_name} är endast tillgängligt för användare som tillhör gruppen \"admin" "\"." -#: plinth/modules/syncthing/__init__.py:40 +#: plinth/modules/syncthing/__init__.py:53 msgid "Administer Syncthing application" msgstr "Administrera Syncthing-program" -#: plinth/modules/syncthing/__init__.py:54 +#: plinth/modules/syncthing/__init__.py:56 #: plinth/modules/syncthing/manifest.py:13 msgid "Syncthing" msgstr "Syncthing" -#: plinth/modules/syncthing/__init__.py:55 +#: plinth/modules/syncthing/__init__.py:57 msgid "File Synchronization" msgstr "Filsynkronisering" @@ -5952,33 +5952,33 @@ msgstr "" "ATT FÖRLORA DATA. Du kan komma åt Tahoe-LAFS på https://%(domain_name)s:5678." -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:39 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:29 msgid "Local introducer" msgstr "Lokal introducerare" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:59 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:76 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:33 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:49 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:66 msgid "Pet Name" msgstr "Namn på husdjur" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:56 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:46 msgid "Add new introducer" msgstr "Lägg till ny introduktören" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:67 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:57 msgid "Add" msgstr "Lägg till" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:72 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:62 msgid "Connected introducers" msgstr "Anslutna introducerare" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:89 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:79 msgid "Remove" msgstr "Ta bort" -#: plinth/modules/tor/__init__.py:33 +#: plinth/modules/tor/__init__.py:34 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -5992,40 +5992,40 @@ msgstr "" "använder TOR Browser." -#: plinth/modules/tor/__init__.py:55 +#: plinth/modules/tor/__init__.py:54 msgid "Tor" msgstr "Tor" -#: plinth/modules/tor/__init__.py:66 +#: plinth/modules/tor/__init__.py:65 msgid "Tor Onion Service" msgstr "Tor Onion service" -#: plinth/modules/tor/__init__.py:70 +#: plinth/modules/tor/__init__.py:69 msgid "Tor Socks Proxy" msgstr "Tor SOCKS-proxy" -#: plinth/modules/tor/__init__.py:74 +#: plinth/modules/tor/__init__.py:73 msgid "Tor Bridge Relay" msgstr "Tor Bridge Relay" -#: plinth/modules/tor/__init__.py:95 +#: plinth/modules/tor/__init__.py:98 msgid "Tor relay port available" msgstr "Tor relä port tillgänglig" -#: plinth/modules/tor/__init__.py:105 +#: plinth/modules/tor/__init__.py:108 msgid "Obfs3 transport registered" msgstr "Obfs3 transport registrerad" -#: plinth/modules/tor/__init__.py:115 +#: plinth/modules/tor/__init__.py:118 msgid "Obfs4 transport registered" msgstr "Obfs4 transport registrerad" -#: plinth/modules/tor/__init__.py:208 +#: plinth/modules/tor/__init__.py:211 #, python-brace-format msgid "Access URL {url} on tcp{kind} via Tor" msgstr "Tillgång URL {url} på TCP {kind} via Tor" -#: plinth/modules/tor/__init__.py:219 +#: plinth/modules/tor/__init__.py:222 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "Bekräfta Tor-användning vid {url} på TCP {kind}" @@ -6175,7 +6175,7 @@ msgstr "SOCKS" msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050." msgstr "En Tor SOCKS-port finns på din %(box_name)s på TCP-port 9050." -#: plinth/modules/transmission/__init__.py:27 +#: plinth/modules/transmission/__init__.py:28 msgid "" "BitTorrent is a peer-to-peer file sharing protocol. Transmission daemon " "handles Bitorrent file sharing. Note that BitTorrent is not anonymous." @@ -6183,7 +6183,7 @@ msgstr "" "BitTorrent är ett peer-to-peer-fildelningsprotokoll. Transmission daemon " "hanterar bitorrent fildelning. Observera att BitTorrent inte är anonym." -#: plinth/modules/transmission/__init__.py:48 +#: plinth/modules/transmission/__init__.py:51 #: plinth/modules/transmission/manifest.py:9 msgid "Transmission" msgstr "Transmission" @@ -6217,15 +6217,15 @@ msgstr "" "Använd URL: en /tt-RSS-" "app för att ansluta." -#: plinth/modules/ttrss/__init__.py:42 +#: plinth/modules/ttrss/__init__.py:54 msgid "Read and subscribe to news feeds" msgstr "Läsa och prenumerera på nyhetsflöden" -#: plinth/modules/ttrss/__init__.py:56 plinth/modules/ttrss/manifest.py:19 +#: plinth/modules/ttrss/__init__.py:57 plinth/modules/ttrss/manifest.py:19 msgid "Tiny Tiny RSS" msgstr "Tiny Tiny RSS" -#: plinth/modules/ttrss/__init__.py:57 +#: plinth/modules/ttrss/__init__.py:58 msgid "News Feed Reader" msgstr "Läsare för nyhetsflödet" @@ -6238,11 +6238,11 @@ msgid "Check for and apply the latest software and security updates." msgstr "" "Sök efter och installera de senaste program-och säkerhetsuppdateringarna." -#: plinth/modules/upgrades/__init__.py:38 plinth/templates/setup.html:74 +#: plinth/modules/upgrades/__init__.py:40 plinth/templates/setup.html:74 msgid "Update" msgstr "Uppdatera" -#: plinth/modules/upgrades/__init__.py:76 +#: plinth/modules/upgrades/__init__.py:78 msgid "FreedomBox Updated" msgstr "FreedomBox uppdaterad" @@ -6299,36 +6299,32 @@ msgstr "Växla senaste uppdateringsloggar" #: plinth/modules/upgrades/templates/upgrades_configure.html:11 #: plinth/modules/upgrades/templates/upgrades_configure.html:12 -#: plinth/modules/upgrades/views.py:88 +#: plinth/modules/upgrades/views.py:85 msgid "Manual update" msgstr "Manuell uppdatering" -#: plinth/modules/upgrades/views.py:47 +#: plinth/modules/upgrades/views.py:46 #, python-brace-format msgid "Error when configuring unattended-upgrades: {error}" msgstr "Fel vid konfigurering av obevakad uppgraderingar: {error}" -#: plinth/modules/upgrades/views.py:51 +#: plinth/modules/upgrades/views.py:50 msgid "Automatic upgrades enabled" msgstr "Automatiska uppgraderingar aktiverade" -#: plinth/modules/upgrades/views.py:54 +#: plinth/modules/upgrades/views.py:53 msgid "Automatic upgrades disabled" msgstr "Automatiska uppgraderingar inaktiverade" -#: plinth/modules/upgrades/views.py:56 -msgid "Settings unchanged" -msgstr "Inställningarna är oförändrade" - -#: plinth/modules/upgrades/views.py:82 +#: plinth/modules/upgrades/views.py:79 msgid "Upgrade process started." msgstr "Uppgraderingsprocessen påbörjades." -#: plinth/modules/upgrades/views.py:85 +#: plinth/modules/upgrades/views.py:82 msgid "Starting upgrade failed." msgstr "Det gick inte att starta uppgraderingen." -#: plinth/modules/users/__init__.py:37 +#: plinth/modules/users/__init__.py:39 msgid "" "Create and managed user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " @@ -6339,7 +6335,7 @@ msgstr "" "ett användarkonto för att vara en del av en grupp för att auktorisera " "användaren att komma åt appen." -#: plinth/modules/users/__init__.py:42 +#: plinth/modules/users/__init__.py:44 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -6350,45 +6346,51 @@ msgstr "" "över appar som är relevanta för dem på startsidan. Endast användare av " "gruppen admin kan dock ändra appar eller Systeminställningar." -#: plinth/modules/users/__init__.py:64 +#: plinth/modules/users/__init__.py:65 msgid "Users and Groups" msgstr "Användare och grupper" -#: plinth/modules/users/__init__.py:115 +#: plinth/modules/users/__init__.py:78 +msgid "Access to all services and system settings" +msgstr "Tillgång till alla tjänster och Systeminställningar" + +#: plinth/modules/users/__init__.py:122 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "Kontrollera LDAP-posten \"{search_item}\"" -#: plinth/modules/users/forms.py:28 -msgid "Access to all services and system settings" -msgstr "Tillgång till alla tjänster och Systeminställningar" - -#: plinth/modules/users/forms.py:44 +#: plinth/modules/users/forms.py:36 msgid "Username is taken or is reserved." msgstr "Användarnamnet är upptaget eller är reserverade." -#: plinth/modules/users/forms.py:72 +#: plinth/modules/users/forms.py:63 msgid "Enter a valid username." msgstr "Ange ett giltigt användarnamn." -#: plinth/modules/users/forms.py:78 +#: plinth/modules/users/forms.py:69 msgid "" "Required. 150 characters or fewer. English letters, digits and @/./-/_ only." msgstr "" "Krävs. 150 tecken eller färre. Engelska bokstäver, siffror och endast @/./-/" "_ ." -#: plinth/modules/users/forms.py:91 plinth/modules/users/forms.py:207 +#: plinth/modules/users/forms.py:83 plinth/modules/users/forms.py:196 msgid "Permissions" msgstr "Behörigheter" -#: plinth/modules/users/forms.py:94 +#: plinth/modules/users/forms.py:85 +#, fuzzy +#| msgid "" +#| "Select which services should be available to the new user. The user will " +#| "be able to log in to services that support single sign-on through LDAP, " +#| "if they are in the appropriate group.

Users in the admin group " +#| "will be able to log in to all services. They can also log in to the " +#| "system through SSH and have administrative privileges (sudo)." msgid "" -"Select which services should be available to the new user. The user will be " -"able to log in to services that support single sign-on through LDAP, if they " -"are in the appropriate group.

Users in the admin group will be " -"able to log in to all services. They can also log in to the system through " -"SSH and have administrative privileges (sudo)." +"user. The user will be able to log in to services that support single sign-" +"on through LDAP, if they are in the appropriate group.

Users in " +"the admin group will be able to log in to all services. They can also log in " +"to the system through SSH and have administrative privileges (sudo)." msgstr "" "Välj vilka tjänster som ska vara tillgängliga för den nya användaren. " "Användaren kommer att kunna logga in på tjänster som stöder enkel inloggning " @@ -6396,20 +6398,20 @@ msgstr "" "administratörsgruppen kommer att kunna logga in på alla tjänster. De kan " "också logga in på systemet via SSH och har administratörsprivilegier (sudo)." -#: plinth/modules/users/forms.py:133 plinth/modules/users/forms.py:357 +#: plinth/modules/users/forms.py:122 plinth/modules/users/forms.py:345 msgid "Creating LDAP user failed." msgstr "Det gick inte att skapa LDAP-användare." -#: plinth/modules/users/forms.py:144 +#: plinth/modules/users/forms.py:133 #, python-brace-format msgid "Failed to add new user to {group} group." msgstr "Det gick inte att lägga till nya användare i gruppen {group}." -#: plinth/modules/users/forms.py:158 +#: plinth/modules/users/forms.py:147 msgid "Authorized SSH Keys" msgstr "Auktoriserade SSH-nycklar" -#: plinth/modules/users/forms.py:160 +#: plinth/modules/users/forms.py:149 msgid "" "Setting an SSH public key will allow this user to securely log in to the " "system without using a password. You may enter multiple keys, one on each " @@ -6419,43 +6421,43 @@ msgstr "" "systemet utan att använda ett lösenord. Du kan ange flera nycklar, en på " "varje rad. Tomma rader och rader som börjar med # kommer att ignoreras." -#: plinth/modules/users/forms.py:244 +#: plinth/modules/users/forms.py:233 msgid "Renaming LDAP user failed." msgstr "Det gick inte att byta namn på LDAP-användare." -#: plinth/modules/users/forms.py:256 +#: plinth/modules/users/forms.py:245 msgid "Failed to remove user from group." msgstr "Det gick inte att ta bort användare från gruppen." -#: plinth/modules/users/forms.py:267 +#: plinth/modules/users/forms.py:256 msgid "Failed to add user to group." msgstr "Det gick inte att lägga till användare i gruppen." -#: plinth/modules/users/forms.py:276 +#: plinth/modules/users/forms.py:265 msgid "Unable to set SSH keys." msgstr "Det går inte att ange SSH-nycklar." -#: plinth/modules/users/forms.py:291 +#: plinth/modules/users/forms.py:280 msgid "Failed to change user status." msgstr "Det gick inte att ändra användarstatus." -#: plinth/modules/users/forms.py:299 +#: plinth/modules/users/forms.py:288 msgid "Cannot delete the only administrator in the system." msgstr "Det går inte att ta bort den enda administratören i systemet." -#: plinth/modules/users/forms.py:331 +#: plinth/modules/users/forms.py:319 msgid "Changing LDAP user password failed." msgstr "Det gick inte att ändra användarlösenordet för LDAP." -#: plinth/modules/users/forms.py:366 +#: plinth/modules/users/forms.py:354 msgid "Failed to add new user to admin group." msgstr "Det gick inte att lägga till ny användare till administrationsgruppen." -#: plinth/modules/users/forms.py:383 +#: plinth/modules/users/forms.py:371 msgid "Failed to restrict console access." msgstr "Det gick inte att begränsa åtkomst till konsolen." -#: plinth/modules/users/forms.py:395 +#: plinth/modules/users/forms.py:383 msgid "User account created, you are now logged in" msgstr "Användarkonto skapat, du är nu inloggad" @@ -7245,18 +7247,22 @@ msgstr "Installerar %(package_names)s:%(status)s" msgid "%(percentage)s%% complete" msgstr "%(percentage)s %% färdigt" -#: plinth/views.py:184 -msgid "Application enabled" -msgstr "Program aktiverat" - -#: plinth/views.py:187 -msgid "Application disabled" -msgstr "Programmet är inaktiverat" - #: plinth/web_framework.py:107 msgid "Gujarati" msgstr "Gujarati" +#~ msgid "Enable application" +#~ msgstr "Aktivera applikation" + +#~ msgid "Settings unchanged" +#~ msgstr "Inställningarna är oförändrade" + +#~ msgid "Application enabled" +#~ msgstr "Program aktiverat" + +#~ msgid "Application disabled" +#~ msgstr "Programmet är inaktiverat" + #~ msgid "Kite details set" #~ msgstr "Kite Detaljer set" diff --git a/plinth/locale/ta/LC_MESSAGES/django.po b/plinth/locale/ta/LC_MESSAGES/django.po index 1084bd648..c36d43496 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: 2020-03-23 18:54-0400\n" +"POT-Creation-Date: 2020-04-06 19:59-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -51,29 +51,25 @@ msgstr "" msgid "Cannot connect to {host}:{port}" msgstr "" -#: plinth/forms.py:24 -msgid "Enable application" -msgstr "" - -#: plinth/forms.py:39 +#: plinth/forms.py:38 msgid "Select a domain name to be used with this application" msgstr "" -#: plinth/forms.py:41 +#: plinth/forms.py:40 msgid "" "Warning! The application may not work properly if domain name is changed " "later." msgstr "" -#: plinth/forms.py:49 +#: plinth/forms.py:48 msgid "Language" msgstr "" -#: plinth/forms.py:50 +#: plinth/forms.py:49 msgid "Language to use for presenting this web interface" msgstr "" -#: plinth/forms.py:57 +#: plinth/forms.py:56 msgid "Use the language preference set in the browser" msgstr "" @@ -595,20 +591,20 @@ msgstr "" msgid "Domain Name Server" msgstr "" -#: plinth/modules/bind/forms.py:22 +#: plinth/modules/bind/forms.py:20 msgid "Forwarders" msgstr "" -#: plinth/modules/bind/forms.py:23 +#: plinth/modules/bind/forms.py:21 msgid "" "A list DNS servers, separated by space, to which requests will be forwarded" msgstr "" -#: plinth/modules/bind/forms.py:27 +#: plinth/modules/bind/forms.py:25 msgid "Enable DNSSEC" msgstr "" -#: plinth/modules/bind/forms.py:28 +#: plinth/modules/bind/forms.py:26 msgid "Enable Domain Name System Security Extensions" msgstr "" @@ -640,10 +636,11 @@ msgstr "" msgid "Refresh IP address and domains" msgstr "" -#: plinth/modules/bind/views.py:72 plinth/modules/deluge/views.py:44 +#: plinth/modules/bind/views.py:72 plinth/modules/deluge/views.py:42 #: plinth/modules/dynamicdns/views.py:150 plinth/modules/openvpn/views.py:133 -#: plinth/modules/pagekite/forms.py:91 plinth/modules/shadowsocks/views.py:59 -#: plinth/modules/transmission/views.py:50 +#: plinth/modules/pagekite/forms.py:90 plinth/modules/quassel/views.py:30 +#: plinth/modules/shadowsocks/views.py:59 +#: plinth/modules/transmission/views.py:47 msgid "Configuration updated" msgstr "" @@ -691,11 +688,11 @@ msgid "" "name, webserver home page etc." msgstr "" -#: plinth/modules/config/__init__.py:50 +#: plinth/modules/config/__init__.py:52 msgid "General Configuration" msgstr "" -#: plinth/modules/config/__init__.py:55 plinth/modules/dynamicdns/views.py:29 +#: plinth/modules/config/__init__.py:57 plinth/modules/dynamicdns/views.py:29 #: plinth/modules/names/templates/names.html:29 #: plinth/modules/names/templates/names.html:43 #: plinth/modules/snapshot/views.py:26 @@ -703,7 +700,7 @@ msgstr "" msgid "Configure" msgstr "" -#: plinth/modules/config/__init__.py:59 plinth/modules/config/forms.py:61 +#: plinth/modules/config/__init__.py:61 plinth/modules/config/forms.py:61 #: plinth/modules/dynamicdns/forms.py:95 msgid "Domain Name" msgstr "" @@ -830,25 +827,25 @@ msgstr "" msgid "Coquelicot" msgstr "" -#: plinth/modules/coquelicot/__init__.py:47 plinth/modules/samba/__init__.py:62 +#: plinth/modules/coquelicot/__init__.py:47 plinth/modules/samba/__init__.py:63 msgid "File Sharing" msgstr "" -#: plinth/modules/coquelicot/forms.py:15 +#: plinth/modules/coquelicot/forms.py:13 msgid "Upload Password" msgstr "" -#: plinth/modules/coquelicot/forms.py:16 +#: plinth/modules/coquelicot/forms.py:14 msgid "" "Set a new upload password for Coquelicot. Leave this field blank to keep the " "current password." msgstr "" -#: plinth/modules/coquelicot/forms.py:20 +#: plinth/modules/coquelicot/forms.py:18 msgid "Maximum File Size (in MiB)" msgstr "" -#: plinth/modules/coquelicot/forms.py:21 +#: plinth/modules/coquelicot/forms.py:19 msgid "Set the maximum size of the files that can be uploaded to Coquelicot." msgstr "" @@ -886,17 +883,17 @@ msgstr "" msgid "Time synchronized to NTP server" msgstr "" -#: plinth/modules/datetime/forms.py:20 +#: plinth/modules/datetime/forms.py:18 msgid "Time Zone" msgstr "" -#: plinth/modules/datetime/forms.py:21 +#: plinth/modules/datetime/forms.py:19 msgid "" "Set your time zone to get accurate timestamps. This will set the system-wide " "time zone." msgstr "" -#: plinth/modules/datetime/forms.py:32 +#: plinth/modules/datetime/forms.py:30 msgid "-- no time zone set --" msgstr "" @@ -909,31 +906,31 @@ msgstr "" msgid "Time zone set" msgstr "" -#: plinth/modules/deluge/__init__.py:25 +#: plinth/modules/deluge/__init__.py:26 msgid "Deluge is a BitTorrent client that features a Web UI." msgstr "" -#: plinth/modules/deluge/__init__.py:26 +#: plinth/modules/deluge/__init__.py:27 msgid "" "The default password is 'deluge', but you should log in and change it " "immediately after enabling this service." msgstr "" -#: plinth/modules/deluge/__init__.py:30 -#: plinth/modules/transmission/__init__.py:34 +#: plinth/modules/deluge/__init__.py:46 +#: plinth/modules/transmission/__init__.py:48 msgid "Download files using BitTorrent applications" msgstr "" -#: plinth/modules/deluge/__init__.py:46 plinth/modules/deluge/manifest.py:9 +#: plinth/modules/deluge/__init__.py:50 plinth/modules/deluge/manifest.py:9 msgid "Deluge" msgstr "" -#: plinth/modules/deluge/__init__.py:47 -#: plinth/modules/transmission/__init__.py:50 +#: plinth/modules/deluge/__init__.py:51 +#: plinth/modules/transmission/__init__.py:53 msgid "BitTorrent Web Client" msgstr "" -#: plinth/modules/deluge/forms.py:20 plinth/modules/transmission/forms.py:20 +#: plinth/modules/deluge/forms.py:20 plinth/modules/transmission/forms.py:21 msgid "Download directory" msgstr "" @@ -1006,7 +1003,7 @@ msgstr "" msgid "Federated Social Network" msgstr "" -#: plinth/modules/diaspora/forms.py:15 +#: plinth/modules/diaspora/forms.py:13 msgid "Enable new user registrations" msgstr "" @@ -1032,32 +1029,23 @@ msgstr "" #: plinth/modules/diaspora/templates/diaspora-pre-setup.html:43 #: plinth/modules/dynamicdns/templates/dynamicdns_configure.html:25 -#: plinth/modules/ejabberd/templates/ejabberd.html:43 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:18 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:47 #: plinth/modules/snapshot/templates/snapshot.html:15 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:35 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:43 -#: plinth/templates/app.html:52 +#: plinth/templates/app.html:54 msgid "Update setup" msgstr "" -#: plinth/modules/diaspora/views.py:76 plinth/modules/ejabberd/views.py:46 -#: plinth/modules/matrixsynapse/views.py:85 -#: plinth/modules/mediawiki/views.py:58 plinth/modules/openvpn/views.py:135 -#: plinth/modules/tor/views.py:136 plinth/views.py:180 -msgid "Setting unchanged" -msgstr "" - -#: plinth/modules/diaspora/views.py:80 +#: plinth/modules/diaspora/views.py:74 msgid "User registrations enabled" msgstr "" -#: plinth/modules/diaspora/views.py:84 +#: plinth/modules/diaspora/views.py:78 msgid "User registrations disabled" msgstr "" -#: plinth/modules/dynamicdns/__init__.py:27 +#: plinth/modules/dynamicdns/__init__.py:28 #, python-brace-format msgid "" "If your Internet provider changes your IP address periodically (i.e. every " @@ -1065,7 +1053,7 @@ msgid "" "prevent others from finding services which are provided by this {box_name}." msgstr "" -#: plinth/modules/dynamicdns/__init__.py:31 +#: plinth/modules/dynamicdns/__init__.py:32 msgid "" "The solution is to assign a DNS name to your IP address and update the DNS " "name every time your IP is changed by your Internet provider. Dynamic DNS " @@ -1076,11 +1064,11 @@ msgid "" "IP address." msgstr "" -#: plinth/modules/dynamicdns/__init__.py:56 +#: plinth/modules/dynamicdns/__init__.py:55 msgid "Dynamic DNS Client" msgstr "" -#: plinth/modules/dynamicdns/__init__.py:66 +#: plinth/modules/dynamicdns/__init__.py:65 msgid "Dynamic Domain Name" msgstr "" @@ -1169,7 +1157,7 @@ msgid "Username" msgstr "" #: plinth/modules/dynamicdns/forms.py:104 plinth/modules/networks/forms.py:200 -#: plinth/modules/shadowsocks/forms.py:45 +#: plinth/modules/shadowsocks/forms.py:44 msgid "Password" msgstr "" @@ -1247,7 +1235,7 @@ msgstr "" msgid "Last update" msgstr "" -#: plinth/modules/dynamicdns/views.py:26 plinth/modules/help/__init__.py:49 +#: plinth/modules/dynamicdns/views.py:26 plinth/modules/help/__init__.py:51 #: plinth/templates/help-menu.html:46 plinth/templates/help-menu.html:47 msgid "About" msgstr "" @@ -1274,13 +1262,13 @@ msgstr "" msgid "Dynamic DNS Status" msgstr "" -#: plinth/modules/ejabberd/__init__.py:36 +#: plinth/modules/ejabberd/__init__.py:37 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:39 +#: plinth/modules/ejabberd/__init__.py:40 #, python-brace-format msgid "" "To actually communicate, you can use the web client user with a {box_name} login." msgstr "" -#: plinth/modules/ejabberd/__init__.py:70 +#: plinth/modules/ejabberd/__init__.py:69 msgid "ejabberd" msgstr "" -#: plinth/modules/ejabberd/__init__.py:71 +#: plinth/modules/ejabberd/__init__.py:70 #: plinth/modules/matrixsynapse/__init__.py:68 msgid "Chat Server" msgstr "" -#: plinth/modules/ejabberd/forms.py:17 +#: plinth/modules/ejabberd/forms.py:16 msgid "Enable Message Archive Management" msgstr "" -#: plinth/modules/ejabberd/forms.py:19 +#: plinth/modules/ejabberd/forms.py:18 #, python-brace-format msgid "" "If enabled, your {box_name} will store chat message histories. This allows " @@ -1357,19 +1345,11 @@ msgid "" "Configure page." msgstr "" -#: plinth/modules/ejabberd/templates/ejabberd.html:35 -#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 -#: plinth/modules/snapshot/templates/snapshot.html:12 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:27 -#: plinth/templates/app.html:45 -msgid "Configuration" -msgstr "" - -#: plinth/modules/ejabberd/views.py:58 +#: plinth/modules/ejabberd/views.py:45 msgid "Message Archive Management enabled" msgstr "" -#: plinth/modules/ejabberd/views.py:62 +#: plinth/modules/ejabberd/views.py:49 msgid "Message Archive Management disabled" msgstr "" @@ -1381,7 +1361,7 @@ msgid "" "configured reduces risk of security threat from the Internet." msgstr "" -#: plinth/modules/firewall/__init__.py:63 +#: plinth/modules/firewall/__init__.py:65 msgid "Firewall" msgstr "" @@ -1508,7 +1488,7 @@ msgid "" "gittutorial\">Git tutorial." msgstr "" -#: plinth/modules/gitweb/__init__.py:39 +#: plinth/modules/gitweb/__init__.py:51 msgid "Read-write access to Git repositories" msgstr "" @@ -1641,31 +1621,31 @@ msgstr "" msgid "Could not delete {name}: {error}" msgstr "" -#: plinth/modules/help/__init__.py:30 +#: plinth/modules/help/__init__.py:32 msgid "Documentation" msgstr "" -#: plinth/modules/help/__init__.py:33 plinth/modules/networks/forms.py:47 +#: plinth/modules/help/__init__.py:35 plinth/modules/networks/forms.py:47 #: plinth/modules/networks/forms.py:77 plinth/templates/help-menu.html:20 #: plinth/templates/help-menu.html:21 plinth/templates/index.html:128 msgid "Manual" msgstr "" -#: plinth/modules/help/__init__.py:37 +#: plinth/modules/help/__init__.py:39 #: plinth/modules/help/templates/help_support.html:9 #: plinth/modules/help/views.py:43 plinth/templates/help-menu.html:27 #: plinth/templates/help-menu.html:28 msgid "Get Support" msgstr "" -#: plinth/modules/help/__init__.py:41 +#: plinth/modules/help/__init__.py:43 #: plinth/modules/help/templates/help_feedback.html:9 #: plinth/modules/help/views.py:37 plinth/templates/help-menu.html:33 #: plinth/templates/help-menu.html:34 msgid "Submit Feedback" msgstr "" -#: plinth/modules/help/__init__.py:45 +#: plinth/modules/help/__init__.py:47 #: plinth/modules/help/templates/help_contribute.html:9 #: plinth/modules/help/views.py:31 plinth/templates/help-menu.html:39 #: plinth/templates/help-menu.html:40 @@ -1774,7 +1754,7 @@ msgstr "" #: plinth/modules/help/templates/help_contribute.html:42 #: plinth/modules/power/templates/power_restart.html:27 #: plinth/modules/power/templates/power_shutdown.html:26 -#: plinth/templates/app-header.html:51 +#: plinth/templates/app-header.html:53 msgid "Learn more..." msgstr "" @@ -1918,19 +1898,19 @@ msgid "" "configuration process." msgstr "" -#: plinth/modules/i2p/__init__.py:38 +#: plinth/modules/i2p/__init__.py:62 msgid "Manage I2P application" msgstr "" -#: plinth/modules/i2p/__init__.py:64 plinth/modules/i2p/manifest.py:16 +#: plinth/modules/i2p/__init__.py:65 plinth/modules/i2p/manifest.py:16 msgid "I2P" msgstr "" -#: plinth/modules/i2p/__init__.py:65 plinth/modules/tor/__init__.py:56 +#: plinth/modules/i2p/__init__.py:66 plinth/modules/tor/__init__.py:55 msgid "Anonymity Network" msgstr "" -#: plinth/modules/i2p/__init__.py:87 +#: plinth/modules/i2p/__init__.py:88 msgid "I2P Proxy" msgstr "" @@ -1983,18 +1963,18 @@ msgid "" "Configuration you can change these permissions or add new users." msgstr "" -#: plinth/modules/ikiwiki/__init__.py:39 -msgid "View and edit wiki applications" -msgstr "" - -#: plinth/modules/ikiwiki/__init__.py:53 plinth/modules/ikiwiki/manifest.py:9 +#: plinth/modules/ikiwiki/__init__.py:52 plinth/modules/ikiwiki/manifest.py:9 msgid "ikiwiki" msgstr "" -#: plinth/modules/ikiwiki/__init__.py:54 +#: plinth/modules/ikiwiki/__init__.py:53 msgid "Wiki and Blog" msgstr "" +#: plinth/modules/ikiwiki/__init__.py:73 +msgid "View and edit wiki applications" +msgstr "" + #: plinth/modules/ikiwiki/forms.py:17 msgid "Admin Account Name" msgstr "" @@ -2038,32 +2018,32 @@ msgid "" "history. Delete this wiki or blog permanently?" msgstr "" -#: plinth/modules/ikiwiki/views.py:72 +#: plinth/modules/ikiwiki/views.py:70 #, python-brace-format msgid "Created wiki {name}." msgstr "" -#: plinth/modules/ikiwiki/views.py:75 +#: plinth/modules/ikiwiki/views.py:73 #, python-brace-format msgid "Could not create wiki: {error}" msgstr "" -#: plinth/modules/ikiwiki/views.py:85 +#: plinth/modules/ikiwiki/views.py:83 #, python-brace-format msgid "Created blog {name}." msgstr "" -#: plinth/modules/ikiwiki/views.py:88 +#: plinth/modules/ikiwiki/views.py:86 #, python-brace-format msgid "Could not create blog: {error}" msgstr "" -#: plinth/modules/ikiwiki/views.py:103 +#: plinth/modules/ikiwiki/views.py:101 #, python-brace-format msgid "{title} deleted." msgstr "" -#: plinth/modules/ikiwiki/views.py:107 +#: plinth/modules/ikiwiki/views.py:105 #, python-brace-format msgid "Could not delete {title}: {error}" msgstr "" @@ -2103,17 +2083,17 @@ msgid "" "domain name." msgstr "" -#: plinth/modules/jsxc/__init__.py:22 +#: plinth/modules/jsxc/__init__.py:23 msgid "" "JSXC is a web client for XMPP. Typically it is used with an XMPP server " "running locally." msgstr "" -#: plinth/modules/jsxc/__init__.py:40 plinth/modules/jsxc/manifest.py:10 +#: plinth/modules/jsxc/__init__.py:43 plinth/modules/jsxc/manifest.py:10 msgid "JSXC" msgstr "" -#: plinth/modules/jsxc/__init__.py:41 +#: plinth/modules/jsxc/__init__.py:44 msgid "Chat Client" msgstr "" @@ -2276,11 +2256,11 @@ msgstr "" msgid "Matrix Synapse" msgstr "" -#: plinth/modules/matrixsynapse/forms.py:14 +#: plinth/modules/matrixsynapse/forms.py:12 msgid "Enable Public Registration" msgstr "" -#: plinth/modules/matrixsynapse/forms.py:15 +#: plinth/modules/matrixsynapse/forms.py:13 msgid "" "Enabling public registration means that anyone on the Internet can register " "a new account on your Matrix server. Disable this if you only want existing " @@ -2291,6 +2271,12 @@ msgstr "" msgid "Riot" msgstr "" +#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 +#: plinth/modules/snapshot/templates/snapshot.html:12 +#: plinth/templates/app.html:46 +msgid "Configuration" +msgstr "" + #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:18 msgid "" "Matrix service needs to be configured for a domain. Users on other Matrix " @@ -2335,11 +2321,11 @@ msgid "" "go to Let's Encrypt to obtain one." msgstr "" -#: plinth/modules/matrixsynapse/views.py:98 +#: plinth/modules/matrixsynapse/views.py:86 msgid "Public registration enabled" msgstr "" -#: plinth/modules/matrixsynapse/views.py:103 +#: plinth/modules/matrixsynapse/views.py:91 msgid "Public registration disabled" msgstr "" @@ -2375,71 +2361,71 @@ msgstr "" msgid "Wiki" msgstr "" -#: plinth/modules/mediawiki/forms.py:27 +#: plinth/modules/mediawiki/forms.py:25 msgid "Administrator Password" msgstr "" -#: plinth/modules/mediawiki/forms.py:28 +#: plinth/modules/mediawiki/forms.py:26 msgid "" "Set a new password for MediaWiki's administrator account (admin). Leave this " "field blank to keep the current password." msgstr "" -#: plinth/modules/mediawiki/forms.py:33 +#: plinth/modules/mediawiki/forms.py:31 msgid "Enable public registrations" msgstr "" -#: plinth/modules/mediawiki/forms.py:34 +#: plinth/modules/mediawiki/forms.py:32 msgid "" "If enabled, anyone on the internet will be able to create an account on your " "MediaWiki instance." msgstr "" -#: plinth/modules/mediawiki/forms.py:38 +#: plinth/modules/mediawiki/forms.py:36 msgid "Enable private mode" msgstr "" -#: plinth/modules/mediawiki/forms.py:39 +#: plinth/modules/mediawiki/forms.py:37 msgid "" "If enabled, access will be restricted. Only people who have accounts can " "read/write to the wiki. Public registrations will also be disabled." msgstr "" -#: plinth/modules/mediawiki/forms.py:44 +#: plinth/modules/mediawiki/forms.py:42 msgid "Default Skin" msgstr "" -#: plinth/modules/mediawiki/forms.py:45 +#: plinth/modules/mediawiki/forms.py:43 msgid "" "Choose a default skin for your MediaWiki installation. Users have the option " "to select their preferred skin." msgstr "" -#: plinth/modules/mediawiki/views.py:53 +#: plinth/modules/mediawiki/views.py:48 msgid "Password updated" msgstr "" -#: plinth/modules/mediawiki/views.py:72 +#: plinth/modules/mediawiki/views.py:57 msgid "Public registrations enabled" msgstr "" -#: plinth/modules/mediawiki/views.py:81 +#: plinth/modules/mediawiki/views.py:66 msgid "Public registrations disabled" msgstr "" -#: plinth/modules/mediawiki/views.py:86 +#: plinth/modules/mediawiki/views.py:71 msgid "Private mode enabled" msgstr "" -#: plinth/modules/mediawiki/views.py:93 +#: plinth/modules/mediawiki/views.py:78 msgid "Private mode disabled" msgstr "" -#: plinth/modules/mediawiki/views.py:101 +#: plinth/modules/mediawiki/views.py:86 msgid "Default skin changed" msgstr "" -#: plinth/modules/minetest/__init__.py:37 +#: plinth/modules/minetest/__init__.py:38 #, python-brace-format msgid "" "Minetest is a multiplayer infinite-world block sandbox. This module enables " @@ -2448,48 +2434,48 @@ msgid "" "downloads/\">Minetest client is needed." msgstr "" -#: plinth/modules/minetest/__init__.py:63 +#: plinth/modules/minetest/__init__.py:62 #: plinth/modules/minetest/manifest.py:10 msgid "Minetest" msgstr "" -#: plinth/modules/minetest/__init__.py:64 +#: plinth/modules/minetest/__init__.py:63 msgid "Block Sandbox" msgstr "" -#: plinth/modules/minetest/forms.py:15 +#: plinth/modules/minetest/forms.py:13 msgid "Maximum number of players" msgstr "" -#: plinth/modules/minetest/forms.py:17 +#: plinth/modules/minetest/forms.py:15 msgid "" "You can change the maximum number of players playing minetest at a single " "instance of time." msgstr "" -#: plinth/modules/minetest/forms.py:21 +#: plinth/modules/minetest/forms.py:19 msgid "Enable creative mode" msgstr "" -#: plinth/modules/minetest/forms.py:22 +#: plinth/modules/minetest/forms.py:20 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:27 +#: plinth/modules/minetest/forms.py:25 msgid "Enable PVP" msgstr "" -#: plinth/modules/minetest/forms.py:28 +#: plinth/modules/minetest/forms.py:26 msgid "Enabling Player Vs Player will allow players to damage other players." msgstr "" -#: plinth/modules/minetest/forms.py:32 +#: plinth/modules/minetest/forms.py:30 msgid "Enable damage" msgstr "" -#: plinth/modules/minetest/forms.py:33 +#: plinth/modules/minetest/forms.py:31 msgid "When disabled, players cannot die or receive damage of any kind." msgstr "" @@ -2530,19 +2516,19 @@ msgid "" "Kodi." msgstr "" -#: plinth/modules/minidlna/__init__.py:33 +#: plinth/modules/minidlna/__init__.py:44 msgid "Media streaming server" msgstr "" -#: plinth/modules/minidlna/__init__.py:47 +#: plinth/modules/minidlna/__init__.py:48 msgid "Simple Media Server" msgstr "" -#: plinth/modules/minidlna/forms.py:15 +#: plinth/modules/minidlna/forms.py:13 msgid "Media Files Directory" msgstr "" -#: plinth/modules/minidlna/forms.py:16 +#: plinth/modules/minidlna/forms.py:14 msgid "" "Directory that MiniDLNA Server will read for content. All sub-directories of " "this will be also scanned for media files. If you change the default ensure " @@ -2594,16 +2580,16 @@ msgid "" "On {box_name}, downloaded files can be found in /var/lib/mldonkey/ directory." msgstr "" -#: plinth/modules/mldonkey/__init__.py:40 +#: plinth/modules/mldonkey/__init__.py:50 msgid "Download files using eDonkey applications" msgstr "" -#: plinth/modules/mldonkey/__init__.py:54 +#: plinth/modules/mldonkey/__init__.py:53 #: plinth/modules/mldonkey/manifest.py:12 msgid "MLDonkey" msgstr "" -#: plinth/modules/mldonkey/__init__.py:56 +#: plinth/modules/mldonkey/__init__.py:55 msgid "Peer-to-peer File Sharing" msgstr "" @@ -2615,7 +2601,7 @@ msgstr "" msgid "AMLDonkey" msgstr "" -#: plinth/modules/monkeysphere/__init__.py:18 +#: plinth/modules/monkeysphere/__init__.py:19 msgid "" "With Monkeysphere, an OpenPGP key can be generated for each configured " "domain serving SSH. The OpenPGP public key can then be uploaded to the " @@ -2627,7 +2613,7 @@ msgid "" "for more details." msgstr "" -#: plinth/modules/monkeysphere/__init__.py:26 +#: plinth/modules/monkeysphere/__init__.py:27 msgid "" "Monkeysphere can also generate an OpenPGP key for each Secure Web Server " "(HTTPS) certificate installed on this machine. The OpenPGP public key can " @@ -2638,7 +2624,7 @@ msgid "" "Monkeysphere website." msgstr "" -#: plinth/modules/monkeysphere/__init__.py:50 +#: plinth/modules/monkeysphere/__init__.py:49 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:11 msgid "Monkeysphere" msgstr "" @@ -2687,15 +2673,15 @@ msgstr "" msgid "-" msgstr "" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:128 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:129 msgid "Import Key" msgstr "" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:137 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:139 msgid "Publish Key" msgstr "" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:146 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:149 msgid "Add Domains" msgstr "" @@ -2765,32 +2751,32 @@ msgstr "" msgid "Error occurred while publishing key." msgstr "" -#: plinth/modules/mumble/__init__.py:23 +#: plinth/modules/mumble/__init__.py:24 msgid "" "Mumble is an open source, low-latency, encrypted, high quality voice chat " "software." msgstr "" -#: plinth/modules/mumble/__init__.py:25 +#: plinth/modules/mumble/__init__.py:26 msgid "" "You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your " "desktop and Android devices are available." msgstr "" -#: plinth/modules/mumble/__init__.py:49 plinth/modules/mumble/manifest.py:12 +#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:12 msgid "Mumble" msgstr "" -#: plinth/modules/mumble/__init__.py:50 +#: plinth/modules/mumble/__init__.py:49 msgid "Voice Chat" msgstr "" -#: plinth/modules/mumble/forms.py:16 +#: plinth/modules/mumble/forms.py:14 msgid "Set SuperUser Password" msgstr "" -#: plinth/modules/mumble/forms.py:19 +#: plinth/modules/mumble/forms.py:17 msgid "" "Optional. Leave this field blank to keep the current password. SuperUser " "password can be used to manage permissions in Mumble." @@ -3073,7 +3059,7 @@ msgstr "" #: plinth/modules/networks/forms.py:297 #, python-brace-format -msgid "Choose how your {box_name} is connected to your network" +msgid "Specify how your {box_name} is connected to your network" msgstr "" #: plinth/modules/networks/forms.py:304 @@ -3292,7 +3278,7 @@ msgstr "" #: plinth/modules/networks/templates/connection_show.html:171 #: plinth/modules/networks/templates/connection_show.html:212 -#: plinth/modules/shadowsocks/forms.py:49 +#: plinth/modules/shadowsocks/forms.py:48 msgid "Method" msgstr "" @@ -3308,7 +3294,7 @@ msgstr "" #: plinth/modules/networks/templates/connection_show.html:201 #: plinth/modules/networks/templates/connection_show.html:240 -#: plinth/modules/storage/forms.py:141 +#: plinth/modules/storage/forms.py:139 msgid "Default" msgstr "" @@ -3747,6 +3733,11 @@ msgstr "" msgid "Setup failed." msgstr "" +#: plinth/modules/openvpn/views.py:135 plinth/modules/tor/views.py:136 +#: plinth/views.py:196 +msgid "Setting unchanged" +msgstr "" + #: plinth/modules/pagekite/__init__.py:27 #, python-brace-format msgid "" @@ -3803,75 +3794,75 @@ msgstr "" msgid "PageKite Domain" msgstr "" -#: plinth/modules/pagekite/forms.py:48 +#: plinth/modules/pagekite/forms.py:47 msgid "Server domain" msgstr "" -#: plinth/modules/pagekite/forms.py:50 +#: plinth/modules/pagekite/forms.py:49 msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " "pagekite.net server." msgstr "" -#: plinth/modules/pagekite/forms.py:53 plinth/modules/shadowsocks/forms.py:40 +#: plinth/modules/pagekite/forms.py:52 plinth/modules/shadowsocks/forms.py:39 msgid "Server port" msgstr "" -#: plinth/modules/pagekite/forms.py:54 +#: plinth/modules/pagekite/forms.py:53 msgid "Port of your pagekite server (default: 80)" msgstr "" -#: plinth/modules/pagekite/forms.py:56 +#: plinth/modules/pagekite/forms.py:55 msgid "Kite name" msgstr "" -#: plinth/modules/pagekite/forms.py:57 +#: plinth/modules/pagekite/forms.py:56 msgid "Example: mybox.pagekite.me" msgstr "" -#: plinth/modules/pagekite/forms.py:59 +#: plinth/modules/pagekite/forms.py:58 msgid "Invalid kite name" msgstr "" -#: plinth/modules/pagekite/forms.py:63 +#: plinth/modules/pagekite/forms.py:62 msgid "Kite secret" msgstr "" -#: plinth/modules/pagekite/forms.py:64 +#: plinth/modules/pagekite/forms.py:63 msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." msgstr "" -#: plinth/modules/pagekite/forms.py:101 +#: plinth/modules/pagekite/forms.py:100 msgid "protocol" msgstr "" -#: plinth/modules/pagekite/forms.py:104 +#: plinth/modules/pagekite/forms.py:103 msgid "external (frontend) port" msgstr "" -#: plinth/modules/pagekite/forms.py:107 +#: plinth/modules/pagekite/forms.py:106 msgid "internal (freedombox) port" msgstr "" -#: plinth/modules/pagekite/forms.py:108 +#: plinth/modules/pagekite/forms.py:107 msgid "Enable Subdomains" msgstr "" -#: plinth/modules/pagekite/forms.py:142 +#: plinth/modules/pagekite/forms.py:141 msgid "Deleted custom service" msgstr "" -#: plinth/modules/pagekite/forms.py:175 +#: plinth/modules/pagekite/forms.py:174 msgid "This service is already available as a standard service." msgstr "" -#: plinth/modules/pagekite/forms.py:183 +#: plinth/modules/pagekite/forms.py:182 msgid "Added custom service" msgstr "" -#: plinth/modules/pagekite/forms.py:186 +#: plinth/modules/pagekite/forms.py:185 msgid "This service already exists" msgstr "" @@ -3989,14 +3980,14 @@ msgstr "" msgid "Shut Down Now" msgstr "" -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 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:33 +#: plinth/modules/privoxy/__init__.py:34 #, python-brace-format msgid "" "You can use Privoxy by modifying your browser proxy settings to your " @@ -4006,20 +3997,20 @@ msgid "" "\">http://p.p." msgstr "" -#: plinth/modules/privoxy/__init__.py:56 +#: plinth/modules/privoxy/__init__.py:55 msgid "Privoxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:57 +#: plinth/modules/privoxy/__init__.py:56 msgid "Web Proxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:119 #, python-brace-format msgid "Access {url} with proxy {proxy} on tcp{kind}" msgstr "" -#: plinth/modules/quassel/__init__.py:32 +#: plinth/modules/quassel/__init__.py:33 #, python-brace-format msgid "" "Quassel is an IRC application that is split into two parts, a \"core\" and a " @@ -4030,7 +4021,7 @@ msgid "" "connect and disconnect from it." msgstr "" -#: plinth/modules/quassel/__init__.py:39 +#: plinth/modules/quassel/__init__.py:40 msgid "" "You can connect to your Quassel core on the default Quassel port 4242. " "Clients to connect to Quassel from your mobile devices are available." msgstr "" -#: plinth/modules/quassel/__init__.py:62 plinth/modules/quassel/manifest.py:10 +#: plinth/modules/quassel/__init__.py:61 plinth/modules/quassel/manifest.py:10 msgid "Quassel" msgstr "" -#: plinth/modules/quassel/__init__.py:63 +#: plinth/modules/quassel/__init__.py:62 msgid "IRC Client" msgstr "" -#: plinth/modules/quassel/forms.py:23 +#: plinth/modules/quassel/forms.py:22 msgid "TLS domain" msgstr "" -#: plinth/modules/quassel/forms.py:25 +#: plinth/modules/quassel/forms.py:24 msgid "" "Select a domain to use TLS with. If the list is empty, please configure at " "least one domain with certificates." @@ -4060,7 +4051,7 @@ msgstr "" msgid "Quasseldroid" msgstr "" -#: plinth/modules/radicale/__init__.py:32 +#: plinth/modules/radicale/__init__.py:33 #, python-brace-format msgid "" "Radicale is a CalDAV and CardDAV server. It allows synchronization and " @@ -4069,34 +4060,34 @@ msgid "" "can be accessed by any user with a {box_name} login." msgstr "" -#: plinth/modules/radicale/__init__.py:37 +#: plinth/modules/radicale/__init__.py:38 msgid "" "Radicale provides a basic web interface, which only supports creating new " "calendars and addressbooks. It does not support adding events or contacts, " "which must be done using a separate client." msgstr "" -#: plinth/modules/radicale/__init__.py:62 +#: plinth/modules/radicale/__init__.py:61 #: plinth/modules/radicale/manifest.py:75 msgid "Radicale" msgstr "" -#: plinth/modules/radicale/__init__.py:63 +#: plinth/modules/radicale/__init__.py:62 msgid "Calendar and Addressbook" msgstr "" -#: plinth/modules/radicale/forms.py:15 +#: plinth/modules/radicale/forms.py:14 msgid "Only the owner of a calendar/addressbook can view or make changes." msgstr "" -#: plinth/modules/radicale/forms.py:19 +#: plinth/modules/radicale/forms.py:18 #, python-brace-format msgid "" "Any user with a {box_name} login can view any calendar/addressbook, but only " "the owner can make changes." msgstr "" -#: plinth/modules/radicale/forms.py:24 +#: plinth/modules/radicale/forms.py:23 #, python-brace-format msgid "" "Any user with a {box_name} login can view or make changes to any calendar/" @@ -4212,11 +4203,11 @@ msgid "" "private space." msgstr "" -#: plinth/modules/samba/__init__.py:47 +#: plinth/modules/samba/__init__.py:59 msgid "Access to the private shares" msgstr "" -#: plinth/modules/samba/__init__.py:61 +#: plinth/modules/samba/__init__.py:62 msgid "Samba" msgstr "" @@ -4280,11 +4271,11 @@ msgstr "" msgid "Action" msgstr "" -#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:149 +#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:147 msgid "Open Share" msgstr "" -#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:147 +#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:145 msgid "Group Share" msgstr "" @@ -4322,43 +4313,43 @@ msgid "" "stores no cookies by default." msgstr "" -#: plinth/modules/searx/__init__.py:31 +#: plinth/modules/searx/__init__.py:45 msgid "Search the web" msgstr "" -#: plinth/modules/searx/__init__.py:47 plinth/modules/searx/manifest.py:9 +#: plinth/modules/searx/__init__.py:48 plinth/modules/searx/manifest.py:9 msgid "Searx" msgstr "" -#: plinth/modules/searx/__init__.py:48 +#: plinth/modules/searx/__init__.py:49 msgid "Web Search" msgstr "" -#: plinth/modules/searx/forms.py:15 +#: plinth/modules/searx/forms.py:13 msgid "Safe Search" msgstr "" -#: plinth/modules/searx/forms.py:16 +#: plinth/modules/searx/forms.py:14 msgid "Select the default family filter to apply to your search results." msgstr "" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "None" msgstr "" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "Moderate" msgstr "" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "Strict" msgstr "" -#: plinth/modules/searx/forms.py:20 +#: plinth/modules/searx/forms.py:18 msgid "Allow Public Access" msgstr "" -#: plinth/modules/searx/forms.py:21 +#: plinth/modules/searx/forms.py:19 msgid "Allow this application to be used by anyone who can reach it." msgstr "" @@ -4521,28 +4512,28 @@ msgstr "" msgid "Socks5 Proxy" msgstr "" +#: plinth/modules/shadowsocks/forms.py:12 #: plinth/modules/shadowsocks/forms.py:13 -#: plinth/modules/shadowsocks/forms.py:14 msgid "Recommended" msgstr "" -#: plinth/modules/shadowsocks/forms.py:37 +#: plinth/modules/shadowsocks/forms.py:36 msgid "Server" msgstr "" -#: plinth/modules/shadowsocks/forms.py:38 +#: plinth/modules/shadowsocks/forms.py:37 msgid "Server hostname or IP address" msgstr "" -#: plinth/modules/shadowsocks/forms.py:42 +#: plinth/modules/shadowsocks/forms.py:41 msgid "Server port number" msgstr "" -#: plinth/modules/shadowsocks/forms.py:45 +#: plinth/modules/shadowsocks/forms.py:44 msgid "Password used to encrypt data. Must match server password." msgstr "" -#: plinth/modules/shadowsocks/forms.py:50 +#: plinth/modules/shadowsocks/forms.py:49 msgid "Encryption method. Must match setting on server." msgstr "" @@ -4583,11 +4574,11 @@ msgstr "" msgid "Make files in this folder available to anyone with the link." msgstr "" -#: plinth/modules/sharing/forms.py:33 +#: plinth/modules/sharing/forms.py:34 msgid "User groups that can read the files in the share" msgstr "" -#: plinth/modules/sharing/forms.py:35 +#: plinth/modules/sharing/forms.py:36 msgid "" "Users of the selected user groups will be able to read the files in the " "share." @@ -4858,11 +4849,11 @@ msgstr "" msgid "Secure Shell (SSH) Server" msgstr "" -#: plinth/modules/ssh/forms.py:15 +#: plinth/modules/ssh/forms.py:13 msgid "Disable password authentication" msgstr "" -#: plinth/modules/ssh/forms.py:16 +#: plinth/modules/ssh/forms.py:14 msgid "" "Improves security by preventing password guessing. Ensure that you have " "setup SSH keys in your administrator user account before enabling this " @@ -4911,129 +4902,129 @@ msgid "" "media, expand the root partition etc." msgstr "" -#: plinth/modules/storage/__init__.py:52 plinth/modules/storage/__init__.py:318 +#: plinth/modules/storage/__init__.py:54 plinth/modules/storage/__init__.py:320 msgid "Storage" 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 "" -#: plinth/modules/storage/__init__.py:313 +#: plinth/modules/storage/__init__.py:315 #, no-python-format, python-brace-format msgid "Low space on system partition: {percent_used}% used, {free_space} free." msgstr "" -#: plinth/modules/storage/__init__.py:315 +#: plinth/modules/storage/__init__.py:317 msgid "Low disk space" msgstr "" -#: plinth/modules/storage/forms.py:64 +#: plinth/modules/storage/forms.py:63 msgid "Invalid directory name." msgstr "" -#: plinth/modules/storage/forms.py:82 +#: plinth/modules/storage/forms.py:80 msgid "Directory does not exist." msgstr "" -#: plinth/modules/storage/forms.py:84 +#: plinth/modules/storage/forms.py:83 msgid "Path is not a directory." msgstr "" -#: plinth/modules/storage/forms.py:87 +#: plinth/modules/storage/forms.py:86 msgid "Directory is not readable by the user." msgstr "" -#: plinth/modules/storage/forms.py:90 +#: plinth/modules/storage/forms.py:89 msgid "Directory is not writable by the user." msgstr "" -#: plinth/modules/storage/forms.py:95 +#: plinth/modules/storage/forms.py:94 msgid "Directory" msgstr "" -#: plinth/modules/storage/forms.py:98 +#: plinth/modules/storage/forms.py:96 msgid "Subdirectory (optional)" msgstr "" -#: plinth/modules/storage/forms.py:145 +#: plinth/modules/storage/forms.py:143 msgid "Share" msgstr "" -#: plinth/modules/storage/forms.py:153 +#: plinth/modules/storage/forms.py:151 msgid "Other directory (specify below)" msgstr "" @@ -5114,19 +5105,20 @@ msgid "" "synchronize more often. {box_name} runs a single instance of Syncthing that " "may be used by multiple users. Each user's set of devices may be " "synchronized with a distinct set of folders. The web interface on " -"{box_name} is only available for users belonging to the \"admin\" group." +"{box_name} is only available for users belonging to the \"admin\" or " +"\"syncthing\" group." msgstr "" -#: plinth/modules/syncthing/__init__.py:40 +#: plinth/modules/syncthing/__init__.py:53 msgid "Administer Syncthing application" msgstr "" -#: plinth/modules/syncthing/__init__.py:54 +#: plinth/modules/syncthing/__init__.py:56 #: plinth/modules/syncthing/manifest.py:13 msgid "Syncthing" msgstr "" -#: plinth/modules/syncthing/__init__.py:55 +#: plinth/modules/syncthing/__init__.py:57 msgid "File Synchronization" msgstr "" @@ -5163,33 +5155,33 @@ msgid "" "%(domain_name)s:5678\">https://%(domain_name)s:5678." msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:39 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:29 msgid "Local introducer" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:59 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:76 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:33 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:49 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:66 msgid "Pet Name" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:56 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:46 msgid "Add new introducer" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:67 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:57 msgid "Add" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:72 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:62 msgid "Connected introducers" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:89 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:79 msgid "Remove" msgstr "" -#: plinth/modules/tor/__init__.py:33 +#: plinth/modules/tor/__init__.py:34 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -5198,40 +5190,40 @@ msgid "" "\">Tor Browser." msgstr "" -#: plinth/modules/tor/__init__.py:55 +#: plinth/modules/tor/__init__.py:54 msgid "Tor" msgstr "" -#: plinth/modules/tor/__init__.py:66 +#: plinth/modules/tor/__init__.py:65 msgid "Tor Onion Service" msgstr "" -#: plinth/modules/tor/__init__.py:70 +#: plinth/modules/tor/__init__.py:69 msgid "Tor Socks Proxy" msgstr "" -#: plinth/modules/tor/__init__.py:74 +#: plinth/modules/tor/__init__.py:73 msgid "Tor Bridge Relay" msgstr "" -#: plinth/modules/tor/__init__.py:95 +#: plinth/modules/tor/__init__.py:98 msgid "Tor relay port available" msgstr "" -#: plinth/modules/tor/__init__.py:105 +#: plinth/modules/tor/__init__.py:108 msgid "Obfs3 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:115 +#: plinth/modules/tor/__init__.py:118 msgid "Obfs4 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:208 +#: plinth/modules/tor/__init__.py:211 #, python-brace-format msgid "Access URL {url} on tcp{kind} via Tor" msgstr "" -#: plinth/modules/tor/__init__.py:219 +#: plinth/modules/tor/__init__.py:222 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "" @@ -5357,13 +5349,13 @@ msgstr "" msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050." msgstr "" -#: plinth/modules/transmission/__init__.py:27 +#: plinth/modules/transmission/__init__.py:28 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:48 +#: plinth/modules/transmission/__init__.py:51 #: plinth/modules/transmission/manifest.py:9 msgid "Transmission" msgstr "" @@ -5389,15 +5381,15 @@ msgid "" "connecting." msgstr "" -#: plinth/modules/ttrss/__init__.py:42 +#: plinth/modules/ttrss/__init__.py:54 msgid "Read and subscribe to news feeds" msgstr "" -#: plinth/modules/ttrss/__init__.py:56 plinth/modules/ttrss/manifest.py:19 +#: plinth/modules/ttrss/__init__.py:57 plinth/modules/ttrss/manifest.py:19 msgid "Tiny Tiny RSS" msgstr "" -#: plinth/modules/ttrss/__init__.py:57 +#: plinth/modules/ttrss/__init__.py:58 msgid "News Feed Reader" msgstr "" @@ -5409,11 +5401,11 @@ msgstr "" msgid "Check for and apply the latest software and security updates." msgstr "" -#: plinth/modules/upgrades/__init__.py:38 plinth/templates/setup.html:74 +#: plinth/modules/upgrades/__init__.py:40 plinth/templates/setup.html:74 msgid "Update" msgstr "" -#: plinth/modules/upgrades/__init__.py:76 +#: plinth/modules/upgrades/__init__.py:78 msgid "FreedomBox Updated" msgstr "" @@ -5463,43 +5455,39 @@ msgstr "" #: plinth/modules/upgrades/templates/upgrades_configure.html:11 #: plinth/modules/upgrades/templates/upgrades_configure.html:12 -#: plinth/modules/upgrades/views.py:88 +#: plinth/modules/upgrades/views.py:85 msgid "Manual update" msgstr "" -#: plinth/modules/upgrades/views.py:47 +#: plinth/modules/upgrades/views.py:46 #, python-brace-format msgid "Error when configuring unattended-upgrades: {error}" msgstr "" -#: plinth/modules/upgrades/views.py:51 +#: plinth/modules/upgrades/views.py:50 msgid "Automatic upgrades enabled" msgstr "" -#: plinth/modules/upgrades/views.py:54 +#: plinth/modules/upgrades/views.py:53 msgid "Automatic upgrades disabled" msgstr "" -#: plinth/modules/upgrades/views.py:56 -msgid "Settings unchanged" -msgstr "" - -#: plinth/modules/upgrades/views.py:82 +#: plinth/modules/upgrades/views.py:79 msgid "Upgrade process started." msgstr "" -#: plinth/modules/upgrades/views.py:85 +#: plinth/modules/upgrades/views.py:82 msgid "Starting upgrade failed." msgstr "" -#: plinth/modules/users/__init__.py:37 +#: plinth/modules/users/__init__.py:39 msgid "" "Create and managed user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " "account to be part of a group to authorize the user to access the app." msgstr "" -#: plinth/modules/users/__init__.py:42 +#: plinth/modules/users/__init__.py:44 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -5507,102 +5495,101 @@ msgid "" "group may alter apps or system settings." msgstr "" -#: plinth/modules/users/__init__.py:64 +#: plinth/modules/users/__init__.py:65 msgid "Users and Groups" msgstr "" -#: plinth/modules/users/__init__.py:115 +#: plinth/modules/users/__init__.py:78 +msgid "Access to all services and system settings" +msgstr "" + +#: plinth/modules/users/__init__.py:122 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "" -#: plinth/modules/users/forms.py:28 -msgid "Access to all services and system settings" -msgstr "" - -#: plinth/modules/users/forms.py:44 +#: plinth/modules/users/forms.py:36 msgid "Username is taken or is reserved." msgstr "" -#: plinth/modules/users/forms.py:72 +#: plinth/modules/users/forms.py:63 msgid "Enter a valid username." msgstr "" -#: plinth/modules/users/forms.py:78 +#: plinth/modules/users/forms.py:69 msgid "" "Required. 150 characters or fewer. English letters, digits and @/./-/_ only." msgstr "" -#: plinth/modules/users/forms.py:91 plinth/modules/users/forms.py:207 +#: plinth/modules/users/forms.py:83 plinth/modules/users/forms.py:196 msgid "Permissions" msgstr "" -#: plinth/modules/users/forms.py:94 +#: plinth/modules/users/forms.py:85 msgid "" -"Select which services should be available to the new user. The user will be " -"able to log in to services that support single sign-on through LDAP, if they " -"are in the appropriate group.

Users in the admin group will be " -"able to log in to all services. They can also log in to the system through " -"SSH and have administrative privileges (sudo)." +"user. The user will be able to log in to services that support single sign-" +"on through LDAP, if they are in the appropriate group.

Users in " +"the admin group will be able to log in to all services. They can also log in " +"to the system through SSH and have administrative privileges (sudo)." msgstr "" -#: plinth/modules/users/forms.py:133 plinth/modules/users/forms.py:357 +#: plinth/modules/users/forms.py:122 plinth/modules/users/forms.py:345 msgid "Creating LDAP user failed." msgstr "" -#: plinth/modules/users/forms.py:144 +#: plinth/modules/users/forms.py:133 #, python-brace-format msgid "Failed to add new user to {group} group." msgstr "" -#: plinth/modules/users/forms.py:158 +#: plinth/modules/users/forms.py:147 msgid "Authorized SSH Keys" msgstr "" -#: plinth/modules/users/forms.py:160 +#: plinth/modules/users/forms.py:149 msgid "" "Setting an SSH public key will allow this user to securely log in to the " "system without using a password. You may enter multiple keys, one on each " "line. Blank lines and lines starting with # will be ignored." msgstr "" -#: plinth/modules/users/forms.py:244 +#: plinth/modules/users/forms.py:233 msgid "Renaming LDAP user failed." msgstr "" -#: plinth/modules/users/forms.py:256 +#: plinth/modules/users/forms.py:245 msgid "Failed to remove user from group." msgstr "" -#: plinth/modules/users/forms.py:267 +#: plinth/modules/users/forms.py:256 msgid "Failed to add user to group." msgstr "" -#: plinth/modules/users/forms.py:276 +#: plinth/modules/users/forms.py:265 msgid "Unable to set SSH keys." msgstr "" -#: plinth/modules/users/forms.py:291 +#: plinth/modules/users/forms.py:280 msgid "Failed to change user status." msgstr "" -#: plinth/modules/users/forms.py:299 +#: plinth/modules/users/forms.py:288 msgid "Cannot delete the only administrator in the system." msgstr "" -#: plinth/modules/users/forms.py:331 +#: plinth/modules/users/forms.py:319 msgid "Changing LDAP user password failed." msgstr "" -#: plinth/modules/users/forms.py:366 +#: plinth/modules/users/forms.py:354 msgid "Failed to add new user to admin group." msgstr "" -#: plinth/modules/users/forms.py:383 +#: plinth/modules/users/forms.py:371 msgid "Failed to restrict console access." msgstr "" -#: plinth/modules/users/forms.py:395 +#: plinth/modules/users/forms.py:383 msgid "User account created, you are now logged in" msgstr "" @@ -6332,14 +6319,6 @@ msgstr "" msgid "%(percentage)s%% complete" msgstr "" -#: plinth/views.py:184 -msgid "Application enabled" -msgstr "" - -#: plinth/views.py:187 -msgid "Application disabled" -msgstr "" - #: plinth/web_framework.py:107 msgid "Gujarati" msgstr "" diff --git a/plinth/locale/te/LC_MESSAGES/django.po b/plinth/locale/te/LC_MESSAGES/django.po index 9db4115b8..7b7221b66 100644 --- a/plinth/locale/te/LC_MESSAGES/django.po +++ b/plinth/locale/te/LC_MESSAGES/django.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: FreedomBox UI\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-03-23 18:54-0400\n" -"PO-Revision-Date: 2020-03-01 14:32+0000\n" +"POT-Creation-Date: 2020-04-06 19:59-0400\n" +"PO-Revision-Date: 2020-04-06 02:28+0000\n" "Last-Translator: Joseph Nuthalapati \n" "Language-Team: Telugu \n" @@ -54,29 +54,25 @@ msgstr "అనుసంధానించండి {host}:{port}" msgid "Cannot connect to {host}:{port}" msgstr "అనుసంధానించండం సాధ్యంకాదు {host}:{port}" -#: plinth/forms.py:24 -msgid "Enable application" -msgstr "అనువర్తనాన్ని చేతనించు" - -#: plinth/forms.py:39 +#: plinth/forms.py:38 msgid "Select a domain name to be used with this application" msgstr "ఈ అనువర్తనానికి కావలసిన డొమైన్ పేరును ఎంచుకోండి" -#: plinth/forms.py:41 +#: plinth/forms.py:40 msgid "" "Warning! The application may not work properly if domain name is changed " "later." msgstr "హెచ్చరిక! డొమైన్ పేరును తరువాత మార్చినచో ఈ అనువర్తనం పనిచేయకపోవచ్చు." -#: plinth/forms.py:49 +#: plinth/forms.py:48 msgid "Language" msgstr "భాష" -#: plinth/forms.py:50 +#: plinth/forms.py:49 msgid "Language to use for presenting this web interface" msgstr "ఈ జాల అంతరవర్తి కోసం వాడాల్సిన భాష" -#: plinth/forms.py:57 +#: plinth/forms.py:56 msgid "Use the language preference set in the browser" msgstr "బ్రౌజర్లో ఉన్న భాషాప్రాధాన్యతనే ఉపయోగించు" @@ -411,10 +407,8 @@ msgid "Submit" msgstr "సమర్పించు" #: plinth/modules/backups/templates/backups_repository.html:19 -#, fuzzy -#| msgid "Existing repository is not encrypted." msgid "This repository is encrypted" -msgstr "ఇప్పటికే ఉన్న రిపోజిటరీ గుప్తీకరించబడలేదు." +msgstr "ఈ రిపోజిటరీ గుప్తీకరించబడింది" #: plinth/modules/backups/templates/backups_repository.html:34 #, fuzzy @@ -655,20 +649,20 @@ msgstr "బైండ్" msgid "Domain Name Server" msgstr "డొమైన్ పేరు సేవిక" -#: plinth/modules/bind/forms.py:22 +#: plinth/modules/bind/forms.py:20 msgid "Forwarders" msgstr "బట్వాడ" -#: plinth/modules/bind/forms.py:23 +#: plinth/modules/bind/forms.py:21 msgid "" "A list DNS servers, separated by space, to which requests will be forwarded" msgstr "ఒక DNS సర్వర్ల జాబితా, స్పేస్ ద్వారా వేరు చేయబడుతుంది, దీనిలో అభ్యర్థనలు ఫార్వార్డ్ చేయబడతాయి" -#: plinth/modules/bind/forms.py:27 +#: plinth/modules/bind/forms.py:25 msgid "Enable DNSSEC" msgstr "DNSSEC అమలుచెయ్యి" -#: plinth/modules/bind/forms.py:28 +#: plinth/modules/bind/forms.py:26 msgid "Enable Domain Name System Security Extensions" msgstr "డొమైన్ నేమ్ సిస్టం భద్రతా పొడిగింపు ని ప్రారంభించండి" @@ -707,10 +701,11 @@ msgstr "IP చిరునామా" msgid "Refresh IP address and domains" msgstr "IP చిరునామా మరియు డొమైన్‌లను రిఫ్రెష్ చేయండి" -#: plinth/modules/bind/views.py:72 plinth/modules/deluge/views.py:44 +#: plinth/modules/bind/views.py:72 plinth/modules/deluge/views.py:42 #: plinth/modules/dynamicdns/views.py:150 plinth/modules/openvpn/views.py:133 -#: plinth/modules/pagekite/forms.py:91 plinth/modules/shadowsocks/views.py:59 -#: plinth/modules/transmission/views.py:50 +#: plinth/modules/pagekite/forms.py:90 plinth/modules/quassel/views.py:30 +#: plinth/modules/shadowsocks/views.py:59 +#: plinth/modules/transmission/views.py:47 msgid "Configuration updated" msgstr "ఆకృతీకరణ నవీకరించబడింది" @@ -773,11 +768,11 @@ msgid "" "name, webserver home page etc." msgstr "" -#: plinth/modules/config/__init__.py:50 +#: plinth/modules/config/__init__.py:52 msgid "General Configuration" msgstr "సాధారణ ఆకృతీకరణ" -#: plinth/modules/config/__init__.py:55 plinth/modules/dynamicdns/views.py:29 +#: plinth/modules/config/__init__.py:57 plinth/modules/dynamicdns/views.py:29 #: plinth/modules/names/templates/names.html:29 #: plinth/modules/names/templates/names.html:43 #: plinth/modules/snapshot/views.py:26 @@ -785,7 +780,7 @@ msgstr "సాధారణ ఆకృతీకరణ" msgid "Configure" msgstr "ఆకృతీకరణ" -#: plinth/modules/config/__init__.py:59 plinth/modules/config/forms.py:61 +#: plinth/modules/config/__init__.py:61 plinth/modules/config/forms.py:61 #: plinth/modules/dynamicdns/forms.py:95 msgid "Domain Name" msgstr "డొమైను పేరు" @@ -930,15 +925,15 @@ msgstr "" msgid "Coquelicot" msgstr "కోక్లికో" -#: plinth/modules/coquelicot/__init__.py:47 plinth/modules/samba/__init__.py:62 +#: plinth/modules/coquelicot/__init__.py:47 plinth/modules/samba/__init__.py:63 msgid "File Sharing" msgstr "ఫైలు పంచుకొనుట" -#: plinth/modules/coquelicot/forms.py:15 +#: plinth/modules/coquelicot/forms.py:13 msgid "Upload Password" msgstr "అప్లోడ్ పాస్‌వర్డ్‌" -#: plinth/modules/coquelicot/forms.py:16 +#: plinth/modules/coquelicot/forms.py:14 msgid "" "Set a new upload password for Coquelicot. Leave this field blank to keep the " "current password." @@ -946,11 +941,11 @@ msgstr "" "కోక్లికోకు ఒక కొత్త అప్లోడ్ పాస్వర్డ్ ను సెట్ చెయ్యండి (అడ్మిన్). ప్రస్తుత అప్లోడ్ పాస్వర్డ్ ను ఉంచడానికి ఈ " "ఫీల్డ్ను ఖాళీగా వదిలేయండి." -#: plinth/modules/coquelicot/forms.py:20 +#: plinth/modules/coquelicot/forms.py:18 msgid "Maximum File Size (in MiB)" msgstr "గరిష్ట ఫైలు పరిమాణము (MiBలో)" -#: plinth/modules/coquelicot/forms.py:21 +#: plinth/modules/coquelicot/forms.py:19 msgid "Set the maximum size of the files that can be uploaded to Coquelicot." msgstr "కోక్యూలికట్ లోకి అప్లోడ్ చేయగలిగిన గరిష్ట ఫైలు పరిమాణమును కేటాయించండి." @@ -990,18 +985,18 @@ msgstr "తేదీ & సమయం" msgid "Time synchronized to NTP server" msgstr "" -#: plinth/modules/datetime/forms.py:20 +#: plinth/modules/datetime/forms.py:18 msgid "Time Zone" msgstr "సమయమండలం" -#: plinth/modules/datetime/forms.py:21 +#: plinth/modules/datetime/forms.py:19 msgid "" "Set your time zone to get accurate timestamps. This will set the system-wide " "time zone." msgstr "" "ఖచ్ఛితమైన సమయముద్ర పొందుటకు మీ సమయమండలాన్ని అమర్చండి. ఇది వ్యవస్థాపరమైన సమయ మండలాన్ని అమరుస్తుంది." -#: plinth/modules/datetime/forms.py:32 +#: plinth/modules/datetime/forms.py:30 msgid "-- no time zone set --" msgstr "-- ఏ సమయమండలం అమర్చలేదు --" @@ -1014,11 +1009,11 @@ msgstr "సమయమండలం అమర్పులోపం: {exception}" msgid "Time zone set" msgstr "సమయమండలం ఏర్పాటు చేయబడినది" -#: plinth/modules/deluge/__init__.py:25 +#: plinth/modules/deluge/__init__.py:26 msgid "Deluge is a BitTorrent client that features a Web UI." msgstr "డీలడ్జ్ అనేది జాల UI కలిగివున్న ఒక బిట్ టోరెంట్ కక్షిదారు." -#: plinth/modules/deluge/__init__.py:26 +#: plinth/modules/deluge/__init__.py:27 #, fuzzy #| msgid "" #| "When enabled, the Deluge web client will be available from XMPP క్లయింట్ ఉపయోగించవచ్చు." -#: plinth/modules/ejabberd/__init__.py:70 +#: plinth/modules/ejabberd/__init__.py:69 msgid "ejabberd" msgstr "ఈజాబ్బర్డి" -#: plinth/modules/ejabberd/__init__.py:71 +#: plinth/modules/ejabberd/__init__.py:70 #: plinth/modules/matrixsynapse/__init__.py:68 msgid "Chat Server" msgstr "కబుర్ల సేవిక" -#: plinth/modules/ejabberd/forms.py:17 +#: plinth/modules/ejabberd/forms.py:16 msgid "Enable Message Archive Management" msgstr "ప్రాచీన సందేశ నిర్వహణ ప్రారంభించండి" -#: plinth/modules/ejabberd/forms.py:19 +#: plinth/modules/ejabberd/forms.py:18 #, python-brace-format msgid "" "If enabled, your {box_name} will store chat message histories. This allows " @@ -1540,19 +1526,11 @@ msgstr "" "కనిపిస్తాయి \n" "మీరు మీ డొమైన్ను kaanfigar పేజీలో సెటప్ చేయవచ్చు." -#: plinth/modules/ejabberd/templates/ejabberd.html:35 -#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 -#: plinth/modules/snapshot/templates/snapshot.html:12 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:27 -#: plinth/templates/app.html:45 -msgid "Configuration" -msgstr "ఆకృతీకరణ" - -#: plinth/modules/ejabberd/views.py:58 +#: plinth/modules/ejabberd/views.py:45 msgid "Message Archive Management enabled" msgstr "ప్రాచీన సందేశ నిర్వహణ ప్రారంభించబడింది" -#: plinth/modules/ejabberd/views.py:62 +#: plinth/modules/ejabberd/views.py:49 msgid "Message Archive Management disabled" msgstr "ప్రాచీన సందేశ నిర్వహణ నిలిపివేయబడింది" @@ -1566,7 +1544,7 @@ msgstr "" "ఫైర్వాల్ అనేది మీ {box_name}కు జరిగే రవాణా రాకపోకలను నియంత్రించే ఒక భద్రతా వ్యవస్థ. దీనిని అనుమతించి " "సరిగా ఆకృతీకరిస్తే అంతర్జాలం నుంచి భద్రతా ముప్పు తగ్గుతుంది." -#: plinth/modules/firewall/__init__.py:63 +#: plinth/modules/firewall/__init__.py:65 msgid "Firewall" msgstr "ఫైర్వాల్" @@ -1705,7 +1683,7 @@ msgstr "" "Git ని ఎలా ఉపయోగించాలో మరింత తెలుసుకోవడానికి Git tutorial ని సందర్శించండి." -#: plinth/modules/gitweb/__init__.py:39 +#: plinth/modules/gitweb/__init__.py:51 msgid "Read-write access to Git repositories" msgstr "" @@ -1866,31 +1844,31 @@ msgstr "{name} తొలగించబడింది." msgid "Could not delete {name}: {error}" msgstr "{name} ను తొలగించలేము: {error}" -#: plinth/modules/help/__init__.py:30 +#: plinth/modules/help/__init__.py:32 msgid "Documentation" msgstr "పత్రావళి" -#: plinth/modules/help/__init__.py:33 plinth/modules/networks/forms.py:47 +#: plinth/modules/help/__init__.py:35 plinth/modules/networks/forms.py:47 #: plinth/modules/networks/forms.py:77 plinth/templates/help-menu.html:20 #: plinth/templates/help-menu.html:21 plinth/templates/index.html:128 msgid "Manual" msgstr "కరదీపిక" -#: plinth/modules/help/__init__.py:37 +#: plinth/modules/help/__init__.py:39 #: plinth/modules/help/templates/help_support.html:9 #: plinth/modules/help/views.py:43 plinth/templates/help-menu.html:27 #: plinth/templates/help-menu.html:28 msgid "Get Support" msgstr "సహాయం పొందు" -#: plinth/modules/help/__init__.py:41 +#: plinth/modules/help/__init__.py:43 #: plinth/modules/help/templates/help_feedback.html:9 #: plinth/modules/help/views.py:37 plinth/templates/help-menu.html:33 #: plinth/templates/help-menu.html:34 msgid "Submit Feedback" msgstr "అభిప్రాయాన్ని సమర్పించండి" -#: plinth/modules/help/__init__.py:45 +#: plinth/modules/help/__init__.py:47 #: plinth/modules/help/templates/help_contribute.html:9 #: plinth/modules/help/views.py:31 plinth/templates/help-menu.html:39 #: plinth/templates/help-menu.html:40 @@ -2026,7 +2004,7 @@ msgstr "" #: plinth/modules/help/templates/help_contribute.html:42 #: plinth/modules/power/templates/power_restart.html:27 #: plinth/modules/power/templates/power_shutdown.html:26 -#: plinth/templates/app-header.html:51 +#: plinth/templates/app-header.html:53 msgid "Learn more..." msgstr "మరింత తెలుసుకోండి.." @@ -2197,23 +2175,21 @@ msgid "" "configuration process." msgstr "" -#: plinth/modules/i2p/__init__.py:38 +#: plinth/modules/i2p/__init__.py:62 #, fuzzy #| msgid "Enable application" msgid "Manage I2P application" msgstr "అనువర్తనాన్ని చేతనించు" -#: plinth/modules/i2p/__init__.py:64 plinth/modules/i2p/manifest.py:16 +#: plinth/modules/i2p/__init__.py:65 plinth/modules/i2p/manifest.py:16 msgid "I2P" msgstr "" -#: plinth/modules/i2p/__init__.py:65 plinth/modules/tor/__init__.py:56 -#, fuzzy -#| msgid "Tor Anonymity Network" +#: plinth/modules/i2p/__init__.py:66 plinth/modules/tor/__init__.py:55 msgid "Anonymity Network" -msgstr "టోర్ అనామిక నెట్‌వర్క్" +msgstr "అజ్ఞాత జాలిక" -#: plinth/modules/i2p/__init__.py:87 +#: plinth/modules/i2p/__init__.py:88 #, fuzzy msgid "I2P Proxy" msgstr "వెబ్ ప్రాక్సీ (Privoxy)" @@ -2286,18 +2262,18 @@ msgstr "" "ఇప్పటికే ఉన్న వాటిని సవరించగలరు. వినియోగదారు " "ఆకృతీకరణ లో మీరు అనుమతులను మార్చవచ్చు లేదా క్రొత్త వినియోగదారులను చేర్చవచ్చు." -#: plinth/modules/ikiwiki/__init__.py:39 -msgid "View and edit wiki applications" -msgstr "వికీ అనువర్తనాలను చూడండి మరియు మార్చండి" - -#: plinth/modules/ikiwiki/__init__.py:53 plinth/modules/ikiwiki/manifest.py:9 +#: plinth/modules/ikiwiki/__init__.py:52 plinth/modules/ikiwiki/manifest.py:9 msgid "ikiwiki" msgstr "ఇకివికీ" -#: plinth/modules/ikiwiki/__init__.py:54 +#: plinth/modules/ikiwiki/__init__.py:53 msgid "Wiki and Blog" msgstr "వికీ మరియు బ్లాగ్" +#: plinth/modules/ikiwiki/__init__.py:73 +msgid "View and edit wiki applications" +msgstr "వికీ అనువర్తనాలను చూడండి మరియు మార్చండి" + #: plinth/modules/ikiwiki/forms.py:17 msgid "Admin Account Name" msgstr "నిర్వాహకుని ఖాతా పేరు" @@ -2343,33 +2319,33 @@ msgstr "" "ఈ చర్య పునర్విమర్శ చరిత్రతో సహా అన్ని పోస్ట్లు, పుటలు మరియు వ్యాఖ్యలు తొలగిస్తుంది. ఈ వికీ లేదా బ్లాగ్ " "శాశ్వతంగా తొలగించాలా?" -#: plinth/modules/ikiwiki/views.py:72 +#: plinth/modules/ikiwiki/views.py:70 #, python-brace-format msgid "Created wiki {name}." msgstr "{name} వికీ సృష్టించబడింది." -#: plinth/modules/ikiwiki/views.py:75 +#: plinth/modules/ikiwiki/views.py:73 #, python-brace-format msgid "Could not create wiki: {error}" msgstr "వికీని సృష్టించలేము: {error}" -#: plinth/modules/ikiwiki/views.py:85 +#: plinth/modules/ikiwiki/views.py:83 #, python-brace-format msgid "Created blog {name}." msgstr "{name} బ్లాగు సృష్టించబడింది." -#: plinth/modules/ikiwiki/views.py:88 +#: plinth/modules/ikiwiki/views.py:86 #, python-brace-format msgid "Could not create blog: {error}" msgstr "బ్లాగు సృష్టించలేము: {error}" -#: plinth/modules/ikiwiki/views.py:103 +#: plinth/modules/ikiwiki/views.py:101 #, fuzzy, python-brace-format #| msgid "{name} deleted." msgid "{title} deleted." msgstr "{name} తొలగించబడింది." -#: plinth/modules/ikiwiki/views.py:107 +#: plinth/modules/ikiwiki/views.py:105 #, python-brace-format msgid "Could not delete {title}: {error}" msgstr "{title} ను తొలగించలేము: {error}" @@ -2414,18 +2390,18 @@ msgstr "" "గాబ్బీని ప్రారంభించి. \"సేవికకు కనెక్ట్ చేయండి\" ఎంచుకోండి మరియు మీ {box_name} యొక్క డొమైన్ పేరును " "నమోదు చేయండి." -#: plinth/modules/jsxc/__init__.py:22 +#: plinth/modules/jsxc/__init__.py:23 msgid "" "JSXC is a web client for XMPP. Typically it is used with an XMPP server " "running locally." msgstr "" "JSXC XMPP కోసం ఒక వెబ్ కక్షిదారి. సాధారణంగా ఇది ఒక XMPP సర్వర్ స్థానికంగా అమలు చేయటానికి ఉపయోగిస్తారు." -#: plinth/modules/jsxc/__init__.py:40 plinth/modules/jsxc/manifest.py:10 +#: plinth/modules/jsxc/__init__.py:43 plinth/modules/jsxc/manifest.py:10 msgid "JSXC" msgstr "JSXC" -#: plinth/modules/jsxc/__init__.py:41 +#: plinth/modules/jsxc/__init__.py:44 msgid "Chat Client" msgstr "చాట్ క్లయింట్" @@ -2601,11 +2577,11 @@ msgstr "" msgid "Matrix Synapse" msgstr "మ్యాట్రిక్స్ సినాప్స్" -#: plinth/modules/matrixsynapse/forms.py:14 +#: plinth/modules/matrixsynapse/forms.py:12 msgid "Enable Public Registration" msgstr "పబ్లిక్ రిజిస్ట్రేషన్ ప్రారంభించండి" -#: plinth/modules/matrixsynapse/forms.py:15 +#: plinth/modules/matrixsynapse/forms.py:13 msgid "" "Enabling public registration means that anyone on the Internet can register " "a new account on your Matrix server. Disable this if you only want existing " @@ -2618,6 +2594,12 @@ msgstr "" msgid "Riot" msgstr "రయట్" +#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 +#: plinth/modules/snapshot/templates/snapshot.html:12 +#: plinth/templates/app.html:46 +msgid "Configuration" +msgstr "ఆకృతీకరణ" + #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:18 msgid "" "Matrix service needs to be configured for a domain. Users on other Matrix " @@ -2674,11 +2656,11 @@ msgid "" "go to Let's Encrypt to obtain one." msgstr "" -#: plinth/modules/matrixsynapse/views.py:98 +#: plinth/modules/matrixsynapse/views.py:86 msgid "Public registration enabled" msgstr "పబ్లిక్ రిజిస్ట్రేషన్ ప్రారంభించబడింది" -#: plinth/modules/matrixsynapse/views.py:103 +#: plinth/modules/matrixsynapse/views.py:91 msgid "Public registration disabled" msgstr "పబ్లిక్ రిజిస్ట్రేషన్ నిలిపివేయబడింది" @@ -2718,11 +2700,11 @@ msgstr "మీడియావికీ" msgid "Wiki" msgstr "వికీ" -#: plinth/modules/mediawiki/forms.py:27 +#: plinth/modules/mediawiki/forms.py:25 msgid "Administrator Password" msgstr "నిర్వాహకుని రహస్యపదం" -#: plinth/modules/mediawiki/forms.py:28 +#: plinth/modules/mediawiki/forms.py:26 msgid "" "Set a new password for MediaWiki's administrator account (admin). Leave this " "field blank to keep the current password." @@ -2730,21 +2712,21 @@ msgstr "" "మీడియావికీ యొక్క అడ్మినిస్ట్రేటర్ ఖాతా కోసం ఒక కొత్త పాస్ వర్డ్ ను సెట్ చెయ్యండి (అడ్మిన్). ప్రస్తుత రహస్యపదం " "ఉంచడానికి ఈ ఫీల్డ్ను ఖాళీగా వదిలేయండి." -#: plinth/modules/mediawiki/forms.py:33 +#: plinth/modules/mediawiki/forms.py:31 msgid "Enable public registrations" msgstr "పబ్లిక్ రిజిస్ట్రేషన్లను ప్రారంభించండి" -#: plinth/modules/mediawiki/forms.py:34 +#: plinth/modules/mediawiki/forms.py:32 msgid "" "If enabled, anyone on the internet will be able to create an account on your " "MediaWiki instance." msgstr "ఇది సశక్త పరిచినట్లయితే, అంతర్జాలంలో ఉన్న ఎవరైనా మీ మీడియావికీ ఉదాహరణ మీద ఖాతాను సృజించుకోగలరు." -#: plinth/modules/mediawiki/forms.py:38 +#: plinth/modules/mediawiki/forms.py:36 msgid "Enable private mode" msgstr "ప్రైవేట్ మోడ్‌ను ప్రారంభించండి" -#: plinth/modules/mediawiki/forms.py:39 +#: plinth/modules/mediawiki/forms.py:37 #, fuzzy #| msgid "" #| "If enabled, Access will be restricted. Only people who have accounts can " @@ -2756,11 +2738,11 @@ msgstr "" "ఇది సశక్త పరిచినట్లయితే, ప్రవేశము నియంత్రించబడుతుంది. ఎవరికీ అయితే ఇప్పటికే ఖాతా ఉందో, వారే మీ వికీని " "చదవగలరు/మార్చగలరు. ప్రజా నమోదు కూడా ఆపివేయబడుతింది." -#: plinth/modules/mediawiki/forms.py:44 +#: plinth/modules/mediawiki/forms.py:42 msgid "Default Skin" msgstr "డిఫాల్ట్ చర్మం" -#: plinth/modules/mediawiki/forms.py:45 +#: plinth/modules/mediawiki/forms.py:43 msgid "" "Choose a default skin for your MediaWiki installation. Users have the option " "to select their preferred skin." @@ -2768,31 +2750,31 @@ msgstr "" "మీ మీడియావికీ ఇన్‌స్టాలేషన్ కోసం డిఫాల్ట్ చర్మాన్ని ఎంచుకోండి. వినియోగదారులు తమకు నచ్చిన చర్మాన్ని ఎంచుకునే " "అవకాశం ఉంటుంది." -#: plinth/modules/mediawiki/views.py:53 +#: plinth/modules/mediawiki/views.py:48 msgid "Password updated" msgstr "అనుమతిపదం నవీకరించబడింది" -#: plinth/modules/mediawiki/views.py:72 +#: plinth/modules/mediawiki/views.py:57 msgid "Public registrations enabled" msgstr "పబ్లిక్ రిజిస్ట్రేషన్లు ప్రారంభించబడ్డాయి" -#: plinth/modules/mediawiki/views.py:81 +#: plinth/modules/mediawiki/views.py:66 msgid "Public registrations disabled" msgstr "పబ్లిక్ రిజిస్ట్రేషన్లు నిలిపివేయబడ్డాయి" -#: plinth/modules/mediawiki/views.py:86 +#: plinth/modules/mediawiki/views.py:71 msgid "Private mode enabled" msgstr "ప్రైవేట్ మోడ్ ప్రారంభించబడింది" -#: plinth/modules/mediawiki/views.py:93 +#: plinth/modules/mediawiki/views.py:78 msgid "Private mode disabled" msgstr "ప్రైవేట్ మోడ్ నిలిపివేయబడింది" -#: plinth/modules/mediawiki/views.py:101 +#: plinth/modules/mediawiki/views.py:86 msgid "Default skin changed" msgstr "డిఫాల్ట్ చర్మం మార్చబడింది" -#: plinth/modules/minetest/__init__.py:37 +#: plinth/modules/minetest/__init__.py:38 #, fuzzy, python-brace-format msgid "" "Minetest is a multiplayer infinite-world block sandbox. This module enables " @@ -2804,30 +2786,30 @@ msgstr "" "Minetest సర్వర్ ఈ {box_name} 1 అమలు సహకరిస్తుంది. సర్వర్కు కనెక్ట్ చెయ్యడానికి ఒక 2Minetest క్లైంట్ 3 అవసరమవుతుంది." -#: plinth/modules/minetest/__init__.py:63 +#: plinth/modules/minetest/__init__.py:62 #: plinth/modules/minetest/manifest.py:10 msgid "Minetest" msgstr "మైన్ టెస్ట్" -#: plinth/modules/minetest/__init__.py:64 +#: plinth/modules/minetest/__init__.py:63 msgid "Block Sandbox" msgstr "బ్లాక్ శాండ్‌బాక్స్‌" -#: plinth/modules/minetest/forms.py:15 +#: plinth/modules/minetest/forms.py:13 msgid "Maximum number of players" msgstr "క్రీడాకారుల గరిష్ట సంఖ్య" -#: plinth/modules/minetest/forms.py:17 +#: plinth/modules/minetest/forms.py:15 msgid "" "You can change the maximum number of players playing minetest at a single " "instance of time." msgstr "మీరు మైన్డెస్ట్ ఒకే సమయంలో ఆడుతున్న క్రీడాకారుల గరిష్ట సంఖ్య మార్చవచ్చు." -#: plinth/modules/minetest/forms.py:21 +#: plinth/modules/minetest/forms.py:19 msgid "Enable creative mode" msgstr "క్రియేటివ్ మోడ్‌ను ప్రారంభించండి" -#: plinth/modules/minetest/forms.py:22 +#: plinth/modules/minetest/forms.py:20 #, fuzzy #| msgid "" #| "Creative mode changes the rules of the game to make " @@ -2839,21 +2821,21 @@ msgid "" msgstr "" "క్రియేటివ్ మోడ్ \"మనుగడ\" గేమ్ప్లే సవాలు కంటే, సృజనాత్మక గేమ్ప్లే అనువుగా ఆట నియమాలు మారుస్తుంది." -#: plinth/modules/minetest/forms.py:27 +#: plinth/modules/minetest/forms.py:25 msgid "Enable PVP" msgstr "పివిపిని ప్రారంభించండి" -#: plinth/modules/minetest/forms.py:28 +#: plinth/modules/minetest/forms.py:26 #, fuzzy msgid "Enabling Player Vs Player will allow players to damage other players." msgstr "ప్లేయర్ Vs ప్లేయర్ అనే ఆప్షన్ ని అనుమతిస్తే క్రీడాకారులు ఇతర క్రీడాకారులు దెబ్బతినేలా చూస్తుంది" -#: plinth/modules/minetest/forms.py:32 +#: plinth/modules/minetest/forms.py:30 #, fuzzy msgid "Enable damage" msgstr "PageKite ప్రారంభించు" -#: plinth/modules/minetest/forms.py:33 +#: plinth/modules/minetest/forms.py:31 #, fuzzy #| msgid "" #| "When disabled, players cannot die or receive damage " @@ -2906,21 +2888,19 @@ msgid "" "Kodi." msgstr "" -#: plinth/modules/minidlna/__init__.py:33 +#: plinth/modules/minidlna/__init__.py:44 msgid "Media streaming server" msgstr "" -#: plinth/modules/minidlna/__init__.py:47 -#, fuzzy -#| msgid "Mumble Voice Chat Server" +#: plinth/modules/minidlna/__init__.py:48 msgid "Simple Media Server" -msgstr "మంబ్లు సేవిక మాటామంతి గాత్రం" +msgstr "సరళమైన మీడియా సేవిక" -#: plinth/modules/minidlna/forms.py:15 +#: plinth/modules/minidlna/forms.py:13 msgid "Media Files Directory" msgstr "" -#: plinth/modules/minidlna/forms.py:16 +#: plinth/modules/minidlna/forms.py:14 msgid "" "Directory that MiniDLNA Server will read for content. All sub-directories of " "this will be also scanned for media files. If you change the default ensure " @@ -2972,18 +2952,18 @@ msgid "" "On {box_name}, downloaded files can be found in /var/lib/mldonkey/ directory." msgstr "" -#: plinth/modules/mldonkey/__init__.py:40 +#: plinth/modules/mldonkey/__init__.py:50 #, fuzzy #| msgid "Download files using BitTorrent applications" msgid "Download files using eDonkey applications" msgstr "బిట్ టోరెంట్ అనువర్తనాలను ఉపయోగించి ఫైళ్లను డౌన్లోడ్ చేయండి" -#: plinth/modules/mldonkey/__init__.py:54 +#: plinth/modules/mldonkey/__init__.py:53 #: plinth/modules/mldonkey/manifest.py:12 msgid "MLDonkey" msgstr "ఎంఎల్ డాంకీ" -#: plinth/modules/mldonkey/__init__.py:56 +#: plinth/modules/mldonkey/__init__.py:55 msgid "Peer-to-peer File Sharing" msgstr "పీర్-టు-పీర్ ఫైల్ షేరింగ్" @@ -2999,7 +2979,7 @@ msgstr "మంకీస్ఫియర్" msgid "AMLDonkey" msgstr "మంకీస్ఫియర్" -#: plinth/modules/monkeysphere/__init__.py:18 +#: plinth/modules/monkeysphere/__init__.py:19 #, fuzzy msgid "" "With Monkeysphere, an OpenPGP key can be generated for each configured " @@ -3017,7 +2997,7 @@ msgstr "" "వినియోగదారులు కోసం, కనీసం ఒక వ్యక్తి (సాధారణంగా యంత్రం యజమాని) సాధారణ OpenPGP తాలమ్ సంతకం " "ప్రక్రియను ఉపయోగించి ప్రవేశ ద్వారం చేయాలి." -#: plinth/modules/monkeysphere/__init__.py:26 +#: plinth/modules/monkeysphere/__init__.py:27 #, fuzzy msgid "" "Monkeysphere can also generate an OpenPGP key for each Secure Web Server " @@ -3034,7 +3014,7 @@ msgstr "" "ధ్రువీకరించడానికి, వినియోగదారుడు " "1 Monkeysphere వెబ్సైట్ అందుబాటులో ఉంది కొన్ని సాఫ్ట్వేర్ ఇన్స్టాల్ చెయ్యాలి" -#: plinth/modules/monkeysphere/__init__.py:50 +#: plinth/modules/monkeysphere/__init__.py:49 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:11 msgid "Monkeysphere" msgstr "మంకీస్ఫియర్" @@ -3083,15 +3063,15 @@ msgstr "%(fingerprint)s కీ వివరాలను చూపించు" msgid "-" msgstr "-" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:128 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:129 msgid "Import Key" msgstr "కీని దింపుకోండి" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:137 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:139 msgid "Publish Key" msgstr "కీని ప్రచురించండి" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:146 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:149 msgid "Add Domains" msgstr "డొమైన్లను జతచేయి" @@ -3163,7 +3143,7 @@ msgstr "కీ కీసేవకానికి ప్రచురించబ msgid "Error occurred while publishing key." msgstr "కీని ప్రచురించేటప్పుడు దోషం సంభవించింది." -#: plinth/modules/mumble/__init__.py:23 +#: plinth/modules/mumble/__init__.py:24 msgid "" "Mumble is an open source, low-latency, encrypted, high quality voice chat " "software." @@ -3171,7 +3151,7 @@ msgstr "" "మంబుల్ అనేది తక్కువ-జాప్యత, ఎన్క్రిప్టెడ్, అధిక నాణ్యతా వంటి విశిష్టలతో కూడిన ఒక ఓపెన్ సోర్స్ స్వర సంభాషణా " "సాఫ్ట్‌వేర్." -#: plinth/modules/mumble/__init__.py:25 +#: plinth/modules/mumble/__init__.py:26 #, fuzzy msgid "" "You can connect to your Mumble server on the regular Mumble port 64738. 1Clients 2 మీ నమలు సర్వర్ కనెక్ట్ చేయవచ్చు మరియు Android పరికరాలు " "అందుబాటులో ఉన్నాయి." -#: plinth/modules/mumble/__init__.py:49 plinth/modules/mumble/manifest.py:12 +#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:12 msgid "Mumble" msgstr "మంబుల్" -#: plinth/modules/mumble/__init__.py:50 -#, fuzzy -#| msgid "" -#| "Voice Chat \n" -#| " (Mumble)" +#: plinth/modules/mumble/__init__.py:49 msgid "Voice Chat" -msgstr "" -"స్వర సంభాషణ \n" -" (Mumble)" +msgstr "స్వర సంభాషణ" -#: plinth/modules/mumble/forms.py:16 +#: plinth/modules/mumble/forms.py:14 #, fuzzy #| msgid "SSH server password" msgid "Set SuperUser Password" msgstr "SSH సర్వర్ పాస్ వర్డ్" -#: plinth/modules/mumble/forms.py:19 +#: plinth/modules/mumble/forms.py:17 msgid "" "Optional. Leave this field blank to keep the current password. SuperUser " "password can be used to manage permissions in Mumble." @@ -3521,9 +3495,9 @@ msgstr "తెరచిన" #: plinth/modules/networks/forms.py:297 #, fuzzy, python-brace-format -#| msgid "Use upstream bridges to connect to Tor network" -msgid "Choose how your {box_name} is connected to your network" -msgstr "టార్ నెట్వర్క్కు కనెక్ట్ చేయడానికి అప్స్ట్రీమ్ వారది ఉపయోగించండి" +#| msgid "Choose how your {box_name} is connected to your network" +msgid "Specify how your {box_name} is connected to your network" +msgstr "మీ {box_name} మీ నెట్‌వర్క్‌కు ఎలా కనెక్ట్ అయిందో ఎంచుకోండి" #: plinth/modules/networks/forms.py:304 #, python-brace-format @@ -3743,7 +3717,7 @@ msgstr "IPv4" #: plinth/modules/networks/templates/connection_show.html:171 #: plinth/modules/networks/templates/connection_show.html:212 -#: plinth/modules/shadowsocks/forms.py:49 +#: plinth/modules/shadowsocks/forms.py:48 msgid "Method" msgstr "పద్దతి" @@ -3759,7 +3733,7 @@ msgstr "సేవిక" #: plinth/modules/networks/templates/connection_show.html:201 #: plinth/modules/networks/templates/connection_show.html:240 -#: plinth/modules/storage/forms.py:141 +#: plinth/modules/storage/forms.py:139 msgid "Default" msgstr "అప్రమేయం" @@ -3965,10 +3939,9 @@ msgid "Update..." msgstr "నవీకరణ యూ.ఆర్.ఎల్" #: plinth/modules/networks/templates/network_topology_content.html:10 -#, fuzzy, python-format -#| msgid "Direct connection to the Internet." +#, python-format msgid "How is Your %(box_name)s Connected to the Internet?" -msgstr "అంతర్జాలానికి నేరు బంధం." +msgstr "మీ %(box_name)s ఇంటర్నెట్ కు ఏవిధంగా కనెక్ట్ చేయబడి ఉన్నది?" #: plinth/modules/networks/templates/network_topology_content.html:16 #, python-format @@ -4155,10 +4128,8 @@ msgstr "తెరచిన" #: plinth/modules/openvpn/__init__.py:50 #: plinth/modules/wireguard/__init__.py:53 -#, fuzzy -#| msgid "Virtual Private Network (OpenVPN)" msgid "Virtual Private Network" -msgstr "స్వంత్ర అల్లిక వాస్తవప్రతిరూపం (OpenVPN)" +msgstr "వర్చువల్ ప్రైవేట్ నెట్వర్క్" #: plinth/modules/openvpn/__init__.py:61 #, python-brace-format @@ -4239,6 +4210,11 @@ msgstr "అమరక పూర్తయ్యింది." msgid "Setup failed." msgstr "అమరక విఫలమైంది." +#: plinth/modules/openvpn/views.py:135 plinth/modules/tor/views.py:136 +#: plinth/views.py:196 +msgid "Setting unchanged" +msgstr "మారకుండా అమర్చుతోంది" + #: plinth/modules/pagekite/__init__.py:27 #, fuzzy, python-brace-format msgid "" @@ -4319,12 +4295,12 @@ msgstr "పబ్లిక్ దృష్టి గోచరత (PageKite)" msgid "PageKite Domain" msgstr "PageKite ఖాతా" -#: plinth/modules/pagekite/forms.py:48 +#: plinth/modules/pagekite/forms.py:47 #, fuzzy msgid "Server domain" msgstr "సర్వర్ డొమైన్" -#: plinth/modules/pagekite/forms.py:50 +#: plinth/modules/pagekite/forms.py:49 #, fuzzy msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " @@ -4333,73 +4309,73 @@ msgstr "" "మీ pagekite సర్వర్ ఎంచుకోండి. డిఫాల్ట్ pagekite.net సర్వర్ ఉపయోగించడానికి \"pagekite.net\" " "సెట్." -#: plinth/modules/pagekite/forms.py:53 plinth/modules/shadowsocks/forms.py:40 +#: plinth/modules/pagekite/forms.py:52 plinth/modules/shadowsocks/forms.py:39 msgid "Server port" msgstr "సర్వర్ పోర్ట్" -#: plinth/modules/pagekite/forms.py:54 +#: plinth/modules/pagekite/forms.py:53 msgid "Port of your pagekite server (default: 80)" msgstr "మీ పేజ్‌కైట్ సర్వర్ యొక్క పోర్ట్ (డిఫాల్ట్: 80)" -#: plinth/modules/pagekite/forms.py:56 +#: plinth/modules/pagekite/forms.py:55 msgid "Kite name" msgstr "కైట్ పేరు" -#: plinth/modules/pagekite/forms.py:57 +#: plinth/modules/pagekite/forms.py:56 msgid "Example: mybox.pagekite.me" msgstr "ఉదాహరణ: mybox.pagekite.me" -#: plinth/modules/pagekite/forms.py:59 +#: plinth/modules/pagekite/forms.py:58 msgid "Invalid kite name" msgstr "చెల్లని కైట్ పేరు" -#: plinth/modules/pagekite/forms.py:63 +#: plinth/modules/pagekite/forms.py:62 msgid "Kite secret" msgstr "కైట్ రహస్యము" -#: plinth/modules/pagekite/forms.py:64 +#: plinth/modules/pagekite/forms.py:63 #, fuzzy msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." msgstr "గాలిపటం లేదా రహస్యం గాలిపటం సెట్ అయితే మీ ఖాతా కోసం డిఫాల్ట్ రహస్య అనుబంధించబడిన ఒక రహస్య." -#: plinth/modules/pagekite/forms.py:101 +#: plinth/modules/pagekite/forms.py:100 #, fuzzy msgid "protocol" msgstr "ప్రోటోకాల్" -#: plinth/modules/pagekite/forms.py:104 +#: plinth/modules/pagekite/forms.py:103 #, fuzzy msgid "external (frontend) port" msgstr "బాహ్య (ఫ్రంటెండ్) పోర్ట్" -#: plinth/modules/pagekite/forms.py:107 +#: plinth/modules/pagekite/forms.py:106 #, fuzzy msgid "internal (freedombox) port" msgstr "అంతర్గత (freedombox) పోర్ట్" -#: plinth/modules/pagekite/forms.py:108 +#: plinth/modules/pagekite/forms.py:107 msgid "Enable Subdomains" msgstr "సబ్డొమైన్లు క్రియాశీలీకరించు" -#: plinth/modules/pagekite/forms.py:142 +#: plinth/modules/pagekite/forms.py:141 #, fuzzy msgid "Deleted custom service" msgstr "తొలగించినవి కస్టమ్ సేవ" -#: plinth/modules/pagekite/forms.py:175 +#: plinth/modules/pagekite/forms.py:174 #, fuzzy msgid "This service is already available as a standard service." msgstr "" "ఈ సేవను ప్రమాణం సేవగా అందుబాటులో ఉంది. దయచేసి దాన్ని ఎనేబుల్ \"ప్రామాణిక సేవలు\" పేజీ ఉపయోగించడానికి." -#: plinth/modules/pagekite/forms.py:183 +#: plinth/modules/pagekite/forms.py:182 #, fuzzy msgid "Added custom service" msgstr "కస్టమ్ సేవ చేర్చబడింది" -#: plinth/modules/pagekite/forms.py:186 +#: plinth/modules/pagekite/forms.py:185 #, fuzzy msgid "This service already exists" msgstr "ఈ సేవ ఇప్పటికే ఉంది" @@ -4534,7 +4510,7 @@ msgstr "" msgid "Shut Down Now" msgstr "ఇపుడు మూసివేయండి" -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 msgid "" "Privoxy is a non-caching web proxy with advanced filtering capabilities for " "enhancing privacy, modifying web page data and HTTP headers, controlling " @@ -4544,7 +4520,7 @@ msgstr "" "నియంత్రించడం మరియు ప్రకటనలను మరియు ఇతర చెడ్డ ఇంటర్నెట్ వ్యర్థాలను తొలగించడం కోసం ఆధునిక ఫిల్టరింగ్ " "సామర్థ్యాలతో ఒక కాని క్యాచింగ్ వెబ్ ప్రాక్సీ. " -#: plinth/modules/privoxy/__init__.py:33 +#: plinth/modules/privoxy/__init__.py:34 #, python-brace-format msgid "" "You can use Privoxy by modifying your browser proxy settings to your " @@ -4558,21 +4534,20 @@ msgstr "" "డాక్యుమెంటేషన్ http://config.privoxy.org/ లేదా http://p.p లో చూడవచ్చు." -#: plinth/modules/privoxy/__init__.py:56 +#: plinth/modules/privoxy/__init__.py:55 msgid "Privoxy" msgstr "ప్రివొక్సి" -#: plinth/modules/privoxy/__init__.py:57 -#, fuzzy +#: plinth/modules/privoxy/__init__.py:56 msgid "Web Proxy" -msgstr "వెబ్ ప్రాక్సీ (Privoxy)" +msgstr "వెబ్ ప్రాక్సీ" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:119 #, python-brace-format msgid "Access {url} with proxy {proxy} on tcp{kind}" msgstr "టీసీపీ{kind} పై{proxy} తో యాక్సిస్ {url} చేయండి" -#: plinth/modules/quassel/__init__.py:32 +#: plinth/modules/quassel/__init__.py:33 #, python-brace-format msgid "" "Quassel is an IRC application that is split into two parts, a \"core\" and a " @@ -4583,7 +4558,7 @@ msgid "" "connect and disconnect from it." msgstr "" -#: plinth/modules/quassel/__init__.py:39 +#: plinth/modules/quassel/__init__.py:40 msgid "" "You can connect to your Quassel core on the default Quassel port 4242. " "Clients to connect to Quassel from your mobile devices are available." msgstr "" -#: plinth/modules/quassel/__init__.py:62 plinth/modules/quassel/manifest.py:10 +#: plinth/modules/quassel/__init__.py:61 plinth/modules/quassel/manifest.py:10 msgid "Quassel" msgstr "క్వాసెల్" -#: plinth/modules/quassel/__init__.py:63 -#, fuzzy +#: plinth/modules/quassel/__init__.py:62 msgid "IRC Client" -msgstr "ఐ ర్ సి క్లయింట్ (Quassel)" +msgstr "IRC క్లయింట్" -#: plinth/modules/quassel/forms.py:23 +#: plinth/modules/quassel/forms.py:22 #, fuzzy #| msgid "Subdomain" msgid "TLS domain" msgstr "ఉప డోమైన్ పేరు" -#: plinth/modules/quassel/forms.py:25 +#: plinth/modules/quassel/forms.py:24 msgid "" "Select a domain to use TLS with. If the list is empty, please configure at " "least one domain with certificates." @@ -4618,7 +4592,7 @@ msgstr "" msgid "Quasseldroid" msgstr "క్వాసెల్ డ్రొఇడ్" -#: plinth/modules/radicale/__init__.py:32 +#: plinth/modules/radicale/__init__.py:33 #, fuzzy, python-brace-format msgid "" "Radicale is a CalDAV and CardDAV server. It allows synchronization and " @@ -4631,29 +4605,27 @@ msgstr "" "\"> supported client application అవసరం.\n" "రాడికల్ ఏ యూజర్ అయినా {box_name}లాగిన్ తో యాక్సెస్ చేయవచ్చు" -#: plinth/modules/radicale/__init__.py:37 +#: plinth/modules/radicale/__init__.py:38 msgid "" "Radicale provides a basic web interface, which only supports creating new " "calendars and addressbooks. It does not support adding events or contacts, " "which must be done using a separate client." msgstr "" -#: plinth/modules/radicale/__init__.py:62 +#: plinth/modules/radicale/__init__.py:61 #: plinth/modules/radicale/manifest.py:75 msgid "Radicale" -msgstr "రాడికల్" +msgstr "రాడికేల్" -#: plinth/modules/radicale/__init__.py:63 -#, fuzzy -#| msgid "Calendar and Addressbook (Radicale)" +#: plinth/modules/radicale/__init__.py:62 msgid "Calendar and Addressbook" -msgstr "క్యాలెండర్ మరియు అడ్రెస్ బుక్ (Radicale)" +msgstr "క్యాలెండర్ మరియు అడ్రస్సు పుస్తకము" -#: plinth/modules/radicale/forms.py:15 +#: plinth/modules/radicale/forms.py:14 msgid "Only the owner of a calendar/addressbook can view or make changes." msgstr "క్యాలెండర్ / ఆడ్రస్ బుక్ యజమాని మాత్రమే వీక్షించగలరు లేదా మార్పులు చేయగలరు." -#: plinth/modules/radicale/forms.py:19 +#: plinth/modules/radicale/forms.py:18 #, fuzzy, python-brace-format #| msgid "" #| "Any user can view any calendar/addressbook, but only the owner can make " @@ -4664,7 +4636,7 @@ msgid "" msgstr "" "ఏ వినియోగదారుడు అయినా క్యాలెండరు /ఆడ్రస్ బుక్ ని చూడవచ్చు, కానీ కేవలం యజమాని మాత్రమే మార్పులు చేయగలరు." -#: plinth/modules/radicale/forms.py:24 +#: plinth/modules/radicale/forms.py:23 #, fuzzy, python-brace-format #| msgid "Any user can view or make changes to any calendar/addressbook." msgid "" @@ -4754,9 +4726,8 @@ msgid "Roundcube" msgstr "రౌండ్ క్యూబ్" #: plinth/modules/roundcube/__init__.py:55 -#, fuzzy msgid "Email Client" -msgstr "తపాల బంట్రౌతు(Roundcube)" +msgstr "ఇమెయిల్ క్లయింట్" #: plinth/modules/samba/__init__.py:32 msgid "" @@ -4795,11 +4766,11 @@ msgstr "" "హోమ్ షేర్ - freedombox-share గ్రూపులో ఉన్న ప్రతి వినియోగదారుడు వారి స్వంత ప్రైవేట్ స్థలాన్ని కలిగి " "ఉంటారు." -#: plinth/modules/samba/__init__.py:47 +#: plinth/modules/samba/__init__.py:59 msgid "Access to the private shares" msgstr "ప్రైవేటు షేర్లలో ప్రవేశం" -#: plinth/modules/samba/__init__.py:61 +#: plinth/modules/samba/__init__.py:62 msgid "Samba" msgstr "సాంబా" @@ -4879,13 +4850,13 @@ msgstr "పంచుకోబడ్డ" msgid "Action" msgstr "చర్యలు" -#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:149 +#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:147 #, fuzzy #| msgid "Add Service" msgid "Open Share" msgstr "సేవ జోడించండి" -#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:147 +#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:145 #, fuzzy #| msgid "Add Service" msgid "Group Share" @@ -4937,45 +4908,43 @@ msgstr "" "శోధన యంత్రాలు ద్వారా ట్రాకింగ్ మరియు ప్రొఫైలింగ్ను నివారించడానికి సెర్క్స్ ను ఉపయోగించవచ్చు. ఇది మాములుగా " "కుకీలను నిల్వ ఉంచుకోదు." -#: plinth/modules/searx/__init__.py:31 +#: plinth/modules/searx/__init__.py:45 msgid "Search the web" msgstr "అంతర్జాలమును శోధింపుము" -#: plinth/modules/searx/__init__.py:47 plinth/modules/searx/manifest.py:9 +#: plinth/modules/searx/__init__.py:48 plinth/modules/searx/manifest.py:9 msgid "Searx" msgstr "సేర్క్స్" -#: plinth/modules/searx/__init__.py:48 -#, fuzzy -#| msgid "Web Server" +#: plinth/modules/searx/__init__.py:49 msgid "Web Search" -msgstr "జాల సేవకం" +msgstr "వెబ్ శోధన" -#: plinth/modules/searx/forms.py:15 +#: plinth/modules/searx/forms.py:13 msgid "Safe Search" msgstr "సురక్షితశోధన" -#: plinth/modules/searx/forms.py:16 +#: plinth/modules/searx/forms.py:14 msgid "Select the default family filter to apply to your search results." msgstr "మీ శోధన ఫలితాలపైన అమలు చేయబడే కుటుంబ వడపోత విధానమును ఎంచుకొనండి." -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "None" msgstr "ఏమీ లేదు" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "Moderate" msgstr "మితమైన" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "Strict" msgstr "కఠినమైన" -#: plinth/modules/searx/forms.py:20 +#: plinth/modules/searx/forms.py:18 msgid "Allow Public Access" msgstr "ప్రజా ప్రాప్తి అనుమతించు" -#: plinth/modules/searx/forms.py:21 +#: plinth/modules/searx/forms.py:19 msgid "Allow this application to be used by anyone who can reach it." msgstr "ఈ అనువర్తనాన్ని చేరుకోగల ఎవరైనా ఉపయోగించడానికి అనుమతించండి." @@ -5167,31 +5136,31 @@ msgstr "షాడోసాక్స్" msgid "Socks5 Proxy" msgstr "సాక్స్5 ప్రాక్సీ" +#: plinth/modules/shadowsocks/forms.py:12 #: plinth/modules/shadowsocks/forms.py:13 -#: plinth/modules/shadowsocks/forms.py:14 msgid "Recommended" msgstr "సిఫార్సు చేయబడింది" -#: plinth/modules/shadowsocks/forms.py:37 +#: plinth/modules/shadowsocks/forms.py:36 #, fuzzy #| msgid "Service" msgid "Server" msgstr "సేవ" -#: plinth/modules/shadowsocks/forms.py:38 +#: plinth/modules/shadowsocks/forms.py:37 msgid "Server hostname or IP address" msgstr "సర్వర్ హోస్ట్ పేరు లేదా ఐపి చిరునామా" -#: plinth/modules/shadowsocks/forms.py:42 +#: plinth/modules/shadowsocks/forms.py:41 #, fuzzy msgid "Server port number" msgstr "సర్వర్ పోర్ట్" -#: plinth/modules/shadowsocks/forms.py:45 +#: plinth/modules/shadowsocks/forms.py:44 msgid "Password used to encrypt data. Must match server password." msgstr "సమాచారాన్ని గుప్తీకరించాడానికి ఉపయోగించబడిన పాస్వర్డ్. తప్పకుండ సర్వర్ పాస్వర్డ్ తో సరిపోలాలి." -#: plinth/modules/shadowsocks/forms.py:50 +#: plinth/modules/shadowsocks/forms.py:49 msgid "Encryption method. Must match setting on server." msgstr "గుప్తీకరించు పద్దతి. సర్వర్ లోని సెట్టింగ్‌తో సరిపోలాలి." @@ -5235,13 +5204,13 @@ msgstr "కీని ప్రచురించండి" msgid "Make files in this folder available to anyone with the link." msgstr "ఈ ఫోల్డర్‌లోని ఫైల్‌లను లింక్ ఉన్న ఎవరికైనా అందుబాటులో ఉంచండి." -#: plinth/modules/sharing/forms.py:33 +#: plinth/modules/sharing/forms.py:34 #, fuzzy #| msgid "User groups who can read the files in the share" msgid "User groups that can read the files in the share" msgstr "వాటాలోని ఫైళ్లను చదవగలిగే వినియోగదారు సమూహాలు" -#: plinth/modules/sharing/forms.py:35 +#: plinth/modules/sharing/forms.py:36 #, fuzzy #| msgid "" #| "Users who have these permissions will also be able to read the files in " @@ -5561,13 +5530,13 @@ msgstr "" msgid "Secure Shell (SSH) Server" msgstr "సెక్యూర్ షెల్ (SSH) సర్వర్" -#: plinth/modules/ssh/forms.py:15 +#: plinth/modules/ssh/forms.py:13 #, fuzzy #| msgid "Use HTTP basic authentication" msgid "Disable password authentication" msgstr "HTTP ప్రాథమిక ప్రమాణీకరణ ఉపయోగించు" -#: plinth/modules/ssh/forms.py:16 +#: plinth/modules/ssh/forms.py:14 msgid "" "Improves security by preventing password guessing. Ensure that you have " "setup SSH keys in your administrator user account before enabling this " @@ -5620,144 +5589,144 @@ msgid "" "media, expand the root partition etc." msgstr "" -#: plinth/modules/storage/__init__.py:52 plinth/modules/storage/__init__.py:318 +#: plinth/modules/storage/__init__.py:54 plinth/modules/storage/__init__.py:320 #, fuzzy msgid "Storage" 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 #, fuzzy 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 "పరికరం మరొక వినియోగదారుచే మౌంట్ చేయబడింది." -#: plinth/modules/storage/__init__.py:313 +#: plinth/modules/storage/__init__.py:315 #, no-python-format, python-brace-format msgid "Low space on system partition: {percent_used}% used, {free_space} free." msgstr "" -#: plinth/modules/storage/__init__.py:315 +#: plinth/modules/storage/__init__.py:317 msgid "Low disk space" msgstr "" -#: plinth/modules/storage/forms.py:64 +#: plinth/modules/storage/forms.py:63 #, fuzzy #| msgid "Invalid hostname" msgid "Invalid directory name." msgstr "ఆతిథ్యనామం చెల్లనిది" -#: plinth/modules/storage/forms.py:82 +#: plinth/modules/storage/forms.py:80 msgid "Directory does not exist." msgstr "డైరెక్టరీ ఉనికిలో లేదు." -#: plinth/modules/storage/forms.py:84 +#: plinth/modules/storage/forms.py:83 #, fuzzy #| msgid "Download directory" msgid "Path is not a directory." msgstr "డైరెక్టరీని దిగుమతి చేయు" -#: plinth/modules/storage/forms.py:87 +#: plinth/modules/storage/forms.py:86 msgid "Directory is not readable by the user." msgstr "వినియోగదారు ద్వారా డైరెక్టరీ చదవబడలేదు." -#: plinth/modules/storage/forms.py:90 +#: plinth/modules/storage/forms.py:89 msgid "Directory is not writable by the user." msgstr "వినియోగదారు ద్వారా డైరెక్టరీ వ్రాయబడలేదు." -#: plinth/modules/storage/forms.py:95 +#: plinth/modules/storage/forms.py:94 #, fuzzy #| msgid "Download directory" msgid "Directory" msgstr "డైరెక్టరీని దిగుమతి చేయు" -#: plinth/modules/storage/forms.py:98 +#: plinth/modules/storage/forms.py:96 msgid "Subdirectory (optional)" msgstr "ఉప డైరెక్టరీ (ఐచ్ఛికం)" -#: plinth/modules/storage/forms.py:145 +#: plinth/modules/storage/forms.py:143 #, fuzzy #| msgid "Shared" msgid "Share" msgstr "పంచుకోబడ్డ" -#: plinth/modules/storage/forms.py:153 +#: plinth/modules/storage/forms.py:151 msgid "Other directory (specify below)" msgstr "ఇతర డైరెక్టరీ (దిగువన పేర్కొనండి)" @@ -5849,24 +5818,24 @@ msgid "" "synchronize more often. {box_name} runs a single instance of Syncthing that " "may be used by multiple users. Each user's set of devices may be " "synchronized with a distinct set of folders. The web interface on " -"{box_name} is only available for users belonging to the \"admin\" group." +"{box_name} is only available for users belonging to the \"admin\" or " +"\"syncthing\" group." msgstr "" -#: plinth/modules/syncthing/__init__.py:40 +#: plinth/modules/syncthing/__init__.py:53 #, fuzzy #| msgid "Install this application?" msgid "Administer Syncthing application" msgstr "ఈ అనువర్తనాన్ని నిక్షిప్తం చేయాలా?" -#: plinth/modules/syncthing/__init__.py:54 +#: plinth/modules/syncthing/__init__.py:56 #: plinth/modules/syncthing/manifest.py:13 msgid "Syncthing" -msgstr "సమకాలీకరించుచున్నది" +msgstr "సింక్ తింగ్" -#: plinth/modules/syncthing/__init__.py:55 -#, fuzzy +#: plinth/modules/syncthing/__init__.py:57 msgid "File Synchronization" -msgstr "ఫైలు సమకాలీకరించబడుచున్నధి" +msgstr "ఫైళ్ళ సమకాలీకరణ" #: plinth/modules/tahoe/__init__.py:30 msgid "" @@ -5904,35 +5873,35 @@ msgstr "" "మార్చడం Tahoe-LAFS యొక్క పునఃస్థాపన అవసరం మరియు మీ డేటా కోల్పోతారు. మీరు Tahoe-LAFS ను %(domain_name)s వద్ద పొందవచ్చు." -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:39 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:29 msgid "Local introducer" msgstr "స్థానిక పరిచయకర్త" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:59 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:76 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:33 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:49 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:66 #, fuzzy #| msgid "Name" msgid "Pet Name" msgstr "పేరు" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:56 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:46 msgid "Add new introducer" msgstr "కొత్త పరిచయకర్తని జోడించండి" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:67 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:57 msgid "Add" msgstr "జోడించు" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:72 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:62 msgid "Connected introducers" msgstr "కలిసియున్న పరిచయకర్తలు" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:89 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:79 msgid "Remove" msgstr "తొలగించు" -#: plinth/modules/tor/__init__.py:33 +#: plinth/modules/tor/__init__.py:34 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -5945,44 +5914,44 @@ msgstr "" "టార్ ప్రాజెక్ట్ మీరు టార్ బ్రౌజర్ ను ఉపయోగించాలని సిఫార్సు చేస్తున్నారు." -#: plinth/modules/tor/__init__.py:55 +#: plinth/modules/tor/__init__.py:54 msgid "Tor" msgstr "టార్" -#: plinth/modules/tor/__init__.py:66 +#: plinth/modules/tor/__init__.py:65 #, fuzzy #| msgid "Tor Hidden Service" msgid "Tor Onion Service" msgstr "దాచిన టార్ సర్వీస్" -#: plinth/modules/tor/__init__.py:70 +#: plinth/modules/tor/__init__.py:69 #, fuzzy #| msgid "Socks5 Proxy" msgid "Tor Socks Proxy" msgstr "సాక్స్5 ప్రాక్సీ" -#: plinth/modules/tor/__init__.py:74 +#: plinth/modules/tor/__init__.py:73 msgid "Tor Bridge Relay" msgstr "టార్ బ్రిడ్జ్ రిలే" -#: plinth/modules/tor/__init__.py:95 +#: plinth/modules/tor/__init__.py:98 msgid "Tor relay port available" msgstr "టార్ రిలే పోర్ట్ అందుబాటులో ఉంది" -#: plinth/modules/tor/__init__.py:105 +#: plinth/modules/tor/__init__.py:108 msgid "Obfs3 transport registered" msgstr "Obfs3 రవాణా నమోదు చేయబడింది" -#: plinth/modules/tor/__init__.py:115 +#: plinth/modules/tor/__init__.py:118 msgid "Obfs4 transport registered" msgstr "Obfs4 రవాణా నమోదు చేయబడింది" -#: plinth/modules/tor/__init__.py:208 +#: plinth/modules/tor/__init__.py:211 #, python-brace-format msgid "Access URL {url} on tcp{kind} via Tor" msgstr "టార్ ద్వారా {kind} లో {url} ను ఆక్సెస్ చెయ్యండి" -#: plinth/modules/tor/__init__.py:219 +#: plinth/modules/tor/__init__.py:222 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "టోర్ వాడుకను నిర్ధారించండి{url} టీ సి పి పై{kind}" @@ -6132,7 +6101,7 @@ 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:27 +#: plinth/modules/transmission/__init__.py:28 msgid "" "BitTorrent is a peer-to-peer file sharing protocol. Transmission daemon " "handles Bitorrent file sharing. Note that BitTorrent is not anonymous." @@ -6140,10 +6109,10 @@ msgstr "" "బిట్ టోర్రెంట్ పీర్-టు-పీర్ ఫైల్ షేరింగ్ ప్రోటోకాల్. ట్రాన్స్మిషన్ డెమోన్ బిట్ టోర్రెంట్ ఫైల్ భాగస్వామ్యాన్ని నిర్వహిస్తుంది. " "బిట్ టోర్రెంట్ అజ్ఞాత కాదని గమనించండి." -#: plinth/modules/transmission/__init__.py:48 +#: plinth/modules/transmission/__init__.py:51 #: plinth/modules/transmission/manifest.py:9 msgid "Transmission" -msgstr "ప్రసారం" +msgstr "ట్రాన్స్మిషన్" #: plinth/modules/ttrss/__init__.py:29 msgid "" @@ -6176,15 +6145,15 @@ msgid "" "connecting." msgstr "" -#: plinth/modules/ttrss/__init__.py:42 +#: plinth/modules/ttrss/__init__.py:54 msgid "Read and subscribe to news feeds" msgstr "న్యూస్ ఫీడ్‌లను చదవడం మరియు చందాదారునిగా చేరు" -#: plinth/modules/ttrss/__init__.py:56 plinth/modules/ttrss/manifest.py:19 +#: plinth/modules/ttrss/__init__.py:57 plinth/modules/ttrss/manifest.py:19 msgid "Tiny Tiny RSS" msgstr "టైనీ టైనీ RSS" -#: plinth/modules/ttrss/__init__.py:57 +#: plinth/modules/ttrss/__init__.py:58 msgid "News Feed Reader" msgstr "న్యూస్ ఫీడ్ రీడర్" @@ -6198,11 +6167,11 @@ msgstr "టైనీ టైనీ RSS" msgid "Check for and apply the latest software and security updates." msgstr "" -#: plinth/modules/upgrades/__init__.py:38 plinth/templates/setup.html:74 +#: plinth/modules/upgrades/__init__.py:40 plinth/templates/setup.html:74 msgid "Update" msgstr "నవీకరణ యూ.ఆర్.ఎల్" -#: plinth/modules/upgrades/__init__.py:76 +#: plinth/modules/upgrades/__init__.py:78 #, fuzzy #| msgid "FreedomBox Manual" msgid "FreedomBox Updated" @@ -6259,45 +6228,41 @@ msgstr "" #: plinth/modules/upgrades/templates/upgrades_configure.html:11 #: plinth/modules/upgrades/templates/upgrades_configure.html:12 -#: plinth/modules/upgrades/views.py:88 +#: plinth/modules/upgrades/views.py:85 #, fuzzy #| msgid "Last update" msgid "Manual update" msgstr "చివరి నవీకరణ" -#: plinth/modules/upgrades/views.py:47 +#: plinth/modules/upgrades/views.py:46 #, python-brace-format msgid "Error when configuring unattended-upgrades: {error}" msgstr "గమనింపబడని-నవీకరణలు ఆకృతీకరించునప్పుడు దోషం: {error}" -#: plinth/modules/upgrades/views.py:51 +#: plinth/modules/upgrades/views.py:50 msgid "Automatic upgrades enabled" msgstr "స్వయంచాలక నవీకరణలు ప్రారంభించబడ్డాయి" -#: plinth/modules/upgrades/views.py:54 +#: plinth/modules/upgrades/views.py:53 msgid "Automatic upgrades disabled" msgstr "స్వయంచాలక నవీకరణలు నిలిపివేయబడ్డాయి" -#: plinth/modules/upgrades/views.py:56 -msgid "Settings unchanged" -msgstr "ఆకృతీకరణ మార్చబడలేదు" - -#: plinth/modules/upgrades/views.py:82 +#: plinth/modules/upgrades/views.py:79 msgid "Upgrade process started." msgstr "అప్గ్రేడ్ ప్రక్రియ ప్రారంభించబడింది." -#: plinth/modules/upgrades/views.py:85 +#: plinth/modules/upgrades/views.py:82 msgid "Starting upgrade failed." msgstr "నవీకరణ ప్రారంభం విఫలమైంది." -#: plinth/modules/users/__init__.py:37 +#: plinth/modules/users/__init__.py:39 msgid "" "Create and managed user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " "account to be part of a group to authorize the user to access the app." msgstr "" -#: plinth/modules/users/__init__.py:42 +#: plinth/modules/users/__init__.py:44 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -6305,106 +6270,105 @@ msgid "" "group may alter apps or system settings." msgstr "" -#: plinth/modules/users/__init__.py:64 +#: plinth/modules/users/__init__.py:65 msgid "Users and Groups" msgstr "వినియోగదారులు మరియు సమూహాలు" -#: plinth/modules/users/__init__.py:115 +#: plinth/modules/users/__init__.py:78 +msgid "Access to all services and system settings" +msgstr "అన్ని సేవలకు మరియు వ్యవస్థ అమరికలకు అనుమతించు" + +#: plinth/modules/users/__init__.py:122 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "LDAP నమోదు \"{search_item}\" తనిఖీ" -#: plinth/modules/users/forms.py:28 -msgid "Access to all services and system settings" -msgstr "అన్ని సేవలకు మరియు వ్యవస్థ అమరికలకు అనుమతించు" - -#: plinth/modules/users/forms.py:44 +#: plinth/modules/users/forms.py:36 msgid "Username is taken or is reserved." msgstr "యూజర్ పేరు తీసుకోబడింది లేదా రిజర్వ్ చేయబడింది." -#: plinth/modules/users/forms.py:72 +#: plinth/modules/users/forms.py:63 #, fuzzy #| msgid "Invalid server name" msgid "Enter a valid username." msgstr "సేవిక పేరు చెలదు" -#: plinth/modules/users/forms.py:78 +#: plinth/modules/users/forms.py:69 msgid "" "Required. 150 characters or fewer. English letters, digits and @/./-/_ only." msgstr "" -#: plinth/modules/users/forms.py:91 plinth/modules/users/forms.py:207 +#: plinth/modules/users/forms.py:83 plinth/modules/users/forms.py:196 msgid "Permissions" msgstr "అనుమతులు" -#: plinth/modules/users/forms.py:94 +#: plinth/modules/users/forms.py:85 msgid "" -"Select which services should be available to the new user. The user will be " -"able to log in to services that support single sign-on through LDAP, if they " -"are in the appropriate group.

Users in the admin group will be " -"able to log in to all services. They can also log in to the system through " -"SSH and have administrative privileges (sudo)." +"user. The user will be able to log in to services that support single sign-" +"on through LDAP, if they are in the appropriate group.

Users in " +"the admin group will be able to log in to all services. They can also log in " +"to the system through SSH and have administrative privileges (sudo)." msgstr "" -#: plinth/modules/users/forms.py:133 plinth/modules/users/forms.py:357 +#: plinth/modules/users/forms.py:122 plinth/modules/users/forms.py:345 msgid "Creating LDAP user failed." msgstr "ఎల్.డి.ఏ.పి వాడుకరి సృష్టించడంలో విఫలమైంది." -#: plinth/modules/users/forms.py:144 +#: plinth/modules/users/forms.py:133 #, python-brace-format msgid "Failed to add new user to {group} group." msgstr "వినియోగదారుని {group} సముహానికి జోడించడంలో విఫలం." -#: plinth/modules/users/forms.py:158 +#: plinth/modules/users/forms.py:147 msgid "Authorized SSH Keys" msgstr "అధీకృత SSH కీలు" -#: plinth/modules/users/forms.py:160 +#: plinth/modules/users/forms.py:149 msgid "" "Setting an SSH public key will allow this user to securely log in to the " "system without using a password. You may enter multiple keys, one on each " "line. Blank lines and lines starting with # will be ignored." msgstr "" -#: plinth/modules/users/forms.py:244 +#: plinth/modules/users/forms.py:233 msgid "Renaming LDAP user failed." msgstr "ఎల్.డి.ఏ.పి వాడుకరి పేరుమార్పులో విఫలం." -#: plinth/modules/users/forms.py:256 +#: plinth/modules/users/forms.py:245 msgid "Failed to remove user from group." msgstr "సమూహంలోంచి వినియోగదారుని తొలగించడంలో విఫలం." -#: plinth/modules/users/forms.py:267 +#: plinth/modules/users/forms.py:256 msgid "Failed to add user to group." msgstr "సమూహంలోకి వినియోగదారుని జోడించడంలో విఫలం." -#: plinth/modules/users/forms.py:276 +#: plinth/modules/users/forms.py:265 msgid "Unable to set SSH keys." msgstr "SSH కీలను సెట్ చేయడం సాధ్యం కాలేదు." -#: plinth/modules/users/forms.py:291 +#: plinth/modules/users/forms.py:280 #, fuzzy #| msgid "Failed to add user to group." msgid "Failed to change user status." msgstr "సమూహంలోకి వినియోగదారుని జోడించడంలో విఫలం." -#: plinth/modules/users/forms.py:299 +#: plinth/modules/users/forms.py:288 msgid "Cannot delete the only administrator in the system." msgstr "సిస్టమ్‌లోని ఏకైక నిర్వాహకుడిని తొలగించలేరు." -#: plinth/modules/users/forms.py:331 +#: plinth/modules/users/forms.py:319 msgid "Changing LDAP user password failed." msgstr "ఎల్.డి.ఏ.పి వాడుకరి పాస్‌వర్డ్ మార్పిడి విఫలం." -#: plinth/modules/users/forms.py:366 +#: plinth/modules/users/forms.py:354 msgid "Failed to add new user to admin group." msgstr "కొత్త వాడుకరి ను అడ్మిన్ సమూహంలో జోడించడం విఫలమైనది." -#: plinth/modules/users/forms.py:383 +#: plinth/modules/users/forms.py:371 msgid "Failed to restrict console access." msgstr "console ప్రవేశమును పరిమితి చెయడంలొ విఫలమైంది." -#: plinth/modules/users/forms.py:395 +#: plinth/modules/users/forms.py:383 msgid "User account created, you are now logged in" msgstr "వాడుకరి ఖాతా సృస్టించబడింది, మీరు లాగిన్ చేయబడ్డారు" @@ -7208,27 +7172,31 @@ msgid "Performing post-install operation" msgstr "ఇన్స్తల్ల్ తర్వాత ప్రక్రియ జరుగుతోంది" #: plinth/templates/setup.html:92 -#, fuzzy, python-format +#, python-format msgid "Installing %(package_names)s: %(status)s" -msgstr "సంస్థాపన %(package_names)s%:(status)s" +msgstr "%(package_names)s: %(status)s నిక్షిప్తం అవుతోంది" #: plinth/templates/setup.html:102 #, python-format msgid "%(percentage)s%% complete" msgstr "%(percentage)s %% పూర్తి" -#: plinth/views.py:184 -msgid "Application enabled" -msgstr "అనువర్తనం ఆమోదింపబడింది" - -#: plinth/views.py:187 -msgid "Application disabled" -msgstr "అనువర్తనం ఆమోదింపబడలేదు" - #: plinth/web_framework.py:107 msgid "Gujarati" msgstr "గుజరాతీ" +#~ msgid "Enable application" +#~ msgstr "అనువర్తనాన్ని చేతనించు" + +#~ msgid "Settings unchanged" +#~ msgstr "ఆకృతీకరణ మార్చబడలేదు" + +#~ msgid "Application enabled" +#~ msgstr "అనువర్తనం ఆమోదింపబడింది" + +#~ msgid "Application disabled" +#~ msgstr "అనువర్తనం ఆమోదింపబడలేదు" + #~ msgid "Kite details set" #~ msgstr "కైట్ వివరాలు సెట్ చేయబడ్డాయి" diff --git a/plinth/locale/tr/LC_MESSAGES/django.po b/plinth/locale/tr/LC_MESSAGES/django.po index 008e5b0de..8213b80bd 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: 2020-03-23 18:54-0400\n" +"POT-Creation-Date: 2020-04-06 19:59-0400\n" "PO-Revision-Date: 2019-08-08 00:22+0000\n" "Last-Translator: Mesut Akcan \n" "Language-Team: Turkish kullanıcıları, " "ki {box_name}hesabı olan tarafından kullanılabilir." -#: plinth/modules/ejabberd/__init__.py:70 +#: plinth/modules/ejabberd/__init__.py:69 msgid "ejabberd" msgstr "ejabberd" -#: plinth/modules/ejabberd/__init__.py:71 +#: plinth/modules/ejabberd/__init__.py:70 #: plinth/modules/matrixsynapse/__init__.py:68 msgid "Chat Server" msgstr "Sohbet Sunucusu" -#: plinth/modules/ejabberd/forms.py:17 +#: plinth/modules/ejabberd/forms.py:16 msgid "Enable Message Archive Management" msgstr "Mesaj Arşivi Yönetimini Etkinleştir" -#: plinth/modules/ejabberd/forms.py:19 +#: plinth/modules/ejabberd/forms.py:18 #, python-brace-format msgid "" "If enabled, your {box_name} will store chat message histories. This allows " @@ -1573,19 +1561,11 @@ msgstr "" "sistem Yapılandırma sayfasında " "ayarlayabilirsiniz." -#: plinth/modules/ejabberd/templates/ejabberd.html:35 -#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 -#: plinth/modules/snapshot/templates/snapshot.html:12 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:27 -#: plinth/templates/app.html:45 -msgid "Configuration" -msgstr "Yapılandırma" - -#: plinth/modules/ejabberd/views.py:58 +#: plinth/modules/ejabberd/views.py:45 msgid "Message Archive Management enabled" msgstr "Mesaj Arşivi Yönetimi etkinleştirilmiştir" -#: plinth/modules/ejabberd/views.py:62 +#: plinth/modules/ejabberd/views.py:49 msgid "Message Archive Management disabled" msgstr "Mesaj Arşivi Yönetimi devre dışı bırakılmıştır" @@ -1601,7 +1581,7 @@ msgstr "" "etkinleştirip gerektiği gibi yapılandırmak İnternet'ten gelen güvenlik " "tehditlerini azaltır." -#: plinth/modules/firewall/__init__.py:63 +#: plinth/modules/firewall/__init__.py:65 msgid "Firewall" msgstr "Güvenlik Duvarı" @@ -1740,7 +1720,7 @@ msgid "" "gittutorial\">Git tutorial." msgstr "" -#: plinth/modules/gitweb/__init__.py:39 +#: plinth/modules/gitweb/__init__.py:51 msgid "Read-write access to Git repositories" msgstr "" @@ -1906,31 +1886,31 @@ msgstr "{name} silindi." msgid "Could not delete {name}: {error}" msgstr "{name} silinemedi: {error}" -#: plinth/modules/help/__init__.py:30 +#: plinth/modules/help/__init__.py:32 msgid "Documentation" msgstr "Belgelendirme" -#: plinth/modules/help/__init__.py:33 plinth/modules/networks/forms.py:47 +#: plinth/modules/help/__init__.py:35 plinth/modules/networks/forms.py:47 #: plinth/modules/networks/forms.py:77 plinth/templates/help-menu.html:20 #: plinth/templates/help-menu.html:21 plinth/templates/index.html:128 msgid "Manual" msgstr "Kullanım Kılavuzu" -#: plinth/modules/help/__init__.py:37 +#: plinth/modules/help/__init__.py:39 #: plinth/modules/help/templates/help_support.html:9 #: plinth/modules/help/views.py:43 plinth/templates/help-menu.html:27 #: plinth/templates/help-menu.html:28 msgid "Get Support" msgstr "" -#: plinth/modules/help/__init__.py:41 +#: plinth/modules/help/__init__.py:43 #: plinth/modules/help/templates/help_feedback.html:9 #: plinth/modules/help/views.py:37 plinth/templates/help-menu.html:33 #: plinth/templates/help-menu.html:34 msgid "Submit Feedback" msgstr "" -#: plinth/modules/help/__init__.py:45 +#: plinth/modules/help/__init__.py:47 #: plinth/modules/help/templates/help_contribute.html:9 #: plinth/modules/help/views.py:31 plinth/templates/help-menu.html:39 #: plinth/templates/help-menu.html:40 @@ -2063,7 +2043,7 @@ msgstr "" #: plinth/modules/help/templates/help_contribute.html:42 #: plinth/modules/power/templates/power_restart.html:27 #: plinth/modules/power/templates/power_shutdown.html:26 -#: plinth/templates/app-header.html:51 +#: plinth/templates/app-header.html:53 msgid "Learn more..." msgstr "Daha fazla bilgi edin..." @@ -2239,21 +2219,21 @@ msgid "" "configuration process." msgstr "" -#: plinth/modules/i2p/__init__.py:38 +#: plinth/modules/i2p/__init__.py:62 #, fuzzy #| msgid "Enable application" msgid "Manage I2P application" msgstr "Uygulamayı etkinleştir" -#: plinth/modules/i2p/__init__.py:64 plinth/modules/i2p/manifest.py:16 +#: plinth/modules/i2p/__init__.py:65 plinth/modules/i2p/manifest.py:16 msgid "I2P" msgstr "I2P" -#: plinth/modules/i2p/__init__.py:65 plinth/modules/tor/__init__.py:56 +#: plinth/modules/i2p/__init__.py:66 plinth/modules/tor/__init__.py:55 msgid "Anonymity Network" msgstr "Anonimlik Ağı" -#: plinth/modules/i2p/__init__.py:87 +#: plinth/modules/i2p/__init__.py:88 #, fuzzy #| msgid "Web Proxy" msgid "I2P Proxy" @@ -2330,18 +2310,18 @@ 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:39 -msgid "View and edit wiki applications" -msgstr "Viki uygulamalarını görüntüle ve düzenle" - -#: plinth/modules/ikiwiki/__init__.py:53 plinth/modules/ikiwiki/manifest.py:9 +#: plinth/modules/ikiwiki/__init__.py:52 plinth/modules/ikiwiki/manifest.py:9 msgid "ikiwiki" msgstr "ikiwiki" -#: plinth/modules/ikiwiki/__init__.py:54 +#: plinth/modules/ikiwiki/__init__.py:53 msgid "Wiki and Blog" msgstr "Viki ve Blog" +#: plinth/modules/ikiwiki/__init__.py:73 +msgid "View and edit wiki applications" +msgstr "Viki uygulamalarını görüntüle ve düzenle" + #: plinth/modules/ikiwiki/forms.py:17 msgid "Admin Account Name" msgstr "Yönetici Hesap İsmi" @@ -2388,33 +2368,33 @@ msgstr "" "yorumları silecektir. Bu viki ya da blogu daimi olarak silmek istiyor " "musunuz?" -#: plinth/modules/ikiwiki/views.py:72 +#: plinth/modules/ikiwiki/views.py:70 #, python-brace-format msgid "Created wiki {name}." msgstr "{name} isimli viki oluşturuldu." -#: plinth/modules/ikiwiki/views.py:75 +#: plinth/modules/ikiwiki/views.py:73 #, python-brace-format msgid "Could not create wiki: {error}" msgstr "Viki oluşturulamadı: {error}" -#: plinth/modules/ikiwiki/views.py:85 +#: plinth/modules/ikiwiki/views.py:83 #, python-brace-format msgid "Created blog {name}." msgstr "{name} isimli blog oluşturuldu." -#: plinth/modules/ikiwiki/views.py:88 +#: plinth/modules/ikiwiki/views.py:86 #, python-brace-format msgid "Could not create blog: {error}" msgstr "Blog oluşturulamadı: {error}" -#: plinth/modules/ikiwiki/views.py:103 +#: plinth/modules/ikiwiki/views.py:101 #, fuzzy, python-brace-format #| msgid "{name} deleted." msgid "{title} deleted." msgstr "{name} silindi." -#: plinth/modules/ikiwiki/views.py:107 +#: plinth/modules/ikiwiki/views.py:105 #, fuzzy, python-brace-format #| msgid "Could not delete {name}: {error}" msgid "Could not delete {title}: {error}" @@ -2462,7 +2442,7 @@ msgstr "" "Gobby'yi başlatın, \"Sunucuya Bağlan\" seçeneğini seçin ve {box_name} " "kutunuzun alan adını girin." -#: plinth/modules/jsxc/__init__.py:22 +#: plinth/modules/jsxc/__init__.py:23 msgid "" "JSXC is a web client for XMPP. Typically it is used with an XMPP server " "running locally." @@ -2470,11 +2450,11 @@ msgstr "" "JSXC, XMPP için bir web istemcisidir. Tipik olarak yerel şekilde çalışan bir " "XMPP sunucusuyla kullanılır." -#: plinth/modules/jsxc/__init__.py:40 plinth/modules/jsxc/manifest.py:10 +#: plinth/modules/jsxc/__init__.py:43 plinth/modules/jsxc/manifest.py:10 msgid "JSXC" msgstr "JSXC" -#: plinth/modules/jsxc/__init__.py:41 +#: plinth/modules/jsxc/__init__.py:44 msgid "Chat Client" msgstr "Sohbet İstemcisi" @@ -2666,11 +2646,11 @@ msgstr "" msgid "Matrix Synapse" msgstr "Matrix Synapse" -#: plinth/modules/matrixsynapse/forms.py:14 +#: plinth/modules/matrixsynapse/forms.py:12 msgid "Enable Public Registration" msgstr "Herkese Açık Kaydı Etkinleştir" -#: plinth/modules/matrixsynapse/forms.py:15 +#: plinth/modules/matrixsynapse/forms.py:13 msgid "" "Enabling public registration means that anyone on the Internet can register " "a new account on your Matrix server. Disable this if you only want existing " @@ -2684,6 +2664,12 @@ msgstr "" msgid "Riot" msgstr "Riot" +#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 +#: plinth/modules/snapshot/templates/snapshot.html:12 +#: plinth/templates/app.html:46 +msgid "Configuration" +msgstr "Yapılandırma" + #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:18 msgid "" "Matrix service needs to be configured for a domain. Users on other Matrix " @@ -2742,11 +2728,11 @@ msgid "" "go to Let's Encrypt to obtain one." msgstr "" -#: plinth/modules/matrixsynapse/views.py:98 +#: plinth/modules/matrixsynapse/views.py:86 msgid "Public registration enabled" msgstr "Herkese açık kayıt etkinleştirildi" -#: plinth/modules/matrixsynapse/views.py:103 +#: plinth/modules/matrixsynapse/views.py:91 msgid "Public registration disabled" msgstr "Herkese açık kayıt devre dışı bırakıldı" @@ -2805,11 +2791,11 @@ msgstr "MediaWiki" msgid "Wiki" msgstr "Viki" -#: plinth/modules/mediawiki/forms.py:27 +#: plinth/modules/mediawiki/forms.py:25 msgid "Administrator Password" msgstr "Yönetici Parolası" -#: plinth/modules/mediawiki/forms.py:28 +#: plinth/modules/mediawiki/forms.py:26 msgid "" "Set a new password for MediaWiki's administrator account (admin). Leave this " "field blank to keep the current password." @@ -2817,77 +2803,77 @@ msgstr "" "MediaWiki'nin yönetici hesabı (admin) için yeni bir parola ayarlayın. Güncel " "parolayı muhafaza etmek için bu alanı boş bırakın." -#: plinth/modules/mediawiki/forms.py:33 +#: plinth/modules/mediawiki/forms.py:31 #, fuzzy #| msgid "Enable Public Registration" msgid "Enable public registrations" msgstr "Herkese Açık Kaydı Etkinleştir" -#: plinth/modules/mediawiki/forms.py:34 +#: plinth/modules/mediawiki/forms.py:32 msgid "" "If enabled, anyone on the internet will be able to create an account on your " "MediaWiki instance." msgstr "" -#: plinth/modules/mediawiki/forms.py:38 +#: plinth/modules/mediawiki/forms.py:36 #, fuzzy #| msgid "Enable creative mode" msgid "Enable private mode" msgstr "Yaratıcı kipi etkinleştir" -#: plinth/modules/mediawiki/forms.py:39 +#: plinth/modules/mediawiki/forms.py:37 msgid "" "If enabled, access will be restricted. Only people who have accounts can " "read/write to the wiki. Public registrations will also be disabled." msgstr "" -#: plinth/modules/mediawiki/forms.py:44 +#: plinth/modules/mediawiki/forms.py:42 #, fuzzy #| msgid "Default" msgid "Default Skin" msgstr "Varsayılan" -#: plinth/modules/mediawiki/forms.py:45 +#: plinth/modules/mediawiki/forms.py:43 msgid "" "Choose a default skin for your MediaWiki installation. Users have the option " "to select their preferred skin." msgstr "" -#: plinth/modules/mediawiki/views.py:53 +#: plinth/modules/mediawiki/views.py:48 msgid "Password updated" msgstr "Parola güncellendi" -#: plinth/modules/mediawiki/views.py:72 +#: plinth/modules/mediawiki/views.py:57 #, fuzzy #| msgid "Public registration enabled" msgid "Public registrations enabled" msgstr "Herkese açık kayıt etkinleştirildi" -#: plinth/modules/mediawiki/views.py:81 +#: plinth/modules/mediawiki/views.py:66 #, 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:86 +#: plinth/modules/mediawiki/views.py:71 #, fuzzy #| msgid "PageKite enabled" msgid "Private mode enabled" msgstr "PageKite etkinleştirildi" -#: plinth/modules/mediawiki/views.py:93 +#: plinth/modules/mediawiki/views.py:78 #, fuzzy #| msgid "PageKite disabled" msgid "Private mode disabled" msgstr "PageKite devre dışı" -#: plinth/modules/mediawiki/views.py:101 +#: plinth/modules/mediawiki/views.py:86 #, fuzzy #| msgid "Setting unchanged" msgid "Default skin changed" msgstr "Ayar değiştirilmedi" -#: plinth/modules/minetest/__init__.py:37 +#: plinth/modules/minetest/__init__.py:38 #, python-brace-format msgid "" "Minetest is a multiplayer infinite-world block sandbox. This module enables " @@ -2900,31 +2886,31 @@ msgstr "" "etkinleştirir. Sunucuya bağlanmak için bir Minetest istemcisi gereklidir." -#: plinth/modules/minetest/__init__.py:63 +#: plinth/modules/minetest/__init__.py:62 #: plinth/modules/minetest/manifest.py:10 msgid "Minetest" msgstr "Minetest" -#: plinth/modules/minetest/__init__.py:64 +#: plinth/modules/minetest/__init__.py:63 msgid "Block Sandbox" msgstr "Blok Kum Havuzu" -#: plinth/modules/minetest/forms.py:15 +#: plinth/modules/minetest/forms.py:13 msgid "Maximum number of players" msgstr "Azami oyuncu sayısı" -#: plinth/modules/minetest/forms.py:17 +#: plinth/modules/minetest/forms.py:15 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:21 +#: plinth/modules/minetest/forms.py:19 msgid "Enable creative mode" msgstr "Yaratıcı kipi etkinleştir" -#: plinth/modules/minetest/forms.py:22 +#: plinth/modules/minetest/forms.py:20 msgid "" "Creative mode changes the rules of the game to make it more suitable for " "creative gameplay, rather than challenging \"survival\" gameplay." @@ -2932,21 +2918,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:27 +#: plinth/modules/minetest/forms.py:25 msgid "Enable PVP" msgstr "PVP'yi Etkinleştir" -#: plinth/modules/minetest/forms.py:28 +#: plinth/modules/minetest/forms.py:26 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:32 +#: plinth/modules/minetest/forms.py:30 msgid "Enable damage" msgstr "Zararı etkinleştir" -#: plinth/modules/minetest/forms.py:33 +#: plinth/modules/minetest/forms.py:31 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." @@ -2988,21 +2974,21 @@ msgid "" "Kodi." msgstr "" -#: plinth/modules/minidlna/__init__.py:33 +#: plinth/modules/minidlna/__init__.py:44 msgid "Media streaming server" msgstr "" -#: plinth/modules/minidlna/__init__.py:47 +#: plinth/modules/minidlna/__init__.py:48 #, fuzzy #| msgid "Mumble Voice Chat Server" msgid "Simple Media Server" msgstr "Mumble Ses ile Sohbet Sunucusu" -#: plinth/modules/minidlna/forms.py:15 +#: plinth/modules/minidlna/forms.py:13 msgid "Media Files Directory" msgstr "" -#: plinth/modules/minidlna/forms.py:16 +#: plinth/modules/minidlna/forms.py:14 msgid "" "Directory that MiniDLNA Server will read for content. All sub-directories of " "this will be also scanned for media files. If you change the default ensure " @@ -3054,20 +3040,20 @@ msgid "" "On {box_name}, downloaded files can be found in /var/lib/mldonkey/ directory." msgstr "" -#: plinth/modules/mldonkey/__init__.py:40 +#: plinth/modules/mldonkey/__init__.py:50 #, fuzzy #| msgid "Download files using BitTorrent applications" msgid "Download files using eDonkey applications" msgstr "BitTorrent uygulamaları kullanarak dosya indir" -#: plinth/modules/mldonkey/__init__.py:54 +#: plinth/modules/mldonkey/__init__.py:53 #: plinth/modules/mldonkey/manifest.py:12 #, fuzzy #| msgid "Monkeysphere" msgid "MLDonkey" msgstr "Monkeysphere" -#: plinth/modules/mldonkey/__init__.py:56 +#: plinth/modules/mldonkey/__init__.py:55 #, fuzzy #| msgid "File Synchronization" msgid "Peer-to-peer File Sharing" @@ -3085,7 +3071,7 @@ msgstr "Monkeysphere" msgid "AMLDonkey" msgstr "Monkeysphere" -#: plinth/modules/monkeysphere/__init__.py:18 +#: plinth/modules/monkeysphere/__init__.py:19 msgid "" "With Monkeysphere, an OpenPGP key can be generated for each configured " "domain serving SSH. The OpenPGP public key can then be uploaded to the " @@ -3105,7 +3091,7 @@ msgstr "" "gerekir. Daha fazla bilgi için Monkeysphere SSH belgelendirmesine bakınız." -#: plinth/modules/monkeysphere/__init__.py:26 +#: plinth/modules/monkeysphere/__init__.py:27 msgid "" "Monkeysphere can also generate an OpenPGP key for each Secure Web Server " "(HTTPS) certificate installed on this machine. The OpenPGP public key can " @@ -3123,7 +3109,7 @@ msgstr "" "Monkeysphere sitesinde mevcut olan bazı yazılımları yükleyip kurması gerekecektir." -#: plinth/modules/monkeysphere/__init__.py:50 +#: plinth/modules/monkeysphere/__init__.py:49 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:11 msgid "Monkeysphere" msgstr "Monkeysphere" @@ -3172,15 +3158,15 @@ msgstr "%(fingerprint)s anahtarı için detayları göster" msgid "-" msgstr "-" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:128 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:129 msgid "Import Key" msgstr "Anahtarı İçe Aktar" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:137 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:139 msgid "Publish Key" msgstr "Anahtarı Yayınla" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:146 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:149 msgid "Add Domains" msgstr "Alan Ekle" @@ -3253,7 +3239,7 @@ 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:23 +#: plinth/modules/mumble/__init__.py:24 msgid "" "Mumble is an open source, low-latency, encrypted, high quality voice chat " "software." @@ -3261,7 +3247,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:25 +#: plinth/modules/mumble/__init__.py:26 msgid "" "You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your " @@ -3271,21 +3257,21 @@ msgstr "" "bağlanabilirsiniz. Mumble'a masaüstünden ya da Android cihazlarından " "bağlanmak için istemciler mevcuttur." -#: plinth/modules/mumble/__init__.py:49 plinth/modules/mumble/manifest.py:12 +#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:12 msgid "Mumble" msgstr "Mumble" -#: plinth/modules/mumble/__init__.py:50 +#: plinth/modules/mumble/__init__.py:49 msgid "Voice Chat" msgstr "Ses ile Sohbet" -#: plinth/modules/mumble/forms.py:16 +#: plinth/modules/mumble/forms.py:14 #, fuzzy #| msgid "SSH server password" msgid "Set SuperUser Password" msgstr "SSH sunucu parolası" -#: plinth/modules/mumble/forms.py:19 +#: plinth/modules/mumble/forms.py:17 msgid "" "Optional. Leave this field blank to keep the current password. SuperUser " "password can be used to manage permissions in Mumble." @@ -3602,7 +3588,7 @@ msgstr "Açık" #: plinth/modules/networks/forms.py:297 #, fuzzy, python-brace-format #| msgid "Use upstream bridges to connect to Tor network" -msgid "Choose how your {box_name} is connected to your network" +msgid "Specify how your {box_name} is connected to your network" msgstr "Tor şebekesine bağlanmak için upstream köprüleri kullan" #: plinth/modules/networks/forms.py:304 @@ -3823,7 +3809,7 @@ msgstr "IPv4" #: plinth/modules/networks/templates/connection_show.html:171 #: plinth/modules/networks/templates/connection_show.html:212 -#: plinth/modules/shadowsocks/forms.py:49 +#: plinth/modules/shadowsocks/forms.py:48 msgid "Method" msgstr "Metot" @@ -3839,7 +3825,7 @@ msgstr "DNS sunucusu" #: plinth/modules/networks/templates/connection_show.html:201 #: plinth/modules/networks/templates/connection_show.html:240 -#: plinth/modules/storage/forms.py:141 +#: plinth/modules/storage/forms.py:139 msgid "Default" msgstr "Varsayılan" @@ -4325,6 +4311,11 @@ msgstr "Kurulum tamamlandı." msgid "Setup failed." msgstr "Kurulum başarısız oldu." +#: plinth/modules/openvpn/views.py:135 plinth/modules/tor/views.py:136 +#: plinth/views.py:196 +msgid "Setting unchanged" +msgstr "Ayar değiştirilmedi" + #: plinth/modules/pagekite/__init__.py:27 #, python-brace-format msgid "" @@ -4407,11 +4398,11 @@ msgstr "Herkese Açık Görünülürlük" msgid "PageKite Domain" msgstr "PageKite Hesabı" -#: plinth/modules/pagekite/forms.py:48 +#: plinth/modules/pagekite/forms.py:47 msgid "Server domain" msgstr "Sunucu alanı" -#: plinth/modules/pagekite/forms.py:50 +#: plinth/modules/pagekite/forms.py:49 msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " "pagekite.net server." @@ -4419,31 +4410,31 @@ msgstr "" "PageKite sunucunuzu seçin. Varsayılan pagekite.net sunucusunu kullanmak için " "\"pagekite.net\" değerini kullanın." -#: plinth/modules/pagekite/forms.py:53 plinth/modules/shadowsocks/forms.py:40 +#: plinth/modules/pagekite/forms.py:52 plinth/modules/shadowsocks/forms.py:39 msgid "Server port" msgstr "Sunucu portu" -#: plinth/modules/pagekite/forms.py:54 +#: plinth/modules/pagekite/forms.py:53 msgid "Port of your pagekite server (default: 80)" msgstr "PageKite sunucunuzun portu (varsayılan: 80)" -#: plinth/modules/pagekite/forms.py:56 +#: plinth/modules/pagekite/forms.py:55 msgid "Kite name" msgstr "Kite ismi" -#: plinth/modules/pagekite/forms.py:57 +#: plinth/modules/pagekite/forms.py:56 msgid "Example: mybox.pagekite.me" msgstr "Örnek: mybox.pagekite.me" -#: plinth/modules/pagekite/forms.py:59 +#: plinth/modules/pagekite/forms.py:58 msgid "Invalid kite name" msgstr "Geçersiz kite ismi" -#: plinth/modules/pagekite/forms.py:63 +#: plinth/modules/pagekite/forms.py:62 msgid "Kite secret" msgstr "Kite sırrı" -#: plinth/modules/pagekite/forms.py:64 +#: plinth/modules/pagekite/forms.py:63 msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." @@ -4451,27 +4442,27 @@ msgstr "" "Kite ile ilişkilendirilmiş bir sır ya da kite üzerinde hiçbir sır " "ayarlanmamışsa hesabınız için varsayılan sır." -#: plinth/modules/pagekite/forms.py:101 +#: plinth/modules/pagekite/forms.py:100 msgid "protocol" msgstr "protokol" -#: plinth/modules/pagekite/forms.py:104 +#: plinth/modules/pagekite/forms.py:103 msgid "external (frontend) port" msgstr "harici (ön arayüz) port" -#: plinth/modules/pagekite/forms.py:107 +#: plinth/modules/pagekite/forms.py:106 msgid "internal (freedombox) port" msgstr "dahili (freedombox) port" -#: plinth/modules/pagekite/forms.py:108 +#: plinth/modules/pagekite/forms.py:107 msgid "Enable Subdomains" msgstr "Alt Alanları Etkinleştir" -#: plinth/modules/pagekite/forms.py:142 +#: plinth/modules/pagekite/forms.py:141 msgid "Deleted custom service" msgstr "Özel servis silindi" -#: plinth/modules/pagekite/forms.py:175 +#: plinth/modules/pagekite/forms.py:174 #, fuzzy #| msgid "" #| "This service is available as a standard service. Please use the " @@ -4481,11 +4472,11 @@ msgstr "" "Bu servis standart bir servis olarak mevcuttur. Etkinleştirmek için lütfen " "\"Standart Servisler\" sayfasını kullanın." -#: plinth/modules/pagekite/forms.py:183 +#: plinth/modules/pagekite/forms.py:182 msgid "Added custom service" msgstr "Özel servis eklendi" -#: plinth/modules/pagekite/forms.py:186 +#: plinth/modules/pagekite/forms.py:185 msgid "This service already exists" msgstr "Bu servis zaten mevcuttur" @@ -4625,7 +4616,7 @@ msgstr "" msgid "Shut Down Now" msgstr "Şimdi Kapat" -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 msgid "" "Privoxy is a non-caching web proxy with advanced filtering capabilities for " "enhancing privacy, modifying web page data and HTTP headers, controlling " @@ -4636,7 +4627,7 @@ msgstr "" "gelişmiş filtreleme özellikleri bulunan ve önbelleğe veri almayan bir ağ " "vekil sunucusudur. " -#: plinth/modules/privoxy/__init__.py:33 +#: plinth/modules/privoxy/__init__.py:34 #, python-brace-format msgid "" "You can use Privoxy by modifying your browser proxy settings to your " @@ -4652,20 +4643,20 @@ msgstr "" "org/ veya http://p.p adresinde " "görebilirsiniz." -#: plinth/modules/privoxy/__init__.py:56 +#: plinth/modules/privoxy/__init__.py:55 msgid "Privoxy" msgstr "Privoxy" -#: plinth/modules/privoxy/__init__.py:57 +#: plinth/modules/privoxy/__init__.py:56 msgid "Web Proxy" msgstr "Ağ Vekil Sunucusu" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:119 #, 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:32 +#: plinth/modules/quassel/__init__.py:33 #, python-brace-format msgid "" "Quassel is an IRC application that is split into two parts, a \"core\" and a " @@ -4682,7 +4673,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:39 +#: plinth/modules/quassel/__init__.py:40 msgid "" "You can connect to your Quassel core on the default Quassel port 4242. " "Clients to connect to Quassel from your masaüstü ve mobil cihaz istemcileri mevcuttur." -#: plinth/modules/quassel/__init__.py:62 plinth/modules/quassel/manifest.py:10 +#: plinth/modules/quassel/__init__.py:61 plinth/modules/quassel/manifest.py:10 msgid "Quassel" msgstr "Quassel" -#: plinth/modules/quassel/__init__.py:63 +#: plinth/modules/quassel/__init__.py:62 msgid "IRC Client" msgstr "IRC İstemcisi" -#: plinth/modules/quassel/forms.py:23 +#: plinth/modules/quassel/forms.py:22 #, fuzzy #| msgid "Subdomain" msgid "TLS domain" msgstr "Alt Alan" -#: plinth/modules/quassel/forms.py:25 +#: plinth/modules/quassel/forms.py:24 msgid "" "Select a domain to use TLS with. If the list is empty, please configure at " "least one domain with certificates." @@ -4718,7 +4709,7 @@ msgstr "" msgid "Quasseldroid" msgstr "Quasseldroid" -#: plinth/modules/radicale/__init__.py:32 +#: plinth/modules/radicale/__init__.py:33 #, python-brace-format msgid "" "Radicale is a CalDAV and CardDAV server. It allows synchronization and " @@ -4732,29 +4723,29 @@ msgstr "" "gereklidir. Radicale'e erişim {box_name} girişi olan herhangi bir kullanıcı " "tarafından yapılabilir." -#: plinth/modules/radicale/__init__.py:37 +#: plinth/modules/radicale/__init__.py:38 msgid "" "Radicale provides a basic web interface, which only supports creating new " "calendars and addressbooks. It does not support adding events or contacts, " "which must be done using a separate client." msgstr "" -#: plinth/modules/radicale/__init__.py:62 +#: plinth/modules/radicale/__init__.py:61 #: plinth/modules/radicale/manifest.py:75 msgid "Radicale" msgstr "Radicale" -#: plinth/modules/radicale/__init__.py:63 +#: plinth/modules/radicale/__init__.py:62 msgid "Calendar and Addressbook" msgstr "Takvim ve Adres Defteri" -#: plinth/modules/radicale/forms.py:15 +#: plinth/modules/radicale/forms.py:14 msgid "Only the owner of a calendar/addressbook can view or make changes." msgstr "" "Sadece takvim/adres defterinin sahibi görüntüleyebilir ya da değişiklik " "yapabilir." -#: plinth/modules/radicale/forms.py:19 +#: plinth/modules/radicale/forms.py:18 #, fuzzy, python-brace-format #| msgid "" #| "Any user can view any calendar/addressbook, but only the owner can make " @@ -4766,7 +4757,7 @@ msgstr "" "Herhangi bir kullanıcı takvim/adres defterini görüntüleyebilir ancak sadece " "sahibi değişiklik yapabilir." -#: plinth/modules/radicale/forms.py:24 +#: plinth/modules/radicale/forms.py:23 #, fuzzy, python-brace-format #| msgid "Any user can view or make changes to any calendar/addressbook." msgid "" @@ -4927,11 +4918,11 @@ msgid "" "private space." msgstr "" -#: plinth/modules/samba/__init__.py:47 +#: plinth/modules/samba/__init__.py:59 msgid "Access to the private shares" msgstr "" -#: plinth/modules/samba/__init__.py:61 +#: plinth/modules/samba/__init__.py:62 msgid "Samba" msgstr "" @@ -5005,13 +4996,13 @@ msgstr "Paylaşılan" msgid "Action" msgstr "Eylemler" -#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:149 +#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:147 #, fuzzy #| msgid "Add Service" msgid "Open Share" msgstr "Servis Ekle" -#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:147 +#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:145 #, fuzzy #| msgid "Add Service" msgid "Group Share" @@ -5059,49 +5050,49 @@ msgid "" "stores no cookies by default." msgstr "" -#: plinth/modules/searx/__init__.py:31 +#: plinth/modules/searx/__init__.py:45 msgid "Search the web" msgstr "" -#: plinth/modules/searx/__init__.py:47 plinth/modules/searx/manifest.py:9 +#: plinth/modules/searx/__init__.py:48 plinth/modules/searx/manifest.py:9 msgid "Searx" msgstr "" -#: plinth/modules/searx/__init__.py:48 +#: plinth/modules/searx/__init__.py:49 #, fuzzy #| msgid "Web Server" msgid "Web Search" msgstr "Web Sunucusu" -#: plinth/modules/searx/forms.py:15 +#: plinth/modules/searx/forms.py:13 #, fuzzy #| msgid "Save Services" msgid "Safe Search" msgstr "Servisleri Kaydet" -#: plinth/modules/searx/forms.py:16 +#: plinth/modules/searx/forms.py:14 msgid "Select the default family filter to apply to your search results." msgstr "" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "None" msgstr "" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 #, fuzzy #| msgid "Mode" msgid "Moderate" msgstr "Kip" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "Strict" msgstr "" -#: plinth/modules/searx/forms.py:20 +#: plinth/modules/searx/forms.py:18 msgid "Allow Public Access" msgstr "" -#: plinth/modules/searx/forms.py:21 +#: plinth/modules/searx/forms.py:19 msgid "Allow this application to be used by anyone who can reach it." msgstr "" @@ -5304,30 +5295,30 @@ msgstr "Shadowsocks" msgid "Socks5 Proxy" msgstr "Socks5 Vekil Sunucusu" +#: plinth/modules/shadowsocks/forms.py:12 #: plinth/modules/shadowsocks/forms.py:13 -#: plinth/modules/shadowsocks/forms.py:14 msgid "Recommended" msgstr "Tavsiye edilir" -#: plinth/modules/shadowsocks/forms.py:37 +#: plinth/modules/shadowsocks/forms.py:36 msgid "Server" msgstr "Sunucu" -#: plinth/modules/shadowsocks/forms.py:38 +#: plinth/modules/shadowsocks/forms.py:37 msgid "Server hostname or IP address" msgstr "Sunucu makine ismi ya da IP adresi" -#: plinth/modules/shadowsocks/forms.py:42 +#: plinth/modules/shadowsocks/forms.py:41 msgid "Server port number" msgstr "Sunucu port numarası" -#: plinth/modules/shadowsocks/forms.py:45 +#: plinth/modules/shadowsocks/forms.py:44 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:50 +#: plinth/modules/shadowsocks/forms.py:49 msgid "Encryption method. Must match setting on server." msgstr "Şifreleme metodu. Sunucudaki ayarla eşleşmesi gerekir." @@ -5372,11 +5363,11 @@ msgstr "Anahtarı Yayınla" msgid "Make files in this folder available to anyone with the link." msgstr "" -#: plinth/modules/sharing/forms.py:33 +#: plinth/modules/sharing/forms.py:34 msgid "User groups that can read the files in the share" msgstr "" -#: plinth/modules/sharing/forms.py:35 +#: plinth/modules/sharing/forms.py:36 msgid "" "Users of the selected user groups will be able to read the files in the " "share." @@ -5705,13 +5696,13 @@ msgstr "" msgid "Secure Shell (SSH) Server" msgstr "Güvenli Kabuk (SSH) Sunucusu" -#: plinth/modules/ssh/forms.py:15 +#: plinth/modules/ssh/forms.py:13 #, fuzzy #| msgid "Use HTTP basic authentication" msgid "Disable password authentication" msgstr "Temel HTTP kimlik doğrulamasını kullan" -#: plinth/modules/ssh/forms.py:16 +#: plinth/modules/ssh/forms.py:14 msgid "" "Improves security by preventing password guessing. Ensure that you have " "setup SSH keys in your administrator user account before enabling this " @@ -5764,94 +5755,94 @@ msgid "" "media, expand the root partition etc." msgstr "" -#: plinth/modules/storage/__init__.py:52 plinth/modules/storage/__init__.py:318 +#: plinth/modules/storage/__init__.py:54 plinth/modules/storage/__init__.py:320 msgid "Storage" msgstr "Depolama" -#: 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 "" -#: plinth/modules/storage/__init__.py:313 +#: plinth/modules/storage/__init__.py:315 #, fuzzy, no-python-format, python-brace-format #| msgid "" #| "Warning: Low space on system partition ({percent_used}% used, " @@ -5861,51 +5852,51 @@ msgstr "" "İkaz: sistem disk bölümünde düşük alan (%{percent_used} kullanıldı, " "{free_space} boş)." -#: plinth/modules/storage/__init__.py:315 +#: plinth/modules/storage/__init__.py:317 msgid "Low disk space" msgstr "" -#: plinth/modules/storage/forms.py:64 +#: plinth/modules/storage/forms.py:63 #, fuzzy #| msgid "Invalid hostname" msgid "Invalid directory name." msgstr "Geçersiz makine ismi" -#: plinth/modules/storage/forms.py:82 +#: plinth/modules/storage/forms.py:80 msgid "Directory does not exist." msgstr "" -#: plinth/modules/storage/forms.py:84 +#: plinth/modules/storage/forms.py:83 #, fuzzy #| msgid "Download directory" msgid "Path is not a directory." msgstr "İndirme klasörü" -#: plinth/modules/storage/forms.py:87 +#: plinth/modules/storage/forms.py:86 msgid "Directory is not readable by the user." msgstr "" -#: plinth/modules/storage/forms.py:90 +#: plinth/modules/storage/forms.py:89 msgid "Directory is not writable by the user." msgstr "" -#: plinth/modules/storage/forms.py:95 +#: plinth/modules/storage/forms.py:94 #, fuzzy #| msgid "Download directory" msgid "Directory" msgstr "İndirme klasörü" -#: plinth/modules/storage/forms.py:98 +#: plinth/modules/storage/forms.py:96 msgid "Subdirectory (optional)" msgstr "" -#: plinth/modules/storage/forms.py:145 +#: plinth/modules/storage/forms.py:143 #, fuzzy #| msgid "Shared" msgid "Share" msgstr "Paylaşılan" -#: plinth/modules/storage/forms.py:153 +#: plinth/modules/storage/forms.py:151 msgid "Other directory (specify below)" msgstr "" @@ -5992,14 +5983,22 @@ msgstr "" "tüm cihazlarda da otomatik olarak meydana gelecektir." #: plinth/modules/syncthing/__init__.py:31 -#, python-brace-format +#, fuzzy, python-brace-format +#| msgid "" +#| "Running Syncthing on {box_name} provides an extra synchronization point " +#| "for your data that is available most of the time, allowing your devices " +#| "to synchronize more often. {box_name} runs a single instance of " +#| "Syncthing that may be used by multiple users. Each user's set of devices " +#| "may be synchronized with a distinct set of folders. The web interface on " +#| "{box_name} is only available for users belonging to the \"admin\" group." msgid "" "Running Syncthing on {box_name} provides an extra synchronization point for " "your data that is available most of the time, allowing your devices to " "synchronize more often. {box_name} runs a single instance of Syncthing that " "may be used by multiple users. Each user's set of devices may be " "synchronized with a distinct set of folders. The web interface on " -"{box_name} is only available for users belonging to the \"admin\" group." +"{box_name} is only available for users belonging to the \"admin\" or " +"\"syncthing\" group." msgstr "" "{box_name} üzerinde Syncthing çalıştırılması, verileriniz için çoğu zaman " "kullanılabilir ekstra bir eşleşme noktası sağlar ve bu cihazlarınızın daha " @@ -6009,18 +6008,18 @@ 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:40 +#: plinth/modules/syncthing/__init__.py:53 #, fuzzy #| msgid "Install this application?" msgid "Administer Syncthing application" msgstr "Bu uygulama kurulsun mu?" -#: plinth/modules/syncthing/__init__.py:54 +#: plinth/modules/syncthing/__init__.py:56 #: plinth/modules/syncthing/manifest.py:13 msgid "Syncthing" msgstr "Syncthing" -#: plinth/modules/syncthing/__init__.py:55 +#: plinth/modules/syncthing/__init__.py:57 msgid "File Synchronization" msgstr "Dosya eşleşmesi" @@ -6068,33 +6067,33 @@ msgstr "" "gerektirir ve VERİ KAYBEDERSİNİZ. Tahoe-LAFS, şu konumdan erişilebilir " "durumdadır: %(domain_name)s." -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:39 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:29 msgid "Local introducer" msgstr "Yerel tanıtıcı" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:59 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:76 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:33 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:49 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:66 msgid "Pet Name" msgstr "Evcil Hayvan İsmi" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:56 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:46 msgid "Add new introducer" msgstr "Yeni tanıtıcı ekle" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:67 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:57 msgid "Add" msgstr "Ekle" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:72 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:62 msgid "Connected introducers" msgstr "Bağlı tanıtıcılar" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:89 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:79 msgid "Remove" msgstr "Kaldır" -#: plinth/modules/tor/__init__.py:33 +#: plinth/modules/tor/__init__.py:34 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -6108,44 +6107,44 @@ msgstr "" "href=\"https://www.torproject.org/download/download-easy.html\">Tor " "Tarayıcısını kullanmanızı tavsiye eder." -#: plinth/modules/tor/__init__.py:55 +#: plinth/modules/tor/__init__.py:54 msgid "Tor" msgstr "Tor" -#: plinth/modules/tor/__init__.py:66 +#: plinth/modules/tor/__init__.py:65 #, fuzzy #| msgid "Tor Hidden Service" msgid "Tor Onion Service" msgstr "Tor Gizli Servisi" -#: plinth/modules/tor/__init__.py:70 +#: plinth/modules/tor/__init__.py:69 #, fuzzy #| msgid "Socks5 Proxy" msgid "Tor Socks Proxy" msgstr "Socks5 Vekil Sunucusu" -#: plinth/modules/tor/__init__.py:74 +#: plinth/modules/tor/__init__.py:73 msgid "Tor Bridge Relay" msgstr "Tor Köprü Aktarması" -#: plinth/modules/tor/__init__.py:95 +#: plinth/modules/tor/__init__.py:98 msgid "Tor relay port available" msgstr "Tor geçit portu mevcuttur" -#: plinth/modules/tor/__init__.py:105 +#: plinth/modules/tor/__init__.py:108 msgid "Obfs3 transport registered" msgstr "Obfs3 taşıma kayıtlıdır" -#: plinth/modules/tor/__init__.py:115 +#: plinth/modules/tor/__init__.py:118 msgid "Obfs4 transport registered" msgstr "Obfs4 taşıma kayıtlıdır" -#: plinth/modules/tor/__init__.py:208 +#: plinth/modules/tor/__init__.py:211 #, 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:219 +#: plinth/modules/tor/__init__.py:222 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "tcp{kind} üzerinden {url} konumunda Tor kullanımını teyit et" @@ -6305,7 +6304,7 @@ msgstr "" "Bir Tor SOCKS bağlantı noktası %(box_name)s kutunuzda TCP 9050 numaralı " "portta mevcuttur." -#: plinth/modules/transmission/__init__.py:27 +#: plinth/modules/transmission/__init__.py:28 msgid "" "BitTorrent is a peer-to-peer file sharing protocol. Transmission daemon " "handles Bitorrent file sharing. Note that BitTorrent is not anonymous." @@ -6314,7 +6313,7 @@ msgstr "" "BitTorrent dosya paylaşımını idare eder. BitTorrent'ın anonim olmadığını " "unutmayın." -#: plinth/modules/transmission/__init__.py:48 +#: plinth/modules/transmission/__init__.py:51 #: plinth/modules/transmission/manifest.py:9 msgid "Transmission" msgstr "Transmission" @@ -6357,15 +6356,15 @@ 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:42 +#: plinth/modules/ttrss/__init__.py:54 msgid "Read and subscribe to news feeds" msgstr "Haber beslemelerini oku ve onlara abone ol" -#: plinth/modules/ttrss/__init__.py:56 plinth/modules/ttrss/manifest.py:19 +#: plinth/modules/ttrss/__init__.py:57 plinth/modules/ttrss/manifest.py:19 msgid "Tiny Tiny RSS" msgstr "Tiny Tiny RSS" -#: plinth/modules/ttrss/__init__.py:57 +#: plinth/modules/ttrss/__init__.py:58 msgid "News Feed Reader" msgstr "Haber Besleme Okuyucusu" @@ -6379,11 +6378,11 @@ msgstr "Tiny Tiny RSS" msgid "Check for and apply the latest software and security updates." msgstr "" -#: plinth/modules/upgrades/__init__.py:38 plinth/templates/setup.html:74 +#: plinth/modules/upgrades/__init__.py:40 plinth/templates/setup.html:74 msgid "Update" msgstr "Güncelle" -#: plinth/modules/upgrades/__init__.py:76 +#: plinth/modules/upgrades/__init__.py:78 #, fuzzy #| msgid "FreedomBox Foundation" msgid "FreedomBox Updated" @@ -6450,45 +6449,41 @@ msgstr "" #: plinth/modules/upgrades/templates/upgrades_configure.html:11 #: plinth/modules/upgrades/templates/upgrades_configure.html:12 -#: plinth/modules/upgrades/views.py:88 +#: plinth/modules/upgrades/views.py:85 #, fuzzy #| msgid "Last update" msgid "Manual update" msgstr "Son güncelleme" -#: plinth/modules/upgrades/views.py:47 +#: plinth/modules/upgrades/views.py:46 #, 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:51 +#: plinth/modules/upgrades/views.py:50 msgid "Automatic upgrades enabled" msgstr "Otomatik yükseltmeler etkinleştirildi" -#: plinth/modules/upgrades/views.py:54 +#: plinth/modules/upgrades/views.py:53 msgid "Automatic upgrades disabled" msgstr "Otomatik yükseltmeler devre dışı bırakıldı" -#: plinth/modules/upgrades/views.py:56 -msgid "Settings unchanged" -msgstr "Ayarlar değiştirilmedi" - -#: plinth/modules/upgrades/views.py:82 +#: plinth/modules/upgrades/views.py:79 msgid "Upgrade process started." msgstr "Yükseltme süreci başlamıştır." -#: plinth/modules/upgrades/views.py:85 +#: plinth/modules/upgrades/views.py:82 msgid "Starting upgrade failed." msgstr "Yükseltmenin başlatılması başarısız oldu." -#: plinth/modules/users/__init__.py:37 +#: plinth/modules/users/__init__.py:39 msgid "" "Create and managed user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " "account to be part of a group to authorize the user to access the app." msgstr "" -#: plinth/modules/users/__init__.py:42 +#: plinth/modules/users/__init__.py:44 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -6496,45 +6491,51 @@ msgid "" "group may alter apps or system settings." msgstr "" -#: plinth/modules/users/__init__.py:64 +#: plinth/modules/users/__init__.py:65 msgid "Users and Groups" msgstr "Kullanıcılar ve Gruplar" -#: plinth/modules/users/__init__.py:115 +#: plinth/modules/users/__init__.py:78 +msgid "Access to all services and system settings" +msgstr "Tüm servislere ve sistem ayarlarına erişim" + +#: plinth/modules/users/__init__.py:122 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "\"{search_item}\" LDAP unsurunu kontrol et" -#: plinth/modules/users/forms.py:28 -msgid "Access to all services and system settings" -msgstr "Tüm servislere ve sistem ayarlarına erişim" - -#: plinth/modules/users/forms.py:44 +#: plinth/modules/users/forms.py:36 msgid "Username is taken or is reserved." msgstr "Kullanıcı ismi zaten alınmış ya da ayrılmıştır." -#: plinth/modules/users/forms.py:72 +#: plinth/modules/users/forms.py:63 #, fuzzy #| msgid "Invalid server name" msgid "Enter a valid username." msgstr "Geçersiz sunucu ismi" -#: plinth/modules/users/forms.py:78 +#: plinth/modules/users/forms.py:69 msgid "" "Required. 150 characters or fewer. English letters, digits and @/./-/_ only." msgstr "" -#: plinth/modules/users/forms.py:91 plinth/modules/users/forms.py:207 +#: plinth/modules/users/forms.py:83 plinth/modules/users/forms.py:196 msgid "Permissions" msgstr "İzinler" -#: plinth/modules/users/forms.py:94 +#: plinth/modules/users/forms.py:85 +#, fuzzy +#| msgid "" +#| "Select which services should be available to the new user. The user will " +#| "be able to log in to services that support single sign-on through LDAP, " +#| "if they are in the appropriate group.

Users in the admin group " +#| "will be able to log in to all services. They can also log in to the " +#| "system through SSH and have administrative privileges (sudo)." msgid "" -"Select which services should be available to the new user. The user will be " -"able to log in to services that support single sign-on through LDAP, if they " -"are in the appropriate group.

Users in the admin group will be " -"able to log in to all services. They can also log in to the system through " -"SSH and have administrative privileges (sudo)." +"user. The user will be able to log in to services that support single sign-" +"on through LDAP, if they are in the appropriate group.

Users in " +"the admin group will be able to log in to all services. They can also log in " +"to the system through SSH and have administrative privileges (sudo)." msgstr "" "Yeni kullanıcıya hangi servislerin mevcut olacağını seçin. Kullanıcı, uygun " "grupta iseler, LDAP vasıtasıyla tek oturum açma desteği bulunan servislere " @@ -6542,20 +6543,20 @@ msgstr "" "servislere giriş yapabilecektir. Aynı zamanda sisteme SSH aracılığıyla giriş " "yapıp yönetici izinlerine (sudo) erişebileceklerdir." -#: plinth/modules/users/forms.py:133 plinth/modules/users/forms.py:357 +#: plinth/modules/users/forms.py:122 plinth/modules/users/forms.py:345 msgid "Creating LDAP user failed." msgstr "LDAP kullanıcısı oluşturması başarısız oldu." -#: plinth/modules/users/forms.py:144 +#: plinth/modules/users/forms.py:133 #, python-brace-format msgid "Failed to add new user to {group} group." msgstr "{group} grubuna yeni kullanıcı ilâve edilmesi başarısız oldu." -#: plinth/modules/users/forms.py:158 +#: plinth/modules/users/forms.py:147 msgid "Authorized SSH Keys" msgstr "" -#: plinth/modules/users/forms.py:160 +#: plinth/modules/users/forms.py:149 msgid "" "Setting an SSH public key will allow this user to securely log in to the " "system without using a password. You may enter multiple keys, one on each " @@ -6566,45 +6567,45 @@ msgstr "" "çok anahtar girebilirsiniz, her anahtarı yeni bir satırda girin. Boş " "satırlar ve # ile başlayan satırlar görmezden gelinecektir." -#: plinth/modules/users/forms.py:244 +#: plinth/modules/users/forms.py:233 msgid "Renaming LDAP user failed." msgstr "LDAP kullanıcısının tekrar adlandırılması başarısız oldu." -#: plinth/modules/users/forms.py:256 +#: plinth/modules/users/forms.py:245 msgid "Failed to remove user from group." msgstr "Kullanıcının gruptan kaldırılması başarısız oldu." -#: plinth/modules/users/forms.py:267 +#: plinth/modules/users/forms.py:256 msgid "Failed to add user to group." msgstr "Kullanıcının gruba eklenmesi başarısız oldu." -#: plinth/modules/users/forms.py:276 +#: plinth/modules/users/forms.py:265 msgid "Unable to set SSH keys." msgstr "SSH anahtarları ayarlanamadı." -#: plinth/modules/users/forms.py:291 +#: plinth/modules/users/forms.py:280 #, fuzzy #| msgid "Failed to add user to group." msgid "Failed to change user status." msgstr "Kullanıcının gruba eklenmesi başarısız oldu." -#: plinth/modules/users/forms.py:299 +#: plinth/modules/users/forms.py:288 msgid "Cannot delete the only administrator in the system." msgstr "" -#: plinth/modules/users/forms.py:331 +#: plinth/modules/users/forms.py:319 msgid "Changing LDAP user password failed." msgstr "LDAP kullanıcı parolasının değiştirilmesi başarısız oldu." -#: plinth/modules/users/forms.py:366 +#: plinth/modules/users/forms.py:354 msgid "Failed to add new user to admin group." msgstr "Yeni kullanıcının admin (yönetici) grubuna eklenmesi başarısız oldu." -#: plinth/modules/users/forms.py:383 +#: plinth/modules/users/forms.py:371 msgid "Failed to restrict console access." msgstr "Konsol erişiminin kısıtlanması başarısız oldu." -#: plinth/modules/users/forms.py:395 +#: plinth/modules/users/forms.py:383 msgid "User account created, you are now logged in" msgstr "Kullanıcı hesabı oluşturuldu, artık giriş yaptınız" @@ -7445,18 +7446,22 @@ msgstr "%(package_names)s kuruluyor: %(status)s" msgid "%(percentage)s%% complete" msgstr "%(percentage)s%% tamamlandı" -#: plinth/views.py:184 -msgid "Application enabled" -msgstr "Uygulama etkinleştirildi" - -#: plinth/views.py:187 -msgid "Application disabled" -msgstr "Uygulama devre dışı bırakıldı" - #: plinth/web_framework.py:107 msgid "Gujarati" msgstr "" +#~ msgid "Enable application" +#~ msgstr "Uygulamayı etkinleştir" + +#~ msgid "Settings unchanged" +#~ msgstr "Ayarlar değiştirilmedi" + +#~ msgid "Application enabled" +#~ msgstr "Uygulama etkinleştirildi" + +#~ msgid "Application disabled" +#~ msgstr "Uygulama devre dışı bırakıldı" + #~ msgid "Kite details set" #~ msgstr "Kite detayları ayarlandı" diff --git a/plinth/locale/uk/LC_MESSAGES/django.po b/plinth/locale/uk/LC_MESSAGES/django.po index d9b265c3d..a09cc0af7 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: 2020-03-23 18:54-0400\n" +"POT-Creation-Date: 2020-04-06 19:59-0400\n" "PO-Revision-Date: 2019-01-04 17:06+0000\n" "Last-Translator: prolinux ukraine \n" "Language-Team: Ukrainian web client user with a {box_name} login." msgstr "" -#: plinth/modules/ejabberd/__init__.py:70 +#: plinth/modules/ejabberd/__init__.py:69 msgid "ejabberd" msgstr "" -#: plinth/modules/ejabberd/__init__.py:71 +#: plinth/modules/ejabberd/__init__.py:70 #: plinth/modules/matrixsynapse/__init__.py:68 msgid "Chat Server" msgstr "" -#: plinth/modules/ejabberd/forms.py:17 +#: plinth/modules/ejabberd/forms.py:16 msgid "Enable Message Archive Management" msgstr "" -#: plinth/modules/ejabberd/forms.py:19 +#: plinth/modules/ejabberd/forms.py:18 #, python-brace-format msgid "" "If enabled, your {box_name} will store chat message histories. This allows " @@ -1421,19 +1409,11 @@ msgid "" "Configure page." msgstr "" -#: plinth/modules/ejabberd/templates/ejabberd.html:35 -#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 -#: plinth/modules/snapshot/templates/snapshot.html:12 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:27 -#: plinth/templates/app.html:45 -msgid "Configuration" -msgstr "" - -#: plinth/modules/ejabberd/views.py:58 +#: plinth/modules/ejabberd/views.py:45 msgid "Message Archive Management enabled" msgstr "" -#: plinth/modules/ejabberd/views.py:62 +#: plinth/modules/ejabberd/views.py:49 msgid "Message Archive Management disabled" msgstr "" @@ -1445,7 +1425,7 @@ msgid "" "configured reduces risk of security threat from the Internet." msgstr "" -#: plinth/modules/firewall/__init__.py:63 +#: plinth/modules/firewall/__init__.py:65 msgid "Firewall" msgstr "" @@ -1572,7 +1552,7 @@ msgid "" "gittutorial\">Git tutorial." msgstr "" -#: plinth/modules/gitweb/__init__.py:39 +#: plinth/modules/gitweb/__init__.py:51 msgid "Read-write access to Git repositories" msgstr "" @@ -1728,31 +1708,31 @@ msgstr "" msgid "Could not delete {name}: {error}" msgstr "" -#: plinth/modules/help/__init__.py:30 +#: plinth/modules/help/__init__.py:32 msgid "Documentation" msgstr "" -#: plinth/modules/help/__init__.py:33 plinth/modules/networks/forms.py:47 +#: plinth/modules/help/__init__.py:35 plinth/modules/networks/forms.py:47 #: plinth/modules/networks/forms.py:77 plinth/templates/help-menu.html:20 #: plinth/templates/help-menu.html:21 plinth/templates/index.html:128 msgid "Manual" msgstr "" -#: plinth/modules/help/__init__.py:37 +#: plinth/modules/help/__init__.py:39 #: plinth/modules/help/templates/help_support.html:9 #: plinth/modules/help/views.py:43 plinth/templates/help-menu.html:27 #: plinth/templates/help-menu.html:28 msgid "Get Support" msgstr "" -#: plinth/modules/help/__init__.py:41 +#: plinth/modules/help/__init__.py:43 #: plinth/modules/help/templates/help_feedback.html:9 #: plinth/modules/help/views.py:37 plinth/templates/help-menu.html:33 #: plinth/templates/help-menu.html:34 msgid "Submit Feedback" msgstr "" -#: plinth/modules/help/__init__.py:45 +#: plinth/modules/help/__init__.py:47 #: plinth/modules/help/templates/help_contribute.html:9 #: plinth/modules/help/views.py:31 plinth/templates/help-menu.html:39 #: plinth/templates/help-menu.html:40 @@ -1861,7 +1841,7 @@ msgstr "" #: plinth/modules/help/templates/help_contribute.html:42 #: plinth/modules/power/templates/power_restart.html:27 #: plinth/modules/power/templates/power_shutdown.html:26 -#: plinth/templates/app-header.html:51 +#: plinth/templates/app-header.html:53 msgid "Learn more..." msgstr "" @@ -2005,21 +1985,21 @@ msgid "" "configuration process." msgstr "" -#: plinth/modules/i2p/__init__.py:38 +#: plinth/modules/i2p/__init__.py:62 #, fuzzy #| msgid "Enable application" msgid "Manage I2P application" msgstr "Влючити застосунок" -#: plinth/modules/i2p/__init__.py:64 plinth/modules/i2p/manifest.py:16 +#: plinth/modules/i2p/__init__.py:65 plinth/modules/i2p/manifest.py:16 msgid "I2P" msgstr "" -#: plinth/modules/i2p/__init__.py:65 plinth/modules/tor/__init__.py:56 +#: plinth/modules/i2p/__init__.py:66 plinth/modules/tor/__init__.py:55 msgid "Anonymity Network" msgstr "" -#: plinth/modules/i2p/__init__.py:87 +#: plinth/modules/i2p/__init__.py:88 msgid "I2P Proxy" msgstr "" @@ -2072,18 +2052,18 @@ msgid "" "Configuration you can change these permissions or add new users." msgstr "" -#: plinth/modules/ikiwiki/__init__.py:39 -msgid "View and edit wiki applications" -msgstr "" - -#: plinth/modules/ikiwiki/__init__.py:53 plinth/modules/ikiwiki/manifest.py:9 +#: plinth/modules/ikiwiki/__init__.py:52 plinth/modules/ikiwiki/manifest.py:9 msgid "ikiwiki" msgstr "" -#: plinth/modules/ikiwiki/__init__.py:54 +#: plinth/modules/ikiwiki/__init__.py:53 msgid "Wiki and Blog" msgstr "" +#: plinth/modules/ikiwiki/__init__.py:73 +msgid "View and edit wiki applications" +msgstr "" + #: plinth/modules/ikiwiki/forms.py:17 msgid "Admin Account Name" msgstr "" @@ -2127,33 +2107,33 @@ msgid "" "history. Delete this wiki or blog permanently?" msgstr "" -#: plinth/modules/ikiwiki/views.py:72 +#: plinth/modules/ikiwiki/views.py:70 #, python-brace-format msgid "Created wiki {name}." msgstr "" -#: plinth/modules/ikiwiki/views.py:75 +#: plinth/modules/ikiwiki/views.py:73 #, python-brace-format msgid "Could not create wiki: {error}" msgstr "" -#: plinth/modules/ikiwiki/views.py:85 +#: plinth/modules/ikiwiki/views.py:83 #, python-brace-format msgid "Created blog {name}." msgstr "" -#: plinth/modules/ikiwiki/views.py:88 +#: plinth/modules/ikiwiki/views.py:86 #, python-brace-format msgid "Could not create blog: {error}" msgstr "" -#: plinth/modules/ikiwiki/views.py:103 +#: plinth/modules/ikiwiki/views.py:101 #, fuzzy, python-brace-format #| msgid "Archive deleted." msgid "{title} deleted." msgstr "Архів видалено." -#: plinth/modules/ikiwiki/views.py:107 +#: plinth/modules/ikiwiki/views.py:105 #, python-brace-format msgid "Could not delete {title}: {error}" msgstr "" @@ -2193,17 +2173,17 @@ msgid "" "domain name." msgstr "" -#: plinth/modules/jsxc/__init__.py:22 +#: plinth/modules/jsxc/__init__.py:23 msgid "" "JSXC is a web client for XMPP. Typically it is used with an XMPP server " "running locally." msgstr "" -#: plinth/modules/jsxc/__init__.py:40 plinth/modules/jsxc/manifest.py:10 +#: plinth/modules/jsxc/__init__.py:43 plinth/modules/jsxc/manifest.py:10 msgid "JSXC" msgstr "" -#: plinth/modules/jsxc/__init__.py:41 +#: plinth/modules/jsxc/__init__.py:44 msgid "Chat Client" msgstr "" @@ -2366,11 +2346,11 @@ msgstr "" msgid "Matrix Synapse" msgstr "" -#: plinth/modules/matrixsynapse/forms.py:14 +#: plinth/modules/matrixsynapse/forms.py:12 msgid "Enable Public Registration" msgstr "" -#: plinth/modules/matrixsynapse/forms.py:15 +#: plinth/modules/matrixsynapse/forms.py:13 msgid "" "Enabling public registration means that anyone on the Internet can register " "a new account on your Matrix server. Disable this if you only want existing " @@ -2381,6 +2361,12 @@ msgstr "" msgid "Riot" msgstr "" +#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 +#: plinth/modules/snapshot/templates/snapshot.html:12 +#: plinth/templates/app.html:46 +msgid "Configuration" +msgstr "" + #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:18 msgid "" "Matrix service needs to be configured for a domain. Users on other Matrix " @@ -2425,11 +2411,11 @@ msgid "" "go to Let's Encrypt to obtain one." msgstr "" -#: plinth/modules/matrixsynapse/views.py:98 +#: plinth/modules/matrixsynapse/views.py:86 msgid "Public registration enabled" msgstr "" -#: plinth/modules/matrixsynapse/views.py:103 +#: plinth/modules/matrixsynapse/views.py:91 msgid "Public registration disabled" msgstr "" @@ -2465,71 +2451,71 @@ msgstr "" msgid "Wiki" msgstr "" -#: plinth/modules/mediawiki/forms.py:27 +#: plinth/modules/mediawiki/forms.py:25 msgid "Administrator Password" msgstr "" -#: plinth/modules/mediawiki/forms.py:28 +#: plinth/modules/mediawiki/forms.py:26 msgid "" "Set a new password for MediaWiki's administrator account (admin). Leave this " "field blank to keep the current password." msgstr "" -#: plinth/modules/mediawiki/forms.py:33 +#: plinth/modules/mediawiki/forms.py:31 msgid "Enable public registrations" msgstr "" -#: plinth/modules/mediawiki/forms.py:34 +#: plinth/modules/mediawiki/forms.py:32 msgid "" "If enabled, anyone on the internet will be able to create an account on your " "MediaWiki instance." msgstr "" -#: plinth/modules/mediawiki/forms.py:38 +#: plinth/modules/mediawiki/forms.py:36 msgid "Enable private mode" msgstr "" -#: plinth/modules/mediawiki/forms.py:39 +#: plinth/modules/mediawiki/forms.py:37 msgid "" "If enabled, access will be restricted. Only people who have accounts can " "read/write to the wiki. Public registrations will also be disabled." msgstr "" -#: plinth/modules/mediawiki/forms.py:44 +#: plinth/modules/mediawiki/forms.py:42 msgid "Default Skin" msgstr "" -#: plinth/modules/mediawiki/forms.py:45 +#: plinth/modules/mediawiki/forms.py:43 msgid "" "Choose a default skin for your MediaWiki installation. Users have the option " "to select their preferred skin." msgstr "" -#: plinth/modules/mediawiki/views.py:53 +#: plinth/modules/mediawiki/views.py:48 msgid "Password updated" msgstr "" -#: plinth/modules/mediawiki/views.py:72 +#: plinth/modules/mediawiki/views.py:57 msgid "Public registrations enabled" msgstr "" -#: plinth/modules/mediawiki/views.py:81 +#: plinth/modules/mediawiki/views.py:66 msgid "Public registrations disabled" msgstr "" -#: plinth/modules/mediawiki/views.py:86 +#: plinth/modules/mediawiki/views.py:71 msgid "Private mode enabled" msgstr "" -#: plinth/modules/mediawiki/views.py:93 +#: plinth/modules/mediawiki/views.py:78 msgid "Private mode disabled" msgstr "" -#: plinth/modules/mediawiki/views.py:101 +#: plinth/modules/mediawiki/views.py:86 msgid "Default skin changed" msgstr "" -#: plinth/modules/minetest/__init__.py:37 +#: plinth/modules/minetest/__init__.py:38 #, python-brace-format msgid "" "Minetest is a multiplayer infinite-world block sandbox. This module enables " @@ -2538,48 +2524,48 @@ msgid "" "downloads/\">Minetest client is needed." msgstr "" -#: plinth/modules/minetest/__init__.py:63 +#: plinth/modules/minetest/__init__.py:62 #: plinth/modules/minetest/manifest.py:10 msgid "Minetest" msgstr "" -#: plinth/modules/minetest/__init__.py:64 +#: plinth/modules/minetest/__init__.py:63 msgid "Block Sandbox" msgstr "" -#: plinth/modules/minetest/forms.py:15 +#: plinth/modules/minetest/forms.py:13 msgid "Maximum number of players" msgstr "" -#: plinth/modules/minetest/forms.py:17 +#: plinth/modules/minetest/forms.py:15 msgid "" "You can change the maximum number of players playing minetest at a single " "instance of time." msgstr "" -#: plinth/modules/minetest/forms.py:21 +#: plinth/modules/minetest/forms.py:19 msgid "Enable creative mode" msgstr "" -#: plinth/modules/minetest/forms.py:22 +#: plinth/modules/minetest/forms.py:20 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:27 +#: plinth/modules/minetest/forms.py:25 msgid "Enable PVP" msgstr "" -#: plinth/modules/minetest/forms.py:28 +#: plinth/modules/minetest/forms.py:26 msgid "Enabling Player Vs Player will allow players to damage other players." msgstr "" -#: plinth/modules/minetest/forms.py:32 +#: plinth/modules/minetest/forms.py:30 msgid "Enable damage" msgstr "" -#: plinth/modules/minetest/forms.py:33 +#: plinth/modules/minetest/forms.py:31 msgid "When disabled, players cannot die or receive damage of any kind." msgstr "" @@ -2620,19 +2606,19 @@ msgid "" "Kodi." msgstr "" -#: plinth/modules/minidlna/__init__.py:33 +#: plinth/modules/minidlna/__init__.py:44 msgid "Media streaming server" msgstr "" -#: plinth/modules/minidlna/__init__.py:47 +#: plinth/modules/minidlna/__init__.py:48 msgid "Simple Media Server" msgstr "" -#: plinth/modules/minidlna/forms.py:15 +#: plinth/modules/minidlna/forms.py:13 msgid "Media Files Directory" msgstr "" -#: plinth/modules/minidlna/forms.py:16 +#: plinth/modules/minidlna/forms.py:14 msgid "" "Directory that MiniDLNA Server will read for content. All sub-directories of " "this will be also scanned for media files. If you change the default ensure " @@ -2684,16 +2670,16 @@ msgid "" "On {box_name}, downloaded files can be found in /var/lib/mldonkey/ directory." msgstr "" -#: plinth/modules/mldonkey/__init__.py:40 +#: plinth/modules/mldonkey/__init__.py:50 msgid "Download files using eDonkey applications" msgstr "" -#: plinth/modules/mldonkey/__init__.py:54 +#: plinth/modules/mldonkey/__init__.py:53 #: plinth/modules/mldonkey/manifest.py:12 msgid "MLDonkey" msgstr "" -#: plinth/modules/mldonkey/__init__.py:56 +#: plinth/modules/mldonkey/__init__.py:55 msgid "Peer-to-peer File Sharing" msgstr "" @@ -2705,7 +2691,7 @@ msgstr "" msgid "AMLDonkey" msgstr "" -#: plinth/modules/monkeysphere/__init__.py:18 +#: plinth/modules/monkeysphere/__init__.py:19 msgid "" "With Monkeysphere, an OpenPGP key can be generated for each configured " "domain serving SSH. The OpenPGP public key can then be uploaded to the " @@ -2717,7 +2703,7 @@ msgid "" "for more details." msgstr "" -#: plinth/modules/monkeysphere/__init__.py:26 +#: plinth/modules/monkeysphere/__init__.py:27 msgid "" "Monkeysphere can also generate an OpenPGP key for each Secure Web Server " "(HTTPS) certificate installed on this machine. The OpenPGP public key can " @@ -2728,7 +2714,7 @@ msgid "" "Monkeysphere website." msgstr "" -#: plinth/modules/monkeysphere/__init__.py:50 +#: plinth/modules/monkeysphere/__init__.py:49 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:11 msgid "Monkeysphere" msgstr "" @@ -2777,15 +2763,15 @@ msgstr "" msgid "-" msgstr "" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:128 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:129 msgid "Import Key" msgstr "" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:137 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:139 msgid "Publish Key" msgstr "" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:146 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:149 msgid "Add Domains" msgstr "" @@ -2855,34 +2841,34 @@ msgstr "" msgid "Error occurred while publishing key." msgstr "" -#: plinth/modules/mumble/__init__.py:23 +#: plinth/modules/mumble/__init__.py:24 msgid "" "Mumble is an open source, low-latency, encrypted, high quality voice chat " "software." msgstr "" -#: plinth/modules/mumble/__init__.py:25 +#: plinth/modules/mumble/__init__.py:26 msgid "" "You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your " "desktop and Android devices are available." msgstr "" -#: plinth/modules/mumble/__init__.py:49 plinth/modules/mumble/manifest.py:12 +#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:12 msgid "Mumble" msgstr "" -#: plinth/modules/mumble/__init__.py:50 +#: plinth/modules/mumble/__init__.py:49 msgid "Voice Chat" msgstr "" -#: plinth/modules/mumble/forms.py:16 +#: plinth/modules/mumble/forms.py:14 #, fuzzy #| msgid "SSH server password" msgid "Set SuperUser Password" msgstr "пароль SSH серверу" -#: plinth/modules/mumble/forms.py:19 +#: plinth/modules/mumble/forms.py:17 msgid "" "Optional. Leave this field blank to keep the current password. SuperUser " "password can be used to manage permissions in Mumble." @@ -3165,7 +3151,7 @@ msgstr "" #: plinth/modules/networks/forms.py:297 #, python-brace-format -msgid "Choose how your {box_name} is connected to your network" +msgid "Specify how your {box_name} is connected to your network" msgstr "" #: plinth/modules/networks/forms.py:304 @@ -3386,7 +3372,7 @@ msgstr "" #: plinth/modules/networks/templates/connection_show.html:171 #: plinth/modules/networks/templates/connection_show.html:212 -#: plinth/modules/shadowsocks/forms.py:49 +#: plinth/modules/shadowsocks/forms.py:48 msgid "Method" msgstr "" @@ -3402,7 +3388,7 @@ msgstr "" #: plinth/modules/networks/templates/connection_show.html:201 #: plinth/modules/networks/templates/connection_show.html:240 -#: plinth/modules/storage/forms.py:141 +#: plinth/modules/storage/forms.py:139 msgid "Default" msgstr "" @@ -3843,6 +3829,11 @@ msgstr "" msgid "Setup failed." msgstr "" +#: plinth/modules/openvpn/views.py:135 plinth/modules/tor/views.py:136 +#: plinth/views.py:196 +msgid "Setting unchanged" +msgstr "" + #: plinth/modules/pagekite/__init__.py:27 #, python-brace-format msgid "" @@ -3899,75 +3890,75 @@ msgstr "" msgid "PageKite Domain" msgstr "" -#: plinth/modules/pagekite/forms.py:48 +#: plinth/modules/pagekite/forms.py:47 msgid "Server domain" msgstr "" -#: plinth/modules/pagekite/forms.py:50 +#: plinth/modules/pagekite/forms.py:49 msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " "pagekite.net server." msgstr "" -#: plinth/modules/pagekite/forms.py:53 plinth/modules/shadowsocks/forms.py:40 +#: plinth/modules/pagekite/forms.py:52 plinth/modules/shadowsocks/forms.py:39 msgid "Server port" msgstr "" -#: plinth/modules/pagekite/forms.py:54 +#: plinth/modules/pagekite/forms.py:53 msgid "Port of your pagekite server (default: 80)" msgstr "" -#: plinth/modules/pagekite/forms.py:56 +#: plinth/modules/pagekite/forms.py:55 msgid "Kite name" msgstr "" -#: plinth/modules/pagekite/forms.py:57 +#: plinth/modules/pagekite/forms.py:56 msgid "Example: mybox.pagekite.me" msgstr "" -#: plinth/modules/pagekite/forms.py:59 +#: plinth/modules/pagekite/forms.py:58 msgid "Invalid kite name" msgstr "" -#: plinth/modules/pagekite/forms.py:63 +#: plinth/modules/pagekite/forms.py:62 msgid "Kite secret" msgstr "" -#: plinth/modules/pagekite/forms.py:64 +#: plinth/modules/pagekite/forms.py:63 msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." msgstr "" -#: plinth/modules/pagekite/forms.py:101 +#: plinth/modules/pagekite/forms.py:100 msgid "protocol" msgstr "" -#: plinth/modules/pagekite/forms.py:104 +#: plinth/modules/pagekite/forms.py:103 msgid "external (frontend) port" msgstr "" -#: plinth/modules/pagekite/forms.py:107 +#: plinth/modules/pagekite/forms.py:106 msgid "internal (freedombox) port" msgstr "" -#: plinth/modules/pagekite/forms.py:108 +#: plinth/modules/pagekite/forms.py:107 msgid "Enable Subdomains" msgstr "" -#: plinth/modules/pagekite/forms.py:142 +#: plinth/modules/pagekite/forms.py:141 msgid "Deleted custom service" msgstr "" -#: plinth/modules/pagekite/forms.py:175 +#: plinth/modules/pagekite/forms.py:174 msgid "This service is already available as a standard service." msgstr "" -#: plinth/modules/pagekite/forms.py:183 +#: plinth/modules/pagekite/forms.py:182 msgid "Added custom service" msgstr "" -#: plinth/modules/pagekite/forms.py:186 +#: plinth/modules/pagekite/forms.py:185 msgid "This service already exists" msgstr "" @@ -4085,14 +4076,14 @@ msgstr "" msgid "Shut Down Now" msgstr "" -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 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:33 +#: plinth/modules/privoxy/__init__.py:34 #, python-brace-format msgid "" "You can use Privoxy by modifying your browser proxy settings to your " @@ -4102,20 +4093,20 @@ msgid "" "\">http://p.p." msgstr "" -#: plinth/modules/privoxy/__init__.py:56 +#: plinth/modules/privoxy/__init__.py:55 msgid "Privoxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:57 +#: plinth/modules/privoxy/__init__.py:56 msgid "Web Proxy" msgstr "" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:119 #, python-brace-format msgid "Access {url} with proxy {proxy} on tcp{kind}" msgstr "" -#: plinth/modules/quassel/__init__.py:32 +#: plinth/modules/quassel/__init__.py:33 #, python-brace-format msgid "" "Quassel is an IRC application that is split into two parts, a \"core\" and a " @@ -4126,7 +4117,7 @@ msgid "" "connect and disconnect from it." msgstr "" -#: plinth/modules/quassel/__init__.py:39 +#: plinth/modules/quassel/__init__.py:40 msgid "" "You can connect to your Quassel core on the default Quassel port 4242. " "Clients to connect to Quassel from your mobile devices are available." msgstr "" -#: plinth/modules/quassel/__init__.py:62 plinth/modules/quassel/manifest.py:10 +#: plinth/modules/quassel/__init__.py:61 plinth/modules/quassel/manifest.py:10 msgid "Quassel" msgstr "" -#: plinth/modules/quassel/__init__.py:63 +#: plinth/modules/quassel/__init__.py:62 msgid "IRC Client" msgstr "" -#: plinth/modules/quassel/forms.py:23 +#: plinth/modules/quassel/forms.py:22 msgid "TLS domain" msgstr "" -#: plinth/modules/quassel/forms.py:25 +#: plinth/modules/quassel/forms.py:24 msgid "" "Select a domain to use TLS with. If the list is empty, please configure at " "least one domain with certificates." @@ -4156,7 +4147,7 @@ msgstr "" msgid "Quasseldroid" msgstr "" -#: plinth/modules/radicale/__init__.py:32 +#: plinth/modules/radicale/__init__.py:33 #, python-brace-format msgid "" "Radicale is a CalDAV and CardDAV server. It allows synchronization and " @@ -4165,34 +4156,34 @@ msgid "" "can be accessed by any user with a {box_name} login." msgstr "" -#: plinth/modules/radicale/__init__.py:37 +#: plinth/modules/radicale/__init__.py:38 msgid "" "Radicale provides a basic web interface, which only supports creating new " "calendars and addressbooks. It does not support adding events or contacts, " "which must be done using a separate client." msgstr "" -#: plinth/modules/radicale/__init__.py:62 +#: plinth/modules/radicale/__init__.py:61 #: plinth/modules/radicale/manifest.py:75 msgid "Radicale" msgstr "" -#: plinth/modules/radicale/__init__.py:63 +#: plinth/modules/radicale/__init__.py:62 msgid "Calendar and Addressbook" msgstr "" -#: plinth/modules/radicale/forms.py:15 +#: plinth/modules/radicale/forms.py:14 msgid "Only the owner of a calendar/addressbook can view or make changes." msgstr "" -#: plinth/modules/radicale/forms.py:19 +#: plinth/modules/radicale/forms.py:18 #, python-brace-format msgid "" "Any user with a {box_name} login can view any calendar/addressbook, but only " "the owner can make changes." msgstr "" -#: plinth/modules/radicale/forms.py:24 +#: plinth/modules/radicale/forms.py:23 #, python-brace-format msgid "" "Any user with a {box_name} login can view or make changes to any calendar/" @@ -4308,11 +4299,11 @@ msgid "" "private space." msgstr "" -#: plinth/modules/samba/__init__.py:47 +#: plinth/modules/samba/__init__.py:59 msgid "Access to the private shares" msgstr "" -#: plinth/modules/samba/__init__.py:61 +#: plinth/modules/samba/__init__.py:62 msgid "Samba" msgstr "" @@ -4380,11 +4371,11 @@ msgstr "" msgid "Action" msgstr "Шифрування" -#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:149 +#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:147 msgid "Open Share" msgstr "" -#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:147 +#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:145 msgid "Group Share" msgstr "" @@ -4424,43 +4415,43 @@ msgid "" "stores no cookies by default." msgstr "" -#: plinth/modules/searx/__init__.py:31 +#: plinth/modules/searx/__init__.py:45 msgid "Search the web" msgstr "" -#: plinth/modules/searx/__init__.py:47 plinth/modules/searx/manifest.py:9 +#: plinth/modules/searx/__init__.py:48 plinth/modules/searx/manifest.py:9 msgid "Searx" msgstr "" -#: plinth/modules/searx/__init__.py:48 +#: plinth/modules/searx/__init__.py:49 msgid "Web Search" msgstr "" -#: plinth/modules/searx/forms.py:15 +#: plinth/modules/searx/forms.py:13 msgid "Safe Search" msgstr "" -#: plinth/modules/searx/forms.py:16 +#: plinth/modules/searx/forms.py:14 msgid "Select the default family filter to apply to your search results." msgstr "" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "None" msgstr "" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "Moderate" msgstr "" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "Strict" msgstr "" -#: plinth/modules/searx/forms.py:20 +#: plinth/modules/searx/forms.py:18 msgid "Allow Public Access" msgstr "" -#: plinth/modules/searx/forms.py:21 +#: plinth/modules/searx/forms.py:19 msgid "Allow this application to be used by anyone who can reach it." msgstr "" @@ -4625,28 +4616,28 @@ msgstr "" msgid "Socks5 Proxy" msgstr "" +#: plinth/modules/shadowsocks/forms.py:12 #: plinth/modules/shadowsocks/forms.py:13 -#: plinth/modules/shadowsocks/forms.py:14 msgid "Recommended" msgstr "" -#: plinth/modules/shadowsocks/forms.py:37 +#: plinth/modules/shadowsocks/forms.py:36 msgid "Server" msgstr "" -#: plinth/modules/shadowsocks/forms.py:38 +#: plinth/modules/shadowsocks/forms.py:37 msgid "Server hostname or IP address" msgstr "" -#: plinth/modules/shadowsocks/forms.py:42 +#: plinth/modules/shadowsocks/forms.py:41 msgid "Server port number" msgstr "" -#: plinth/modules/shadowsocks/forms.py:45 +#: plinth/modules/shadowsocks/forms.py:44 msgid "Password used to encrypt data. Must match server password." msgstr "" -#: plinth/modules/shadowsocks/forms.py:50 +#: plinth/modules/shadowsocks/forms.py:49 msgid "Encryption method. Must match setting on server." msgstr "" @@ -4687,11 +4678,11 @@ msgstr "" msgid "Make files in this folder available to anyone with the link." msgstr "" -#: plinth/modules/sharing/forms.py:33 +#: plinth/modules/sharing/forms.py:34 msgid "User groups that can read the files in the share" msgstr "" -#: plinth/modules/sharing/forms.py:35 +#: plinth/modules/sharing/forms.py:36 msgid "" "Users of the selected user groups will be able to read the files in the " "share." @@ -4962,11 +4953,11 @@ msgstr "" msgid "Secure Shell (SSH) Server" msgstr "" -#: plinth/modules/ssh/forms.py:15 +#: plinth/modules/ssh/forms.py:13 msgid "Disable password authentication" msgstr "" -#: plinth/modules/ssh/forms.py:16 +#: plinth/modules/ssh/forms.py:14 msgid "" "Improves security by preventing password guessing. Ensure that you have " "setup SSH keys in your administrator user account before enabling this " @@ -5015,131 +5006,131 @@ msgid "" "media, expand the root partition etc." msgstr "" -#: plinth/modules/storage/__init__.py:52 plinth/modules/storage/__init__.py:318 +#: plinth/modules/storage/__init__.py:54 plinth/modules/storage/__init__.py:320 msgid "Storage" 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 "" -#: plinth/modules/storage/__init__.py:313 +#: plinth/modules/storage/__init__.py:315 #, no-python-format, python-brace-format msgid "Low space on system partition: {percent_used}% used, {free_space} free." msgstr "" -#: plinth/modules/storage/__init__.py:315 +#: plinth/modules/storage/__init__.py:317 msgid "Low disk space" msgstr "" -#: plinth/modules/storage/forms.py:64 +#: plinth/modules/storage/forms.py:63 #, fuzzy #| msgid "Repository not found" msgid "Invalid directory name." msgstr "Сховище не знайдено" -#: plinth/modules/storage/forms.py:82 +#: plinth/modules/storage/forms.py:80 msgid "Directory does not exist." msgstr "" -#: plinth/modules/storage/forms.py:84 +#: plinth/modules/storage/forms.py:83 msgid "Path is not a directory." msgstr "" -#: plinth/modules/storage/forms.py:87 +#: plinth/modules/storage/forms.py:86 msgid "Directory is not readable by the user." msgstr "" -#: plinth/modules/storage/forms.py:90 +#: plinth/modules/storage/forms.py:89 msgid "Directory is not writable by the user." msgstr "" -#: plinth/modules/storage/forms.py:95 +#: plinth/modules/storage/forms.py:94 msgid "Directory" msgstr "" -#: plinth/modules/storage/forms.py:98 +#: plinth/modules/storage/forms.py:96 msgid "Subdirectory (optional)" msgstr "" -#: plinth/modules/storage/forms.py:145 +#: plinth/modules/storage/forms.py:143 msgid "Share" msgstr "" -#: plinth/modules/storage/forms.py:153 +#: plinth/modules/storage/forms.py:151 msgid "Other directory (specify below)" msgstr "" @@ -5220,19 +5211,20 @@ msgid "" "synchronize more often. {box_name} runs a single instance of Syncthing that " "may be used by multiple users. Each user's set of devices may be " "synchronized with a distinct set of folders. The web interface on " -"{box_name} is only available for users belonging to the \"admin\" group." +"{box_name} is only available for users belonging to the \"admin\" or " +"\"syncthing\" group." msgstr "" -#: plinth/modules/syncthing/__init__.py:40 +#: plinth/modules/syncthing/__init__.py:53 msgid "Administer Syncthing application" msgstr "" -#: plinth/modules/syncthing/__init__.py:54 +#: plinth/modules/syncthing/__init__.py:56 #: plinth/modules/syncthing/manifest.py:13 msgid "Syncthing" msgstr "" -#: plinth/modules/syncthing/__init__.py:55 +#: plinth/modules/syncthing/__init__.py:57 msgid "File Synchronization" msgstr "" @@ -5269,33 +5261,33 @@ msgid "" "%(domain_name)s:5678\">https://%(domain_name)s:5678." msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:39 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:29 msgid "Local introducer" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:59 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:76 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:33 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:49 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:66 msgid "Pet Name" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:56 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:46 msgid "Add new introducer" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:67 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:57 msgid "Add" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:72 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:62 msgid "Connected introducers" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:89 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:79 msgid "Remove" msgstr "" -#: plinth/modules/tor/__init__.py:33 +#: plinth/modules/tor/__init__.py:34 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -5304,40 +5296,40 @@ msgid "" "\">Tor Browser." msgstr "" -#: plinth/modules/tor/__init__.py:55 +#: plinth/modules/tor/__init__.py:54 msgid "Tor" msgstr "" -#: plinth/modules/tor/__init__.py:66 +#: plinth/modules/tor/__init__.py:65 msgid "Tor Onion Service" msgstr "" -#: plinth/modules/tor/__init__.py:70 +#: plinth/modules/tor/__init__.py:69 msgid "Tor Socks Proxy" msgstr "" -#: plinth/modules/tor/__init__.py:74 +#: plinth/modules/tor/__init__.py:73 msgid "Tor Bridge Relay" msgstr "" -#: plinth/modules/tor/__init__.py:95 +#: plinth/modules/tor/__init__.py:98 msgid "Tor relay port available" msgstr "" -#: plinth/modules/tor/__init__.py:105 +#: plinth/modules/tor/__init__.py:108 msgid "Obfs3 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:115 +#: plinth/modules/tor/__init__.py:118 msgid "Obfs4 transport registered" msgstr "" -#: plinth/modules/tor/__init__.py:208 +#: plinth/modules/tor/__init__.py:211 #, python-brace-format msgid "Access URL {url} on tcp{kind} via Tor" msgstr "" -#: plinth/modules/tor/__init__.py:219 +#: plinth/modules/tor/__init__.py:222 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "" @@ -5463,13 +5455,13 @@ msgstr "" msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050." msgstr "" -#: plinth/modules/transmission/__init__.py:27 +#: plinth/modules/transmission/__init__.py:28 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:48 +#: plinth/modules/transmission/__init__.py:51 #: plinth/modules/transmission/manifest.py:9 msgid "Transmission" msgstr "" @@ -5495,15 +5487,15 @@ msgid "" "connecting." msgstr "" -#: plinth/modules/ttrss/__init__.py:42 +#: plinth/modules/ttrss/__init__.py:54 msgid "Read and subscribe to news feeds" msgstr "" -#: plinth/modules/ttrss/__init__.py:56 plinth/modules/ttrss/manifest.py:19 +#: plinth/modules/ttrss/__init__.py:57 plinth/modules/ttrss/manifest.py:19 msgid "Tiny Tiny RSS" msgstr "" -#: plinth/modules/ttrss/__init__.py:57 +#: plinth/modules/ttrss/__init__.py:58 msgid "News Feed Reader" msgstr "" @@ -5515,11 +5507,11 @@ msgstr "" msgid "Check for and apply the latest software and security updates." msgstr "" -#: plinth/modules/upgrades/__init__.py:38 plinth/templates/setup.html:74 +#: plinth/modules/upgrades/__init__.py:40 plinth/templates/setup.html:74 msgid "Update" msgstr "" -#: plinth/modules/upgrades/__init__.py:76 +#: plinth/modules/upgrades/__init__.py:78 #, fuzzy #| msgid "FreedomBox" msgid "FreedomBox Updated" @@ -5571,43 +5563,39 @@ msgstr "" #: plinth/modules/upgrades/templates/upgrades_configure.html:11 #: plinth/modules/upgrades/templates/upgrades_configure.html:12 -#: plinth/modules/upgrades/views.py:88 +#: plinth/modules/upgrades/views.py:85 msgid "Manual update" msgstr "" -#: plinth/modules/upgrades/views.py:47 +#: plinth/modules/upgrades/views.py:46 #, python-brace-format msgid "Error when configuring unattended-upgrades: {error}" msgstr "" -#: plinth/modules/upgrades/views.py:51 +#: plinth/modules/upgrades/views.py:50 msgid "Automatic upgrades enabled" msgstr "" -#: plinth/modules/upgrades/views.py:54 +#: plinth/modules/upgrades/views.py:53 msgid "Automatic upgrades disabled" msgstr "" -#: plinth/modules/upgrades/views.py:56 -msgid "Settings unchanged" -msgstr "" - -#: plinth/modules/upgrades/views.py:82 +#: plinth/modules/upgrades/views.py:79 msgid "Upgrade process started." msgstr "" -#: plinth/modules/upgrades/views.py:85 +#: plinth/modules/upgrades/views.py:82 msgid "Starting upgrade failed." msgstr "" -#: plinth/modules/users/__init__.py:37 +#: plinth/modules/users/__init__.py:39 msgid "" "Create and managed user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " "account to be part of a group to authorize the user to access the app." msgstr "" -#: plinth/modules/users/__init__.py:42 +#: plinth/modules/users/__init__.py:44 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -5615,104 +5603,103 @@ msgid "" "group may alter apps or system settings." msgstr "" -#: plinth/modules/users/__init__.py:64 +#: plinth/modules/users/__init__.py:65 msgid "Users and Groups" msgstr "" -#: plinth/modules/users/__init__.py:115 +#: plinth/modules/users/__init__.py:78 +msgid "Access to all services and system settings" +msgstr "" + +#: plinth/modules/users/__init__.py:122 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "" -#: plinth/modules/users/forms.py:28 -msgid "Access to all services and system settings" -msgstr "" - -#: plinth/modules/users/forms.py:44 +#: plinth/modules/users/forms.py:36 msgid "Username is taken or is reserved." msgstr "" -#: plinth/modules/users/forms.py:72 +#: plinth/modules/users/forms.py:63 #, fuzzy #| msgid "Repository not found" msgid "Enter a valid username." msgstr "Сховище не знайдено" -#: plinth/modules/users/forms.py:78 +#: plinth/modules/users/forms.py:69 msgid "" "Required. 150 characters or fewer. English letters, digits and @/./-/_ only." msgstr "" -#: plinth/modules/users/forms.py:91 plinth/modules/users/forms.py:207 +#: plinth/modules/users/forms.py:83 plinth/modules/users/forms.py:196 msgid "Permissions" msgstr "" -#: plinth/modules/users/forms.py:94 +#: plinth/modules/users/forms.py:85 msgid "" -"Select which services should be available to the new user. The user will be " -"able to log in to services that support single sign-on through LDAP, if they " -"are in the appropriate group.

Users in the admin group will be " -"able to log in to all services. They can also log in to the system through " -"SSH and have administrative privileges (sudo)." +"user. The user will be able to log in to services that support single sign-" +"on through LDAP, if they are in the appropriate group.

Users in " +"the admin group will be able to log in to all services. They can also log in " +"to the system through SSH and have administrative privileges (sudo)." msgstr "" -#: plinth/modules/users/forms.py:133 plinth/modules/users/forms.py:357 +#: plinth/modules/users/forms.py:122 plinth/modules/users/forms.py:345 msgid "Creating LDAP user failed." msgstr "" -#: plinth/modules/users/forms.py:144 +#: plinth/modules/users/forms.py:133 #, python-brace-format msgid "Failed to add new user to {group} group." msgstr "" -#: plinth/modules/users/forms.py:158 +#: plinth/modules/users/forms.py:147 msgid "Authorized SSH Keys" msgstr "" -#: plinth/modules/users/forms.py:160 +#: plinth/modules/users/forms.py:149 msgid "" "Setting an SSH public key will allow this user to securely log in to the " "system without using a password. You may enter multiple keys, one on each " "line. Blank lines and lines starting with # will be ignored." msgstr "" -#: plinth/modules/users/forms.py:244 +#: plinth/modules/users/forms.py:233 msgid "Renaming LDAP user failed." msgstr "" -#: plinth/modules/users/forms.py:256 +#: plinth/modules/users/forms.py:245 msgid "Failed to remove user from group." msgstr "" -#: plinth/modules/users/forms.py:267 +#: plinth/modules/users/forms.py:256 msgid "Failed to add user to group." msgstr "" -#: plinth/modules/users/forms.py:276 +#: plinth/modules/users/forms.py:265 msgid "Unable to set SSH keys." msgstr "" -#: plinth/modules/users/forms.py:291 +#: plinth/modules/users/forms.py:280 msgid "Failed to change user status." msgstr "" -#: plinth/modules/users/forms.py:299 +#: plinth/modules/users/forms.py:288 msgid "Cannot delete the only administrator in the system." msgstr "" -#: plinth/modules/users/forms.py:331 +#: plinth/modules/users/forms.py:319 msgid "Changing LDAP user password failed." msgstr "" -#: plinth/modules/users/forms.py:366 +#: plinth/modules/users/forms.py:354 msgid "Failed to add new user to admin group." msgstr "" -#: plinth/modules/users/forms.py:383 +#: plinth/modules/users/forms.py:371 msgid "Failed to restrict console access." msgstr "" -#: plinth/modules/users/forms.py:395 +#: plinth/modules/users/forms.py:383 msgid "User account created, you are now logged in" msgstr "" @@ -6474,18 +6461,13 @@ msgstr "" msgid "%(percentage)s%% complete" msgstr "" -#: plinth/views.py:184 -msgid "Application enabled" -msgstr "" - -#: plinth/views.py:187 -msgid "Application disabled" -msgstr "" - #: plinth/web_framework.py:107 msgid "Gujarati" msgstr "" +#~ msgid "Enable application" +#~ msgstr "Влючити застосунок" + #, fuzzy #~| msgid "Connection refused" #~ msgid "Custom Section" diff --git a/plinth/locale/zh_Hans/LC_MESSAGES/django.po b/plinth/locale/zh_Hans/LC_MESSAGES/django.po index 5499e00ed..dceb7d373 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: 2020-03-23 18:54-0400\n" +"POT-Creation-Date: 2020-04-06 19:59-0400\n" "PO-Revision-Date: 2019-09-13 05:23+0000\n" "Last-Translator: Anxin YI <2732146152@qq.com>\n" "Language-Team: Chinese (Simplified) /deluge 路径访问网页" "服务器。默认密码是“deluge”,但是你需要在启用此服务以后立刻登录并修改它。" -#: plinth/modules/deluge/__init__.py:30 -#: plinth/modules/transmission/__init__.py:34 +#: plinth/modules/deluge/__init__.py:46 +#: plinth/modules/transmission/__init__.py:48 msgid "Download files using BitTorrent applications" msgstr "" -#: plinth/modules/deluge/__init__.py:46 plinth/modules/deluge/manifest.py:9 +#: plinth/modules/deluge/__init__.py:50 plinth/modules/deluge/manifest.py:9 msgid "Deluge" msgstr "启用 Deluge" -#: plinth/modules/deluge/__init__.py:47 -#: plinth/modules/transmission/__init__.py:50 +#: plinth/modules/deluge/__init__.py:51 +#: plinth/modules/transmission/__init__.py:53 msgid "BitTorrent Web Client" msgstr "" "BitTorrent 网页客户端\n" "(Deluge)" -#: plinth/modules/deluge/forms.py:20 plinth/modules/transmission/forms.py:20 +#: plinth/modules/deluge/forms.py:20 plinth/modules/transmission/forms.py:21 msgid "Download directory" msgstr "下载目录" @@ -1117,7 +1114,7 @@ msgstr "" msgid "Federated Social Network" msgstr "" -#: plinth/modules/diaspora/forms.py:15 +#: plinth/modules/diaspora/forms.py:13 msgid "Enable new user registrations" msgstr "实现新用户注册" @@ -1143,36 +1140,27 @@ msgstr "" #: plinth/modules/diaspora/templates/diaspora-pre-setup.html:43 #: plinth/modules/dynamicdns/templates/dynamicdns_configure.html:25 -#: plinth/modules/ejabberd/templates/ejabberd.html:43 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:18 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:47 #: plinth/modules/snapshot/templates/snapshot.html:15 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:35 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:43 -#: plinth/templates/app.html:52 +#: plinth/templates/app.html:54 msgid "Update setup" msgstr "更新安装程序" -#: plinth/modules/diaspora/views.py:76 plinth/modules/ejabberd/views.py:46 -#: plinth/modules/matrixsynapse/views.py:85 -#: plinth/modules/mediawiki/views.py:58 plinth/modules/openvpn/views.py:135 -#: plinth/modules/tor/views.py:136 plinth/views.py:180 -msgid "Setting unchanged" -msgstr "设置未改变" - -#: plinth/modules/diaspora/views.py:80 +#: plinth/modules/diaspora/views.py:74 #, fuzzy #| msgid "Application enabled" msgid "User registrations enabled" msgstr "应用程序已启用" -#: plinth/modules/diaspora/views.py:84 +#: plinth/modules/diaspora/views.py:78 #, fuzzy #| msgid "Application disabled" msgid "User registrations disabled" msgstr "应用程序已禁用" -#: plinth/modules/dynamicdns/__init__.py:27 +#: plinth/modules/dynamicdns/__init__.py:28 #, python-brace-format msgid "" "If your Internet provider changes your IP address periodically (i.e. every " @@ -1182,7 +1170,7 @@ msgstr "" "如果您的互联网提供商定期(例如每24小时)更改您的IP地址,其他人可能很难在互联" "网上找到您。这会阻止其他人找到由此 {box_name} 提供的服务。" -#: plinth/modules/dynamicdns/__init__.py:31 +#: plinth/modules/dynamicdns/__init__.py:32 msgid "" "The solution is to assign a DNS name to your IP address and update the DNS " "name every time your IP is changed by your Internet provider. Dynamic DNS " @@ -1198,11 +1186,11 @@ msgstr "" "将您的 DNS 名称分配给新的 IP,如果互联网上的某人要求您的 DNS 名称,他们将收到" "一个带有您当前 IP 地址的响应。" -#: plinth/modules/dynamicdns/__init__.py:56 +#: plinth/modules/dynamicdns/__init__.py:55 msgid "Dynamic DNS Client" msgstr "动态 DNS 客户端" -#: plinth/modules/dynamicdns/__init__.py:66 +#: plinth/modules/dynamicdns/__init__.py:65 #, fuzzy #| msgid "Domain Name" msgid "Dynamic Domain Name" @@ -1302,7 +1290,7 @@ msgid "Username" msgstr "用户名" #: plinth/modules/dynamicdns/forms.py:104 plinth/modules/networks/forms.py:200 -#: plinth/modules/shadowsocks/forms.py:45 +#: plinth/modules/shadowsocks/forms.py:44 msgid "Password" msgstr "密码" @@ -1391,7 +1379,7 @@ msgstr "" msgid "Last update" msgstr "最后一次更新" -#: plinth/modules/dynamicdns/views.py:26 plinth/modules/help/__init__.py:49 +#: plinth/modules/dynamicdns/views.py:26 plinth/modules/help/__init__.py:51 #: plinth/templates/help-menu.html:46 plinth/templates/help-menu.html:47 msgid "About" msgstr "关于" @@ -1418,7 +1406,7 @@ msgstr "配置动态 DNS" msgid "Dynamic DNS Status" msgstr "动态 DNS 状态" -#: plinth/modules/ejabberd/__init__.py:36 +#: plinth/modules/ejabberd/__init__.py:37 msgid "" "XMPP is an open and standardized communication protocol. Here you can run " "and configure your XMPP server, called ejabberd." @@ -1426,7 +1414,7 @@ msgstr "" "XMPP 是一种开放标准的通信协议。在这里你可以运行并配置您的 XMPP 服务器,称为 " "ejabberd。" -#: plinth/modules/ejabberd/__init__.py:39 +#: plinth/modules/ejabberd/__init__.py:40 #, fuzzy, python-brace-format #| msgid "" #| "To actually communicate, you can use the web client or any other XMPP 客户端。" -#: plinth/modules/ejabberd/__init__.py:70 +#: plinth/modules/ejabberd/__init__.py:69 msgid "ejabberd" msgstr "" -#: plinth/modules/ejabberd/__init__.py:71 +#: plinth/modules/ejabberd/__init__.py:70 #: plinth/modules/matrixsynapse/__init__.py:68 #, fuzzy #| msgid "Web Server" msgid "Chat Server" msgstr "Web 服务器" -#: plinth/modules/ejabberd/forms.py:17 +#: plinth/modules/ejabberd/forms.py:16 msgid "Enable Message Archive Management" msgstr "" -#: plinth/modules/ejabberd/forms.py:19 +#: plinth/modules/ejabberd/forms.py:18 #, python-brace-format msgid "" "If enabled, your {box_name} will store chat message histories. This allows " @@ -1518,19 +1506,11 @@ msgstr "" "%(domainname)s
。你可以在系统的配置中设置你" "的域名。" -#: plinth/modules/ejabberd/templates/ejabberd.html:35 -#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 -#: plinth/modules/snapshot/templates/snapshot.html:12 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:27 -#: plinth/templates/app.html:45 -msgid "Configuration" -msgstr "配置" - -#: plinth/modules/ejabberd/views.py:58 +#: plinth/modules/ejabberd/views.py:45 msgid "Message Archive Management enabled" msgstr "" -#: plinth/modules/ejabberd/views.py:62 +#: plinth/modules/ejabberd/views.py:49 msgid "Message Archive Management disabled" msgstr "" @@ -1544,7 +1524,7 @@ msgstr "" "防火墙控制你的 {box_name} 上的进出网络流量。启用并正确配置防火墙上可以减少来" "自互联网的安全威胁。" -#: plinth/modules/firewall/__init__.py:63 +#: plinth/modules/firewall/__init__.py:65 msgid "Firewall" msgstr "防火墙" @@ -1680,7 +1660,7 @@ msgid "" "gittutorial\">Git tutorial." msgstr "" -#: plinth/modules/gitweb/__init__.py:39 +#: plinth/modules/gitweb/__init__.py:51 msgid "Read-write access to Git repositories" msgstr "" @@ -1849,31 +1829,31 @@ msgstr "{name} 已删除。" msgid "Could not delete {name}: {error}" msgstr "不能删除 {name}:{error}" -#: plinth/modules/help/__init__.py:30 +#: plinth/modules/help/__init__.py:32 msgid "Documentation" msgstr "文档" -#: plinth/modules/help/__init__.py:33 plinth/modules/networks/forms.py:47 +#: plinth/modules/help/__init__.py:35 plinth/modules/networks/forms.py:47 #: plinth/modules/networks/forms.py:77 plinth/templates/help-menu.html:20 #: plinth/templates/help-menu.html:21 plinth/templates/index.html:128 msgid "Manual" msgstr "手册" -#: plinth/modules/help/__init__.py:37 +#: plinth/modules/help/__init__.py:39 #: plinth/modules/help/templates/help_support.html:9 #: plinth/modules/help/views.py:43 plinth/templates/help-menu.html:27 #: plinth/templates/help-menu.html:28 msgid "Get Support" msgstr "" -#: plinth/modules/help/__init__.py:41 +#: plinth/modules/help/__init__.py:43 #: plinth/modules/help/templates/help_feedback.html:9 #: plinth/modules/help/views.py:37 plinth/templates/help-menu.html:33 #: plinth/templates/help-menu.html:34 msgid "Submit Feedback" msgstr "" -#: plinth/modules/help/__init__.py:45 +#: plinth/modules/help/__init__.py:47 #: plinth/modules/help/templates/help_contribute.html:9 #: plinth/modules/help/views.py:31 plinth/templates/help-menu.html:39 #: plinth/templates/help-menu.html:40 @@ -2000,7 +1980,7 @@ msgstr "" #: plinth/modules/help/templates/help_contribute.html:42 #: plinth/modules/power/templates/power_restart.html:27 #: plinth/modules/power/templates/power_shutdown.html:26 -#: plinth/templates/app-header.html:51 +#: plinth/templates/app-header.html:53 msgid "Learn more..." msgstr "了解更多……" @@ -2171,23 +2151,23 @@ msgid "" "configuration process." msgstr "" -#: plinth/modules/i2p/__init__.py:38 +#: plinth/modules/i2p/__init__.py:62 #, fuzzy #| msgid "Enable application" msgid "Manage I2P application" msgstr "启用应用程序" -#: plinth/modules/i2p/__init__.py:64 plinth/modules/i2p/manifest.py:16 +#: plinth/modules/i2p/__init__.py:65 plinth/modules/i2p/manifest.py:16 msgid "I2P" msgstr "" -#: plinth/modules/i2p/__init__.py:65 plinth/modules/tor/__init__.py:56 +#: plinth/modules/i2p/__init__.py:66 plinth/modules/tor/__init__.py:55 #, fuzzy #| msgid "Tor Anonymity Network" msgid "Anonymity Network" msgstr "Tor 匿名网络" -#: plinth/modules/i2p/__init__.py:87 +#: plinth/modules/i2p/__init__.py:88 #, fuzzy #| msgid "Privoxy Web Proxy" msgid "I2P Proxy" @@ -2251,22 +2231,22 @@ msgid "" "Configuration you can change these permissions or add new users." msgstr "" -#: plinth/modules/ikiwiki/__init__.py:39 -#, fuzzy -#| msgid "Services and Applications" -msgid "View and edit wiki applications" -msgstr "服务和应用程序" - -#: plinth/modules/ikiwiki/__init__.py:53 plinth/modules/ikiwiki/manifest.py:9 +#: plinth/modules/ikiwiki/__init__.py:52 plinth/modules/ikiwiki/manifest.py:9 #, fuzzy #| msgid "wiki" msgid "ikiwiki" msgstr "维基" -#: plinth/modules/ikiwiki/__init__.py:54 +#: plinth/modules/ikiwiki/__init__.py:53 msgid "Wiki and Blog" msgstr "Wiki 和博客" +#: plinth/modules/ikiwiki/__init__.py:73 +#, fuzzy +#| msgid "Services and Applications" +msgid "View and edit wiki applications" +msgstr "服务和应用程序" + #: plinth/modules/ikiwiki/forms.py:17 msgid "Admin Account Name" msgstr "管理员帐户名称" @@ -2311,33 +2291,33 @@ msgid "" msgstr "" "此操作将删除所有文章、 网页和评论包括修订历史记录。 永久删除此 wiki 或博客吗?" -#: plinth/modules/ikiwiki/views.py:72 +#: plinth/modules/ikiwiki/views.py:70 #, python-brace-format msgid "Created wiki {name}." msgstr "创建 wiki {name}。" -#: plinth/modules/ikiwiki/views.py:75 +#: plinth/modules/ikiwiki/views.py:73 #, python-brace-format msgid "Could not create wiki: {error}" msgstr "不能创建 wiki:{error}" -#: plinth/modules/ikiwiki/views.py:85 +#: plinth/modules/ikiwiki/views.py:83 #, python-brace-format msgid "Created blog {name}." msgstr "已创建的博客 {name}。" -#: plinth/modules/ikiwiki/views.py:88 +#: plinth/modules/ikiwiki/views.py:86 #, python-brace-format msgid "Could not create blog: {error}" msgstr "不能创建博客:{error}" -#: plinth/modules/ikiwiki/views.py:103 +#: plinth/modules/ikiwiki/views.py:101 #, fuzzy, python-brace-format #| msgid "{name} deleted." msgid "{title} deleted." msgstr "{name} 已删除。" -#: plinth/modules/ikiwiki/views.py:107 +#: plinth/modules/ikiwiki/views.py:105 #, fuzzy, python-brace-format #| msgid "Could not delete {name}: {error}" msgid "Could not delete {title}: {error}" @@ -2390,17 +2370,17 @@ msgstr "" "要使用它, 下载 Gobby 的桌面客户" "端并安装。然后启动 Gobby 并选择“连接到服务器”并书入你的 {box_name} 域名即可。" -#: plinth/modules/jsxc/__init__.py:22 +#: plinth/modules/jsxc/__init__.py:23 msgid "" "JSXC is a web client for XMPP. Typically it is used with an XMPP server " "running locally." msgstr "JSXC 是一个 XMPP 网页客户端,主要用于连接本地 XMPP 服务器的连接。" -#: plinth/modules/jsxc/__init__.py:40 plinth/modules/jsxc/manifest.py:10 +#: plinth/modules/jsxc/__init__.py:43 plinth/modules/jsxc/manifest.py:10 msgid "JSXC" msgstr "" -#: plinth/modules/jsxc/__init__.py:41 +#: plinth/modules/jsxc/__init__.py:44 #, fuzzy #| msgid "" #| "Chat Client \n" @@ -2597,13 +2577,13 @@ msgstr "" "聊天服务器\n" "(Matrix Synapse)" -#: plinth/modules/matrixsynapse/forms.py:14 +#: plinth/modules/matrixsynapse/forms.py:12 #, fuzzy #| msgid "Enable application" msgid "Enable Public Registration" msgstr "启用应用程序" -#: plinth/modules/matrixsynapse/forms.py:15 +#: plinth/modules/matrixsynapse/forms.py:13 msgid "" "Enabling public registration means that anyone on the Internet can register " "a new account on your Matrix server. Disable this if you only want existing " @@ -2614,6 +2594,12 @@ msgstr "" msgid "Riot" msgstr "" +#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15 +#: plinth/modules/snapshot/templates/snapshot.html:12 +#: plinth/templates/app.html:46 +msgid "Configuration" +msgstr "配置" + #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:18 msgid "" "Matrix service needs to be configured for a domain. Users on other Matrix " @@ -2665,13 +2651,13 @@ msgid "" "go to Let's Encrypt to obtain one." msgstr "" -#: plinth/modules/matrixsynapse/views.py:98 +#: plinth/modules/matrixsynapse/views.py:86 #, fuzzy #| msgid "Application enabled" msgid "Public registration enabled" msgstr "应用程序已启用" -#: plinth/modules/matrixsynapse/views.py:103 +#: plinth/modules/matrixsynapse/views.py:91 #, fuzzy #| msgid "Application disabled" msgid "Public registration disabled" @@ -2709,91 +2695,91 @@ msgstr "" msgid "Wiki" msgstr "" -#: plinth/modules/mediawiki/forms.py:27 +#: plinth/modules/mediawiki/forms.py:25 #, fuzzy #| msgid "Administrator Account" msgid "Administrator Password" msgstr "管理员帐户" -#: plinth/modules/mediawiki/forms.py:28 +#: plinth/modules/mediawiki/forms.py:26 msgid "" "Set a new password for MediaWiki's administrator account (admin). Leave this " "field blank to keep the current password." msgstr "" -#: plinth/modules/mediawiki/forms.py:33 +#: plinth/modules/mediawiki/forms.py:31 #, fuzzy #| msgid "Enable application" msgid "Enable public registrations" msgstr "启用应用程序" -#: plinth/modules/mediawiki/forms.py:34 +#: plinth/modules/mediawiki/forms.py:32 msgid "" "If enabled, anyone on the internet will be able to create an account on your " "MediaWiki instance." msgstr "" -#: plinth/modules/mediawiki/forms.py:38 +#: plinth/modules/mediawiki/forms.py:36 #, fuzzy #| msgid "Enable creative mode" msgid "Enable private mode" msgstr "启用创意模式" -#: plinth/modules/mediawiki/forms.py:39 +#: plinth/modules/mediawiki/forms.py:37 msgid "" "If enabled, access will be restricted. Only people who have accounts can " "read/write to the wiki. Public registrations will also be disabled." msgstr "" -#: plinth/modules/mediawiki/forms.py:44 +#: plinth/modules/mediawiki/forms.py:42 #, fuzzy #| msgid "Default" msgid "Default Skin" msgstr "默认" -#: plinth/modules/mediawiki/forms.py:45 +#: plinth/modules/mediawiki/forms.py:43 msgid "" "Choose a default skin for your MediaWiki installation. Users have the option " "to select their preferred skin." msgstr "" -#: plinth/modules/mediawiki/views.py:53 +#: plinth/modules/mediawiki/views.py:48 #, fuzzy #| msgid "Password" msgid "Password updated" msgstr "密码" -#: plinth/modules/mediawiki/views.py:72 +#: plinth/modules/mediawiki/views.py:57 #, fuzzy #| msgid "Application enabled" msgid "Public registrations enabled" msgstr "应用程序已启用" -#: plinth/modules/mediawiki/views.py:81 +#: plinth/modules/mediawiki/views.py:66 #, fuzzy #| msgid "Application disabled" msgid "Public registrations disabled" msgstr "应用程序已禁用" -#: plinth/modules/mediawiki/views.py:86 +#: plinth/modules/mediawiki/views.py:71 #, fuzzy #| msgid "PageKite enabled" msgid "Private mode enabled" msgstr "PageKite 已启用" -#: plinth/modules/mediawiki/views.py:93 +#: plinth/modules/mediawiki/views.py:78 #, fuzzy #| msgid "PageKite disabled" msgid "Private mode disabled" msgstr "PageKite 已禁用" -#: plinth/modules/mediawiki/views.py:101 +#: plinth/modules/mediawiki/views.py:86 #, fuzzy #| msgid "Setting unchanged" msgid "Default skin changed" msgstr "设置未改变" -#: plinth/modules/minetest/__init__.py:37 +#: plinth/modules/minetest/__init__.py:38 #, python-brace-format msgid "" "Minetest is a multiplayer infinite-world block sandbox. This module enables " @@ -2805,12 +2791,12 @@ msgstr "" "(30000)上运行 Minetest 服务器。要连接到服务器,需要 Minetest 客户端。" -#: plinth/modules/minetest/__init__.py:63 +#: plinth/modules/minetest/__init__.py:62 #: plinth/modules/minetest/manifest.py:10 msgid "Minetest" msgstr "" -#: plinth/modules/minetest/__init__.py:64 +#: plinth/modules/minetest/__init__.py:63 #, fuzzy #| msgid "" #| "Block Sandbox \n" @@ -2820,11 +2806,11 @@ msgstr "" "方块沙盒\n" "(Minetest)" -#: plinth/modules/minetest/forms.py:15 +#: plinth/modules/minetest/forms.py:13 msgid "Maximum number of players" msgstr "最大玩家数量" -#: plinth/modules/minetest/forms.py:17 +#: plinth/modules/minetest/forms.py:15 #, fuzzy #| msgid "" #| "You can change the maximum number of players playing " @@ -2834,11 +2820,11 @@ msgid "" "instance of time." msgstr "你可以修改 minetest 单位时间单一实例里的最大玩家数量" -#: plinth/modules/minetest/forms.py:21 +#: plinth/modules/minetest/forms.py:19 msgid "Enable creative mode" msgstr "启用创意模式" -#: plinth/modules/minetest/forms.py:22 +#: plinth/modules/minetest/forms.py:20 #, fuzzy #| msgid "" #| "Creative mode changes the rules of the game to make " @@ -2849,11 +2835,11 @@ msgid "" "creative gameplay, rather than challenging \"survival\" gameplay." msgstr "创意模式可以修改游戏模式以便适合创意玩法,而非“逃生”模式。" -#: plinth/modules/minetest/forms.py:27 +#: plinth/modules/minetest/forms.py:25 msgid "Enable PVP" msgstr "启用玩家对战(PVP)" -#: plinth/modules/minetest/forms.py:28 +#: plinth/modules/minetest/forms.py:26 #, fuzzy #| msgid "" #| "Enabling Player Vs Player will allow players to " @@ -2861,11 +2847,11 @@ msgstr "启用玩家对战(PVP)" msgid "Enabling Player Vs Player will allow players to damage other players." msgstr "启用玩家对战模式允许玩家伤害另一个玩家" -#: plinth/modules/minetest/forms.py:32 +#: plinth/modules/minetest/forms.py:30 msgid "Enable damage" msgstr "启用伤害" -#: plinth/modules/minetest/forms.py:33 +#: plinth/modules/minetest/forms.py:31 #, fuzzy #| msgid "" #| "When disabled, players cannot die or receive damage " @@ -2910,21 +2896,21 @@ msgid "" "Kodi." msgstr "" -#: plinth/modules/minidlna/__init__.py:33 +#: plinth/modules/minidlna/__init__.py:44 msgid "Media streaming server" msgstr "" -#: plinth/modules/minidlna/__init__.py:47 +#: plinth/modules/minidlna/__init__.py:48 #, fuzzy #| msgid "Mumble Voice Chat Server" msgid "Simple Media Server" msgstr "Mumble 语音聊天服务器" -#: plinth/modules/minidlna/forms.py:15 +#: plinth/modules/minidlna/forms.py:13 msgid "Media Files Directory" msgstr "" -#: plinth/modules/minidlna/forms.py:16 +#: plinth/modules/minidlna/forms.py:14 msgid "" "Directory that MiniDLNA Server will read for content. All sub-directories of " "this will be also scanned for media files. If you change the default ensure " @@ -2976,18 +2962,18 @@ msgid "" "On {box_name}, downloaded files can be found in /var/lib/mldonkey/ directory." msgstr "" -#: plinth/modules/mldonkey/__init__.py:40 +#: plinth/modules/mldonkey/__init__.py:50 msgid "Download files using eDonkey applications" msgstr "" -#: plinth/modules/mldonkey/__init__.py:54 +#: plinth/modules/mldonkey/__init__.py:53 #: plinth/modules/mldonkey/manifest.py:12 #, fuzzy #| msgid "Monkeysphere" msgid "MLDonkey" msgstr "Monkeysphere" -#: plinth/modules/mldonkey/__init__.py:56 +#: plinth/modules/mldonkey/__init__.py:55 #, fuzzy #| msgid "Enable Shaarli" msgid "Peer-to-peer File Sharing" @@ -3005,7 +2991,7 @@ msgstr "Monkeysphere" msgid "AMLDonkey" msgstr "Monkeysphere" -#: plinth/modules/monkeysphere/__init__.py:18 +#: plinth/modules/monkeysphere/__init__.py:19 msgid "" "With Monkeysphere, an OpenPGP key can be generated for each configured " "domain serving SSH. The OpenPGP public key can then be uploaded to the " @@ -3023,7 +3009,7 @@ msgstr "" "Monkeysphere " "SSH 文档。" -#: plinth/modules/monkeysphere/__init__.py:26 +#: plinth/modules/monkeysphere/__init__.py:27 msgid "" "Monkeysphere can also generate an OpenPGP key for each Secure Web Server " "(HTTPS) certificate installed on this machine. The OpenPGP public key can " @@ -3039,7 +3025,7 @@ msgstr "" "装 Monkeysphere网站上" "提供的一些软件。" -#: plinth/modules/monkeysphere/__init__.py:50 +#: plinth/modules/monkeysphere/__init__.py:49 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:11 msgid "Monkeysphere" msgstr "Monkeysphere" @@ -3088,15 +3074,15 @@ msgstr "显示密钥 %(fingerprint)s 的详细信息" msgid "-" msgstr "-" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:128 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:129 msgid "Import Key" msgstr "导入密钥" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:137 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:139 msgid "Publish Key" msgstr "发布密钥" -#: plinth/modules/monkeysphere/templates/monkeysphere.html:146 +#: plinth/modules/monkeysphere/templates/monkeysphere.html:149 msgid "Add Domains" msgstr "添加域名" @@ -3168,13 +3154,13 @@ msgstr "已发布到密钥服务器的密钥。" msgid "Error occurred while publishing key." msgstr "发布密钥时出现错误。" -#: plinth/modules/mumble/__init__.py:23 +#: plinth/modules/mumble/__init__.py:24 msgid "" "Mumble is an open source, low-latency, encrypted, high quality voice chat " "software." msgstr "Mumble 是一个开放源码的低延迟、 加密、 高品质语音聊天软件。" -#: plinth/modules/mumble/__init__.py:25 +#: plinth/modules/mumble/__init__.py:26 msgid "" "You can connect to your Mumble server on the regular Mumble port 64738. Clients to connect to Mumble from your " @@ -3183,11 +3169,11 @@ msgstr "" "您可以使用常规端口 64738 连接到您的 Mumble 服务器。您可以从桌面和 Android 设" "备连接 Mumble 客户端。" -#: plinth/modules/mumble/__init__.py:49 plinth/modules/mumble/manifest.py:12 +#: plinth/modules/mumble/__init__.py:48 plinth/modules/mumble/manifest.py:12 msgid "Mumble" msgstr "" -#: plinth/modules/mumble/__init__.py:50 +#: plinth/modules/mumble/__init__.py:49 #, fuzzy #| msgid "" #| "Voice Chat \n" @@ -3197,13 +3183,13 @@ msgstr "" "语音聊天\n" "(Mumble)" -#: plinth/modules/mumble/forms.py:16 +#: plinth/modules/mumble/forms.py:14 #, fuzzy #| msgid "SSH server password" msgid "Set SuperUser Password" msgstr "SSH 服务器密码" -#: plinth/modules/mumble/forms.py:19 +#: plinth/modules/mumble/forms.py:17 msgid "" "Optional. Leave this field blank to keep the current password. SuperUser " "password can be used to manage permissions in Mumble." @@ -3501,9 +3487,10 @@ msgid "Open" msgstr "打开" #: plinth/modules/networks/forms.py:297 -#, python-brace-format -msgid "Choose how your {box_name} is connected to your network" -msgstr "" +#, fuzzy, python-brace-format +#| msgid "Direct connection to the Internet." +msgid "Specify how your {box_name} is connected to your network" +msgstr "直接连接到互联网。" #: plinth/modules/networks/forms.py:304 #, python-brace-format @@ -3723,7 +3710,7 @@ msgstr "IPv4" #: plinth/modules/networks/templates/connection_show.html:171 #: plinth/modules/networks/templates/connection_show.html:212 -#: plinth/modules/shadowsocks/forms.py:49 +#: plinth/modules/shadowsocks/forms.py:48 msgid "Method" msgstr "方法" @@ -3739,7 +3726,7 @@ msgstr "DNS 服务器" #: plinth/modules/networks/templates/connection_show.html:201 #: plinth/modules/networks/templates/connection_show.html:240 -#: plinth/modules/storage/forms.py:141 +#: plinth/modules/storage/forms.py:139 msgid "Default" msgstr "默认" @@ -4215,6 +4202,11 @@ msgstr "安装已完成。" msgid "Setup failed." msgstr "安装失败。" +#: plinth/modules/openvpn/views.py:135 plinth/modules/tor/views.py:136 +#: plinth/views.py:196 +msgid "Setting unchanged" +msgstr "设置未改变" + #: plinth/modules/pagekite/__init__.py:27 #, python-brace-format msgid "" @@ -4293,11 +4285,11 @@ msgstr "公开可见性(PageKite)" msgid "PageKite Domain" msgstr "PageKite 帐户" -#: plinth/modules/pagekite/forms.py:48 +#: plinth/modules/pagekite/forms.py:47 msgid "Server domain" msgstr "服务器域" -#: plinth/modules/pagekite/forms.py:50 +#: plinth/modules/pagekite/forms.py:49 msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " "pagekite.net server." @@ -4305,57 +4297,57 @@ msgstr "" "选择您的 pagekite 服务器。设置\"pagekite.net\"以便使用默认的 pagekite.net 服" "务器。" -#: plinth/modules/pagekite/forms.py:53 plinth/modules/shadowsocks/forms.py:40 +#: plinth/modules/pagekite/forms.py:52 plinth/modules/shadowsocks/forms.py:39 msgid "Server port" msgstr "服务器端口" -#: plinth/modules/pagekite/forms.py:54 +#: plinth/modules/pagekite/forms.py:53 msgid "Port of your pagekite server (default: 80)" msgstr "你 pagekite 服务器的端口 (默认: 80)" -#: plinth/modules/pagekite/forms.py:56 +#: plinth/modules/pagekite/forms.py:55 msgid "Kite name" msgstr "Kite 名字" -#: plinth/modules/pagekite/forms.py:57 +#: plinth/modules/pagekite/forms.py:56 msgid "Example: mybox.pagekite.me" msgstr "示例: mybox.pagekite.me" -#: plinth/modules/pagekite/forms.py:59 +#: plinth/modules/pagekite/forms.py:58 msgid "Invalid kite name" msgstr "无效的 Kite 名称" -#: plinth/modules/pagekite/forms.py:63 +#: plinth/modules/pagekite/forms.py:62 msgid "Kite secret" msgstr "Kite 密码" -#: plinth/modules/pagekite/forms.py:64 +#: plinth/modules/pagekite/forms.py:63 msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." msgstr "为 kite 设置的密码,如果没有为 kite 设置密码则会使用你账号的默认密码。" -#: plinth/modules/pagekite/forms.py:101 +#: plinth/modules/pagekite/forms.py:100 msgid "protocol" msgstr "协议" -#: plinth/modules/pagekite/forms.py:104 +#: plinth/modules/pagekite/forms.py:103 msgid "external (frontend) port" msgstr "外网(前端)端口" -#: plinth/modules/pagekite/forms.py:107 +#: plinth/modules/pagekite/forms.py:106 msgid "internal (freedombox) port" msgstr "内网(freedombox)端口" -#: plinth/modules/pagekite/forms.py:108 +#: plinth/modules/pagekite/forms.py:107 msgid "Enable Subdomains" msgstr "启用子域" -#: plinth/modules/pagekite/forms.py:142 +#: plinth/modules/pagekite/forms.py:141 msgid "Deleted custom service" msgstr "删除自定义服务" -#: plinth/modules/pagekite/forms.py:175 +#: plinth/modules/pagekite/forms.py:174 #, fuzzy #| msgid "" #| "This service is available as a standard service. Please use the " @@ -4363,11 +4355,11 @@ msgstr "删除自定义服务" msgid "This service is already available as a standard service." msgstr "这项服务是可作为标准的服务。请使用\"标准服务\"页启用它。" -#: plinth/modules/pagekite/forms.py:183 +#: plinth/modules/pagekite/forms.py:182 msgid "Added custom service" msgstr "已添加的自定义服务" -#: plinth/modules/pagekite/forms.py:186 +#: plinth/modules/pagekite/forms.py:185 msgid "This service already exists" msgstr "此服务已存在" @@ -4494,7 +4486,7 @@ msgstr "" msgid "Shut Down Now" msgstr "现在关闭" -#: plinth/modules/privoxy/__init__.py:28 +#: plinth/modules/privoxy/__init__.py:29 msgid "" "Privoxy is a non-caching web proxy with advanced filtering capabilities for " "enhancing privacy, modifying web page data and HTTP headers, controlling " @@ -4503,7 +4495,7 @@ msgstr "" "Privoxy 是一个非缓存Web代理,具有高级过滤功能,用于增强隐私,修改网页数据和 " "HTTP 标头,控制访问,以及删除广告和其他令人讨厌的互联网垃圾。" -#: plinth/modules/privoxy/__init__.py:33 +#: plinth/modules/privoxy/__init__.py:34 #, python-brace-format msgid "" "You can use Privoxy by modifying your browser proxy settings to your " @@ -4517,24 +4509,24 @@ msgstr "" "privoxy.org\">http://config.privoxy.org/ 或 http://p.p 中查看其配置详细信息和文档" -#: plinth/modules/privoxy/__init__.py:56 +#: plinth/modules/privoxy/__init__.py:55 #, fuzzy #| msgid "Enable Privoxy" msgid "Privoxy" msgstr "启用 Privoxy" -#: plinth/modules/privoxy/__init__.py:57 +#: plinth/modules/privoxy/__init__.py:56 #, fuzzy #| msgid "Privoxy Web Proxy" msgid "Web Proxy" msgstr "Privoxy 网页代理" -#: plinth/modules/privoxy/__init__.py:116 +#: plinth/modules/privoxy/__init__.py:119 #, python-brace-format msgid "Access {url} with proxy {proxy} on tcp{kind}" msgstr "在 tcp{kind} 上通过 {proxy} 访问 {url}" -#: plinth/modules/quassel/__init__.py:32 +#: plinth/modules/quassel/__init__.py:33 #, python-brace-format msgid "" "Quassel is an IRC application that is split into two parts, a \"core\" and a " @@ -4549,7 +4541,7 @@ msgstr "" "以运行 Quassel 核心服务,使您始终在线,并且可以使用桌面或移动设备上的一个或多" "个 Quassel 客户端连接和断开连接。" -#: plinth/modules/quassel/__init__.py:39 +#: plinth/modules/quassel/__init__.py:40 msgid "" "You can connect to your Quassel core on the default Quassel port 4242. " "Clients to connect to Quassel from your 桌面移动设备客户端连接到 Quassel 的核心。" -#: plinth/modules/quassel/__init__.py:62 plinth/modules/quassel/manifest.py:10 +#: plinth/modules/quassel/__init__.py:61 plinth/modules/quassel/manifest.py:10 msgid "Quassel" msgstr "" -#: plinth/modules/quassel/__init__.py:63 +#: plinth/modules/quassel/__init__.py:62 #, fuzzy #| msgid "Quassel IRC Client" msgid "IRC Client" msgstr "Quassel IRC 客户端" -#: plinth/modules/quassel/forms.py:23 +#: plinth/modules/quassel/forms.py:22 #, fuzzy #| msgid "Subdomain" msgid "TLS domain" msgstr "子域" -#: plinth/modules/quassel/forms.py:25 +#: plinth/modules/quassel/forms.py:24 msgid "" "Select a domain to use TLS with. If the list is empty, please configure at " "least one domain with certificates." @@ -4586,7 +4578,7 @@ msgstr "" msgid "Quasseldroid" msgstr "" -#: plinth/modules/radicale/__init__.py:32 +#: plinth/modules/radicale/__init__.py:33 #, fuzzy, python-brace-format #| msgid "" #| "Radicale is a CalDAV and CardDAV server. It allows synchronization and " @@ -4605,19 +4597,19 @@ msgstr "" "user_documentation/#idcaldav-and-carddav-client\">支持的客户端应用程序。" "任何拥有 {box_name} 登录名的用户都可以访问 Radicale。" -#: plinth/modules/radicale/__init__.py:37 +#: plinth/modules/radicale/__init__.py:38 msgid "" "Radicale provides a basic web interface, which only supports creating new " "calendars and addressbooks. It does not support adding events or contacts, " "which must be done using a separate client." msgstr "" -#: plinth/modules/radicale/__init__.py:62 +#: plinth/modules/radicale/__init__.py:61 #: plinth/modules/radicale/manifest.py:75 msgid "Radicale" msgstr "" -#: plinth/modules/radicale/__init__.py:63 +#: plinth/modules/radicale/__init__.py:62 #, fuzzy #| msgid "" #| "Calendar and Addressbook \n" @@ -4627,11 +4619,11 @@ msgstr "" "日历和通讯录\n" "(Radicale)" -#: plinth/modules/radicale/forms.py:15 +#: plinth/modules/radicale/forms.py:14 msgid "Only the owner of a calendar/addressbook can view or make changes." msgstr "只有日历/通训录的所有者可以查看或做出改动。" -#: plinth/modules/radicale/forms.py:19 +#: plinth/modules/radicale/forms.py:18 #, fuzzy, python-brace-format #| msgid "" #| "Any user can view any calendar/addressbook, but only the owner can make " @@ -4641,7 +4633,7 @@ msgid "" "the owner can make changes." msgstr "任何用户都可以查看任何日历/通训录,但是只有所有者可以作出修改。" -#: plinth/modules/radicale/forms.py:24 +#: plinth/modules/radicale/forms.py:23 #, fuzzy, python-brace-format #| msgid "Any user can view or make changes to any calendar/addressbook." msgid "" @@ -4784,11 +4776,11 @@ msgid "" "private space." msgstr "" -#: plinth/modules/samba/__init__.py:47 +#: plinth/modules/samba/__init__.py:59 msgid "Access to the private shares" msgstr "" -#: plinth/modules/samba/__init__.py:61 +#: plinth/modules/samba/__init__.py:62 msgid "Samba" msgstr "" @@ -4862,13 +4854,13 @@ msgstr "共享" msgid "Action" msgstr "行动" -#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:149 +#: plinth/modules/samba/views.py:43 plinth/modules/storage/forms.py:147 #, fuzzy #| msgid "Add Service" msgid "Open Share" msgstr "添加服务" -#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:147 +#: plinth/modules/samba/views.py:44 plinth/modules/storage/forms.py:145 #, fuzzy #| msgid "Add Service" msgid "Group Share" @@ -4916,49 +4908,49 @@ msgid "" "stores no cookies by default." msgstr "" -#: plinth/modules/searx/__init__.py:31 +#: plinth/modules/searx/__init__.py:45 msgid "Search the web" msgstr "" -#: plinth/modules/searx/__init__.py:47 plinth/modules/searx/manifest.py:9 +#: plinth/modules/searx/__init__.py:48 plinth/modules/searx/manifest.py:9 msgid "Searx" msgstr "" -#: plinth/modules/searx/__init__.py:48 +#: plinth/modules/searx/__init__.py:49 #, fuzzy #| msgid "Web Server" msgid "Web Search" msgstr "Web 服务器" -#: plinth/modules/searx/forms.py:15 +#: plinth/modules/searx/forms.py:13 #, fuzzy #| msgid "Save Services" msgid "Safe Search" msgstr "保存服务" -#: plinth/modules/searx/forms.py:16 +#: plinth/modules/searx/forms.py:14 msgid "Select the default family filter to apply to your search results." msgstr "" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "None" msgstr "" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 #, fuzzy #| msgid "Mode" msgid "Moderate" msgstr "模式" -#: plinth/modules/searx/forms.py:17 +#: plinth/modules/searx/forms.py:15 msgid "Strict" msgstr "" -#: plinth/modules/searx/forms.py:20 +#: plinth/modules/searx/forms.py:18 msgid "Allow Public Access" msgstr "" -#: plinth/modules/searx/forms.py:21 +#: plinth/modules/searx/forms.py:19 msgid "Allow this application to be used by anyone who can reach it." msgstr "" @@ -5158,32 +5150,32 @@ msgstr "" msgid "Socks5 Proxy" msgstr "" +#: plinth/modules/shadowsocks/forms.py:12 #: plinth/modules/shadowsocks/forms.py:13 -#: plinth/modules/shadowsocks/forms.py:14 msgid "Recommended" msgstr "" -#: plinth/modules/shadowsocks/forms.py:37 +#: plinth/modules/shadowsocks/forms.py:36 #, fuzzy #| msgid "Service" msgid "Server" msgstr "服务" -#: plinth/modules/shadowsocks/forms.py:38 +#: plinth/modules/shadowsocks/forms.py:37 msgid "Server hostname or IP address" msgstr "" -#: plinth/modules/shadowsocks/forms.py:42 +#: plinth/modules/shadowsocks/forms.py:41 #, fuzzy #| msgid "Server port" msgid "Server port number" msgstr "服务器端口" -#: plinth/modules/shadowsocks/forms.py:45 +#: plinth/modules/shadowsocks/forms.py:44 msgid "Password used to encrypt data. Must match server password." msgstr "" -#: plinth/modules/shadowsocks/forms.py:50 +#: plinth/modules/shadowsocks/forms.py:49 msgid "Encryption method. Must match setting on server." msgstr "" @@ -5228,11 +5220,11 @@ msgstr "发布密钥" msgid "Make files in this folder available to anyone with the link." msgstr "" -#: plinth/modules/sharing/forms.py:33 +#: plinth/modules/sharing/forms.py:34 msgid "User groups that can read the files in the share" msgstr "" -#: plinth/modules/sharing/forms.py:35 +#: plinth/modules/sharing/forms.py:36 msgid "" "Users of the selected user groups will be able to read the files in the " "share." @@ -5554,13 +5546,13 @@ msgstr "" msgid "Secure Shell (SSH) Server" msgstr "安全 Shell(SSH)服务器" -#: plinth/modules/ssh/forms.py:15 +#: plinth/modules/ssh/forms.py:13 #, fuzzy #| msgid "Use HTTP basic authentication" msgid "Disable password authentication" msgstr "使用 HTTP 基本身份验证" -#: plinth/modules/ssh/forms.py:16 +#: plinth/modules/ssh/forms.py:14 msgid "" "Improves security by preventing password guessing. Ensure that you have " "setup SSH keys in your administrator user account before enabling this " @@ -5615,150 +5607,150 @@ msgid "" "media, expand the root partition etc." msgstr "" -#: plinth/modules/storage/__init__.py:52 plinth/modules/storage/__init__.py:318 +#: plinth/modules/storage/__init__.py:54 plinth/modules/storage/__init__.py:320 #, fuzzy #| msgid "reStore" msgid "Storage" msgstr "reStore" -#: 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 "" -#: plinth/modules/storage/__init__.py:313 +#: plinth/modules/storage/__init__.py:315 #, no-python-format, python-brace-format msgid "Low space on system partition: {percent_used}% used, {free_space} free." msgstr "" -#: plinth/modules/storage/__init__.py:315 +#: plinth/modules/storage/__init__.py:317 msgid "Low disk space" msgstr "" -#: plinth/modules/storage/forms.py:64 +#: plinth/modules/storage/forms.py:63 #, fuzzy #| msgid "Invalid hostname" msgid "Invalid directory name." msgstr "无效的主机名" -#: plinth/modules/storage/forms.py:82 +#: plinth/modules/storage/forms.py:80 msgid "Directory does not exist." msgstr "" -#: plinth/modules/storage/forms.py:84 +#: plinth/modules/storage/forms.py:83 #, fuzzy #| msgid "Download directory" msgid "Path is not a directory." msgstr "下载目录" -#: plinth/modules/storage/forms.py:87 +#: plinth/modules/storage/forms.py:86 msgid "Directory is not readable by the user." msgstr "" -#: plinth/modules/storage/forms.py:90 +#: plinth/modules/storage/forms.py:89 msgid "Directory is not writable by the user." msgstr "" -#: plinth/modules/storage/forms.py:95 +#: plinth/modules/storage/forms.py:94 #, fuzzy #| msgid "Download directory" msgid "Directory" msgstr "下载目录" -#: plinth/modules/storage/forms.py:98 +#: plinth/modules/storage/forms.py:96 msgid "Subdirectory (optional)" msgstr "" -#: plinth/modules/storage/forms.py:145 +#: plinth/modules/storage/forms.py:143 #, fuzzy #| msgid "Shared" msgid "Share" msgstr "共享" -#: plinth/modules/storage/forms.py:153 +#: plinth/modules/storage/forms.py:151 msgid "Other directory (specify below)" msgstr "" @@ -5845,21 +5837,22 @@ msgid "" "synchronize more often. {box_name} runs a single instance of Syncthing that " "may be used by multiple users. Each user's set of devices may be " "synchronized with a distinct set of folders. The web interface on " -"{box_name} is only available for users belonging to the \"admin\" group." +"{box_name} is only available for users belonging to the \"admin\" or " +"\"syncthing\" group." msgstr "" -#: plinth/modules/syncthing/__init__.py:40 +#: plinth/modules/syncthing/__init__.py:53 #, fuzzy #| msgid "Install this application?" msgid "Administer Syncthing application" msgstr "安装此应用程序?" -#: plinth/modules/syncthing/__init__.py:54 +#: plinth/modules/syncthing/__init__.py:56 #: plinth/modules/syncthing/manifest.py:13 msgid "Syncthing" msgstr "" -#: plinth/modules/syncthing/__init__.py:55 +#: plinth/modules/syncthing/__init__.py:57 msgid "File Synchronization" msgstr "" @@ -5896,37 +5889,37 @@ msgid "" "%(domain_name)s:5678\">https://%(domain_name)s:5678." msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:39 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:29 msgid "Local introducer" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:59 -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:76 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:33 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:49 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:66 #, fuzzy #| msgid "Name" msgid "Pet Name" msgstr "名称" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:56 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:46 msgid "Add new introducer" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:67 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:57 #, fuzzy #| msgid "Address" msgid "Add" msgstr "地址" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:72 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:62 msgid "Connected introducers" msgstr "" -#: plinth/modules/tahoe/templates/tahoe-post-setup.html:89 +#: plinth/modules/tahoe/templates/tahoe-post-setup.html:79 msgid "Remove" msgstr "" -#: plinth/modules/tor/__init__.py:33 +#: plinth/modules/tor/__init__.py:34 msgid "" "Tor is an anonymous communication system. You can learn more about it from " "the Tor Project website. For " @@ -5939,42 +5932,42 @@ msgstr "" "href=\"https://www.torproject.org/download/download-easy.html.en\">Tor浏览器" "。" -#: plinth/modules/tor/__init__.py:55 +#: plinth/modules/tor/__init__.py:54 msgid "Tor" msgstr "" -#: plinth/modules/tor/__init__.py:66 +#: plinth/modules/tor/__init__.py:65 #, fuzzy #| msgid "Tor Hidden Service" msgid "Tor Onion Service" msgstr "隐藏的 Tor 服务" -#: plinth/modules/tor/__init__.py:70 +#: plinth/modules/tor/__init__.py:69 msgid "Tor Socks Proxy" msgstr "" -#: plinth/modules/tor/__init__.py:74 +#: plinth/modules/tor/__init__.py:73 msgid "Tor Bridge Relay" msgstr "Tor 网桥中继" -#: plinth/modules/tor/__init__.py:95 +#: plinth/modules/tor/__init__.py:98 msgid "Tor relay port available" msgstr "Tor 中继端口可用" -#: plinth/modules/tor/__init__.py:105 +#: plinth/modules/tor/__init__.py:108 msgid "Obfs3 transport registered" msgstr "已注册 Obfs3 传输" -#: plinth/modules/tor/__init__.py:115 +#: plinth/modules/tor/__init__.py:118 msgid "Obfs4 transport registered" msgstr "已注册 Obfs4 传输" -#: plinth/modules/tor/__init__.py:208 +#: plinth/modules/tor/__init__.py:211 #, python-brace-format msgid "Access URL {url} on tcp{kind} via Tor" msgstr "在 tcp{kind} 上通过 Tor 访问 {url}" -#: plinth/modules/tor/__init__.py:219 +#: plinth/modules/tor/__init__.py:222 #, python-brace-format msgid "Confirm Tor usage at {url} on tcp{kind}" msgstr "确认使用 Tor 通过 tcp{kind} 访问 {url}" @@ -6118,7 +6111,7 @@ 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:27 +#: plinth/modules/transmission/__init__.py:28 msgid "" "BitTorrent is a peer-to-peer file sharing protocol. Transmission daemon " "handles Bitorrent file sharing. Note that BitTorrent is not anonymous." @@ -6126,7 +6119,7 @@ msgstr "" "BitTorrent 是对等文件共享协议。Transmission 守护进程处理 Bitorrent 文件共享。" "请注意,BitTorrent 不是匿名。" -#: plinth/modules/transmission/__init__.py:48 +#: plinth/modules/transmission/__init__.py:51 #: plinth/modules/transmission/manifest.py:9 #, fuzzy #| msgid "Transmission BitTorrent" @@ -6161,15 +6154,15 @@ msgid "" "connecting." msgstr "" -#: plinth/modules/ttrss/__init__.py:42 +#: plinth/modules/ttrss/__init__.py:54 msgid "Read and subscribe to news feeds" msgstr "" -#: plinth/modules/ttrss/__init__.py:56 plinth/modules/ttrss/manifest.py:19 +#: plinth/modules/ttrss/__init__.py:57 plinth/modules/ttrss/manifest.py:19 msgid "Tiny Tiny RSS" msgstr "" -#: plinth/modules/ttrss/__init__.py:57 +#: plinth/modules/ttrss/__init__.py:58 #, fuzzy #| msgid "" #| "News Feed Reader \n" @@ -6187,11 +6180,11 @@ msgstr "" msgid "Check for and apply the latest software and security updates." msgstr "" -#: plinth/modules/upgrades/__init__.py:38 plinth/templates/setup.html:74 +#: plinth/modules/upgrades/__init__.py:40 plinth/templates/setup.html:74 msgid "Update" msgstr "更新" -#: plinth/modules/upgrades/__init__.py:76 +#: plinth/modules/upgrades/__init__.py:78 #, fuzzy #| msgid "FreedomBox" msgid "FreedomBox Updated" @@ -6257,45 +6250,41 @@ msgstr "" #: plinth/modules/upgrades/templates/upgrades_configure.html:11 #: plinth/modules/upgrades/templates/upgrades_configure.html:12 -#: plinth/modules/upgrades/views.py:88 +#: plinth/modules/upgrades/views.py:85 #, fuzzy #| msgid "Last update" msgid "Manual update" msgstr "最后一次更新" -#: plinth/modules/upgrades/views.py:47 +#: plinth/modules/upgrades/views.py:46 #, python-brace-format msgid "Error when configuring unattended-upgrades: {error}" msgstr "配置无人参与升级时错误:{error}" -#: plinth/modules/upgrades/views.py:51 +#: plinth/modules/upgrades/views.py:50 msgid "Automatic upgrades enabled" msgstr "已启用自动升级" -#: plinth/modules/upgrades/views.py:54 +#: plinth/modules/upgrades/views.py:53 msgid "Automatic upgrades disabled" msgstr "已禁用自动升级" -#: plinth/modules/upgrades/views.py:56 -msgid "Settings unchanged" -msgstr "设置未改变" - -#: plinth/modules/upgrades/views.py:82 +#: plinth/modules/upgrades/views.py:79 msgid "Upgrade process started." msgstr "升级过程开始。" -#: plinth/modules/upgrades/views.py:85 +#: plinth/modules/upgrades/views.py:82 msgid "Starting upgrade failed." msgstr "开始升级失败。" -#: plinth/modules/users/__init__.py:37 +#: plinth/modules/users/__init__.py:39 msgid "" "Create and managed user accounts. These accounts serve as centralized " "authentication mechanism for most apps. Some apps further require a user " "account to be part of a group to authorize the user to access the app." msgstr "" -#: plinth/modules/users/__init__.py:42 +#: plinth/modules/users/__init__.py:44 #, python-brace-format msgid "" "Any user may login to {box_name} web interface to see a list of apps " @@ -6303,66 +6292,72 @@ msgid "" "group may alter apps or system settings." msgstr "" -#: plinth/modules/users/__init__.py:64 +#: plinth/modules/users/__init__.py:65 msgid "Users and Groups" msgstr "用户和组" -#: plinth/modules/users/__init__.py:115 +#: plinth/modules/users/__init__.py:78 +msgid "Access to all services and system settings" +msgstr "" + +#: plinth/modules/users/__init__.py:122 #, python-brace-format msgid "Check LDAP entry \"{search_item}\"" msgstr "请检查 LDAP 条目“{search_item}”" -#: plinth/modules/users/forms.py:28 -msgid "Access to all services and system settings" -msgstr "" - -#: plinth/modules/users/forms.py:44 +#: plinth/modules/users/forms.py:36 msgid "Username is taken or is reserved." msgstr "用户名已经占用或保留。" -#: plinth/modules/users/forms.py:72 +#: plinth/modules/users/forms.py:63 #, fuzzy #| msgid "Invalid server name" msgid "Enter a valid username." msgstr "服务器名称无效" -#: plinth/modules/users/forms.py:78 +#: plinth/modules/users/forms.py:69 msgid "" "Required. 150 characters or fewer. English letters, digits and @/./-/_ only." msgstr "" -#: plinth/modules/users/forms.py:91 plinth/modules/users/forms.py:207 +#: plinth/modules/users/forms.py:83 plinth/modules/users/forms.py:196 #, fuzzy #| msgid "Transmission BitTorrent" msgid "Permissions" msgstr "Transmission BitTorrent" -#: plinth/modules/users/forms.py:94 +#: plinth/modules/users/forms.py:85 +#, fuzzy +#| msgid "" +#| "Select which services should be available to the new user. The user will " +#| "be able to log in to services that support single sign-on through LDAP, " +#| "if they are in the appropriate group.

Users in the admin group " +#| "will be able to log in to all services. They can also log in to the " +#| "system through SSH and have administrative privileges (sudo)." msgid "" -"Select which services should be available to the new user. The user will be " -"able to log in to services that support single sign-on through LDAP, if they " -"are in the appropriate group.

Users in the admin group will be " -"able to log in to all services. They can also log in to the system through " -"SSH and have administrative privileges (sudo)." +"user. The user will be able to log in to services that support single sign-" +"on through LDAP, if they are in the appropriate group.

Users in " +"the admin group will be able to log in to all services. They can also log in " +"to the system through SSH and have administrative privileges (sudo)." msgstr "" "选择新用户应该可以使用的服务。如果用户在适当的组中,则用户将能够通过LDAP登录" "支持单一登录的服务。

管理员(admin)组中的用户将能够登录所有服务。他" "们还可以通过 SSH 登录到系统并具有管理权限(sudo)。" -#: plinth/modules/users/forms.py:133 plinth/modules/users/forms.py:357 +#: plinth/modules/users/forms.py:122 plinth/modules/users/forms.py:345 msgid "Creating LDAP user failed." msgstr "创建 LDAP 用户失败。" -#: plinth/modules/users/forms.py:144 +#: plinth/modules/users/forms.py:133 #, python-brace-format msgid "Failed to add new user to {group} group." msgstr "未能将新用户添加到 {group}。" -#: plinth/modules/users/forms.py:158 +#: plinth/modules/users/forms.py:147 msgid "Authorized SSH Keys" msgstr "" -#: plinth/modules/users/forms.py:160 +#: plinth/modules/users/forms.py:149 msgid "" "Setting an SSH public key will allow this user to securely log in to the " "system without using a password. You may enter multiple keys, one on each " @@ -6371,45 +6366,45 @@ msgstr "" "设置 SSH 公钥将允许此用户安全地登录到系统不使用密码。您可以输入多个密钥,每行" "一个。将忽略空行和以 # 开头的行。" -#: plinth/modules/users/forms.py:244 +#: plinth/modules/users/forms.py:233 msgid "Renaming LDAP user failed." msgstr "重命名 LDAP 用户失败。" -#: plinth/modules/users/forms.py:256 +#: plinth/modules/users/forms.py:245 msgid "Failed to remove user from group." msgstr "无法从组中删除用户。" -#: plinth/modules/users/forms.py:267 +#: plinth/modules/users/forms.py:256 msgid "Failed to add user to group." msgstr "无法将用户添加到组。" -#: plinth/modules/users/forms.py:276 +#: plinth/modules/users/forms.py:265 msgid "Unable to set SSH keys." msgstr "不能设置 SSH 密钥。" -#: plinth/modules/users/forms.py:291 +#: plinth/modules/users/forms.py:280 #, fuzzy #| msgid "Failed to add user to group." msgid "Failed to change user status." msgstr "无法将用户添加到组。" -#: plinth/modules/users/forms.py:299 +#: plinth/modules/users/forms.py:288 msgid "Cannot delete the only administrator in the system." msgstr "" -#: plinth/modules/users/forms.py:331 +#: plinth/modules/users/forms.py:319 msgid "Changing LDAP user password failed." msgstr "更改 LDAP 用户密码失败。" -#: plinth/modules/users/forms.py:366 +#: plinth/modules/users/forms.py:354 msgid "Failed to add new user to admin group." msgstr "未能将新用户添加到管理员组。" -#: plinth/modules/users/forms.py:383 +#: plinth/modules/users/forms.py:371 msgid "Failed to restrict console access." msgstr "限制命令行访问失败。" -#: plinth/modules/users/forms.py:395 +#: plinth/modules/users/forms.py:383 msgid "User account created, you are now logged in" msgstr "用户帐户已创建,您现在可以登录" @@ -7272,18 +7267,22 @@ msgstr "正在安装 %(package_names)s:%(status)s" msgid "%(percentage)s%% complete" msgstr "已完成 %(percentage)s%%" -#: plinth/views.py:184 -msgid "Application enabled" -msgstr "应用程序已启用" - -#: plinth/views.py:187 -msgid "Application disabled" -msgstr "应用程序已禁用" - #: plinth/web_framework.py:107 msgid "Gujarati" msgstr "古吉拉特语" +#~ msgid "Enable application" +#~ msgstr "启用应用程序" + +#~ msgid "Settings unchanged" +#~ msgstr "设置未改变" + +#~ msgid "Application enabled" +#~ msgstr "应用程序已启用" + +#~ msgid "Application disabled" +#~ msgstr "应用程序已禁用" + #~ msgid "Kite details set" #~ msgstr "Kite 详细信息设置" diff --git a/plinth/modules/bind/forms.py b/plinth/modules/bind/forms.py index 75dc51151..10f127789 100644 --- a/plinth/modules/bind/forms.py +++ b/plinth/modules/bind/forms.py @@ -7,8 +7,6 @@ from django import forms from django.core.validators import validate_ipv46_address from django.utils.translation import ugettext_lazy as _ -from plinth.forms import AppForm - def validate_ips(ips): """Validate that ips is a list of IP addresses, separated by space.""" @@ -16,7 +14,7 @@ def validate_ips(ips): validate_ipv46_address(ip_addr) -class BindForm(AppForm): +class BindForm(forms.Form): """BIND configuration form""" forwarders = forms.CharField( label=_('Forwarders'), required=False, validators=[validate_ips], diff --git a/plinth/modules/config/__init__.py b/plinth/modules/config/__init__.py index 015eff837..0ad1bbf06 100644 --- a/plinth/modules/config/__init__.py +++ b/plinth/modules/config/__init__.py @@ -42,6 +42,8 @@ class ConfigApp(app_module.App): app_id = 'config' + can_be_disabled = False + def __init__(self): """Create components for the app.""" super().__init__() diff --git a/plinth/modules/coquelicot/forms.py b/plinth/modules/coquelicot/forms.py index 6b4b7d96a..b418b844c 100644 --- a/plinth/modules/coquelicot/forms.py +++ b/plinth/modules/coquelicot/forms.py @@ -6,10 +6,8 @@ Plinth form for configuring Coquelicot. from django import forms from django.utils.translation import ugettext_lazy as _ -from plinth.forms import AppForm - -class CoquelicotForm(AppForm): # pylint: disable=W0232 +class CoquelicotForm(forms.Form): # pylint: disable=W0232 """Coquelicot configuration form.""" upload_password = forms.CharField( label=_('Upload Password'), diff --git a/plinth/modules/datetime/forms.py b/plinth/modules/datetime/forms.py index 6602d1664..092f3e19a 100644 --- a/plinth/modules/datetime/forms.py +++ b/plinth/modules/datetime/forms.py @@ -9,12 +9,10 @@ import subprocess from django import forms from django.utils.translation import ugettext_lazy as _ -from plinth.forms import AppForm - logger = logging.getLogger(__name__) -class DateTimeForm(AppForm): +class DateTimeForm(forms.Form): """Date/time configuration form.""" time_zone = forms.ChoiceField( label=_('Time Zone'), diff --git a/plinth/modules/deluge/__init__.py b/plinth/modules/deluge/__init__.py index 7ca3add71..b70bc8fb7 100644 --- a/plinth/modules/deluge/__init__.py +++ b/plinth/modules/deluge/__init__.py @@ -11,7 +11,8 @@ from plinth import frontpage, menu from plinth.daemon import Daemon from plinth.modules.apache.components import Webserver from plinth.modules.firewall.components import Firewall -from plinth.modules.users import add_user_to_share_group, register_group +from plinth.modules.users import add_user_to_share_group +from plinth.modules.users.components import UsersAndGroups from .manifest import backup, clients # noqa, pylint: disable=unused-import @@ -27,12 +28,10 @@ _description = [ 'change it immediately after enabling this service.') ] -group = ('bit-torrent', _('Download files using BitTorrent applications')) - -reserved_usernames = ['debian-deluged'] - app = None +SYSTEM_USER = 'debian-deluged' + class DelugeApp(app_module.App): """FreedomBox app for Deluge.""" @@ -42,6 +41,11 @@ class DelugeApp(app_module.App): def __init__(self): """Create components for the app.""" super().__init__() + + groups = { + 'bit-torrent': _('Download files using BitTorrent applications') + } + info = app_module.Info(app_id=self.app_id, version=version, name=_('Deluge'), icon_filename='deluge', short_description=_('BitTorrent Web Client'), @@ -59,7 +63,7 @@ class DelugeApp(app_module.App): url='/deluge', icon=info.icon_filename, clients=info.clients, login_required=True, - allowed_groups=[group[0]]) + allowed_groups=list(groups)) self.add(shortcut) firewall = Firewall('firewall-deluge', info.name, @@ -78,12 +82,16 @@ class DelugeApp(app_module.App): listen_ports=[(8112, 'tcp4')]) self.add(daemon_web) + users_and_groups = UsersAndGroups('users-and-groups-deluge', + reserved_usernames=[SYSTEM_USER], + groups=groups) + self.add(users_and_groups) + def init(): """Initialize the Deluge module.""" global app app = DelugeApp() - register_group(group) setup_helper = globals()['setup_helper'] if setup_helper.get_state() != 'needs-setup' and app.is_enabled(): @@ -94,5 +102,5 @@ def setup(helper, old_version=None): """Install and configure the module.""" helper.install(managed_packages) helper.call('post', actions.superuser_run, 'deluge', ['setup']) - add_user_to_share_group(reserved_usernames[0]) + add_user_to_share_group(SYSTEM_USER) helper.call('post', app.enable) diff --git a/plinth/modules/deluge/forms.py b/plinth/modules/deluge/forms.py index a969cb301..65e766bbb 100644 --- a/plinth/modules/deluge/forms.py +++ b/plinth/modules/deluge/forms.py @@ -5,18 +5,18 @@ Forms for Deluge app. from django.utils.translation import ugettext_lazy as _ -from plinth.modules.deluge import reserved_usernames from plinth.modules.storage.forms import (DirectorySelectForm, DirectoryValidator) +from . import SYSTEM_USER + class DelugeForm(DirectorySelectForm): """Deluge configuration form""" def __init__(self, *args, **kw): - validator = DirectoryValidator(username=reserved_usernames[0], + validator = DirectoryValidator(username=SYSTEM_USER, check_creatable=True) - super(DelugeForm, self).__init__( - title=_('Download directory'), - default='/var/lib/deluged/Downloads', validator=validator, *args, - **kw) + super(DelugeForm, self).__init__(title=_('Download directory'), + default='/var/lib/deluged/Downloads', + validator=validator, *args, **kw) diff --git a/plinth/modules/deluge/views.py b/plinth/modules/deluge/views.py index 4547d6ab7..4a15c9f82 100644 --- a/plinth/modules/deluge/views.py +++ b/plinth/modules/deluge/views.py @@ -32,15 +32,13 @@ class DelugeAppView(views.AppView): old_status = form.initial new_status = form.cleaned_data - # don't change the configuration if the application was disabled - if new_status['is_enabled'] or not old_status['is_enabled']: - if old_status['storage_path'] != new_status['storage_path']: - new_configuration = [ - 'download_location', new_status['storage_path'] - ] + if old_status['storage_path'] != new_status['storage_path']: + new_configuration = [ + 'download_location', new_status['storage_path'] + ] - actions.superuser_run('deluge', ['set-configuration'] + - new_configuration) - messages.success(self.request, _('Configuration updated')) + actions.superuser_run('deluge', + ['set-configuration'] + new_configuration) + messages.success(self.request, _('Configuration updated')) return super().form_valid(form) diff --git a/plinth/modules/diaspora/forms.py b/plinth/modules/diaspora/forms.py index 153fb5cf1..15947a22b 100644 --- a/plinth/modules/diaspora/forms.py +++ b/plinth/modules/diaspora/forms.py @@ -6,10 +6,8 @@ Forms for configuring diaspora* from django import forms from django.utils.translation import ugettext_lazy as _ -from plinth.forms import AppForm - -class DiasporaAppForm(AppForm): +class DiasporaAppForm(forms.Form): """Service Form with additional fields for diaspora*""" is_user_registrations_enabled = forms.BooleanField( label=_('Enable new user registrations'), required=False) diff --git a/plinth/modules/diaspora/views.py b/plinth/modules/diaspora/views.py index 1635b5f28..6d05bcd79 100644 --- a/plinth/modules/diaspora/views.py +++ b/plinth/modules/diaspora/views.py @@ -65,16 +65,10 @@ class DiasporaAppView(AppView): def form_valid(self, form): """Enable/disable user registrations""" - old_enabled = form.initial['is_enabled'] - new_enabled = form.cleaned_data['is_enabled'] old_registration = form.initial['is_user_registrations_enabled'] new_registration = form.cleaned_data['is_user_registrations_enabled'] - if old_registration == new_registration: - if old_enabled == new_enabled: - if not self.request._messages._queued_messages: - messages.info(self.request, _('Setting unchanged')) - else: + if old_registration != new_registration: if new_registration: diaspora.enable_user_registrations() messages.success(self.request, _('User registrations enabled')) diff --git a/plinth/modules/dynamicdns/__init__.py b/plinth/modules/dynamicdns/__init__.py index f254f52a5..77a0d5823 100644 --- a/plinth/modules/dynamicdns/__init__.py +++ b/plinth/modules/dynamicdns/__init__.py @@ -11,6 +11,7 @@ from plinth import cfg, menu from plinth.modules.names.components import DomainType from plinth.signals import domain_added from plinth.utils import format_lazy +from plinth.modules.users.components import UsersAndGroups from .manifest import backup # noqa, pylint: disable=unused-import @@ -38,8 +39,6 @@ _description = [ 'name, they will get a response with your current IP address.') ] -reserved_usernames = ['ez-ipupd'] - app = None @@ -67,6 +66,10 @@ class DynamicDNSApp(app_module.App): can_have_certificate=True) self.add(domain_type) + users_and_groups = UsersAndGroups('users-and-groups-dynamicdns', + reserved_usernames=['ez-ipupd']) + self.add(users_and_groups) + def init(): """Initialize the module.""" diff --git a/plinth/modules/ejabberd/__init__.py b/plinth/modules/ejabberd/__init__.py index 94ee504cc..76e44f533 100644 --- a/plinth/modules/ejabberd/__init__.py +++ b/plinth/modules/ejabberd/__init__.py @@ -21,6 +21,7 @@ from plinth.modules.letsencrypt.components import LetsEncrypt from plinth.signals import (domain_added, post_hostname_change, pre_hostname_change) from plinth.utils import format_lazy +from plinth.modules.users.components import UsersAndGroups from .manifest import backup, clients # noqa, pylint: disable=unused-import @@ -45,8 +46,6 @@ _description = [ jsxc_url=reverse_lazy('jsxc:index')) ] -reserved_usernames = ['ejabberd'] - port_forwarding_info = [ ('TCP', 5222), ('TCP', 5269), @@ -110,6 +109,10 @@ class EjabberdApp(app_module.App): (5269, 'tcp6'), (5443, 'tcp4'), (5443, 'tcp6')]) self.add(daemon) + users_and_groups = UsersAndGroups('users-and-groups-ejabberd', + reserved_usernames=['ejabberd']) + self.add(users_and_groups) + def init(): """Initialize the ejabberd module""" diff --git a/plinth/modules/ejabberd/forms.py b/plinth/modules/ejabberd/forms.py index 98c052363..d5faea6e1 100644 --- a/plinth/modules/ejabberd/forms.py +++ b/plinth/modules/ejabberd/forms.py @@ -7,11 +7,10 @@ from django import forms from django.utils.translation import ugettext_lazy as _ from plinth import cfg -from plinth.forms import AppForm from plinth.utils import format_lazy -class EjabberdForm(AppForm): +class EjabberdForm(forms.Form): """Ejabberd configuration form.""" MAM_enabled = forms.BooleanField( label=_('Enable Message Archive Management'), required=False, diff --git a/plinth/modules/ejabberd/templates/ejabberd.html b/plinth/modules/ejabberd/templates/ejabberd.html index eb81e9774..fcf3fba51 100644 --- a/plinth/modules/ejabberd/templates/ejabberd.html +++ b/plinth/modules/ejabberd/templates/ejabberd.html @@ -28,18 +28,3 @@

{% endblock %} - - -{% block configuration %} - -

{% trans "Configuration" %}

- -
- {% csrf_token %} - - {{ form|bootstrap }} - - -
-{% endblock %} diff --git a/plinth/modules/ejabberd/views.py b/plinth/modules/ejabberd/views.py index bcfae851c..3714ae744 100644 --- a/plinth/modules/ejabberd/views.py +++ b/plinth/modules/ejabberd/views.py @@ -36,21 +36,8 @@ class EjabberdAppView(AppView): """Enable/disable a service and set messages.""" old_status = form.initial new_status = form.cleaned_data - app_same = old_status['is_enabled'] == new_status['is_enabled'] - mam_same = old_status['MAM_enabled'] == new_status['MAM_enabled'] - if app_same and mam_same: - # TODO: find a more reliable/official way to check whether the - # request has messages attached. - if not self.request._messages._queued_messages: - messages.info(self.request, _('Setting unchanged')) - elif not app_same: - if new_status['is_enabled']: - self.app.enable() - else: - self.app.disable() - - if not mam_same: + if old_status['MAM_enabled'] != new_status['MAM_enabled']: # note ejabberd action "enable" or "disable" restarts, if running if new_status['MAM_enabled']: actions.superuser_run('ejabberd', ['mam', 'enable']) diff --git a/plinth/modules/firewall/__init__.py b/plinth/modules/firewall/__init__.py index 391f03ee2..1cbc30bd0 100644 --- a/plinth/modules/firewall/__init__.py +++ b/plinth/modules/firewall/__init__.py @@ -56,6 +56,8 @@ class FirewallApp(app_module.App): app_id = 'firewall' + can_be_disabled = False + def __init__(self): """Create components for the app.""" super().__init__() @@ -104,7 +106,7 @@ def force_upgrade(helper, packages): # firewalld 0.6.x -> 0.7.x, 0.6.x -> 0.8.x, 0.7.x -> 0.8.x package = packages['firewalld'] - if Version(package['current_version']) >= Version('0.8') or \ + if Version(package['current_version']) >= Version('0.9') or \ Version(package['new_version']) < Version('0.7'): return False diff --git a/plinth/modules/gitweb/__init__.py b/plinth/modules/gitweb/__init__.py index 484946658..983a617b7 100644 --- a/plinth/modules/gitweb/__init__.py +++ b/plinth/modules/gitweb/__init__.py @@ -14,7 +14,7 @@ from plinth import frontpage, menu from plinth.errors import ActionError from plinth.modules.apache.components import Webserver from plinth.modules.firewall.components import Firewall -from plinth.modules.users import register_group +from plinth.modules.users.components import UsersAndGroups from .forms import is_repo_url from .manifest import (GIT_REPO_PATH, # noqa, pylint: disable=unused-import @@ -36,8 +36,6 @@ _description = [ 'Git tutorial.') ] -group = ('git-access', _('Read-write access to Git repositories')) - app = None @@ -50,6 +48,8 @@ class GitwebApp(app_module.App): """Create components for the app.""" super().__init__() + groups = {'git-access': _('Read-write access to Git repositories')} + self.repos = [] info = app_module.Info(app_id=self.app_id, version=version, @@ -69,7 +69,7 @@ class GitwebApp(app_module.App): icon=info.icon_filename, url='/gitweb/', clients=info.clients, login_required=True, - allowed_groups=[group[0]]) + allowed_groups=list(groups)) self.add(shortcut) firewall = Firewall('firewall-gitweb', info.name, @@ -84,6 +84,10 @@ class GitwebApp(app_module.App): 'gitweb-freedombox-auth') self.add(self.auth_webserver) + users_and_groups = UsersAndGroups('users-and-groups-gitweb', + groups=groups) + self.add(users_and_groups) + def set_shortcut_login_required(self, login_required): """Change the login_required property of shortcut.""" shortcut = self.remove('shortcut-gitweb') @@ -143,6 +147,7 @@ class GitwebApp(app_module.App): class GitwebWebserverAuth(Webserver): """Component to handle Gitweb authentication webserver configuration.""" + def is_conf_enabled(self): """Check whether Gitweb authentication configuration is enabled.""" return super().is_enabled() @@ -163,7 +168,6 @@ def init(): """Initialize the module.""" global app app = GitwebApp() - register_group(group) setup_helper = globals()['setup_helper'] if setup_helper.get_state() != 'needs-setup': diff --git a/plinth/modules/gitweb/templates/gitweb_configure.html b/plinth/modules/gitweb/templates/gitweb_configure.html index c63f89e6f..b5152afae 100644 --- a/plinth/modules/gitweb/templates/gitweb_configure.html +++ b/plinth/modules/gitweb/templates/gitweb_configure.html @@ -65,7 +65,7 @@ {% if 'clone_progress' in repo %} - {% trans 'Cloning...' %} {{ repo.clone_progress }}% + {% trans 'Cloning…' %} {{ repo.clone_progress }}% {{ repo.name }} {% else %} diff --git a/plinth/modules/help/__init__.py b/plinth/modules/help/__init__.py index 8e7420733..b062bdeb1 100644 --- a/plinth/modules/help/__init__.py +++ b/plinth/modules/help/__init__.py @@ -3,10 +3,12 @@ FreedomBox app for help pages. """ +import os + from django.utils.translation import ugettext_lazy as _ from plinth import app as app_module -from plinth import menu +from plinth import cfg, menu, web_server version = 1 @@ -51,6 +53,17 @@ class HelpApp(app_module.App): order=100) self.add(menu_item) + directory_map = {} + langs = os.listdir(os.path.join(cfg.doc_dir, 'manual')) + for lang in langs: + manual_dir = os.path.join(cfg.doc_dir, 'manual', lang, 'images') + manual_url = f'/help/manual/{lang}/images' + directory_map[manual_url] = manual_dir + + static_files = web_server.StaticFiles('static-files-help', + directory_map) + self.add(static_files) + def init(): """Initialize the Help module""" diff --git a/plinth/modules/i2p/__init__.py b/plinth/modules/i2p/__init__.py index edcbbe8af..cbdf49d14 100644 --- a/plinth/modules/i2p/__init__.py +++ b/plinth/modules/i2p/__init__.py @@ -12,7 +12,7 @@ from plinth.daemon import Daemon from plinth.modules.apache.components import Webserver from plinth.modules.firewall.components import Firewall from plinth.modules.i2p.resources import FAVORITES -from plinth.modules.users import register_group +from plinth.modules.users.components import UsersAndGroups from .manifest import backup, clients # noqa, pylint: disable=unused-import @@ -35,8 +35,6 @@ _description = [ 'configuration process.') ] -group = ('i2p', _('Manage I2P application')) - port_forwarding_info = [ ('TCP', 4444), ('TCP', 4445), @@ -60,6 +58,9 @@ class I2PApp(app_module.App): def __init__(self): """Create components for the app.""" super().__init__() + + groups = {'i2p': _('Manage I2P application')} + info = app_module.Info(app_id=self.app_id, version=version, name=_('I2P'), icon_filename='i2p', short_description=_('Anonymity Network'), @@ -77,7 +78,7 @@ class I2PApp(app_module.App): icon=info.icon_filename, url='/i2p/', clients=info.clients, login_required=True, - allowed_groups=[group[0]]) + allowed_groups=list(groups)) self.add(shortcut) firewall = Firewall('firewall-i2p-web', info.name, @@ -97,12 +98,15 @@ class I2PApp(app_module.App): listen_ports=[(7657, 'tcp6')]) self.add(daemon) + users_and_groups = UsersAndGroups('users-and-groups-i2p', + groups=groups) + self.add(users_and_groups) + def init(): """Initialize the module.""" global app app = I2PApp() - register_group(group) setup_helper = globals()['setup_helper'] if setup_helper.get_state() != 'needs-setup' and app.is_enabled(): diff --git a/plinth/modules/ikiwiki/__init__.py b/plinth/modules/ikiwiki/__init__.py index b2e3c5494..4e8e738c3 100644 --- a/plinth/modules/ikiwiki/__init__.py +++ b/plinth/modules/ikiwiki/__init__.py @@ -11,7 +11,7 @@ from plinth import app as app_module from plinth import cfg, frontpage, menu from plinth.modules.apache.components import Webserver from plinth.modules.firewall.components import Firewall -from plinth.modules.users import register_group +from plinth.modules.users.components import UsersAndGroups from plinth.utils import format_lazy from .manifest import backup, clients # noqa, pylint: disable=unused-import @@ -36,8 +36,6 @@ _description = [ users_url=reverse_lazy('users:index')) ] -group = ('wiki', _('View and edit wiki applications')) - app = None @@ -49,6 +47,7 @@ class IkiwikiApp(app_module.App): def __init__(self): """Create components for the app.""" super().__init__() + info = app_module.Info(app_id=self.app_id, version=version, name=_('ikiwiki'), icon_filename='ikiwiki', short_description=_('Wiki and Blog'), @@ -71,6 +70,11 @@ class IkiwikiApp(app_module.App): urls=['https://{host}/ikiwiki']) self.add(webserver) + groups = {'wiki': _('View and edit wiki applications')} + users_and_groups = UsersAndGroups('users-and-groups-ikiwiki', + groups=groups) + self.add(users_and_groups) + def add_shortcut(self, site, title): """Add an ikiwiki shortcut to frontpage.""" shortcut = frontpage.Shortcut('shortcut-ikiwiki-' + site, title, @@ -101,7 +105,6 @@ def init(): """Initialize the ikiwiki module.""" global app app = IkiwikiApp() - register_group(group) setup_helper = globals()['setup_helper'] if setup_helper.get_state() != 'needs-setup' and app.is_enabled(): diff --git a/plinth/modules/ikiwiki/data/etc/ikiwiki/plinth-blog.setup b/plinth/modules/ikiwiki/data/etc/ikiwiki/plinth-blog.setup index b7a83a418..2a8ff8f2c 100644 --- a/plinth/modules/ikiwiki/data/etc/ikiwiki/plinth-blog.setup +++ b/plinth/modules/ikiwiki/data/etc/ikiwiki/plinth-blog.setup @@ -25,13 +25,14 @@ IkiWiki::Setup::Automator->import( cgiurl => "/ikiwiki/$wikiname_short/ikiwiki.cgi", cgiauthurl => "/ikiwiki-auth/$wikiname_short/ikiwiki.cgi", cgi_wrapper => "/var/www/ikiwiki/$wikiname_short/ikiwiki.cgi", - add_plugins => [qw{goodstuff websetup comments calendar sidebar trail httpauth}], + add_plugins => [qw{goodstuff websetup comments calendar sidebar trail httpauth lockedit opendiscussion moderatedcomments userlist remove}], rss => 1, atom => 1, syslog => 1, example => "blog", comments_pagespec => "posts/* and !*/Discussion", archive_pagespec => "page(posts/*) and !*/Discussion", + locked_pages => "* and !postcomment(*)", global_sidebars => 0, discussion => 0, tagbase => "tags", diff --git a/plinth/modules/ikiwiki/views.py b/plinth/modules/ikiwiki/views.py index 82b02747e..8af12ea26 100644 --- a/plinth/modules/ikiwiki/views.py +++ b/plinth/modules/ikiwiki/views.py @@ -54,12 +54,10 @@ def create(request): else: form = IkiwikiCreateForm(prefix='ikiwiki') - return TemplateResponse( - request, 'ikiwiki_create.html', { - 'title': ikiwiki.app.info.name, - 'form': form, - 'is_enabled': ikiwiki.app.is_enabled(), - }) + return TemplateResponse(request, 'ikiwiki_create.html', { + 'title': ikiwiki.app.info.name, + 'form': form + }) def _create_wiki(request, name, admin_name, admin_password): diff --git a/plinth/modules/infinoted/__init__.py b/plinth/modules/infinoted/__init__.py index f65d0f8a3..64c42cf5d 100644 --- a/plinth/modules/infinoted/__init__.py +++ b/plinth/modules/infinoted/__init__.py @@ -15,7 +15,7 @@ from plinth.utils import format_lazy from .manifest import backup, clients # noqa, pylint: disable=unused-import -version = 2 +version = 3 managed_services = ['infinoted'] diff --git a/plinth/modules/jsxc/__init__.py b/plinth/modules/jsxc/__init__.py index 6d0334d47..a8f15102c 100644 --- a/plinth/modules/jsxc/__init__.py +++ b/plinth/modules/jsxc/__init__.py @@ -11,6 +11,7 @@ from django.utils.translation import ugettext_lazy as _ from plinth import app as app_module from plinth import frontpage, menu from plinth.modules.firewall.components import Firewall +from plinth.web_server import StaticFiles from .manifest import backup, clients # noqa, pylint: disable=unused-import @@ -33,6 +34,8 @@ class JSXCApp(app_module.App): app_id = 'jsxc' + can_be_disabled = False + def __init__(self): """Create components for the app.""" super().__init__() @@ -58,6 +61,16 @@ class JSXCApp(app_module.App): ports=['http', 'https'], is_external=True) self.add(firewall) + directory_map = { + '/static/jsxc/img': '/usr/share/libjs-jsxc/img/', + '/static/jsxc/libjs-jsxc/lib': '/usr/share/javascript/jsxc/lib/', + '/static/jsxc/libjs-jsxc/sound': '/usr/share/libjs-jsxc/sound/', + '/static/jsxc/libjs-jsxc/': '/usr/share/libjs-jsxc/css/', + } + static_files = StaticFiles('static-files-jsxc', + directory_map=directory_map) + self.add(static_files) + def init(): """Initialize the JSXC module""" diff --git a/plinth/modules/jsxc/static/img b/plinth/modules/jsxc/static/img deleted file mode 120000 index 7e588436e..000000000 --- a/plinth/modules/jsxc/static/img +++ /dev/null @@ -1 +0,0 @@ -/usr/share/libjs-jsxc/img/ \ No newline at end of file diff --git a/plinth/modules/jsxc/static/libjs-jsxc/jsxc.css b/plinth/modules/jsxc/static/libjs-jsxc/jsxc.css deleted file mode 120000 index 91a7501b8..000000000 --- a/plinth/modules/jsxc/static/libjs-jsxc/jsxc.css +++ /dev/null @@ -1 +0,0 @@ -/usr/share/libjs-jsxc/css/jsxc.css \ No newline at end of file diff --git a/plinth/modules/jsxc/static/libjs-jsxc/lib b/plinth/modules/jsxc/static/libjs-jsxc/lib deleted file mode 120000 index 6197f27cb..000000000 --- a/plinth/modules/jsxc/static/libjs-jsxc/lib +++ /dev/null @@ -1 +0,0 @@ -/usr/share/javascript/jsxc/lib \ No newline at end of file diff --git a/plinth/modules/jsxc/static/libjs-jsxc/sound b/plinth/modules/jsxc/static/libjs-jsxc/sound deleted file mode 120000 index c61291cd7..000000000 --- a/plinth/modules/jsxc/static/libjs-jsxc/sound +++ /dev/null @@ -1 +0,0 @@ -/usr/share/libjs-jsxc/sound/ \ No newline at end of file diff --git a/plinth/modules/jsxc/templates/jsxc.html b/plinth/modules/jsxc/templates/jsxc.html deleted file mode 100644 index c7f20d0fc..000000000 --- a/plinth/modules/jsxc/templates/jsxc.html +++ /dev/null @@ -1,9 +0,0 @@ -{% extends "app.html" %} -{% comment %} -# SPDX-License-Identifier: AGPL-3.0-or-later -{% endcomment %} - -{% load i18n %} - -{% block configuration %} -{% endblock %} diff --git a/plinth/modules/jsxc/urls.py b/plinth/modules/jsxc/urls.py index 229a9a65f..97bdd3fe6 100644 --- a/plinth/modules/jsxc/urls.py +++ b/plinth/modules/jsxc/urls.py @@ -6,9 +6,11 @@ URLs for the JSXC module from django.conf.urls import url from stronghold.decorators import public -from .views import JSXCAppView, JsxcView +from plinth.views import AppView + +from .views import JsxcView urlpatterns = [ - url(r'^apps/jsxc/$', JSXCAppView.as_view(), name='index'), + url(r'^apps/jsxc/$', AppView.as_view(app_id='jsxc'), name='index'), url(r'^apps/jsxc/jsxc/$', public(JsxcView.as_view()), name='jsxc') ] diff --git a/plinth/modules/jsxc/views.py b/plinth/modules/jsxc/views.py index b025b9263..547ce1f61 100644 --- a/plinth/modules/jsxc/views.py +++ b/plinth/modules/jsxc/views.py @@ -6,13 +6,6 @@ Views for the JSXC module from django.views.generic import TemplateView from plinth.modules import config -from plinth.views import AppView - - -class JSXCAppView(AppView): - """Show ejabberd as an app.""" - app_id = 'jsxc' - template_name = 'jsxc.html' class JsxcView(TemplateView): diff --git a/plinth/modules/matrixsynapse/forms.py b/plinth/modules/matrixsynapse/forms.py index 8ae05b01d..67ae1b47e 100644 --- a/plinth/modules/matrixsynapse/forms.py +++ b/plinth/modules/matrixsynapse/forms.py @@ -6,10 +6,8 @@ Forms for the Matrix Synapse module. from django import forms from django.utils.translation import ugettext_lazy as _ -from plinth.forms import AppForm - -class MatrixSynapseForm(AppForm): +class MatrixSynapseForm(forms.Form): enable_public_registration = forms.BooleanField( label=_('Enable Public Registration'), required=False, help_text=_( 'Enabling public registration means that anyone on the Internet ' diff --git a/plinth/modules/matrixsynapse/views.py b/plinth/modules/matrixsynapse/views.py index 4fab1ebad..c1a6e4a62 100644 --- a/plinth/modules/matrixsynapse/views.py +++ b/plinth/modules/matrixsynapse/views.py @@ -74,21 +74,9 @@ class MatrixSynapseAppView(AppView): """Handle valid form submission.""" old_config = self.get_initial() new_config = form.cleaned_data - app_same = old_config['is_enabled'] == new_config['is_enabled'] pubreg_same = old_config['enable_public_registration'] == \ new_config['enable_public_registration'] - if app_same and pubreg_same: - # TODO: find a more reliable/official way to check whether the - # request has messages attached. - if not self.request._messages._queued_messages: - messages.info(self.request, _('Setting unchanged')) - elif not app_same: - if new_config['is_enabled']: - self.app.enable() - else: - self.app.disable() - if not pubreg_same: # note action public-registration restarts, if running now if new_config['enable_public_registration']: diff --git a/plinth/modules/mediawiki/forms.py b/plinth/modules/mediawiki/forms.py index c18820e87..9c4823998 100644 --- a/plinth/modules/mediawiki/forms.py +++ b/plinth/modules/mediawiki/forms.py @@ -8,8 +8,6 @@ import pathlib from django import forms from django.utils.translation import ugettext_lazy as _ -from plinth.forms import AppForm - def get_skins(): """Return a list of available skins as choice field values.""" @@ -21,7 +19,7 @@ def get_skins(): if skin.is_dir()] -class MediaWikiForm(AppForm): # pylint: disable=W0232 +class MediaWikiForm(forms.Form): # pylint: disable=W0232 """MediaWiki configuration form.""" password = forms.CharField( label=_('Administrator Password'), help_text=_( diff --git a/plinth/modules/mediawiki/views.py b/plinth/modules/mediawiki/views.py index 689824944..0abacb969 100644 --- a/plinth/modules/mediawiki/views.py +++ b/plinth/modules/mediawiki/views.py @@ -42,27 +42,12 @@ class MediaWikiAppView(views.AppView): def is_unchanged(key): return old_config[key] == new_config[key] - app_same = is_unchanged('is_enabled') - pub_reg_same = is_unchanged('enable_public_registrations') - private_mode_same = is_unchanged('enable_private_mode') - default_skin_same = is_unchanged('default_skin') - if new_config['password']: actions.superuser_run('mediawiki', ['change-password'], input=new_config['password'].encode()) messages.success(self.request, _('Password updated')) - if (app_same and pub_reg_same and private_mode_same - and default_skin_same): - if not self.request._messages._queued_messages: - messages.info(self.request, _('Setting unchanged')) - elif not app_same: - if new_config['is_enabled']: - self.app.enable() - else: - self.app.disable() - - if not pub_reg_same: + if not is_unchanged('enable_public_registrations'): # note action public-registration restarts, if running now if new_config['enable_public_registrations']: if not new_config['enable_private_mode']: @@ -80,7 +65,7 @@ class MediaWikiAppView(views.AppView): messages.success(self.request, _('Public registrations disabled')) - if not private_mode_same: + if not is_unchanged('enable_private_mode'): if new_config['enable_private_mode']: actions.superuser_run('mediawiki', ['private-mode', 'enable']) messages.success(self.request, _('Private mode enabled')) @@ -95,7 +80,7 @@ class MediaWikiAppView(views.AppView): shortcut = mediawiki.app.get_component('shortcut-mediawiki') shortcut.login_required = new_config['enable_private_mode'] - if not default_skin_same: + if not is_unchanged('default_skin'): actions.superuser_run( 'mediawiki', ['set-default-skin', new_config['default_skin']]) messages.success(self.request, _('Default skin changed')) diff --git a/plinth/modules/minetest/__init__.py b/plinth/modules/minetest/__init__.py index 4fc1fd5ee..c8d7d373a 100644 --- a/plinth/modules/minetest/__init__.py +++ b/plinth/modules/minetest/__init__.py @@ -12,6 +12,7 @@ from plinth import cfg, frontpage, menu from plinth.daemon import Daemon from plinth.modules.firewall.components import Firewall from plinth.utils import format_lazy +from plinth.modules.users.components import UsersAndGroups from .manifest import backup, clients # noqa, pylint: disable=unused-import @@ -43,8 +44,6 @@ _description = [ port_forwarding_info = [('UDP', 30000)] -reserved_usernames = ['Debian-minetest'] - CONFIG_FILE = '/etc/minetest/minetest.conf' AUG_PATH = '/files' + CONFIG_FILE + '/.anon' @@ -87,6 +86,11 @@ class MinetestApp(app_module.App): listen_ports=[(30000, 'udp4')]) self.add(daemon) + users_and_groups = UsersAndGroups( + 'users-and-groups-minetest', + reserved_usernames=['Debian-minetest']) + self.add(users_and_groups) + def init(): """Initialize the module.""" diff --git a/plinth/modules/minetest/forms.py b/plinth/modules/minetest/forms.py index 62914fbf5..b89c893c3 100644 --- a/plinth/modules/minetest/forms.py +++ b/plinth/modules/minetest/forms.py @@ -6,10 +6,8 @@ Forms for minetest module. from django import forms from django.utils.translation import ugettext_lazy as _ -from plinth.forms import AppForm - -class MinetestForm(AppForm): +class MinetestForm(forms.Form): """Minetest configuration form""" max_players = forms.IntegerField( label=_('Maximum number of players'), required=True, min_value=1, diff --git a/plinth/modules/minidlna/__init__.py b/plinth/modules/minidlna/__init__.py index b74d68f76..778b971b5 100644 --- a/plinth/modules/minidlna/__init__.py +++ b/plinth/modules/minidlna/__init__.py @@ -9,7 +9,7 @@ from plinth import actions, frontpage, menu from plinth.daemon import Daemon from plinth.modules.apache.components import Webserver from plinth.modules.firewall.components import Firewall -from plinth.modules.users import register_group +from plinth.modules.users.components import UsersAndGroups from .manifest import backup, clients # noqa @@ -30,8 +30,6 @@ _description = [ 'such as PS3 and Xbox 360) or applications such as totem and Kodi.') ] -group = ('minidlna', _('Media streaming server')) - app = None @@ -42,6 +40,9 @@ class MiniDLNAApp(app_module.App): def __init__(self): """Initialize the app components""" super().__init__() + + groups = {'minidlna': _('Media streaming server')} + info = app_module.Info(app_id=self.app_id, version=version, name='minidlna', icon_filename='minidlna', short_description=_('Simple Media Server'), @@ -60,16 +61,12 @@ class MiniDLNAApp(app_module.App): is_external=False) webserver = Webserver('webserver-minidlna', 'minidlna-freedombox', urls=['http://localhost:8200/']) - shortcut = frontpage.Shortcut( - 'shortcut-minidlna', - info.name, - short_description=info.short_description, - description=info.description, - icon=info.icon_filename, - url='/_minidlna/', - login_required=True, - allowed_groups=[group[0]], - ) + shortcut = frontpage.Shortcut('shortcut-minidlna', info.name, + short_description=info.short_description, + description=info.description, + icon=info.icon_filename, + url='/_minidlna/', login_required=True, + allowed_groups=list(groups)) daemon = Daemon('daemon-minidlna', managed_services[0]) self.add(menu_item) @@ -78,12 +75,15 @@ class MiniDLNAApp(app_module.App): self.add(shortcut) self.add(daemon) + users_and_groups = UsersAndGroups('users-and-groups-minidlna', + groups=groups) + self.add(users_and_groups) + def init(): """Initialize the module.""" global app app = MiniDLNAApp() - register_group(group) setup_helper = globals()['setup_helper'] if setup_helper.get_state() != 'needs-setup' and app.is_enabled(): diff --git a/plinth/modules/minidlna/forms.py b/plinth/modules/minidlna/forms.py index cbadd8ce5..cc893874f 100644 --- a/plinth/modules/minidlna/forms.py +++ b/plinth/modules/minidlna/forms.py @@ -6,10 +6,8 @@ FreedomBox configuration form for MiniDLNA server. from django import forms from django.utils.translation import ugettext_lazy as _ -from plinth.forms import AppForm - -class MiniDLNAServerForm(AppForm): +class MiniDLNAServerForm(forms.Form): """MiniDLNA server configuration form.""" media_dir = forms.CharField( label=_('Media Files Directory'), diff --git a/plinth/modules/mldonkey/__init__.py b/plinth/modules/mldonkey/__init__.py index 7edd0de5b..d6572ef2f 100644 --- a/plinth/modules/mldonkey/__init__.py +++ b/plinth/modules/mldonkey/__init__.py @@ -11,7 +11,7 @@ from plinth import cfg, frontpage, menu from plinth.daemon import Daemon from plinth.modules.apache.components import Webserver from plinth.modules.firewall.components import Firewall -from plinth.modules.users import register_group +from plinth.modules.users.components import UsersAndGroups from plinth.utils import format_lazy from .manifest import backup, clients # noqa, pylint: disable=unused-import @@ -35,10 +35,6 @@ _description = [ 'directory.'), box_name=cfg.box_name) ] -reserved_usernames = ['mldonkey'] - -group = ('ed2k', _('Download files using eDonkey applications')) - app = None @@ -50,6 +46,9 @@ class MLDonkeyApp(app_module.App): def __init__(self): """Create components for the app.""" super().__init__() + + groups = {'ed2k': _('Download files using eDonkey applications')} + info = app_module.Info( app_id=self.app_id, version=version, name=_('MLDonkey'), icon_filename='mldonkey', @@ -66,7 +65,7 @@ class MLDonkeyApp(app_module.App): 'shortcut-mldonkey', info.name, short_description=info.short_description, icon=info.icon_filename, url='/mldonkey/', login_required=True, clients=info.clients, - allowed_groups=[group[0]]) + allowed_groups=list(groups)) self.add(shortcuts) firewall = Firewall('firewall-mldonkey', info.name, @@ -81,12 +80,16 @@ class MLDonkeyApp(app_module.App): listen_ports=[(4080, 'tcp4')]) self.add(daemon) + users_and_groups = UsersAndGroups('users-and-groups-mldonkey', + reserved_usernames=['mldonkey'], + groups=groups) + self.add(users_and_groups) + def init(): """Initialize the MLDonkey module.""" global app app = MLDonkeyApp() - register_group(group) setup_helper = globals()['setup_helper'] if setup_helper.get_state() != 'needs-setup' and app.is_enabled(): diff --git a/plinth/modules/monkeysphere/__init__.py b/plinth/modules/monkeysphere/__init__.py index 05063519b..5a16a383e 100644 --- a/plinth/modules/monkeysphere/__init__.py +++ b/plinth/modules/monkeysphere/__init__.py @@ -7,6 +7,7 @@ from django.utils.translation import ugettext_lazy as _ from plinth import app as app_module from plinth import menu +from plinth.modules.users.components import UsersAndGroups from .manifest import backup # noqa, pylint: disable=unused-import @@ -33,8 +34,6 @@ _description = [ 'website.') ] -reserved_usernames = ['monkeysphere'] - app = None @@ -57,6 +56,10 @@ class MonkeysphereApp(app_module.App): advanced=True) self.add(menu_item) + users_and_groups = UsersAndGroups('users-and-groups-monkeysphere', + reserved_usernames=['monkeysphere']) + self.add(users_and_groups) + def init(): """Initialize the monkeysphere module.""" diff --git a/plinth/modules/monkeysphere/templates/monkeysphere.html b/plinth/modules/monkeysphere/templates/monkeysphere.html index 3a0a309bf..16647a098 100644 --- a/plinth/modules/monkeysphere/templates/monkeysphere.html +++ b/plinth/modules/monkeysphere/templates/monkeysphere.html @@ -25,11 +25,11 @@ padding: 0; } - .form.pull-right { + .form-action.pull-right { margin-right: 10px; } - .form button { + .form-action button { width: 9em; } @@ -120,7 +120,8 @@ {% if not key.openpgp_fingerprint %} -
{% csrf_token %} @@ -129,7 +130,8 @@
{% else %} {% if not running %} -
{% csrf_token %} @@ -138,7 +140,8 @@
{% endif %} {% if key.importable_domains %} -
{% csrf_token %} diff --git a/plinth/modules/mumble/__init__.py b/plinth/modules/mumble/__init__.py index dc0b3ad32..94c4896b7 100644 --- a/plinth/modules/mumble/__init__.py +++ b/plinth/modules/mumble/__init__.py @@ -10,6 +10,7 @@ from plinth import app as app_module from plinth import frontpage, menu from plinth.daemon import Daemon from plinth.modules.firewall.components import Firewall +from plinth.modules.users.components import UsersAndGroups from .manifest import backup, clients # noqa, pylint: disable=unused-import @@ -27,8 +28,6 @@ _description = [ 'from your desktop and Android devices are available.') ] -reserved_usernames = ['mumble-server'] - port_forwarding_info = [ ('TCP', 64738), ('UDP', 64738), @@ -73,6 +72,10 @@ class MumbleApp(app_module.App): (64738, 'udp6')]) self.add(daemon) + users_and_groups = UsersAndGroups('users-and-groups-mumble', + reserved_usernames=['mumble-server']) + self.add(users_and_groups) + def init(): """Initialize the Mumble module.""" diff --git a/plinth/modules/mumble/forms.py b/plinth/modules/mumble/forms.py index ea32dc6df..fa05b25b5 100644 --- a/plinth/modules/mumble/forms.py +++ b/plinth/modules/mumble/forms.py @@ -6,10 +6,8 @@ Mumble server configuration form from django import forms from django.utils.translation import ugettext_lazy as _ -from plinth.forms import AppForm - -class MumbleForm(AppForm): +class MumbleForm(forms.Form): """Mumble server configuration""" super_user_password = forms.CharField( max_length=20, @@ -17,7 +15,6 @@ class MumbleForm(AppForm): widget=forms.PasswordInput, help_text=_( 'Optional. Leave this field blank to keep the current password. ' - 'SuperUser password can be used to manage permissions in Mumble.' - ), + 'SuperUser password can be used to manage permissions in Mumble.'), required=False, ) diff --git a/plinth/modules/networks/forms.py b/plinth/modules/networks/forms.py index 5467509ce..902c77f7f 100644 --- a/plinth/modules/networks/forms.py +++ b/plinth/modules/networks/forms.py @@ -294,7 +294,7 @@ class NetworkTopologyForm(forms.Form): """ network_topology = forms.ChoiceField( label=format_lazy( - _('Choose how your {box_name} is connected to your network'), + _('Specify how your {box_name} is connected to your network'), box_name=cfg.box_name), required=True, widget=forms.RadioSelect, diff --git a/plinth/modules/networks/templates/connections_list.html b/plinth/modules/networks/templates/connections_list.html index 5927f7c09..ee96a38d0 100644 --- a/plinth/modules/networks/templates/connections_list.html +++ b/plinth/modules/networks/templates/connections_list.html @@ -32,7 +32,7 @@ {% if connection.is_active %} - {% csrf_token %} @@ -40,7 +40,7 @@ {% trans "Deactivate" %}
{% else %} -
{% csrf_token %} diff --git a/plinth/modules/networks/templates/networks_configuration.html b/plinth/modules/networks/templates/networks_configuration.html index 5da805ef8..62cbc1420 100644 --- a/plinth/modules/networks/templates/networks_configuration.html +++ b/plinth/modules/networks/templates/networks_configuration.html @@ -29,11 +29,11 @@ margin: -2px 0; } - .form.pull-right { + .form-action.pull-right { margin-right: 20px; } - .form button { + .form-action button { width: 7em; } diff --git a/plinth/modules/pagekite/forms.py b/plinth/modules/pagekite/forms.py index 534f85d1c..caaae4c12 100644 --- a/plinth/modules/pagekite/forms.py +++ b/plinth/modules/pagekite/forms.py @@ -10,7 +10,6 @@ from django.utils.translation import ugettext as _ from django.utils.translation import ugettext_lazy from plinth.errors import ActionError -from plinth.forms import AppForm from . import utils @@ -41,7 +40,7 @@ class SubdomainWidget(forms.widgets.TextInput): """.format(inputfield, self.domain) -class ConfigurationForm(AppForm): +class ConfigurationForm(forms.Form): """Configure PageKite credentials and frontend""" server_domain = forms.CharField( diff --git a/plinth/modules/privoxy/__init__.py b/plinth/modules/privoxy/__init__.py index 40ee6c082..2848ad32b 100644 --- a/plinth/modules/privoxy/__init__.py +++ b/plinth/modules/privoxy/__init__.py @@ -13,6 +13,7 @@ from plinth.daemon import Daemon from plinth.modules.apache.components import diagnose_url from plinth.modules.firewall.components import Firewall from plinth.utils import format_lazy +from plinth.modules.users.components import UsersAndGroups from .manifest import backup # noqa, pylint: disable=unused-import @@ -39,8 +40,6 @@ _description = [ box_name=_(cfg.box_name)), ] -reserved_usernames = ['privoxy'] - app = None @@ -78,6 +77,10 @@ class PrivoxyApp(app_module.App): listen_ports=[(8118, 'tcp4'), (8118, 'tcp6')]) self.add(daemon) + users_and_groups = UsersAndGroups('users-and-groups-privoxy', + reserved_usernames=['privoxy']) + self.add(users_and_groups) + def diagnose(self): """Run diagnostics and return the results.""" results = super().diagnose() diff --git a/plinth/modules/quassel/__init__.py b/plinth/modules/quassel/__init__.py index 319e81cb7..90f1f4cfc 100644 --- a/plinth/modules/quassel/__init__.py +++ b/plinth/modules/quassel/__init__.py @@ -16,6 +16,7 @@ from plinth.modules import names from plinth.modules.firewall.components import Firewall from plinth.modules.letsencrypt.components import LetsEncrypt from plinth.utils import format_lazy +from plinth.modules.users.components import UsersAndGroups from .manifest import backup, clients # noqa, pylint: disable=unused-import @@ -43,8 +44,6 @@ _description = [ 'are available.'), ] -reserved_usernames = ['quasselcore'] - port_forwarding_info = [('TCP', 4242)] app = None @@ -95,6 +94,10 @@ class QuasselApp(app_module.App): listen_ports=[(4242, 'tcp4'), (4242, 'tcp6')]) self.add(daemon) + users_and_groups = UsersAndGroups('users-and-groups-quasselcore', + reserved_usernames=['quasselcore']) + self.add(users_and_groups) + def init(): """Initialize the quassel module.""" diff --git a/plinth/modules/quassel/forms.py b/plinth/modules/quassel/forms.py index 76c75b357..f1a9ce436 100644 --- a/plinth/modules/quassel/forms.py +++ b/plinth/modules/quassel/forms.py @@ -6,7 +6,6 @@ Forms for Quassel app. from django import forms from django.utils.translation import ugettext_lazy as _ -from plinth.forms import AppForm from plinth.modules import quassel @@ -15,7 +14,7 @@ def get_domain_choices(): return ((domain, domain) for domain in quassel.get_available_domains()) -class QuasselForm(AppForm): +class QuasselForm(forms.Form): """Form to select a TLS domain for Quassel.""" domain = forms.ChoiceField( diff --git a/plinth/modules/quassel/views.py b/plinth/modules/quassel/views.py index cad5ed3de..f8266b44c 100644 --- a/plinth/modules/quassel/views.py +++ b/plinth/modules/quassel/views.py @@ -1,5 +1,8 @@ # SPDX-License-Identifier: AGPL-3.0-or-later +from django.contrib import messages +from django.utils.translation import ugettext_lazy as _ + from plinth.modules import quassel from plinth.views import AppView @@ -20,11 +23,10 @@ class QuasselAppView(AppView): def form_valid(self, form): """Change the access control of Radicale service.""" data = form.cleaned_data - app_disable = form.initial['is_enabled'] and not data['is_enabled'] - - if not app_disable and quassel.get_domain() != data['domain']: + if quassel.get_domain() != data['domain']: quassel.set_domain(data['domain']) quassel.app.get_component( 'letsencrypt-quassel').setup_certificates() + messages.success(self.request, _('Configuration updated')) return super().form_valid(form) diff --git a/plinth/modules/radicale/__init__.py b/plinth/modules/radicale/__init__.py index 8c3e26ba6..9dd6152e6 100644 --- a/plinth/modules/radicale/__init__.py +++ b/plinth/modules/radicale/__init__.py @@ -17,7 +17,8 @@ from plinth import cfg, frontpage, menu from plinth.daemon import Daemon from plinth.modules.apache.components import Uwsgi, Webserver from plinth.modules.firewall.components import Firewall -from plinth.utils import format_lazy +from plinth.modules.users.components import UsersAndGroups +from plinth.utils import format_lazy, Version from .manifest import backup, clients # noqa, pylint: disable=unused-import @@ -39,8 +40,6 @@ _description = [ 'contacts, which must be done using a separate client.'), ] -reserved_usernames = ['radicale'] - logger = logging.getLogger(__name__) CONFIG_FILE = '/etc/radicale/config' @@ -91,9 +90,14 @@ class RadicaleApp(app_module.App): daemon = RadicaleDaemon('daemon-radicale', managed_services[0]) self.add(daemon) + users_and_groups = UsersAndGroups('users-and-groups-radicale', + reserved_usernames=['radicale']) + self.add(users_and_groups) + class RadicaleWebserver(Webserver): """Webserver enable/disable behavior specific for radicale.""" + @property def web_name(self): """Return web configuration name based on radicale version.""" @@ -110,6 +114,7 @@ class RadicaleWebserver(Webserver): class RadicaleUwsgi(Uwsgi): """uWSGI enable/disable behavior specific for radicale.""" + def is_enabled(self): """Return whether the uWSGI configuration is enabled if version>=2.""" package_version = get_package_version() @@ -134,6 +139,7 @@ class RadicaleUwsgi(Uwsgi): class RadicaleDaemon(Daemon): """Daemon enable/disable behavior specific for radicale.""" + @staticmethod def _is_old_radicale(): """Return whether radicale is less than version 2.""" @@ -206,6 +212,27 @@ def setup(helper, old_version=None): helper.call('post', app.enable) +def force_upgrade(helper, packages): + """Force upgrade radicale to resolve conffile prompt.""" + if 'radicale' not in packages: + return False + + # Allow upgrade from 2.* to newer 2.* + current_version = get_package_version() + if not current_version or current_version < VERSION_2: + return False + + package = packages['radicale'] + if Version(package['new_version']) > Version('3~'): + return False + + rights = get_rights_value() + helper.install(['radicale'], force_configuration='new') + actions.superuser_run('radicale', ['configure', '--rights_type', rights]) + + return True + + def get_package_version(): try: proc = subprocess.run(['radicale', '--version'], diff --git a/plinth/modules/radicale/forms.py b/plinth/modules/radicale/forms.py index 160c09375..6536b9e92 100644 --- a/plinth/modules/radicale/forms.py +++ b/plinth/modules/radicale/forms.py @@ -7,7 +7,6 @@ from django import forms from django.utils.translation import ugettext_lazy as _ from plinth import cfg -from plinth.forms import AppForm from plinth.utils import format_lazy CHOICES = [ @@ -26,7 +25,7 @@ CHOICES = [ ] -class RadicaleForm(AppForm): +class RadicaleForm(forms.Form): """Specialized configuration form for radicale service.""" access_rights = forms.ChoiceField(choices=CHOICES, required=True, widget=forms.RadioSelect()) diff --git a/plinth/modules/samba/__init__.py b/plinth/modules/samba/__init__.py index 48cff4d64..e6f9376af 100644 --- a/plinth/modules/samba/__init__.py +++ b/plinth/modules/samba/__init__.py @@ -17,7 +17,7 @@ from plinth import app as app_module from plinth import frontpage, menu from plinth.daemon import Daemon from plinth.modules.firewall.components import Firewall -from plinth.modules.users import register_group +from plinth.modules.users.components import UsersAndGroups from plinth.utils import format_lazy from .manifest import backup, clients # noqa, pylint: disable=unused-import @@ -44,8 +44,6 @@ _description = [ 'own private space.'), ] -group = ('freedombox-share', _('Access to the private shares')) - app = None @@ -57,6 +55,9 @@ class SambaApp(app_module.App): def __init__(self): """Create components for the app.""" super().__init__() + + groups = {'freedombox-share': _('Access to the private shares')} + info = app_module.Info(app_id=self.app_id, version=version, name=_('Samba'), icon_filename='samba', short_description=_('File Sharing'), @@ -74,7 +75,7 @@ class SambaApp(app_module.App): short_description=info.short_description, icon=info.icon_filename, description=info.description, configure_url=reverse_lazy('samba:index'), clients=info.clients, - login_required=True, allowed_groups=[group[0]]) + login_required=True, allowed_groups=list(groups)) self.add(shortcut) firewall = Firewall('firewall-samba', info.name, ports=['samba']) @@ -92,12 +93,15 @@ class SambaApp(app_module.App): self.add(daemon_nmbd) + users_and_groups = UsersAndGroups('users-and-groups-samba', + groups=groups) + self.add(users_and_groups) + def init(): """Initialize the module.""" global app app = SambaApp() - register_group(group) setup_helper = globals()['setup_helper'] if setup_helper.get_state() != 'needs-setup' and app.is_enabled(): diff --git a/plinth/modules/searx/__init__.py b/plinth/modules/searx/__init__.py index 4f0276d66..162865d45 100644 --- a/plinth/modules/searx/__init__.py +++ b/plinth/modules/searx/__init__.py @@ -12,7 +12,7 @@ from plinth import app as app_module from plinth import frontpage, menu from plinth.modules.apache.components import Uwsgi, Webserver from plinth.modules.firewall.components import Firewall -from plinth.modules.users import register_group +from plinth.modules.users.components import UsersAndGroups from .manifest import (PUBLIC_ACCESS_SETTING_FILE, # noqa, pylint: disable=unused-import backup, clients) @@ -28,8 +28,6 @@ _description = [ 'It stores no cookies by default.') ] -group = ('web-search', _('Search the web')) - manual_page = 'Searx' app = None @@ -43,6 +41,9 @@ class SearxApp(app_module.App): def __init__(self): """Create components for the app.""" super().__init__() + + groups = {'web-search': _('Search the web')} + info = app_module.Info(app_id=self.app_id, version=version, name=_('Searx'), icon_filename='searx', short_description=_('Web Search'), @@ -60,7 +61,7 @@ class SearxApp(app_module.App): short_description=info.short_description, icon=info.icon_filename, url='/searx/', clients=info.clients, login_required=(not is_public_access_enabled()), - allowed_groups=[group[0]]) + allowed_groups=list(groups)) self.add(shortcut) firewall = Firewall('firewall-searx', info.name, @@ -78,6 +79,10 @@ class SearxApp(app_module.App): uwsgi = Uwsgi('uwsgi-searx', 'searx') self.add(uwsgi) + users_and_groups = UsersAndGroups('users-and-groups-searx', + groups=groups) + self.add(users_and_groups) + def set_shortcut_login_required(self, login_required): """Change the login_required property of shortcut.""" shortcut = self.remove('shortcut-searx') @@ -87,6 +92,7 @@ class SearxApp(app_module.App): class SearxWebserverAuth(Webserver): """Component to handle Searx authentication webserver configuration.""" + def is_enabled(self): """Return if configuration is enabled or public access is enabled.""" return is_public_access_enabled() or super().is_enabled() @@ -101,7 +107,6 @@ def init(): """Initialize the module.""" global app app = SearxApp() - register_group(group) setup_helper = globals()['setup_helper'] if setup_helper.get_state() != 'needs-setup' and app.is_enabled(): diff --git a/plinth/modules/searx/forms.py b/plinth/modules/searx/forms.py index e71784e0f..87e2426f7 100644 --- a/plinth/modules/searx/forms.py +++ b/plinth/modules/searx/forms.py @@ -6,10 +6,8 @@ Django form for configuring Searx. from django import forms from django.utils.translation import ugettext_lazy as _ -from plinth.forms import AppForm - -class SearxForm(AppForm): +class SearxForm(forms.Form): """Searx configuration form.""" safe_search = forms.ChoiceField( label=_('Safe Search'), help_text=_( diff --git a/plinth/modules/shadowsocks/forms.py b/plinth/modules/shadowsocks/forms.py index 7726f99e6..593ae647f 100644 --- a/plinth/modules/shadowsocks/forms.py +++ b/plinth/modules/shadowsocks/forms.py @@ -6,7 +6,6 @@ FreedomBox app for configuring Shadowsocks. from django import forms from django.utils.translation import ugettext_lazy as _ -from plinth.forms import AppForm from plinth.utils import format_lazy METHODS = [('chacha20-ietf-poly1305', @@ -32,7 +31,7 @@ class TrimmedCharField(forms.CharField): return super(TrimmedCharField, self).clean(value) -class ShadowsocksForm(AppForm): +class ShadowsocksForm(forms.Form): """Shadowsocks configuration form""" server = TrimmedCharField(label=_('Server'), help_text=_('Server hostname or IP address')) diff --git a/plinth/modules/sharing/data/etc/plinth/modules-enabled/sharing b/plinth/modules/sharing/data/etc/plinth/modules-enabled/sharing index 7972c57cb..f8353f722 100644 --- a/plinth/modules/sharing/data/etc/plinth/modules-enabled/sharing +++ b/plinth/modules/sharing/data/etc/plinth/modules-enabled/sharing @@ -1 +1 @@ -plinth.modules.sharing \ No newline at end of file +plinth.modules.sharing diff --git a/plinth/modules/sharing/forms.py b/plinth/modules/sharing/forms.py index fc74fa2b9..29b067e8c 100644 --- a/plinth/modules/sharing/forms.py +++ b/plinth/modules/sharing/forms.py @@ -8,7 +8,7 @@ from django.core.exceptions import ValidationError from django.utils.translation import ugettext_lazy as _ from plinth.modules import sharing -from plinth.modules.users.forms import get_group_choices +from plinth.modules.users.components import UsersAndGroups class AddShareForm(forms.Form): @@ -29,6 +29,7 @@ class AddShareForm(forms.Form): 'Make files in this folder available to anyone with the link.')) groups = forms.MultipleChoiceField( + choices=UsersAndGroups.get_group_choices, widget=forms.CheckboxSelectMultiple, required=False, label=_('User groups that can read the files in the share'), help_text=_( @@ -38,7 +39,6 @@ class AddShareForm(forms.Form): def __init__(self, *args, **kwargs): """Initialize the form with extra request argument.""" super().__init__(*args, **kwargs) - self.fields['groups'].choices = get_group_choices() self.fields['name'].widget.attrs.update({'autofocus': 'autofocus'}) def clean_name(self): diff --git a/plinth/modules/ssh/forms.py b/plinth/modules/ssh/forms.py index 0e42d4491..dd6e1ccb2 100644 --- a/plinth/modules/ssh/forms.py +++ b/plinth/modules/ssh/forms.py @@ -6,10 +6,8 @@ FreedomBox configuration form for OpenSSH server. from django import forms from django.utils.translation import ugettext_lazy as _ -from plinth.forms import AppForm - -class SSHServerForm(AppForm): +class SSHServerForm(forms.Form): """SSH server configuration form.""" password_auth_disabled = forms.BooleanField( label=_('Disable password authentication'), diff --git a/plinth/modules/storage/__init__.py b/plinth/modules/storage/__init__.py index a5e759107..7b6fc7651 100644 --- a/plinth/modules/storage/__init__.py +++ b/plinth/modules/storage/__init__.py @@ -45,6 +45,8 @@ class StorageApp(app_module.App): app_id = 'storage' + can_be_disabled = False + def __init__(self): """Create components for the app.""" super().__init__() diff --git a/plinth/modules/storage/forms.py b/plinth/modules/storage/forms.py index d871dd3b5..b825bc4b1 100644 --- a/plinth/modules/storage/forms.py +++ b/plinth/modules/storage/forms.py @@ -11,7 +11,6 @@ from django.core.exceptions import ValidationError from django.utils.translation import ugettext_lazy as _ from plinth import actions, module_loader -from plinth.forms import AppForm from plinth.modules import storage @@ -78,8 +77,8 @@ class DirectoryValidator: if 'ValidationError' in output: error_nr = int(output.strip().split()[1]) if error_nr == 1: - raise ValidationError( - _('Directory does not exist.'), 'invalid') + raise ValidationError(_('Directory does not exist.'), + 'invalid') elif error_nr == 2: raise ValidationError(_('Path is not a directory.'), 'invalid') elif error_nr == 3: @@ -90,12 +89,12 @@ class DirectoryValidator: _('Directory is not writable by the user.'), 'invalid') -class DirectorySelectForm(AppForm): +class DirectorySelectForm(forms.Form): """Directory selection form.""" storage_dir = forms.ChoiceField(choices=[], label=_('Directory'), required=True) - storage_subdir = forms.CharField( - label=_('Subdirectory (optional)'), required=False) + storage_subdir = forms.CharField(label=_('Subdirectory (optional)'), + required=False) def __init__(self, title=None, default='/', validator=DirectoryValidator, *args, **kwargs): @@ -108,16 +107,15 @@ class DirectorySelectForm(AppForm): def clean(self): """Clean and validate form data.""" - if self.cleaned_data['is_enabled'] or not self.initial['is_enabled']: - storage_dir = self.cleaned_data['storage_dir'] - storage_subdir = self.cleaned_data['storage_subdir'] - if storage_dir != '/': - storage_subdir = storage_subdir.lstrip('/') - storage_path = os.path.realpath( - os.path.join(storage_dir, storage_subdir)) - if self.validator: - self.validator(storage_path) - self.cleaned_data.update({'storage_path': storage_path}) + storage_dir = self.cleaned_data['storage_dir'] + storage_subdir = self.cleaned_data['storage_subdir'] + if storage_dir != '/': + storage_subdir = storage_subdir.lstrip('/') + storage_path = os.path.realpath( + os.path.join(storage_dir, storage_subdir)) + if self.validator: + self.validator(storage_path) + self.cleaned_data.update({'storage_path': storage_path}) def get_initial(self, choices): """Get initial form data.""" diff --git a/plinth/modules/syncthing/__init__.py b/plinth/modules/syncthing/__init__.py index ac43cc1a1..3def2d005 100644 --- a/plinth/modules/syncthing/__init__.py +++ b/plinth/modules/syncthing/__init__.py @@ -11,7 +11,7 @@ from plinth import cfg, frontpage, menu from plinth.daemon import Daemon from plinth.modules.apache.components import Webserver from plinth.modules.firewall.components import Firewall -from plinth.modules.users import register_group +from plinth.modules.users.components import UsersAndGroups from plinth.utils import format_lazy from .manifest import backup, clients # noqa, pylint: disable=unused-import @@ -34,11 +34,10 @@ _description = [ 'instance of Syncthing that may be used by multiple users. Each ' 'user\'s set of devices may be synchronized with a distinct set of ' 'folders. The web interface on {box_name} is only available for ' - 'users belonging to the "admin" group.'), box_name=_(cfg.box_name)), + 'users belonging to the "admin" or "syncthing" group.'), + box_name=_(cfg.box_name)), ] -group = ('syncthing', _('Administer Syncthing application')) - app = None @@ -50,6 +49,9 @@ class SyncthingApp(app_module.App): def __init__(self): """Create components for the app.""" super().__init__() + + self.groups = {'syncthing': _('Administer Syncthing application')} + info = app_module.Info(app_id=self.app_id, version=version, name=_('Syncthing'), icon_filename='syncthing', short_description=_('File Synchronization'), @@ -67,7 +69,7 @@ class SyncthingApp(app_module.App): icon=info.icon_filename, url='/syncthing/', clients=info.clients, login_required=True, - allowed_groups=[group[0]]) + allowed_groups=list(self.groups)) self.add(shortcut) firewall = Firewall('firewall-syncthing-web', info.name, @@ -85,12 +87,15 @@ class SyncthingApp(app_module.App): daemon = Daemon('daemon-syncthing', managed_services[0]) self.add(daemon) + users_and_groups = UsersAndGroups('users-and-groups-syncthing', + groups=self.groups) + self.add(users_and_groups) + def init(): """Initialize the module.""" global app app = SyncthingApp() - register_group(group) setup_helper = globals()['setup_helper'] if setup_helper.get_state() != 'needs-setup' and app.is_enabled(): diff --git a/plinth/modules/tahoe/templates/tahoe-post-setup.html b/plinth/modules/tahoe/templates/tahoe-post-setup.html index ecfa1e146..5ad56edf6 100644 --- a/plinth/modules/tahoe/templates/tahoe-post-setup.html +++ b/plinth/modules/tahoe/templates/tahoe-post-setup.html @@ -24,17 +24,7 @@ {% endblock %} {% block configuration %} -

{% trans "Configuration" %}

- - - {% csrf_token %} - - {{ form|bootstrap }} - - -
-
+ {{ block.super }}

{% trans "Local introducer" %}

diff --git a/plinth/modules/tor/__init__.py b/plinth/modules/tor/__init__.py index 72d03e591..6c55029f2 100644 --- a/plinth/modules/tor/__init__.py +++ b/plinth/modules/tor/__init__.py @@ -15,6 +15,7 @@ from plinth.modules.apache.components import diagnose_url from plinth.modules.firewall.components import Firewall from plinth.modules.names.components import DomainType from plinth.signals import domain_added, domain_removed +from plinth.modules.users.components import UsersAndGroups from . import utils from .manifest import backup, clients # noqa, pylint: disable=unused-import @@ -38,8 +39,6 @@ _description = [ 'Tor Browser.') ] -reserved_usernames = ['debian-tor'] - app = None @@ -82,6 +81,10 @@ class TorApp(app_module.App): (9040, 'tcp6'), (9053, 'udp4'), (9053, 'udp6')]) self.add(daemon) + users_and_groups = UsersAndGroups('users-and-groups-tor', + reserved_usernames=['debian-tor']) + self.add(users_and_groups) + def diagnose(self): """Run diagnostics and return the results.""" results = super().diagnose() diff --git a/plinth/modules/transmission/__init__.py b/plinth/modules/transmission/__init__.py index eac87db5f..29bf1367c 100644 --- a/plinth/modules/transmission/__init__.py +++ b/plinth/modules/transmission/__init__.py @@ -13,7 +13,8 @@ from plinth import frontpage, menu from plinth.daemon import Daemon from plinth.modules.apache.components import Webserver from plinth.modules.firewall.components import Firewall -from plinth.modules.users import add_user_to_share_group, register_group +from plinth.modules.users import add_user_to_share_group +from plinth.modules.users.components import UsersAndGroups from .manifest import backup, clients # noqa, pylint: disable=unused-import @@ -29,12 +30,10 @@ _description = [ 'BitTorrent is not anonymous.'), ] -reserved_usernames = ['debian-transmission'] - -group = ('bit-torrent', _('Download files using BitTorrent applications')) - app = None +SYSTEM_USER = 'debian-transmission' + class TransmissionApp(app_module.App): """FreedomBox app for Transmission.""" @@ -44,6 +43,10 @@ class TransmissionApp(app_module.App): def __init__(self): """Create components for the app.""" super().__init__() + + groups = { + 'bit-torrent': _('Download files using BitTorrent applications') + } info = app_module.Info(app_id=self.app_id, version=version, name=_('Transmission'), icon_filename='transmission', @@ -61,7 +64,7 @@ class TransmissionApp(app_module.App): 'shortcut-transmission', info.name, short_description=info.short_description, icon=info.icon_filename, url='/transmission', clients=info.clients, login_required=True, - allowed_groups=[group[0]]) + allowed_groups=list(groups)) self.add(shortcut) firewall = Firewall('firewall-transmission', info.name, @@ -76,12 +79,16 @@ class TransmissionApp(app_module.App): listen_ports=[(9091, 'tcp4')]) self.add(daemon) + users_and_groups = UsersAndGroups('users-and-groups-transmission', + reserved_usernames=[SYSTEM_USER], + groups=groups) + self.add(users_and_groups) + def init(): """Initialize the Transmission module.""" global app app = TransmissionApp() - register_group(group) setup_helper = globals()['setup_helper'] if setup_helper.get_state() != 'needs-setup' and app.is_enabled(): @@ -99,5 +106,5 @@ def setup(helper, old_version=None): helper.call('post', actions.superuser_run, 'transmission', ['merge-configuration'], input=json.dumps(new_configuration).encode()) - add_user_to_share_group(reserved_usernames[0], managed_services[0]) + add_user_to_share_group(SYSTEM_USER, managed_services[0]) helper.call('post', app.enable) diff --git a/plinth/modules/transmission/forms.py b/plinth/modules/transmission/forms.py index 30a081cee..20a1abf46 100644 --- a/plinth/modules/transmission/forms.py +++ b/plinth/modules/transmission/forms.py @@ -5,18 +5,19 @@ FreedomBox app for configuring Transmission. from django.utils.translation import ugettext_lazy as _ -from plinth.modules.transmission import reserved_usernames from plinth.modules.storage.forms import (DirectorySelectForm, DirectoryValidator) +from . import SYSTEM_USER + class TransmissionForm(DirectorySelectForm): """Transmission configuration form""" def __init__(self, *args, **kw): - validator = DirectoryValidator( - username=reserved_usernames[0], check_creatable=True) - super(TransmissionForm, self).__init__( - title=_('Download directory'), - default='/var/lib/transmission-daemon/downloads', - validator=validator, *args, **kw) + validator = DirectoryValidator(username=SYSTEM_USER, + check_creatable=True) + super(TransmissionForm, + self).__init__(title=_('Download directory'), + default='/var/lib/transmission-daemon/downloads', + validator=validator, *args, **kw) diff --git a/plinth/modules/transmission/views.py b/plinth/modules/transmission/views.py index 84319ecfb..d0372be2a 100644 --- a/plinth/modules/transmission/views.py +++ b/plinth/modules/transmission/views.py @@ -37,16 +37,13 @@ class TransmissionAppView(views.AppView): """Apply the changes submitted in the form.""" old_status = form.initial new_status = form.cleaned_data + if old_status['storage_path'] != new_status['storage_path']: + new_configuration = { + 'download-dir': new_status['storage_path'], + } - if new_status['is_enabled'] or not old_status['is_enabled']: - if old_status['storage_path'] != new_status['storage_path']: - new_configuration = { - 'download-dir': new_status['storage_path'], - } - - actions.superuser_run( - 'transmission', ['merge-configuration'], - input=json.dumps(new_configuration).encode()) - messages.success(self.request, _('Configuration updated')) + actions.superuser_run('transmission', ['merge-configuration'], + input=json.dumps(new_configuration).encode()) + messages.success(self.request, _('Configuration updated')) return super().form_valid(form) diff --git a/plinth/modules/ttrss/__init__.py b/plinth/modules/ttrss/__init__.py index 1fdc95917..d60155ed2 100644 --- a/plinth/modules/ttrss/__init__.py +++ b/plinth/modules/ttrss/__init__.py @@ -12,7 +12,7 @@ from plinth import cfg, frontpage, menu from plinth.daemon import Daemon from plinth.modules.apache.components import Webserver from plinth.modules.firewall.components import Firewall -from plinth.modules.users import register_group +from plinth.modules.users.components import UsersAndGroups from plinth.utils import Version, format_lazy from .manifest import backup, clients # noqa, pylint: disable=unused-import @@ -39,8 +39,6 @@ _description = [ '/tt-rss-app for connecting.')) ] -group = ('feed-reader', _('Read and subscribe to news feeds')) - app = None @@ -52,6 +50,9 @@ class TTRSSApp(app_module.App): def __init__(self): """Create components for the app.""" super().__init__() + + groups = {'feed-reader': _('Read and subscribe to news feeds')} + info = app_module.Info(app_id=self.app_id, version=version, name=_('Tiny Tiny RSS'), icon_filename='ttrss', short_description=_('News Feed Reader'), @@ -69,7 +70,7 @@ class TTRSSApp(app_module.App): icon=info.icon_filename, url='/tt-rss', clients=info.clients, login_required=True, - allowed_groups=[group[0]]) + allowed_groups=list(groups)) self.add(shortcut) firewall = Firewall('firewall-ttrss', info.name, @@ -83,6 +84,10 @@ class TTRSSApp(app_module.App): daemon = Daemon('daemon-ttrss', managed_services[0]) self.add(daemon) + users_and_groups = UsersAndGroups('users-and-groups-ttrss', + groups=groups) + self.add(users_and_groups) + def enable(self): """Enable components and API access.""" super().enable() @@ -93,7 +98,6 @@ def init(): """Initialize the module.""" global app app = TTRSSApp() - register_group(group) setup_helper = globals()['setup_helper'] if setup_helper.get_state() != 'needs-setup' and app.is_enabled(): diff --git a/plinth/modules/upgrades/__init__.py b/plinth/modules/upgrades/__init__.py index de1f794a6..989bba4f5 100644 --- a/plinth/modules/upgrades/__init__.py +++ b/plinth/modules/upgrades/__init__.py @@ -31,6 +31,8 @@ class UpgradesApp(app_module.App): app_id = 'upgrades' + can_be_disabled = False + def __init__(self): """Create components for the app.""" super().__init__() diff --git a/plinth/modules/upgrades/views.py b/plinth/modules/upgrades/views.py index 08d9786c8..1da6c734d 100644 --- a/plinth/modules/upgrades/views.py +++ b/plinth/modules/upgrades/views.py @@ -7,7 +7,6 @@ from django.contrib import messages from django.template.response import TemplateResponse from django.urls import reverse_lazy from django.utils.translation import ugettext as _ -from django.views.generic.edit import FormView from plinth import actions from plinth.errors import ActionError @@ -52,10 +51,8 @@ class UpgradesConfigurationView(AppView): else: messages.success(self.request, _('Automatic upgrades disabled')) - else: - messages.info(self.request, _('Settings unchanged')) - return FormView.form_valid(self, form) + return super().form_valid(form) def is_package_manager_busy(): diff --git a/plinth/modules/users/__init__.py b/plinth/modules/users/__init__.py index e8d3e8e99..ddb27f584 100644 --- a/plinth/modules/users/__init__.py +++ b/plinth/modules/users/__init__.py @@ -14,6 +14,8 @@ from plinth import cfg, menu from plinth.daemon import Daemon from plinth.utils import format_lazy +from .components import UsersAndGroups + version = 3 is_essential = True @@ -45,9 +47,6 @@ _description = [ box_name=_(cfg.box_name)) ] -# All FreedomBox user groups -groups = dict() - app = None @@ -56,6 +55,8 @@ class UsersApp(app_module.App): app_id = 'users' + can_be_disabled = False + def __init__(self): """Create components for the app.""" super().__init__() @@ -73,6 +74,12 @@ class UsersApp(app_module.App): listen_ports=[(389, 'tcp4'), (389, 'tcp6')]) self.add(daemon) + # Add the admin group + groups = {'admin': _('Access to all services and system settings')} + users_and_groups = UsersAndGroups('users-and-groups-admin', + groups=groups) + self.add(users_and_groups) + def diagnose(self): """Run diagnostics and return the results.""" results = super().diagnose() @@ -127,10 +134,6 @@ def remove_group(group): actions.superuser_run('users', options=['remove-group', group]) -def register_group(group): - groups[group[0]] = group[1] - - def get_last_admin_user(): """If there is only one admin user return its name else return None.""" output = actions.superuser_run('users', ['get-group-users', 'admin']) diff --git a/plinth/modules/users/components.py b/plinth/modules/users/components.py new file mode 100644 index 000000000..1d79e412b --- /dev/null +++ b/plinth/modules/users/components.py @@ -0,0 +1,56 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +""" +App component to manage users and groups. +""" + +import itertools + +from plinth import app + + +class UsersAndGroups(app.FollowerComponent): + """Component to manage users and groups of an app.""" + + # Class variable to hold a list of user groups for apps + _all_components = set() + + def __init__(self, component_id, reserved_usernames=[], groups={}): + """Store reserved_usernames and groups of the app. + + 'reserved_usernames' is a list of operating system user names that the + app uses. It is not permitted to create a FreedomBox user with one of + these names. + + 'groups' is a dictionary of the following format: {"group_name": "A + localized string describing what permissions are offered to the users + of this group"}. + + """ + super().__init__(component_id) + + self.reserved_usernames = reserved_usernames + self.groups = groups + + self._all_components.add(self) + + @classmethod + def get_groups(cls): + """Return a set of all groups.""" + all_groups = itertools.chain(*(component.groups.keys() + for component in cls._all_components)) + return set(all_groups) + + @classmethod + def get_group_choices(cls): + """Return list of groups that can be used as form choices.""" + all_groups = itertools.chain(*(component.groups.items() + for component in cls._all_components)) + choices = [(group, f'{description} ({group})') + for group, description in set(all_groups)] + return sorted(choices, key=lambda g: g[0]) + + @classmethod + def is_username_reserved(cls, username): + """Returns whether the given username is reserved or not.""" + return any((username in component.reserved_usernames + for component in cls._all_components)) diff --git a/plinth/modules/users/forms.py b/plinth/modules/users/forms.py index 96ef0e4f0..91c469fff 100644 --- a/plinth/modules/users/forms.py +++ b/plinth/modules/users/forms.py @@ -3,7 +3,6 @@ import pwd import re -import plinth.forms from django import forms from django.contrib import auth, messages from django.contrib.auth.forms import SetPasswordForm, UserCreationForm @@ -13,26 +12,20 @@ from django.core.exceptions import ValidationError from django.utils.deconstruct import deconstructible from django.utils.translation import ugettext as _ from django.utils.translation import ugettext_lazy -from plinth import actions, module_loader + +import plinth.forms +from plinth import actions from plinth.errors import ActionError -from plinth.modules import first_boot, users +from plinth.modules import first_boot from plinth.modules.security import set_restricted_access from plinth.translation import set_language from plinth.utils import is_user_admin from . import get_last_admin_user +from .components import UsersAndGroups -def get_group_choices(): - """Return localized group description and group name in one string.""" - admin_group = ('admin', _('Access to all services and system settings')) - users.register_group(admin_group) - choices = [(k, ('{} ({})'.format(users.groups[k], k))) - for k in users.groups] - return sorted(choices, key=lambda g: g[0]) - - -class ValidNewUsernameCheckMixin(object): +class ValidNewUsernameCheckMixin: """Mixin to check if a username is valid for created new user.""" def clean_username(self): @@ -40,8 +33,8 @@ class ValidNewUsernameCheckMixin(object): username = self.cleaned_data['username'] if self.instance.username != username and \ not self.is_valid_new_username(): - raise ValidationError( - _('Username is taken or is reserved.'), code='invalid') + raise ValidationError(_('Username is taken or is reserved.'), + code='invalid') return username @@ -52,10 +45,8 @@ class ValidNewUsernameCheckMixin(object): if username.lower() in existing_users: return False - for module_name, module in module_loader.loaded_modules.items(): - for reserved_username in getattr(module, 'reserved_usernames', []): - if username.lower() == reserved_username.lower(): - return False + if UsersAndGroups.is_username_reserved(username.lower()): + return False return True @@ -88,9 +79,9 @@ class CreateUserForm(ValidNewUsernameCheckMixin, """ username = USERNAME_FIELD groups = forms.MultipleChoiceField( - choices=get_group_choices(), label=ugettext_lazy('Permissions'), - required=False, widget=forms.CheckboxSelectMultiple, - help_text=ugettext_lazy( + choices=UsersAndGroups.get_group_choices, + label=ugettext_lazy('Permissions'), required=False, + widget=forms.CheckboxSelectMultiple, help_text=ugettext_lazy( 'Select which services should be available to the new ' 'user. The user will be able to log in to services that ' 'support single sign-on through LDAP, if they are in the ' @@ -109,7 +100,6 @@ class CreateUserForm(ValidNewUsernameCheckMixin, """Initialize the form with extra request argument.""" self.request = request super(CreateUserForm, self).__init__(*args, **kwargs) - self.fields['groups'].choices = get_group_choices() self.fields['username'].widget.attrs.update({ 'autofocus': 'autofocus', 'autocapitalize': 'none', @@ -175,7 +165,7 @@ class UserUpdateForm(ValidNewUsernameCheckMixin, def __init__(self, request, username, *args, **kwargs): """Initialize the form with extra request argument.""" - group_choices = dict(get_group_choices()) + group_choices = dict(UsersAndGroups.get_group_choices()) for group in group_choices: Group.objects.get_or_create(name=group) @@ -313,9 +303,8 @@ class UserChangePasswordForm(SetPasswordForm): """Initialize the form with extra request argument.""" self.request = request super(UserChangePasswordForm, self).__init__(*args, **kwargs) - self.fields['new_password1'].widget.attrs.update({ - 'autofocus': 'autofocus' - }) + self.fields['new_password1'].widget.attrs.update( + {'autofocus': 'autofocus'}) def save(self, commit=True): """Save the user model and change LDAP password as well.""" @@ -366,7 +355,7 @@ class FirstBootForm(ValidNewUsernameCheckMixin, auth.forms.UserCreationForm): _('Failed to add new user to admin group.')) # Create initial Django groups - for group_choice in get_group_choices(): + for group_choice in UsersAndGroups.get_group_choices(): auth.models.Group.objects.get_or_create(name=group_choice[0]) admin_group = auth.models.Group.objects.get(name='admin') diff --git a/plinth/modules/users/tests/test_components.py b/plinth/modules/users/tests/test_components.py new file mode 100644 index 000000000..2ab2e0276 --- /dev/null +++ b/plinth/modules/users/tests/test_components.py @@ -0,0 +1,67 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +""" +Tests for the UsersAndGroups app component. +""" + +import pytest + +from ..components import UsersAndGroups + + +@pytest.fixture(autouse=True) +def fixture_empty_components(): + """Remove all components from the global list before every test.""" + UsersAndGroups._all_components = set() + + +def test_create_users_and_groups_component(): + """Test initialization of users and groups component.""" + component = UsersAndGroups('simple-component') + assert component.groups == {} + assert component.reserved_usernames == [] + assert len(component._all_components) == 1 + assert component in component._all_components + + groups = {'test-group1', 'Test description'} + component = UsersAndGroups('another-component', groups=groups, + reserved_usernames=['test-user1']) + assert component.groups == groups + assert component.reserved_usernames == ['test-user1'] + assert len(component._all_components) == 2 + assert component in component._all_components + + +def test_get_groups(): + """Test getting all the groups. + + Test that: + 1. Group names are unique + 2. All components have the same global set of groups + + """ + UsersAndGroups('component-with-no-groups') + UsersAndGroups('component-with-one-group', + groups={'group1': 'description1'}) + UsersAndGroups('component-with-groups', groups={ + 'group1': 'description1', + 'group2': 'description2' + }) + + assert UsersAndGroups.get_groups() == {'group1', 'group2'} + assert UsersAndGroups.get_group_choices() == [ + ('group1', 'description1 (group1)'), + ('group2', 'description2 (group2)') + ] + + +def test_check_username_reservation(): + """Test username reservations by multiple components.""" + UsersAndGroups('complex-component', + reserved_usernames=['username1', 'username2'], + groups={'somegroup', 'some description'}) + assert not UsersAndGroups.is_username_reserved('something') + assert UsersAndGroups.is_username_reserved('username1') + + assert not UsersAndGroups.is_username_reserved('username3') + UsersAndGroups('temp-component', reserved_usernames=['username3']) + assert UsersAndGroups.is_username_reserved('username3') diff --git a/plinth/modules/users/tests/test_group.py b/plinth/modules/users/tests/test_group.py deleted file mode 100644 index 4d6cf141a..000000000 --- a/plinth/modules/users/tests/test_group.py +++ /dev/null @@ -1,18 +0,0 @@ -# SPDX-License-Identifier: AGPL-3.0-or-later -""" -Test module to exercise group registration. - -It is recommended to run this module with root privileges in a virtual machine. -""" - -from plinth.modules import users - - -def test_register_group(): - """Test for multi addition of same group""" - users.groups = dict() # reset groups - group = ('TestGroup', 'Group for testing') - users.register_group(group) - users.register_group(group) - assert len(users.groups) == 1 - return users.groups diff --git a/plinth/modules/users/tests/test_views.py b/plinth/modules/users/tests/test_views.py index b0e0401b2..97d717908 100644 --- a/plinth/modules/users/tests/test_views.py +++ b/plinth/modules/users/tests/test_views.py @@ -10,9 +10,12 @@ from django import urls from django.contrib.auth.models import User from django.contrib.messages.storage.fallback import FallbackStorage from django.core.exceptions import PermissionDenied + from plinth import module_loader from plinth.modules.users import views +from ..components import UsersAndGroups + # For all tests, plinth.urls instead of urls configured for testing, and # django database pytestmark = [pytest.mark.urls('plinth.urls'), pytest.mark.django_db] @@ -43,15 +46,16 @@ def action_run(action, options, **kwargs): @pytest.fixture(autouse=True) def module_patch(): """Patch users module.""" - loaded_modules = [('minetest', - Mock(reserved_usernames=['Debian-minetest']))] pwd_users = [Mock(pw_name='root'), Mock(pw_name='plinth')] - with patch('pwd.getpwall', return_value=pwd_users),\ - patch('plinth.actions.superuser_run', side_effect=action_run),\ - patch('plinth.module_loader.loaded_modules.items', - return_value=loaded_modules): + UsersAndGroups._all_components = set() + UsersAndGroups('test-users-and-groups', + groups={'admin': 'The admin group'}) + UsersAndGroups('users-and-groups-minetest', + reserved_usernames=['debian-minetest']) + with patch('pwd.getpwall', return_value=pwd_users),\ + patch('plinth.actions.superuser_run', side_effect=action_run): yield diff --git a/plinth/templates/app-header.html b/plinth/templates/app-header.html index d071abe72..d98c9a630 100644 --- a/plinth/templates/app-header.html +++ b/plinth/templates/app-header.html @@ -28,15 +28,17 @@ {% endif %} {% endblock %} -
- {% if is_enabled %} - - {% else %} - - {% endif %} -
+ {% if app_enable_disable_form %} + + {% csrf_token %} + + {{ app_enable_disable_form }} + + + + {% endif %} {% block description %} diff --git a/plinth/templates/app.html b/plinth/templates/app.html index 4eac53460..21eb4d50d 100644 --- a/plinth/templates/app.html +++ b/plinth/templates/app.html @@ -42,16 +42,18 @@ {% endblock %} {% block configuration %} -

{% trans "Configuration" %}

- - {% csrf_token %} + {% if form %} +

{% trans "Configuration" %}

- {{ form|bootstrap }} + + {% csrf_token %} - - + {{ form|bootstrap }} + + + + {% endif %} {% endblock %} - {% endblock %} diff --git a/plinth/tests/test_web_server.py b/plinth/tests/test_web_server.py new file mode 100644 index 000000000..e6e5d5237 --- /dev/null +++ b/plinth/tests/test_web_server.py @@ -0,0 +1,63 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +""" +Tests for CherryPy web server setup and its components. +""" + +from unittest.mock import call, patch + +import pytest + +from plinth.web_server import StaticFiles + + +@pytest.fixture(autouse=True) +def fixture_cleanup_static_files(): + """Ensure that global list of static files is clean.""" + StaticFiles._all_instances = {} + + +def test_static_files_init(): + """Test that static files component is being initialized correctly.""" + component = StaticFiles('test-component') + assert component.component_id == 'test-component' + assert component.directory_map is None + + directory_map = {'/a': '/b'} + component = StaticFiles('test-component', directory_map) + assert component.directory_map == directory_map + + +def test_static_files_list(): + """Test that static files components can be listed properly.""" + component1 = StaticFiles('test-component1') + component2 = StaticFiles('test-component2') + + assert set(StaticFiles.list()) == {component1, component2} + + +@patch('cherrypy.tree.mount') +def test_static_files_mount(mount, load_cfg): + """Test that mounting on CherryPy works as expected.""" + directory_map = {'/a': '/b', '/c': '/d'} + component = StaticFiles('test-component', directory_map) + component.mount() + + calls = [ + call( + None, '/plinth/a', { + '/': { + 'tools.staticdir.root': '/b', + 'tools.staticdir.on': True, + 'tools.staticdir.dir': '.' + } + }), + call( + None, '/plinth/c', { + '/': { + 'tools.staticdir.root': '/d', + 'tools.staticdir.on': True, + 'tools.staticdir.dir': '.' + } + }) + ] + mount.assert_has_calls(calls) diff --git a/plinth/views.py b/plinth/views.py index fb6c3ccdd..8e4fa5b70 100644 --- a/plinth/views.py +++ b/plinth/views.py @@ -7,7 +7,7 @@ import time from django.contrib import messages from django.core.exceptions import ImproperlyConfigured -from django.http import Http404, HttpResponseRedirect +from django.http import Http404, HttpResponseBadRequest, HttpResponseRedirect from django.template.response import TemplateResponse from django.urls import reverse from django.utils.http import is_safe_url @@ -114,8 +114,8 @@ class AppView(FormView): retrieve the App instance for the app that is needed for basic information and operations such as enabling/disabling the app. - 'form_class' is the Django form class that is used by this view. By default - the AppForm class is used. + 'form_class' is the Django form class that is used by this view. It may be + None if the app does not have a configuration form. Default is None. 'template_name' is the template used to render this view. By default it is app.html. It may be overridden with a template that derives from app.html @@ -127,7 +127,7 @@ class AppView(FormView): forward ports on their router for this app to work properly. """ - form_class = forms.AppForm + form_class = None app_id = None template_name = 'app.html' port_forwarding_info = None @@ -137,6 +137,17 @@ class AppView(FormView): super().__init__(*args, **kwargs) self._common_status = None + def post(self, request, *args, **kwargs): + """Handle app enable/disable button separately.""" + if 'app_enable_disable_button' not in request.POST: + return super().post(request, *args, **kwargs) + + form = forms.AppEnableDisableForm(data=self.request.POST) + if form.is_valid(): + return self.enable_disable_form_valid(form) + + return HttpResponseBadRequest('Invalid form submission') + @property def success_url(self): return self.request.path @@ -149,6 +160,17 @@ class AppView(FormView): return app.App.get(self.app_id) + def get_form(self, *args, **kwargs): + """Return an instance of this view's form. + + Also the form_class for this view to be None. + + """ + if not self.form_class: + return None + + return super().get_form(*args, **kwargs) + def _get_common_status(self): """Return the status needed for form and template. @@ -170,24 +192,36 @@ class AppView(FormView): def form_valid(self, form): """Enable/disable a service and set messages.""" - old_status = form.initial - new_status = form.cleaned_data - - if old_status['is_enabled'] == new_status['is_enabled']: - # TODO: find a more reliable/official way to check whether the - # request has messages attached. - if not self.request._messages._queued_messages: - messages.info(self.request, _('Setting unchanged')) - else: - if new_status['is_enabled']: - self.app.enable() - messages.success(self.request, _('Application enabled')) - else: - self.app.disable() - messages.success(self.request, _('Application disabled')) + if not self.request._messages._queued_messages: + messages.info(self.request, _('Setting unchanged')) return super().form_valid(form) + def get_enable_disable_form(self): + """Return an instance of the app enable/disable form. + + If the app can't be disabled by the user, return None. + + """ + if not self.app.can_be_disabled: + return None + + initial = { + 'should_enable': not self._get_common_status()['is_enabled'] + } + return forms.AppEnableDisableForm(initial=initial) + + def enable_disable_form_valid(self, form): + """Form handling for enabling / disabling apps.""" + should_enable = form.cleaned_data['should_enable'] + if should_enable != self.app.is_enabled(): + if should_enable: + self.app.enable() + else: + self.app.disable() + + return HttpResponseRedirect(self.request.path) + def get_context_data(self, *args, **kwargs): """Add service to the context data.""" context = super().get_context_data(*args, **kwargs) @@ -197,6 +231,7 @@ class AppView(FormView): context['app_info'] = self.app.info context['has_diagnostics'] = self.app.has_diagnostics() context['port_forwarding_info'] = self.port_forwarding_info + context['app_enable_disable_form'] = self.get_enable_disable_form() from plinth.modules.firewall.components import Firewall context['firewall'] = self.app.get_components_of_type(Firewall) diff --git a/plinth/web_server.py b/plinth/web_server.py index 27d86ab15..b85283776 100644 --- a/plinth/web_server.py +++ b/plinth/web_server.py @@ -8,7 +8,7 @@ import os import cherrypy -from . import cfg, log, module_loader, web_framework +from . import app, cfg, log, module_loader, web_framework logger = logging.getLogger(__name__) @@ -56,13 +56,6 @@ def init(): _mount_static_directory('/usr/share/javascript', '/javascript') - langs = os.listdir(os.path.join(cfg.doc_dir, 'manual')) - for lang in langs: - manual_dir = os.path.join(cfg.doc_dir, 'manual', lang, 'images') - manual_url = '/'.join([cfg.server_dir, f'help/manual/{lang}/images']) \ - .replace('//', '/') - _mount_static_directory(manual_dir, manual_url) - for module_name, module in module_loader.loaded_modules.items(): module_path = os.path.dirname(module.__file__) static_dir = os.path.join(module_path, 'static') @@ -72,6 +65,9 @@ def init(): urlprefix = "%s%s" % (web_framework.get_static_url(), module_name) _mount_static_directory(static_dir, urlprefix) + for component in StaticFiles.list(): + component.mount() + cherrypy.engine.signal_handler.subscribe() @@ -80,3 +76,54 @@ def run(on_web_server_stop): cherrypy.engine.start() cherrypy.engine.subscribe('stop', on_web_server_stop) cherrypy.engine.block() + + +class StaticFiles(app.FollowerComponent): + """Component to serve static files shipped with an app. + + Any files in /static directory will be automatically served on + /static// directory by FreedomBox. This allows each app to ship custom + static files that are served by the web server. + + However, in some rare circumstances, a system folder will need to be served + on a path for the app to work. This component allows declaring such + directories and the web paths they should be served on. + + """ + + _all_instances = {} + + def __init__(self, component_id, directory_map=None): + """Initialize the component. + + component_id should be a unique ID across all components of an app and + across all components. + + directory_map should be a dictionary with keys to be web paths and + values to be absolute path of the directory on disk to serve. The + static files from the directory are served over the given web path. The + web path will be prepended with the FreedomBox's configured base web + path. For example, {'/foo': '/usr/share/foo'} means that + '/usr/share/foo/bar.png' will be served over '/plinth/foo/bar.png' if + FreedomBox is configured to be served on '/plinth'. + + """ + super().__init__(component_id) + self.directory_map = directory_map + self._all_instances[component_id] = self + + @classmethod + def list(cls): + """Return a list of all instances.""" + return cls._all_instances.values() + + def mount(self): + """Perform configuration of the web server to handle static files. + + Called by web server abstraction layer after web server has been setup. + + """ + if self.directory_map: + for web_path, file_path in self.directory_map.items(): + web_path = '%s%s' % (cfg.server_dir, web_path) + _mount_static_directory(file_path, web_path) diff --git a/static/themes/default/css/main.css b/static/themes/default/css/main.css index f3da16ee2..40137df88 100644 --- a/static/themes/default/css/main.css +++ b/static/themes/default/css/main.css @@ -571,10 +571,6 @@ a.menu_link_active { justify-content: space-between; } -.app-titles .app-toggle-container { - margin: auto 0; -} - .app-titles h3 { margin-top: -0.5rem; margin-bottom: 1.6rem; @@ -583,10 +579,8 @@ a.menu_link_active { font-style: italic; } -.app-toggle-container { - display: none; - flex-flow: row; - justify-content: flex-end; +.form-app-enable-disable { + margin: auto 0; } @media screen and (max-width: 767px) { @@ -612,7 +606,7 @@ a.menu_link_active { margin: 0 0 15px 0; } - .app-titles .app-toggle-container { + .app-titles .form-app-enable-disable { margin: 30px auto; } diff --git a/static/themes/default/js/app.template.js b/static/themes/default/js/app.template.js deleted file mode 100644 index fdfe85e37..000000000 --- a/static/themes/default/js/app.template.js +++ /dev/null @@ -1,57 +0,0 @@ -// SPDX-License-Identifier: AGPL-3.0-or-later -/** - * @licstart The following is the entire license notice for the JavaScript - * code in this page. - * - * This file is part of FreedomBox. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - * - * @licend The above is the entire license notice for the JavaScript code - * in this page. - */ - -var appForm = document.querySelector('#app-form'); -var appToggleContainer = document.querySelector('#app-toggle-container'); -var appToggleButton = document.querySelector('#app-toggle-button'); -var appToggleInput = document.querySelector('#app-toggle-input'); - -if (appForm && appToggleButton && appToggleInput && appToggleContainer) { - var onSubmit = (e) => { - e.preventDefault; - appToggleInput.checked = !appToggleInput.checked; - appForm.submit(); - }; - - appToggleButton.addEventListener('click', onSubmit); - - /** - * if javascript is enabled, this script will run and show the toggle button - */ - - appToggleInput.parentElement.style.display = 'none'; - appToggleContainer.style.display = 'flex'; - - /* A basic form has only three elements: - * 1. An input tag with CSRF token - * 2. A div with form elements - * 3. A Submit button - * - * This kind of form can be completely hidden. - */ - if (appForm.children.length === 3) { - appForm.style.display = 'none'; - appForm.previousElementSibling.style.display = 'none'; - } -}