diff --git a/.ci/Dockerfile.gitlabci b/.ci/Dockerfile.gitlabci index 867b53c28..0e22916a6 100644 --- a/.ci/Dockerfile.gitlabci +++ b/.ci/Dockerfile.gitlabci @@ -1,22 +1,28 @@ # SPDX-License-Identifier: AGPL-3.0-or-later -# This is an IaC pattern called "reheating a server template". -# This is very fast but can accumulate cruft over time. -# Use debian:testing if you want to build a fresh image. -FROM registry.salsa.debian.org/freedombox-team/freedombox:gitlabci +FROM debian:testing USER root COPY . /plinth WORKDIR /plinth RUN echo "deb http://deb.debian.org/debian testing main" > /etc/apt/sources.list -RUN echo "deb-src http://deb.debian.org/debian testing main" >> /etc/apt/sources.list ENV DEBIAN_FRONTEND=noninteractive RUN apt-get update -RUN apt-get build-dep -y . # Dependencies of the freedombox Debian package -RUN apt-get install -y build-essential # Build dependencies -RUN apt-get install -y sshpass parted # Test dependencies -RUN apt-get install -y sudo -RUN apt-get install -y $(./run --list-dependencies) # Module dependencies + +# Dependencies of the freedombox Debian package +RUN apt-get build-dep -y . + +# Build dependencies +RUN apt-get install -y build-essential \ + # Test dependencies + sshpass parted \ + sudo python3-pip + +# Module dependencies +RUN apt-get install -y $(./run --list-dependencies) + +# Coverage should know that test_functional.py files are tests +RUN pip3 install splinter pytest-bdd diff --git a/.ci/Dockerfile.gitlabci.dockerignore b/.ci/Dockerfile.gitlabci.dockerignore new file mode 100644 index 000000000..89ddad767 --- /dev/null +++ b/.ci/Dockerfile.gitlabci.dockerignore @@ -0,0 +1,10 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later + +**/.git +**/.container +**/.vagrant +**/.ci +**/functional_tests +**/doc +**/build +**/static diff --git a/.ci/update-gitlabci-docker-image.sh b/.ci/update-gitlabci-docker-image.sh index 4143610b9..9ada7724d 100755 --- a/.ci/update-gitlabci-docker-image.sh +++ b/.ci/update-gitlabci-docker-image.sh @@ -1,9 +1,8 @@ #! /bin/bash # SPDX-License-Identifier: AGPL-3.0-or-later -# Provide your Salsa credentials here docker login registry.salsa.debian.org -# This might need 20 minutes to run -docker build -t registry.salsa.debian.org/freedombox-team/freedombox:gitlabci -f .ci/Dockerfile.gitlabci . +# Build and upload a new image to the container registry +DOCKER_BUILDKIT=1 docker build -t registry.salsa.debian.org/freedombox-team/freedombox:gitlabci -f .ci/Dockerfile.gitlabci . docker push registry.salsa.debian.org/freedombox-team/freedombox:gitlabci diff --git a/.coveragerc b/.coveragerc index aca3e05cf..00a764af8 100644 --- a/.coveragerc +++ b/.coveragerc @@ -2,6 +2,8 @@ [run] branch = True +omit = */tests/* [report] precision = 2 +omit = */tests/* diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4c9530804..da1df8b72 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -23,7 +23,7 @@ run-unit-tests: - echo "tester:password" | chpasswd - cp -r . /home/tester/plinth - chown -R tester:tester /home/tester/plinth - - su -c "cd ~/plinth;PYTHONPATH='.' py.test-3 --cov=plinth --cov-report=html:/home/tester/plinth/htmlcov --cov-report=term" tester + - su -c "cd ~/plinth;PYTHONPATH='.' py.test-3 --cov=plinth --cov-report=html:/home/tester/plinth/htmlcov --cov-config=.coveragerc --cov-report=term" tester - cp -r /home/tester/plinth/htmlcov test-coverage-report coverage: '/^TOTAL\s+.*\s+(\d+\.\d+%)$/' artifacts: diff --git a/actions/auth-pubtkt b/actions/auth-pubtkt index adc79b6d8..3985b503e 100755 --- a/actions/auth-pubtkt +++ b/actions/auth-pubtkt @@ -68,11 +68,14 @@ def create_ticket(pkey, uid, validuntil, ip=None, tokens=None, udata=None, graceperiod=None, extra_fields=None): """Create and return a signed mod_auth_pubtkt ticket.""" fields = [ - 'uid={}'.format(uid), 'validuntil={}'.format(validuntil, type='d'), ip - and 'cip={}'.format(ip), tokens and 'tokens={}'.format(tokens), - graceperiod and 'graceperiod={}'.format(graceperiod, type='d'), udata - and 'udata={}'.format(udata), extra_fields - and ';'.join(['{}={}'.format(k, v) for k, v in extra_fields]) + f'uid={uid}', + 'validuntil={int(validuntil)}', + ip and f'cip={ip}', + tokens and f'tokens={tokens}', + graceperiod and 'graceperiod={int(graceperiod)}', + udata and f'udata={udata}', + extra_fields and ';'.join( + ['{}={}'.format(k, v) for k, v in extra_fields]) ] data = ';'.join(filter(None, fields)) signature = 'sig={}'.format(sign(pkey, data)) diff --git a/actions/dynamicdns b/actions/dynamicdns index f391f2e54..9e19b38a7 100755 --- a/actions/dynamicdns +++ b/actions/dynamicdns @@ -22,7 +22,7 @@ PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin # static values WGET=$(which wget) -WGETOPTIONS="-4 -o /dev/null -t 3 -T 3" +WGETOPTIONS="-o /dev/null -t 3 -T 3" EMPTYSTRING="none" NOIP="0.0.0.0" # how often do we poll for IP changes if we are behind a NAT? @@ -51,8 +51,9 @@ doGetOpt() { basicauth=0 ignoreCertError=0 + useIPv6=0 - while getopts ":s:d:u:P:I:U:c:b:p" opt; do + while getopts ":s:d:u:P:I:U:c:b:6:p" opt; do case ${opt} in s) if [ "${OPTARG}" != "${EMPTYSTRING}" ];then @@ -95,6 +96,9 @@ doGetOpt() c) ignoreCertError=${OPTARG} ;; + 6) + useIPv6=${OPTARG} + ;; \?) echo "Invalid option: -${OPTARG}" >&2 exit 1 @@ -137,6 +141,7 @@ doWriteCFG() echo "POSTURL ${updateurl}" echo "POSTAUTH ${basicauth}" echo "POSTSSLIGNORE ${ignoreCertError}" + echo "POSTUSEIPV6 ${useIPv6}" } > ${HELPERCFG} # check if we are behind a NAT Router @@ -187,6 +192,7 @@ doReadCFG() updateurl=$(grep POSTURL "${HELPERCFG}" 2> /dev/null |awk '{print $2}' |grep -v ^\'\') basicauth=$(grep POSTAUTH "${HELPERCFG}" 2> /dev/null |awk '{print $2}' |grep -v ^\'\') ignoreCertError=$(grep POSTSSLIGNORE "${HELPERCFG}" 2> /dev/null |awk '{print $2}' |grep -v ^\'\') + useIPv6=$(grep POSTUSEIPV6 "${HELPERCFG}" 2> /dev/null |awk '{print $2}' |grep -v ^\'\') fi } @@ -259,6 +265,11 @@ doStatus() else echo "${DISABLED_STRING}" fi + if [ ! -z "${useIPv6}" ];then + echo "${useIPv6}" + else + echo "${DISABLED_STRING}" + fi } # ask a public WEB Server for the WAN IP we are comming from @@ -266,11 +277,18 @@ doStatus() doGetWANIP() { if [ ! -z "${ipurl}" ];then - outfile=$(mktemp) - local cmd="${WGET} ${WGETOPTIONS} -O ${outfile} ${ipurl}" - $cmd - wanip=$(sed s/[^0-9.]//g "${outfile}") - rm "${outfile}" + local wgetoptions="${WGETOPTIONS}" + if [ "${useIPv6}" = "enabled" ];then + wgetoptions="${wgetoptions} -6" + else + wgetoptions="${wgetoptions} -4" + fi + local cmd="${WGET} ${wgetoptions} -O - ${ipurl}" + if [ "${useIPv6}" = "enabled" ];then + wanip=$($cmd | tr A-F a-f | sed s/[^0-9a-f:]//g) + else + wanip=$($cmd | sed s/[^0-9.]//g) + fi [ -z "${wanip}" ] && wanip=${NOIP} else # no WAN IP found because of missing check URL @@ -282,7 +300,11 @@ doGetWANIP() # this function is called via cronjob doUpdate() { - local dnsentry=$(nslookup "${host}"|tail -n2|grep A|sed s/[^0-9.]//g) + if [ "${useIPv6}" = "enabled" ];then + local dnsentry="$(host -t AAAA "${host}" | sed 's/.*address\s*//')" + else + local dnsentry="$(host -t A "${host}" | sed 's/.*address\s*//')" + fi if [ "${dnsentry}" = "${wanip}" ];then return fi @@ -297,6 +319,11 @@ doUpdate() if [ "${ignoreCertError}" = "enabled" ];then WGETOPTIONS="${WGETOPTIONS} --no-check-certificate " fi + if [ "${useIPv6}" = "enabled" ];then + WGETOPTIONS="${WGETOPTIONS} -6" + else + WGETOPTIONS="${WGETOPTIONS} -4" + fi local cmd="${WGET} -O /dev/null ${WGETOPTIONS} ${updateurl}" $cmd # ToDo: check the returning text from WEB Server. User need to give expected string. @@ -431,6 +458,7 @@ case ${cmd} in echo "-U The update URL (a HTTP GET on this URL will be done)" echo "-c <1|0> disable SSL check on Update URL" echo "-b <1|0> use HTTP basic auth on Update URL" + echo "-6 use IPv6 type address" echo "" echo "update do a one time update" echo "clean delete configuration" diff --git a/actions/openvpn b/actions/openvpn index d41a2ee4f..df2a1f3dc 100755 --- a/actions/openvpn +++ b/actions/openvpn @@ -5,24 +5,21 @@ Configuration helper for OpenVPN server. """ import argparse -import glob import os -import shutil import subprocess import augeas -from plinth import action_utils, utils +from plinth import action_utils KEYS_DIRECTORY = '/etc/openvpn/freedombox-keys' -OLD_DH_KEY = '/etc/openvpn/freedombox-keys/dh4096.pem' -DH_KEY = '/etc/openvpn/freedombox-keys/pki/dh.pem' +DH_PARAMS = f'{KEYS_DIRECTORY}/pki/dh.pem' + +EC_PARAMS_DIR = f'{KEYS_DIRECTORY}/pki/ecparams' -OLD_SERVER_CONFIGURATION_PATH = '/etc/openvpn/freedombox.conf' SERVER_CONFIGURATION_PATH = '/etc/openvpn/server/freedombox.conf' -OLD_SERVICE_NAME = 'openvpn@freedombox' SERVICE_NAME = 'openvpn-server@freedombox' CA_CERTIFICATE_PATH = os.path.join(KEYS_DIRECTORY, 'pki', 'ca.crt') @@ -37,19 +34,26 @@ port 1194 proto udp proto udp6 dev tun + client-to-client + ca /etc/openvpn/freedombox-keys/pki/ca.crt cert /etc/openvpn/freedombox-keys/pki/issued/server.crt key /etc/openvpn/freedombox-keys/pki/private/server.key -dh /etc/openvpn/freedombox-keys/pki/dh.pem + +dh none + server 10.91.0.0 255.255.255.0 keepalive 10 120 -cipher AES-256-CBC -comp-lzo verb 3 + +tls-server +tls-version-min 1.2 +cipher AES-256-CBC +script-security 2 ''' -CLIENT_CONFIGURATION = ''' +CLIENT_CONFIGURATION_RSA = ''' client remote {remote} 1194 proto udp @@ -68,9 +72,27 @@ verb 3 {key}''' +CLIENT_CONFIGURATION_ECC = ''' +client +remote {remote} 1194 +proto udp +proto udp6 +dev tun +nobind +remote-cert-tls server +cipher AES-256-CBC +redirect-gateway +verb 3 + +{ca} + +{cert} + +{key}''' + CERTIFICATE_CONFIGURATION = { 'EASYRSA_BATCH': '1', - 'EASYRSA_KEY_SIZE': '4096', + 'EASYRSA_DIGEST': 'sha512', 'KEY_CONFIG': '/usr/share/easy-rsa/openssl-easyrsa.cnf', 'KEY_DIR': KEYS_DIRECTORY, 'EASYRSA_OPENSSL': 'openssl', @@ -85,7 +107,17 @@ CERTIFICATE_CONFIGURATION = { 'EASYRSA_REQ_NAME': 'FreedomBox' } -COMMON_ARGS = {'env': CERTIFICATE_CONFIGURATION, 'cwd': KEYS_DIRECTORY} +CERTIFICATE_CONFIGURATION_RSA = { + 'EASYRSA_KEY_SIZE': '4096', + **CERTIFICATE_CONFIGURATION +} + +CERTIFICATE_CONFIGURATION_ECC = { + 'EASYRSA_ALGO': 'ec', + **CERTIFICATE_CONFIGURATION +} + +COMMON_ARGS = {'env': CERTIFICATE_CONFIGURATION_ECC, 'cwd': KEYS_DIRECTORY} def parse_arguments(): @@ -95,9 +127,6 @@ def parse_arguments(): subparsers.add_parser('is-setup', help='Return whether setup is completed') subparsers.add_parser('setup', help='Setup OpenVPN server configuration') - subparsers.add_parser( - 'upgrade', - help='Upgrade OpenVPN server configuration from older configuration') get_profile = subparsers.add_parser( 'get-profile', help='Return the OpenVPN profile of a user') @@ -109,9 +138,19 @@ def parse_arguments(): return parser.parse_args() +def _is_using_ecc(): + """Return whether the service is using ECC.""" + if os.path.exists(SERVER_CONFIGURATION_PATH): + with open(SERVER_CONFIGURATION_PATH, 'r') as file_handle: + for line in file_handle: + if line.strip() == 'dh none': + return True + return False + + def _is_setup(): """Return whether setup is complete.""" - return utils.is_non_empty_file(DH_KEY) + return _is_non_empty_file(DH_PARAMS) or os.path.exists(EC_PARAMS_DIR) def subcommand_is_setup(_): @@ -128,77 +167,6 @@ def subcommand_setup(_): action_utils.service_restart(SERVICE_NAME) -def subcommand_upgrade(_): - """Upgrade from an older version if configured. - - Otherwise do nothing. - """ - # Rewrite freedombox.conf due to change in key paths - if os.path.exists(OLD_SERVER_CONFIGURATION_PATH): - os.remove(OLD_SERVER_CONFIGURATION_PATH) - - # Rewrite to ensure that easy-rsa2 paths are rewritten as easy-rsa3 paths - _write_server_config() - - # Move all keys from easy-rsa2 to easy-rsa3 format. Only if the setup is - # already completed. - pki_dir = os.path.join(KEYS_DIRECTORY, 'pki') - if not os.path.exists(pki_dir) and os.path.exists(OLD_DH_KEY): - subprocess.run(['chmod', '-R', 'go-rwx', KEYS_DIRECTORY], check=True) - - _init_pki() - - # Move all files and directories under freedombox-keys into - # freedombox-keys/pki - for entry in os.listdir(KEYS_DIRECTORY): - entry = os.path.join(KEYS_DIRECTORY, entry) - if entry != pki_dir: - shutil.move(entry, pki_dir) - - # The dh params file no longer has the key size in its filename - shutil.move(os.path.join(pki_dir, 'dh4096.pem'), DH_KEY) - - directories_to_create = [ - 'reqs', 'private', 'issued', 'certs_by_serial', 'renewed', - 'revoked', 'revoked/certs_by_serial', 'revoked/private_by_serial', - 'revoked/reqs_by_serial', 'renewed/certs_by_serial', - 'renewed/private_by_serial', 'renewed/reqs_by_serial' - ] - for dir_name in directories_to_create: - os.makedirs(os.path.join(pki_dir, dir_name), mode=0o700, - exist_ok=True) - - def _move_by_file_extension(file_extension, directory, excluded=None): - excluded = excluded or [] - for fil in glob.glob(r'{}/*.{}'.format(pki_dir, file_extension)): - if fil not in excluded: - shutil.move(fil, os.path.join(pki_dir, directory)) - - # Move all .req files to pki/reqs directory - _move_by_file_extension('req', 'reqs') - - # All keys go into the pki/private directory - _move_by_file_extension('key', 'private') - - # Move all certificate files into pki/issued except ca.crt - _move_by_file_extension('crt', 'issued', - [os.path.join(pki_dir, 'ca.crt')]) - - # Move all pem files into pki/certs_by_serial except dh.pem - _move_by_file_extension('pem', 'certs_by_serial', - [os.path.join(pki_dir, 'dh.pem')]) - - if _is_setup(): - # Fix any issues with firewall. This action is idempotent. - _setup_firewall() - - if action_utils.service_is_enabled(OLD_SERVICE_NAME): - action_utils.service_disable(OLD_SERVICE_NAME) - action_utils.service_enable(SERVICE_NAME) - - action_utils.service_try_restart(SERVICE_NAME) - - def _write_server_config(): """Write server configuration.""" with open(SERVER_CONFIGURATION_PATH, 'w') as file_handle: @@ -207,6 +175,7 @@ def _write_server_config(): def _setup_firewall(): """Add TUN device to internal zone in firewalld.""" + def _configure_interface(interface, operation): """Add or remove an interface into internal zone.""" command = [ @@ -256,12 +225,13 @@ def _create_certificates(): pass _init_pki() - subprocess.check_call( - ['/usr/share/easy-rsa/easyrsa', 'build-ca', 'nopass'], **COMMON_ARGS) - subprocess.check_call([ - '/usr/share/easy-rsa/easyrsa', 'build-server-full', 'server', 'nopass' - ], **COMMON_ARGS) - subprocess.check_call(['/usr/share/easy-rsa/easyrsa', 'gen-dh'], + easy_rsa = '/usr/share/easy-rsa/easyrsa' + subprocess.check_call([easy_rsa, 'build-ca', 'nopass'], **COMMON_ARGS) + subprocess.check_call([easy_rsa, 'build-server-full', 'server', 'nopass'], + **COMMON_ARGS) + subprocess.check_call([easy_rsa, 'gen-req', 'server', 'nopass'], + **COMMON_ARGS) + subprocess.check_call([easy_rsa, 'sign-req', 'server', 'server'], **COMMON_ARGS) @@ -282,13 +252,18 @@ def subcommand_get_profile(arguments): subprocess.check_call([ '/usr/share/easy-rsa/easyrsa', 'build-client-full', username, 'nopass' - ], **COMMON_ARGS) + ], env=CERTIFICATE_CONFIGURATION_ECC if _is_using_ecc() else + CERTIFICATE_CONFIGURATION_RSA, + cwd=KEYS_DIRECTORY) user_certificate_string = _read_file(user_certificate) user_key_string = _read_file(user_key) ca_string = _read_file(CA_CERTIFICATE_PATH) - profile = CLIENT_CONFIGURATION.format(ca=ca_string, + client_configuration = CLIENT_CONFIGURATION_ECC if _is_using_ecc( + ) else CLIENT_CONFIGURATION_RSA + + profile = client_configuration.format(ca=ca_string, cert=user_certificate_string, key=user_key_string, remote=remote_server) diff --git a/debian/changelog b/debian/changelog index 839555991..c4aac4172 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,64 @@ +freedombox (20.18) unstable; urgency=medium + + [ Hetgyl ] + * Translated using Weblate (French) + + [ Reg Me ] + * Translated using Weblate (Dutch) + * Translated using Weblate (Dutch) + * Translated using Weblate (Dutch) + * Translated using Weblate (Dutch) + + [ Joseph Nuthalapati ] + * coverage: Omit files under tests/ directories + * ci: Add --cov-config to the coverage command + * openvpn: Cleanup easyrsa 2 to 3 upgrade code + * openvpn: Function to detect ECC/RSA configuration + * openvpn: ECC: Setup and Migration + * openvpn: Remove explicit setup step + * openvpn: Improve migrate_to_ecc template + * openvpn: Remove opinion on which curve to use + * openvpn: client configuration for RSA and ECC + * gitlabci: Update Dockerfile and script + + [ Ralf Barkow ] + * Translated using Weblate (German) + + [ Fioddor Superconcentrado ] + * Translated using Weblate (Spanish) + + [ Matthias Dellweg ] + * Enable dynamicdns module to handle IPv6 + + [ Dietmar ] + * Translated using Weblate (Italian) + + [ James Valleroy ] + * locale: Update translation strings + * doc: Fetch latest manual + + -- James Valleroy Mon, 16 Nov 2020 20:49:24 -0500 + +freedombox (20.17.1) experimental; urgency=medium + + [ Burak Yavuz ] + * Translated using Weblate (Turkish) + * Translated using Weblate (Turkish) + + [ Dietmar ] + * Translated using Weblate (German) + * Translated using Weblate (Italian) + + [ Joseph Nuthalapati ] + * ci: Fix flake8 errors + * pubtkt: Fix Python format language errors + + [ James Valleroy ] + * debian: Rename source package to freedombox + * doc: Fetch latest manual + + -- James Valleroy Sat, 07 Nov 2020 08:02:53 -0500 + plinth (20.17~bpo10+1) buster-backports; urgency=medium * Rebuild for buster-backports. diff --git a/debian/control b/debian/control index ce92fd915..a81b7cfc0 100644 --- a/debian/control +++ b/debian/control @@ -1,4 +1,4 @@ -Source: plinth +Source: freedombox Section: web Priority: optional Maintainer: FreedomBox packaging team diff --git a/doc/manual/en/Radicale.raw.wiki b/doc/manual/en/Radicale.raw.wiki index 2d8f2a602..bb07eedf5 100644 --- a/doc/manual/en/Radicale.raw.wiki +++ b/doc/manual/en/Radicale.raw.wiki @@ -56,14 +56,15 @@ Now open your client application to create new calendar and address books that w 1. Create a new calendar 1. For "Type," select "CalDAV" 1. When "CalDAV" is selected, additional options will appear in the dialogue window. - 1. URL: `https://`''IP-address-or-domain-for-your-server''`/radicale/`''user''`/`''calendar-name''`.ics/`. Items in ''italics'' need to be changed to match your settings. - * note the trailing `/` in the path, it is important. + 1. URL: `https://`''IP-address-or-domain-for-your-server''. Items in ''italics'' need to be changed to match your settings. 1. Enable "Use a secure connection." - 1. Name the calendar - {{attachment:Radicale-Evolution-Docu.png}} + 1. User: ''USERNAME''. Your Freedombox user-name. + 1. Click on "Find Calendars" + 1. Enter your password and select a calendar + {{attachment:Evolution-new-calendar.png}} * TODO/Tasks list: Adding a TODO/Tasks list is basically the same as a calendar. * Contacts - * Follow the same steps described above and replace CalDAV with WebDAV. The extension of the address book will be .vcf. + * Follow the same steps described above and replace CalDAV with WebDAV. === Synchronizing over Tor === diff --git a/doc/manual/en/ReleaseNotes.raw.wiki b/doc/manual/en/ReleaseNotes.raw.wiki index 060889b96..c300e2276 100644 --- a/doc/manual/en/ReleaseNotes.raw.wiki +++ b/doc/manual/en/ReleaseNotes.raw.wiki @@ -10,6 +10,27 @@ For more technical details, see the [[https://salsa.debian.org/freedombox-team/f The following are the release notes for each !FreedomBox version. +== FreedomBox 20.18 (2020-11-16) == + +=== Highlights === + + * openvpn: Support Elliptic Curve Cryptography (ECC) + * If you are already using OpenVPN, you can migrate to ECC to improve speed and security. Visit the OpenVPN page in the !FreedomBox interface to perform the one-time migration, and to re-download the client profiles. + +=== Other Changes === + + * dynamicdns: Handle IPv6 + * locale: Update translations for Dutch, French, German, Italian, Spanish + * openvpn: Cleanup easyrsa 2 to 3 upgrade code + * openvpn: Remove explicit setup step + +== FreedomBox 20.17.1 (2020-11-07) == + + * ci: Fix flake8 errors + * debian: Rename source package to freedombox + * locale: Update translations for German, Italian, Turkish + * pubtkt: Fix Python format language errors + == FreedomBox 20.17 (2020-11-02) == === Highlights === diff --git a/doc/manual/en/ServiceDiscovery.raw.wiki b/doc/manual/en/ServiceDiscovery.raw.wiki index cd679f18f..32af18ed0 100644 --- a/doc/manual/en/ServiceDiscovery.raw.wiki +++ b/doc/manual/en/ServiceDiscovery.raw.wiki @@ -14,6 +14,15 @@ It also allows !FreedomBox to discover other devices and services running on you 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. +== Troubleshooting == + +=== Unable to reach .local === + +If .local is not able to be reached, you may simply need to disable and re-enable the Service Discovery feature in !FreedomBox. +To do this, go to '''System -> Service Discovery''', slide the toggle to the left position to disable it (it turns grey), followed by sliding it back to the right to re-enable it (it turns blue). + +To do this you obviously need other means to reach your !FreedomBox than .local. See the [[FreedomBox/Manual/QuickStart|Quick Start Guide]] for those. + ## END_INCLUDE Back to [[FreedomBox/Features|Features introduction]] or [[FreedomBox/Manual|manual]] pages. diff --git a/doc/manual/en/WireGuard.raw.wiki b/doc/manual/en/WireGuard.raw.wiki index 21ef0752a..e5c6b639a 100644 --- a/doc/manual/en/WireGuard.raw.wiki +++ b/doc/manual/en/WireGuard.raw.wiki @@ -12,9 +12,8 @@ === About WireGuard === -'''!WireGuard''' is an extremely simple yet fast and modern VPN that utilizes state-of-the-art cryptography. It can be a useful replacement for IPSec or [[FreedomBox/Manual/OpenVPN|OpenVPN]]. +!WireGuard is an extremely simple yet fast and modern VPN that utilizes state-of-the-art cryptography. It can be a useful replacement for IPSec or [[FreedomBox/Manual/OpenVPN|OpenVPN]]. -Official website: https://www.wireguard.com === Installation === diff --git a/doc/manual/en/images/Evolution-new-calendar.png b/doc/manual/en/images/Evolution-new-calendar.png new file mode 100644 index 000000000..b6394f45e Binary files /dev/null and b/doc/manual/en/images/Evolution-new-calendar.png differ diff --git a/doc/manual/en/images/Radicale-Evolution-Docu.png b/doc/manual/en/images/Radicale-Evolution-Docu.png deleted file mode 100644 index c918accd2..000000000 Binary files a/doc/manual/en/images/Radicale-Evolution-Docu.png and /dev/null differ diff --git a/doc/manual/es/Radicale.raw.wiki b/doc/manual/es/Radicale.raw.wiki index 0212ef6c2..43ffa47e7 100644 --- a/doc/manual/es/Radicale.raw.wiki +++ b/doc/manual/es/Radicale.raw.wiki @@ -56,14 +56,15 @@ Ahora abre tu aplicación cliente para crear calendarios y/o libretas nuevos que 1. Crea un calendario nuevo 1. Selecciona el "Tipo" "CalDAV" 1. Con "CalDAV" seleccionado aparecerán más opciones en el cuadro de diálogo. - 1. URL: `https:///radicale//.ics/` cambiando los elementos marcados entre `<>` de acuerdo a tu configuración. - * nota: la `/` inicial de la ruta es importante. + 1. URL: https:// cambiando los elementos marcados entre <> de acuerdo a tu configuración. 1. Habilita "Usar una conexión segura." - 1. Nombre del calendario - {{attachment:Radicale-Evolution-Docu.png}} + 1. Usuario: . Tu usuario en !FreedomBox. + 1. Haz clic en "Encontrar Calendarios" + 1. Introduce to contraseña y selecciona un calendario. + {{attachment:FreedomBox/Manual/Radicale/Evolution-new-calendar.png}} * Lista de tareas: Añadir una lista de tareas es prácticamente igual que con un calendario. * Contactos - * Sigue los mismos pasos anteriores reemplazando ''CalDAV'' por ''WebDAV'' y la extensión de la libreta por `.vcf`. + * Sigue los mismos pasos anteriores reemplazando ''CalDAV'' por ''WebDAV''. === Sincronizar via Tor === diff --git a/doc/manual/es/ReleaseNotes.raw.wiki b/doc/manual/es/ReleaseNotes.raw.wiki index 060889b96..c300e2276 100644 --- a/doc/manual/es/ReleaseNotes.raw.wiki +++ b/doc/manual/es/ReleaseNotes.raw.wiki @@ -10,6 +10,27 @@ For more technical details, see the [[https://salsa.debian.org/freedombox-team/f The following are the release notes for each !FreedomBox version. +== FreedomBox 20.18 (2020-11-16) == + +=== Highlights === + + * openvpn: Support Elliptic Curve Cryptography (ECC) + * If you are already using OpenVPN, you can migrate to ECC to improve speed and security. Visit the OpenVPN page in the !FreedomBox interface to perform the one-time migration, and to re-download the client profiles. + +=== Other Changes === + + * dynamicdns: Handle IPv6 + * locale: Update translations for Dutch, French, German, Italian, Spanish + * openvpn: Cleanup easyrsa 2 to 3 upgrade code + * openvpn: Remove explicit setup step + +== FreedomBox 20.17.1 (2020-11-07) == + + * ci: Fix flake8 errors + * debian: Rename source package to freedombox + * locale: Update translations for German, Italian, Turkish + * pubtkt: Fix Python format language errors + == FreedomBox 20.17 (2020-11-02) == === Highlights === diff --git a/doc/manual/es/ServiceDiscovery.raw.wiki b/doc/manual/es/ServiceDiscovery.raw.wiki index 8731e25b2..470910ca0 100644 --- a/doc/manual/es/ServiceDiscovery.raw.wiki +++ b/doc/manual/es/ServiceDiscovery.raw.wiki @@ -14,11 +14,19 @@ También permite a !FreedomBox detectar otros dispositivos y servicios que está La Detección de Servicios no es esencial y solo funciona en redes internas. Se puede deshabilitar para mejorar la seguridad especialmente cuando la conectas a una red local hostil. +== Resolución de problemas == + +=== No se accede con .local === + +Si .local no responde, quizá solo haya que reactivar en !FreedomBox la funcionalidad de Detección de Servicios. +Vé a '''Sistema -> Detección de Servicios''', desliza el interruptor a la izquierda para deshabilitarla (se vuelve gris) y luego otra vez a la derecha para volver a habilitarla (se vuelve azul). + +Obviamente, para hacer esto necesitas otro medio de acceder a tu !FreedomBox que no sea .local. Los tienes en la [[es/FreedomBox/Manual/QuickStart|Guía de inicio rápido]]. + ## END_INCLUDE Volver a la [[es/FreedomBox/Features|descripción de Funcionalidades]] o a las páginas del [[es/FreedomBox/Manual|manual]]. - <> ---- diff --git a/doc/manual/es/WireGuard.raw.wiki b/doc/manual/es/WireGuard.raw.wiki index 598b67a89..8b64d4bf2 100644 --- a/doc/manual/es/WireGuard.raw.wiki +++ b/doc/manual/es/WireGuard.raw.wiki @@ -12,9 +12,7 @@ === Acerca de WireGuard === -'''!WireGuard''' es red privada virtual (VPN) extremadamente sencilla aunque rápida y moderna que emplea cifrado de última generación.Puede ser un reemplazo útil para IPSec u [[es/FreedomBox/Manual/OpenVPN|OpenVPN]]. - -Sitio web oficial: https://www.wireguard.com +!WireGuard es red privada virtual (VPN) extremadamente sencilla aunque rápida y moderna que emplea cifrado de última generación.Puede ser un reemplazo útil para IPSec u [[es/FreedomBox/Manual/OpenVPN|OpenVPN]]. === Instalación === diff --git a/doc/manual/es/images/Evolution-new-calendar.png b/doc/manual/es/images/Evolution-new-calendar.png new file mode 100644 index 000000000..b6394f45e Binary files /dev/null and b/doc/manual/es/images/Evolution-new-calendar.png differ diff --git a/doc/manual/es/images/Radicale-Evolution-Docu.png b/doc/manual/es/images/Radicale-Evolution-Docu.png deleted file mode 100644 index c918accd2..000000000 Binary files a/doc/manual/es/images/Radicale-Evolution-Docu.png and /dev/null differ diff --git a/plinth/__init__.py b/plinth/__init__.py index 168bbd492..5e0ca99dc 100644 --- a/plinth/__init__.py +++ b/plinth/__init__.py @@ -3,4 +3,4 @@ Package init file. """ -__version__ = '20.17' +__version__ = '20.18' diff --git a/plinth/locale/ar_SA/LC_MESSAGES/django.po b/plinth/locale/ar_SA/LC_MESSAGES/django.po index 3a9090b20..62ce75abe 100644 --- a/plinth/locale/ar_SA/LC_MESSAGES/django.po +++ b/plinth/locale/ar_SA/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-11-02 19:02-0500\n" +"POT-Creation-Date: 2020-11-16 19:46-0500\n" "PO-Revision-Date: 2020-06-10 15:41+0000\n" "Last-Translator: aiman an \n" "Language-Team: Arabic (Saudi Arabia) Download Profile" @@ -4201,35 +4203,43 @@ msgstr "" msgid "Tunnelblick" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:20 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:7 +msgid "Migrate to ECC" +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:10 +msgid "" +"Your OpenVPN installation is currently using RSA. Switching to the modern " +"Elliptic Curve Cryptography improves speed of establishing a connection and " +"security. This operation is irreversible. It should only take a few minutes " +"on most single board computers." +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:19 #, 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." +"All new installations of OpenVPN on %(box_name)s will use ECC by default. We " +"recommend migrating as soon as possible." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:33 -msgid "Start setup" -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:42 -msgid "OpenVPN setup is running" -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:46 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:26 #, 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." +"Warning: Existing client profiles will be invalidated by this " +"operation. All OpenVPN users on %(box_name)s must download their new " +"profiles. OpenVPN clients compatible with ECC should be used to connect to " +"this server." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:61 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:38 +msgid "Migrate" +msgstr "" + +#: plinth/modules/openvpn/templates/openvpn.html:22 msgid "Profile" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:64 +#: plinth/modules/openvpn/templates/openvpn.html:25 #, python-format msgid "" "To connect to %(box_name)s's VPN, you need to download a profile and feed it " @@ -4238,23 +4248,15 @@ msgid "" "clients and instructions on how to configure them." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:74 +#: plinth/modules/openvpn/templates/openvpn.html:35 #, python-format msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:85 +#: plinth/modules/openvpn/templates/openvpn.html:46 msgid "Download my profile" msgstr "" -#: plinth/modules/openvpn/views.py:88 -msgid "Setup completed." -msgstr "" - -#: plinth/modules/openvpn/views.py:90 -msgid "Setup failed." -msgstr "" - #: plinth/modules/pagekite/__init__.py:28 #, python-brace-format msgid "" diff --git a/plinth/locale/bg/LC_MESSAGES/django.po b/plinth/locale/bg/LC_MESSAGES/django.po index 982058ae5..13e2aa7db 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-11-02 19:02-0500\n" +"POT-Creation-Date: 2020-11-16 19:46-0500\n" "PO-Revision-Date: 2019-10-12 14:52+0000\n" "Last-Translator: Nevena Mircheva \n" "Language-Team: Bulgarian Download Profile" @@ -4206,35 +4208,43 @@ msgstr "" msgid "Tunnelblick" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:20 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:7 +msgid "Migrate to ECC" +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:10 +msgid "" +"Your OpenVPN installation is currently using RSA. Switching to the modern " +"Elliptic Curve Cryptography improves speed of establishing a connection and " +"security. This operation is irreversible. It should only take a few minutes " +"on most single board computers." +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:19 #, 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." +"All new installations of OpenVPN on %(box_name)s will use ECC by default. We " +"recommend migrating as soon as possible." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:33 -msgid "Start setup" -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:42 -msgid "OpenVPN setup is running" -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:46 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:26 #, 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." +"Warning: Existing client profiles will be invalidated by this " +"operation. All OpenVPN users on %(box_name)s must download their new " +"profiles. OpenVPN clients compatible with ECC should be used to connect to " +"this server." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:61 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:38 +msgid "Migrate" +msgstr "" + +#: plinth/modules/openvpn/templates/openvpn.html:22 msgid "Profile" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:64 +#: plinth/modules/openvpn/templates/openvpn.html:25 #, python-format msgid "" "To connect to %(box_name)s's VPN, you need to download a profile and feed it " @@ -4243,23 +4253,15 @@ msgid "" "clients and instructions on how to configure them." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:74 +#: plinth/modules/openvpn/templates/openvpn.html:35 #, python-format msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:85 +#: plinth/modules/openvpn/templates/openvpn.html:46 msgid "Download my profile" msgstr "" -#: plinth/modules/openvpn/views.py:88 -msgid "Setup completed." -msgstr "" - -#: plinth/modules/openvpn/views.py:90 -msgid "Setup failed." -msgstr "" - #: plinth/modules/pagekite/__init__.py:28 #, python-brace-format msgid "" diff --git a/plinth/locale/bn/LC_MESSAGES/django.po b/plinth/locale/bn/LC_MESSAGES/django.po index f1613a22b..d990ed52d 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-11-02 19:02-0500\n" +"POT-Creation-Date: 2020-11-16 19:46-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -812,7 +812,7 @@ msgid "Refresh IP address and domains" msgstr "" #: plinth/modules/bind/views.py:71 plinth/modules/coturn/views.py:39 -#: plinth/modules/deluge/views.py:42 plinth/modules/dynamicdns/views.py:150 +#: plinth/modules/deluge/views.py:42 plinth/modules/dynamicdns/views.py:154 #: plinth/modules/mumble/views.py:28 plinth/modules/pagekite/forms.py:90 #: plinth/modules/quassel/views.py:29 plinth/modules/shadowsocks/views.py:59 #: plinth/modules/transmission/views.py:47 @@ -1494,19 +1494,23 @@ msgstr "" msgid "URL to look up public IP" msgstr "" -#: plinth/modules/dynamicdns/forms.py:138 +#: plinth/modules/dynamicdns/forms.py:119 +msgid "Use IPv6 instead of IPv4" +msgstr "" + +#: plinth/modules/dynamicdns/forms.py:142 msgid "Please provide an update URL or a GnuDIP server address" msgstr "" -#: plinth/modules/dynamicdns/forms.py:143 +#: plinth/modules/dynamicdns/forms.py:147 msgid "Please provide a GnuDIP username" msgstr "" -#: plinth/modules/dynamicdns/forms.py:147 +#: plinth/modules/dynamicdns/forms.py:151 msgid "Please provide a GnuDIP domain name" msgstr "" -#: plinth/modules/dynamicdns/forms.py:152 +#: plinth/modules/dynamicdns/forms.py:156 msgid "Please provide a password" msgstr "" @@ -1570,8 +1574,6 @@ msgstr "" #: 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:17 -#: plinth/modules/openvpn/templates/openvpn.html:38 #: plinth/modules/tor/templates/tor.html:12 #: plinth/modules/tor/templates/tor.html:26 #: plinth/modules/upgrades/templates/upgrades_configure.html:30 @@ -4167,7 +4169,7 @@ msgstr "" msgid "Failed to delete connection: Connection not found." msgstr "" -#: plinth/modules/openvpn/__init__.py:26 +#: plinth/modules/openvpn/__init__.py:28 #, python-brace-format msgid "" "Virtual Private Network (VPN) is a technique for securely connecting two " @@ -4178,16 +4180,16 @@ msgid "" "security and anonymity." msgstr "" -#: plinth/modules/openvpn/__init__.py:54 plinth/modules/openvpn/manifest.py:18 +#: plinth/modules/openvpn/__init__.py:56 plinth/modules/openvpn/manifest.py:18 msgid "OpenVPN" msgstr "" -#: plinth/modules/openvpn/__init__.py:55 +#: plinth/modules/openvpn/__init__.py:57 #: plinth/modules/wireguard/__init__.py:52 msgid "Virtual Private Network" msgstr "" -#: plinth/modules/openvpn/__init__.py:66 +#: plinth/modules/openvpn/__init__.py:68 #, python-brace-format msgid "" "Download Profile" @@ -4197,35 +4199,43 @@ msgstr "" msgid "Tunnelblick" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:20 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:7 +msgid "Migrate to ECC" +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:10 +msgid "" +"Your OpenVPN installation is currently using RSA. Switching to the modern " +"Elliptic Curve Cryptography improves speed of establishing a connection and " +"security. This operation is irreversible. It should only take a few minutes " +"on most single board computers." +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:19 #, 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." +"All new installations of OpenVPN on %(box_name)s will use ECC by default. We " +"recommend migrating as soon as possible." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:33 -msgid "Start setup" -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:42 -msgid "OpenVPN setup is running" -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:46 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:26 #, 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." +"Warning: Existing client profiles will be invalidated by this " +"operation. All OpenVPN users on %(box_name)s must download their new " +"profiles. OpenVPN clients compatible with ECC should be used to connect to " +"this server." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:61 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:38 +msgid "Migrate" +msgstr "" + +#: plinth/modules/openvpn/templates/openvpn.html:22 msgid "Profile" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:64 +#: plinth/modules/openvpn/templates/openvpn.html:25 #, python-format msgid "" "To connect to %(box_name)s's VPN, you need to download a profile and feed it " @@ -4234,23 +4244,15 @@ msgid "" "clients and instructions on how to configure them." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:74 +#: plinth/modules/openvpn/templates/openvpn.html:35 #, python-format msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:85 +#: plinth/modules/openvpn/templates/openvpn.html:46 msgid "Download my profile" msgstr "" -#: plinth/modules/openvpn/views.py:88 -msgid "Setup completed." -msgstr "" - -#: plinth/modules/openvpn/views.py:90 -msgid "Setup failed." -msgstr "" - #: plinth/modules/pagekite/__init__.py:28 #, python-brace-format msgid "" diff --git a/plinth/locale/cs/LC_MESSAGES/django.po b/plinth/locale/cs/LC_MESSAGES/django.po index 43dbe9cd9..4b56888ee 100644 --- a/plinth/locale/cs/LC_MESSAGES/django.po +++ b/plinth/locale/cs/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-11-02 19:02-0500\n" +"POT-Creation-Date: 2020-11-16 19:46-0500\n" "PO-Revision-Date: 2020-06-24 11:41+0000\n" "Last-Translator: Pavel Borecki \n" "Language-Team: Czech Download Profile" @@ -4824,41 +4826,45 @@ msgstr "" msgid "Tunnelblick" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:20 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:7 +msgid "Migrate to ECC" +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:10 +msgid "" +"Your OpenVPN installation is currently using RSA. Switching to the modern " +"Elliptic Curve Cryptography improves speed of establishing a connection and " +"security. This operation is irreversible. It should only take a few minutes " +"on most single board computers." +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:19 #, 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." +"All new installations of OpenVPN on %(box_name)s will use ECC by default. We " +"recommend migrating as soon as possible." msgstr "" -"OpenVPN ještě není nastavené. Provedení bezpečného nastavení může zabrat " -"opravdu dlouhý čas. V závislosti na rychlosti vašeho %(box_name)s to může " -"trvat i hodiny. Pokud je nastavování přerušeno, je možné ho spustit znovu." -#: plinth/modules/openvpn/templates/openvpn.html:33 -msgid "Start setup" -msgstr "Zahájit nastavování" - -#: plinth/modules/openvpn/templates/openvpn.html:42 -msgid "OpenVPN setup is running" -msgstr "Nastavování OpenVPN je spuštěné" - -#: plinth/modules/openvpn/templates/openvpn.html:46 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:26 #, 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." +"Warning: Existing client profiles will be invalidated by this " +"operation. All OpenVPN users on %(box_name)s must download their new " +"profiles. OpenVPN clients compatible with ECC should be used to connect to " +"this server." msgstr "" -"Aby bylo nastavení zabezpečené, tento proces může trvat velmi dlouhou dobu. " -"V závislosti na rychlosti vašeho %(box_name)s to může trvat i hodiny. Pokud " -"je nastavování přerušeno, je možné ho spustit znovu." -#: plinth/modules/openvpn/templates/openvpn.html:61 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:38 +#, fuzzy +#| msgid "Moderate" +msgid "Migrate" +msgstr "Střední" + +#: plinth/modules/openvpn/templates/openvpn.html:22 msgid "Profile" msgstr "Profil" -#: plinth/modules/openvpn/templates/openvpn.html:64 +#: plinth/modules/openvpn/templates/openvpn.html:25 #, fuzzy, python-format #| msgid "" #| "To connect to %(box_name)s's VPN, you need to download a profile and feed " @@ -4878,25 +4884,17 @@ msgstr "" "OpenVPN\" title=\"%(box_name)s Manual - OpenVPN\">manuálová stránka " "ohledně doporučených klientů a pokynů pro jejich nastavení." -#: plinth/modules/openvpn/templates/openvpn.html:74 +#: plinth/modules/openvpn/templates/openvpn.html:35 #, python-format msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." msgstr "" "Profil je specifický každému z uživatelů %(box_name)s. Uchovejte ho v " "tajnosti." -#: plinth/modules/openvpn/templates/openvpn.html:85 +#: plinth/modules/openvpn/templates/openvpn.html:46 msgid "Download my profile" msgstr "Stáhnout si svůj profil" -#: plinth/modules/openvpn/views.py:88 -msgid "Setup completed." -msgstr "Nastavování dokončeno." - -#: plinth/modules/openvpn/views.py:90 -msgid "Setup failed." -msgstr "Nastavování se nezdařilo." - #: plinth/modules/pagekite/__init__.py:28 #, python-brace-format msgid "" @@ -8244,6 +8242,36 @@ msgstr "%(percentage)s%% dokončeno" msgid "Gujarati" msgstr "gudžarátština" +#~ 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 "" +#~ "OpenVPN ještě není nastavené. Provedení bezpečného nastavení může zabrat " +#~ "opravdu dlouhý čas. V závislosti na rychlosti vašeho %(box_name)s to může " +#~ "trvat i hodiny. Pokud je nastavování přerušeno, je možné ho spustit znovu." + +#~ msgid "Start setup" +#~ msgstr "Zahájit nastavování" + +#~ msgid "OpenVPN setup is running" +#~ msgstr "Nastavování OpenVPN je spuštěné" + +#~ 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 "" +#~ "Aby bylo nastavení zabezpečené, tento proces může trvat velmi dlouhou " +#~ "dobu. V závislosti na rychlosti vašeho %(box_name)s to může trvat i " +#~ "hodiny. Pokud je nastavování přerušeno, je možné ho spustit znovu." + +#~ msgid "Setup completed." +#~ msgstr "Nastavování dokončeno." + +#~ msgid "Setup failed." +#~ msgstr "Nastavování se nezdařilo." + #, fuzzy #~| msgid "Administer Syncthing application" #~ msgid "Administer calibre application" diff --git a/plinth/locale/da/LC_MESSAGES/django.po b/plinth/locale/da/LC_MESSAGES/django.po index f7a675c04..8105c16ca 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-11-02 19:02-0500\n" +"POT-Creation-Date: 2020-11-16 19:46-0500\n" "PO-Revision-Date: 2020-10-27 10:42+0000\n" "Last-Translator: James Valleroy \n" "Language-Team: Danish Download Profile" @@ -4808,41 +4810,45 @@ msgstr "" msgid "Tunnelblick" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:20 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:7 +msgid "Migrate to ECC" +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:10 +msgid "" +"Your OpenVPN installation is currently using RSA. Switching to the modern " +"Elliptic Curve Cryptography improves speed of establishing a connection and " +"security. This operation is irreversible. It should only take a few minutes " +"on most single board computers." +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:19 #, 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." +"All new installations of OpenVPN on %(box_name)s will use ECC by default. We " +"recommend migrating as soon as possible." msgstr "" -"OpenVPN er endnu ikke konfigureret. At udføre en sikker konfiguration tager " -"meget lang tid. Afhængig af hvor hurtig din %(box_name)s er, kan det tage " -"flere timer. Hvis processen afbrydes kan den blot genstartes." -#: plinth/modules/openvpn/templates/openvpn.html:33 -msgid "Start setup" -msgstr "Start opsætning" - -#: plinth/modules/openvpn/templates/openvpn.html:42 -msgid "OpenVPN setup is running" -msgstr "OpenVPN-opsætning kører" - -#: plinth/modules/openvpn/templates/openvpn.html:46 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:26 #, 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." +"Warning: Existing client profiles will be invalidated by this " +"operation. All OpenVPN users on %(box_name)s must download their new " +"profiles. OpenVPN clients compatible with ECC should be used to connect to " +"this server." msgstr "" -"At udføre en sikker konfiguration tager meget lang tid. Afhængig af hvor " -"hurtig din %(box_name)s er, kan det tage flere timer. Hvis processen " -"afbrydes kan den blot genstartes." -#: plinth/modules/openvpn/templates/openvpn.html:61 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:38 +#, fuzzy +#| msgid "Mode" +msgid "Migrate" +msgstr "Tilstand" + +#: plinth/modules/openvpn/templates/openvpn.html:22 msgid "Profile" msgstr "Profil" -#: plinth/modules/openvpn/templates/openvpn.html:64 +#: plinth/modules/openvpn/templates/openvpn.html:25 #, fuzzy, python-format #| msgid "" #| "To connect to %(box_name)s's VPN, you need to download a profile and feed " @@ -4864,25 +4870,17 @@ msgstr "" "Brugervejledning - OpenVPN\">dokumentation om anbefalede klienter og " "instruktioner til opsætning af dem." -#: plinth/modules/openvpn/templates/openvpn.html:74 +#: plinth/modules/openvpn/templates/openvpn.html:35 #, python-format msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." msgstr "" "Profilen er dannet specifikt til hver bruger af %(box_name)s. Hold den " "hemmelig." -#: plinth/modules/openvpn/templates/openvpn.html:85 +#: plinth/modules/openvpn/templates/openvpn.html:46 msgid "Download my profile" msgstr "Hent min profil" -#: plinth/modules/openvpn/views.py:88 -msgid "Setup completed." -msgstr "Opsætning færdig." - -#: plinth/modules/openvpn/views.py:90 -msgid "Setup failed." -msgstr "Opsætning fejlede." - #: plinth/modules/pagekite/__init__.py:28 #, python-brace-format msgid "" @@ -8175,6 +8173,36 @@ msgstr "%(percentage)s%% færdig" msgid "Gujarati" msgstr "" +#~ 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 "" +#~ "OpenVPN er endnu ikke konfigureret. At udføre en sikker konfiguration " +#~ "tager meget lang tid. Afhængig af hvor hurtig din %(box_name)s er, kan " +#~ "det tage flere timer. Hvis processen afbrydes kan den blot genstartes." + +#~ msgid "Start setup" +#~ msgstr "Start opsætning" + +#~ msgid "OpenVPN setup is running" +#~ msgstr "OpenVPN-opsætning kører" + +#~ 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 "" +#~ "At udføre en sikker konfiguration tager meget lang tid. Afhængig af hvor " +#~ "hurtig din %(box_name)s er, kan det tage flere timer. Hvis processen " +#~ "afbrydes kan den blot genstartes." + +#~ msgid "Setup completed." +#~ msgstr "Opsætning færdig." + +#~ msgid "Setup failed." +#~ msgstr "Opsætning fejlede." + #, fuzzy #~| msgid "Install this application?" #~ msgid "Administer calibre application" diff --git a/plinth/locale/de/LC_MESSAGES/django.po b/plinth/locale/de/LC_MESSAGES/django.po index a76b573e8..26893febc 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-11-02 19:02-0500\n" -"PO-Revision-Date: 2020-11-01 11:26+0000\n" -"Last-Translator: Dietmar \n" +"POT-Creation-Date: 2020-11-16 19:46-0500\n" +"PO-Revision-Date: 2020-11-13 22:50+0000\n" +"Last-Translator: Ralf Barkow \n" "Language-Team: German \n" "Language: de\n" @@ -19,7 +19,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 4.3.2-dev\n" +"X-Generator: Weblate 4.4-dev\n" #: doc/dev/_templates/layout.html:11 msgid "Page source" @@ -889,7 +889,7 @@ msgid "Refresh IP address and domains" msgstr "IP-Adresse und Domänen aktualisieren" #: plinth/modules/bind/views.py:71 plinth/modules/coturn/views.py:39 -#: plinth/modules/deluge/views.py:42 plinth/modules/dynamicdns/views.py:150 +#: plinth/modules/deluge/views.py:42 plinth/modules/dynamicdns/views.py:154 #: plinth/modules/mumble/views.py:28 plinth/modules/pagekite/forms.py:90 #: plinth/modules/quassel/views.py:29 plinth/modules/shadowsocks/views.py:59 #: plinth/modules/transmission/views.py:47 @@ -1684,19 +1684,23 @@ msgstr "Passwort anzeigen" msgid "URL to look up public IP" msgstr "Auf die öffentliche IP-Adresse verweisende URL" -#: plinth/modules/dynamicdns/forms.py:138 +#: plinth/modules/dynamicdns/forms.py:119 +msgid "Use IPv6 instead of IPv4" +msgstr "" + +#: plinth/modules/dynamicdns/forms.py:142 msgid "Please provide an update URL or a GnuDIP server address" msgstr "Bitte eine Update-URL oder eine GnuDIP-Serveradresse angeben" -#: plinth/modules/dynamicdns/forms.py:143 +#: plinth/modules/dynamicdns/forms.py:147 msgid "Please provide a GnuDIP username" msgstr "Bitte einen GnuDIP-Benutzernamen angeben" -#: plinth/modules/dynamicdns/forms.py:147 +#: plinth/modules/dynamicdns/forms.py:151 msgid "Please provide a GnuDIP domain name" msgstr "Bitte einen GnuDIP-Domainnamen angeben" -#: plinth/modules/dynamicdns/forms.py:152 +#: plinth/modules/dynamicdns/forms.py:156 msgid "Please provide a password" msgstr "Bitte ein Passwort angeben" @@ -1779,8 +1783,6 @@ msgstr "Info" #: 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:17 -#: plinth/modules/openvpn/templates/openvpn.html:38 #: plinth/modules/tor/templates/tor.html:12 #: plinth/modules/tor/templates/tor.html:26 #: plinth/modules/upgrades/templates/upgrades_configure.html:30 @@ -3122,16 +3124,16 @@ msgstr "" "Lassen Sie das Feld leer, bleibt das derzeitige Passwort bestehen." #: plinth/modules/mediawiki/forms.py:56 -#, fuzzy -#| msgid "Server" msgid "Server URL" -msgstr "Server" +msgstr "Server URL" #: plinth/modules/mediawiki/forms.py:57 msgid "" "Used by MediaWiki to generate URLs that point to the wiki such as in footer, " "feeds and emails." msgstr "" +"Wird von MediaWiki verwendet, um URLs zu generieren, die auf das Wiki " +"verweisen, z.B. in der Fußzeile, in Feeds und E-Mails." #: plinth/modules/mediawiki/forms.py:62 msgid "Enable public registrations" @@ -3195,10 +3197,8 @@ msgid "Default skin changed" msgstr "Standard-Thema geändert" #: plinth/modules/mediawiki/views.py:90 -#, fuzzy -#| msgid "Server deleted." msgid "Server URL updated" -msgstr "Server gelöscht." +msgstr "Server-URL aktualisiert" #: plinth/modules/minetest/__init__.py:38 #, python-brace-format @@ -4591,206 +4591,178 @@ msgstr "" "erfüllen ist." #: plinth/modules/networks/views.py:27 -#, fuzzy -#| msgid "Disabled" msgid "disabled" -msgstr "Deaktiviert" +msgstr "deaktiviert" #: plinth/modules/networks/views.py:28 -#, fuzzy -#| msgid "Automatic" msgid "automatic" -msgstr "Automatisch" +msgstr "automatisch" #: plinth/modules/networks/views.py:29 -#, fuzzy -#| msgctxt "User guide" -#| msgid "Manual" msgid "manual" msgstr "Handbuch" #: plinth/modules/networks/views.py:30 -#, fuzzy -#| msgid "Shared" msgid "shared" -msgstr "Geteilt" +msgstr "geteilt" #: plinth/modules/networks/views.py:31 +#, fuzzy msgid "link-local" -msgstr "" +msgstr "link-lokal" #: plinth/modules/networks/views.py:37 plinth/modules/networks/views.py:98 #: plinth/modules/networks/views.py:109 msgid "unknown" -msgstr "" +msgstr "unbekannt" #: plinth/modules/networks/views.py:38 -#, fuzzy -#| msgid "Manage" msgid "unmanaged" -msgstr "Verwalten" +msgstr "nicht verwaltet" #: plinth/modules/networks/views.py:39 -#, fuzzy -#| msgid "Unavailable Shares" msgid "unavailable" -msgstr "Nicht verfügbare Shares" +msgstr "nicht verfügbar" #: plinth/modules/networks/views.py:40 #, fuzzy #| msgid "cable is connected" msgid "disconnected" -msgstr "Kabel verbunden" +msgstr "unterbrochen" #: plinth/modules/networks/views.py:41 #, fuzzy #| msgid "Sharing" msgid "preparing" -msgstr "Sharing" +msgstr "vorbereiten" #: plinth/modules/networks/views.py:42 #, fuzzy #| msgid "Connection" msgid "connecting" -msgstr "Verbindung" +msgstr "verbinde" #: plinth/modules/networks/views.py:43 -#, fuzzy -#| msgid "Use HTTP basic authentication" msgid "needs authentication" -msgstr "HTTP-Basisauthentifizierung verwenden" +msgstr "benötigt Authentifizierung" #: plinth/modules/networks/views.py:44 +#, fuzzy msgid "requesting address" -msgstr "" +msgstr "Adresse angefordert" #: plinth/modules/networks/views.py:45 msgid "checking" -msgstr "" +msgstr "prüfe" #: plinth/modules/networks/views.py:46 +#, fuzzy msgid "waiting for secondary" -msgstr "" +msgstr "Warten auf Sekundär" #: plinth/modules/networks/views.py:47 -#, fuzzy -#| msgid "Deactivate" msgid "activated" -msgstr "Ausschalten" +msgstr "aktiviert" #: plinth/modules/networks/views.py:48 #, fuzzy #| msgid "Deactivate" msgid "deactivating" -msgstr "Ausschalten" +msgstr "deaktiviere" #: plinth/modules/networks/views.py:56 #, fuzzy #| msgid "State reason" msgid "no reason" -msgstr "Erklärung des Zustands" +msgstr "ohne Grund" #: plinth/modules/networks/views.py:58 msgid "unknown error" -msgstr "" +msgstr "unbekannter Fehler" #: plinth/modules/networks/views.py:60 -#, fuzzy -#| msgid "The device is not mounted." msgid "device is now managed" -msgstr "Das Gerät ist nicht eingebunden." +msgstr "Gerät wird jetzt verwaltet" #: plinth/modules/networks/views.py:62 #, fuzzy #| msgid "The device is not mounted." msgid "device is now unmanaged" -msgstr "Das Gerät ist nicht eingebunden." +msgstr "Gerät ist jetzt unmanaged" #: plinth/modules/networks/views.py:64 -#, fuzzy -#| msgid "configuration file: {file}" msgid "configuration failed" -msgstr "Konfigurationsdatei: {file}" +msgstr "Konfiguration gescheitert" #: plinth/modules/networks/views.py:66 +#, fuzzy msgid "secrets required" -msgstr "" +msgstr "secrets erforderlich" #: plinth/modules/networks/views.py:68 msgid "DHCP client failed to start" -msgstr "" +msgstr "DHCP-Client konnte nicht gestartet werden" #: plinth/modules/networks/views.py:70 msgid "DHCP client error" -msgstr "" +msgstr "DHCP Client-Fehler" #: plinth/modules/networks/views.py:72 #, fuzzy #| msgid "Client deleted." msgid "DHCP client failed" -msgstr "Client gelöscht." +msgstr "DHCP-Client fehlgeschlagen" #: plinth/modules/networks/views.py:74 +#, fuzzy msgid "shared connection service failed to start" -msgstr "" +msgstr "Shared Connection Service konnte nicht gestartet werden" #: plinth/modules/networks/views.py:76 #, fuzzy #| msgid "The operation failed." msgid "shared connection service failed" -msgstr "Der Vorgang schlug fehl." +msgstr "Shared Connection Service fehlgeschlagen" #: plinth/modules/networks/views.py:78 -#, fuzzy -#| msgid "The device is already mounted." msgid "device was removed" -msgstr "Dieses Gerät ist bereits eingebunden." +msgstr "Gerät wurde entfernt" #: plinth/modules/networks/views.py:80 -#, fuzzy -#| msgid "The device is mounted by another user." msgid "device disconnected by user" -msgstr "Das Gerät ist von einem anderen Benutzer eingebunden." +msgstr "Gerät durch Benutzer getrennt" #: plinth/modules/networks/views.py:82 msgid "a dependency of the connection failed" -msgstr "" +msgstr "eine Abhängigkeit der Verbindung ist fehlgeschlagen" #: plinth/modules/networks/views.py:84 -#, fuzzy -#| msgid "Client not found" msgid "Wi-Fi network not found" -msgstr "Client nicht gefunden" +msgstr "Wi-Fi-Netzwerk nicht gefunden" #: plinth/modules/networks/views.py:86 -#, fuzzy -#| msgid "The operation failed." msgid "a secondary connection failed" -msgstr "Der Vorgang schlug fehl." +msgstr "eine sekundäre Verbindung ist fehlgeschlagen" #: plinth/modules/networks/views.py:88 msgid "new connection activation was enqueued" -msgstr "" +msgstr "neue Verbindungsaktivierung wurde in die Warteschlange eingereiht" #: plinth/modules/networks/views.py:90 msgid "a duplicate IP address was detected" -msgstr "" +msgstr "eine doppelte IP-Adresse wurde festgestellt" #: plinth/modules/networks/views.py:92 msgid "selected IP method is not supported" -msgstr "" +msgstr "ausgewählte IP-Methode wird nicht unterstützt" #: plinth/modules/networks/views.py:101 -#, fuzzy -#| msgid "Generic" msgid "generic" -msgstr "Allgemein" +msgstr "generisch" #: plinth/modules/networks/views.py:102 -#, fuzzy -#| msgid "Network Interface" msgid "TUN or TAP interface" -msgstr "Netzwerk-Schnittstelle" +msgstr "TUN- bzw. TAP-Schnittstelle" #: plinth/modules/networks/views.py:103 plinth/modules/wireguard/__init__.py:50 #: plinth/modules/wireguard/manifest.py:14 @@ -4798,10 +4770,8 @@ msgid "WireGuard" msgstr "WireGuard" #: plinth/modules/networks/views.py:110 -#, fuzzy -#| msgid "Ad-hoc" msgid "ad-hoc" -msgstr "Ad-hoc" +msgstr "ad-hoc" #: plinth/modules/networks/views.py:111 #, fuzzy @@ -4819,7 +4789,7 @@ msgstr "Zugangspunkt" #, fuzzy #| msgid "Access Point" msgid "mesh point" -msgstr "Zugangspunkt" +msgstr "Netzpunkt" #: plinth/modules/networks/views.py:127 msgid "Network Connections" @@ -4891,7 +4861,7 @@ msgstr "Verbindung {name} gelöscht." msgid "Failed to delete connection: Connection not found." msgstr "Konnte Verbindung nicht löschen: Verbindung nicht gefunden." -#: plinth/modules/openvpn/__init__.py:26 +#: plinth/modules/openvpn/__init__.py:28 #, python-brace-format msgid "" "Virtual Private Network (VPN) is a technique for securely connecting two " @@ -4908,16 +4878,16 @@ msgstr "" "{box_name} erlangen. Sie können auch auf das Internet via {box_name} für " "zusätzliche Sicherheit und Anonymität zugreifen." -#: plinth/modules/openvpn/__init__.py:54 plinth/modules/openvpn/manifest.py:18 +#: plinth/modules/openvpn/__init__.py:56 plinth/modules/openvpn/manifest.py:18 msgid "OpenVPN" msgstr "OpenVPN" -#: plinth/modules/openvpn/__init__.py:55 +#: plinth/modules/openvpn/__init__.py:57 #: plinth/modules/wireguard/__init__.py:52 msgid "Virtual Private Network" msgstr "Virtuelles Privates Netzwerk" -#: plinth/modules/openvpn/__init__.py:66 +#: plinth/modules/openvpn/__init__.py:68 #, python-brace-format msgid "" "Download Profile" @@ -4928,42 +4898,45 @@ msgstr "" msgid "Tunnelblick" msgstr "Tunnelblick" -#: plinth/modules/openvpn/templates/openvpn.html:20 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:7 +msgid "Migrate to ECC" +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:10 +msgid "" +"Your OpenVPN installation is currently using RSA. Switching to the modern " +"Elliptic Curve Cryptography improves speed of establishing a connection and " +"security. This operation is irreversible. It should only take a few minutes " +"on most single board computers." +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:19 #, 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." +"All new installations of OpenVPN on %(box_name)s will use ECC by default. We " +"recommend migrating as soon as possible." msgstr "" -"OpenVPN ist noch nicht eingerichtet. Eine sichere Einrichtung dauert sehr " -"lange. Je nachdem, wie schnell die %(box_name)s ist, kann es sogar Stunden " -"dauern. Wenn das Einrichten unterbrochen wird, können Sie es erneut zu " -"starten." -#: plinth/modules/openvpn/templates/openvpn.html:33 -msgid "Start setup" -msgstr "Einrichten beginnen" - -#: plinth/modules/openvpn/templates/openvpn.html:42 -msgid "OpenVPN setup is running" -msgstr "Einrichtung von OpenVPN läuft" - -#: plinth/modules/openvpn/templates/openvpn.html:46 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:26 #, 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." +"Warning: Existing client profiles will be invalidated by this " +"operation. All OpenVPN users on %(box_name)s must download their new " +"profiles. OpenVPN clients compatible with ECC should be used to connect to " +"this server." msgstr "" -"Ein sichere Einrichtung dauert sehr lange. Je nachdem, wie schnell die " -"%(box_name)s ist, kann es sogar Stunden dauern. Wenn das Einrichten " -"unterbrochen wird, können Sie es erneut zu starten." -#: plinth/modules/openvpn/templates/openvpn.html:61 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:38 +#, fuzzy +#| msgid "Moderate" +msgid "Migrate" +msgstr "Moderat" + +#: plinth/modules/openvpn/templates/openvpn.html:22 msgid "Profile" msgstr "Profil" -#: plinth/modules/openvpn/templates/openvpn.html:64 +#: plinth/modules/openvpn/templates/openvpn.html:25 #, python-format msgid "" "To connect to %(box_name)s's VPN, you need to download a profile and feed it " @@ -4977,25 +4950,17 @@ msgstr "" "verfügbar. Klicken Sie auf \"Mehr erfahren...\" empfohlenen Clients und " "Anweisungen zur Konfiguration." -#: plinth/modules/openvpn/templates/openvpn.html:74 +#: plinth/modules/openvpn/templates/openvpn.html:35 #, python-format msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." msgstr "" "Das Profil ist für jeden Benutzer von %(box_name)s spezifisch. Halten Sie es " "geheim." -#: plinth/modules/openvpn/templates/openvpn.html:85 +#: plinth/modules/openvpn/templates/openvpn.html:46 msgid "Download my profile" msgstr "Mein Profil herunterladen" -#: plinth/modules/openvpn/views.py:88 -msgid "Setup completed." -msgstr "Einrichtung beendet." - -#: plinth/modules/openvpn/views.py:90 -msgid "Setup failed." -msgstr "Einrichtung fehlgeschlagen." - #: plinth/modules/pagekite/__init__.py:28 #, python-brace-format msgid "" @@ -6537,7 +6502,7 @@ msgstr "Wenig Plattenspeicherplatz" #, fuzzy, python-brace-format #| msgid "About {box_name}" msgid "Go to {app_name}" -msgstr "Über Ihre FreedomBox {box_name}" +msgstr "Gehe zu {app_name}" #: plinth/modules/storage/__init__.py:337 msgid "Disk failure imminent" @@ -6719,7 +6684,7 @@ msgid "" "remaining nodes." msgstr "" "Tahoe-LAFS ist ein dezentrales, sicheres System, um Dateien zu speichern. Es " -"nutzt Anbieter-unabhängige Sicherheitstechniken, um Dateien in einem " +"nutzt anbieterunabhängige Sicherheitstechniken, um Dateien in einem " "verteilten Netzwerk von Speicherknoten abzuspeichern. Selbst wenn einige der " "Knoten ausfallen, können Ihre Dateien von den restlichen Knoten " "wiederhergestellt werden." @@ -7070,10 +7035,8 @@ msgid "Update" msgstr "Aktualisieren" #: plinth/modules/upgrades/__init__.py:105 -#, fuzzy -#| msgid "Update" msgid "Updates" -msgstr "Aktualisieren" +msgstr "Aktualisierungen" #: plinth/modules/upgrades/__init__.py:108 msgid "FreedomBox Updated" @@ -7089,16 +7052,16 @@ msgstr "" "Wenn aktiviert, aktualisiert sich FreedomBox automatisch einmal täglich." #: plinth/modules/upgrades/forms.py:19 -#, fuzzy -#| msgid "Enable auto-update" msgid "Enable auto-update to next stable release" -msgstr "Auto-Aktualisierung aktivieren" +msgstr "Auto-Update auf die nächste stabile Version aktivieren" #: plinth/modules/upgrades/forms.py:20 msgid "" "When enabled, FreedomBox will update to the next stable distribution release " "when it is available." msgstr "" +"Wenn aktiviert, wird FreedomBox auf die nächste stabile Distributionsversion " +"aktualisiert, sobald diese verfügbar ist." #: plinth/modules/upgrades/forms.py:34 #: plinth/modules/upgrades/templates/upgrades_configure.html:105 @@ -7217,16 +7180,12 @@ msgid "Automatic upgrades disabled" msgstr "Automatische Aktualisierungen ausgeschaltet" #: plinth/modules/upgrades/views.py:81 -#, fuzzy -#| msgid "Automatic upgrades enabled" msgid "Distribution upgrade enabled" -msgstr "Automatische Systemaktualisierung aktivieren" +msgstr "Distributions-Upgrade aktiviert" #: plinth/modules/upgrades/views.py:84 -#, fuzzy -#| msgid "Automatic upgrades disabled" msgid "Distribution upgrade disabled" -msgstr "Automatische Aktualisierungen ausgeschaltet" +msgstr "Distributions-Upgrade deaktiviert" #: plinth/modules/upgrades/views.py:125 msgid "Upgrade process started." @@ -8228,8 +8187,9 @@ msgid "This application is currently not available in your distribution." msgstr "Diese Anwendung ist in Ihrer Distribution derzeit nicht erhältlich." #: plinth/templates/setup.html:50 +#, fuzzy msgid "Check again" -msgstr "" +msgstr "Erneut prüfen" #: plinth/templates/setup.html:60 msgid "Install" @@ -8257,6 +8217,37 @@ msgstr "%(percentage)s %% abgeschlossen" msgid "Gujarati" msgstr "Gujarati" +#~ 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 "" +#~ "OpenVPN ist noch nicht eingerichtet. Eine sichere Einrichtung dauert sehr " +#~ "lange. Je nachdem, wie schnell die %(box_name)s ist, kann es sogar " +#~ "Stunden dauern. Wenn das Einrichten unterbrochen wird, können Sie es " +#~ "erneut zu starten." + +#~ msgid "Start setup" +#~ msgstr "Einrichten beginnen" + +#~ msgid "OpenVPN setup is running" +#~ msgstr "Einrichtung von OpenVPN läuft" + +#~ 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 "" +#~ "Ein sichere Einrichtung dauert sehr lange. Je nachdem, wie schnell die " +#~ "%(box_name)s ist, kann es sogar Stunden dauern. Wenn das Einrichten " +#~ "unterbrochen wird, können Sie es erneut zu starten." + +#~ msgid "Setup completed." +#~ msgstr "Einrichtung beendet." + +#~ msgid "Setup failed." +#~ msgstr "Einrichtung fehlgeschlagen." + #, fuzzy #~| msgid "Administer Syncthing application" #~ msgid "Administer calibre application" diff --git a/plinth/locale/django.pot b/plinth/locale/django.pot index 823371479..b310e2a95 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-11-02 19:02-0500\n" +"POT-Creation-Date: 2020-11-16 19:46-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -811,7 +811,7 @@ msgid "Refresh IP address and domains" msgstr "" #: plinth/modules/bind/views.py:71 plinth/modules/coturn/views.py:39 -#: plinth/modules/deluge/views.py:42 plinth/modules/dynamicdns/views.py:150 +#: plinth/modules/deluge/views.py:42 plinth/modules/dynamicdns/views.py:154 #: plinth/modules/mumble/views.py:28 plinth/modules/pagekite/forms.py:90 #: plinth/modules/quassel/views.py:29 plinth/modules/shadowsocks/views.py:59 #: plinth/modules/transmission/views.py:47 @@ -1493,19 +1493,23 @@ msgstr "" msgid "URL to look up public IP" msgstr "" -#: plinth/modules/dynamicdns/forms.py:138 +#: plinth/modules/dynamicdns/forms.py:119 +msgid "Use IPv6 instead of IPv4" +msgstr "" + +#: plinth/modules/dynamicdns/forms.py:142 msgid "Please provide an update URL or a GnuDIP server address" msgstr "" -#: plinth/modules/dynamicdns/forms.py:143 +#: plinth/modules/dynamicdns/forms.py:147 msgid "Please provide a GnuDIP username" msgstr "" -#: plinth/modules/dynamicdns/forms.py:147 +#: plinth/modules/dynamicdns/forms.py:151 msgid "Please provide a GnuDIP domain name" msgstr "" -#: plinth/modules/dynamicdns/forms.py:152 +#: plinth/modules/dynamicdns/forms.py:156 msgid "Please provide a password" msgstr "" @@ -1569,8 +1573,6 @@ msgstr "" #: 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:17 -#: plinth/modules/openvpn/templates/openvpn.html:38 #: plinth/modules/tor/templates/tor.html:12 #: plinth/modules/tor/templates/tor.html:26 #: plinth/modules/upgrades/templates/upgrades_configure.html:30 @@ -4166,7 +4168,7 @@ msgstr "" msgid "Failed to delete connection: Connection not found." msgstr "" -#: plinth/modules/openvpn/__init__.py:26 +#: plinth/modules/openvpn/__init__.py:28 #, python-brace-format msgid "" "Virtual Private Network (VPN) is a technique for securely connecting two " @@ -4177,16 +4179,16 @@ msgid "" "security and anonymity." msgstr "" -#: plinth/modules/openvpn/__init__.py:54 plinth/modules/openvpn/manifest.py:18 +#: plinth/modules/openvpn/__init__.py:56 plinth/modules/openvpn/manifest.py:18 msgid "OpenVPN" msgstr "" -#: plinth/modules/openvpn/__init__.py:55 +#: plinth/modules/openvpn/__init__.py:57 #: plinth/modules/wireguard/__init__.py:52 msgid "Virtual Private Network" msgstr "" -#: plinth/modules/openvpn/__init__.py:66 +#: plinth/modules/openvpn/__init__.py:68 #, python-brace-format msgid "" "Download Profile" @@ -4196,35 +4198,43 @@ msgstr "" msgid "Tunnelblick" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:20 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:7 +msgid "Migrate to ECC" +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:10 +msgid "" +"Your OpenVPN installation is currently using RSA. Switching to the modern " +"Elliptic Curve Cryptography improves speed of establishing a connection and " +"security. This operation is irreversible. It should only take a few minutes " +"on most single board computers." +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:19 #, 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." +"All new installations of OpenVPN on %(box_name)s will use ECC by default. We " +"recommend migrating as soon as possible." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:33 -msgid "Start setup" -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:42 -msgid "OpenVPN setup is running" -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:46 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:26 #, 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." +"Warning: Existing client profiles will be invalidated by this " +"operation. All OpenVPN users on %(box_name)s must download their new " +"profiles. OpenVPN clients compatible with ECC should be used to connect to " +"this server." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:61 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:38 +msgid "Migrate" +msgstr "" + +#: plinth/modules/openvpn/templates/openvpn.html:22 msgid "Profile" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:64 +#: plinth/modules/openvpn/templates/openvpn.html:25 #, python-format msgid "" "To connect to %(box_name)s's VPN, you need to download a profile and feed it " @@ -4233,23 +4243,15 @@ msgid "" "clients and instructions on how to configure them." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:74 +#: plinth/modules/openvpn/templates/openvpn.html:35 #, python-format msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:85 +#: plinth/modules/openvpn/templates/openvpn.html:46 msgid "Download my profile" msgstr "" -#: plinth/modules/openvpn/views.py:88 -msgid "Setup completed." -msgstr "" - -#: plinth/modules/openvpn/views.py:90 -msgid "Setup failed." -msgstr "" - #: plinth/modules/pagekite/__init__.py:28 #, python-brace-format msgid "" diff --git a/plinth/locale/el/LC_MESSAGES/django.po b/plinth/locale/el/LC_MESSAGES/django.po index 06e2ae428..0cf378418 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-11-02 19:02-0500\n" +"POT-Creation-Date: 2020-11-16 19:46-0500\n" "PO-Revision-Date: 2020-10-08 23:26+0000\n" "Last-Translator: Allan Nordhøy \n" "Language-Team: Greek Download Profile" @@ -4912,43 +4914,45 @@ msgstr " Λήψη προφί msgid "Tunnelblick" msgstr "TunnelBlick" -#: plinth/modules/openvpn/templates/openvpn.html:20 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:7 +msgid "Migrate to ECC" +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:10 +msgid "" +"Your OpenVPN installation is currently using RSA. Switching to the modern " +"Elliptic Curve Cryptography improves speed of establishing a connection and " +"security. This operation is irreversible. It should only take a few minutes " +"on most single board computers." +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:19 #, 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." +"All new installations of OpenVPN on %(box_name)s will use ECC by default. We " +"recommend migrating as soon as possible." msgstr "" -"Το OpenVPN δεν έχει ακόμη ρυθμιστεί. Η εκτέλεση μιας ασφαλούς εγκατάστασης " -"διαρκεί πολύ ώρα. Ανάλογα με το πόσο γρήγορο είναι το %(box_name)s, μπορεί " -"να χρειαστούν και ώρες. Εάν η ρύθμιση διακοπεί, μπορείτε να την ξεκινήσετε " -"ξανά." -#: plinth/modules/openvpn/templates/openvpn.html:33 -msgid "Start setup" -msgstr "Έναρξη εγκατάστασης" - -#: plinth/modules/openvpn/templates/openvpn.html:42 -msgid "OpenVPN setup is running" -msgstr "Η εγκατάσταση του OpenVPN εκτελείται" - -#: plinth/modules/openvpn/templates/openvpn.html:46 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:26 #, 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." +"Warning: Existing client profiles will be invalidated by this " +"operation. All OpenVPN users on %(box_name)s must download their new " +"profiles. OpenVPN clients compatible with ECC should be used to connect to " +"this server." msgstr "" -"Για να εκτελέσετε μια ασφαλή εγκατάσταση, αυτή η διαδικασία διαρκεί πολύ " -"καιρό. Ανάλογα με το πόσο γρήγορο είναι το %(box_name)s , μπορεί να " -"χρειαστούν και ώρες. Εάν η ρύθμιση διακοπεί, μπορείτε να την ξεκινήσετε " -"ξανά." -#: plinth/modules/openvpn/templates/openvpn.html:61 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:38 +#, fuzzy +#| msgid "Moderate" +msgid "Migrate" +msgstr "Μέτριο" + +#: plinth/modules/openvpn/templates/openvpn.html:22 msgid "Profile" msgstr "Προφίλ" -#: plinth/modules/openvpn/templates/openvpn.html:64 +#: plinth/modules/openvpn/templates/openvpn.html:25 #, python-format msgid "" "To connect to %(box_name)s's VPN, you need to download a profile and feed it " @@ -4963,25 +4967,17 @@ msgstr "" "περισσότερα...\" Προτεινόμενα προγράμματα-πελάτες και οδηγίες σχετικά με τον " "τρόπο διαμόρφωσης τους." -#: plinth/modules/openvpn/templates/openvpn.html:74 +#: plinth/modules/openvpn/templates/openvpn.html:35 #, python-format msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." msgstr "" "Το προφίλ είναι συγκεκριμένο για κάθε χρήστη του %(box_name)s. Κρατήστε το " "μυστικό." -#: plinth/modules/openvpn/templates/openvpn.html:85 +#: plinth/modules/openvpn/templates/openvpn.html:46 msgid "Download my profile" msgstr "Λήψη του προφίλ μου" -#: plinth/modules/openvpn/views.py:88 -msgid "Setup completed." -msgstr "Η εγκατάσταση ολοκληρώθηκε." - -#: plinth/modules/openvpn/views.py:90 -msgid "Setup failed." -msgstr "Η εγκατάσταση απέτυχε." - #: plinth/modules/pagekite/__init__.py:28 #, python-brace-format msgid "" @@ -8372,6 +8368,38 @@ msgstr "ολοκληρώθηκε το %(percentage)s%%" msgid "Gujarati" msgstr "Gujarati" +#~ 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 "" +#~ "Το OpenVPN δεν έχει ακόμη ρυθμιστεί. Η εκτέλεση μιας ασφαλούς " +#~ "εγκατάστασης διαρκεί πολύ ώρα. Ανάλογα με το πόσο γρήγορο είναι το " +#~ "%(box_name)s, μπορεί να χρειαστούν και ώρες. Εάν η ρύθμιση διακοπεί, " +#~ "μπορείτε να την ξεκινήσετε ξανά." + +#~ msgid "Start setup" +#~ msgstr "Έναρξη εγκατάστασης" + +#~ msgid "OpenVPN setup is running" +#~ msgstr "Η εγκατάσταση του OpenVPN εκτελείται" + +#~ 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 "" +#~ "Για να εκτελέσετε μια ασφαλή εγκατάσταση, αυτή η διαδικασία διαρκεί πολύ " +#~ "καιρό. Ανάλογα με το πόσο γρήγορο είναι το %(box_name)s , μπορεί να " +#~ "χρειαστούν και ώρες. Εάν η ρύθμιση διακοπεί, μπορείτε να την ξεκινήσετε " +#~ "ξανά." + +#~ msgid "Setup completed." +#~ msgstr "Η εγκατάσταση ολοκληρώθηκε." + +#~ msgid "Setup failed." +#~ msgstr "Η εγκατάσταση απέτυχε." + #, fuzzy #~| msgid "Administer Syncthing application" #~ msgid "Administer calibre application" diff --git a/plinth/locale/es/LC_MESSAGES/django.po b/plinth/locale/es/LC_MESSAGES/django.po index 3694e43c3..0f8092cf9 100644 --- a/plinth/locale/es/LC_MESSAGES/django.po +++ b/plinth/locale/es/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-11-02 19:02-0500\n" -"PO-Revision-Date: 2020-10-22 11:26+0000\n" +"POT-Creation-Date: 2020-11-16 19:46-0500\n" +"PO-Revision-Date: 2020-11-13 22:50+0000\n" "Last-Translator: Fioddor Superconcentrado \n" "Language-Team: Spanish \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 4.3.1\n" +"X-Generator: Weblate 4.4-dev\n" #: doc/dev/_templates/layout.html:11 msgid "Page source" @@ -881,7 +881,7 @@ msgid "Refresh IP address and domains" msgstr "Actualizar direcciones IP y dominios" #: plinth/modules/bind/views.py:71 plinth/modules/coturn/views.py:39 -#: plinth/modules/deluge/views.py:42 plinth/modules/dynamicdns/views.py:150 +#: plinth/modules/deluge/views.py:42 plinth/modules/dynamicdns/views.py:154 #: plinth/modules/mumble/views.py:28 plinth/modules/pagekite/forms.py:90 #: plinth/modules/quassel/views.py:29 plinth/modules/shadowsocks/views.py:59 #: plinth/modules/transmission/views.py:47 @@ -1666,21 +1666,25 @@ msgstr "Mostrar clave de acceso" msgid "URL to look up public IP" msgstr "URL para consultar la IP pública" -#: plinth/modules/dynamicdns/forms.py:138 +#: plinth/modules/dynamicdns/forms.py:119 +msgid "Use IPv6 instead of IPv4" +msgstr "" + +#: plinth/modules/dynamicdns/forms.py:142 msgid "Please provide an update URL or a GnuDIP server address" msgstr "" "Por favor indique una URL de actualización o la dirección de un servidor " "GnuDIP" -#: plinth/modules/dynamicdns/forms.py:143 +#: plinth/modules/dynamicdns/forms.py:147 msgid "Please provide a GnuDIP username" msgstr "Por favor indique un nombre de usuaria/o GnuDIP" -#: plinth/modules/dynamicdns/forms.py:147 +#: plinth/modules/dynamicdns/forms.py:151 msgid "Please provide a GnuDIP domain name" msgstr "Por favor indique un nombre de dominio GnuDIP" -#: plinth/modules/dynamicdns/forms.py:152 +#: plinth/modules/dynamicdns/forms.py:156 msgid "Please provide a password" msgstr "Por favor indique una clave de acceso" @@ -1762,8 +1766,6 @@ msgstr "Acerca de" #: 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:17 -#: plinth/modules/openvpn/templates/openvpn.html:38 #: plinth/modules/tor/templates/tor.html:12 #: plinth/modules/tor/templates/tor.html:26 #: plinth/modules/upgrades/templates/upgrades_configure.html:30 @@ -3085,16 +3087,16 @@ msgstr "" "(admin). Déjelo en blanco para conservar la clave actual." #: plinth/modules/mediawiki/forms.py:56 -#, fuzzy -#| msgid "Server" msgid "Server URL" -msgstr "Servidor" +msgstr "URL de Servidor" #: plinth/modules/mediawiki/forms.py:57 msgid "" "Used by MediaWiki to generate URLs that point to the wiki such as in footer, " "feeds and emails." msgstr "" +"Lo usa MediaWiki para generar URLs que apunten al wiki como piés de página, " +"feeds y enlaces a e-mail." #: plinth/modules/mediawiki/forms.py:62 msgid "Enable public registrations" @@ -3158,10 +3160,8 @@ msgid "Default skin changed" msgstr "Tema por defecto cambiado" #: plinth/modules/mediawiki/views.py:90 -#, fuzzy -#| msgid "Server deleted." msgid "Server URL updated" -msgstr "Servidor eliminado." +msgstr "URL de servidor actualizada" #: plinth/modules/minetest/__init__.py:38 #, python-brace-format @@ -4524,206 +4524,157 @@ msgstr "" "instrucciones necesarias sobre cómo hacerlo." #: plinth/modules/networks/views.py:27 -#, fuzzy -#| msgid "Disabled" msgid "disabled" -msgstr "Desactivado" +msgstr "desactivada" #: plinth/modules/networks/views.py:28 -#, fuzzy -#| msgid "Automatic" msgid "automatic" -msgstr "Automática" +msgstr "automática" #: plinth/modules/networks/views.py:29 -#, fuzzy -#| msgctxt "User guide" -#| msgid "Manual" msgid "manual" -msgstr "Manual" +msgstr "manual" #: plinth/modules/networks/views.py:30 -#, fuzzy -#| msgid "Shared" msgid "shared" -msgstr "Compartido" +msgstr "compartida" #: plinth/modules/networks/views.py:31 msgid "link-local" -msgstr "" +msgstr "enlace-local" #: plinth/modules/networks/views.py:37 plinth/modules/networks/views.py:98 #: plinth/modules/networks/views.py:109 msgid "unknown" -msgstr "" +msgstr "desconocido" #: plinth/modules/networks/views.py:38 -#, fuzzy -#| msgid "Manage" msgid "unmanaged" -msgstr "Gestionar" +msgstr "no gestionada" #: plinth/modules/networks/views.py:39 -#, fuzzy -#| msgid "Unavailable Shares" msgid "unavailable" -msgstr "Elementos compartidos no disponibles" +msgstr "indisponible" #: plinth/modules/networks/views.py:40 -#, fuzzy -#| msgid "cable is connected" msgid "disconnected" -msgstr "El cable está conectado" +msgstr "conectado" #: plinth/modules/networks/views.py:41 -#, fuzzy -#| msgid "Sharing" msgid "preparing" -msgstr "Compartir" +msgstr "preparando" #: plinth/modules/networks/views.py:42 -#, fuzzy -#| msgid "Connection" msgid "connecting" -msgstr "Conexión" +msgstr "conectando" #: plinth/modules/networks/views.py:43 -#, fuzzy -#| msgid "Use HTTP basic authentication" msgid "needs authentication" -msgstr "Usar autenticación básica de HTTP" +msgstr "necesita autenticación" #: plinth/modules/networks/views.py:44 msgid "requesting address" -msgstr "" +msgstr "solicitando dirección" #: plinth/modules/networks/views.py:45 msgid "checking" -msgstr "" +msgstr "comprobando" #: plinth/modules/networks/views.py:46 msgid "waiting for secondary" -msgstr "" +msgstr "esperando al secundario" #: plinth/modules/networks/views.py:47 -#, fuzzy -#| msgid "Deactivate" msgid "activated" -msgstr "Desactivar" +msgstr "activada" #: plinth/modules/networks/views.py:48 -#, fuzzy -#| msgid "Deactivate" msgid "deactivating" -msgstr "Desactivar" +msgstr "desactivando" #: plinth/modules/networks/views.py:56 -#, fuzzy -#| msgid "State reason" msgid "no reason" -msgstr "Motivo del estado" +msgstr "sin motivo" #: plinth/modules/networks/views.py:58 msgid "unknown error" -msgstr "" +msgstr "fallo desconocido" #: plinth/modules/networks/views.py:60 -#, fuzzy -#| msgid "The device is not mounted." msgid "device is now managed" -msgstr "El dispositivo no está montado." +msgstr "el dispositivo está hora gestionado" #: plinth/modules/networks/views.py:62 -#, fuzzy -#| msgid "The device is not mounted." msgid "device is now unmanaged" -msgstr "El dispositivo no está montado." +msgstr "el dispositivo ahora no está gestionado" #: plinth/modules/networks/views.py:64 -#, fuzzy -#| msgid "configuration file: {file}" msgid "configuration failed" -msgstr "archivo de configuración: {file}" +msgstr "falló la configuración" #: plinth/modules/networks/views.py:66 msgid "secrets required" -msgstr "" +msgstr "se requieren secretos" #: plinth/modules/networks/views.py:68 msgid "DHCP client failed to start" -msgstr "" +msgstr "Fallo iniciando el cliente DHCP" #: plinth/modules/networks/views.py:70 msgid "DHCP client error" -msgstr "" +msgstr "Error en cliente DHCP" #: plinth/modules/networks/views.py:72 -#, fuzzy -#| msgid "Client deleted." msgid "DHCP client failed" -msgstr "Cliente eliminado." +msgstr "falló el cliente DHCP" #: plinth/modules/networks/views.py:74 msgid "shared connection service failed to start" -msgstr "" +msgstr "fallo al iniciar el servicio de conexión compartida" #: plinth/modules/networks/views.py:76 -#, fuzzy -#| msgid "The operation failed." msgid "shared connection service failed" -msgstr "Falló la operación." +msgstr "falló el servicio de conexión compartida" #: plinth/modules/networks/views.py:78 -#, fuzzy -#| msgid "The device is already mounted." msgid "device was removed" -msgstr "El dispositivo ya está montado." +msgstr "Se eliminó el dispositivo" #: plinth/modules/networks/views.py:80 -#, fuzzy -#| msgid "The device is mounted by another user." msgid "device disconnected by user" -msgstr "El dispositivo está ya montado por otro usuario." +msgstr "dispositivo desconectado por el usuario" #: plinth/modules/networks/views.py:82 msgid "a dependency of the connection failed" -msgstr "" +msgstr "falló una dependencia de la conexión" #: plinth/modules/networks/views.py:84 -#, fuzzy -#| msgid "Client not found" msgid "Wi-Fi network not found" -msgstr "Cliente no encontrado" +msgstr "Red Wi-Fi no encontrada" #: plinth/modules/networks/views.py:86 -#, fuzzy -#| msgid "The operation failed." msgid "a secondary connection failed" -msgstr "Falló la operación." +msgstr "falló una conexión secundaria" #: plinth/modules/networks/views.py:88 msgid "new connection activation was enqueued" -msgstr "" +msgstr "encolada la activación de la nueva conexión" #: plinth/modules/networks/views.py:90 msgid "a duplicate IP address was detected" -msgstr "" +msgstr "se detectó una dirección IP duplicada" #: plinth/modules/networks/views.py:92 msgid "selected IP method is not supported" -msgstr "" +msgstr "el método IP seleccionado no está soportado" #: plinth/modules/networks/views.py:101 -#, fuzzy -#| msgid "Generic" msgid "generic" -msgstr "Genérica" +msgstr "genérica" #: plinth/modules/networks/views.py:102 -#, fuzzy -#| msgid "Network Interface" msgid "TUN or TAP interface" -msgstr "Interfaz de red" +msgstr "interfaz TUN o TAP" #: plinth/modules/networks/views.py:103 plinth/modules/wireguard/__init__.py:50 #: plinth/modules/wireguard/manifest.py:14 @@ -4731,28 +4682,20 @@ msgid "WireGuard" msgstr "WireGuard" #: plinth/modules/networks/views.py:110 -#, fuzzy -#| msgid "Ad-hoc" msgid "ad-hoc" -msgstr "Ad-hoc" +msgstr "ad-hoc" #: plinth/modules/networks/views.py:111 -#, fuzzy -#| msgid "Infrastructure" msgid "infrastructure" -msgstr "Infraestructura" +msgstr "infraestructura" #: plinth/modules/networks/views.py:112 -#, fuzzy -#| msgid "Access Point" msgid "access point" -msgstr "Punto de acceso" +msgstr "punto de acceso" #: plinth/modules/networks/views.py:113 -#, fuzzy -#| msgid "Access Point" msgid "mesh point" -msgstr "Punto de acceso" +msgstr "punto de acceso a la red mesh" #: plinth/modules/networks/views.py:127 msgid "Network Connections" @@ -4824,7 +4767,7 @@ msgstr "Conexión {name} eliminada." msgid "Failed to delete connection: Connection not found." msgstr "Ha fallado la eliminación de la conexión: no se encontró." -#: plinth/modules/openvpn/__init__.py:26 +#: plinth/modules/openvpn/__init__.py:28 #, python-brace-format msgid "" "Virtual Private Network (VPN) is a technique for securely connecting two " @@ -4841,16 +4784,16 @@ msgstr "" "forma privada. También puede acceder a Internet a través de su {box_name} " "para añadir protección y anonimato." -#: plinth/modules/openvpn/__init__.py:54 plinth/modules/openvpn/manifest.py:18 +#: plinth/modules/openvpn/__init__.py:56 plinth/modules/openvpn/manifest.py:18 msgid "OpenVPN" msgstr "OpenVPN" -#: plinth/modules/openvpn/__init__.py:55 +#: plinth/modules/openvpn/__init__.py:57 #: plinth/modules/wireguard/__init__.py:52 msgid "Virtual Private Network" msgstr "Red privada virtual" -#: plinth/modules/openvpn/__init__.py:66 +#: plinth/modules/openvpn/__init__.py:68 #, python-brace-format msgid "" "Download Profile" @@ -4861,42 +4804,45 @@ msgstr "" msgid "Tunnelblick" msgstr "Tunnelblick" -#: plinth/modules/openvpn/templates/openvpn.html:20 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:7 +msgid "Migrate to ECC" +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:10 +msgid "" +"Your OpenVPN installation is currently using RSA. Switching to the modern " +"Elliptic Curve Cryptography improves speed of establishing a connection and " +"security. This operation is irreversible. It should only take a few minutes " +"on most single board computers." +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:19 #, 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." +"All new installations of OpenVPN on %(box_name)s will use ECC by default. We " +"recommend migrating as soon as possible." msgstr "" -"OpenVPN no está configurado aún. Realizar una configuración segura toma " -"bastante tiempo. En función de cómo de rápida sea su %(box_name)s, puede " -"llevar incluso horas terminarla. Si la configuración se interrumpe debería " -"empezarla de nuevo." -#: plinth/modules/openvpn/templates/openvpn.html:33 -msgid "Start setup" -msgstr "Iniciar configuración" - -#: plinth/modules/openvpn/templates/openvpn.html:42 -msgid "OpenVPN setup is running" -msgstr "Se está ejecutando la configuración de OpenVPN" - -#: plinth/modules/openvpn/templates/openvpn.html:46 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:26 #, 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." +"Warning: Existing client profiles will be invalidated by this " +"operation. All OpenVPN users on %(box_name)s must download their new " +"profiles. OpenVPN clients compatible with ECC should be used to connect to " +"this server." msgstr "" -"Realizar una configuración segura necesita bastante tiempo. Dependiendo de " -"cómo de rápida sea su %(box_name)s puede necesitar incluso horas. Si la " -"configuración se interrumpe debería empezarla de nuevo." -#: plinth/modules/openvpn/templates/openvpn.html:61 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:38 +#, fuzzy +#| msgid "Moderate" +msgid "Migrate" +msgstr "Moderado" + +#: plinth/modules/openvpn/templates/openvpn.html:22 msgid "Profile" msgstr "Perfil" -#: plinth/modules/openvpn/templates/openvpn.html:64 +#: plinth/modules/openvpn/templates/openvpn.html:25 #, python-format msgid "" "To connect to %(box_name)s's VPN, you need to download a profile and feed it " @@ -4910,25 +4856,17 @@ msgstr "" "\"Aprender más...\" para información sobre los clientes recomendados y cómo " "configurarlos." -#: plinth/modules/openvpn/templates/openvpn.html:74 +#: plinth/modules/openvpn/templates/openvpn.html:35 #, python-format msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." msgstr "" "El perfil es específico de cada usuaria/o de %(box_name)s. Manténgalo en " "secreto." -#: plinth/modules/openvpn/templates/openvpn.html:85 +#: plinth/modules/openvpn/templates/openvpn.html:46 msgid "Download my profile" msgstr "Descargar mi perfil" -#: plinth/modules/openvpn/views.py:88 -msgid "Setup completed." -msgstr "Configuración completada." - -#: plinth/modules/openvpn/views.py:90 -msgid "Setup failed." -msgstr "Ha fallado la configuración." - #: plinth/modules/pagekite/__init__.py:28 #, python-brace-format msgid "" @@ -6447,10 +6385,9 @@ msgid "Low disk space" msgstr "Poco espacio en disco" #: plinth/modules/storage/__init__.py:319 -#, fuzzy, python-brace-format -#| msgid "About {box_name}" +#, python-brace-format msgid "Go to {app_name}" -msgstr "Acerca de {box_name}" +msgstr "Ir a {app_name}" #: plinth/modules/storage/__init__.py:337 msgid "Disk failure imminent" @@ -6978,10 +6915,8 @@ msgid "Update" msgstr "Actualización" #: plinth/modules/upgrades/__init__.py:105 -#, fuzzy -#| msgid "Update" msgid "Updates" -msgstr "Actualización" +msgstr "Actualizaciones" #: plinth/modules/upgrades/__init__.py:108 msgid "FreedomBox Updated" @@ -6997,16 +6932,16 @@ msgstr "" "Si está activado, FreedomBox se actualiza automáticamente una vez al día." #: plinth/modules/upgrades/forms.py:19 -#, fuzzy -#| msgid "Enable auto-update" msgid "Enable auto-update to next stable release" -msgstr "Activar actualizaciones automáticas" +msgstr "Activar actualización automática a la siguiente publicación estable" #: plinth/modules/upgrades/forms.py:20 msgid "" "When enabled, FreedomBox will update to the next stable distribution release " "when it is available." msgstr "" +"Si de activa, FreedomBox actualizará a la nueva publicación de la " +"distribución estable cuando esté disponible." #: plinth/modules/upgrades/forms.py:34 #: plinth/modules/upgrades/templates/upgrades_configure.html:105 @@ -7126,16 +7061,12 @@ msgid "Automatic upgrades disabled" msgstr "Actualizaciones automáticas desactivadas" #: plinth/modules/upgrades/views.py:81 -#, fuzzy -#| msgid "Automatic upgrades enabled" msgid "Distribution upgrade enabled" -msgstr "Actualizaciones automáticas activadas" +msgstr "Actualización automática de distibución activada" #: plinth/modules/upgrades/views.py:84 -#, fuzzy -#| msgid "Automatic upgrades disabled" msgid "Distribution upgrade disabled" -msgstr "Actualizaciones automáticas desactivadas" +msgstr "Actualización automática de distibución desactivada" #: plinth/modules/upgrades/views.py:125 msgid "Upgrade process started." @@ -8119,7 +8050,7 @@ msgstr "Esta aplicación no está disponible actualmente en su distribución." #: plinth/templates/setup.html:50 msgid "Check again" -msgstr "" +msgstr "Volver a coomprobar" #: plinth/templates/setup.html:60 msgid "Install" @@ -8147,6 +8078,37 @@ msgstr "%(percentage)s%% completado" msgid "Gujarati" msgstr "Gujarati" +#~ 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 "" +#~ "OpenVPN no está configurado aún. Realizar una configuración segura toma " +#~ "bastante tiempo. En función de cómo de rápida sea su %(box_name)s, puede " +#~ "llevar incluso horas terminarla. Si la configuración se interrumpe " +#~ "debería empezarla de nuevo." + +#~ msgid "Start setup" +#~ msgstr "Iniciar configuración" + +#~ msgid "OpenVPN setup is running" +#~ msgstr "Se está ejecutando la configuración de OpenVPN" + +#~ 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 "" +#~ "Realizar una configuración segura necesita bastante tiempo. Dependiendo " +#~ "de cómo de rápida sea su %(box_name)s puede necesitar incluso horas. Si " +#~ "la configuración se interrumpe debería empezarla de nuevo." + +#~ msgid "Setup completed." +#~ msgstr "Configuración completada." + +#~ msgid "Setup failed." +#~ msgstr "Ha fallado la configuración." + #~ msgid "Administer calibre application" #~ msgstr "Administrar Calibre" diff --git a/plinth/locale/fa/LC_MESSAGES/django.po b/plinth/locale/fa/LC_MESSAGES/django.po index 144bdbeae..940f2d7b2 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-11-02 19:02-0500\n" +"POT-Creation-Date: 2020-11-16 19:46-0500\n" "PO-Revision-Date: 2016-08-12 15:51+0000\n" "Last-Translator: Masoud Abkenar \n" "Language-Team: Persian Download Profile" @@ -4720,35 +4722,45 @@ msgstr "" msgid "Tunnelblick" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:20 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:7 +msgid "Migrate to ECC" +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:10 +msgid "" +"Your OpenVPN installation is currently using RSA. Switching to the modern " +"Elliptic Curve Cryptography improves speed of establishing a connection and " +"security. This operation is irreversible. It should only take a few minutes " +"on most single board computers." +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:19 #, 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." +"All new installations of OpenVPN on %(box_name)s will use ECC by default. We " +"recommend migrating as soon as possible." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:33 -msgid "Start setup" -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:42 -msgid "OpenVPN setup is running" -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:46 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:26 #, 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." +"Warning: Existing client profiles will be invalidated by this " +"operation. All OpenVPN users on %(box_name)s must download their new " +"profiles. OpenVPN clients compatible with ECC should be used to connect to " +"this server." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:61 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:38 +#, fuzzy +#| msgid "Mode" +msgid "Migrate" +msgstr "حالت" + +#: plinth/modules/openvpn/templates/openvpn.html:22 msgid "Profile" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:64 +#: plinth/modules/openvpn/templates/openvpn.html:25 #, python-format msgid "" "To connect to %(box_name)s's VPN, you need to download a profile and feed it " @@ -4757,23 +4769,15 @@ msgid "" "clients and instructions on how to configure them." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:74 +#: plinth/modules/openvpn/templates/openvpn.html:35 #, python-format msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:85 +#: plinth/modules/openvpn/templates/openvpn.html:46 msgid "Download my profile" msgstr "" -#: plinth/modules/openvpn/views.py:88 -msgid "Setup completed." -msgstr "" - -#: plinth/modules/openvpn/views.py:90 -msgid "Setup failed." -msgstr "" - #: plinth/modules/pagekite/__init__.py:28 #, python-brace-format msgid "" diff --git a/plinth/locale/fake/LC_MESSAGES/django.po b/plinth/locale/fake/LC_MESSAGES/django.po index 752500031..38bd7cd73 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-11-02 19:02-0500\n" +"POT-Creation-Date: 2020-11-16 19:46-0500\n" "PO-Revision-Date: 2016-01-31 22:24+0530\n" "Last-Translator: Sunil Mohan Adapa \n" "Language-Team: Plinth Developers Download Profile" @@ -4941,41 +4943,45 @@ msgstr "" msgid "Tunnelblick" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:20 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:7 +msgid "Migrate to ECC" +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:10 +msgid "" +"Your OpenVPN installation is currently using RSA. Switching to the modern " +"Elliptic Curve Cryptography improves speed of establishing a connection and " +"security. This operation is irreversible. It should only take a few minutes " +"on most single board computers." +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:19 #, 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." +"All new installations of OpenVPN on %(box_name)s will use ECC by default. We " +"recommend migrating as soon as possible." msgstr "" -"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." -#: plinth/modules/openvpn/templates/openvpn.html:33 -msgid "Start setup" -msgstr "START SETUP" - -#: plinth/modules/openvpn/templates/openvpn.html:42 -msgid "OpenVPN setup is running" -msgstr "OPENVPN SETUP IS RUNNING" - -#: plinth/modules/openvpn/templates/openvpn.html:46 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:26 #, 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." +"Warning: Existing client profiles will be invalidated by this " +"operation. All OpenVPN users on %(box_name)s must download their new " +"profiles. OpenVPN clients compatible with ECC should be used to connect to " +"this server." msgstr "" -"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." -#: plinth/modules/openvpn/templates/openvpn.html:61 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:38 +#, fuzzy +#| msgid "Mode" +msgid "Migrate" +msgstr "MODE" + +#: plinth/modules/openvpn/templates/openvpn.html:22 msgid "Profile" msgstr "PROFILE" -#: plinth/modules/openvpn/templates/openvpn.html:64 +#: plinth/modules/openvpn/templates/openvpn.html:25 #, fuzzy, python-format #| msgid "" #| "To connect to %(box_name)s's VPN, you need to download a profile and feed " @@ -4997,23 +5003,15 @@ msgstr "" "\">DOCUMENTATION ON RECOMMENDED CLIENTS AND INSTRUCTIONS ON HOW TO " "CONFIGURE THEM." -#: plinth/modules/openvpn/templates/openvpn.html:74 +#: plinth/modules/openvpn/templates/openvpn.html:35 #, python-format msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." msgstr "PROFILE IS SPECIFIC TO EACH USER OF %(box_name)s. KEEP IT A SECRET." -#: plinth/modules/openvpn/templates/openvpn.html:85 +#: plinth/modules/openvpn/templates/openvpn.html:46 msgid "Download my profile" msgstr "DOWNLOAD MY PROFILE" -#: plinth/modules/openvpn/views.py:88 -msgid "Setup completed." -msgstr "SETUP COMPLETED." - -#: plinth/modules/openvpn/views.py:90 -msgid "Setup failed." -msgstr "SETUP FAILED." - #: plinth/modules/pagekite/__init__.py:28 #, fuzzy, python-brace-format #| msgid "" @@ -8320,6 +8318,36 @@ msgstr "%(percentage)s%% COMPLETE" msgid "Gujarati" msgstr "" +#~ 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 "" +#~ "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." + +#~ msgid "Start setup" +#~ msgstr "START SETUP" + +#~ msgid "OpenVPN setup is running" +#~ msgstr "OPENVPN SETUP IS RUNNING" + +#~ 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 "" +#~ "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." + +#~ msgid "Setup completed." +#~ msgstr "SETUP COMPLETED." + +#~ msgid "Setup failed." +#~ msgstr "SETUP FAILED." + #, fuzzy #~| msgid "Installation" #~ msgid "Administer calibre application" diff --git a/plinth/locale/fr/LC_MESSAGES/django.po b/plinth/locale/fr/LC_MESSAGES/django.po index 5fd012616..8774f357c 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-11-02 19:02-0500\n" -"PO-Revision-Date: 2020-10-26 13:27+0000\n" -"Last-Translator: Coucouf \n" +"POT-Creation-Date: 2020-11-16 19:46-0500\n" +"PO-Revision-Date: 2020-11-08 15:26+0000\n" +"Last-Translator: Hetgyl \n" "Language-Team: French \n" "Language: fr\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 4.3.2-dev\n" +"X-Generator: Weblate 4.3.2\n" #: doc/dev/_templates/layout.html:11 msgid "Page source" @@ -888,7 +888,7 @@ msgid "Refresh IP address and domains" msgstr "Rafraîchir l’adresse IP et les domaines" #: plinth/modules/bind/views.py:71 plinth/modules/coturn/views.py:39 -#: plinth/modules/deluge/views.py:42 plinth/modules/dynamicdns/views.py:150 +#: plinth/modules/deluge/views.py:42 plinth/modules/dynamicdns/views.py:154 #: plinth/modules/mumble/views.py:28 plinth/modules/pagekite/forms.py:90 #: plinth/modules/quassel/views.py:29 plinth/modules/shadowsocks/views.py:59 #: plinth/modules/transmission/views.py:47 @@ -1697,20 +1697,24 @@ msgstr "Afficher le mot de passe" msgid "URL to look up public IP" msgstr "URL pour rechercher l’IP publique" -#: plinth/modules/dynamicdns/forms.py:138 +#: plinth/modules/dynamicdns/forms.py:119 +msgid "Use IPv6 instead of IPv4" +msgstr "" + +#: plinth/modules/dynamicdns/forms.py:142 msgid "Please provide an update URL or a GnuDIP server address" msgstr "" "Veuillez saisir une URL d’actualisation ou une adresse de serveur GnuDIP" -#: plinth/modules/dynamicdns/forms.py:143 +#: plinth/modules/dynamicdns/forms.py:147 msgid "Please provide a GnuDIP username" msgstr "Veuillez saisir un nom d’utilisateur GnuDIP (« Username/Hostname »)" -#: plinth/modules/dynamicdns/forms.py:147 +#: plinth/modules/dynamicdns/forms.py:151 msgid "Please provide a GnuDIP domain name" msgstr "Veuillez saisir un nom de domaine GnuDIP (« Domain Name »)" -#: plinth/modules/dynamicdns/forms.py:152 +#: plinth/modules/dynamicdns/forms.py:156 msgid "Please provide a password" msgstr "Veuillez saisir un mot de passe" @@ -1796,8 +1800,6 @@ msgstr "À propos" #: 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:17 -#: plinth/modules/openvpn/templates/openvpn.html:38 #: plinth/modules/tor/templates/tor.html:12 #: plinth/modules/tor/templates/tor.html:26 #: plinth/modules/upgrades/templates/upgrades_configure.html:30 @@ -3158,6 +3160,8 @@ msgid "" "Used by MediaWiki to generate URLs that point to the wiki such as in footer, " "feeds and emails." msgstr "" +"Utilisé par MediaWiki pour engendrer des URL qui pointent vers le wiki comme " +"dans les pieds de pages, fils et courriels." #: plinth/modules/mediawiki/forms.py:62 msgid "Enable public registrations" @@ -4922,7 +4926,7 @@ msgstr "Connexion {name} supprimée." msgid "Failed to delete connection: Connection not found." msgstr "Échec de suppression de la connexion : connexion introuvable." -#: plinth/modules/openvpn/__init__.py:26 +#: plinth/modules/openvpn/__init__.py:28 #, python-brace-format msgid "" "Virtual Private Network (VPN) is a technique for securely connecting two " @@ -4940,16 +4944,16 @@ msgstr "" "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:54 plinth/modules/openvpn/manifest.py:18 +#: plinth/modules/openvpn/__init__.py:56 plinth/modules/openvpn/manifest.py:18 msgid "OpenVPN" msgstr "OpenVPN" -#: plinth/modules/openvpn/__init__.py:55 +#: plinth/modules/openvpn/__init__.py:57 #: plinth/modules/wireguard/__init__.py:52 msgid "Virtual Private Network" msgstr "Réseau privé virtuel" -#: plinth/modules/openvpn/__init__.py:66 +#: plinth/modules/openvpn/__init__.py:68 #, python-brace-format msgid "" "Download Profile" @@ -4961,43 +4965,45 @@ msgstr "" msgid "Tunnelblick" msgstr "Tunnelblick" -#: plinth/modules/openvpn/templates/openvpn.html:20 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:7 +msgid "Migrate to ECC" +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:10 +msgid "" +"Your OpenVPN installation is currently using RSA. Switching to the modern " +"Elliptic Curve Cryptography improves speed of establishing a connection and " +"security. This operation is irreversible. It should only take a few minutes " +"on most single board computers." +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:19 #, 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." +"All new installations of OpenVPN on %(box_name)s will use ECC by default. We " +"recommend migrating as soon as possible." msgstr "" -"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:33 -msgid "Start setup" -msgstr "Démarrer l’installation" - -#: plinth/modules/openvpn/templates/openvpn.html:42 -msgid "OpenVPN setup is running" -msgstr "L’installation d’OpenVPN est en cours" - -#: plinth/modules/openvpn/templates/openvpn.html:46 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:26 #, 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." +"Warning: Existing client profiles will be invalidated by this " +"operation. All OpenVPN users on %(box_name)s must download their new " +"profiles. OpenVPN clients compatible with ECC should be used to connect to " +"this server." msgstr "" -"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:61 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:38 +#, fuzzy +#| msgid "Moderate" +msgid "Migrate" +msgstr "Modéré" + +#: plinth/modules/openvpn/templates/openvpn.html:22 msgid "Profile" msgstr "Profil" -#: plinth/modules/openvpn/templates/openvpn.html:64 +#: plinth/modules/openvpn/templates/openvpn.html:25 #, python-format msgid "" "To connect to %(box_name)s's VPN, you need to download a profile and feed it " @@ -5012,25 +5018,17 @@ msgstr "" "pour connaître les clients recommandés et leurs instructions de " "configuration." -#: plinth/modules/openvpn/templates/openvpn.html:74 +#: plinth/modules/openvpn/templates/openvpn.html:35 #, python-format msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." msgstr "" "Le profil est propre à chaque utilisateur de la %(box_name)s. Gardez-le " "secret." -#: plinth/modules/openvpn/templates/openvpn.html:85 +#: plinth/modules/openvpn/templates/openvpn.html:46 msgid "Download my profile" msgstr "Télécharger mon profil" -#: plinth/modules/openvpn/views.py:88 -msgid "Setup completed." -msgstr "Installation terminée." - -#: plinth/modules/openvpn/views.py:90 -msgid "Setup failed." -msgstr "Échec de l’installation." - #: plinth/modules/pagekite/__init__.py:28 #, python-brace-format msgid "" @@ -8315,6 +8313,38 @@ msgstr "%(percentage)s%% effectué" msgid "Gujarati" msgstr "Gujarati" +#~ 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 "" +#~ "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." + +#~ msgid "Start setup" +#~ msgstr "Démarrer l’installation" + +#~ msgid "OpenVPN setup is running" +#~ msgstr "L’installation d’OpenVPN est en cours" + +#~ 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 "" +#~ "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." + +#~ msgid "Setup completed." +#~ msgstr "Installation terminée." + +#~ msgid "Setup failed." +#~ msgstr "Échec de l’installation." + #~ msgid "Administer calibre application" #~ msgstr "Administion de l’application calibre" diff --git a/plinth/locale/gl/LC_MESSAGES/django.po b/plinth/locale/gl/LC_MESSAGES/django.po index 220bfbe98..608d6bb96 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-11-02 19:02-0500\n" +"POT-Creation-Date: 2020-11-16 19:46-0500\n" "PO-Revision-Date: 2020-08-12 16:32+0000\n" "Last-Translator: Xosé M \n" "Language-Team: Galician Download Profile" @@ -4210,35 +4212,43 @@ msgstr "" msgid "Tunnelblick" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:20 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:7 +msgid "Migrate to ECC" +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:10 +msgid "" +"Your OpenVPN installation is currently using RSA. Switching to the modern " +"Elliptic Curve Cryptography improves speed of establishing a connection and " +"security. This operation is irreversible. It should only take a few minutes " +"on most single board computers." +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:19 #, 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." +"All new installations of OpenVPN on %(box_name)s will use ECC by default. We " +"recommend migrating as soon as possible." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:33 -msgid "Start setup" -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:42 -msgid "OpenVPN setup is running" -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:46 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:26 #, 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." +"Warning: Existing client profiles will be invalidated by this " +"operation. All OpenVPN users on %(box_name)s must download their new " +"profiles. OpenVPN clients compatible with ECC should be used to connect to " +"this server." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:61 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:38 +msgid "Migrate" +msgstr "" + +#: plinth/modules/openvpn/templates/openvpn.html:22 msgid "Profile" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:64 +#: plinth/modules/openvpn/templates/openvpn.html:25 #, python-format msgid "" "To connect to %(box_name)s's VPN, you need to download a profile and feed it " @@ -4247,23 +4257,15 @@ msgid "" "clients and instructions on how to configure them." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:74 +#: plinth/modules/openvpn/templates/openvpn.html:35 #, python-format msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:85 +#: plinth/modules/openvpn/templates/openvpn.html:46 msgid "Download my profile" msgstr "" -#: plinth/modules/openvpn/views.py:88 -msgid "Setup completed." -msgstr "" - -#: plinth/modules/openvpn/views.py:90 -msgid "Setup failed." -msgstr "" - #: plinth/modules/pagekite/__init__.py:28 #, python-brace-format msgid "" diff --git a/plinth/locale/gu/LC_MESSAGES/django.po b/plinth/locale/gu/LC_MESSAGES/django.po index ae6b6a0a0..8e319191c 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-11-02 19:02-0500\n" +"POT-Creation-Date: 2020-11-16 19:46-0500\n" "PO-Revision-Date: 2018-02-05 18:37+0000\n" "Last-Translator: drashti kaushik \n" "Language-Team: Gujarati Download Profile" @@ -4445,35 +4447,43 @@ msgstr "" msgid "Tunnelblick" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:20 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:7 +msgid "Migrate to ECC" +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:10 +msgid "" +"Your OpenVPN installation is currently using RSA. Switching to the modern " +"Elliptic Curve Cryptography improves speed of establishing a connection and " +"security. This operation is irreversible. It should only take a few minutes " +"on most single board computers." +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:19 #, 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." +"All new installations of OpenVPN on %(box_name)s will use ECC by default. We " +"recommend migrating as soon as possible." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:33 -msgid "Start setup" -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:42 -msgid "OpenVPN setup is running" -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:46 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:26 #, 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." +"Warning: Existing client profiles will be invalidated by this " +"operation. All OpenVPN users on %(box_name)s must download their new " +"profiles. OpenVPN clients compatible with ECC should be used to connect to " +"this server." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:61 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:38 +msgid "Migrate" +msgstr "" + +#: plinth/modules/openvpn/templates/openvpn.html:22 msgid "Profile" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:64 +#: plinth/modules/openvpn/templates/openvpn.html:25 #, python-format msgid "" "To connect to %(box_name)s's VPN, you need to download a profile and feed it " @@ -4482,23 +4492,15 @@ msgid "" "clients and instructions on how to configure them." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:74 +#: plinth/modules/openvpn/templates/openvpn.html:35 #, python-format msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:85 +#: plinth/modules/openvpn/templates/openvpn.html:46 msgid "Download my profile" msgstr "" -#: plinth/modules/openvpn/views.py:88 -msgid "Setup completed." -msgstr "" - -#: plinth/modules/openvpn/views.py:90 -msgid "Setup failed." -msgstr "" - #: plinth/modules/pagekite/__init__.py:28 #, python-brace-format msgid "" diff --git a/plinth/locale/hi/LC_MESSAGES/django.po b/plinth/locale/hi/LC_MESSAGES/django.po index 94aeecb2e..70c61631a 100644 --- a/plinth/locale/hi/LC_MESSAGES/django.po +++ b/plinth/locale/hi/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-11-02 19:02-0500\n" +"POT-Creation-Date: 2020-11-16 19:46-0500\n" "PO-Revision-Date: 2020-04-03 20:11+0000\n" "Last-Translator: Allan Nordhøy \n" "Language-Team: Hindi Download Profile" @@ -4782,41 +4784,45 @@ msgstr "" msgid "Tunnelblick" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:20 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:7 +msgid "Migrate to ECC" +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:10 +msgid "" +"Your OpenVPN installation is currently using RSA. Switching to the modern " +"Elliptic Curve Cryptography improves speed of establishing a connection and " +"security. This operation is irreversible. It should only take a few minutes " +"on most single board computers." +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:19 #, 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." +"All new installations of OpenVPN on %(box_name)s will use ECC by default. We " +"recommend migrating as soon as possible." msgstr "" -"ओपनवीपीएन अभी तक सेटअप नहीं किया गया है. एक सुरक्षित सेटअप करने के लिये बहूत समय होगा. " -"इस पर निर्भर करता है कि आपका%(box_name)s कितना तेज़ है, ये घंटों भी लग सकते. अगर सेटअप " -"बाधित हो गया, फिर से शरु कर सकता है." -#: plinth/modules/openvpn/templates/openvpn.html:33 -msgid "Start setup" -msgstr "सटअप शुरु करें" - -#: plinth/modules/openvpn/templates/openvpn.html:42 -msgid "OpenVPN setup is running" -msgstr "ओपनवीपीएन सेटअप चल रहा है" - -#: plinth/modules/openvpn/templates/openvpn.html:46 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:26 #, 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." +"Warning: Existing client profiles will be invalidated by this " +"operation. All OpenVPN users on %(box_name)s must download their new " +"profiles. OpenVPN clients compatible with ECC should be used to connect to " +"this server." msgstr "" -"एक सुरक्षित सेटअप करने के लिये बहूत समय होगा. इस पर निर्भर करता है कि आपका" -"%(box_name)s कितना तेज़ है, ये घंटों भी लग सकते. अगर सेटअप बाधित हो गया, फिर से शरु कर " -"सकता है." -#: plinth/modules/openvpn/templates/openvpn.html:61 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:38 +#, fuzzy +#| msgid "Moderate" +msgid "Migrate" +msgstr "मॉडरेट" + +#: plinth/modules/openvpn/templates/openvpn.html:22 msgid "Profile" msgstr "प्रोफ़ाइल" -#: plinth/modules/openvpn/templates/openvpn.html:64 +#: plinth/modules/openvpn/templates/openvpn.html:25 #, fuzzy, python-format #| msgid "" #| "To connect to %(box_name)s's VPN, you need to download a profile and feed " @@ -4837,23 +4843,15 @@ msgstr "" "FreedomBox/Manual/OpenVPN\" title=\"%(box_name)s Manual - OpenVPN" "\">documentation देखें अनुशंसित क्लाइंट और उन्हें कॉन्फ़िगर करने के तरीके देखने के लिये." -#: plinth/modules/openvpn/templates/openvpn.html:74 +#: plinth/modules/openvpn/templates/openvpn.html:35 #, python-format msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." msgstr "प्रोफ़ाइल हर %(box_name)s यूसर के लिए विशिष्ट है. इसे गुप्त रखें." -#: plinth/modules/openvpn/templates/openvpn.html:85 +#: plinth/modules/openvpn/templates/openvpn.html:46 msgid "Download my profile" msgstr "मेरी प्रोफ़ाइल डाउनलोड करें" -#: plinth/modules/openvpn/views.py:88 -msgid "Setup completed." -msgstr "सेटअप पूरा हो गया." - -#: plinth/modules/openvpn/views.py:90 -msgid "Setup failed." -msgstr "सेटअप विफल." - #: plinth/modules/pagekite/__init__.py:28 #, python-brace-format msgid "" @@ -8145,6 +8143,36 @@ msgstr "%(percentage)s%% पूर्ण" msgid "Gujarati" msgstr "" +#~ 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 "" +#~ "ओपनवीपीएन अभी तक सेटअप नहीं किया गया है. एक सुरक्षित सेटअप करने के लिये बहूत समय " +#~ "होगा. इस पर निर्भर करता है कि आपका%(box_name)s कितना तेज़ है, ये घंटों भी लग सकते. " +#~ "अगर सेटअप बाधित हो गया, फिर से शरु कर सकता है." + +#~ msgid "Start setup" +#~ msgstr "सटअप शुरु करें" + +#~ msgid "OpenVPN setup is running" +#~ msgstr "ओपनवीपीएन सेटअप चल रहा है" + +#~ 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 "" +#~ "एक सुरक्षित सेटअप करने के लिये बहूत समय होगा. इस पर निर्भर करता है कि आपका" +#~ "%(box_name)s कितना तेज़ है, ये घंटों भी लग सकते. अगर सेटअप बाधित हो गया, फिर से शरु " +#~ "कर सकता है." + +#~ msgid "Setup completed." +#~ msgstr "सेटअप पूरा हो गया." + +#~ msgid "Setup failed." +#~ msgstr "सेटअप विफल." + #, fuzzy #~| msgid "Administer Syncthing application" #~ msgid "Administer calibre application" diff --git a/plinth/locale/hu/LC_MESSAGES/django.po b/plinth/locale/hu/LC_MESSAGES/django.po index cdd412362..0637a5e5e 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-11-02 19:02-0500\n" +"POT-Creation-Date: 2020-11-16 19:46-0500\n" "PO-Revision-Date: 2020-07-20 02:41+0000\n" "Last-Translator: Doma Gergő \n" "Language-Team: Hungarian Download Profile" @@ -4878,42 +4880,45 @@ msgstr "" msgid "Tunnelblick" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:20 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:7 +msgid "Migrate to ECC" +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:10 +msgid "" +"Your OpenVPN installation is currently using RSA. Switching to the modern " +"Elliptic Curve Cryptography improves speed of establishing a connection and " +"security. This operation is irreversible. It should only take a few minutes " +"on most single board computers." +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:19 #, 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." +"All new installations of OpenVPN on %(box_name)s will use ECC by default. We " +"recommend migrating as soon as possible." msgstr "" -"OpenVPN még nem lett beállítva. A biztonságos beállítás nagyon sokáig is " -"eltarthat. Attól függően, hogy milyen gyors a te %(box_name)s eszközöd, akár " -"órákig is eltarthat. Ha a beállítás megszakad, akkor később újra lehet " -"kezdeni." -#: plinth/modules/openvpn/templates/openvpn.html:33 -msgid "Start setup" -msgstr "Beállítás elindítása" - -#: plinth/modules/openvpn/templates/openvpn.html:42 -msgid "OpenVPN setup is running" -msgstr "OpenVPN beállítás fut" - -#: plinth/modules/openvpn/templates/openvpn.html:46 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:26 #, 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." +"Warning: Existing client profiles will be invalidated by this " +"operation. All OpenVPN users on %(box_name)s must download their new " +"profiles. OpenVPN clients compatible with ECC should be used to connect to " +"this server." msgstr "" -"A biztonságos beállítás végrehajtása nagyon sok időt vesz igénybe. Attól " -"függően hogy milyen gyors a te %(box_name)s eszközöd, akár órákig is " -"eltarthat. Ha a beállítás megszakad, akkor később újra lehet kezdeni." -#: plinth/modules/openvpn/templates/openvpn.html:61 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:38 +#, fuzzy +#| msgid "Moderate" +msgid "Migrate" +msgstr "Enyhe" + +#: plinth/modules/openvpn/templates/openvpn.html:22 msgid "Profile" msgstr "Profil" -#: plinth/modules/openvpn/templates/openvpn.html:64 +#: plinth/modules/openvpn/templates/openvpn.html:25 #, fuzzy, python-format #| msgid "" #| "To connect to %(box_name)s's VPN, you need to download a profile and feed " @@ -4934,25 +4939,17 @@ msgstr "" "\"%(box_name)s Kézikönyv - OpenVPN\">dokumentációt az ajánlott " "kliensekhez és a beállítási utasításokhoz." -#: plinth/modules/openvpn/templates/openvpn.html:74 +#: plinth/modules/openvpn/templates/openvpn.html:35 #, python-format msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." msgstr "" "A profil a %(box_name)s eszköz minden egyes felhasználójára egyedi. Tartsd " "titokban." -#: plinth/modules/openvpn/templates/openvpn.html:85 +#: plinth/modules/openvpn/templates/openvpn.html:46 msgid "Download my profile" msgstr "Saját profilom letöltése" -#: plinth/modules/openvpn/views.py:88 -msgid "Setup completed." -msgstr "Beállítás sikerült." - -#: plinth/modules/openvpn/views.py:90 -msgid "Setup failed." -msgstr "Beállítás sikertelen." - #: plinth/modules/pagekite/__init__.py:28 #, python-brace-format msgid "" @@ -8331,6 +8328,37 @@ msgstr "befejezettségi szint: %(percentage)s%%" msgid "Gujarati" msgstr "Gudzsaráti" +#~ 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 "" +#~ "OpenVPN még nem lett beállítva. A biztonságos beállítás nagyon sokáig is " +#~ "eltarthat. Attól függően, hogy milyen gyors a te %(box_name)s eszközöd, " +#~ "akár órákig is eltarthat. Ha a beállítás megszakad, akkor később újra " +#~ "lehet kezdeni." + +#~ msgid "Start setup" +#~ msgstr "Beállítás elindítása" + +#~ msgid "OpenVPN setup is running" +#~ msgstr "OpenVPN beállítás fut" + +#~ 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 "" +#~ "A biztonságos beállítás végrehajtása nagyon sok időt vesz igénybe. Attól " +#~ "függően hogy milyen gyors a te %(box_name)s eszközöd, akár órákig is " +#~ "eltarthat. Ha a beállítás megszakad, akkor később újra lehet kezdeni." + +#~ msgid "Setup completed." +#~ msgstr "Beállítás sikerült." + +#~ msgid "Setup failed." +#~ msgstr "Beállítás sikertelen." + #, fuzzy #~| msgid "Administer Syncthing application" #~ msgid "Administer calibre application" diff --git a/plinth/locale/id/LC_MESSAGES/django.po b/plinth/locale/id/LC_MESSAGES/django.po index f56a9d0e1..8a2b6d03c 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-11-02 19:02-0500\n" +"POT-Creation-Date: 2020-11-16 19:46-0500\n" "PO-Revision-Date: 2018-11-02 00:44+0000\n" "Last-Translator: ButterflyOfFire \n" "Language-Team: Indonesian Download Profile" @@ -4455,35 +4457,45 @@ msgstr "" msgid "Tunnelblick" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:20 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:7 +msgid "Migrate to ECC" +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:10 +msgid "" +"Your OpenVPN installation is currently using RSA. Switching to the modern " +"Elliptic Curve Cryptography improves speed of establishing a connection and " +"security. This operation is irreversible. It should only take a few minutes " +"on most single board computers." +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:19 #, 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." +"All new installations of OpenVPN on %(box_name)s will use ECC by default. We " +"recommend migrating as soon as possible." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:33 -msgid "Start setup" -msgstr "Jalankan pengaturan" - -#: plinth/modules/openvpn/templates/openvpn.html:42 -msgid "OpenVPN setup is running" -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:46 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:26 #, 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." +"Warning: Existing client profiles will be invalidated by this " +"operation. All OpenVPN users on %(box_name)s must download their new " +"profiles. OpenVPN clients compatible with ECC should be used to connect to " +"this server." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:61 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:38 +#, fuzzy +#| msgid "Mode" +msgid "Migrate" +msgstr "Mode" + +#: plinth/modules/openvpn/templates/openvpn.html:22 msgid "Profile" msgstr "Profil" -#: plinth/modules/openvpn/templates/openvpn.html:64 +#: plinth/modules/openvpn/templates/openvpn.html:25 #, python-format msgid "" "To connect to %(box_name)s's VPN, you need to download a profile and feed it " @@ -4492,23 +4504,15 @@ msgid "" "clients and instructions on how to configure them." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:74 +#: plinth/modules/openvpn/templates/openvpn.html:35 #, python-format msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:85 +#: plinth/modules/openvpn/templates/openvpn.html:46 msgid "Download my profile" msgstr "Unduh profil saya" -#: plinth/modules/openvpn/views.py:88 -msgid "Setup completed." -msgstr "Pengaturan selesai." - -#: plinth/modules/openvpn/views.py:90 -msgid "Setup failed." -msgstr "Pengaturan gagal." - #: plinth/modules/pagekite/__init__.py:28 #, python-brace-format msgid "" @@ -7508,6 +7512,15 @@ msgstr "" msgid "Gujarati" msgstr "" +#~ msgid "Start setup" +#~ msgstr "Jalankan pengaturan" + +#~ msgid "Setup completed." +#~ msgstr "Pengaturan selesai." + +#~ msgid "Setup failed." +#~ msgstr "Pengaturan gagal." + #, fuzzy #~| msgid "Enable application" #~ msgid "Administer calibre application" diff --git a/plinth/locale/it/LC_MESSAGES/django.po b/plinth/locale/it/LC_MESSAGES/django.po index 2eb411fdc..3f57cd579 100644 --- a/plinth/locale/it/LC_MESSAGES/django.po +++ b/plinth/locale/it/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-11-02 19:02-0500\n" -"PO-Revision-Date: 2020-11-01 11:26+0000\n" +"POT-Creation-Date: 2020-11-16 19:46-0500\n" +"PO-Revision-Date: 2020-11-16 19:57+0000\n" "Last-Translator: Dietmar \n" "Language-Team: Italian \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 4.3.2-dev\n" +"X-Generator: Weblate 4.4-dev\n" #: doc/dev/_templates/layout.html:11 msgid "Page source" @@ -107,7 +107,7 @@ msgid "Access URL {url} on tcp{kind}" msgstr "URL d'accesso {url} su TCP {kind}" #: plinth/modules/apache/components.py:125 -#, fuzzy, python-brace-format +#, python-brace-format msgid "Access URL {url}" msgstr "URL d'accesso {url}" @@ -696,9 +696,8 @@ msgid "bepasty" msgstr "" #: plinth/modules/bepasty/__init__.py:65 -#, fuzzy msgid "File & Snippet Sharing" -msgstr "Condivisione File" +msgstr "Condivisione di file e frammenti di text" #: plinth/modules/bepasty/forms.py:17 msgid "Public Access (default permissions)" @@ -882,7 +881,7 @@ msgid "Refresh IP address and domains" msgstr "" #: plinth/modules/bind/views.py:71 plinth/modules/coturn/views.py:39 -#: plinth/modules/deluge/views.py:42 plinth/modules/dynamicdns/views.py:150 +#: plinth/modules/deluge/views.py:42 plinth/modules/dynamicdns/views.py:154 #: plinth/modules/mumble/views.py:28 plinth/modules/pagekite/forms.py:90 #: plinth/modules/quassel/views.py:29 plinth/modules/shadowsocks/views.py:59 #: plinth/modules/transmission/views.py:47 @@ -1650,24 +1649,28 @@ msgstr "Mostra password" msgid "URL to look up public IP" msgstr "URL di cui cercare l'IP pubblico" -#: plinth/modules/dynamicdns/forms.py:138 +#: plinth/modules/dynamicdns/forms.py:119 +msgid "Use IPv6 instead of IPv4" +msgstr "" + +#: plinth/modules/dynamicdns/forms.py:142 #, fuzzy msgid "Please provide an update URL or a GnuDIP server address" msgstr "" "Per favore inserisci un URL d'aggiornamento o un indirizzo di un server " "GnuDIP" -#: plinth/modules/dynamicdns/forms.py:143 +#: plinth/modules/dynamicdns/forms.py:147 #, fuzzy msgid "Please provide a GnuDIP username" msgstr "Per favore inserisci un nome utente GnuDIP" -#: plinth/modules/dynamicdns/forms.py:147 +#: plinth/modules/dynamicdns/forms.py:151 #, fuzzy msgid "Please provide a GnuDIP domain name" msgstr "Per favore inserisci un nome di dominio GnuDIP" -#: plinth/modules/dynamicdns/forms.py:152 +#: plinth/modules/dynamicdns/forms.py:156 #, fuzzy msgid "Please provide a password" msgstr "Inserisci una password per favore" @@ -1742,16 +1745,15 @@ msgstr "Ultimo aggiornamento" #: plinth/modules/dynamicdns/views.py:26 plinth/modules/help/__init__.py:53 #: plinth/templates/help-menu.html:46 plinth/templates/help-menu.html:47 +#, fuzzy msgid "About" -msgstr "About" +msgstr "A proposito di" #: 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:17 -#: plinth/modules/openvpn/templates/openvpn.html:38 #: plinth/modules/tor/templates/tor.html:12 #: plinth/modules/tor/templates/tor.html:26 #: plinth/modules/upgrades/templates/upgrades_configure.html:30 @@ -3175,10 +3177,8 @@ msgid "Default skin changed" msgstr "Tema predefinito modificato" #: plinth/modules/mediawiki/views.py:90 -#, fuzzy -#| msgid "Server deleted." msgid "Server URL updated" -msgstr "Server cancellato." +msgstr "URL del server aggiornato" #: plinth/modules/minetest/__init__.py:38 #, python-brace-format @@ -4563,10 +4563,8 @@ msgid "DHCP client error" msgstr "" #: plinth/modules/networks/views.py:72 -#, fuzzy -#| msgid "Client deleted." msgid "DHCP client failed" -msgstr "Client cancellato." +msgstr "Client DHCP fallito" #: plinth/modules/networks/views.py:74 msgid "shared connection service failed to start" @@ -4579,10 +4577,8 @@ msgid "shared connection service failed" msgstr "Configurazione PVP aggiornata" #: plinth/modules/networks/views.py:78 -#, fuzzy -#| msgid "The device is already mounted." msgid "device was removed" -msgstr "Il dispositivo è già montato." +msgstr "dispositivo è stato rimosso" #: plinth/modules/networks/views.py:80 #, fuzzy @@ -4725,7 +4721,7 @@ msgstr "Connessione {name} cancellata." msgid "Failed to delete connection: Connection not found." msgstr "Cancellazione connessione fallita: connessione non trovata." -#: plinth/modules/openvpn/__init__.py:26 +#: plinth/modules/openvpn/__init__.py:28 #, python-brace-format msgid "" "Virtual Private Network (VPN) is a technique for securely connecting two " @@ -4742,16 +4738,16 @@ msgstr "" "accedere al resto della rete Internet via {box_name} per una maggiore " "sicurezza e anonimità." -#: plinth/modules/openvpn/__init__.py:54 plinth/modules/openvpn/manifest.py:18 +#: plinth/modules/openvpn/__init__.py:56 plinth/modules/openvpn/manifest.py:18 msgid "OpenVPN" msgstr "OpenVPN" -#: plinth/modules/openvpn/__init__.py:55 +#: plinth/modules/openvpn/__init__.py:57 #: plinth/modules/wireguard/__init__.py:52 msgid "Virtual Private Network" msgstr "Rete virtuale privata" -#: plinth/modules/openvpn/__init__.py:66 +#: plinth/modules/openvpn/__init__.py:68 #, python-brace-format msgid "" "Download Profile" @@ -4762,43 +4758,43 @@ msgstr "" msgid "Tunnelblick" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:20 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:7 +msgid "Migrate to ECC" +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:10 +msgid "" +"Your OpenVPN installation is currently using RSA. Switching to the modern " +"Elliptic Curve Cryptography improves speed of establishing a connection and " +"security. This operation is irreversible. It should only take a few minutes " +"on most single board computers." +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:19 #, 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." +"All new installations of OpenVPN on %(box_name)s will use ECC by default. We " +"recommend migrating as soon as possible." msgstr "" -"OpenVPN non è stato ancora configurato. Effettuare un setup sicuro richiede " -"molto tempo. A seconda delle prestazioni del tuo %(box_name)s, può " -"impiegare anche delle ore. Se il setup viene interroto, è possibile " -"riavviarlo." -#: plinth/modules/openvpn/templates/openvpn.html:33 -msgid "Start setup" -msgstr "Avvia setup" - -#: plinth/modules/openvpn/templates/openvpn.html:42 -msgid "OpenVPN setup is running" -msgstr "Setup OpenVPN in corso" - -#: plinth/modules/openvpn/templates/openvpn.html:46 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:26 #, 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." +"Warning: Existing client profiles will be invalidated by this " +"operation. All OpenVPN users on %(box_name)s must download their new " +"profiles. OpenVPN clients compatible with ECC should be used to connect to " +"this server." msgstr "" -"Per effettuare un setup sicuro, questo processo richiede molto tempo. A " -"seconda delle prestazioni del tuo %(box_name)s, può richiedere fino ad " -"alcune ore. Se il setup viene interrotto, è sempre possibile avviarlo di " -"nuovo." -#: plinth/modules/openvpn/templates/openvpn.html:61 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:38 +msgid "Migrate" +msgstr "" + +#: plinth/modules/openvpn/templates/openvpn.html:22 msgid "Profile" msgstr "Profilo" -#: plinth/modules/openvpn/templates/openvpn.html:64 +#: plinth/modules/openvpn/templates/openvpn.html:25 #, python-format msgid "" "To connect to %(box_name)s's VPN, you need to download a profile and feed it " @@ -4812,24 +4808,16 @@ msgstr "" "Cliccate su \"Per saperne di più...\" qui sopra per i clienti consigliati e " "le istruzioni su come configurarli." -#: plinth/modules/openvpn/templates/openvpn.html:74 +#: plinth/modules/openvpn/templates/openvpn.html:35 #, python-format msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." msgstr "" "Il profilo è specifico per ogni utente del %(box_name)s. Mantienilo segreto." -#: plinth/modules/openvpn/templates/openvpn.html:85 +#: plinth/modules/openvpn/templates/openvpn.html:46 msgid "Download my profile" msgstr "Scarica il mio profilo" -#: plinth/modules/openvpn/views.py:88 -msgid "Setup completed." -msgstr "Setup completato." - -#: plinth/modules/openvpn/views.py:90 -msgid "Setup failed." -msgstr "Setup fallito." - #: plinth/modules/pagekite/__init__.py:28 #, python-brace-format msgid "" @@ -6227,9 +6215,9 @@ msgid "Low disk space" msgstr "" #: plinth/modules/storage/__init__.py:319 -#, fuzzy, python-brace-format +#, python-brace-format msgid "Go to {app_name}" -msgstr "Sul {box_name}" +msgstr "Vai a {app_name}" #: plinth/modules/storage/__init__.py:337 msgid "Disk failure imminent" @@ -6677,10 +6665,8 @@ msgid "Update" msgstr "" #: plinth/modules/upgrades/__init__.py:105 -#, fuzzy -#| msgid "Update..." msgid "Updates" -msgstr "Cambiare..." +msgstr "Aggiornamenti" #: plinth/modules/upgrades/__init__.py:108 msgid "FreedomBox Updated" @@ -7745,6 +7731,38 @@ msgstr "%(percentage)s%% completata" msgid "Gujarati" msgstr "" +#~ 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 "" +#~ "OpenVPN non è stato ancora configurato. Effettuare un setup sicuro " +#~ "richiede molto tempo. A seconda delle prestazioni del tuo %(box_name)s, " +#~ "può impiegare anche delle ore. Se il setup viene interroto, è possibile " +#~ "riavviarlo." + +#~ msgid "Start setup" +#~ msgstr "Avvia setup" + +#~ msgid "OpenVPN setup is running" +#~ msgstr "Setup OpenVPN in corso" + +#~ 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 "" +#~ "Per effettuare un setup sicuro, questo processo richiede molto tempo. A " +#~ "seconda delle prestazioni del tuo %(box_name)s, può richiedere fino ad " +#~ "alcune ore. Se il setup viene interrotto, è sempre possibile avviarlo di " +#~ "nuovo." + +#~ msgid "Setup completed." +#~ msgstr "Setup completato." + +#~ msgid "Setup failed." +#~ msgstr "Setup fallito." + #, fuzzy #~| msgid "Enable application" #~ msgid "Administer calibre application" diff --git a/plinth/locale/ja/LC_MESSAGES/django.po b/plinth/locale/ja/LC_MESSAGES/django.po index 22f4a5562..4a77c97fe 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-11-02 19:02-0500\n" +"POT-Creation-Date: 2020-11-16 19:46-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -812,7 +812,7 @@ msgid "Refresh IP address and domains" msgstr "" #: plinth/modules/bind/views.py:71 plinth/modules/coturn/views.py:39 -#: plinth/modules/deluge/views.py:42 plinth/modules/dynamicdns/views.py:150 +#: plinth/modules/deluge/views.py:42 plinth/modules/dynamicdns/views.py:154 #: plinth/modules/mumble/views.py:28 plinth/modules/pagekite/forms.py:90 #: plinth/modules/quassel/views.py:29 plinth/modules/shadowsocks/views.py:59 #: plinth/modules/transmission/views.py:47 @@ -1494,19 +1494,23 @@ msgstr "" msgid "URL to look up public IP" msgstr "" -#: plinth/modules/dynamicdns/forms.py:138 +#: plinth/modules/dynamicdns/forms.py:119 +msgid "Use IPv6 instead of IPv4" +msgstr "" + +#: plinth/modules/dynamicdns/forms.py:142 msgid "Please provide an update URL or a GnuDIP server address" msgstr "" -#: plinth/modules/dynamicdns/forms.py:143 +#: plinth/modules/dynamicdns/forms.py:147 msgid "Please provide a GnuDIP username" msgstr "" -#: plinth/modules/dynamicdns/forms.py:147 +#: plinth/modules/dynamicdns/forms.py:151 msgid "Please provide a GnuDIP domain name" msgstr "" -#: plinth/modules/dynamicdns/forms.py:152 +#: plinth/modules/dynamicdns/forms.py:156 msgid "Please provide a password" msgstr "" @@ -1570,8 +1574,6 @@ msgstr "" #: 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:17 -#: plinth/modules/openvpn/templates/openvpn.html:38 #: plinth/modules/tor/templates/tor.html:12 #: plinth/modules/tor/templates/tor.html:26 #: plinth/modules/upgrades/templates/upgrades_configure.html:30 @@ -4167,7 +4169,7 @@ msgstr "" msgid "Failed to delete connection: Connection not found." msgstr "" -#: plinth/modules/openvpn/__init__.py:26 +#: plinth/modules/openvpn/__init__.py:28 #, python-brace-format msgid "" "Virtual Private Network (VPN) is a technique for securely connecting two " @@ -4178,16 +4180,16 @@ msgid "" "security and anonymity." msgstr "" -#: plinth/modules/openvpn/__init__.py:54 plinth/modules/openvpn/manifest.py:18 +#: plinth/modules/openvpn/__init__.py:56 plinth/modules/openvpn/manifest.py:18 msgid "OpenVPN" msgstr "" -#: plinth/modules/openvpn/__init__.py:55 +#: plinth/modules/openvpn/__init__.py:57 #: plinth/modules/wireguard/__init__.py:52 msgid "Virtual Private Network" msgstr "" -#: plinth/modules/openvpn/__init__.py:66 +#: plinth/modules/openvpn/__init__.py:68 #, python-brace-format msgid "" "Download Profile" @@ -4197,35 +4199,43 @@ msgstr "" msgid "Tunnelblick" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:20 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:7 +msgid "Migrate to ECC" +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:10 +msgid "" +"Your OpenVPN installation is currently using RSA. Switching to the modern " +"Elliptic Curve Cryptography improves speed of establishing a connection and " +"security. This operation is irreversible. It should only take a few minutes " +"on most single board computers." +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:19 #, 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." +"All new installations of OpenVPN on %(box_name)s will use ECC by default. We " +"recommend migrating as soon as possible." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:33 -msgid "Start setup" -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:42 -msgid "OpenVPN setup is running" -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:46 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:26 #, 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." +"Warning: Existing client profiles will be invalidated by this " +"operation. All OpenVPN users on %(box_name)s must download their new " +"profiles. OpenVPN clients compatible with ECC should be used to connect to " +"this server." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:61 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:38 +msgid "Migrate" +msgstr "" + +#: plinth/modules/openvpn/templates/openvpn.html:22 msgid "Profile" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:64 +#: plinth/modules/openvpn/templates/openvpn.html:25 #, python-format msgid "" "To connect to %(box_name)s's VPN, you need to download a profile and feed it " @@ -4234,23 +4244,15 @@ msgid "" "clients and instructions on how to configure them." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:74 +#: plinth/modules/openvpn/templates/openvpn.html:35 #, python-format msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:85 +#: plinth/modules/openvpn/templates/openvpn.html:46 msgid "Download my profile" msgstr "" -#: plinth/modules/openvpn/views.py:88 -msgid "Setup completed." -msgstr "" - -#: plinth/modules/openvpn/views.py:90 -msgid "Setup failed." -msgstr "" - #: plinth/modules/pagekite/__init__.py:28 #, python-brace-format msgid "" diff --git a/plinth/locale/kn/LC_MESSAGES/django.po b/plinth/locale/kn/LC_MESSAGES/django.po index c3148aef1..fdfa0388b 100644 --- a/plinth/locale/kn/LC_MESSAGES/django.po +++ b/plinth/locale/kn/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-11-02 19:02-0500\n" +"POT-Creation-Date: 2020-11-16 19:46-0500\n" "PO-Revision-Date: 2020-07-16 16:41+0000\n" "Last-Translator: Yogesh \n" "Language-Team: Kannada Download Profile" @@ -4198,35 +4200,43 @@ msgstr "" msgid "Tunnelblick" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:20 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:7 +msgid "Migrate to ECC" +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:10 +msgid "" +"Your OpenVPN installation is currently using RSA. Switching to the modern " +"Elliptic Curve Cryptography improves speed of establishing a connection and " +"security. This operation is irreversible. It should only take a few minutes " +"on most single board computers." +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:19 #, 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." +"All new installations of OpenVPN on %(box_name)s will use ECC by default. We " +"recommend migrating as soon as possible." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:33 -msgid "Start setup" -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:42 -msgid "OpenVPN setup is running" -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:46 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:26 #, 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." +"Warning: Existing client profiles will be invalidated by this " +"operation. All OpenVPN users on %(box_name)s must download their new " +"profiles. OpenVPN clients compatible with ECC should be used to connect to " +"this server." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:61 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:38 +msgid "Migrate" +msgstr "" + +#: plinth/modules/openvpn/templates/openvpn.html:22 msgid "Profile" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:64 +#: plinth/modules/openvpn/templates/openvpn.html:25 #, python-format msgid "" "To connect to %(box_name)s's VPN, you need to download a profile and feed it " @@ -4235,23 +4245,15 @@ msgid "" "clients and instructions on how to configure them." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:74 +#: plinth/modules/openvpn/templates/openvpn.html:35 #, python-format msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:85 +#: plinth/modules/openvpn/templates/openvpn.html:46 msgid "Download my profile" msgstr "" -#: plinth/modules/openvpn/views.py:88 -msgid "Setup completed." -msgstr "" - -#: plinth/modules/openvpn/views.py:90 -msgid "Setup failed." -msgstr "" - #: plinth/modules/pagekite/__init__.py:28 #, python-brace-format msgid "" diff --git a/plinth/locale/lt/LC_MESSAGES/django.po b/plinth/locale/lt/LC_MESSAGES/django.po index d77f11375..34c37d730 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-11-02 19:02-0500\n" +"POT-Creation-Date: 2020-11-16 19:46-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -813,7 +813,7 @@ msgid "Refresh IP address and domains" msgstr "" #: plinth/modules/bind/views.py:71 plinth/modules/coturn/views.py:39 -#: plinth/modules/deluge/views.py:42 plinth/modules/dynamicdns/views.py:150 +#: plinth/modules/deluge/views.py:42 plinth/modules/dynamicdns/views.py:154 #: plinth/modules/mumble/views.py:28 plinth/modules/pagekite/forms.py:90 #: plinth/modules/quassel/views.py:29 plinth/modules/shadowsocks/views.py:59 #: plinth/modules/transmission/views.py:47 @@ -1495,19 +1495,23 @@ msgstr "" msgid "URL to look up public IP" msgstr "" -#: plinth/modules/dynamicdns/forms.py:138 +#: plinth/modules/dynamicdns/forms.py:119 +msgid "Use IPv6 instead of IPv4" +msgstr "" + +#: plinth/modules/dynamicdns/forms.py:142 msgid "Please provide an update URL or a GnuDIP server address" msgstr "" -#: plinth/modules/dynamicdns/forms.py:143 +#: plinth/modules/dynamicdns/forms.py:147 msgid "Please provide a GnuDIP username" msgstr "" -#: plinth/modules/dynamicdns/forms.py:147 +#: plinth/modules/dynamicdns/forms.py:151 msgid "Please provide a GnuDIP domain name" msgstr "" -#: plinth/modules/dynamicdns/forms.py:152 +#: plinth/modules/dynamicdns/forms.py:156 msgid "Please provide a password" msgstr "" @@ -1571,8 +1575,6 @@ msgstr "" #: 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:17 -#: plinth/modules/openvpn/templates/openvpn.html:38 #: plinth/modules/tor/templates/tor.html:12 #: plinth/modules/tor/templates/tor.html:26 #: plinth/modules/upgrades/templates/upgrades_configure.html:30 @@ -4168,7 +4170,7 @@ msgstr "" msgid "Failed to delete connection: Connection not found." msgstr "" -#: plinth/modules/openvpn/__init__.py:26 +#: plinth/modules/openvpn/__init__.py:28 #, python-brace-format msgid "" "Virtual Private Network (VPN) is a technique for securely connecting two " @@ -4179,16 +4181,16 @@ msgid "" "security and anonymity." msgstr "" -#: plinth/modules/openvpn/__init__.py:54 plinth/modules/openvpn/manifest.py:18 +#: plinth/modules/openvpn/__init__.py:56 plinth/modules/openvpn/manifest.py:18 msgid "OpenVPN" msgstr "" -#: plinth/modules/openvpn/__init__.py:55 +#: plinth/modules/openvpn/__init__.py:57 #: plinth/modules/wireguard/__init__.py:52 msgid "Virtual Private Network" msgstr "" -#: plinth/modules/openvpn/__init__.py:66 +#: plinth/modules/openvpn/__init__.py:68 #, python-brace-format msgid "" "Download Profile" @@ -4198,35 +4200,43 @@ msgstr "" msgid "Tunnelblick" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:20 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:7 +msgid "Migrate to ECC" +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:10 +msgid "" +"Your OpenVPN installation is currently using RSA. Switching to the modern " +"Elliptic Curve Cryptography improves speed of establishing a connection and " +"security. This operation is irreversible. It should only take a few minutes " +"on most single board computers." +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:19 #, 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." +"All new installations of OpenVPN on %(box_name)s will use ECC by default. We " +"recommend migrating as soon as possible." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:33 -msgid "Start setup" -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:42 -msgid "OpenVPN setup is running" -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:46 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:26 #, 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." +"Warning: Existing client profiles will be invalidated by this " +"operation. All OpenVPN users on %(box_name)s must download their new " +"profiles. OpenVPN clients compatible with ECC should be used to connect to " +"this server." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:61 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:38 +msgid "Migrate" +msgstr "" + +#: plinth/modules/openvpn/templates/openvpn.html:22 msgid "Profile" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:64 +#: plinth/modules/openvpn/templates/openvpn.html:25 #, python-format msgid "" "To connect to %(box_name)s's VPN, you need to download a profile and feed it " @@ -4235,23 +4245,15 @@ msgid "" "clients and instructions on how to configure them." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:74 +#: plinth/modules/openvpn/templates/openvpn.html:35 #, python-format msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:85 +#: plinth/modules/openvpn/templates/openvpn.html:46 msgid "Download my profile" msgstr "" -#: plinth/modules/openvpn/views.py:88 -msgid "Setup completed." -msgstr "" - -#: plinth/modules/openvpn/views.py:90 -msgid "Setup failed." -msgstr "" - #: plinth/modules/pagekite/__init__.py:28 #, python-brace-format msgid "" diff --git a/plinth/locale/nb/LC_MESSAGES/django.po b/plinth/locale/nb/LC_MESSAGES/django.po index c7b94bf3a..624b7d71a 100644 --- a/plinth/locale/nb/LC_MESSAGES/django.po +++ b/plinth/locale/nb/LC_MESSAGES/django.po @@ -15,7 +15,7 @@ msgid "" msgstr "" "Project-Id-Version: FreedomBox UI\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-11-02 19:02-0500\n" +"POT-Creation-Date: 2020-11-16 19:46-0500\n" "PO-Revision-Date: 2020-10-26 13:27+0000\n" "Last-Translator: Petter Reinholdtsen \n" "Language-Team: Norwegian Bokmål Download Profile" @@ -4869,41 +4871,45 @@ msgstr "" msgid "Tunnelblick" msgstr "Tunnelblick" -#: plinth/modules/openvpn/templates/openvpn.html:20 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:7 +msgid "Migrate to ECC" +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:10 +msgid "" +"Your OpenVPN installation is currently using RSA. Switching to the modern " +"Elliptic Curve Cryptography improves speed of establishing a connection and " +"security. This operation is irreversible. It should only take a few minutes " +"on most single board computers." +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:19 #, 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." +"All new installations of OpenVPN on %(box_name)s will use ECC by default. We " +"recommend migrating as soon as possible." msgstr "" -"OpenVPN er ennå ikke satt opp. Å utføre et sikkert oppsett tar svært lang " -"tid. Avhengig av hvor fort din %(box_name)s er, kan det hende at det tar " -"timer. Hvis oppsettingen blir avbrutt, kan du starte den igjen." -#: plinth/modules/openvpn/templates/openvpn.html:33 -msgid "Start setup" -msgstr "Start oppsett" - -#: plinth/modules/openvpn/templates/openvpn.html:42 -msgid "OpenVPN setup is running" -msgstr "OpenVPN-oppsett kjører" - -#: plinth/modules/openvpn/templates/openvpn.html:46 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:26 #, 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." +"Warning: Existing client profiles will be invalidated by this " +"operation. All OpenVPN users on %(box_name)s must download their new " +"profiles. OpenVPN clients compatible with ECC should be used to connect to " +"this server." msgstr "" -"For å få til et sikkert oppsett tar denne prosessen svært lang tid. Avhengig " -"av hvor raskt din %(box_name)s er, kan det hende at det tar timer. Hvis " -"oppsettingen blir avbrutt, kan du starte den igjen." -#: plinth/modules/openvpn/templates/openvpn.html:61 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:38 +#, fuzzy +#| msgid "Moderate" +msgid "Migrate" +msgstr "Moderat" + +#: plinth/modules/openvpn/templates/openvpn.html:22 msgid "Profile" msgstr "Profil" -#: plinth/modules/openvpn/templates/openvpn.html:64 +#: plinth/modules/openvpn/templates/openvpn.html:25 #, fuzzy, python-format #| msgid "" #| "To connect to %(box_name)s's VPN, you need to download a profile and feed " @@ -4923,25 +4929,17 @@ msgstr "" "OpenVPN\" title=\"%(box_name)s Manual - OpenVPN\">manualsiden om " "anbefalte klienter, og instruksjoner om hvordan de settes opp." -#: plinth/modules/openvpn/templates/openvpn.html:74 +#: plinth/modules/openvpn/templates/openvpn.html:35 #, python-format msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." msgstr "" "Profilen er spesifikk for hver enkelt bruker av %(box_name)s. Hold den " "hemmelig." -#: plinth/modules/openvpn/templates/openvpn.html:85 +#: plinth/modules/openvpn/templates/openvpn.html:46 msgid "Download my profile" msgstr "Last ned min profil" -#: plinth/modules/openvpn/views.py:88 -msgid "Setup completed." -msgstr "Oppsettet fullført." - -#: plinth/modules/openvpn/views.py:90 -msgid "Setup failed." -msgstr "Oppsettet mislyktes." - #: plinth/modules/pagekite/__init__.py:28 #, python-brace-format msgid "" @@ -8256,6 +8254,36 @@ msgstr "%(percentage)s%% fullført" msgid "Gujarati" msgstr "Gujarati" +#~ 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 "" +#~ "OpenVPN er ennå ikke satt opp. Å utføre et sikkert oppsett tar svært lang " +#~ "tid. Avhengig av hvor fort din %(box_name)s er, kan det hende at det tar " +#~ "timer. Hvis oppsettingen blir avbrutt, kan du starte den igjen." + +#~ msgid "Start setup" +#~ msgstr "Start oppsett" + +#~ msgid "OpenVPN setup is running" +#~ msgstr "OpenVPN-oppsett kjører" + +#~ 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 "" +#~ "For å få til et sikkert oppsett tar denne prosessen svært lang tid. " +#~ "Avhengig av hvor raskt din %(box_name)s er, kan det hende at det tar " +#~ "timer. Hvis oppsettingen blir avbrutt, kan du starte den igjen." + +#~ msgid "Setup completed." +#~ msgstr "Oppsettet fullført." + +#~ msgid "Setup failed." +#~ msgstr "Oppsettet mislyktes." + #, fuzzy #~| msgid "Administer Syncthing application" #~ msgid "Administer calibre application" diff --git a/plinth/locale/nl/LC_MESSAGES/django.po b/plinth/locale/nl/LC_MESSAGES/django.po index 8d3ec8e38..b71bba92f 100644 --- a/plinth/locale/nl/LC_MESSAGES/django.po +++ b/plinth/locale/nl/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-11-02 19:02-0500\n" -"PO-Revision-Date: 2020-09-15 20:54+0000\n" +"POT-Creation-Date: 2020-11-16 19:46-0500\n" +"PO-Revision-Date: 2020-11-16 19:57+0000\n" "Last-Translator: Reg Me \n" "Language-Team: Dutch \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 4.3-dev\n" +"X-Generator: Weblate 4.4-dev\n" "X-Language: nl_NL\n" "X-Source-Language: C\n" @@ -152,10 +152,8 @@ msgid "{app} (No data to backup)" msgstr "{app} (geen gegevens voor back-up)" #: plinth/modules/backups/forms.py:50 -#, fuzzy -#| msgid "Create Repository" msgid "Repository" -msgstr "Maak Repository" +msgstr "Repository" #: plinth/modules/backups/forms.py:52 #: plinth/modules/backups/templates/backups_delete.html:18 @@ -166,10 +164,8 @@ msgid "Name" msgstr "Naam" #: plinth/modules/backups/forms.py:53 -#, fuzzy -#| msgid "Name for new backup archive." msgid "(Optional) Set a name for this backup archive" -msgstr "Naam voor nieuw back-uparchief." +msgstr "(Optioneel) Geef dit backup-archief een naam" #: plinth/modules/backups/forms.py:56 msgid "Included apps" @@ -227,10 +223,8 @@ msgstr "" "wachtwoord, is opgeslagen in de backup." #: plinth/modules/backups/forms.py:122 -#, fuzzy -#| msgid "Create Repository" msgid "Key in Repository" -msgstr "Maak Repository" +msgstr "Sleutel in archief" #: plinth/modules/backups/forms.py:122 #: plinth/modules/diagnostics/__init__.py:132 plinth/modules/searx/forms.py:15 @@ -425,16 +419,12 @@ msgid "This repository is encrypted" msgstr "Deze repository is versleuteld" #: plinth/modules/backups/templates/backups_repository.html:34 -#, fuzzy -#| msgid "Remove Location" msgid "Unmount Location" -msgstr "Locatie verwijderen" +msgstr "Locatie loskoppelen" #: plinth/modules/backups/templates/backups_repository.html:45 -#, fuzzy -#| msgid "Mount Point" msgid "Mount Location" -msgstr "Koppelpunt" +msgstr "Locatie koppelen" #: plinth/modules/backups/templates/backups_repository.html:56 msgid "Remove Backup Location. This will not delete the remote backup." @@ -651,20 +641,16 @@ msgid "Read a file, if a web link to the file is available" msgstr "" #: plinth/modules/bepasty/__init__.py:41 -#, fuzzy -#| msgid "Upload file" msgid "Create or upload files" -msgstr "Bestand uploaden" +msgstr "Maak of upload bestanden" #: plinth/modules/bepasty/__init__.py:42 msgid "List all files and their web links" msgstr "" #: plinth/modules/bepasty/__init__.py:43 -#, fuzzy -#| msgid "Delete User" msgid "Delete files" -msgstr "Gebruiker verwijderen" +msgstr "Bestanden verwijderen" #: plinth/modules/bepasty/__init__.py:44 msgid "Administer files: lock/unlock files" @@ -683,10 +669,8 @@ msgid "bepasty" msgstr "" #: plinth/modules/bepasty/__init__.py:65 -#, fuzzy -#| msgid "File Sharing" msgid "File & Snippet Sharing" -msgstr "Delen van bestanden" +msgstr "Delen van bestanden en fragmenten" #: plinth/modules/bepasty/forms.py:17 msgid "Public Access (default permissions)" @@ -717,23 +701,17 @@ msgid "Any comment to help you remember the purpose of this password." msgstr "" #: plinth/modules/bepasty/templates/bepasty.html:12 -#, fuzzy -#| msgid "Change Password" msgid "Manage Passwords" -msgstr "Wijzig wachtwoord" +msgstr "Wachtwoorden beheren" #: plinth/modules/bepasty/templates/bepasty.html:16 #: plinth/modules/bepasty/templates/bepasty.html:18 -#, fuzzy -#| msgid "Show password" msgid "Add password" -msgstr "Toon wachtwoord" +msgstr "Wachtwoord toevoegen" #: plinth/modules/bepasty/templates/bepasty.html:23 -#, fuzzy -#| msgid "No shares currently configured." msgid "No passwords currently configured." -msgstr "Er zijn momenteel geen bestandsdelingen geconfigureerd." +msgstr "Er zijn momenteel geen wachwoorden ingesteld." #: plinth/modules/bepasty/templates/bepasty.html:29 #: plinth/modules/dynamicdns/forms.py:106 plinth/modules/networks/forms.py:204 @@ -765,10 +743,8 @@ msgid "Delete" msgstr "Verwijder" #: plinth/modules/bepasty/views.py:46 -#, fuzzy -#| msgid "admin" msgid "Admin" -msgstr "admin" +msgstr "Admin" #: plinth/modules/bepasty/views.py:83 plinth/modules/searx/views.py:38 #: plinth/modules/searx/views.py:49 plinth/modules/tor/views.py:130 @@ -783,16 +759,12 @@ msgid "An error occurred during configuration." msgstr "Er is een fout opgetreden tijdens de configuratie." #: plinth/modules/bepasty/views.py:97 -#, fuzzy -#| msgid "Password updated" msgid "Password added." -msgstr "Wachtwoord bijgewerkt" +msgstr "Wachtwoord toegevoegd." #: plinth/modules/bepasty/views.py:102 -#, fuzzy -#| msgid "Password" msgid "Add Password" -msgstr "Wachtwoord" +msgstr "Wachtwoord toevoegen" #: plinth/modules/bepasty/views.py:119 msgid "Password deleted." @@ -878,7 +850,7 @@ msgid "Refresh IP address and domains" msgstr "" #: plinth/modules/bind/views.py:71 plinth/modules/coturn/views.py:39 -#: plinth/modules/deluge/views.py:42 plinth/modules/dynamicdns/views.py:150 +#: plinth/modules/deluge/views.py:42 plinth/modules/dynamicdns/views.py:154 #: plinth/modules/mumble/views.py:28 plinth/modules/pagekite/forms.py:90 #: plinth/modules/quassel/views.py:29 plinth/modules/shadowsocks/views.py:59 #: plinth/modules/transmission/views.py:47 @@ -921,22 +893,17 @@ msgid "E-book Library" msgstr "" #: plinth/modules/calibre/forms.py:18 -#, fuzzy -#| msgid "Name of the repository" msgid "Name of the new library" -msgstr "Naam van de repository" +msgstr "Naam van de nieuwe bibliotheek" #: plinth/modules/calibre/forms.py:27 -#, fuzzy -#| msgid "A share with this name already exists." msgid "A library with this name already exists." -msgstr "Er bestaat reeds een gedeelde map met deze naam." +msgstr "Er bestaat al een bibliotheek met deze naam." #: plinth/modules/calibre/templates/calibre-delete-library.html:11 -#, fuzzy, python-format -#| msgid "Delete Wiki or Blog %(name)s" +#, python-format msgid "Delete calibre Library %(name)s" -msgstr "Verwijder Wiki of Blog %(name)s" +msgstr "Verwijder calibre-bibliotheek %(name)s" #: plinth/modules/calibre/templates/calibre-delete-library.html:17 msgid "" @@ -953,29 +920,22 @@ msgid "Delete %(name)s" msgstr "%(name)s verwijderen" #: plinth/modules/calibre/templates/calibre.html:23 -#, fuzzy -#| msgid "Manage Repositories" msgid "Manage Libraries" -msgstr "Beheer repositories" +msgstr "Bibliotheken beheren" #: plinth/modules/calibre/templates/calibre.html:27 #: plinth/modules/calibre/templates/calibre.html:29 -#, fuzzy -#| msgid "Create Repository" msgid "Create Library" -msgstr "Maak Repository" +msgstr "Bibliotheek aanmaken" #: plinth/modules/calibre/templates/calibre.html:36 -#, fuzzy -#| msgid "No repositories available." msgid "No libraries available." -msgstr "Geen repositories beschikbaar." +msgstr "Geen bibliotheken beschikbaar." #: plinth/modules/calibre/templates/calibre.html:43 -#, fuzzy, python-format -#| msgid "Delete site %(site)s" +#, python-format msgid "Delete library %(library)s" -msgstr "Verwijder site %(site)s" +msgstr "Verwijder bibliotheek %(library)s" #: plinth/modules/calibre/templates/calibre.html:49 #, python-format @@ -983,16 +943,12 @@ msgid "Go to library %(library)s" msgstr "" #: plinth/modules/calibre/views.py:39 -#, fuzzy -#| msgid "Repository created." msgid "Library created." -msgstr "Repository aangemaakt." +msgstr "Bibliotheek aangemaakt." #: plinth/modules/calibre/views.py:50 -#, fuzzy -#| msgid "An error occurred during configuration." msgid "An error occurred while creating the library." -msgstr "Er is een fout opgetreden tijdens de configuratie." +msgstr "Er is een fout opgetreden tijdens het aanmaken van de bibliotheek." #: plinth/modules/calibre/views.py:64 plinth/modules/gitweb/views.py:138 #, python-brace-format @@ -1234,10 +1190,8 @@ msgid "Use the following URLs to configure your communication server:" msgstr "" #: plinth/modules/coturn/templates/coturn.html:26 -#, fuzzy -#| msgid "The following storage devices are in use:" msgid "Use the following shared authentication secret:" -msgstr "De volgende opslagapparaten zijn in gebruik:" +msgstr "Gebruik het volgende gedeelde authenticatie geheim:" #: plinth/modules/datetime/__init__.py:25 msgid "" @@ -1328,33 +1282,29 @@ msgid "Diagnostics" msgstr "Diagnose" #: plinth/modules/diagnostics/__init__.py:108 -#, fuzzy -#| msgid "Quassel" msgid "passed" -msgstr "Quassel" +msgstr "geslaagd" #: plinth/modules/diagnostics/__init__.py:109 #: plinth/modules/networks/views.py:49 -#, fuzzy -#| msgid "Setup failed." msgid "failed" -msgstr "Instelling mislukt." +msgstr "mislukt" #: plinth/modules/diagnostics/__init__.py:110 msgid "error" -msgstr "" +msgstr "fout" #. Translators: This is the unit of computer storage Mebibyte similar to #. Megabyte. #: plinth/modules/diagnostics/__init__.py:192 msgid "MiB" -msgstr "" +msgstr "MiB" #. Translators: This is the unit of computer storage Gibibyte similar to #. Gigabyte. #: plinth/modules/diagnostics/__init__.py:197 msgid "GiB" -msgstr "" +msgstr "GiB" #: plinth/modules/diagnostics/__init__.py:204 msgid "You should disable some apps to reduce memory usage." @@ -1601,10 +1551,8 @@ msgid "GnuDIP" msgstr "" #: plinth/modules/dynamicdns/forms.py:68 -#, fuzzy -#| msgid "Update URL" msgid "other update URL" -msgstr "URL bijwerken" +msgstr "Andere update-URL" #: plinth/modules/dynamicdns/forms.py:70 msgid "Enable Dynamic DNS" @@ -1647,19 +1595,23 @@ msgstr "Toon wachtwoord" msgid "URL to look up public IP" msgstr "URL voor controle van het IP-adres" -#: plinth/modules/dynamicdns/forms.py:138 +#: plinth/modules/dynamicdns/forms.py:119 +msgid "Use IPv6 instead of IPv4" +msgstr "" + +#: plinth/modules/dynamicdns/forms.py:142 msgid "Please provide an update URL or a GnuDIP server address" msgstr "Voer een update URL of GnuDIP Serveradres in" -#: plinth/modules/dynamicdns/forms.py:143 +#: plinth/modules/dynamicdns/forms.py:147 msgid "Please provide a GnuDIP username" msgstr "Voer een GnuDIP gebruikersnaam in" -#: plinth/modules/dynamicdns/forms.py:147 +#: plinth/modules/dynamicdns/forms.py:151 msgid "Please provide a GnuDIP domain name" msgstr "Voer een GnuDIP domeinnaam in" -#: plinth/modules/dynamicdns/forms.py:152 +#: plinth/modules/dynamicdns/forms.py:156 msgid "Please provide a password" msgstr "Voer een wachtwoord in" @@ -1733,15 +1685,13 @@ msgstr "Laatste bijwerking" #: plinth/modules/dynamicdns/views.py:26 plinth/modules/help/__init__.py:53 #: plinth/templates/help-menu.html:46 plinth/templates/help-menu.html:47 msgid "About" -msgstr "Over" +msgstr "Over ons" #: 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:17 -#: plinth/modules/openvpn/templates/openvpn.html:38 #: plinth/modules/tor/templates/tor.html:12 #: plinth/modules/tor/templates/tor.html:26 #: plinth/modules/upgrades/templates/upgrades_configure.html:30 @@ -1973,18 +1923,15 @@ msgid "" msgstr "" #: plinth/modules/first_boot/forms.py:14 -#, fuzzy, python-brace-format -#| msgid "" -#| "Enter the secret generated during FreedomBox installation. This secret " -#| "can also be obtained from the file /var/lib/plinth/firstboot-wizard-secret" +#, 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 "" -"Voer het geheim in wat tijdens de FreedomBox installatie gegenereerd werd. " -"Dit geheim kan ook gevonden worden in het bestand /var/lib/plinth/firstboot-" -"wizard-secret" +"Voer de geheime code in die tijdens de FreedomBox installatie gegenereerd " +"werd. Deze code kan ook gevonden worden door het commando \"sudo cat /var/" +"lib/plinth/firstboot-wizard-secret\" op je {box_name}" #: plinth/modules/first_boot/forms.py:19 msgid "Firstboot Wizard Secret" @@ -2151,10 +2098,8 @@ msgid "Repository created." msgstr "Repository aangemaakt." #: plinth/modules/gitweb/views.py:69 -#, fuzzy -#| msgid "An error occurred during configuration." msgid "An error occurred while creating the repository." -msgstr "Er is een fout opgetreden tijdens de configuratie." +msgstr "Er is een fout opgetreden bij het aanmaken van de repository." #: plinth/modules/gitweb/views.py:84 msgid "Repository edited." @@ -2170,8 +2115,6 @@ msgstr "Documentatie" #: plinth/modules/help/__init__.py:37 plinth/templates/help-menu.html:20 #: plinth/templates/help-menu.html:21 plinth/templates/index.html:128 -#, fuzzy -#| msgid "Manual" msgctxt "User guide" msgid "Manual" msgstr "Handleiding" @@ -2181,7 +2124,7 @@ msgstr "Handleiding" #: plinth/modules/help/views.py:43 plinth/templates/help-menu.html:27 #: plinth/templates/help-menu.html:28 msgid "Get Support" -msgstr "Ondersteuning krijgen" +msgstr "Help" #: plinth/modules/help/__init__.py:45 #: plinth/modules/help/templates/help_feedback.html:9 @@ -2266,12 +2209,13 @@ msgid "You are running %(os_release)s and %(box_name)s version %(version)s." msgstr "Dit is %(os_release)s, en %(box_name)s versie %(version)s." #: plinth/modules/help/templates/help_about.html:69 -#, fuzzy, python-format -#| msgid "There is a new %(box_name)s version available." +#, python-format msgid "" "There is a new %(box_name)s version available." -msgstr "Er is een nieuwe %(box_name)s versie beschikbaar." +msgstr "" +"Er is een nieuwe %(box_name)s versie beschikbaar." #: plinth/modules/help/templates/help_about.html:74 #: plinth/modules/upgrades/templates/upgrades_configure.html:53 @@ -2862,11 +2806,6 @@ msgstr "" "servers door federatie (gedecentraliseerd netwerk)." #: plinth/modules/matrixsynapse/__init__.py:40 -#, fuzzy -#| msgid "" -#| "To communicate, you can use the available clients for mobile, desktop and the web. Riot client is recommended." msgid "" "To communicate, you can use the available clients for mobile, desktop and the web. beschikbare programma's voor smartphone, computer of via het " -"web. Het programma Riot wordt aanbevolen." +"web. Het programma Element wordt " +"aanbevolen." #: plinth/modules/matrixsynapse/__init__.py:67 msgid "Matrix Synapse" @@ -3031,10 +2971,8 @@ msgstr "" "Laat dit veld leeg om het huidige wachtwoord te behouden." #: plinth/modules/mediawiki/forms.py:56 -#, fuzzy -#| msgid "Server" msgid "Server URL" -msgstr "Server" +msgstr "Server-URL" #: plinth/modules/mediawiki/forms.py:57 msgid "" @@ -3102,10 +3040,8 @@ msgid "Default skin changed" msgstr "Standaard uiterlijk veranderd" #: plinth/modules/mediawiki/views.py:90 -#, fuzzy -#| msgid "Share deleted." msgid "Server URL updated" -msgstr "Gedeelde map verwijderd." +msgstr "Server URL aangepast" #: plinth/modules/minetest/__init__.py:38 #, python-brace-format @@ -3547,10 +3483,8 @@ msgid "All web apps" msgstr "Alle webapps" #: plinth/modules/names/templates/names.html:16 -#, fuzzy -#| msgid "Service" msgid "Services" -msgstr "Dienst" +msgstr "Diensten" #: plinth/modules/networks/__init__.py:41 msgid "" @@ -3626,8 +3560,6 @@ msgid "Shared" msgstr "Gedeeld" #: plinth/modules/networks/forms.py:47 plinth/modules/networks/forms.py:78 -#, fuzzy -#| msgid "Manual" msgctxt "Not automatically" msgid "Manual" msgstr "Handleiding" @@ -3822,10 +3754,9 @@ msgid "Open" msgstr "Open" #: plinth/modules/networks/forms.py:301 -#, fuzzy, python-brace-format -#| msgid "Use upstream bridges to connect to Tor network" +#, python-brace-format msgid "Specify how your {box_name} is connected to your network" -msgstr "Gebruik upstream bridges om verbinding te maken met het Tor netwerk" +msgstr "Geef aan hoe jouw {box_name} verbonden is met jouw netwerk" #: plinth/modules/networks/forms.py:308 #, python-brace-format @@ -3898,10 +3829,8 @@ msgid "" msgstr "" #: plinth/modules/networks/forms.py:402 -#, fuzzy -#| msgid "Current Network Configuration" msgid "Preferred router configuration" -msgstr "Huidige Netwerkconfiguratie" +msgstr "Voorkeurs routerconfiguratie" #: plinth/modules/networks/forms.py:407 #, python-brace-format @@ -4237,10 +4166,8 @@ msgid "Next" msgstr "Volgende" #: plinth/modules/networks/templates/internet_connectivity_main.html:9 -#, fuzzy -#| msgid "Connection Type" msgid "Your Internet Connection Type" -msgstr "Verbindingssoort" +msgstr "Jouw soort internetverbinding" #: plinth/modules/networks/templates/internet_connectivity_main.html:14 msgid "" @@ -4324,10 +4251,9 @@ msgid "" msgstr "" #: plinth/modules/networks/templates/router_configuration_content.html:10 -#, fuzzy, python-format -#| msgid "%(box_name)s is up to date." +#, python-format msgid "Setup %(box_name)s Behind a Router" -msgstr "De nieuwste versie van %(box_name)s is geïnstalleerd." +msgstr "Installeer %(box_name)s achter een router" #: plinth/modules/networks/templates/router_configuration_content.html:16 #, python-format @@ -4373,28 +4299,20 @@ msgid "" msgstr "" #: plinth/modules/networks/views.py:27 -#, fuzzy -#| msgid "Disabled" msgid "disabled" -msgstr "Uitgeschakeld" +msgstr "uitgeschakeld" #: plinth/modules/networks/views.py:28 -#, fuzzy -#| msgid "Automatic" msgid "automatic" -msgstr "Automatisch" +msgstr "automatisch" #: plinth/modules/networks/views.py:29 -#, fuzzy -#| msgid "Manual" msgid "manual" -msgstr "Handleiding" +msgstr "handleiding" #: plinth/modules/networks/views.py:30 -#, fuzzy -#| msgid "Shared" msgid "shared" -msgstr "Gedeeld" +msgstr "gedeeld" #: plinth/modules/networks/views.py:31 msgid "link-local" @@ -4406,10 +4324,8 @@ msgid "unknown" msgstr "" #: plinth/modules/networks/views.py:38 -#, fuzzy -#| msgid "Manage" msgid "unmanaged" -msgstr "Instellen" +msgstr "niet ingesteld" #: plinth/modules/networks/views.py:39 #, fuzzy @@ -4466,26 +4382,20 @@ msgid "deactivating" msgstr "Deactiveer" #: plinth/modules/networks/views.py:56 -#, fuzzy -#| msgid "State reason" msgid "no reason" -msgstr "Reden van status" +msgstr "Geen reden" #: plinth/modules/networks/views.py:58 msgid "unknown error" -msgstr "" +msgstr "Onbekende fout" #: plinth/modules/networks/views.py:60 -#, fuzzy -#| msgid "The device is not mounted." msgid "device is now managed" -msgstr "Het apparaat is niet ge-mount." +msgstr "Het apparaat wordt nu beheerd" #: plinth/modules/networks/views.py:62 -#, fuzzy -#| msgid "The device is not mounted." msgid "device is now unmanaged" -msgstr "Het apparaat is niet ge-mount." +msgstr "Het apparaat wordt niet meer beheerd" #: plinth/modules/networks/views.py:64 #, fuzzy @@ -4506,26 +4416,20 @@ msgid "DHCP client error" msgstr "" #: plinth/modules/networks/views.py:72 -#, fuzzy -#| msgid "Archive deleted." msgid "DHCP client failed" -msgstr "Archief verwijderd." +msgstr "DHCP client mislukt" #: plinth/modules/networks/views.py:74 msgid "shared connection service failed to start" msgstr "" #: plinth/modules/networks/views.py:76 -#, fuzzy -#| msgid "The operation failed." msgid "shared connection service failed" -msgstr "De bewerking is mislukt." +msgstr "gedeelde verbindings-service mislukt" #: plinth/modules/networks/views.py:78 -#, fuzzy -#| msgid "The device is already mounted." msgid "device was removed" -msgstr "Het apparaat is al gekoppeld." +msgstr "Het apparaat werd verwijderd" #: plinth/modules/networks/views.py:80 #, fuzzy @@ -4544,10 +4448,8 @@ msgid "Wi-Fi network not found" msgstr "Repository niet gevonden" #: plinth/modules/networks/views.py:86 -#, fuzzy -#| msgid "The operation failed." msgid "a secondary connection failed" -msgstr "De bewerking is mislukt." +msgstr "een secundaire verbinding is mislukt" #: plinth/modules/networks/views.py:88 msgid "new connection activation was enqueued" @@ -4670,7 +4572,7 @@ msgstr "Verbinding {name} verwijderd." msgid "Failed to delete connection: Connection not found." msgstr "Kan verbinding niet verwijderen: Verbinding niet gevonden." -#: plinth/modules/openvpn/__init__.py:26 +#: plinth/modules/openvpn/__init__.py:28 #, python-brace-format msgid "" "Virtual Private Network (VPN) is a technique for securely connecting two " @@ -4688,16 +4590,16 @@ msgstr "" "mogelijk om de rest van het internetgebruik via {box_name} te leiden, voor " "meer veiligheid en anonimiteit." -#: plinth/modules/openvpn/__init__.py:54 plinth/modules/openvpn/manifest.py:18 +#: plinth/modules/openvpn/__init__.py:56 plinth/modules/openvpn/manifest.py:18 msgid "OpenVPN" msgstr "OpenVPN" -#: plinth/modules/openvpn/__init__.py:55 +#: plinth/modules/openvpn/__init__.py:57 #: plinth/modules/wireguard/__init__.py:52 msgid "Virtual Private Network" msgstr "Virtual Private Network" -#: plinth/modules/openvpn/__init__.py:66 +#: plinth/modules/openvpn/__init__.py:68 #, python-brace-format msgid "" "Download Profile" @@ -4708,41 +4610,45 @@ msgstr "" msgid "Tunnelblick" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:20 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:7 +msgid "Migrate to ECC" +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:10 +msgid "" +"Your OpenVPN installation is currently using RSA. Switching to the modern " +"Elliptic Curve Cryptography improves speed of establishing a connection and " +"security. This operation is irreversible. It should only take a few minutes " +"on most single board computers." +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:19 #, 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." +"All new installations of OpenVPN on %(box_name)s will use ECC by default. We " +"recommend migrating as soon as possible." msgstr "" -"OpenVPN is nog niet ingesteld. Een veilige installatie vergt veel tijd. " -"Afhankelijk van de snelheid van %(box_name)s kan dit zelfs uren duren. Als " -"de installatie wordt onderbroken, kan deze opnieuw gestart worden." -#: plinth/modules/openvpn/templates/openvpn.html:33 -msgid "Start setup" -msgstr "Setup starten" - -#: plinth/modules/openvpn/templates/openvpn.html:42 -msgid "OpenVPN setup is running" -msgstr "OpenVPN setup draait" - -#: plinth/modules/openvpn/templates/openvpn.html:46 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:26 #, 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." +"Warning: Existing client profiles will be invalidated by this " +"operation. All OpenVPN users on %(box_name)s must download their new " +"profiles. OpenVPN clients compatible with ECC should be used to connect to " +"this server." msgstr "" -"Een veilige installatie vergt veel tijd. Afhankelijk van de snelheid van " -"%(box_name)s kan dit soms uren duren. Als de installatie wordt onderbroken, " -"kan deze weer opnieuw gestart worden." -#: plinth/modules/openvpn/templates/openvpn.html:61 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:38 +#, fuzzy +#| msgid "Moderate" +msgid "Migrate" +msgstr "Modereren" + +#: plinth/modules/openvpn/templates/openvpn.html:22 msgid "Profile" msgstr "Profiel" -#: plinth/modules/openvpn/templates/openvpn.html:64 +#: plinth/modules/openvpn/templates/openvpn.html:25 #, fuzzy, python-format #| msgid "" #| "To connect to %(box_name)s's VPN, you need to download a profile and feed " @@ -4762,24 +4668,16 @@ msgstr "" "OpenVPN\" title=\"%(box_name)s Manual - OpenVPN\">handleiding met " "aanbevolen cliënts en gebruiksinstructies." -#: plinth/modules/openvpn/templates/openvpn.html:74 +#: plinth/modules/openvpn/templates/openvpn.html:35 #, python-format msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." msgstr "" "Profielen zijn voor iedere gebruiker van %(box_name)s anders. Houd ze geheim." -#: plinth/modules/openvpn/templates/openvpn.html:85 +#: plinth/modules/openvpn/templates/openvpn.html:46 msgid "Download my profile" msgstr "Download mijn profiel" -#: plinth/modules/openvpn/views.py:88 -msgid "Setup completed." -msgstr "Instelling voltooid." - -#: plinth/modules/openvpn/views.py:90 -msgid "Setup failed." -msgstr "Instelling mislukt." - #: plinth/modules/pagekite/__init__.py:28 #, python-brace-format msgid "" @@ -5307,13 +5205,6 @@ msgstr "" "adresboek, het beheren van mappen, zoeken in berichten en spellingscontrole." #: 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 use it by providing the username and password of the email account " "you wish to access followed by the domain name of the IMAP server for your " @@ -5321,12 +5212,11 @@ msgid "" "(recommended), fill the server field like imaps://imap.example.com." msgstr "" -"RoundCube kan worden gebruikt vanaf /roundcube. " -"Gebruik de usernaam en wachtwoord van het email account dat je wilt " -"gebruiken, gevolgd door de domeinnaam van de IMAP server van de " -"mailprovider, zoals imap.example.com. Voor IMAP over SSL " -"(aanbevolen): vul het serverveld in, bijvoorbeeld imaps://imap.example." -"com." +"Je kan het gebruiken door de gebruikersnaam en wachtwoord in te vullen van " +"het e-mail account waar je toegang tot wil hebben, gevolgd door de " +"domeinnaam van de IMAP server van de e-mailprovider, zoals imap." +"example.com. Voor IMAP over SSL (aanbevolen): vul het serverveld in, " +"bijvoorbeeld imaps://imap.example.com." #: plinth/modules/roundcube/__init__.py:31 msgid "" @@ -6319,10 +6209,9 @@ msgid "Low disk space" msgstr "" #: plinth/modules/storage/__init__.py:319 -#, fuzzy, python-brace-format -#| msgid "About {box_name}" +#, python-brace-format msgid "Go to {app_name}" -msgstr "Over {box_name}" +msgstr "Ga naar {app_name}" #: plinth/modules/storage/__init__.py:337 msgid "Disk failure imminent" @@ -6336,20 +6225,16 @@ msgid "" msgstr "" #: plinth/modules/storage/forms.py:63 -#, fuzzy -#| msgid "Invalid hostname" msgid "Invalid directory name." -msgstr "Foutieve hostnaam" +msgstr "Ongeldige mapnaam." #: plinth/modules/storage/forms.py:80 msgid "Directory does not exist." msgstr "" #: plinth/modules/storage/forms.py:83 -#, fuzzy -#| msgid "Download directory" msgid "Path is not a directory." -msgstr "Opslagmap" +msgstr "Pad is geen map." #: plinth/modules/storage/forms.py:86 msgid "Directory is not readable by the user." @@ -6922,10 +6807,9 @@ msgid "" msgstr "" #: plinth/modules/upgrades/templates/upgrades-new-release.html:9 -#, fuzzy, python-format -#| msgid "%(box_name)s is up to date." +#, python-format msgid "%(box_name)s Updated" -msgstr "De nieuwste versie van %(box_name)s is geïnstalleerd." +msgstr "%(box_name)s geaktualiseerd" #: plinth/modules/upgrades/templates/upgrades-new-release.html:13 #, python-format @@ -6950,10 +6834,8 @@ msgid "There is a new %(box_name)s version available." msgstr "Er is een nieuwe %(box_name)s versie beschikbaar." #: plinth/modules/upgrades/templates/upgrades_configure.html:51 -#, fuzzy -#| msgid "FreedomBox Foundation" msgid "Your Freedombox needs an update!" -msgstr "FreedomBox Foundation" +msgstr "Je FreedomBox heeft een update nodig!" #: plinth/modules/upgrades/templates/upgrades_configure.html:63 msgid "" @@ -7070,10 +6952,8 @@ msgid "Username is taken or is reserved." msgstr "Gebruikersnaam is in gebruik of is gereserveerd." #: plinth/modules/users/forms.py:64 -#, fuzzy -#| msgid "Invalid server name" msgid "Enter a valid username." -msgstr "Foute servernaam" +msgstr "Voer een geldige gebruikersnaam in." #: plinth/modules/users/forms.py:71 msgid "" @@ -7091,10 +6971,8 @@ msgid "Enter your current password to authorize account modifications." msgstr "" #: plinth/modules/users/forms.py:88 -#, fuzzy -#| msgid "Show password" msgid "Invalid password." -msgstr "Toon wachtwoord" +msgstr "Ongeldig wachtwoord." #: plinth/modules/users/forms.py:105 #, fuzzy @@ -7119,16 +6997,14 @@ msgstr "" "(sudo)." #: plinth/modules/users/forms.py:150 plinth/modules/users/forms.py:394 -#, fuzzy, python-brace-format -#| msgid "Creating LDAP user failed." +#, python-brace-format msgid "Creating LDAP user failed: {error}" -msgstr "LDAP gebruiker aanmaken mislukt." +msgstr "LDAP gebruiker aanmaken mislukt: {error}" #: plinth/modules/users/forms.py:163 -#, fuzzy, python-brace-format -#| msgid "Failed to add new user to {group} group." +#, python-brace-format msgid "Failed to add new user to {group} group: {error}" -msgstr "Nieuwe gebruiker aan groep {group} toevoegen mislukt." +msgstr "Toevoegen van gebruiker aan groep {group} mislukt: {error}" #: plinth/modules/users/forms.py:177 msgid "Authorized SSH Keys" @@ -7176,16 +7052,14 @@ msgid "Changing LDAP user password failed." msgstr "Wijzigen LDAP gebruikerswachtwoord mislukt." #: plinth/modules/users/forms.py:405 -#, fuzzy, python-brace-format -#| msgid "Failed to add new user to admin group." +#, python-brace-format msgid "Failed to add new user to admin group: {error}" -msgstr "Toevoegen van gebruiker aan admin groep mislukt." +msgstr "Toevoegen van gebruiker aan admin groep mislukt: {error}" #: plinth/modules/users/forms.py:424 -#, fuzzy, python-brace-format -#| msgid "Failed to restrict console access." +#, python-brace-format msgid "Failed to restrict console access: {error}" -msgstr "Consoletoegang beperken is mislukt." +msgstr "Consoletoegang beperken is mislukt: {error}" #: plinth/modules/users/forms.py:437 msgid "User account created, you are now logged in" @@ -7242,10 +7116,8 @@ msgid "Create Account" msgstr "Account aanmaken" #: plinth/modules/users/templates/users_firstboot.html:32 -#, fuzzy -#| msgid "Administrator Account" msgid "An administrator account already exists." -msgstr "Beheerdersaccount" +msgstr "Er bestaat al een beheerdersprofiel." #: plinth/modules/users/templates/users_firstboot.html:38 #, fuzzy @@ -7348,10 +7220,8 @@ msgid "" msgstr "" #: plinth/modules/wireguard/forms.py:32 -#, fuzzy -#| msgid "Invalid kite name" msgid "Invalid key." -msgstr "Foute kite-naam" +msgstr "Ongeldige sleutel." #: plinth/modules/wireguard/forms.py:61 #: plinth/modules/wireguard/templates/wireguard.html:17 @@ -7379,10 +7249,8 @@ msgid "" msgstr "" #: plinth/modules/wireguard/forms.py:76 -#, fuzzy -#| msgid "Published key to keyserver." msgid "Public key of the server" -msgstr "Sleutel gepubliceerd op keyserver." +msgstr "Publieke sleutel van de server" #: plinth/modules/wireguard/forms.py:77 msgid "" @@ -7566,10 +7434,8 @@ msgid "Pre-shared key:" msgstr "" #: plinth/modules/wireguard/templates/wireguard_show_client.html:32 -#, fuzzy -#| msgid "Server domain" msgid "Server endpoints:" -msgstr "Serverdomein" +msgstr "Server eindpunten:" #: plinth/modules/wireguard/templates/wireguard_show_client.html:40 #: plinth/modules/wireguard/templates/wireguard_show_server.html:27 @@ -7600,10 +7466,8 @@ msgid "" msgstr "" #: plinth/modules/wireguard/templates/wireguard_show_server.html:23 -#, fuzzy -#| msgid "Server domain" msgid "Server endpoint:" -msgstr "Serverdomein" +msgstr "Server eindpunt:" #: plinth/modules/wireguard/templates/wireguard_show_server.html:35 msgid "Public key of this machine:" @@ -7614,16 +7478,12 @@ msgid "IP address of this machine:" msgstr "" #: plinth/modules/wireguard/views.py:43 -#, fuzzy -#| msgid "Add new introducer" msgid "Added new client." -msgstr "Nieuwe introduceerder toevoegen" +msgstr "Nieuwe client toegevoegd." #: plinth/modules/wireguard/views.py:58 plinth/modules/wireguard/views.py:117 -#, fuzzy -#| msgid "A share with this name already exists." msgid "Client with public key already exists" -msgstr "Er bestaat reeds een gedeelde map met deze naam." +msgstr "Client met deze publieke sleutel bestaat al" #: plinth/modules/wireguard/views.py:71 #, fuzzy @@ -7632,10 +7492,8 @@ msgid "Allowed Client" msgstr "Email Cliënt" #: plinth/modules/wireguard/views.py:93 -#, fuzzy -#| msgid "Update setup" msgid "Updated client." -msgstr "Instelling bijwerken" +msgstr "Client geaktualiseerd." #: plinth/modules/wireguard/views.py:98 #, fuzzy @@ -7662,10 +7520,8 @@ msgid "Client not found" msgstr "Repository niet gevonden" #: plinth/modules/wireguard/views.py:152 -#, fuzzy -#| msgid "Added custom service" msgid "Added new server." -msgstr "Aangepaste dienst toevoegen" +msgstr "Nieuwe server toegevoegd." #: plinth/modules/wireguard/views.py:173 #, fuzzy @@ -7674,10 +7530,8 @@ msgid "Connection to Server" msgstr "Verbindingssoort" #: plinth/modules/wireguard/views.py:191 -#, fuzzy -#| msgid "Update setup" msgid "Updated server." -msgstr "Instelling bijwerken" +msgstr "Server geaktualiseerd." #: plinth/modules/wireguard/views.py:196 #, fuzzy @@ -8089,6 +7943,36 @@ msgstr "%(percentage)s%% voltooid" msgid "Gujarati" msgstr "Gujarati" +#~ 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 "" +#~ "OpenVPN is nog niet ingesteld. Een veilige installatie vergt veel tijd. " +#~ "Afhankelijk van de snelheid van %(box_name)s kan dit zelfs uren duren. " +#~ "Als de installatie wordt onderbroken, kan deze opnieuw gestart worden." + +#~ msgid "Start setup" +#~ msgstr "Setup starten" + +#~ msgid "OpenVPN setup is running" +#~ msgstr "OpenVPN setup draait" + +#~ 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 "" +#~ "Een veilige installatie vergt veel tijd. Afhankelijk van de snelheid van " +#~ "%(box_name)s kan dit soms uren duren. Als de installatie wordt " +#~ "onderbroken, kan deze weer opnieuw gestart worden." + +#~ msgid "Setup completed." +#~ msgstr "Instelling voltooid." + +#~ msgid "Setup failed." +#~ msgstr "Instelling mislukt." + #, fuzzy #~| msgid "Administer Syncthing application" #~ msgid "Administer calibre application" diff --git a/plinth/locale/pl/LC_MESSAGES/django.po b/plinth/locale/pl/LC_MESSAGES/django.po index da90c1d96..fa0e8dd1c 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-11-02 19:02-0500\n" +"POT-Creation-Date: 2020-11-16 19:46-0500\n" "PO-Revision-Date: 2020-11-01 11:26+0000\n" "Last-Translator: Radek Pasiok \n" "Language-Team: Polish Download Profile" @@ -4560,35 +4562,43 @@ msgstr "" msgid "Tunnelblick" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:20 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:7 +msgid "Migrate to ECC" +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:10 +msgid "" +"Your OpenVPN installation is currently using RSA. Switching to the modern " +"Elliptic Curve Cryptography improves speed of establishing a connection and " +"security. This operation is irreversible. It should only take a few minutes " +"on most single board computers." +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:19 #, 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." +"All new installations of OpenVPN on %(box_name)s will use ECC by default. We " +"recommend migrating as soon as possible." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:33 -msgid "Start setup" -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:42 -msgid "OpenVPN setup is running" -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:46 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:26 #, 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." +"Warning: Existing client profiles will be invalidated by this " +"operation. All OpenVPN users on %(box_name)s must download their new " +"profiles. OpenVPN clients compatible with ECC should be used to connect to " +"this server." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:61 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:38 +msgid "Migrate" +msgstr "" + +#: plinth/modules/openvpn/templates/openvpn.html:22 msgid "Profile" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:64 +#: plinth/modules/openvpn/templates/openvpn.html:25 #, python-format msgid "" "To connect to %(box_name)s's VPN, you need to download a profile and feed it " @@ -4597,23 +4607,15 @@ msgid "" "clients and instructions on how to configure them." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:74 +#: plinth/modules/openvpn/templates/openvpn.html:35 #, python-format msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:85 +#: plinth/modules/openvpn/templates/openvpn.html:46 msgid "Download my profile" msgstr "" -#: plinth/modules/openvpn/views.py:88 -msgid "Setup completed." -msgstr "" - -#: plinth/modules/openvpn/views.py:90 -msgid "Setup failed." -msgstr "" - #: plinth/modules/pagekite/__init__.py:28 #, python-brace-format msgid "" diff --git a/plinth/locale/pt/LC_MESSAGES/django.po b/plinth/locale/pt/LC_MESSAGES/django.po index 20fb55b22..51b084976 100644 --- a/plinth/locale/pt/LC_MESSAGES/django.po +++ b/plinth/locale/pt/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-11-02 19:02-0500\n" +"POT-Creation-Date: 2020-11-16 19:46-0500\n" "PO-Revision-Date: 2020-09-29 09:39+0000\n" "Last-Translator: ssantos \n" "Language-Team: Portuguese Download Profile" @@ -4417,35 +4419,43 @@ msgstr "" msgid "Tunnelblick" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:20 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:7 +msgid "Migrate to ECC" +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:10 +msgid "" +"Your OpenVPN installation is currently using RSA. Switching to the modern " +"Elliptic Curve Cryptography improves speed of establishing a connection and " +"security. This operation is irreversible. It should only take a few minutes " +"on most single board computers." +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:19 #, 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." +"All new installations of OpenVPN on %(box_name)s will use ECC by default. We " +"recommend migrating as soon as possible." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:33 -msgid "Start setup" -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:42 -msgid "OpenVPN setup is running" -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:46 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:26 #, 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." +"Warning: Existing client profiles will be invalidated by this " +"operation. All OpenVPN users on %(box_name)s must download their new " +"profiles. OpenVPN clients compatible with ECC should be used to connect to " +"this server." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:61 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:38 +msgid "Migrate" +msgstr "" + +#: plinth/modules/openvpn/templates/openvpn.html:22 msgid "Profile" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:64 +#: plinth/modules/openvpn/templates/openvpn.html:25 #, python-format msgid "" "To connect to %(box_name)s's VPN, you need to download a profile and feed it " @@ -4454,23 +4464,15 @@ msgid "" "clients and instructions on how to configure them." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:74 +#: plinth/modules/openvpn/templates/openvpn.html:35 #, python-format msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:85 +#: plinth/modules/openvpn/templates/openvpn.html:46 msgid "Download my profile" msgstr "" -#: plinth/modules/openvpn/views.py:88 -msgid "Setup completed." -msgstr "" - -#: plinth/modules/openvpn/views.py:90 -msgid "Setup failed." -msgstr "" - #: plinth/modules/pagekite/__init__.py:28 #, python-brace-format msgid "" diff --git a/plinth/locale/ru/LC_MESSAGES/django.po b/plinth/locale/ru/LC_MESSAGES/django.po index 29d508e11..6e37f8ee0 100644 --- a/plinth/locale/ru/LC_MESSAGES/django.po +++ b/plinth/locale/ru/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-11-02 19:02-0500\n" +"POT-Creation-Date: 2020-11-16 19:46-0500\n" "PO-Revision-Date: 2020-10-22 11:26+0000\n" "Last-Translator: Nikita Epifanov \n" "Language-Team: Russian Download Profile" @@ -4864,42 +4866,45 @@ msgstr "" msgid "Tunnelblick" msgstr "Tunnelblick" -#: plinth/modules/openvpn/templates/openvpn.html:20 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:7 +msgid "Migrate to ECC" +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:10 +msgid "" +"Your OpenVPN installation is currently using RSA. Switching to the modern " +"Elliptic Curve Cryptography improves speed of establishing a connection and " +"security. This operation is irreversible. It should only take a few minutes " +"on most single board computers." +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:19 #, 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." +"All new installations of OpenVPN on %(box_name)s will use ECC by default. We " +"recommend migrating as soon as possible." msgstr "" -"OpenVPN еще не настроен. Выполнение безопасной установки занимает очень " -"много времени. В зависимости от мощности вашего %(box_name)s, это может " -"занять продолжительное время. Если установка прерывается, вы можете начать " -"её снова." -#: plinth/modules/openvpn/templates/openvpn.html:33 -msgid "Start setup" -msgstr "Запуск программы установки" - -#: plinth/modules/openvpn/templates/openvpn.html:42 -msgid "OpenVPN setup is running" -msgstr "Выполняется установка OpenVPN" - -#: plinth/modules/openvpn/templates/openvpn.html:46 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:26 #, 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." +"Warning: Existing client profiles will be invalidated by this " +"operation. All OpenVPN users on %(box_name)s must download their new " +"profiles. OpenVPN clients compatible with ECC should be used to connect to " +"this server." msgstr "" -"Выполнение безопасной установки занимает очень много времени. В зависимости " -"от мощности вашего %(box_name)s, это может занять продолжительное время. " -"Если установка прерывается, вы можете начать её снова." -#: plinth/modules/openvpn/templates/openvpn.html:61 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:38 +#, fuzzy +#| msgid "Moderate" +msgid "Migrate" +msgstr "Умеренный" + +#: plinth/modules/openvpn/templates/openvpn.html:22 msgid "Profile" msgstr "Профиль" -#: plinth/modules/openvpn/templates/openvpn.html:64 +#: plinth/modules/openvpn/templates/openvpn.html:25 #, python-format msgid "" "To connect to %(box_name)s's VPN, you need to download a profile and feed it " @@ -4913,25 +4918,17 @@ msgstr "" "\" выше, чтобы просмотреть рекомендуемые клиенты и инструкции по их " "настройке." -#: plinth/modules/openvpn/templates/openvpn.html:74 +#: plinth/modules/openvpn/templates/openvpn.html:35 #, python-format msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." msgstr "" "Профиль специфичен для каждого пользователя %(box_name)s. Держите профиль в " "тайне." -#: plinth/modules/openvpn/templates/openvpn.html:85 +#: plinth/modules/openvpn/templates/openvpn.html:46 msgid "Download my profile" msgstr "Скачать мой профиль" -#: plinth/modules/openvpn/views.py:88 -msgid "Setup completed." -msgstr "Установка завершена." - -#: plinth/modules/openvpn/views.py:90 -msgid "Setup failed." -msgstr "Установка не удалась." - #: plinth/modules/pagekite/__init__.py:28 #, python-brace-format msgid "" @@ -8142,6 +8139,38 @@ msgstr "%(percentage)s%% завершено" msgid "Gujarati" msgstr "Гуджарати" +#~ 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 "" +#~ "OpenVPN еще не настроен. Выполнение безопасной установки занимает очень " +#~ "много времени. В зависимости от мощности вашего %(box_name)s, это может " +#~ "занять продолжительное время. Если установка прерывается, вы можете " +#~ "начать её снова." + +#~ msgid "Start setup" +#~ msgstr "Запуск программы установки" + +#~ msgid "OpenVPN setup is running" +#~ msgstr "Выполняется установка OpenVPN" + +#~ 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 "" +#~ "Выполнение безопасной установки занимает очень много времени. В " +#~ "зависимости от мощности вашего %(box_name)s, это может занять " +#~ "продолжительное время. Если установка прерывается, вы можете начать её " +#~ "снова." + +#~ msgid "Setup completed." +#~ msgstr "Установка завершена." + +#~ msgid "Setup failed." +#~ msgstr "Установка не удалась." + #~ msgid "Administer calibre application" #~ msgstr "Администрирование приложения calibre" diff --git a/plinth/locale/sl/LC_MESSAGES/django.po b/plinth/locale/sl/LC_MESSAGES/django.po index f9596b97d..98a43390c 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-11-02 19:02-0500\n" +"POT-Creation-Date: 2020-11-16 19:46-0500\n" "PO-Revision-Date: 2020-10-08 23:26+0000\n" "Last-Translator: Allan Nordhøy \n" "Language-Team: Slovenian Download Profile" @@ -4381,35 +4383,43 @@ msgstr "" msgid "Tunnelblick" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:20 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:7 +msgid "Migrate to ECC" +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:10 +msgid "" +"Your OpenVPN installation is currently using RSA. Switching to the modern " +"Elliptic Curve Cryptography improves speed of establishing a connection and " +"security. This operation is irreversible. It should only take a few minutes " +"on most single board computers." +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:19 #, 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." +"All new installations of OpenVPN on %(box_name)s will use ECC by default. We " +"recommend migrating as soon as possible." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:33 -msgid "Start setup" -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:42 -msgid "OpenVPN setup is running" -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:46 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:26 #, 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." +"Warning: Existing client profiles will be invalidated by this " +"operation. All OpenVPN users on %(box_name)s must download their new " +"profiles. OpenVPN clients compatible with ECC should be used to connect to " +"this server." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:61 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:38 +msgid "Migrate" +msgstr "" + +#: plinth/modules/openvpn/templates/openvpn.html:22 msgid "Profile" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:64 +#: plinth/modules/openvpn/templates/openvpn.html:25 #, python-format msgid "" "To connect to %(box_name)s's VPN, you need to download a profile and feed it " @@ -4418,23 +4428,15 @@ msgid "" "clients and instructions on how to configure them." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:74 +#: plinth/modules/openvpn/templates/openvpn.html:35 #, python-format msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:85 +#: plinth/modules/openvpn/templates/openvpn.html:46 msgid "Download my profile" msgstr "" -#: plinth/modules/openvpn/views.py:88 -msgid "Setup completed." -msgstr "" - -#: plinth/modules/openvpn/views.py:90 -msgid "Setup failed." -msgstr "" - #: plinth/modules/pagekite/__init__.py:28 #, python-brace-format msgid "" diff --git a/plinth/locale/sr/LC_MESSAGES/django.po b/plinth/locale/sr/LC_MESSAGES/django.po index 1c6061cad..2d15fc113 100644 --- a/plinth/locale/sr/LC_MESSAGES/django.po +++ b/plinth/locale/sr/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-11-02 19:02-0500\n" +"POT-Creation-Date: 2020-11-16 19:46-0500\n" "PO-Revision-Date: 2020-04-13 05:34+0000\n" "Last-Translator: vihor \n" "Language-Team: Serbian Download Profile" @@ -4276,35 +4278,43 @@ msgstr "" msgid "Tunnelblick" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:20 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:7 +msgid "Migrate to ECC" +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:10 +msgid "" +"Your OpenVPN installation is currently using RSA. Switching to the modern " +"Elliptic Curve Cryptography improves speed of establishing a connection and " +"security. This operation is irreversible. It should only take a few minutes " +"on most single board computers." +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:19 #, 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." +"All new installations of OpenVPN on %(box_name)s will use ECC by default. We " +"recommend migrating as soon as possible." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:33 -msgid "Start setup" -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:42 -msgid "OpenVPN setup is running" -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:46 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:26 #, 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." +"Warning: Existing client profiles will be invalidated by this " +"operation. All OpenVPN users on %(box_name)s must download their new " +"profiles. OpenVPN clients compatible with ECC should be used to connect to " +"this server." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:61 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:38 +msgid "Migrate" +msgstr "" + +#: plinth/modules/openvpn/templates/openvpn.html:22 msgid "Profile" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:64 +#: plinth/modules/openvpn/templates/openvpn.html:25 #, python-format msgid "" "To connect to %(box_name)s's VPN, you need to download a profile and feed it " @@ -4313,23 +4323,15 @@ msgid "" "clients and instructions on how to configure them." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:74 +#: plinth/modules/openvpn/templates/openvpn.html:35 #, python-format msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:85 +#: plinth/modules/openvpn/templates/openvpn.html:46 msgid "Download my profile" msgstr "" -#: plinth/modules/openvpn/views.py:88 -msgid "Setup completed." -msgstr "" - -#: plinth/modules/openvpn/views.py:90 -msgid "Setup failed." -msgstr "" - #: plinth/modules/pagekite/__init__.py:28 #, python-brace-format msgid "" diff --git a/plinth/locale/sv/LC_MESSAGES/django.po b/plinth/locale/sv/LC_MESSAGES/django.po index 2ebd08908..d550da717 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-11-02 19:02-0500\n" +"POT-Creation-Date: 2020-11-16 19:46-0500\n" "PO-Revision-Date: 2020-10-27 10:43+0000\n" "Last-Translator: Michael Breidenbach \n" "Language-Team: Swedish Download Profile" @@ -4849,41 +4851,45 @@ msgstr "" msgid "Tunnelblick" msgstr "Tunnelblick" -#: plinth/modules/openvpn/templates/openvpn.html:20 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:7 +msgid "Migrate to ECC" +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:10 +msgid "" +"Your OpenVPN installation is currently using RSA. Switching to the modern " +"Elliptic Curve Cryptography improves speed of establishing a connection and " +"security. This operation is irreversible. It should only take a few minutes " +"on most single board computers." +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:19 #, 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." +"All new installations of OpenVPN on %(box_name)s will use ECC by default. We " +"recommend migrating as soon as possible." msgstr "" -"OpenVPN har ännu inte inriktad. Det tar väldigt lång tid att utföra en " -"säker installation. Beroende på hur snabbt din %(box_name)s är, kan det " -"även ta timmar. Om installationen avbryts kan du starta den igen." -#: plinth/modules/openvpn/templates/openvpn.html:33 -msgid "Start setup" -msgstr "Starta installation" - -#: plinth/modules/openvpn/templates/openvpn.html:42 -msgid "OpenVPN setup is running" -msgstr "OpenVPN-installationen körs" - -#: plinth/modules/openvpn/templates/openvpn.html:46 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:26 #, 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." +"Warning: Existing client profiles will be invalidated by this " +"operation. All OpenVPN users on %(box_name)s must download their new " +"profiles. OpenVPN clients compatible with ECC should be used to connect to " +"this server." msgstr "" -"Den här processen tar mycket lång tid att utföra en säker installation. " -"Beroende på hur snabbt din %(box_name)s är, kan det även ta timmar. Om " -"installationen avbryts kan du starta den igen." -#: plinth/modules/openvpn/templates/openvpn.html:61 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:38 +#, fuzzy +#| msgid "Moderate" +msgid "Migrate" +msgstr "Måttlig" + +#: plinth/modules/openvpn/templates/openvpn.html:22 msgid "Profile" msgstr "Profil" -#: plinth/modules/openvpn/templates/openvpn.html:64 +#: plinth/modules/openvpn/templates/openvpn.html:25 #, python-format msgid "" "To connect to %(box_name)s's VPN, you need to download a profile and feed it " @@ -4897,24 +4903,16 @@ msgstr "" "\" ovan för rekommenderade klienter och instruktioner om hur du konfigurerar " "dem." -#: plinth/modules/openvpn/templates/openvpn.html:74 +#: plinth/modules/openvpn/templates/openvpn.html:35 #, python-format msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." msgstr "" "Profilen är specifik för varje användare av %(box_name)s Håll det hemligt." -#: plinth/modules/openvpn/templates/openvpn.html:85 +#: plinth/modules/openvpn/templates/openvpn.html:46 msgid "Download my profile" msgstr "Ladda ner min profil" -#: plinth/modules/openvpn/views.py:88 -msgid "Setup completed." -msgstr "Installationen har slutförts." - -#: plinth/modules/openvpn/views.py:90 -msgid "Setup failed." -msgstr "Installationen misslyckades." - #: plinth/modules/pagekite/__init__.py:28 #, python-brace-format msgid "" @@ -8118,6 +8116,36 @@ msgstr "%(percentage)s %% färdigt" msgid "Gujarati" msgstr "Gujarati" +#~ 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 "" +#~ "OpenVPN har ännu inte inriktad. Det tar väldigt lång tid att utföra en " +#~ "säker installation. Beroende på hur snabbt din %(box_name)s är, kan det " +#~ "även ta timmar. Om installationen avbryts kan du starta den igen." + +#~ msgid "Start setup" +#~ msgstr "Starta installation" + +#~ msgid "OpenVPN setup is running" +#~ msgstr "OpenVPN-installationen körs" + +#~ 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 "" +#~ "Den här processen tar mycket lång tid att utföra en säker installation. " +#~ "Beroende på hur snabbt din %(box_name)s är, kan det även ta timmar. Om " +#~ "installationen avbryts kan du starta den igen." + +#~ msgid "Setup completed." +#~ msgstr "Installationen har slutförts." + +#~ msgid "Setup failed." +#~ msgstr "Installationen misslyckades." + #~ msgid "Administer calibre application" #~ msgstr "Administrera calibre-applicering" diff --git a/plinth/locale/ta/LC_MESSAGES/django.po b/plinth/locale/ta/LC_MESSAGES/django.po index f1613a22b..d990ed52d 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-11-02 19:02-0500\n" +"POT-Creation-Date: 2020-11-16 19:46-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -812,7 +812,7 @@ msgid "Refresh IP address and domains" msgstr "" #: plinth/modules/bind/views.py:71 plinth/modules/coturn/views.py:39 -#: plinth/modules/deluge/views.py:42 plinth/modules/dynamicdns/views.py:150 +#: plinth/modules/deluge/views.py:42 plinth/modules/dynamicdns/views.py:154 #: plinth/modules/mumble/views.py:28 plinth/modules/pagekite/forms.py:90 #: plinth/modules/quassel/views.py:29 plinth/modules/shadowsocks/views.py:59 #: plinth/modules/transmission/views.py:47 @@ -1494,19 +1494,23 @@ msgstr "" msgid "URL to look up public IP" msgstr "" -#: plinth/modules/dynamicdns/forms.py:138 +#: plinth/modules/dynamicdns/forms.py:119 +msgid "Use IPv6 instead of IPv4" +msgstr "" + +#: plinth/modules/dynamicdns/forms.py:142 msgid "Please provide an update URL or a GnuDIP server address" msgstr "" -#: plinth/modules/dynamicdns/forms.py:143 +#: plinth/modules/dynamicdns/forms.py:147 msgid "Please provide a GnuDIP username" msgstr "" -#: plinth/modules/dynamicdns/forms.py:147 +#: plinth/modules/dynamicdns/forms.py:151 msgid "Please provide a GnuDIP domain name" msgstr "" -#: plinth/modules/dynamicdns/forms.py:152 +#: plinth/modules/dynamicdns/forms.py:156 msgid "Please provide a password" msgstr "" @@ -1570,8 +1574,6 @@ msgstr "" #: 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:17 -#: plinth/modules/openvpn/templates/openvpn.html:38 #: plinth/modules/tor/templates/tor.html:12 #: plinth/modules/tor/templates/tor.html:26 #: plinth/modules/upgrades/templates/upgrades_configure.html:30 @@ -4167,7 +4169,7 @@ msgstr "" msgid "Failed to delete connection: Connection not found." msgstr "" -#: plinth/modules/openvpn/__init__.py:26 +#: plinth/modules/openvpn/__init__.py:28 #, python-brace-format msgid "" "Virtual Private Network (VPN) is a technique for securely connecting two " @@ -4178,16 +4180,16 @@ msgid "" "security and anonymity." msgstr "" -#: plinth/modules/openvpn/__init__.py:54 plinth/modules/openvpn/manifest.py:18 +#: plinth/modules/openvpn/__init__.py:56 plinth/modules/openvpn/manifest.py:18 msgid "OpenVPN" msgstr "" -#: plinth/modules/openvpn/__init__.py:55 +#: plinth/modules/openvpn/__init__.py:57 #: plinth/modules/wireguard/__init__.py:52 msgid "Virtual Private Network" msgstr "" -#: plinth/modules/openvpn/__init__.py:66 +#: plinth/modules/openvpn/__init__.py:68 #, python-brace-format msgid "" "Download Profile" @@ -4197,35 +4199,43 @@ msgstr "" msgid "Tunnelblick" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:20 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:7 +msgid "Migrate to ECC" +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:10 +msgid "" +"Your OpenVPN installation is currently using RSA. Switching to the modern " +"Elliptic Curve Cryptography improves speed of establishing a connection and " +"security. This operation is irreversible. It should only take a few minutes " +"on most single board computers." +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:19 #, 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." +"All new installations of OpenVPN on %(box_name)s will use ECC by default. We " +"recommend migrating as soon as possible." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:33 -msgid "Start setup" -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:42 -msgid "OpenVPN setup is running" -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:46 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:26 #, 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." +"Warning: Existing client profiles will be invalidated by this " +"operation. All OpenVPN users on %(box_name)s must download their new " +"profiles. OpenVPN clients compatible with ECC should be used to connect to " +"this server." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:61 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:38 +msgid "Migrate" +msgstr "" + +#: plinth/modules/openvpn/templates/openvpn.html:22 msgid "Profile" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:64 +#: plinth/modules/openvpn/templates/openvpn.html:25 #, python-format msgid "" "To connect to %(box_name)s's VPN, you need to download a profile and feed it " @@ -4234,23 +4244,15 @@ msgid "" "clients and instructions on how to configure them." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:74 +#: plinth/modules/openvpn/templates/openvpn.html:35 #, python-format msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:85 +#: plinth/modules/openvpn/templates/openvpn.html:46 msgid "Download my profile" msgstr "" -#: plinth/modules/openvpn/views.py:88 -msgid "Setup completed." -msgstr "" - -#: plinth/modules/openvpn/views.py:90 -msgid "Setup failed." -msgstr "" - #: plinth/modules/pagekite/__init__.py:28 #, python-brace-format msgid "" diff --git a/plinth/locale/te/LC_MESSAGES/django.po b/plinth/locale/te/LC_MESSAGES/django.po index 6ab9e8902..b4d0b2276 100644 --- a/plinth/locale/te/LC_MESSAGES/django.po +++ b/plinth/locale/te/LC_MESSAGES/django.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: FreedomBox UI\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-11-02 19:02-0500\n" +"POT-Creation-Date: 2020-11-16 19:46-0500\n" "PO-Revision-Date: 2020-10-26 13:27+0000\n" "Last-Translator: Praveen Illa \n" "Language-Team: Telugu Download Profile" @@ -4759,40 +4761,45 @@ msgstr "" msgid "Tunnelblick" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:20 -#, fuzzy, 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." +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:7 +msgid "Migrate to ECC" msgstr "" -"OpenVPN ఇంకా సెటప్ చేయలేదు. సురక్షిత సెటప్ పెర్ఫార్మింగ్ చాలా కాలం పడుతుంది. మీ% ఎంత వేగంగా " -"(box_name) లు 1 ఆధారపడి, అది కూడా గంటల సమయం పట్టవచ్చు. సెటప్ ఆటకం, మీరు మళ్ళీ దాన్ని మొదలు " -"పెడతాయి." -#: plinth/modules/openvpn/templates/openvpn.html:33 -msgid "Start setup" -msgstr "అమర్చిపెట్టు ప్రారంభం" - -#: plinth/modules/openvpn/templates/openvpn.html:42 -msgid "OpenVPN setup is running" -msgstr "అమర్చిపెటినా తెరిచినVPNనడుస్తుంది" - -#: plinth/modules/openvpn/templates/openvpn.html:46 -#, fuzzy, python-format +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:10 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." +"Your OpenVPN installation is currently using RSA. Switching to the modern " +"Elliptic Curve Cryptography improves speed of establishing a connection and " +"security. This operation is irreversible. It should only take a few minutes " +"on most single board computers." msgstr "" -"సురక్షిత సెటప్ చెయ్యడానికి, ఈ ప్రక్రియ చాలా కాలం పడుతుంది. మీ% ఎంత వేగంగా (box_name) లు 1 " -"ఆధారపడి, అది కూడా గంటల సమయం పట్టవచ్చు. సెటప్ ఆటకం, మీరు మళ్ళీ దాన్ని మొదలు పెడతాయి." -#: plinth/modules/openvpn/templates/openvpn.html:61 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:19 +#, python-format +msgid "" +"All new installations of OpenVPN on %(box_name)s will use ECC by default. We " +"recommend migrating as soon as possible." +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:26 +#, python-format +msgid "" +"Warning: Existing client profiles will be invalidated by this " +"operation. All OpenVPN users on %(box_name)s must download their new " +"profiles. OpenVPN clients compatible with ECC should be used to connect to " +"this server." +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:38 +#, fuzzy +#| msgid "Moderate" +msgid "Migrate" +msgstr "మితమైన" + +#: plinth/modules/openvpn/templates/openvpn.html:22 msgid "Profile" msgstr "స్థూల వివరం" -#: plinth/modules/openvpn/templates/openvpn.html:64 +#: plinth/modules/openvpn/templates/openvpn.html:25 #, fuzzy, python-format msgid "" "To connect to %(box_name)s's VPN, you need to download a profile and feed it " @@ -4806,23 +4813,15 @@ msgstr "" "OpenVPN\"> 2documentation 3 title=\"%(box_name)s ఆకృతీకరించుటకు ఎలా సిఫార్సు " "ఖాతాదారులకు మరియు సూచనలతో వాటిని." -#: plinth/modules/openvpn/templates/openvpn.html:74 +#: plinth/modules/openvpn/templates/openvpn.html:35 #, python-format msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." msgstr "ప్రొఫైల్ ప్రతి %(box_name)s వాడుకరికి నిర్ధిష్టమైనది. దాన్ని రహస్యంగా ఉంచండి." -#: plinth/modules/openvpn/templates/openvpn.html:85 +#: plinth/modules/openvpn/templates/openvpn.html:46 msgid "Download my profile" msgstr "నా స్థూలవివరంల దిగుమతి" -#: plinth/modules/openvpn/views.py:88 -msgid "Setup completed." -msgstr "అమరక పూర్తయ్యింది." - -#: plinth/modules/openvpn/views.py:90 -msgid "Setup failed." -msgstr "అమరక విఫలమైంది." - #: plinth/modules/pagekite/__init__.py:28 #, fuzzy, python-brace-format msgid "" @@ -8053,6 +8052,37 @@ msgstr "%(percentage)s %% పూర్తి" msgid "Gujarati" msgstr "గుజరాతీ" +#, fuzzy +#~ 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 "" +#~ "OpenVPN ఇంకా సెటప్ చేయలేదు. సురక్షిత సెటప్ పెర్ఫార్మింగ్ చాలా కాలం పడుతుంది. మీ% ఎంత వేగంగా " +#~ "(box_name) లు 1 ఆధారపడి, అది కూడా గంటల సమయం పట్టవచ్చు. సెటప్ ఆటకం, మీరు మళ్ళీ దాన్ని " +#~ "మొదలు పెడతాయి." + +#~ msgid "Start setup" +#~ msgstr "అమర్చిపెట్టు ప్రారంభం" + +#~ msgid "OpenVPN setup is running" +#~ msgstr "అమర్చిపెటినా తెరిచినVPNనడుస్తుంది" + +#, fuzzy +#~ 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 "" +#~ "సురక్షిత సెటప్ చెయ్యడానికి, ఈ ప్రక్రియ చాలా కాలం పడుతుంది. మీ% ఎంత వేగంగా (box_name) లు 1 " +#~ "ఆధారపడి, అది కూడా గంటల సమయం పట్టవచ్చు. సెటప్ ఆటకం, మీరు మళ్ళీ దాన్ని మొదలు పెడతాయి." + +#~ msgid "Setup completed." +#~ msgstr "అమరక పూర్తయ్యింది." + +#~ msgid "Setup failed." +#~ msgstr "అమరక విఫలమైంది." + #, fuzzy #~| msgid "Install this application?" #~ msgid "Administer calibre application" diff --git a/plinth/locale/tr/LC_MESSAGES/django.po b/plinth/locale/tr/LC_MESSAGES/django.po index a4aa04e8b..fa2d2753c 100644 --- a/plinth/locale/tr/LC_MESSAGES/django.po +++ b/plinth/locale/tr/LC_MESSAGES/django.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-11-02 19:02-0500\n" -"PO-Revision-Date: 2020-10-26 13:27+0000\n" +"POT-Creation-Date: 2020-11-16 19:46-0500\n" +"PO-Revision-Date: 2020-11-06 23:26+0000\n" "Last-Translator: Burak Yavuz \n" "Language-Team: Turkish \n" @@ -16,7 +16,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 4.3.2-dev\n" +"X-Generator: Weblate 4.3.2\n" #: doc/dev/_templates/layout.html:11 msgid "Page source" @@ -870,7 +870,7 @@ msgid "Refresh IP address and domains" msgstr "IP adresi ve etki alanlarını yenile" #: plinth/modules/bind/views.py:71 plinth/modules/coturn/views.py:39 -#: plinth/modules/deluge/views.py:42 plinth/modules/dynamicdns/views.py:150 +#: plinth/modules/deluge/views.py:42 plinth/modules/dynamicdns/views.py:154 #: plinth/modules/mumble/views.py:28 plinth/modules/pagekite/forms.py:90 #: plinth/modules/quassel/views.py:29 plinth/modules/shadowsocks/views.py:59 #: plinth/modules/transmission/views.py:47 @@ -1658,19 +1658,23 @@ msgstr "Parolayı göster" msgid "URL to look up public IP" msgstr "Dış IP'yi aramak için URL" -#: plinth/modules/dynamicdns/forms.py:138 +#: plinth/modules/dynamicdns/forms.py:119 +msgid "Use IPv6 instead of IPv4" +msgstr "" + +#: plinth/modules/dynamicdns/forms.py:142 msgid "Please provide an update URL or a GnuDIP server address" msgstr "Lütfen bir güncelleme URL'si ya da bir GnuDIP sunucu adresi girin" -#: plinth/modules/dynamicdns/forms.py:143 +#: plinth/modules/dynamicdns/forms.py:147 msgid "Please provide a GnuDIP username" msgstr "Lütfen bir GnuDIP kullanıcı adı girin" -#: plinth/modules/dynamicdns/forms.py:147 +#: plinth/modules/dynamicdns/forms.py:151 msgid "Please provide a GnuDIP domain name" msgstr "Lütfen bir GnuDIP etki alanı adı girin" -#: plinth/modules/dynamicdns/forms.py:152 +#: plinth/modules/dynamicdns/forms.py:156 msgid "Please provide a password" msgstr "Lütfen bir parola girin" @@ -1752,8 +1756,6 @@ msgstr "Hakkında" #: 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:17 -#: plinth/modules/openvpn/templates/openvpn.html:38 #: plinth/modules/tor/templates/tor.html:12 #: plinth/modules/tor/templates/tor.html:26 #: plinth/modules/upgrades/templates/upgrades_configure.html:30 @@ -3079,16 +3081,16 @@ msgstr "" "anki parolayı korumak için bu alanı boş bırakın." #: plinth/modules/mediawiki/forms.py:56 -#, fuzzy -#| msgid "Server" msgid "Server URL" -msgstr "Sunucu" +msgstr "Sunucu URL'si" #: plinth/modules/mediawiki/forms.py:57 msgid "" "Used by MediaWiki to generate URLs that point to the wiki such as in footer, " "feeds and emails." msgstr "" +"MediaWiki tarafından, altbilgi, bildirimler ve e-postalar gibi viki'yi " +"işaret eden URL'ler oluşturmak için kullanılır." #: plinth/modules/mediawiki/forms.py:62 msgid "Enable public registrations" @@ -3152,10 +3154,8 @@ msgid "Default skin changed" msgstr "Varsayılan kaplama değiştirildi" #: plinth/modules/mediawiki/views.py:90 -#, fuzzy -#| msgid "Server deleted." msgid "Server URL updated" -msgstr "Sunucu silindi." +msgstr "Sunucu URL'si güncellendi" #: plinth/modules/minetest/__init__.py:38 #, python-brace-format @@ -4528,206 +4528,157 @@ msgstr "" "gerçekleştirileceğine dair tam talimatlar sağlayacak." #: plinth/modules/networks/views.py:27 -#, fuzzy -#| msgid "Disabled" msgid "disabled" -msgstr "Etkisizleştirildi" +msgstr "etkisizleştirildi" #: plinth/modules/networks/views.py:28 -#, fuzzy -#| msgid "Automatic" msgid "automatic" -msgstr "Otomatik" +msgstr "otomatik" #: plinth/modules/networks/views.py:29 -#, fuzzy -#| msgctxt "User guide" -#| msgid "Manual" msgid "manual" -msgstr "Kılavuz" +msgstr "elle" #: plinth/modules/networks/views.py:30 -#, fuzzy -#| msgid "Shared" msgid "shared" -msgstr "Paylaşılan" +msgstr "paylaşılmış" #: plinth/modules/networks/views.py:31 msgid "link-local" -msgstr "" +msgstr "bağlantı-yerel" #: plinth/modules/networks/views.py:37 plinth/modules/networks/views.py:98 #: plinth/modules/networks/views.py:109 msgid "unknown" -msgstr "" +msgstr "bilinmiyor" #: plinth/modules/networks/views.py:38 -#, fuzzy -#| msgid "Manage" msgid "unmanaged" -msgstr "Yönet" +msgstr "yönetilmeyen" #: plinth/modules/networks/views.py:39 -#, fuzzy -#| msgid "Unavailable Shares" msgid "unavailable" -msgstr "Kullanılamaz Paylaşımlar" +msgstr "kullanılamaz" #: plinth/modules/networks/views.py:40 -#, fuzzy -#| msgid "cable is connected" msgid "disconnected" -msgstr "kablo bağlı" +msgstr "bağlantısı kesilmiş" #: plinth/modules/networks/views.py:41 -#, fuzzy -#| msgid "Sharing" msgid "preparing" -msgstr "Paylaşım" +msgstr "hazırlanıyor" #: plinth/modules/networks/views.py:42 -#, fuzzy -#| msgid "Connection" msgid "connecting" -msgstr "Bağlantı" +msgstr "bağlanıyor" #: plinth/modules/networks/views.py:43 -#, fuzzy -#| msgid "Use HTTP basic authentication" msgid "needs authentication" -msgstr "HTTP temel kimlik doğrulamasını kullan" +msgstr "kimlik doğrulaması gerekiyor" #: plinth/modules/networks/views.py:44 msgid "requesting address" -msgstr "" +msgstr "adres isteniyor" #: plinth/modules/networks/views.py:45 msgid "checking" -msgstr "" +msgstr "denetleniyor" #: plinth/modules/networks/views.py:46 msgid "waiting for secondary" -msgstr "" +msgstr "ikincil bekleniyor" #: plinth/modules/networks/views.py:47 -#, fuzzy -#| msgid "Deactivate" msgid "activated" -msgstr "Devre dışı bırak" +msgstr "etkinleştirildi" #: plinth/modules/networks/views.py:48 -#, fuzzy -#| msgid "Deactivate" msgid "deactivating" -msgstr "Devre dışı bırak" +msgstr "devre dışı bırakılıyor" #: plinth/modules/networks/views.py:56 -#, fuzzy -#| msgid "State reason" msgid "no reason" -msgstr "Durum nedeni" +msgstr "sebep yok" #: plinth/modules/networks/views.py:58 msgid "unknown error" -msgstr "" +msgstr "bilinmeyen hata" #: plinth/modules/networks/views.py:60 -#, fuzzy -#| msgid "The device is not mounted." msgid "device is now managed" -msgstr "Aygıt bağlı değil." +msgstr "aygıt artık yönetiliyor" #: plinth/modules/networks/views.py:62 -#, fuzzy -#| msgid "The device is not mounted." msgid "device is now unmanaged" -msgstr "Aygıt bağlı değil." +msgstr "aygıt artık yönetilemiyor" #: plinth/modules/networks/views.py:64 -#, fuzzy -#| msgid "configuration file: {file}" msgid "configuration failed" -msgstr "yapılandırma dosyası: {file}" +msgstr "yapılandırma başarısız oldu" #: plinth/modules/networks/views.py:66 msgid "secrets required" -msgstr "" +msgstr "gizli anahtarlar gerekli" #: plinth/modules/networks/views.py:68 msgid "DHCP client failed to start" -msgstr "" +msgstr "DHCP istemcisini başlatma başarısız oldu" #: plinth/modules/networks/views.py:70 msgid "DHCP client error" -msgstr "" +msgstr "DHCP istemcisi hatası" #: plinth/modules/networks/views.py:72 -#, fuzzy -#| msgid "Client deleted." msgid "DHCP client failed" -msgstr "İstemci silindi." +msgstr "DHCP istemcisi başarısız oldu" #: plinth/modules/networks/views.py:74 msgid "shared connection service failed to start" -msgstr "" +msgstr "paylaşılan bağlantı hizmetini başlatma başarısız oldu" #: plinth/modules/networks/views.py:76 -#, fuzzy -#| msgid "The operation failed." msgid "shared connection service failed" -msgstr "İşlem başarısız oldu." +msgstr "paylaşılan bağlantı hizmeti başarısız oldu" #: plinth/modules/networks/views.py:78 -#, fuzzy -#| msgid "The device is already mounted." msgid "device was removed" -msgstr "Aygıt zaten bağlı." +msgstr "aygıt kaldırıldı" #: plinth/modules/networks/views.py:80 -#, fuzzy -#| msgid "The device is mounted by another user." msgid "device disconnected by user" -msgstr "Aygıt başka bir kullanıcı tarafından bağlandı." +msgstr "aygıtın bağlantısı kullanıcı tarafından kesildi" #: plinth/modules/networks/views.py:82 msgid "a dependency of the connection failed" -msgstr "" +msgstr "bağlantının bir bağımlılığı başarısız oldu" #: plinth/modules/networks/views.py:84 -#, fuzzy -#| msgid "Client not found" msgid "Wi-Fi network not found" -msgstr "İstemci bulunamadı" +msgstr "Kablosuz (Wi-Fi) ağı bulunamadı" #: plinth/modules/networks/views.py:86 -#, fuzzy -#| msgid "The operation failed." msgid "a secondary connection failed" -msgstr "İşlem başarısız oldu." +msgstr "ikincil bir bağlantı başarısız oldu" #: plinth/modules/networks/views.py:88 msgid "new connection activation was enqueued" -msgstr "" +msgstr "yeni bağlantı etkinleştirme sıraya alındı" #: plinth/modules/networks/views.py:90 msgid "a duplicate IP address was detected" -msgstr "" +msgstr "yinelenen bir IP adresi algılandı" #: plinth/modules/networks/views.py:92 msgid "selected IP method is not supported" -msgstr "" +msgstr "seçilen IP yöntemi desteklenmiyor" #: plinth/modules/networks/views.py:101 -#, fuzzy -#| msgid "Generic" msgid "generic" -msgstr "Genel" +msgstr "genel" #: plinth/modules/networks/views.py:102 -#, fuzzy -#| msgid "Network Interface" msgid "TUN or TAP interface" -msgstr "Ağ Arayüzü" +msgstr "TUN veya TAP arayüzü" #: plinth/modules/networks/views.py:103 plinth/modules/wireguard/__init__.py:50 #: plinth/modules/wireguard/manifest.py:14 @@ -4735,28 +4686,20 @@ msgid "WireGuard" msgstr "WireGuard" #: plinth/modules/networks/views.py:110 -#, fuzzy -#| msgid "Ad-hoc" msgid "ad-hoc" -msgstr "Geçici" +msgstr "geçici" #: plinth/modules/networks/views.py:111 -#, fuzzy -#| msgid "Infrastructure" msgid "infrastructure" -msgstr "Altyapı" +msgstr "altyapı" #: plinth/modules/networks/views.py:112 -#, fuzzy -#| msgid "Access Point" msgid "access point" -msgstr "Erişim Noktası" +msgstr "erişim noktası" #: plinth/modules/networks/views.py:113 -#, fuzzy -#| msgid "Access Point" msgid "mesh point" -msgstr "Erişim Noktası" +msgstr "ağ gözü noktası" #: plinth/modules/networks/views.py:127 msgid "Network Connections" @@ -4827,7 +4770,7 @@ msgstr "{name} bağlantısı silindi." msgid "Failed to delete connection: Connection not found." msgstr "Bağlantının silinmesi başarısız oldu: Bağlantı bulunamadı." -#: plinth/modules/openvpn/__init__.py:26 +#: plinth/modules/openvpn/__init__.py:28 #, python-brace-format msgid "" "Virtual Private Network (VPN) is a technique for securely connecting two " @@ -4844,16 +4787,16 @@ msgstr "" "isim gizliliği sayesinde {box_name} aracılığıyla Internet'e de " "erişebilirsiniz." -#: plinth/modules/openvpn/__init__.py:54 plinth/modules/openvpn/manifest.py:18 +#: plinth/modules/openvpn/__init__.py:56 plinth/modules/openvpn/manifest.py:18 msgid "OpenVPN" msgstr "OpenVPN" -#: plinth/modules/openvpn/__init__.py:55 +#: plinth/modules/openvpn/__init__.py:57 #: plinth/modules/wireguard/__init__.py:52 msgid "Virtual Private Network" msgstr "Sanal Özel Ağ" -#: plinth/modules/openvpn/__init__.py:66 +#: plinth/modules/openvpn/__init__.py:68 #, python-brace-format msgid "" "Download Profile" @@ -4863,42 +4806,45 @@ msgstr "Profili İndir" msgid "Tunnelblick" msgstr "Tunnelblick" -#: plinth/modules/openvpn/templates/openvpn.html:20 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:7 +msgid "Migrate to ECC" +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:10 +msgid "" +"Your OpenVPN installation is currently using RSA. Switching to the modern " +"Elliptic Curve Cryptography improves speed of establishing a connection and " +"security. This operation is irreversible. It should only take a few minutes " +"on most single board computers." +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:19 #, 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." +"All new installations of OpenVPN on %(box_name)s will use ECC by default. We " +"recommend migrating as soon as possible." msgstr "" -"OpenVPN henüz ayarlanmadı. Güvenli bir ayarlama gerçekleştirilmesi çok uzun " -"zaman alır. %(box_name)s cihazınızın ne kadar hızlı olduğuna bağlı olarak " -"saatler bile sürebilir. Eğer ayarlama yarıda kesilirse, tekrar " -"başlatabilirsiniz." -#: plinth/modules/openvpn/templates/openvpn.html:33 -msgid "Start setup" -msgstr "Ayarlamayı başlat" - -#: plinth/modules/openvpn/templates/openvpn.html:42 -msgid "OpenVPN setup is running" -msgstr "OpenVPN ayarlaması çalışıyor" - -#: plinth/modules/openvpn/templates/openvpn.html:46 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:26 #, 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." +"Warning: Existing client profiles will be invalidated by this " +"operation. All OpenVPN users on %(box_name)s must download their new " +"profiles. OpenVPN clients compatible with ECC should be used to connect to " +"this server." msgstr "" -"Güvenli bir ayarlama gerçekleştirmek için bu işlem çok uzun sürer. " -"%(box_name)s cihazınızın ne kadar hızlı olduğuna bağlı olarak saatler bile " -"sürebilir. Eğer ayarlama yarıda kesilirse, tekrar başlatabilirsiniz." -#: plinth/modules/openvpn/templates/openvpn.html:61 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:38 +#, fuzzy +#| msgid "Moderate" +msgid "Migrate" +msgstr "Orta" + +#: plinth/modules/openvpn/templates/openvpn.html:22 msgid "Profile" msgstr "Profil" -#: plinth/modules/openvpn/templates/openvpn.html:64 +#: plinth/modules/openvpn/templates/openvpn.html:25 #, python-format msgid "" "To connect to %(box_name)s's VPN, you need to download a profile and feed it " @@ -4912,23 +4858,15 @@ msgstr "" "istemciler ve bunların nasıl yapılandırılacağıyla ilgili talimatlar için " "yukarıdaki \"Daha fazla bilgi edinin...\" bağlantısına tıklayın." -#: plinth/modules/openvpn/templates/openvpn.html:74 +#: plinth/modules/openvpn/templates/openvpn.html:35 #, python-format msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." msgstr "Profil, %(box_name)s cihazının her kullanıcısına özgüdür. Gizli tutun." -#: plinth/modules/openvpn/templates/openvpn.html:85 +#: plinth/modules/openvpn/templates/openvpn.html:46 msgid "Download my profile" msgstr "Profilimi indir" -#: plinth/modules/openvpn/views.py:88 -msgid "Setup completed." -msgstr "Ayarlama tamamlandı." - -#: plinth/modules/openvpn/views.py:90 -msgid "Setup failed." -msgstr "Ayarlama başarısız oldu." - #: plinth/modules/pagekite/__init__.py:28 #, python-brace-format msgid "" @@ -6449,10 +6387,9 @@ msgid "Low disk space" msgstr "Düşük disk alanı" #: plinth/modules/storage/__init__.py:319 -#, fuzzy, python-brace-format -#| msgid "About {box_name}" +#, python-brace-format msgid "Go to {app_name}" -msgstr "{box_name} Hakkında" +msgstr "{app_name} için git" #: plinth/modules/storage/__init__.py:337 msgid "Disk failure imminent" @@ -6586,7 +6523,7 @@ msgid "" "other devices that also run Syncthing." msgstr "" "Syncthing, dosyaları birden çok cihaz arasında eşitlemek için kullanılan bir " -"uygulamadır, ör.n masaüstü bilgisayarınız ve cep telefonunuz. Bir cihazda " +"uygulamadır, örn. masaüstü bilgisayarınız ve cep telefonunuz. Bir cihazda " "dosyaların oluşturulması, değiştirilmesi veya silinmesi, Syncthing'i de " "çalıştıran diğer tüm cihazlarda otomatik olarak tekrarlanacaktır." @@ -6975,10 +6912,8 @@ msgid "Update" msgstr "Güncelle" #: plinth/modules/upgrades/__init__.py:105 -#, fuzzy -#| msgid "Update" msgid "Updates" -msgstr "Güncelle" +msgstr "Güncellemeler" #: plinth/modules/upgrades/__init__.py:108 msgid "FreedomBox Updated" @@ -6994,16 +6929,16 @@ msgstr "" "Etkinleştirildiğinde, FreedomBox günde bir kez otomatik olarak güncellenir." #: plinth/modules/upgrades/forms.py:19 -#, fuzzy -#| msgid "Enable auto-update" msgid "Enable auto-update to next stable release" -msgstr "Otomatik güncellemeyi etkinleştir" +msgstr "Bir sonraki kararlı yayıma otomatik güncellemeyi etkinleştir" #: plinth/modules/upgrades/forms.py:20 msgid "" "When enabled, FreedomBox will update to the next stable distribution release " "when it is available." msgstr "" +"Etkinleştirildiğinde, FreedomBox, bir sonraki kararlı dağıtım yayımı mevcut " +"olduğunda buna güncellenecek." #: plinth/modules/upgrades/forms.py:34 #: plinth/modules/upgrades/templates/upgrades_configure.html:105 @@ -7123,16 +7058,12 @@ msgid "Automatic upgrades disabled" msgstr "Otomatik yükseltmeler etkisizleştirildi" #: plinth/modules/upgrades/views.py:81 -#, fuzzy -#| msgid "Automatic upgrades enabled" msgid "Distribution upgrade enabled" -msgstr "Otomatik yükseltmeler etkinleştirildi" +msgstr "Dağıtım yükseltmesi etkinleştirildi" #: plinth/modules/upgrades/views.py:84 -#, fuzzy -#| msgid "Automatic upgrades disabled" msgid "Distribution upgrade disabled" -msgstr "Otomatik yükseltmeler etkisizleştirildi" +msgstr "Dağıtım yükseltmesi etkisizleştirildi" #: plinth/modules/upgrades/views.py:125 msgid "Upgrade process started." @@ -7548,7 +7479,7 @@ msgstr "Genellikle tüm trafiğin gönderildiği bir VPN hizmeti için denetleni #: plinth/modules/wireguard/templates/wireguard.html:10 msgid "As a Server" -msgstr "Bir Sunucu olarak" +msgstr "Bir Sunucu Olarak" #: plinth/modules/wireguard/templates/wireguard.html:12 msgid "Peers allowed to connect to this server:" @@ -7589,7 +7520,7 @@ msgstr "İzin Verilen İstemci Ekle" #: plinth/modules/wireguard/templates/wireguard.html:64 msgid "As a Client" -msgstr "Bir İstemci olarak" +msgstr "Bir İstemci Olarak" #: plinth/modules/wireguard/templates/wireguard.html:66 #, python-format @@ -8115,7 +8046,7 @@ msgstr "Bu uygulama şu anda dağıtımınızda mevcut değil." #: plinth/templates/setup.html:50 msgid "Check again" -msgstr "" +msgstr "Tekrar denetle" #: plinth/templates/setup.html:60 msgid "Install" @@ -8143,6 +8074,37 @@ msgstr "%%%(percentage)s tamamlandı" msgid "Gujarati" msgstr "Gujarati" +#~ 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 "" +#~ "OpenVPN henüz ayarlanmadı. Güvenli bir ayarlama gerçekleştirilmesi çok " +#~ "uzun zaman alır. %(box_name)s cihazınızın ne kadar hızlı olduğuna bağlı " +#~ "olarak saatler bile sürebilir. Eğer ayarlama yarıda kesilirse, tekrar " +#~ "başlatabilirsiniz." + +#~ msgid "Start setup" +#~ msgstr "Ayarlamayı başlat" + +#~ msgid "OpenVPN setup is running" +#~ msgstr "OpenVPN ayarlaması çalışıyor" + +#~ 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 "" +#~ "Güvenli bir ayarlama gerçekleştirmek için bu işlem çok uzun sürer. " +#~ "%(box_name)s cihazınızın ne kadar hızlı olduğuna bağlı olarak saatler " +#~ "bile sürebilir. Eğer ayarlama yarıda kesilirse, tekrar başlatabilirsiniz." + +#~ msgid "Setup completed." +#~ msgstr "Ayarlama tamamlandı." + +#~ msgid "Setup failed." +#~ msgstr "Ayarlama başarısız oldu." + #~ msgid "Administer calibre application" #~ msgstr "calibre uygulamasını yönet" diff --git a/plinth/locale/uk/LC_MESSAGES/django.po b/plinth/locale/uk/LC_MESSAGES/django.po index 4b472f964..a89b78c52 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-11-02 19:02-0500\n" +"POT-Creation-Date: 2020-11-16 19:46-0500\n" "PO-Revision-Date: 2019-01-04 17:06+0000\n" "Last-Translator: prolinux ukraine \n" "Language-Team: Ukrainian Download Profile" @@ -4328,35 +4330,43 @@ msgstr "" msgid "Tunnelblick" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:20 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:7 +msgid "Migrate to ECC" +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:10 +msgid "" +"Your OpenVPN installation is currently using RSA. Switching to the modern " +"Elliptic Curve Cryptography improves speed of establishing a connection and " +"security. This operation is irreversible. It should only take a few minutes " +"on most single board computers." +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:19 #, 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." +"All new installations of OpenVPN on %(box_name)s will use ECC by default. We " +"recommend migrating as soon as possible." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:33 -msgid "Start setup" -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:42 -msgid "OpenVPN setup is running" -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:46 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:26 #, 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." +"Warning: Existing client profiles will be invalidated by this " +"operation. All OpenVPN users on %(box_name)s must download their new " +"profiles. OpenVPN clients compatible with ECC should be used to connect to " +"this server." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:61 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:38 +msgid "Migrate" +msgstr "" + +#: plinth/modules/openvpn/templates/openvpn.html:22 msgid "Profile" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:64 +#: plinth/modules/openvpn/templates/openvpn.html:25 #, python-format msgid "" "To connect to %(box_name)s's VPN, you need to download a profile and feed it " @@ -4365,23 +4375,15 @@ msgid "" "clients and instructions on how to configure them." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:74 +#: plinth/modules/openvpn/templates/openvpn.html:35 #, python-format msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:85 +#: plinth/modules/openvpn/templates/openvpn.html:46 msgid "Download my profile" msgstr "" -#: plinth/modules/openvpn/views.py:88 -msgid "Setup completed." -msgstr "" - -#: plinth/modules/openvpn/views.py:90 -msgid "Setup failed." -msgstr "" - #: plinth/modules/pagekite/__init__.py:28 #, python-brace-format msgid "" diff --git a/plinth/locale/zh_Hans/LC_MESSAGES/django.po b/plinth/locale/zh_Hans/LC_MESSAGES/django.po index 4d3407c52..e37906620 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-11-02 19:02-0500\n" +"POT-Creation-Date: 2020-11-16 19:46-0500\n" "PO-Revision-Date: 2020-10-08 23:26+0000\n" "Last-Translator: Allan Nordhøy \n" "Language-Team: Chinese (Simplified) Download Profile" @@ -4752,39 +4754,45 @@ msgstr "" msgid "Tunnelblick" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:20 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:7 +msgid "Migrate to ECC" +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:10 +msgid "" +"Your OpenVPN installation is currently using RSA. Switching to the modern " +"Elliptic Curve Cryptography improves speed of establishing a connection and " +"security. This operation is irreversible. It should only take a few minutes " +"on most single board computers." +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:19 #, 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." +"All new installations of OpenVPN on %(box_name)s will use ECC by default. We " +"recommend migrating as soon as possible." msgstr "" -"OpenVPN 尚未安装。 执行安全的安装需要很长的时间。 根据您的 %(box_name)s 运行" -"速度,它甚至可能需要小时。 如果安装程序中断,您可以重新启动。" -#: plinth/modules/openvpn/templates/openvpn.html:33 -msgid "Start setup" -msgstr "启动安装程序" - -#: plinth/modules/openvpn/templates/openvpn.html:42 -msgid "OpenVPN setup is running" -msgstr "OpenVPN 安装程序正在运行" - -#: plinth/modules/openvpn/templates/openvpn.html:46 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:26 #, 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." +"Warning: Existing client profiles will be invalidated by this " +"operation. All OpenVPN users on %(box_name)s must download their new " +"profiles. OpenVPN clients compatible with ECC should be used to connect to " +"this server." msgstr "" -"若要执行更安全的安装,此过程需要很长的时间。根据您的 %(box_name)s 运行速度," -"它甚至可能需要数小时。如果安装程序中断,您可以重新启动。" -#: plinth/modules/openvpn/templates/openvpn.html:61 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:38 +#, fuzzy +#| msgid "Mode" +msgid "Migrate" +msgstr "模式" + +#: plinth/modules/openvpn/templates/openvpn.html:22 msgid "Profile" msgstr "配置文件" -#: plinth/modules/openvpn/templates/openvpn.html:64 +#: plinth/modules/openvpn/templates/openvpn.html:25 #, fuzzy, python-format #| msgid "" #| "To connect to %(box_name)s's VPN, you need to download a profile and feed " @@ -4804,23 +4812,15 @@ msgstr "" "文档 以及有关如何配置它们的说明。" -#: plinth/modules/openvpn/templates/openvpn.html:74 +#: plinth/modules/openvpn/templates/openvpn.html:35 #, python-format msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." msgstr "配置文件是特定于每个 %(box_name)s 用户的。请保持其私密。" -#: plinth/modules/openvpn/templates/openvpn.html:85 +#: plinth/modules/openvpn/templates/openvpn.html:46 msgid "Download my profile" msgstr "下载我的配置文件" -#: plinth/modules/openvpn/views.py:88 -msgid "Setup completed." -msgstr "安装已完成。" - -#: plinth/modules/openvpn/views.py:90 -msgid "Setup failed." -msgstr "安装失败。" - #: plinth/modules/pagekite/__init__.py:28 #, python-brace-format msgid "" @@ -8138,6 +8138,34 @@ msgstr "已完成 %(percentage)s%%" msgid "Gujarati" msgstr "古吉拉特语" +#~ 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 "" +#~ "OpenVPN 尚未安装。 执行安全的安装需要很长的时间。 根据您的 %(box_name)s 运" +#~ "行速度,它甚至可能需要小时。 如果安装程序中断,您可以重新启动。" + +#~ msgid "Start setup" +#~ msgstr "启动安装程序" + +#~ msgid "OpenVPN setup is running" +#~ msgstr "OpenVPN 安装程序正在运行" + +#~ 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 "" +#~ "若要执行更安全的安装,此过程需要很长的时间。根据您的 %(box_name)s 运行速" +#~ "度,它甚至可能需要数小时。如果安装程序中断,您可以重新启动。" + +#~ msgid "Setup completed." +#~ msgstr "安装已完成。" + +#~ msgid "Setup failed." +#~ msgstr "安装失败。" + #, fuzzy #~| msgid "Install this application?" #~ msgid "Administer calibre application" diff --git a/plinth/locale/zh_Hant/LC_MESSAGES/django.po b/plinth/locale/zh_Hant/LC_MESSAGES/django.po index 8307fcb4c..c1760806f 100644 --- a/plinth/locale/zh_Hant/LC_MESSAGES/django.po +++ b/plinth/locale/zh_Hant/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-11-02 19:02-0500\n" +"POT-Creation-Date: 2020-11-16 19:46-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -810,7 +810,7 @@ msgid "Refresh IP address and domains" msgstr "" #: plinth/modules/bind/views.py:71 plinth/modules/coturn/views.py:39 -#: plinth/modules/deluge/views.py:42 plinth/modules/dynamicdns/views.py:150 +#: plinth/modules/deluge/views.py:42 plinth/modules/dynamicdns/views.py:154 #: plinth/modules/mumble/views.py:28 plinth/modules/pagekite/forms.py:90 #: plinth/modules/quassel/views.py:29 plinth/modules/shadowsocks/views.py:59 #: plinth/modules/transmission/views.py:47 @@ -1492,19 +1492,23 @@ msgstr "" msgid "URL to look up public IP" msgstr "" -#: plinth/modules/dynamicdns/forms.py:138 +#: plinth/modules/dynamicdns/forms.py:119 +msgid "Use IPv6 instead of IPv4" +msgstr "" + +#: plinth/modules/dynamicdns/forms.py:142 msgid "Please provide an update URL or a GnuDIP server address" msgstr "" -#: plinth/modules/dynamicdns/forms.py:143 +#: plinth/modules/dynamicdns/forms.py:147 msgid "Please provide a GnuDIP username" msgstr "" -#: plinth/modules/dynamicdns/forms.py:147 +#: plinth/modules/dynamicdns/forms.py:151 msgid "Please provide a GnuDIP domain name" msgstr "" -#: plinth/modules/dynamicdns/forms.py:152 +#: plinth/modules/dynamicdns/forms.py:156 msgid "Please provide a password" msgstr "" @@ -1568,8 +1572,6 @@ msgstr "" #: 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:17 -#: plinth/modules/openvpn/templates/openvpn.html:38 #: plinth/modules/tor/templates/tor.html:12 #: plinth/modules/tor/templates/tor.html:26 #: plinth/modules/upgrades/templates/upgrades_configure.html:30 @@ -4165,7 +4167,7 @@ msgstr "" msgid "Failed to delete connection: Connection not found." msgstr "" -#: plinth/modules/openvpn/__init__.py:26 +#: plinth/modules/openvpn/__init__.py:28 #, python-brace-format msgid "" "Virtual Private Network (VPN) is a technique for securely connecting two " @@ -4176,16 +4178,16 @@ msgid "" "security and anonymity." msgstr "" -#: plinth/modules/openvpn/__init__.py:54 plinth/modules/openvpn/manifest.py:18 +#: plinth/modules/openvpn/__init__.py:56 plinth/modules/openvpn/manifest.py:18 msgid "OpenVPN" msgstr "" -#: plinth/modules/openvpn/__init__.py:55 +#: plinth/modules/openvpn/__init__.py:57 #: plinth/modules/wireguard/__init__.py:52 msgid "Virtual Private Network" msgstr "" -#: plinth/modules/openvpn/__init__.py:66 +#: plinth/modules/openvpn/__init__.py:68 #, python-brace-format msgid "" "Download Profile" @@ -4195,35 +4197,43 @@ msgstr "" msgid "Tunnelblick" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:20 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:7 +msgid "Migrate to ECC" +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:10 +msgid "" +"Your OpenVPN installation is currently using RSA. Switching to the modern " +"Elliptic Curve Cryptography improves speed of establishing a connection and " +"security. This operation is irreversible. It should only take a few minutes " +"on most single board computers." +msgstr "" + +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:19 #, 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." +"All new installations of OpenVPN on %(box_name)s will use ECC by default. We " +"recommend migrating as soon as possible." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:33 -msgid "Start setup" -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:42 -msgid "OpenVPN setup is running" -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:46 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:26 #, 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." +"Warning: Existing client profiles will be invalidated by this " +"operation. All OpenVPN users on %(box_name)s must download their new " +"profiles. OpenVPN clients compatible with ECC should be used to connect to " +"this server." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:61 +#: plinth/modules/openvpn/templates/migrate_to_ecc.html:38 +msgid "Migrate" +msgstr "" + +#: plinth/modules/openvpn/templates/openvpn.html:22 msgid "Profile" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:64 +#: plinth/modules/openvpn/templates/openvpn.html:25 #, python-format msgid "" "To connect to %(box_name)s's VPN, you need to download a profile and feed it " @@ -4232,23 +4242,15 @@ msgid "" "clients and instructions on how to configure them." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:74 +#: plinth/modules/openvpn/templates/openvpn.html:35 #, python-format msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:85 +#: plinth/modules/openvpn/templates/openvpn.html:46 msgid "Download my profile" msgstr "" -#: plinth/modules/openvpn/views.py:88 -msgid "Setup completed." -msgstr "" - -#: plinth/modules/openvpn/views.py:90 -msgid "Setup failed." -msgstr "" - #: plinth/modules/pagekite/__init__.py:28 #, python-brace-format msgid "" diff --git a/plinth/modules/dynamicdns/__init__.py b/plinth/modules/dynamicdns/__init__.py index dc87de12c..8ca124593 100644 --- a/plinth/modules/dynamicdns/__init__.py +++ b/plinth/modules/dynamicdns/__init__.py @@ -157,6 +157,11 @@ def get_status(): else: status['use_http_basic_auth'] = False + if len(details) > 9: + status['use_ipv6'] = (output.split()[9] == 'enabled') + else: + status['use_ipv6'] = False + if not status['dynamicdns_server'] and not status['dynamicdns_update_url']: status['service_type'] = 'GnuDIP' elif not status['dynamicdns_server'] and status['dynamicdns_update_url']: diff --git a/plinth/modules/dynamicdns/forms.py b/plinth/modules/dynamicdns/forms.py index e4344a85a..ed804bab6 100644 --- a/plinth/modules/dynamicdns/forms.py +++ b/plinth/modules/dynamicdns/forms.py @@ -115,6 +115,10 @@ class ConfigureForm(forms.Form): help_text=help_ip_url, validators=[validators.URLValidator(schemes=['http', 'https', 'ftp'])]) + use_ipv6 = forms.BooleanField( + label=ugettext_lazy('Use IPv6 instead of IPv4'), + required=False) + def clean(self): cleaned_data = super(ConfigureForm, self).clean() dynamicdns_secret = cleaned_data.get('dynamicdns_secret') diff --git a/plinth/modules/dynamicdns/static/dynamicdns.js b/plinth/modules/dynamicdns/static/dynamicdns.js index ef351063d..b37d1b100 100644 --- a/plinth/modules/dynamicdns/static/dynamicdns.js +++ b/plinth/modules/dynamicdns/static/dynamicdns.js @@ -116,6 +116,7 @@ $('#id_dynamicdns_update_url').closest('.form-group').hide(); $('#id_disable_SSL_cert_check').closest('.form-group').hide(); $('#id_use_http_basic_auth').closest('.form-group').hide(); + $('#id_use_ipv6').closest('.form-group').hide(); $('#id_dynamicdns_server').closest('.form-group').show(); } @@ -123,6 +124,7 @@ $('#id_dynamicdns_update_url').closest('.form-group').show(); $('#id_disable_SSL_cert_check').closest('.form-group').show(); $('#id_use_http_basic_auth').closest('.form-group').show(); + $('#id_use_ipv6').closest('.form-group').show(); $('#id_dynamicdns_server').closest('.form-group').hide(); } @@ -138,5 +140,6 @@ $('#id_dynamicdns_secret').closest('.form-group').show(); $('#id_showpw').closest('.form-group').show(); $('#id_dynamicdns_ipurl').closest('.form-group').show(); + $('#id_use_ipv6').closest('.form-group').show(); } })(jQuery); diff --git a/plinth/modules/dynamicdns/views.py b/plinth/modules/dynamicdns/views.py index 6b3bd5193..bd13de447 100644 --- a/plinth/modules/dynamicdns/views.py +++ b/plinth/modules/dynamicdns/views.py @@ -118,6 +118,7 @@ def _apply_changes(request, old_status, new_status): if old_status != new_status: disable_ssl_check = "disabled" use_http_basic_auth = "disabled" + use_ipv6 = "disabled" if new_status['disable_SSL_cert_check']: disable_ssl_check = "enabled" @@ -125,13 +126,16 @@ def _apply_changes(request, old_status, new_status): if new_status['use_http_basic_auth']: use_http_basic_auth = "enabled" + if new_status.get('use_ipv6'): + use_ipv6 = "enabled" + _run([ 'configure', '-s', new_status['dynamicdns_server'], '-d', new_status['dynamicdns_domain'], '-u', new_status['dynamicdns_user'], '-p', '-I', new_status['dynamicdns_ipurl'], '-U', new_status['dynamicdns_update_url'], '-c', disable_ssl_check, '-b', - use_http_basic_auth + use_http_basic_auth, '-6', use_ipv6, ], input=new_status['dynamicdns_secret'].encode()) if old_status['enabled']: diff --git a/plinth/modules/openvpn/__init__.py b/plinth/modules/openvpn/__init__.py index 0bb5d4de8..0fd211e89 100644 --- a/plinth/modules/openvpn/__init__.py +++ b/plinth/modules/openvpn/__init__.py @@ -3,6 +3,8 @@ FreedomBox app to configure OpenVPN server. """ +import os + from django.urls import reverse_lazy from django.utils.translation import ugettext_lazy as _ @@ -34,7 +36,7 @@ _description = [ app = None -setup_process = None +SERVER_CONFIGURATION_FILE = '/etc/openvpn/server/freedombox.conf' class OpenVPNApp(app_module.App): @@ -45,7 +47,7 @@ class OpenVPNApp(app_module.App): @property def can_be_disabled(self): """Return whether the app can be disabled.""" - return is_setup() and not setup_process + return is_setup() def __init__(self): """Create components for the app.""" @@ -93,11 +95,20 @@ class OpenVPNApp(app_module.App): def setup(helper, old_version=None): """Install and configure the module.""" helper.install(managed_packages) - helper.call('post', actions.superuser_run, 'openvpn', ['upgrade']) - if app.is_enabled() and is_setup(): - helper.call('post', app.enable) + helper.call('post', actions.superuser_run, 'openvpn', ['setup']) + helper.call('post', app.enable) def is_setup(): """Return whether the service is running.""" return actions.superuser_run('openvpn', ['is-setup']).strip() == 'true' + + +def is_using_ecc(): + """Return whether the service is using ECC.""" + if os.path.exists(SERVER_CONFIGURATION_FILE): + with open(SERVER_CONFIGURATION_FILE, 'r') as file_handle: + for line in file_handle: + if line.strip() == 'dh none': + return True + return False diff --git a/plinth/modules/openvpn/templates/migrate_to_ecc.html b/plinth/modules/openvpn/templates/migrate_to_ecc.html new file mode 100644 index 000000000..5ca575e72 --- /dev/null +++ b/plinth/modules/openvpn/templates/migrate_to_ecc.html @@ -0,0 +1,39 @@ +{% comment %} +# SPDX-License-Identifier: AGPL-3.0-or-later +{% endcomment %} + +{% load i18n %} + +

{% trans "Migrate to ECC" %}

+ +

+ {% blocktrans trimmed %} + Your OpenVPN installation is currently using RSA. Switching to the + modern Elliptic Curve Cryptography improves speed of establishing a + connection and security. This operation is irreversible. It should only take + a few minutes on most single board computers. + {% endblocktrans %} +

+ +

+ {% blocktrans trimmed %} + All new installations of OpenVPN on {{ box_name }} will + use ECC by default. We recommend migrating as soon as possible. + {% endblocktrans %} +

+ +

+ {% blocktrans trimmed %} + Warning: Existing client profiles will be invalidated by this operation. All + OpenVPN users on {{ box_name }} must download their new profiles. OpenVPN + clients compatible with ECC should be used to connect to this server. + {% endblocktrans %} +

+ +
+ {% csrf_token %} + + +
diff --git a/plinth/modules/openvpn/templates/openvpn.html b/plinth/modules/openvpn/templates/openvpn.html index af1a8ff4b..268259297 100644 --- a/plinth/modules/openvpn/templates/openvpn.html +++ b/plinth/modules/openvpn/templates/openvpn.html @@ -9,54 +9,15 @@ {% block status %} - {% if status.is_setup and not status.setup_running %} + {% if status.is_setup %} {{ block.super }} {% endif %} - {% if not status.is_setup and not status.setup_running %} -

{% trans "Status" %}

- -

- {% blocktrans trimmed %} - OpenVPN has not yet been setup. Performing a secure setup - takes a very long time. Depending on how fast your - {{ box_name }} is, it may even take hours. If the setup - is interrupted, you may start it again. - {% endblocktrans %} -

- -
- {% csrf_token %} - - -
- {% endif %} - - {% if status.setup_running %} -

{% trans "Status" %}

- -

- - {% trans "OpenVPN setup is running" %} -

- -

- {% blocktrans trimmed %} - To perform a secure setup, this process takes a very long - time. Depending on how fast your {{ box_name }} is, it may - even take hours. If the setup is interrupted, you may start - it again. - {% endblocktrans %} -

- {% endif %} - {% endblock %} {% block configuration %} - {% if status.is_setup and not status.setup_running %} + {% if status.is_setup %}

{% trans "Profile" %}

@@ -85,6 +46,10 @@ value="{% trans "Download my profile" %}"/> + {% if not using_ecc %} + {% include "migrate_to_ecc.html" %} + {% endif %} + {% endif %} {% endblock %} diff --git a/plinth/modules/openvpn/tests/conftest.py b/plinth/modules/openvpn/tests/conftest.py new file mode 100644 index 000000000..790f4b578 --- /dev/null +++ b/plinth/modules/openvpn/tests/conftest.py @@ -0,0 +1,45 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +""" +Common test fixtures for OpenVPN. +""" + +import importlib +import pathlib +import types +from unittest.mock import patch + +import pytest + +current_directory = pathlib.Path(__file__).parent + + +def _load_actions_module(): + actions_file_path = str(current_directory / '..' / '..' / '..' / '..' / + 'actions' / 'openvpn') + loader = importlib.machinery.SourceFileLoader('openvpn', actions_file_path) + module = types.ModuleType(loader.name) + loader.exec_module(module) + return module + + +actions = _load_actions_module() + + +@pytest.fixture(name='keys_directory') +def fixture_keys_directory(tmp_path): + return tmp_path + + +@pytest.fixture(name='call_action') +def fixture_call_action(capsys, keys_directory): + """Run actions with overridden directory paths.""" + + def _call_action(module_name, args, **kwargs): + actions.DH_PARAMS = f'{keys_directory}/pki/dh.pem' + actions.EC_PARAMS_DIR = f'{keys_directory}/pki/ecparams' + with patch('argparse._sys.argv', [module_name] + args): + actions.main() + captured = capsys.readouterr() + return captured.out + + return _call_action diff --git a/plinth/modules/openvpn/tests/openvpn.feature b/plinth/modules/openvpn/tests/openvpn.feature index 3e7ff9e23..a5b151628 100644 --- a/plinth/modules/openvpn/tests/openvpn.feature +++ b/plinth/modules/openvpn/tests/openvpn.feature @@ -7,7 +7,6 @@ Feature: OpenVPN - Virtual Private Network Background: Given I'm a logged in user Given the openvpn application is installed - Given the openvpn application is setup Scenario: Enable openvpn application Given the openvpn application is disabled diff --git a/plinth/modules/openvpn/tests/test_configuration.py b/plinth/modules/openvpn/tests/test_configuration.py new file mode 100644 index 000000000..a023bd92a --- /dev/null +++ b/plinth/modules/openvpn/tests/test_configuration.py @@ -0,0 +1,53 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later +""" +Test module for OpenVPN configuration. +""" + +import os +from unittest.mock import patch + +import pytest + +from plinth.modules import openvpn + + +@pytest.fixture(name='conf_file') +def fixture_conf_file(tmp_path): + """Fixture that returns an empty configuration file.""" + return str(tmp_path / 'freedombox.conf') + + +def test_identify_rsa_configuration(conf_file): + """Identify RSA configuration based on configuration file.""" + with patch('plinth.modules.openvpn.SERVER_CONFIGURATION_FILE', conf_file): + with open(conf_file, 'w') as file_handle: + file_handle.write('dh /etc/openvpn/freedombox-keys/pki/dh.pem') + assert not openvpn.is_using_ecc() + + +def test_identify_ecc_configuration(conf_file): + """Identify ECC configuration based on configuration file.""" + with patch('plinth.modules.openvpn.SERVER_CONFIGURATION_FILE', conf_file): + with open(conf_file, 'w') as file_handle: + file_handle.write('dh none') + assert openvpn.is_using_ecc() + + +def test_is_setup_with_rsa(keys_directory, call_action): + """is_setup should work with RSA configuration.""" + with patch('plinth.actions.superuser_run', call_action): + (keys_directory / 'pki').mkdir() + dh_params_file = keys_directory / 'pki' / 'dh.pem' + dh_params_file.write_text('some content') + assert openvpn.is_setup() + os.remove(dh_params_file) + + +def test_is_setup_with_ecc(keys_directory, call_action): + """is_setup should work with RSA configuration.""" + with patch('plinth.actions.superuser_run', call_action): + (keys_directory / 'pki' / 'ecparams').mkdir(parents=True) + ec_params_file = keys_directory / 'pki' / 'ecparams' / 'somecurve.pem' + ec_params_file.write_text('some content') + assert openvpn.is_setup() + os.remove(ec_params_file) diff --git a/plinth/modules/openvpn/tests/test_functional.py b/plinth/modules/openvpn/tests/test_functional.py index 2c5fa58d8..1a1cc4082 100644 --- a/plinth/modules/openvpn/tests/test_functional.py +++ b/plinth/modules/openvpn/tests/test_functional.py @@ -3,25 +3,13 @@ Functional, browser based tests for openvpn app. """ -from pytest_bdd import given, parsers, scenarios, then +from pytest_bdd import given, scenarios, then from plinth.tests import functional scenarios('openvpn.feature') -@given(parsers.parse('the openvpn application is setup')) -def openvpn_setup(session_browser): - """Setup the OpenVPN application after installation.""" - functional.nav_to_module(session_browser, 'openvpn') - setup_form = session_browser.find_by_css('.form-setup') - if not setup_form: - return - - functional.submit(session_browser, form_class='form-setup') - functional.wait_for_config_update(session_browser, 'openvpn') - - @given('I download openvpn profile') def openvpn_download_profile(session_browser): return _download_profile(session_browser) diff --git a/plinth/modules/openvpn/urls.py b/plinth/modules/openvpn/urls.py index 3bd56c108..6045e4607 100644 --- a/plinth/modules/openvpn/urls.py +++ b/plinth/modules/openvpn/urls.py @@ -12,6 +12,7 @@ from . import views urlpatterns = [ url(r'^apps/openvpn/$', views.OpenVPNAppView.as_view(), name='index'), url(r'^apps/openvpn/setup/$', views.setup, name='setup'), + url(r'^apps/openvpn/ecc/$', views.ecc, name='ecc'), url(r'^apps/openvpn/profile/$', non_admin_view(views.profile), name='profile'), ] diff --git a/plinth/modules/openvpn/views.py b/plinth/modules/openvpn/views.py index 8884bfbbc..7ebdcfa43 100644 --- a/plinth/modules/openvpn/views.py +++ b/plinth/modules/openvpn/views.py @@ -5,10 +5,8 @@ FreedomBox app for configuring OpenVPN server. import logging -from django.contrib import messages from django.http import HttpResponse from django.shortcuts import redirect -from django.utils.translation import ugettext as _ from django.views.decorators.http import require_POST from plinth import actions @@ -23,31 +21,21 @@ class OpenVPNAppView(AppView): app_id = 'openvpn' template_name = 'openvpn.html' - def dispatch(self, request, *args, **kwargs): - """Collect the result of running setup process.""" - if bool(openvpn.setup_process): - _collect_setup_result(request) - - return super().dispatch(request, *args, **kwargs) - def get_context_data(self, *args, **kwargs): """Add additional context data for template.""" context = super().get_context_data(*args, **kwargs) context['status'] = { 'is_setup': openvpn.is_setup(), - 'setup_running': bool(openvpn.setup_process), } - context['refresh_page_sec'] = 3 if context['status'][ - 'setup_running'] else None + context['using_ecc'] = openvpn.is_using_ecc() return context @require_POST -def setup(request): +def setup(_): """Start the setup process.""" - if not openvpn.is_setup() and not openvpn.setup_process: - openvpn.setup_process = actions.superuser_run('openvpn', ['setup'], - run_in_background=True) + if not openvpn.is_setup(): + actions.superuser_run('openvpn', ['setup'], run_in_background=True) openvpn.app.enable() @@ -73,20 +61,9 @@ def profile(request): return response -def _collect_setup_result(request): - """Handle setup process is completion.""" - if not openvpn.setup_process: - return - - return_code = openvpn.setup_process.poll() - - # Setup process is not complete yet - if return_code is None: - return - - if not return_code: - messages.success(request, _('Setup completed.')) - else: - messages.info(request, _('Setup failed.')) - - openvpn.setup_process = None +@require_POST +def ecc(_): + """Migrate from RSA to ECC.""" + if openvpn.is_setup(): + actions.superuser_run('openvpn', ['setup'], run_in_background=True) + return redirect('openvpn:index') diff --git a/plinth/modules/searx/__init__.py b/plinth/modules/searx/__init__.py index d1e093da8..f1189e73e 100644 --- a/plinth/modules/searx/__init__.py +++ b/plinth/modules/searx/__init__.py @@ -14,8 +14,8 @@ from plinth.modules.apache.components import Uwsgi, Webserver from plinth.modules.firewall.components import Firewall from plinth.modules.users.components import UsersAndGroups -from .manifest import (PUBLIC_ACCESS_SETTING_FILE, # noqa, pylint: disable=unused-import - backup, clients) +from .manifest import backup # noqa, pylint: disable=unused-import +from .manifest import (PUBLIC_ACCESS_SETTING_FILE, clients) version = 4