freedombox Debian release 20.18

-----BEGIN PGP SIGNATURE-----
 
 iQJKBAABCgA0FiEEfWrbdQ+RCFWJSEvmd8DHXntlCAgFAl+zNy8WHGp2YWxsZXJv
 eUBtYWlsYm94Lm9yZwAKCRB3wMdee2UICHrAD/0QnnMg1uY83s6ivhe/wZqwE9FB
 vmnCaTZ2Worpl5lyGmvQo0v5Bk5P9Q0Ma4FUfZcOhCycsECB9rrGB5rVOOPc35B7
 U05X1GH9leh9FtoyHi2azm5IUkbfawf/b9trei0XTWd9j4kSHq0cylz5S4ZUTsm7
 PHGTA6xbYw2BkjDwMJD0OdwtMkRBxJ7hMbO0slt1houCABPysIBBqcbWbMyCgofA
 It3mNfGGsrufSrKJu1PyiTDrEqXTr7F9eG8irmJMHTyHlTuxFB6TYoEW0sC9H5Ry
 THXX+uNQlQOumZvze+dqiAPhcPGER6HPIuZkbX89swboDts12ZyM3BRd28Qiwm+K
 Sh88iF3FQY54zufx4kEhITglf+ljHiYV3+Xws9DH/EvkLtcxu9KCbmh/cOU4cWKN
 nuN2Ne5nVbY5d/xjyWYgnNnYzU5GG07CGE8xdCCIPD2qvEekTx+o2TnSDfcS4NNj
 5iQAAZyS06Ic8PXTpDwLuCmp/we4LbeuFpPNZTUkKg60P98Q/M1WWeukGuxwropL
 ZqWv0CO9S1zKMBoHKgKYtrrwNVa0RIPpZkU2d1fnnitTu+rNB3b8t2ALTQQ6hC0K
 KieQv/h8+0AvBAh95TL1/hwgGc+1/8vUujNoap73msfzcUntXgEBT91Sk92gDaXB
 Zo3zfaoIbL/6W7zymQ==
 =ZAey
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQJKBAABCgA0FiEEfWrbdQ+RCFWJSEvmd8DHXntlCAgFAl+4StcWHGp2YWxsZXJv
 eUBtYWlsYm94Lm9yZwAKCRB3wMdee2UICJbTEADQn1PBzVDDLm2r4fmPYggjlQTv
 2oTGxqAtebLFuUJTFprl9P60UQJmMOZS62mJkQ0D7Saa+2jyOM/1cuJf6F8aInPr
 HCWW2R+zzadwXRGjvZVf1GpFMZeGQkqurZWEjDmvLuBTK+dpu6swBt4RhOl2QFms
 GoB29ximuwK9B5BxRwWusGKGcNXy3pBzXR5MDhQBzR+yoMvzKXLojpUnSspc13Ih
 udVmepaNoVkCF/7EquHZxhE/jPDPVg76jBFhdmnWgFGq3crBc5JQdQtvlp4eTrgG
 NDsUstDONBvnrUdSNroXHAkiGQiXgHoT8X5l+6Q+aT6d8STGkXZrV3VicSZVRfCb
 V4vE1g0J+Notgrqzkpx5Ebf/CT9MzdGDL+taCmNAeJsyCAcZfbNyOACLvb9woIIg
 7ZQzlqN9KhSQBDcGtk28u8YmoZuEyJZetddRPEmOipn5TR7SKD8vM9WLCrE7daqI
 2tpdYQIw0gUuzKxxa0ck3eH1hDW0VnUmC8ucIzhNgy5GPNpuJkvl4TqEwvPFCtd7
 hlDIkQRtSjExypCre+Tye3//6EBcc/S1syr54dUdnW+QYGrHtK4jliu1RVvmXcdY
 KonquvI2PFRMgZUymd0oSCjLrODsIIf4/XKWGODIl+VbvPX/YqS3v7KfyWycgT3W
 3yUAlBANXoWMF4nFJg==
 =7aAW
 -----END PGP SIGNATURE-----

Merge tag 'v20.18' into debian/buster-backports

freedombox Debian release 20.18

Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
This commit is contained in:
James Valleroy 2020-11-20 18:01:39 -05:00
commit fcd180561c
72 changed files with 2808 additions and 2365 deletions

View File

@ -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

View File

@ -0,0 +1,10 @@
# SPDX-License-Identifier: AGPL-3.0-or-later
**/.git
**/.container
**/.vagrant
**/.ci
**/functional_tests
**/doc
**/build
**/static

View File

@ -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

View File

@ -2,6 +2,8 @@
[run]
branch = True
omit = */tests/*
[report]
precision = 2
omit = */tests/*

View File

@ -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:

View File

@ -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))

View File

@ -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 <update URL> 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"

View File

@ -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>
{key}</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>
{ca}</ca>
<cert>
{cert}</cert>
<key>
{key}</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)

61
debian/changelog vendored
View File

@ -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 <jvalleroy@mailbox.org> 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 <jvalleroy@mailbox.org> Sat, 07 Nov 2020 08:02:53 -0500
plinth (20.17~bpo10+1) buster-backports; urgency=medium
* Rebuild for buster-backports.

2
debian/control vendored
View File

@ -1,4 +1,4 @@
Source: plinth
Source: freedombox
Section: web
Priority: optional
Maintainer: FreedomBox packaging team <freedombox-pkg-team@lists.alioth.debian.org>

View File

@ -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 ===

View File

@ -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 ===

View File

@ -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 <hostname>.local ===
If <hostname>.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 <hostname>.local. See the [[FreedomBox/Manual/QuickStart|Quick Start Guide]] for those.
## END_INCLUDE
Back to [[FreedomBox/Features|Features introduction]] or [[FreedomBox/Manual|manual]] pages.

View File

@ -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 ===

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

View File

@ -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://<dirección_IP_o_dominio_de_tu_servidor>/radicale/<usuario>/<nombre_del_calendario>.ics/` cambiando los elementos marcados entre `<>` de acuerdo a tu configuración.
* nota: la `/` inicial de la ruta es importante.
1. URL: https://<dirección_IP_o_dominio_de_tu_servidor> 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: <NOMBREUSUARIO>. 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 ===

View File

@ -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 ===

View File

@ -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 <hostname>.local ===
Si <hostname>.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 <hostname>.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]].
<<Include(FreedomBox/Portal)>>
----

View File

@ -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 ===

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

View File

@ -3,4 +3,4 @@
Package init file.
"""
__version__ = '20.17'
__version__ = '20.18'

View File

@ -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 <an1f3@hotmail.com>\n"
"Language-Team: Arabic (Saudi Arabia) <https://hosted.weblate.org/projects/"
@ -814,7 +814,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
@ -1496,19 +1496,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 ""
@ -1572,8 +1576,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
@ -4171,7 +4173,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 "
@ -4182,16 +4184,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 ""
"<a class=\"btn btn-primary btn-sm\" href=\"{link}\">Download Profile</a>"
@ -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."
"<b>Warning:</b> 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 ""

View File

@ -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 <nevena.mircheva@gmail.com>\n"
"Language-Team: Bulgarian <https://hosted.weblate.org/projects/freedombox/"
@ -819,7 +819,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
@ -1501,19 +1501,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 ""
@ -1577,8 +1581,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
@ -4176,7 +4178,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 "
@ -4187,16 +4189,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 ""
"<a class=\"btn btn-primary btn-sm\" href=\"{link}\">Download Profile</a>"
@ -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."
"<b>Warning:</b> 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 ""

View File

@ -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 <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\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 ""
"<a class=\"btn btn-primary btn-sm\" href=\"{link}\">Download Profile</a>"
@ -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."
"<b>Warning:</b> 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 ""

View File

@ -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 <pavel.borecki@gmail.com>\n"
"Language-Team: Czech <https://hosted.weblate.org/projects/freedombox/plinth/"
@ -895,7 +895,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
@ -1690,19 +1690,23 @@ msgstr "Zobrazit heslo"
msgid "URL to look up public IP"
msgstr "URL adresa na které hledat veřejnou IP adresu"
#: 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 "Zadejte URL adresu aktualizace nebo GNUDIP serveru"
#: plinth/modules/dynamicdns/forms.py:143
#: plinth/modules/dynamicdns/forms.py:147
msgid "Please provide a GnuDIP username"
msgstr "Zadejte GnuDIP uživatelské jméno"
#: plinth/modules/dynamicdns/forms.py:147
#: plinth/modules/dynamicdns/forms.py:151
msgid "Please provide a GnuDIP domain name"
msgstr "Zadejte doménový název GnuDIP"
#: plinth/modules/dynamicdns/forms.py:152
#: plinth/modules/dynamicdns/forms.py:156
msgid "Please provide a password"
msgstr "Zadejte heslo"
@ -1785,8 +1789,6 @@ msgstr "O projektu"
#: 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
@ -4787,7 +4789,7 @@ msgstr "Připojení {name} smazáno."
msgid "Failed to delete connection: Connection not found."
msgstr "Smazání připojení se nezdařilo: Připojení nenalezeno."
#: 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 "
@ -4804,16 +4806,16 @@ msgstr ""
"zvýšení zabezpečení a anonymity je také možné přistupovat k ostatku "
"Internetu prostřednictvím {box_name}."
#: plinth/modules/openvpn/__init__.py: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 "Virtuální soukromá síť"
#: plinth/modules/openvpn/__init__.py:66
#: plinth/modules/openvpn/__init__.py:68
#, python-brace-format
msgid ""
"<a class=\"btn btn-primary btn-sm\" href=\"{link}\">Download Profile</a>"
@ -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."
"<b>Warning:</b> 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</a> "
"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"

View File

@ -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 <jvalleroy@mailbox.org>\n"
"Language-Team: Danish <https://hosted.weblate.org/projects/freedombox/"
@ -876,7 +876,7 @@ msgid "Refresh IP address and domains"
msgstr "Opfrisk IP-adresse og domæner"
#: 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
@ -1657,19 +1657,23 @@ msgstr "Vis kodeord"
msgid "URL to look up public IP"
msgstr "URL til at slå den offentlige IP-addresse op"
#: 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 "Angiv venligst opdaterings-URL eller GnuDIP serveradresse"
#: plinth/modules/dynamicdns/forms.py:143
#: plinth/modules/dynamicdns/forms.py:147
msgid "Please provide a GnuDIP username"
msgstr "Angiv venligst et brugernavn til GnuDIP"
#: plinth/modules/dynamicdns/forms.py:147
#: plinth/modules/dynamicdns/forms.py:151
msgid "Please provide a GnuDIP domain name"
msgstr "Angiv venligst et domæne til GnuDIP-server"
#: plinth/modules/dynamicdns/forms.py:152
#: plinth/modules/dynamicdns/forms.py:156
msgid "Please provide a password"
msgstr "Angiv venligst et kodeord"
@ -1749,8 +1753,6 @@ msgstr "Om"
#: 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
@ -4768,7 +4770,7 @@ msgstr "Slettede forbindelse {name}."
msgid "Failed to delete connection: Connection not found."
msgstr "Kunne ikke slette forbindelse: Forbindelse ikke fundet."
#: 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 "
@ -4785,20 +4787,20 @@ msgstr ""
"af {box_name}. Du kan også tilgå resten af internettet igennem {box_name} "
"for øget sikkerhed og anonymitet."
#: plinth/modules/openvpn/__init__.py:54 plinth/modules/openvpn/manifest.py:18
#: plinth/modules/openvpn/__init__.py:56 plinth/modules/openvpn/manifest.py:18
#, fuzzy
#| msgid "OpenVPN"
msgid "OpenVPN"
msgstr "OpenVPN"
#: plinth/modules/openvpn/__init__.py:55
#: plinth/modules/openvpn/__init__.py:57
#: plinth/modules/wireguard/__init__.py:52
#, fuzzy
#| msgid "Virtual Private Network (OpenVPN)"
msgid "Virtual Private Network"
msgstr "Virtuelt Privat Netværk (OpenVPN)"
#: plinth/modules/openvpn/__init__.py:66
#: plinth/modules/openvpn/__init__.py:68
#, python-brace-format
msgid ""
"<a class=\"btn btn-primary btn-sm\" href=\"{link}\">Download Profile</a>"
@ -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."
"<b>Warning:</b> 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</a> 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"

View File

@ -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 <sagen@permondes.de>\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 <ralf.barkow@web.de>\n"
"Language-Team: German <https://hosted.weblate.org/projects/freedombox/"
"freedombox/de/>\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 ""
"<a class=\"btn btn-primary btn-sm\" href=\"{link}\">Download Profile</a>"
@ -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."
"<b>Warning:</b> 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"

View File

@ -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 <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\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 ""
"<a class=\"btn btn-primary btn-sm\" href=\"{link}\">Download Profile</a>"
@ -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."
"<b>Warning:</b> 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 ""

View File

@ -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 <epost@anotheragency.no>\n"
"Language-Team: Greek <https://hosted.weblate.org/projects/freedombox/"
@ -919,7 +919,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
@ -1720,19 +1720,23 @@ msgstr "Εμφάνιση κωδικού"
msgid "URL to look up public IP"
msgstr "Διεύθυνση URL για να αναζητήσετε δημόσια IP"
#: 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 "Δώστε μια διεύθυνση URL ανανέωσης ή ένα διακομιστή GnuDIP"
#: plinth/modules/dynamicdns/forms.py:143
#: plinth/modules/dynamicdns/forms.py:147
msgid "Please provide a GnuDIP username"
msgstr "Παρακαλώ δώστε ένα όνομα χρήστη GnuDIP"
#: plinth/modules/dynamicdns/forms.py:147
#: plinth/modules/dynamicdns/forms.py:151
msgid "Please provide a GnuDIP domain name"
msgstr "Δώστε ένα όνομα διαδικτύου για το GnuDIP"
#: plinth/modules/dynamicdns/forms.py:152
#: plinth/modules/dynamicdns/forms.py:156
msgid "Please provide a password"
msgstr "Δώστε έναν κωδικό πρόσβασης"
@ -1813,8 +1817,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
@ -4873,7 +4875,7 @@ msgstr "Η σύνδεση {name} διαγράφηκε."
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 "
@ -4891,16 +4893,16 @@ msgstr ""
"επίσης να αποκτήσετε πρόσβαση στο υπόλοιπο Internet μέσω του {box_name} για "
"πρόσθετη ασφάλεια και ανωνυμία."
#: 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 "Εικονικό ιδιωτικό δίκτυο"
#: plinth/modules/openvpn/__init__.py:66
#: plinth/modules/openvpn/__init__.py:68
#, python-brace-format
msgid ""
"<a class=\"btn btn-primary btn-sm\" href=\"{link}\">Download Profile</a>"
@ -4912,43 +4914,45 @@ msgstr "<a class=\"btn btn-primary btn-sm\" href=\"{link}\"> Λήψη προφί
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."
"<b>Warning:</b> 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"

View File

@ -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 <fioddor@gmail.com>\n"
"Language-Team: Spanish <https://hosted.weblate.org/projects/freedombox/"
"freedombox/es/>\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 ""
"<a class=\"btn btn-primary btn-sm\" href=\"{link}\">Download Profile</a>"
@ -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."
"<b>Warning:</b> 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"

View File

@ -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 <ampbox@gmail.com>\n"
"Language-Team: Persian <https://hosted.weblate.org/projects/freedombox/"
@ -904,7 +904,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
@ -1679,20 +1679,24 @@ 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 ""
"لطفاً یک نشانی به‌روزرسانی (update URL) یا نشانی سرور GnuDIP را وارد کنید"
#: plinth/modules/dynamicdns/forms.py:143
#: plinth/modules/dynamicdns/forms.py:147
msgid "Please provide a GnuDIP username"
msgstr "لطفاً یک نام کاربری GnuDIP وارد کنید"
#: plinth/modules/dynamicdns/forms.py:147
#: plinth/modules/dynamicdns/forms.py:151
msgid "Please provide a GnuDIP domain name"
msgstr "لطفاً یک نام دامنهٔ GnuDIP وارد کنید"
#: plinth/modules/dynamicdns/forms.py:152
#: plinth/modules/dynamicdns/forms.py:156
msgid "Please provide a password"
msgstr "لطفاً یک رمز وارد کنید"
@ -1772,8 +1776,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
@ -4688,7 +4690,7 @@ msgstr "اتصال {name} پاک شد."
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 "
@ -4699,18 +4701,18 @@ 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
#, fuzzy
#| msgid "Open"
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 ""
"<a class=\"btn btn-primary btn-sm\" href=\"{link}\">Download Profile</a>"
@ -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."
"<b>Warning:</b> 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 ""

View File

@ -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 <sunil@medhas.org>\n"
"Language-Team: Plinth Developers <freedombox-discuss@lists.alioth.debian."
@ -939,7 +939,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
@ -1760,25 +1760,29 @@ msgstr "SHOW PASSWORD"
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
#, fuzzy
#| msgid "Please provide update URL or a GnuDIP Server"
msgid "Please provide an update URL or a GnuDIP server address"
msgstr "PLEASE PROVIDE UPDATE URL OR A GNUDIP SERVER"
#: plinth/modules/dynamicdns/forms.py:143
#: plinth/modules/dynamicdns/forms.py:147
#, fuzzy
#| msgid "Please provide GnuDIP username"
msgid "Please provide a GnuDIP username"
msgstr "PLEASE PROVIDE GNUDIP USERNAME"
#: plinth/modules/dynamicdns/forms.py:147
#: plinth/modules/dynamicdns/forms.py:151
#, fuzzy
#| msgid "Please provide GnuDIP domain"
msgid "Please provide a GnuDIP domain name"
msgstr "PLEASE PROVIDE GNUDIP DOMAIN"
#: plinth/modules/dynamicdns/forms.py:152
#: plinth/modules/dynamicdns/forms.py:156
msgid "Please provide a password"
msgstr "PLEASE PROVIDE A PASSWORD"
@ -1877,8 +1881,6 @@ msgstr "ABOUT"
#: 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
@ -4894,7 +4896,7 @@ msgstr "CONNECTION {name} DELETED."
msgid "Failed to delete connection: Connection not found."
msgstr "FAILED TO DELETE CONNECTION: CONNECTION NOT FOUND."
#: plinth/modules/openvpn/__init__.py:26
#: plinth/modules/openvpn/__init__.py:28
#, fuzzy, python-brace-format
#| msgid ""
#| "Virtual Private Network (VPN) is a technique for securely connecting two "
@ -4918,20 +4920,20 @@ msgstr ""
"YOU CAN ALSO ACCESS THE REST OF THE INTERNET VIA %(box_name)s FOR ADDED "
"SECURITY AND ANONYMITY."
#: plinth/modules/openvpn/__init__.py:54 plinth/modules/openvpn/manifest.py:18
#: plinth/modules/openvpn/__init__.py:56 plinth/modules/openvpn/manifest.py:18
#, fuzzy
#| msgid "OpenVPN"
msgid "OpenVPN"
msgstr "OPENVPN"
#: plinth/modules/openvpn/__init__.py:55
#: plinth/modules/openvpn/__init__.py:57
#: plinth/modules/wireguard/__init__.py:52
#, fuzzy
#| msgid "Virtual Private Network (OpenVPN)"
msgid "Virtual Private Network"
msgstr "VIRTUAL PRIVATE NETWORK (OPENVPN)"
#: plinth/modules/openvpn/__init__.py:66
#: plinth/modules/openvpn/__init__.py:68
#, python-brace-format
msgid ""
"<a class=\"btn btn-primary btn-sm\" href=\"{link}\">Download Profile</a>"
@ -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."
"<b>Warning:</b> 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</a> 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"

View File

@ -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 <coucouf@coucouf.fr>\n"
"POT-Creation-Date: 2020-11-16 19:46-0500\n"
"PO-Revision-Date: 2020-11-08 15:26+0000\n"
"Last-Translator: Hetgyl <verven@free.fr>\n"
"Language-Team: French <https://hosted.weblate.org/projects/freedombox/"
"freedombox/fr/>\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 ladresse 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 lIP 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 dactualisation 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 dutilisateur 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 ""
"daccéder au reste dInternet 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 ""
"<a class=\"btn btn-primary btn-sm\" href=\"{link}\">Download Profile</a>"
@ -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 nest 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 linstallation"
#: plinth/modules/openvpn/templates/openvpn.html:42
msgid "OpenVPN setup is running"
msgstr "Linstallation dOpenVPN 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."
"<b>Warning:</b> 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 linstallation 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 linstallation."
#: 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 nest 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 linstallation"
#~ msgid "OpenVPN setup is running"
#~ msgstr "Linstallation dOpenVPN 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 linstallation est interrompue, vous "
#~ "devrez la relancer intégralement."
#~ msgid "Setup completed."
#~ msgstr "Installation terminée."
#~ msgid "Setup failed."
#~ msgstr "Échec de linstallation."
#~ msgid "Administer calibre application"
#~ msgstr "Administion de lapplication calibre"

View File

@ -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 <xosem@disroot.org>\n"
"Language-Team: Galician <https://hosted.weblate.org/projects/freedombox/"
@ -815,7 +815,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
@ -1497,19 +1497,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 ""
@ -1573,8 +1577,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
@ -4180,7 +4182,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 "
@ -4191,16 +4193,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 ""
"<a class=\"btn btn-primary btn-sm\" href=\"{link}\">Download Profile</a>"
@ -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."
"<b>Warning:</b> 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 ""

View File

@ -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 <drashtipandya37@gmail.com>\n"
"Language-Team: Gujarati <https://hosted.weblate.org/projects/freedombox/"
@ -865,7 +865,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
@ -1621,19 +1621,23 @@ msgstr "પાસવર્ડ બતાવો"
msgid "URL to look up public IP"
msgstr "જાહેર IP જોવા 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 "કૃપા કરીને અપડેટ URL અથવા GnuDIP સર્વર સરનામું પ્રદાન કરો"
#: plinth/modules/dynamicdns/forms.py:143
#: plinth/modules/dynamicdns/forms.py:147
msgid "Please provide a GnuDIP username"
msgstr "કૃપા કરીને GnuDIP વપરાશકર્તાનામ આપો"
#: plinth/modules/dynamicdns/forms.py:147
#: plinth/modules/dynamicdns/forms.py:151
msgid "Please provide a GnuDIP domain name"
msgstr "કૃપા કરીને GnuDIP ડોમેન નામ પ્રદાન કરો"
#: plinth/modules/dynamicdns/forms.py:152
#: plinth/modules/dynamicdns/forms.py:156
msgid "Please provide a password"
msgstr "કૃપા કરીને પાસવર્ડ આપો"
@ -1712,8 +1716,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
@ -4415,7 +4417,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 "
@ -4426,16 +4428,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 ""
"<a class=\"btn btn-primary btn-sm\" href=\"{link}\">Download Profile</a>"
@ -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."
"<b>Warning:</b> 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 ""

View File

@ -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 <epost@anotheragency.no>\n"
"Language-Team: Hindi <https://hosted.weblate.org/projects/freedombox/plinth/"
@ -918,7 +918,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
@ -1710,19 +1710,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 "एक पासवर्ड दें"
@ -1801,8 +1805,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
@ -4746,7 +4748,7 @@ msgstr "कनेक्शन {name} हटाया गया."
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 "
@ -4762,16 +4764,16 @@ msgstr ""
"आंतरिक सर्विसस उपयोग करने के लिये. आप बाकी सब इंटरनेट {box_name} के जरिए उपयोग कर "
"सकते हैं अगर अापको और सुरक्षा और गुमनामी चाहिये."
#: 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 ""
"<a class=\"btn btn-primary btn-sm\" href=\"{link}\">Download Profile</a>"
@ -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."
"<b>Warning:</b> 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</a> देखें अनुशंसित क्लाइंट और उन्हें कॉन्फ़िगर करने के तरीके देखने के लिये."
#: 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"

View File

@ -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ő <domag02@gmail.com>\n"
"Language-Team: Hungarian <https://hosted.weblate.org/projects/freedombox/"
@ -886,7 +886,7 @@ msgid "Refresh IP address and domains"
msgstr "IP címek és tartományok frissítése"
#: 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
@ -1687,19 +1687,23 @@ msgstr "Jelszó mutatása"
msgid "URL to look up public IP"
msgstr "URL a nyilvános IP cím felderítéséhez"
#: 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 "Kérlek adj meg egy frissítési URL-t vagy egy GnuDIP kiszolgáló címet"
#: plinth/modules/dynamicdns/forms.py:143
#: plinth/modules/dynamicdns/forms.py:147
msgid "Please provide a GnuDIP username"
msgstr "Kérlek add meg a GnuDIP felhasználónevet"
#: plinth/modules/dynamicdns/forms.py:147
#: plinth/modules/dynamicdns/forms.py:151
msgid "Please provide a GnuDIP domain name"
msgstr "Kérlek add meg a GnuDIP domain nevet"
#: plinth/modules/dynamicdns/forms.py:152
#: plinth/modules/dynamicdns/forms.py:156
msgid "Please provide a password"
msgstr "Kérlek add meg a jelszót"
@ -1782,8 +1786,6 @@ msgstr "Leírás"
#: 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
@ -4840,7 +4842,7 @@ msgstr "Kapcsolat törölve: {name}."
msgid "Failed to delete connection: Connection not found."
msgstr "A kapcsolat törlése sikertelen, mivel az nem található."
#: 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 "
@ -4858,16 +4860,16 @@ msgstr ""
"eszközödön keresztül az Internetet is további biztonság és anonimitás "
"érdekében."
#: 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 "Virtuális magánhálózat"
#: plinth/modules/openvpn/__init__.py:66
#: plinth/modules/openvpn/__init__.py:68
#, python-brace-format
msgid ""
"<a class=\"btn btn-primary btn-sm\" href=\"{link}\">Download Profile</a>"
@ -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."
"<b>Warning:</b> 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</a> 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"

View File

@ -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 <ButterflyOfFire@protonmail.com>\n"
"Language-Team: Indonesian <https://hosted.weblate.org/projects/freedombox/"
@ -889,7 +889,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
@ -1597,19 +1597,23 @@ msgstr "Tampilkan kata sandi"
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 ""
@ -1673,8 +1677,6 @@ msgstr "Tentang"
#: 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
@ -4423,7 +4425,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 "
@ -4434,18 +4436,18 @@ 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
#, fuzzy
#| msgid "Open"
msgid "OpenVPN"
msgstr "Open"
#: 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 ""
"<a class=\"btn btn-primary btn-sm\" href=\"{link}\">Download Profile</a>"
@ -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."
"<b>Warning:</b> 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"

View File

@ -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 <sagen@permondes.de>\n"
"Language-Team: Italian <https://hosted.weblate.org/projects/freedombox/"
"freedombox/it/>\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 ""
"<a class=\"btn btn-primary btn-sm\" href=\"{link}\">Download Profile</a>"
@ -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."
"<b>Warning:</b> 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"

View File

@ -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 <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\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 ""
"<a class=\"btn btn-primary btn-sm\" href=\"{link}\">Download Profile</a>"
@ -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."
"<b>Warning:</b> 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 ""

View File

@ -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 <yogesh@karnatakaeducation.org.in>\n"
"Language-Team: Kannada <https://hosted.weblate.org/projects/freedombox/"
@ -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 ""
"<a class=\"btn btn-primary btn-sm\" href=\"{link}\">Download Profile</a>"
@ -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."
"<b>Warning:</b> 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 ""

View File

@ -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 <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\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 ""
"<a class=\"btn btn-primary btn-sm\" href=\"{link}\">Download Profile</a>"
@ -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."
"<b>Warning:</b> 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 ""

View File

@ -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 <pere-weblate@hungry.com>\n"
"Language-Team: Norwegian Bokmål <https://hosted.weblate.org/projects/"
@ -885,7 +885,7 @@ msgid "Refresh IP address and domains"
msgstr "Oppdater IP-adresse og domener"
#: 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
@ -1687,19 +1687,23 @@ msgstr "Vis passord"
msgid "URL to look up public IP"
msgstr "URL for å slå opp offentlig IP"
#: 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 "Vennligst oppgi en oppdatert nettadresse eller en GnuDIP-tjeneradresse"
#: plinth/modules/dynamicdns/forms.py:143
#: plinth/modules/dynamicdns/forms.py:147
msgid "Please provide a GnuDIP username"
msgstr "Vennligst oppgi et GnuDIP-brukernavn"
#: plinth/modules/dynamicdns/forms.py:147
#: plinth/modules/dynamicdns/forms.py:151
msgid "Please provide a GnuDIP domain name"
msgstr "Vennligst oppgi et GnuDIP-domenenavn"
#: plinth/modules/dynamicdns/forms.py:152
#: plinth/modules/dynamicdns/forms.py:156
msgid "Please provide a password"
msgstr "Vennligst oppgi et passord"
@ -1780,8 +1784,6 @@ msgstr "Om"
#: 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
@ -4832,7 +4834,7 @@ msgstr "Tilkobling {name} slettet."
msgid "Failed to delete connection: Connection not found."
msgstr "Kunne ikke slette tilkobling: Tilkobling ikke funnet."
#: 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 "
@ -4849,16 +4851,16 @@ msgstr ""
"Du kan også få tilgang til resten av Internettet via {box_name} med utvidet "
"sikkerhet og anonymitet."
#: 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 "Virtuelt privat nettverk"
#: plinth/modules/openvpn/__init__.py:66
#: plinth/modules/openvpn/__init__.py:68
#, python-brace-format
msgid ""
"<a class=\"btn btn-primary btn-sm\" href=\"{link}\">Download Profile</a>"
@ -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."
"<b>Warning:</b> 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</a> 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"

File diff suppressed because it is too large Load Diff

View File

@ -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 <rpasiok@gmail.com>\n"
"Language-Team: Polish <https://hosted.weblate.org/projects/freedombox/"
@ -887,7 +887,7 @@ msgid "Refresh IP address and domains"
msgstr "Odśwież adres IP i domeny"
#: 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,19 +1666,23 @@ msgstr "Pokaż hasło"
msgid "URL to look up public IP"
msgstr "Adres URL do wyszukiwania publicznego IP"
#: 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 "Proszę wskaż adres do uaktualniania URL lub serwera GnuDIP"
#: plinth/modules/dynamicdns/forms.py:143
#: plinth/modules/dynamicdns/forms.py:147
msgid "Please provide a GnuDIP username"
msgstr "Nazwa użytkowniika GnuDIP"
#: plinth/modules/dynamicdns/forms.py:147
#: plinth/modules/dynamicdns/forms.py:151
msgid "Please provide a GnuDIP domain name"
msgstr "Domena GnuDIP"
#: plinth/modules/dynamicdns/forms.py:152
#: plinth/modules/dynamicdns/forms.py:156
msgid "Please provide a password"
msgstr "Hasło"
@ -1759,8 +1763,6 @@ msgstr "Informacje"
#: 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
@ -4530,7 +4532,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 "
@ -4541,16 +4543,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 ""
"<a class=\"btn btn-primary btn-sm\" href=\"{link}\">Download Profile</a>"
@ -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."
"<b>Warning:</b> 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 ""

View File

@ -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 <ssantos@web.de>\n"
"Language-Team: Portuguese <https://hosted.weblate.org/projects/freedombox/"
@ -872,7 +872,7 @@ msgid "Refresh IP address and domains"
msgstr "Atualizar endereço de IP e domínios"
#: 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
@ -1584,19 +1584,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 ""
@ -1660,8 +1664,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
@ -4387,7 +4389,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 "
@ -4398,16 +4400,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 ""
"<a class=\"btn btn-primary btn-sm\" href=\"{link}\">Download Profile</a>"
@ -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."
"<b>Warning:</b> 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 ""

View File

@ -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 <nikgreens@protonmail.com>\n"
"Language-Team: Russian <https://hosted.weblate.org/projects/freedombox/"
@ -876,7 +876,7 @@ msgid "Refresh IP address and domains"
msgstr "Обновите IP-адреса и домены"
#: 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
@ -1663,19 +1663,23 @@ msgstr "Показать пароль"
msgid "URL to look up public IP"
msgstr "URL-адрес для поиска публичного IP"
#: 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 "Просьба предоставьте URL-адрес или адрес сервера GnuDIP"
#: plinth/modules/dynamicdns/forms.py:143
#: plinth/modules/dynamicdns/forms.py:147
msgid "Please provide a GnuDIP username"
msgstr "Просьба представить имя пользователя GnuDIP"
#: plinth/modules/dynamicdns/forms.py:147
#: plinth/modules/dynamicdns/forms.py:151
msgid "Please provide a GnuDIP domain name"
msgstr "Просьба предоставить имя домена GnuDIP"
#: plinth/modules/dynamicdns/forms.py:152
#: plinth/modules/dynamicdns/forms.py:156
msgid "Please provide a password"
msgstr "Введите пароль"
@ -1757,8 +1761,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
@ -4826,7 +4828,7 @@ msgstr "Подключение {name} удалено."
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 "
@ -4844,16 +4846,16 @@ msgstr ""
"также получить доступ к остальной части Интернет через {box_name} для "
"дополнительной безопасности и анонимности."
#: 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 "Виртуальная частная сеть"
#: plinth/modules/openvpn/__init__.py:66
#: plinth/modules/openvpn/__init__.py:68
#, python-brace-format
msgid ""
"<a class=\"btn btn-primary btn-sm\" href=\"{link}\">Download Profile</a>"
@ -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."
"<b>Warning:</b> 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"

View File

@ -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 <epost@anotheragency.no>\n"
"Language-Team: Slovenian <https://hosted.weblate.org/projects/freedombox/"
@ -917,7 +917,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
@ -1634,19 +1634,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 ""
@ -1710,8 +1714,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
@ -4351,7 +4353,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 "
@ -4362,16 +4364,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 ""
"<a class=\"btn btn-primary btn-sm\" href=\"{link}\">Download Profile</a>"
@ -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."
"<b>Warning:</b> 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 ""

View File

@ -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 <branislav.djalic@gmail.com>\n"
"Language-Team: Serbian <https://hosted.weblate.org/projects/freedombox/"
@ -867,7 +867,7 @@ msgid "Refresh IP address and domains"
msgstr "Osveži listu IP adresa i domena"
#: 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
@ -1561,19 +1561,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 ""
@ -1637,8 +1641,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
@ -4246,7 +4248,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 "
@ -4257,16 +4259,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 ""
"<a class=\"btn btn-primary btn-sm\" href=\"{link}\">Download Profile</a>"
@ -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."
"<b>Warning:</b> 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 ""

View File

@ -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 <leahc@tutanota.com>\n"
"Language-Team: Swedish <https://hosted.weblate.org/projects/freedombox/"
@ -878,7 +878,7 @@ msgid "Refresh IP address and domains"
msgstr "Uppdatera IP-adress och domäner"
#: 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
@ -1660,19 +1660,23 @@ msgstr "Visa lösenord"
msgid "URL to look up public IP"
msgstr "URL för att hitta publik IP"
#: 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 "Ange en uppdateringsadress eller GnuDIP-serveradress"
#: plinth/modules/dynamicdns/forms.py:143
#: plinth/modules/dynamicdns/forms.py:147
msgid "Please provide a GnuDIP username"
msgstr "Ange ett användarnamn för GnuDIP"
#: plinth/modules/dynamicdns/forms.py:147
#: plinth/modules/dynamicdns/forms.py:151
msgid "Please provide a GnuDIP domain name"
msgstr "Ange ett GnuDIP-domän"
#: plinth/modules/dynamicdns/forms.py:152
#: plinth/modules/dynamicdns/forms.py:156
msgid "Please provide a password"
msgstr "Ange ett lösenord"
@ -1754,8 +1758,6 @@ msgstr "Om"
#: 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
@ -4812,7 +4814,7 @@ msgstr "Anslutning {name} borttagen."
msgid "Failed to delete connection: Connection not found."
msgstr "Det gick inte att ta bort anslutning: Anslutning hittades inte."
#: 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 "
@ -4829,16 +4831,16 @@ msgstr ""
"tillhandahålls av {box_name}. Du kan också komma åt resten av Internet via "
"{box_name} för ökad säkerhet och anonymitet."
#: 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 "Virtuellt privat nätverk"
#: plinth/modules/openvpn/__init__.py:66
#: plinth/modules/openvpn/__init__.py:68
#, python-brace-format
msgid ""
"<a class=\"btn btn-primary btn-sm\" href=\"{link}\">Download Profile</a>"
@ -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."
"<b>Warning:</b> 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"

View File

@ -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 <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\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 ""
"<a class=\"btn btn-primary btn-sm\" href=\"{link}\">Download Profile</a>"
@ -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."
"<b>Warning:</b> 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 ""

View File

@ -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 <mail2ipn@gmail.com>\n"
"Language-Team: Telugu <https://hosted.weblate.org/projects/freedombox/"
@ -892,7 +892,7 @@ msgid "Refresh IP address and domains"
msgstr "IP చిరునామా మరియు డొమైన్‌లను రిఫ్రెష్ చేయండి"
#: 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
@ -1674,19 +1674,23 @@ msgstr "రహస్యపదం కనబర్చు"
msgid "URL to look up public IP"
msgstr "పబ్లిక్ IP చూసేందుకు 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 "దయచేసి నవీకరణ యూ.ఆర్.ఎల్ ను లేక ఒక GnuDIP సేవిక ఐ.పీ చిరునామాను అందించండి"
#: 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 "ఒక రహస్యపదం అందించండి దయచేసి"
@ -1766,8 +1770,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
@ -4721,7 +4723,7 @@ msgstr "{name} అనుసంధానం తొలగించబడింద
msgid "Failed to delete connection: Connection not found."
msgstr "అనుసంధానం తొలగించడం విఫలమైంది: అనుసంధానం దొరకలేదు."
#: plinth/modules/openvpn/__init__.py:26
#: plinth/modules/openvpn/__init__.py:28
#, fuzzy, python-brace-format
msgid ""
"Virtual Private Network (VPN) is a technique for securely connecting two "
@ -4737,18 +4739,18 @@ msgstr ""
"మిగిలిన ఇంటర్నెట్ను యాక్సెస్ చేయవచ్చు మీ {box_name} 1 అనుసంధానించవచ్చు అదనపు భద్రత మరియు "
"అనామకత్వం కోసం."
#: plinth/modules/openvpn/__init__.py:54 plinth/modules/openvpn/manifest.py:18
#: plinth/modules/openvpn/__init__.py:56 plinth/modules/openvpn/manifest.py:18
#, fuzzy
#| msgid "Open"
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 ""
"<a class=\"btn btn-primary btn-sm\" href=\"{link}\">Download Profile</a>"
@ -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 ""
"<b>Warning:</b> 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 </a> 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"

View File

@ -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 <hitowerdigit@hotmail.com>\n"
"Language-Team: Turkish <https://hosted.weblate.org/projects/freedombox/"
"freedombox/tr/>\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 ""
"<a class=\"btn btn-primary btn-sm\" href=\"{link}\">Download Profile</a>"
@ -4863,42 +4806,45 @@ msgstr "<a class=\"btn btn-primary btn-sm\" href=\"{link}\">Profili İndir</a>"
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."
"<b>Warning:</b> 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"

View File

@ -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 <prolinux@ukr.net>\n"
"Language-Team: Ukrainian <https://hosted.weblate.org/projects/freedombox/"
@ -882,7 +882,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
@ -1579,19 +1579,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 ""
@ -1655,8 +1659,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
@ -4298,7 +4300,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 "
@ -4309,16 +4311,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 ""
"<a class=\"btn btn-primary btn-sm\" href=\"{link}\">Download Profile</a>"
@ -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."
"<b>Warning:</b> 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 ""

View File

@ -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 <epost@anotheragency.no>\n"
"Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/"
@ -902,7 +902,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
@ -1666,19 +1666,23 @@ msgstr "显示密码"
msgid "URL to look up public IP"
msgstr "查寻公开 IP 的 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 "请提供一个更新 URL 或者 GnuDIP 服务器地址"
#: plinth/modules/dynamicdns/forms.py:143
#: plinth/modules/dynamicdns/forms.py:147
msgid "Please provide a GnuDIP username"
msgstr "请提供一个 GnuDIP 用户名"
#: plinth/modules/dynamicdns/forms.py:147
#: plinth/modules/dynamicdns/forms.py:151
msgid "Please provide a GnuDIP domain name"
msgstr "请提供一个 GnuDIP 域名"
#: plinth/modules/dynamicdns/forms.py:152
#: plinth/modules/dynamicdns/forms.py:156
msgid "Please provide a password"
msgstr "请提供一个密码"
@ -1753,8 +1757,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
@ -4714,7 +4716,7 @@ msgstr "连接 {name} 已删除。"
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 "
@ -4729,20 +4731,20 @@ msgstr ""
"供的私人/内部服务。您还可以通过 {box_name} 访问互联网的其他部分,以增加安全性"
"和匿名性。"
#: plinth/modules/openvpn/__init__.py:54 plinth/modules/openvpn/manifest.py:18
#: plinth/modules/openvpn/__init__.py:56 plinth/modules/openvpn/manifest.py:18
#, fuzzy
#| msgid "Open"
msgid "OpenVPN"
msgstr "打开"
#: plinth/modules/openvpn/__init__.py:55
#: plinth/modules/openvpn/__init__.py:57
#: plinth/modules/wireguard/__init__.py:52
#, fuzzy
#| msgid "Virtual Private Network (OpenVPN)"
msgid "Virtual Private Network"
msgstr "虚拟专用网络OpenVPN"
#: plinth/modules/openvpn/__init__.py:66
#: plinth/modules/openvpn/__init__.py:68
#, python-brace-format
msgid ""
"<a class=\"btn btn-primary btn-sm\" href=\"{link}\">Download Profile</a>"
@ -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."
"<b>Warning:</b> 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 ""
"<a href=\"https://wiki.debian.org/FreedomBox/Manual/OpenVPN\" title="
"\"%(box_name)s Manual-OpenVPN\">文档</a> 以及有关如何配置它们的说明。"
#: 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"

View File

@ -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 ""
"<a class=\"btn btn-primary btn-sm\" href=\"{link}\">Download Profile</a>"
@ -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."
"<b>Warning:</b> 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 ""

View File

@ -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']:

View File

@ -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')

View File

@ -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);

View File

@ -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']:

View File

@ -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

View File

@ -0,0 +1,39 @@
{% comment %}
# SPDX-License-Identifier: AGPL-3.0-or-later
{% endcomment %}
{% load i18n %}
<h3>{% trans "Migrate to ECC" %}</h3>
<p>
{% 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 %}
</p>
<p>
{% blocktrans trimmed %}
All new installations of OpenVPN on {{ box_name }} will
use ECC by default. We recommend migrating as soon as possible.
{% endblocktrans %}
</p>
<p class="bg-warning">
{% blocktrans trimmed %}
<b>Warning:</b> 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 %}
</p>
<form class="form form-ecc" method="post"
action="{% url 'openvpn:ecc' %}">
{% csrf_token %}
<input type="submit" class="btn btn-primary"
value="{% trans "Migrate" %}"/>
</form>

View File

@ -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 %}
<h3>{% trans "Status" %}</h3>
<p>
{% 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 %}
</p>
<form class="form form-setup" method="post"
action="{% url 'openvpn:setup' %}">
{% csrf_token %}
<input type="submit" class="btn btn-primary"
value="{% trans "Start setup" %}"/>
</form>
{% endif %}
{% if status.setup_running %}
<h3>{% trans "Status" %}</h3>
<p class="running-status-parent">
<span class='running-status loading'></span>
{% trans "OpenVPN setup is running" %}
</p>
<p>
{% 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 %}
</p>
{% endif %}
{% endblock %}
{% block configuration %}
{% if status.is_setup and not status.setup_running %}
{% if status.is_setup %}
<h3>{% trans "Profile" %}</h3>
@ -85,6 +46,10 @@
value="{% trans "Download my profile" %}"/>
</form>
{% if not using_ecc %}
{% include "migrate_to_ecc.html" %}
{% endif %}
{% endif %}
{% endblock %}

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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)

View File

@ -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'),
]

View File

@ -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')

View File

@ -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