mirror of
https://github.com/freedombox/FreedomBox.git
synced 2026-04-15 09:51:21 +00:00
freedombox Debian release 23.14
-----BEGIN PGP SIGNATURE----- iQJKBAABCgA0FiEEfWrbdQ+RCFWJSEvmd8DHXntlCAgFAmTIYzwWHGp2YWxsZXJv eUBtYWlsYm94Lm9yZwAKCRB3wMdee2UICC8iEACchsBfp21W+EGiwRJwFjzU0yY+ ETiTBdUm2V+g50YPc4MnwmnlB6mLSvzj363E2pz+NNpnpYxsa8y0le4dsFq4BF7w vBN7MwC14bMbacUsGUC3hACwkt3X1p0AU2Jb6Mhc6nr5O6l/LBenIv6AAQs2V4kX 6NsdOgYs01vPht5TaLq+Y79h98gRh67DNgjltjX8gUlFNIZJgZIeJ3afS2AHe11U V19JqdC4Zla3U9XfHVZSuqqw8sF5vNKn9nD0cUAvQleeHtFTvBxPcMwyAAo93rtv y0DCIY9c6kEqK7oiOVW6+CyCWTMwEKo07xrdHQzSofroxMJHogo3/vkbKN6aIjNt LzYpronpBbLwi9wqb7jj3J7fIULVE0tJyYFQFT27LegExNbdqXd00ftCDXzoj2Rd V73ZdAwHc3SfDrrYTGy7QVv3p8R0olApNN9SmI7s9JhdSwyRaKAMLiuvrgW0XeJT pBs31twC5JHrjJn0+SLLXGNkz8r7U8QTzbfnerNiwG5MEDF2rszNTFr6CYFYStLD OhlYAznjqQTirmBgbp2RelPqE/dyX7U7X/XvHqYoPSo+yOP4YD597V0l+rAvOWX1 QuX4Xb80fEW3qDXR0DOHSwT9fWOdK7lBxfxP+3cQR8OQWUnWo5JyhDIt6I2KGxzH ZXLwCxekcQRIW4fCLw== =Jx2D -----END PGP SIGNATURE----- gpgsig -----BEGIN PGP SIGNATURE----- iQJKBAABCgA0FiEEfWrbdQ+RCFWJSEvmd8DHXntlCAgFAmTLfU8WHGp2YWxsZXJv eUBtYWlsYm94Lm9yZwAKCRB3wMdee2UICOyQD/9AEkkWBJJSbxbeEPHQihQJ4PfP AHc72dAtbcO3A6GLPg2j+KzJYplfopKt92H7v/gZuVQJA/GEEIjH5scbRBbF/pmO /VtN3KyHBxaMiFdrt/eObwp01YZ/Ulozet3T4tEde9nVR5ejZTIUS+Rd6Hz/NjlS 6h5SiEXOkJOPgnzg6DXvMOb/u9BbzQ4HrVXO593I6fdwEZOlvuNo6SI/FwdtcRFf Lz/0qqrpWFeHIKrpyF6WHPMBn2hEhG9bBlDfYD3XXzc7RuYQ4bojVz1878o9XEjO eHcSKoRE+hh2Ojj192BIPej4yuILfSIi7A/9cgnhXYvfysCPkMIBRf2cn/TOYGxa 3zysNtcuaMLhAIUuAAMxMn69OcK7aBFPuDKhFhA4qHYxTJLJ6KSz00xxuAL6L1+2 NfVNjoAc9cxZQlJDHtCsT2Sct+9Mez4LCWx/lCqaPLXS7rRbVibe0QNtBL1sk1Te Cf9JhiEMfiFWuqZJWuya9zLLBWXNrFTLgWP5Iqc8HtBjr07vh9NG8SBl9Ryh7WUs XQIzKmzu7rHZOm5507Tdx2ymXc8r0YRp0bja9HbIEUSOvu0uL6bfqeCvBhIgId+l DPJyYpl991KljQ0O+8cY8QDvCcX6vjkSSMQj/v4nIdW46vNhwbxu7O4OwxwPUjt8 KI5PSlzlIZuI32/u1g== =dhE2 -----END PGP SIGNATURE----- Merge tag 'v23.14' into debian/bookworm-backports freedombox Debian release 23.14 Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
This commit is contained in:
commit
3aac407176
@ -18,6 +18,16 @@ code-quality:
|
||||
script:
|
||||
- python3 -m flake8 container plinth actions/*
|
||||
|
||||
static-type-check:
|
||||
stage: test
|
||||
allow_failure: true
|
||||
needs: []
|
||||
before_script:
|
||||
- apt-get update
|
||||
- apt-get install -y mypy
|
||||
script:
|
||||
- mypy --ignore-missing-imports .
|
||||
|
||||
unit-tests:
|
||||
stage: test
|
||||
needs: []
|
||||
|
||||
10
HACKING.md
10
HACKING.md
@ -167,6 +167,16 @@ Note: This development container has automatic upgrades disabled by default.
|
||||
host$ sudo find -iname '__pycache__' | sudo xargs rm -rf {} ;
|
||||
```
|
||||
|
||||
#### Using Containers On 64-bit Raspberry Pi
|
||||
|
||||
The container script can be used (as described above) on a Raspberry Pi 3 or 4
|
||||
running a 64-bit operating system.
|
||||
|
||||
If you are running Raspberry Pi OS 64-bit, you will first need to enable Network
|
||||
Manager. To do this, run `sudo raspi-config`, go to "5 Advanced Options", and
|
||||
then to "A4 Network Config". Select "NetworkManager", and then reboot as
|
||||
prompted.
|
||||
|
||||
[back to index](#hacking)
|
||||
|
||||
[DebianNetworkManager]: https://wiki.debian.org/NetworkManager#Wired_Networks_are_Unmanaged
|
||||
|
||||
73
container
73
container
@ -131,7 +131,7 @@ from urllib.request import urlopen
|
||||
|
||||
URLS_AMD64 = {
|
||||
'stable': 'https://ftp.freedombox.org/pub/freedombox/hardware/'
|
||||
'amd64/bullseye/freedombox-bullseye-free_all-amd64.img.xz',
|
||||
'amd64/bookworm/freedombox-bookworm_all-amd64.img.xz',
|
||||
'testing': 'https://ftp.freedombox.org/pub/freedombox/hardware/'
|
||||
'amd64/testing/freedombox-testing_dev_all-amd64.img.xz',
|
||||
'unstable': 'https://ftp.freedombox.org/pub/freedombox/hardware/'
|
||||
@ -140,7 +140,7 @@ URLS_AMD64 = {
|
||||
|
||||
URLS_ARM64 = {
|
||||
'stable': 'https://ftp.freedombox.org/pub/freedombox/hardware/'
|
||||
'arm64/bullseye/freedombox-bullseye-free_all-arm64.img.xz',
|
||||
'arm64/bookworm/freedombox-bookworm_all-arm64.img.xz',
|
||||
'testing': 'https://ftp.freedombox.org/pub/freedombox/hardware/'
|
||||
'arm64/testing/freedombox-testing_dev_all-arm64.img.xz',
|
||||
'unstable': 'https://ftp.freedombox.org/pub/freedombox/hardware/'
|
||||
@ -149,11 +149,13 @@ URLS_ARM64 = {
|
||||
|
||||
URLS = URLS_AMD64
|
||||
|
||||
TRUSTED_KEYS = ['013D86D8BA32EAB4A6691BF85D4153D6FE188FC8']
|
||||
TRUSTED_KEYS = ['D4B069124FCF43AA1FCD7FBC2ACFC1E15AF82D8C']
|
||||
KEY_SERVER = 'keyserver.ubuntu.com'
|
||||
KEY_SERVER_HTTPS_API = \
|
||||
'https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x{key_id}'
|
||||
|
||||
PROVISION_SCRIPT = '''
|
||||
set -x
|
||||
set -xe pipefail
|
||||
|
||||
cd /freedombox/
|
||||
|
||||
@ -185,8 +187,8 @@ sudo chmod a+rw geckodriver.log
|
||||
sudo mkdir -p .pytest_cache/
|
||||
sudo chmod --recursive a+rw .pytest_cache/
|
||||
sudo chmod a+w /freedombox
|
||||
sudo chmod --recursive --silent a+w htmlcov
|
||||
sudo chmod --silent a+w .coverage
|
||||
sudo chmod --recursive --silent a+w htmlcov || true
|
||||
sudo chmod --silent a+w .coverage || true
|
||||
|
||||
exit 0
|
||||
''' # noqa
|
||||
@ -290,6 +292,8 @@ def parse_arguments():
|
||||
help='Distribution of the image to download and setup')
|
||||
subparser.add_argument('--image-size', default='16G',
|
||||
help='Disk image size to resize to after download')
|
||||
subparser.add_argument('--hkp-client', choices=('gpg', 'wget'),
|
||||
default='gpg', help='Client for key retrieval')
|
||||
|
||||
# Print IP address
|
||||
subparser = subparsers.add_parser(
|
||||
@ -339,6 +343,8 @@ def parse_arguments():
|
||||
subparser.add_argument('--distribution', choices=distributions,
|
||||
default=default_distribution,
|
||||
help='Distribution of the image to update')
|
||||
subparser.add_argument('--hkp-client', choices=('gpg', 'wget'),
|
||||
default='gpg', help='Client for key retrieval')
|
||||
|
||||
# Display help message when no args are passed
|
||||
if len(sys.argv) == 1:
|
||||
@ -383,6 +389,7 @@ def _verify_dependencies():
|
||||
'sgdisk': 'gdisk',
|
||||
'btrfs': 'btrfs-progs',
|
||||
'nmcli': 'network-manager',
|
||||
'dnsmasq': 'dnsmasq',
|
||||
'ssh': 'openssh-client',
|
||||
'ssh-keygen': 'openssh-client',
|
||||
}
|
||||
@ -405,8 +412,8 @@ def _verify_dependencies():
|
||||
sys.exit(1)
|
||||
|
||||
logger.info('Running apt for missing packages: %s',
|
||||
' '.join(missing_commands))
|
||||
subprocess.run(['sudo', 'apt', 'install'] + missing_packages, check=False)
|
||||
' '.join(missing_packages))
|
||||
subprocess.run(['sudo', 'apt', 'install'] + missing_packages, check=True)
|
||||
|
||||
|
||||
def _get_systemd_nspawn_version():
|
||||
@ -440,7 +447,30 @@ def _download_file(url, target_file, force=False):
|
||||
partial_file.rename(target_file)
|
||||
|
||||
|
||||
def _verify_signature(data_file, signature_file):
|
||||
def _receive_keys_with_gpg(gpg_home, key_ids):
|
||||
"""Use gpg to retrieve and import a list of keys."""
|
||||
subprocess.run([
|
||||
'gpg', '--quiet', '--homedir',
|
||||
str(gpg_home), '--keyserver', KEY_SERVER, '--recv-keys'
|
||||
] + key_ids, check=True)
|
||||
|
||||
|
||||
def _receive_keys_with_wget(gpg_home, key_ids):
|
||||
"""Use wget to retrieve a list of keys and import them."""
|
||||
for key_id in key_ids:
|
||||
# Download public key
|
||||
logger.info('Getting public key %s', key_id)
|
||||
url = KEY_SERVER_HTTPS_API.format(key_id=key_id)
|
||||
wget_result = subprocess.run(
|
||||
['wget', '--quiet', '--output-document=-', url], check=True,
|
||||
capture_output=True)
|
||||
public_key = wget_result.stdout
|
||||
subprocess.run(
|
||||
['gpg', '--quiet', '--homedir',
|
||||
str(gpg_home), '--import=-'], input=public_key, check=True)
|
||||
|
||||
|
||||
def _verify_signature(hkp_client, data_file, signature_file):
|
||||
"""Verify the detached signature on a file using GPG."""
|
||||
verified_file = signature_file.with_suffix(signature_file.suffix +
|
||||
'.verified')
|
||||
@ -452,10 +482,11 @@ def _verify_signature(data_file, signature_file):
|
||||
gpg_home.chmod(0o700)
|
||||
|
||||
logger.info('Receiving GPG keys')
|
||||
subprocess.run([
|
||||
'gpg', '--quiet', '--homedir',
|
||||
str(gpg_home), '--keyserver', KEY_SERVER, '--recv-keys'
|
||||
] + TRUSTED_KEYS, check=True)
|
||||
if hkp_client == 'wget':
|
||||
_receive_keys_with_wget(gpg_home, TRUSTED_KEYS)
|
||||
else:
|
||||
_receive_keys_with_gpg(gpg_home, TRUSTED_KEYS)
|
||||
|
||||
process = subprocess.run(
|
||||
['gpg', '--quiet', '--homedir',
|
||||
str(gpg_home), '--armor', '--export'] + TRUSTED_KEYS, check=True,
|
||||
@ -518,7 +549,7 @@ def _get_overlay_folder(distribution):
|
||||
return folder.resolve()
|
||||
|
||||
|
||||
def _download_disk_image(distribution, force=False):
|
||||
def _download_disk_image(distribution, hkp_client, force=False):
|
||||
"""Download and unpack FreedomBox disk image."""
|
||||
work_directory.mkdir(exist_ok=True)
|
||||
|
||||
@ -530,7 +561,7 @@ def _download_disk_image(distribution, force=False):
|
||||
signature_file = target_file.with_suffix(target_file.suffix + '.sig')
|
||||
_download_file(url + '.sig', signature_file, force=force)
|
||||
|
||||
_verify_signature(target_file, signature_file)
|
||||
_verify_signature(hkp_client, target_file, signature_file)
|
||||
|
||||
return _extract_image(target_file)
|
||||
|
||||
@ -547,6 +578,7 @@ def _get_partition_info(image_file):
|
||||
if line.startswith('Partition Table:'):
|
||||
partition_table_type = line.partition(': ')[2]
|
||||
|
||||
logger.info('Main partition: %s', last_partition_number)
|
||||
return partition_table_type, last_partition_number
|
||||
|
||||
|
||||
@ -750,6 +782,7 @@ def _setup(image_file, distribution):
|
||||
_setup_nm_connection(distribution)
|
||||
|
||||
setup_file.touch()
|
||||
logger.info('Setup completed')
|
||||
|
||||
|
||||
def _create_nspawn_machine(image_file, distribution):
|
||||
@ -820,9 +853,10 @@ def _launch(image_file, distribution):
|
||||
|
||||
logger.info('Bringing up host network connection: %s',
|
||||
f'fbx-{distribution}-shared')
|
||||
# This command requires dnsmasq
|
||||
subprocess.run(
|
||||
['sudo', 'nmcli', 'connection', 'up', f'fbx-{distribution}-shared'],
|
||||
stdout=subprocess.DEVNULL, check=False)
|
||||
stdout=subprocess.DEVNULL, check=True)
|
||||
|
||||
|
||||
def _stop(distribution):
|
||||
@ -907,6 +941,7 @@ def _provision(image_file, distribution):
|
||||
input=PROVISION_SCRIPT.encode())
|
||||
|
||||
provision_file.touch()
|
||||
logger.info('Provision completed')
|
||||
|
||||
|
||||
def _print_banner(distribution):
|
||||
@ -1023,7 +1058,8 @@ def subcommand_up(arguments):
|
||||
|
||||
_verify_dependencies()
|
||||
_get_systemd_nspawn_version()
|
||||
image_file = _download_disk_image(arguments.distribution)
|
||||
image_file = _download_disk_image(arguments.distribution,
|
||||
arguments.hkp_client)
|
||||
_resize_disk_image(image_file, arguments.image_size)
|
||||
_setup(image_file, arguments.distribution)
|
||||
_launch(image_file, arguments.distribution)
|
||||
@ -1077,7 +1113,8 @@ def subcommand_update(arguments):
|
||||
"""Update the disk image."""
|
||||
if _is_update_required(arguments.distribution):
|
||||
logger.info("Updating...")
|
||||
_download_disk_image(arguments.distribution, force=True)
|
||||
_download_disk_image(arguments.distribution, arguments.hkp_client,
|
||||
force=True)
|
||||
else:
|
||||
logger.info("Already using the latest image")
|
||||
|
||||
|
||||
59
debian/changelog
vendored
59
debian/changelog
vendored
@ -1,3 +1,62 @@
|
||||
freedombox (23.14) unstable; urgency=medium
|
||||
|
||||
[ James Valleroy ]
|
||||
* users: Add diagnostics check for nslcd config
|
||||
* users: Add diagnostic checks for nsswitch config
|
||||
* firewall: Add diagnostic for default zone
|
||||
* firewall: Add diagnostic check for backend
|
||||
* firewall: Add diagnostic check for passthroughs
|
||||
* torproxy: Add separate app for Tor Proxy
|
||||
* HACKING: Add instructions for container on Raspberry Pi
|
||||
* ci: Add mypy static type check
|
||||
* upgrades: Use codename= in apt preferences
|
||||
* upgrades: Use n= for unattended-upgrades origin pattern
|
||||
* container: Update for bookworm images
|
||||
* locale: Update translation strings
|
||||
* doc: Fetch latest manual
|
||||
|
||||
[ ikmaak ]
|
||||
* Translated using Weblate (Dutch)
|
||||
|
||||
[ Sunil Mohan Adapa ]
|
||||
* torproxy: Rename icon from tor to torproxy
|
||||
* torproxy: Remove unnecessary load tags in template file
|
||||
* torproxy: Add shortcut to home page for logged in users
|
||||
* tor: Minor refactor to remove code the check for need to restart
|
||||
* tor, torproxy: Update description for info on services provided
|
||||
* tor: tests: Make functional test check for running service
|
||||
* torproxy: Drop irrelavant 'ExitPolicy' configuration directive
|
||||
* kvstore: Optionally, don't throw exception when deleting key
|
||||
* tor, torproxy: Export settings from old to new app
|
||||
* bepasty: Don't enable app when setup is rerun
|
||||
* bind: Don't enable app when setup is rerun
|
||||
* deluge: Don't enable app when setup is rerun
|
||||
* ejabberd: Don't enable app when setup is rerun
|
||||
* gitweb: Don't enable app when setup is rerun
|
||||
* ikiwiki: Don't enable app when setup is rerun
|
||||
* infinoted: Don't enable app when setup is rerun
|
||||
* janus: Don't enable app when setup is rerun
|
||||
* jsxc: Don't enable app when setup is rerun
|
||||
* mediawiki: Don't enable app when setup is rerun
|
||||
* minetest: Don't enable app when setup is rerun
|
||||
* openvpn: Don't enable app when setup is rerun
|
||||
* performance: Don't enable app when setup is rerun
|
||||
* privoxy: Don't enable app when setup is rerun
|
||||
* quassel: Don't enable app when setup is rerun
|
||||
* radicale: Don't enable app when setup is rerun
|
||||
* rssbridge: Don't enable app when setup is rerun
|
||||
* shaarli: Don't enable app when setup is rerun
|
||||
* sharing: Don't enable app when setup is rerun
|
||||
* ttrss: Don't enable app when setup is rerun
|
||||
* wireguard: Don't enable app when setup is rerun
|
||||
* zoph: Don't enable app when setup is rerun
|
||||
* app: Implement advanced option to rerun app setup
|
||||
|
||||
[ fliu ]
|
||||
* container: Add support for retrieving GPG keys using wget
|
||||
|
||||
-- James Valleroy <jvalleroy@mailbox.org> Mon, 31 Jul 2023 20:39:40 -0400
|
||||
|
||||
freedombox (23.13~bpo12+1) bookworm-backports; urgency=medium
|
||||
|
||||
* Rebuild for bookworm-backports.
|
||||
|
||||
@ -10,7 +10,7 @@
|
||||
|
||||
<<Anchor(gettinghelp)>>
|
||||
|
||||
The !FreedomBox community provides live help via forum, chat and email. Feel free to join and ask anything you like. If you receive help, please consider to report your solution to the [[FreedomBox/QuestionsAndAnswers|Questions and Answers]] page, so others can benefit in the future.
|
||||
The !FreedomBox community provides live help via forum, chat and email. Feel free to join and ask anything you like. If you receive help, please consider to report your solution to the [[https://discuss.freedombox.org/t/frequently-asked-questions/1906|Questions and Answers]] page, so others can benefit in the future.
|
||||
|
||||
== Discussion Forum ==
|
||||
|
||||
@ -34,7 +34,7 @@ Providing you are familiar with [[http://www.irchelp.org/|Internet Relay Chat]]
|
||||
|
||||
== Help Back ==
|
||||
|
||||
Once you've got your solution, don't forget to add it to the [[FreedomBox/QuestionsAndAnswers|Questions and Answers]] page and tell which features do you use from the box on [[FreedomBox/UserExperience|Use Cases]] page. It could help others to use !FreedomBox in a way they would have not imagined.
|
||||
Once you've got your solution, don't forget to add it to the [[https://discuss.freedombox.org/t/frequently-asked-questions/1906|Questions and Answers]] page and tell which features do you use from the box on [[FreedomBox/UserExperience|Use Cases]] page. It could help others to use !FreedomBox in a way they would have not imagined.
|
||||
|
||||
## END_INCLUDE
|
||||
|
||||
|
||||
@ -8,6 +8,54 @@ For more technical details, see the [[https://salsa.debian.org/freedombox-team/f
|
||||
|
||||
The following are the release notes for each !FreedomBox version.
|
||||
|
||||
== FreedomBox 23.14 (2023-07-31) ==
|
||||
|
||||
=== Highlights ===
|
||||
|
||||
* app: Implement advanced option to rerun app setup
|
||||
* torproxy: Add separate app for Tor Proxy
|
||||
* upgrades: Use codename in apt preferences
|
||||
|
||||
=== Other Changes ===
|
||||
|
||||
* HACKING: Add instructions for container on Raspberry Pi
|
||||
* bepasty: Don't enable app when setup is rerun
|
||||
* bind: Don't enable app when setup is rerun
|
||||
* ci: Add mypy static type check
|
||||
* container: Add support for retrieving GPG keys using wget
|
||||
* container: Update for bookworm images
|
||||
* deluge: Don't enable app when setup is rerun
|
||||
* ejabberd: Don't enable app when setup is rerun
|
||||
* firewall: Add diagnostic check for backend
|
||||
* firewall: Add diagnostic check for passthroughs
|
||||
* firewall: Add diagnostic for default zone
|
||||
* gitweb: Don't enable app when setup is rerun
|
||||
* ikiwiki: Don't enable app when setup is rerun
|
||||
* infinoted: Don't enable app when setup is rerun
|
||||
* janus: Don't enable app when setup is rerun
|
||||
* jsxc: Don't enable app when setup is rerun
|
||||
* kvstore: Optionally, don't throw exception when deleting key
|
||||
* locale: Update translations for Dutch
|
||||
* mediawiki: Don't enable app when setup is rerun
|
||||
* minetest: Don't enable app when setup is rerun
|
||||
* openvpn: Don't enable app when setup is rerun
|
||||
* performance: Don't enable app when setup is rerun
|
||||
* privoxy: Don't enable app when setup is rerun
|
||||
* quassel: Don't enable app when setup is rerun
|
||||
* radicale: Don't enable app when setup is rerun
|
||||
* rssbridge: Don't enable app when setup is rerun
|
||||
* shaarli: Don't enable app when setup is rerun
|
||||
* sharing: Don't enable app when setup is rerun
|
||||
* tor, torproxy: Export settings from old to new app
|
||||
* tor, torproxy: Update description for info on services provided
|
||||
* tor: tests: Make functional test check for running service
|
||||
* ttrss: Don't enable app when setup is rerun
|
||||
* upgrades: Use codename for unattended-upgrades origin pattern
|
||||
* users: Add diagnostic checks for nsswitch config
|
||||
* users: Add diagnostics check for nslcd config
|
||||
* wireguard: Don't enable app when setup is rerun
|
||||
* zoph: Don't enable app when setup is rerun
|
||||
|
||||
== FreedomBox 23.13 (2023-07-17) ==
|
||||
|
||||
* container: Add support for ARM64 containers
|
||||
|
||||
@ -8,6 +8,54 @@ For more technical details, see the [[https://salsa.debian.org/freedombox-team/f
|
||||
|
||||
The following are the release notes for each !FreedomBox version.
|
||||
|
||||
== FreedomBox 23.14 (2023-07-31) ==
|
||||
|
||||
=== Highlights ===
|
||||
|
||||
* app: Implement advanced option to rerun app setup
|
||||
* torproxy: Add separate app for Tor Proxy
|
||||
* upgrades: Use codename in apt preferences
|
||||
|
||||
=== Other Changes ===
|
||||
|
||||
* HACKING: Add instructions for container on Raspberry Pi
|
||||
* bepasty: Don't enable app when setup is rerun
|
||||
* bind: Don't enable app when setup is rerun
|
||||
* ci: Add mypy static type check
|
||||
* container: Add support for retrieving GPG keys using wget
|
||||
* container: Update for bookworm images
|
||||
* deluge: Don't enable app when setup is rerun
|
||||
* ejabberd: Don't enable app when setup is rerun
|
||||
* firewall: Add diagnostic check for backend
|
||||
* firewall: Add diagnostic check for passthroughs
|
||||
* firewall: Add diagnostic for default zone
|
||||
* gitweb: Don't enable app when setup is rerun
|
||||
* ikiwiki: Don't enable app when setup is rerun
|
||||
* infinoted: Don't enable app when setup is rerun
|
||||
* janus: Don't enable app when setup is rerun
|
||||
* jsxc: Don't enable app when setup is rerun
|
||||
* kvstore: Optionally, don't throw exception when deleting key
|
||||
* locale: Update translations for Dutch
|
||||
* mediawiki: Don't enable app when setup is rerun
|
||||
* minetest: Don't enable app when setup is rerun
|
||||
* openvpn: Don't enable app when setup is rerun
|
||||
* performance: Don't enable app when setup is rerun
|
||||
* privoxy: Don't enable app when setup is rerun
|
||||
* quassel: Don't enable app when setup is rerun
|
||||
* radicale: Don't enable app when setup is rerun
|
||||
* rssbridge: Don't enable app when setup is rerun
|
||||
* shaarli: Don't enable app when setup is rerun
|
||||
* sharing: Don't enable app when setup is rerun
|
||||
* tor, torproxy: Export settings from old to new app
|
||||
* tor, torproxy: Update description for info on services provided
|
||||
* tor: tests: Make functional test check for running service
|
||||
* ttrss: Don't enable app when setup is rerun
|
||||
* upgrades: Use codename for unattended-upgrades origin pattern
|
||||
* users: Add diagnostic checks for nsswitch config
|
||||
* users: Add diagnostics check for nslcd config
|
||||
* wireguard: Don't enable app when setup is rerun
|
||||
* zoph: Don't enable app when setup is rerun
|
||||
|
||||
== FreedomBox 23.13 (2023-07-17) ==
|
||||
|
||||
* container: Add support for ARM64 containers
|
||||
|
||||
@ -3,4 +3,4 @@
|
||||
Package init file.
|
||||
"""
|
||||
|
||||
__version__ = '23.13'
|
||||
__version__ = '23.14'
|
||||
|
||||
@ -27,7 +27,11 @@ def set(key, value): # pylint: disable-msg=W0622
|
||||
store.save()
|
||||
|
||||
|
||||
def delete(key):
|
||||
def delete(key, ignore_missing=False):
|
||||
"""Delete a key"""
|
||||
from plinth.models import KVStore
|
||||
return KVStore.objects.get(key=key).delete()
|
||||
try:
|
||||
return KVStore.objects.get(key=key).delete()
|
||||
except KVStore.DoesNotExist:
|
||||
if not ignore_missing:
|
||||
raise
|
||||
|
||||
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-06-19 20:15-0400\n"
|
||||
"POT-Creation-Date: 2023-07-31 20:04-0400\n"
|
||||
"PO-Revision-Date: 2022-03-31 09:12+0000\n"
|
||||
"Last-Translator: abidin toumi <abidin24@disroot.org>\n"
|
||||
"Language-Team: Arabic <https://hosted.weblate.org/projects/freedombox/"
|
||||
@ -29,7 +29,7 @@ msgstr "مصدر الصفحة"
|
||||
msgid "Static configuration {etc_path} is setup properly"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/context_processors.py:23 plinth/views.py:92
|
||||
#: plinth/context_processors.py:23 plinth/views.py:94
|
||||
msgid "FreedomBox"
|
||||
msgstr ""
|
||||
|
||||
@ -836,7 +836,8 @@ msgstr ""
|
||||
|
||||
#: plinth/modules/bepasty/views.py:88 plinth/modules/searx/views.py:35
|
||||
#: plinth/modules/searx/views.py:46 plinth/modules/security/views.py:56
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/zoph/views.py:74
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/torproxy/views.py:71
|
||||
#: plinth/modules/zoph/views.py:74
|
||||
msgid "Configuration updated."
|
||||
msgstr ""
|
||||
|
||||
@ -1918,7 +1919,7 @@ msgstr ""
|
||||
msgid "Host/Target/Value"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:23
|
||||
#: plinth/modules/firewall/__init__.py:24
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Firewall is a security system that controls the incoming and outgoing "
|
||||
@ -1926,10 +1927,22 @@ msgid ""
|
||||
"configured reduces risk of security threat from the Internet."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:59
|
||||
#: plinth/modules/firewall/__init__.py:60
|
||||
msgid "Firewall"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:269
|
||||
msgid "Default zone is external"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:276
|
||||
msgid "Firewall backend is nftables"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:287
|
||||
msgid "Direct passthrough rules exist"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/components.py:134
|
||||
#, python-brace-format
|
||||
msgid "Port {name} ({details}) available for internal networks"
|
||||
@ -2502,7 +2515,8 @@ msgstr ""
|
||||
msgid "I2P"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:49
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:61
|
||||
#: plinth/modules/torproxy/__init__.py:55
|
||||
msgid "Anonymity Network"
|
||||
msgstr ""
|
||||
|
||||
@ -4768,7 +4782,7 @@ msgstr ""
|
||||
msgid "Web Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/privoxy/__init__.py:113
|
||||
#: plinth/modules/privoxy/__init__.py:114
|
||||
#, python-brace-format
|
||||
msgid "Access {url} with proxy {proxy} on tcp{kind}"
|
||||
msgstr ""
|
||||
@ -6017,7 +6031,7 @@ msgstr ""
|
||||
msgid "File Synchronization"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:23
|
||||
#: plinth/modules/tor/__init__.py:31 plinth/modules/torproxy/__init__.py:27
|
||||
msgid ""
|
||||
"Tor is an anonymous communication system. You can learn more about it from "
|
||||
"the <a href=\"https://www.torproject.org/\">Tor Project</a> website. For "
|
||||
@ -6026,55 +6040,48 @@ msgid ""
|
||||
"en\">Tor Browser</a>."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:30
|
||||
#, python-brace-format
|
||||
#: plinth/modules/tor/__init__.py:37
|
||||
msgid ""
|
||||
"A Tor SOCKS port is available on your {box_name} for internal networks on "
|
||||
"TCP port 9050."
|
||||
"This app provides relay services to contribute to Tor network and help "
|
||||
"others overcome censorship."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:48
|
||||
#: plinth/modules/tor/__init__.py:40
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides an onion domain to expose {box_name} services via the Tor "
|
||||
"network. Using Tor browser, one can access {box_name} from the internet even "
|
||||
"when using an ISP that limits servers at home."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:60
|
||||
msgid "Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:65
|
||||
#: plinth/modules/tor/__init__.py:76
|
||||
msgid "Tor Onion Service"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:69
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:73
|
||||
#: plinth/modules/tor/__init__.py:80
|
||||
msgid "Tor Bridge Relay"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:132
|
||||
#: plinth/modules/tor/__init__.py:135
|
||||
msgid "Tor relay port available"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:143
|
||||
#: plinth/modules/tor/__init__.py:146
|
||||
msgid "Obfs3 transport registered"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:153
|
||||
#: plinth/modules/tor/__init__.py:156
|
||||
msgid "Obfs4 transport registered"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:165
|
||||
#: plinth/modules/tor/__init__.py:168
|
||||
msgid "Onion service is version 3"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:242
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:253
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:33
|
||||
msgid ""
|
||||
"Enter a valid bridge with this format: [transport] IP:ORPort [fingerprint]"
|
||||
@ -6102,11 +6109,11 @@ msgid ""
|
||||
"here. Currently supported transports are none, obfs3, obfs4 and scamblesuit."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:91
|
||||
#: plinth/modules/tor/forms.py:95
|
||||
msgid "Enable Tor relay"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:92
|
||||
#: plinth/modules/tor/forms.py:96
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"When enabled, your {box_name} will run a Tor relay and donate bandwidth to "
|
||||
@ -6114,22 +6121,22 @@ msgid ""
|
||||
"download bandwidth."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:97
|
||||
#: plinth/modules/tor/forms.py:101
|
||||
msgid "Enable Tor bridge relay"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:99
|
||||
#: plinth/modules/tor/forms.py:103
|
||||
msgid ""
|
||||
"When enabled, relay information is published in the Tor bridge database "
|
||||
"instead of public Tor relay database making it harder to censor this node. "
|
||||
"This helps others circumvent censorship."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:104
|
||||
#: plinth/modules/tor/forms.py:108
|
||||
msgid "Enable Tor Onion Service"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:106
|
||||
#: plinth/modules/tor/forms.py:110
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"An onion service will allow {box_name} to provide selected services (such as "
|
||||
@ -6137,26 +6144,15 @@ msgid ""
|
||||
"anonymity yet."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:111
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:112
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:127
|
||||
#: plinth/modules/tor/forms.py:125
|
||||
msgid "Specify at least one upstream bridge to use upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/manifest.py:15
|
||||
#: plinth/modules/tor/manifest.py:15 plinth/modules/torproxy/manifest.py:14
|
||||
msgid "Tor Browser"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/manifest.py:31
|
||||
#: plinth/modules/tor/manifest.py:31 plinth/modules/torproxy/manifest.py:30
|
||||
msgid "Orbot: Proxy with Tor"
|
||||
msgstr ""
|
||||
|
||||
@ -6168,16 +6164,54 @@ msgstr ""
|
||||
msgid "Ports"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/views.py:53
|
||||
#: plinth/modules/tor/views.py:53 plinth/modules/torproxy/views.py:51
|
||||
msgid "Updating configuration"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/views.py:70
|
||||
#: plinth/modules/tor/views.py:70 plinth/modules/torproxy/views.py:68
|
||||
#, fuzzy, python-brace-format
|
||||
#| msgid "Error installing application: {error}"
|
||||
msgid "Error configuring app: {error}"
|
||||
msgstr "خطأ أثناء تثبيت التطبيق: {error}"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:34
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides a web proxy on your {box_name} for internal networks on "
|
||||
"TCP port 9050 using the SOCKS protocol. This can be used by various apps to "
|
||||
"access the internet via the Tor network. ISP censorship can be circumvented "
|
||||
"using upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:54
|
||||
msgid "Tor Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:79
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:138
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:149
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:15
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:16
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/transmission/__init__.py:25
|
||||
msgid "Transmission is a BitTorrent client with a web interface."
|
||||
msgstr ""
|
||||
@ -6503,14 +6537,14 @@ msgstr ""
|
||||
msgid "Starting distribution upgrade test."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:29
|
||||
#: plinth/modules/users/__init__.py:30
|
||||
msgid ""
|
||||
"Create and manage user accounts. These accounts serve as centralized "
|
||||
"authentication mechanism for most apps. Some apps further require a user "
|
||||
"account to be part of a group to authorize the user to access the app."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:34
|
||||
#: plinth/modules/users/__init__.py:35
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Any user may login to {box_name} web interface to see a list of apps "
|
||||
@ -6518,19 +6552,29 @@ msgid ""
|
||||
"group may alter apps or system settings."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:55
|
||||
#: plinth/modules/users/__init__.py:56
|
||||
msgid "Users and Groups"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:80
|
||||
#: plinth/modules/users/__init__.py:81
|
||||
msgid "Access to all services and system settings"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:116
|
||||
#: plinth/modules/users/__init__.py:124
|
||||
#, python-brace-format
|
||||
msgid "Check LDAP entry \"{search_item}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:137
|
||||
#, python-brace-format
|
||||
msgid "Check nslcd config \"{key} {value}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:166
|
||||
#, python-brace-format
|
||||
msgid "Check nsswitch config \"{database}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/forms.py:35
|
||||
msgid "Username is taken or is reserved."
|
||||
msgstr ""
|
||||
@ -7610,7 +7654,11 @@ msgstr ""
|
||||
msgid "Backup"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/templates/toolbar.html:51 plinth/templates/toolbar.html:52
|
||||
#: plinth/templates/toolbar.html:53
|
||||
msgid "Re-run setup"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/templates/toolbar.html:59 plinth/templates/toolbar.html:60
|
||||
#: plinth/templates/uninstall.html:30
|
||||
#, fuzzy
|
||||
#| msgid "Application installed."
|
||||
@ -7628,11 +7676,11 @@ msgid ""
|
||||
"installed freshly again."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/views.py:239
|
||||
#: plinth/views.py:241
|
||||
msgid "Setting unchanged"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/views.py:456
|
||||
#: plinth/views.py:478
|
||||
#, python-brace-format
|
||||
msgid "before uninstall of {app_id}"
|
||||
msgstr ""
|
||||
|
||||
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-06-19 20:15-0400\n"
|
||||
"POT-Creation-Date: 2023-07-31 20:04-0400\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/"
|
||||
@ -29,7 +29,7 @@ msgstr ""
|
||||
msgid "Static configuration {etc_path} is setup properly"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/context_processors.py:23 plinth/views.py:92
|
||||
#: plinth/context_processors.py:23 plinth/views.py:94
|
||||
msgid "FreedomBox"
|
||||
msgstr ""
|
||||
|
||||
@ -836,7 +836,8 @@ msgstr ""
|
||||
|
||||
#: plinth/modules/bepasty/views.py:88 plinth/modules/searx/views.py:35
|
||||
#: plinth/modules/searx/views.py:46 plinth/modules/security/views.py:56
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/zoph/views.py:74
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/torproxy/views.py:71
|
||||
#: plinth/modules/zoph/views.py:74
|
||||
msgid "Configuration updated."
|
||||
msgstr ""
|
||||
|
||||
@ -1920,7 +1921,7 @@ msgstr ""
|
||||
msgid "Host/Target/Value"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:23
|
||||
#: plinth/modules/firewall/__init__.py:24
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Firewall is a security system that controls the incoming and outgoing "
|
||||
@ -1928,10 +1929,22 @@ msgid ""
|
||||
"configured reduces risk of security threat from the Internet."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:59
|
||||
#: plinth/modules/firewall/__init__.py:60
|
||||
msgid "Firewall"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:269
|
||||
msgid "Default zone is external"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:276
|
||||
msgid "Firewall backend is nftables"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:287
|
||||
msgid "Direct passthrough rules exist"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/components.py:134
|
||||
#, python-brace-format
|
||||
msgid "Port {name} ({details}) available for internal networks"
|
||||
@ -2504,7 +2517,8 @@ msgstr ""
|
||||
msgid "I2P"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:49
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:61
|
||||
#: plinth/modules/torproxy/__init__.py:55
|
||||
msgid "Anonymity Network"
|
||||
msgstr ""
|
||||
|
||||
@ -4772,7 +4786,7 @@ msgstr ""
|
||||
msgid "Web Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/privoxy/__init__.py:113
|
||||
#: plinth/modules/privoxy/__init__.py:114
|
||||
#, python-brace-format
|
||||
msgid "Access {url} with proxy {proxy} on tcp{kind}"
|
||||
msgstr ""
|
||||
@ -6021,7 +6035,7 @@ msgstr ""
|
||||
msgid "File Synchronization"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:23
|
||||
#: plinth/modules/tor/__init__.py:31 plinth/modules/torproxy/__init__.py:27
|
||||
msgid ""
|
||||
"Tor is an anonymous communication system. You can learn more about it from "
|
||||
"the <a href=\"https://www.torproject.org/\">Tor Project</a> website. For "
|
||||
@ -6030,55 +6044,48 @@ msgid ""
|
||||
"en\">Tor Browser</a>."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:30
|
||||
#, python-brace-format
|
||||
#: plinth/modules/tor/__init__.py:37
|
||||
msgid ""
|
||||
"A Tor SOCKS port is available on your {box_name} for internal networks on "
|
||||
"TCP port 9050."
|
||||
"This app provides relay services to contribute to Tor network and help "
|
||||
"others overcome censorship."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:48
|
||||
#: plinth/modules/tor/__init__.py:40
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides an onion domain to expose {box_name} services via the Tor "
|
||||
"network. Using Tor browser, one can access {box_name} from the internet even "
|
||||
"when using an ISP that limits servers at home."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:60
|
||||
msgid "Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:65
|
||||
#: plinth/modules/tor/__init__.py:76
|
||||
msgid "Tor Onion Service"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:69
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:73
|
||||
#: plinth/modules/tor/__init__.py:80
|
||||
msgid "Tor Bridge Relay"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:132
|
||||
#: plinth/modules/tor/__init__.py:135
|
||||
msgid "Tor relay port available"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:143
|
||||
#: plinth/modules/tor/__init__.py:146
|
||||
msgid "Obfs3 transport registered"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:153
|
||||
#: plinth/modules/tor/__init__.py:156
|
||||
msgid "Obfs4 transport registered"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:165
|
||||
#: plinth/modules/tor/__init__.py:168
|
||||
msgid "Onion service is version 3"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:242
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:253
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:33
|
||||
msgid ""
|
||||
"Enter a valid bridge with this format: [transport] IP:ORPort [fingerprint]"
|
||||
@ -6106,11 +6113,11 @@ msgid ""
|
||||
"here. Currently supported transports are none, obfs3, obfs4 and scamblesuit."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:91
|
||||
#: plinth/modules/tor/forms.py:95
|
||||
msgid "Enable Tor relay"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:92
|
||||
#: plinth/modules/tor/forms.py:96
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"When enabled, your {box_name} will run a Tor relay and donate bandwidth to "
|
||||
@ -6118,22 +6125,22 @@ msgid ""
|
||||
"download bandwidth."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:97
|
||||
#: plinth/modules/tor/forms.py:101
|
||||
msgid "Enable Tor bridge relay"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:99
|
||||
#: plinth/modules/tor/forms.py:103
|
||||
msgid ""
|
||||
"When enabled, relay information is published in the Tor bridge database "
|
||||
"instead of public Tor relay database making it harder to censor this node. "
|
||||
"This helps others circumvent censorship."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:104
|
||||
#: plinth/modules/tor/forms.py:108
|
||||
msgid "Enable Tor Onion Service"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:106
|
||||
#: plinth/modules/tor/forms.py:110
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"An onion service will allow {box_name} to provide selected services (such as "
|
||||
@ -6141,26 +6148,15 @@ msgid ""
|
||||
"anonymity yet."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:111
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:112
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:127
|
||||
#: plinth/modules/tor/forms.py:125
|
||||
msgid "Specify at least one upstream bridge to use upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/manifest.py:15
|
||||
#: plinth/modules/tor/manifest.py:15 plinth/modules/torproxy/manifest.py:14
|
||||
msgid "Tor Browser"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/manifest.py:31
|
||||
#: plinth/modules/tor/manifest.py:31 plinth/modules/torproxy/manifest.py:30
|
||||
msgid "Orbot: Proxy with Tor"
|
||||
msgstr ""
|
||||
|
||||
@ -6172,16 +6168,54 @@ msgstr ""
|
||||
msgid "Ports"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/views.py:53
|
||||
#: plinth/modules/tor/views.py:53 plinth/modules/torproxy/views.py:51
|
||||
msgid "Updating configuration"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/views.py:70
|
||||
#: plinth/modules/tor/views.py:70 plinth/modules/torproxy/views.py:68
|
||||
#, fuzzy, python-brace-format
|
||||
#| msgid "Error installing application: {error}"
|
||||
msgid "Error configuring app: {error}"
|
||||
msgstr "خطأ في تثبيت التطبيق:{error}"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:34
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides a web proxy on your {box_name} for internal networks on "
|
||||
"TCP port 9050 using the SOCKS protocol. This can be used by various apps to "
|
||||
"access the internet via the Tor network. ISP censorship can be circumvented "
|
||||
"using upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:54
|
||||
msgid "Tor Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:79
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:138
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:149
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:15
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:16
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/transmission/__init__.py:25
|
||||
msgid "Transmission is a BitTorrent client with a web interface."
|
||||
msgstr ""
|
||||
@ -6507,14 +6541,14 @@ msgstr ""
|
||||
msgid "Starting distribution upgrade test."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:29
|
||||
#: plinth/modules/users/__init__.py:30
|
||||
msgid ""
|
||||
"Create and manage user accounts. These accounts serve as centralized "
|
||||
"authentication mechanism for most apps. Some apps further require a user "
|
||||
"account to be part of a group to authorize the user to access the app."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:34
|
||||
#: plinth/modules/users/__init__.py:35
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Any user may login to {box_name} web interface to see a list of apps "
|
||||
@ -6522,19 +6556,29 @@ msgid ""
|
||||
"group may alter apps or system settings."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:55
|
||||
#: plinth/modules/users/__init__.py:56
|
||||
msgid "Users and Groups"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:80
|
||||
#: plinth/modules/users/__init__.py:81
|
||||
msgid "Access to all services and system settings"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:116
|
||||
#: plinth/modules/users/__init__.py:124
|
||||
#, python-brace-format
|
||||
msgid "Check LDAP entry \"{search_item}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:137
|
||||
#, python-brace-format
|
||||
msgid "Check nslcd config \"{key} {value}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:166
|
||||
#, python-brace-format
|
||||
msgid "Check nsswitch config \"{database}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/forms.py:35
|
||||
msgid "Username is taken or is reserved."
|
||||
msgstr ""
|
||||
@ -7614,7 +7658,11 @@ msgstr ""
|
||||
msgid "Backup"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/templates/toolbar.html:51 plinth/templates/toolbar.html:52
|
||||
#: plinth/templates/toolbar.html:53
|
||||
msgid "Re-run setup"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/templates/toolbar.html:59 plinth/templates/toolbar.html:60
|
||||
#: plinth/templates/uninstall.html:30
|
||||
#, fuzzy
|
||||
#| msgid "Application installed."
|
||||
@ -7632,11 +7680,11 @@ msgid ""
|
||||
"installed freshly again."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/views.py:239
|
||||
#: plinth/views.py:241
|
||||
msgid "Setting unchanged"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/views.py:456
|
||||
#: plinth/views.py:478
|
||||
#, python-brace-format
|
||||
msgid "before uninstall of {app_id}"
|
||||
msgstr ""
|
||||
|
||||
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-06-19 20:15-0400\n"
|
||||
"POT-Creation-Date: 2023-07-31 20:04-0400\n"
|
||||
"PO-Revision-Date: 2023-04-19 09:52+0000\n"
|
||||
"Last-Translator: 109247019824 <stoyan@gmx.com>\n"
|
||||
"Language-Team: Bulgarian <https://hosted.weblate.org/projects/freedombox/"
|
||||
@ -28,7 +28,7 @@ msgstr "Изходен код на страницата"
|
||||
msgid "Static configuration {etc_path} is setup properly"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/context_processors.py:23 plinth/views.py:92
|
||||
#: plinth/context_processors.py:23 plinth/views.py:94
|
||||
msgid "FreedomBox"
|
||||
msgstr "FreedomBox"
|
||||
|
||||
@ -900,7 +900,8 @@ msgstr ""
|
||||
|
||||
#: plinth/modules/bepasty/views.py:88 plinth/modules/searx/views.py:35
|
||||
#: plinth/modules/searx/views.py:46 plinth/modules/security/views.py:56
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/zoph/views.py:74
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/torproxy/views.py:71
|
||||
#: plinth/modules/zoph/views.py:74
|
||||
msgid "Configuration updated."
|
||||
msgstr "Настройките са променени."
|
||||
|
||||
@ -2025,7 +2026,7 @@ msgstr "Порт"
|
||||
msgid "Host/Target/Value"
|
||||
msgstr "Хост/цел/стойност"
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:23
|
||||
#: plinth/modules/firewall/__init__.py:24
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Firewall is a security system that controls the incoming and outgoing "
|
||||
@ -2036,10 +2037,22 @@ msgstr ""
|
||||
"мрежов трафик в и от {box_name}. Поддържането на включена и правилно "
|
||||
"настроена защитна стена намалява риска от заплахи за сигурността от интернет."
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:59
|
||||
#: plinth/modules/firewall/__init__.py:60
|
||||
msgid "Firewall"
|
||||
msgstr "Защитна стена"
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:269
|
||||
msgid "Default zone is external"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:276
|
||||
msgid "Firewall backend is nftables"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:287
|
||||
msgid "Direct passthrough rules exist"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/components.py:134
|
||||
#, python-brace-format
|
||||
msgid "Port {name} ({details}) available for internal networks"
|
||||
@ -2633,7 +2646,8 @@ msgstr ""
|
||||
msgid "I2P"
|
||||
msgstr "I2P"
|
||||
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:49
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:61
|
||||
#: plinth/modules/torproxy/__init__.py:55
|
||||
msgid "Anonymity Network"
|
||||
msgstr "Анонимна мрежа"
|
||||
|
||||
@ -5008,7 +5022,7 @@ msgstr ""
|
||||
msgid "Web Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/privoxy/__init__.py:113
|
||||
#: plinth/modules/privoxy/__init__.py:114
|
||||
#, python-brace-format
|
||||
msgid "Access {url} with proxy {proxy} on tcp{kind}"
|
||||
msgstr ""
|
||||
@ -6310,7 +6324,7 @@ msgstr "Syncthing"
|
||||
msgid "File Synchronization"
|
||||
msgstr "Синхронизиране на файлове"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:23
|
||||
#: plinth/modules/tor/__init__.py:31 plinth/modules/torproxy/__init__.py:27
|
||||
msgid ""
|
||||
"Tor is an anonymous communication system. You can learn more about it from "
|
||||
"the <a href=\"https://www.torproject.org/\">Tor Project</a> website. For "
|
||||
@ -6319,59 +6333,50 @@ msgid ""
|
||||
"en\">Tor Browser</a>."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:30
|
||||
#: plinth/modules/tor/__init__.py:37
|
||||
msgid ""
|
||||
"This app provides relay services to contribute to Tor network and help "
|
||||
"others overcome censorship."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:40
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"A Tor SOCKS port is available on your {box_name} for internal networks on "
|
||||
"TCP port 9050."
|
||||
"This app provides an onion domain to expose {box_name} services via the Tor "
|
||||
"network. Using Tor browser, one can access {box_name} from the internet even "
|
||||
"when using an ISP that limits servers at home."
|
||||
msgstr ""
|
||||
"На {box_name} е достъпен порт на Tor SOCKS за вътрешни мрежи на порт 9050 от "
|
||||
"TCP."
|
||||
|
||||
#: plinth/modules/tor/__init__.py:48
|
||||
#: plinth/modules/tor/__init__.py:60
|
||||
msgid "Tor"
|
||||
msgstr "Тор"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:65
|
||||
#: plinth/modules/tor/__init__.py:76
|
||||
msgid "Tor Onion Service"
|
||||
msgstr "Услуга на Тор Onion"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:69
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr "Прокси сървър на Тор за SOCKS"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:73
|
||||
#: plinth/modules/tor/__init__.py:80
|
||||
msgid "Tor Bridge Relay"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:132
|
||||
#: plinth/modules/tor/__init__.py:135
|
||||
msgid "Tor relay port available"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:143
|
||||
#: plinth/modules/tor/__init__.py:146
|
||||
msgid "Obfs3 transport registered"
|
||||
msgstr "Транспортът Obfs3 е регистриран"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:153
|
||||
#: plinth/modules/tor/__init__.py:156
|
||||
msgid "Obfs4 transport registered"
|
||||
msgstr "Транспортът Obfs4 е регистриран"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:165
|
||||
#: plinth/modules/tor/__init__.py:168
|
||||
#, fuzzy
|
||||
#| msgid "Onion Service"
|
||||
msgid "Onion service is version 3"
|
||||
msgstr "Услуга на Onion"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:242
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr "Достъп до {url} по tcp{kind} чрез Тор"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:253
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:33
|
||||
msgid ""
|
||||
"Enter a valid bridge with this format: [transport] IP:ORPort [fingerprint]"
|
||||
@ -6409,11 +6414,11 @@ msgstr ""
|
||||
"информацията за мостовете тук. Текущо поддържаните транспорти са none, "
|
||||
"obfs3, obfs4 и scamblesuit."
|
||||
|
||||
#: plinth/modules/tor/forms.py:91
|
||||
#: plinth/modules/tor/forms.py:95
|
||||
msgid "Enable Tor relay"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:92
|
||||
#: plinth/modules/tor/forms.py:96
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"When enabled, your {box_name} will run a Tor relay and donate bandwidth to "
|
||||
@ -6424,11 +6429,11 @@ msgstr ""
|
||||
"част от пропускателната способност. Направете го ако разполагате с ширина на "
|
||||
"канала по-голяма от 2Мбит/сек."
|
||||
|
||||
#: plinth/modules/tor/forms.py:97
|
||||
#: plinth/modules/tor/forms.py:101
|
||||
msgid "Enable Tor bridge relay"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:99
|
||||
#: plinth/modules/tor/forms.py:103
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"When enabled, relay information is published in the Tor bridge database "
|
||||
@ -6436,13 +6441,13 @@ msgid ""
|
||||
"This helps others circumvent censorship."
|
||||
msgstr "Когато е отметнато,"
|
||||
|
||||
#: plinth/modules/tor/forms.py:104
|
||||
#: plinth/modules/tor/forms.py:108
|
||||
#, fuzzy
|
||||
#| msgid "Enable Tor Hidden Service"
|
||||
msgid "Enable Tor Onion Service"
|
||||
msgstr "Включване на скритата услуга на Тор"
|
||||
|
||||
#: plinth/modules/tor/forms.py:106
|
||||
#: plinth/modules/tor/forms.py:110
|
||||
#, fuzzy, python-brace-format
|
||||
#| msgid ""
|
||||
#| "A hidden service will allow {box_name} to provide selected services (such "
|
||||
@ -6457,29 +6462,15 @@ msgstr ""
|
||||
"(като енциклопедия или бързи съобщения) без да разкрива местоположението си. "
|
||||
"Не използвайте, за да криете самоличността си, все още."
|
||||
|
||||
#: plinth/modules/tor/forms.py:111
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr "Изтегляне на софтуерните пакети през Тор"
|
||||
|
||||
#: plinth/modules/tor/forms.py:112
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
"Когато е отметнато, софтуерът, при инсталиране и обновяване, ще бъде "
|
||||
"изтеглян през мрежата на Tor. По този начин се увеличава степента на "
|
||||
"поверителност на личния живот и сигурност при изтегляне."
|
||||
|
||||
#: plinth/modules/tor/forms.py:127
|
||||
#: plinth/modules/tor/forms.py:125
|
||||
msgid "Specify at least one upstream bridge to use upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/manifest.py:15
|
||||
#: plinth/modules/tor/manifest.py:15 plinth/modules/torproxy/manifest.py:14
|
||||
msgid "Tor Browser"
|
||||
msgstr "Четецът Тор"
|
||||
|
||||
#: plinth/modules/tor/manifest.py:31
|
||||
#: plinth/modules/tor/manifest.py:31 plinth/modules/torproxy/manifest.py:30
|
||||
msgid "Orbot: Proxy with Tor"
|
||||
msgstr "Орбот: Прокси с Тор"
|
||||
|
||||
@ -6491,15 +6482,58 @@ msgstr "Услуга на Onion"
|
||||
msgid "Ports"
|
||||
msgstr "Портове"
|
||||
|
||||
#: plinth/modules/tor/views.py:53
|
||||
#: plinth/modules/tor/views.py:53 plinth/modules/torproxy/views.py:51
|
||||
msgid "Updating configuration"
|
||||
msgstr "Настройките са променени"
|
||||
|
||||
#: plinth/modules/tor/views.py:70
|
||||
#: plinth/modules/tor/views.py:70 plinth/modules/torproxy/views.py:68
|
||||
#, python-brace-format
|
||||
msgid "Error configuring app: {error}"
|
||||
msgstr "Грешка при настройка на приложението: {error}"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:34
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides a web proxy on your {box_name} for internal networks on "
|
||||
"TCP port 9050 using the SOCKS protocol. This can be used by various apps to "
|
||||
"access the internet via the Tor network. ISP censorship can be circumvented "
|
||||
"using upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:54
|
||||
#, fuzzy
|
||||
#| msgid "Tor Socks Proxy"
|
||||
msgid "Tor Proxy"
|
||||
msgstr "Прокси сървър на Тор за SOCKS"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:79
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr "Прокси сървър на Тор за SOCKS"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:138
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr "Достъп до {url} по tcp{kind} чрез Тор"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:149
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:15
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr "Изтегляне на софтуерните пакети през Тор"
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:16
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
"Когато е отметнато, софтуерът, при инсталиране и обновяване, ще бъде "
|
||||
"изтеглян през мрежата на Tor. По този начин се увеличава степента на "
|
||||
"поверителност на личния живот и сигурност при изтегляне."
|
||||
|
||||
#: plinth/modules/transmission/__init__.py:25
|
||||
msgid "Transmission is a BitTorrent client with a web interface."
|
||||
msgstr ""
|
||||
@ -6868,7 +6902,7 @@ msgstr "Честото обновяване на възможности е вк
|
||||
msgid "Starting distribution upgrade test."
|
||||
msgstr "Начало на опит за обновяване на дистрибуцията."
|
||||
|
||||
#: plinth/modules/users/__init__.py:29
|
||||
#: plinth/modules/users/__init__.py:30
|
||||
msgid ""
|
||||
"Create and manage user accounts. These accounts serve as centralized "
|
||||
"authentication mechanism for most apps. Some apps further require a user "
|
||||
@ -6879,7 +6913,7 @@ msgstr ""
|
||||
"получи достъп, някои приложения още имат изискване потребителският профил да "
|
||||
"бъде част от определена група."
|
||||
|
||||
#: plinth/modules/users/__init__.py:34
|
||||
#: plinth/modules/users/__init__.py:35
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Any user may login to {box_name} web interface to see a list of apps "
|
||||
@ -6891,19 +6925,29 @@ msgstr ""
|
||||
"<em>администратори</em> могат да променят приложенията и настройките на "
|
||||
"системата."
|
||||
|
||||
#: plinth/modules/users/__init__.py:55
|
||||
#: plinth/modules/users/__init__.py:56
|
||||
msgid "Users and Groups"
|
||||
msgstr "Потребители и групи"
|
||||
|
||||
#: plinth/modules/users/__init__.py:80
|
||||
#: plinth/modules/users/__init__.py:81
|
||||
msgid "Access to all services and system settings"
|
||||
msgstr "Достъп до всички услуги и системни настройки"
|
||||
|
||||
#: plinth/modules/users/__init__.py:116
|
||||
#: plinth/modules/users/__init__.py:124
|
||||
#, python-brace-format
|
||||
msgid "Check LDAP entry \"{search_item}\""
|
||||
msgstr "Проверете записа на LDAP „{search_item}“"
|
||||
|
||||
#: plinth/modules/users/__init__.py:137
|
||||
#, python-brace-format
|
||||
msgid "Check nslcd config \"{key} {value}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:166
|
||||
#, python-brace-format
|
||||
msgid "Check nsswitch config \"{database}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/forms.py:35
|
||||
msgid "Username is taken or is reserved."
|
||||
msgstr "Потребителското име е заето."
|
||||
@ -8002,7 +8046,11 @@ msgstr "Обновяване"
|
||||
msgid "Backup"
|
||||
msgstr "Резервни копия"
|
||||
|
||||
#: plinth/templates/toolbar.html:51 plinth/templates/toolbar.html:52
|
||||
#: plinth/templates/toolbar.html:53
|
||||
msgid "Re-run setup"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/templates/toolbar.html:59 plinth/templates/toolbar.html:60
|
||||
#: plinth/templates/uninstall.html:30
|
||||
msgid "Uninstall"
|
||||
msgstr "Премахване"
|
||||
@ -8020,11 +8068,11 @@ msgstr ""
|
||||
"Всички данни и настройки на приложението ще бъдат загубени. Приложението "
|
||||
"може да бъде инсталирано отново."
|
||||
|
||||
#: plinth/views.py:239
|
||||
#: plinth/views.py:241
|
||||
msgid "Setting unchanged"
|
||||
msgstr "Настройките не са променени"
|
||||
|
||||
#: plinth/views.py:456
|
||||
#: plinth/views.py:478
|
||||
#, python-brace-format
|
||||
msgid "before uninstall of {app_id}"
|
||||
msgstr "преди премахване на {app_id}"
|
||||
@ -8033,6 +8081,14 @@ msgstr "преди премахване на {app_id}"
|
||||
msgid "Gujarati"
|
||||
msgstr "Гуджарати"
|
||||
|
||||
#, python-brace-format
|
||||
#~ msgid ""
|
||||
#~ "A Tor SOCKS port is available on your {box_name} for internal networks on "
|
||||
#~ "TCP port 9050."
|
||||
#~ msgstr ""
|
||||
#~ "На {box_name} е достъпен порт на Tor SOCKS за вътрешни мрежи на порт 9050 "
|
||||
#~ "от TCP."
|
||||
|
||||
#, python-brace-format
|
||||
#~ msgid ""
|
||||
#~ "When enabled, text box for server input is removed from login page and "
|
||||
|
||||
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-06-19 20:15-0400\n"
|
||||
"POT-Creation-Date: 2023-07-31 20:04-0400\n"
|
||||
"PO-Revision-Date: 2021-06-16 07:33+0000\n"
|
||||
"Last-Translator: Oymate <dhruboadittya96@gmail.com>\n"
|
||||
"Language-Team: Bengali <https://hosted.weblate.org/projects/freedombox/"
|
||||
@ -28,7 +28,7 @@ msgstr "পৃষ্ঠার উৎস"
|
||||
msgid "Static configuration {etc_path} is setup properly"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/context_processors.py:23 plinth/views.py:92
|
||||
#: plinth/context_processors.py:23 plinth/views.py:94
|
||||
msgid "FreedomBox"
|
||||
msgstr "ফ্রিডমবক্স"
|
||||
|
||||
@ -835,7 +835,8 @@ msgstr ""
|
||||
|
||||
#: plinth/modules/bepasty/views.py:88 plinth/modules/searx/views.py:35
|
||||
#: plinth/modules/searx/views.py:46 plinth/modules/security/views.py:56
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/zoph/views.py:74
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/torproxy/views.py:71
|
||||
#: plinth/modules/zoph/views.py:74
|
||||
msgid "Configuration updated."
|
||||
msgstr ""
|
||||
|
||||
@ -1932,7 +1933,7 @@ msgstr ""
|
||||
msgid "Host/Target/Value"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:23
|
||||
#: plinth/modules/firewall/__init__.py:24
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Firewall is a security system that controls the incoming and outgoing "
|
||||
@ -1940,10 +1941,22 @@ msgid ""
|
||||
"configured reduces risk of security threat from the Internet."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:59
|
||||
#: plinth/modules/firewall/__init__.py:60
|
||||
msgid "Firewall"
|
||||
msgstr "ফায়ারওয়্যাল"
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:269
|
||||
msgid "Default zone is external"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:276
|
||||
msgid "Firewall backend is nftables"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:287
|
||||
msgid "Direct passthrough rules exist"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/components.py:134
|
||||
#, python-brace-format
|
||||
msgid "Port {name} ({details}) available for internal networks"
|
||||
@ -2516,7 +2529,8 @@ msgstr ""
|
||||
msgid "I2P"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:49
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:61
|
||||
#: plinth/modules/torproxy/__init__.py:55
|
||||
msgid "Anonymity Network"
|
||||
msgstr ""
|
||||
|
||||
@ -4784,7 +4798,7 @@ msgstr ""
|
||||
msgid "Web Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/privoxy/__init__.py:113
|
||||
#: plinth/modules/privoxy/__init__.py:114
|
||||
#, python-brace-format
|
||||
msgid "Access {url} with proxy {proxy} on tcp{kind}"
|
||||
msgstr ""
|
||||
@ -6035,7 +6049,7 @@ msgstr ""
|
||||
msgid "File Synchronization"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:23
|
||||
#: plinth/modules/tor/__init__.py:31 plinth/modules/torproxy/__init__.py:27
|
||||
msgid ""
|
||||
"Tor is an anonymous communication system. You can learn more about it from "
|
||||
"the <a href=\"https://www.torproject.org/\">Tor Project</a> website. For "
|
||||
@ -6044,55 +6058,48 @@ msgid ""
|
||||
"en\">Tor Browser</a>."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:30
|
||||
#, python-brace-format
|
||||
#: plinth/modules/tor/__init__.py:37
|
||||
msgid ""
|
||||
"A Tor SOCKS port is available on your {box_name} for internal networks on "
|
||||
"TCP port 9050."
|
||||
"This app provides relay services to contribute to Tor network and help "
|
||||
"others overcome censorship."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:48
|
||||
#: plinth/modules/tor/__init__.py:40
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides an onion domain to expose {box_name} services via the Tor "
|
||||
"network. Using Tor browser, one can access {box_name} from the internet even "
|
||||
"when using an ISP that limits servers at home."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:60
|
||||
msgid "Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:65
|
||||
#: plinth/modules/tor/__init__.py:76
|
||||
msgid "Tor Onion Service"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:69
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:73
|
||||
#: plinth/modules/tor/__init__.py:80
|
||||
msgid "Tor Bridge Relay"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:132
|
||||
#: plinth/modules/tor/__init__.py:135
|
||||
msgid "Tor relay port available"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:143
|
||||
#: plinth/modules/tor/__init__.py:146
|
||||
msgid "Obfs3 transport registered"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:153
|
||||
#: plinth/modules/tor/__init__.py:156
|
||||
msgid "Obfs4 transport registered"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:165
|
||||
#: plinth/modules/tor/__init__.py:168
|
||||
msgid "Onion service is version 3"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:242
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:253
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:33
|
||||
msgid ""
|
||||
"Enter a valid bridge with this format: [transport] IP:ORPort [fingerprint]"
|
||||
@ -6120,11 +6127,11 @@ msgid ""
|
||||
"here. Currently supported transports are none, obfs3, obfs4 and scamblesuit."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:91
|
||||
#: plinth/modules/tor/forms.py:95
|
||||
msgid "Enable Tor relay"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:92
|
||||
#: plinth/modules/tor/forms.py:96
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"When enabled, your {box_name} will run a Tor relay and donate bandwidth to "
|
||||
@ -6132,22 +6139,22 @@ msgid ""
|
||||
"download bandwidth."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:97
|
||||
#: plinth/modules/tor/forms.py:101
|
||||
msgid "Enable Tor bridge relay"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:99
|
||||
#: plinth/modules/tor/forms.py:103
|
||||
msgid ""
|
||||
"When enabled, relay information is published in the Tor bridge database "
|
||||
"instead of public Tor relay database making it harder to censor this node. "
|
||||
"This helps others circumvent censorship."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:104
|
||||
#: plinth/modules/tor/forms.py:108
|
||||
msgid "Enable Tor Onion Service"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:106
|
||||
#: plinth/modules/tor/forms.py:110
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"An onion service will allow {box_name} to provide selected services (such as "
|
||||
@ -6155,26 +6162,15 @@ msgid ""
|
||||
"anonymity yet."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:111
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:112
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:127
|
||||
#: plinth/modules/tor/forms.py:125
|
||||
msgid "Specify at least one upstream bridge to use upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/manifest.py:15
|
||||
#: plinth/modules/tor/manifest.py:15 plinth/modules/torproxy/manifest.py:14
|
||||
msgid "Tor Browser"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/manifest.py:31
|
||||
#: plinth/modules/tor/manifest.py:31 plinth/modules/torproxy/manifest.py:30
|
||||
msgid "Orbot: Proxy with Tor"
|
||||
msgstr ""
|
||||
|
||||
@ -6186,17 +6182,55 @@ msgstr ""
|
||||
msgid "Ports"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/views.py:53
|
||||
#: plinth/modules/tor/views.py:53 plinth/modules/torproxy/views.py:51
|
||||
#, fuzzy
|
||||
#| msgid "Configuration"
|
||||
msgid "Updating configuration"
|
||||
msgstr "পছন্দসমূহ"
|
||||
|
||||
#: plinth/modules/tor/views.py:70
|
||||
#: plinth/modules/tor/views.py:70 plinth/modules/torproxy/views.py:68
|
||||
#, python-brace-format
|
||||
msgid "Error configuring app: {error}"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:34
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides a web proxy on your {box_name} for internal networks on "
|
||||
"TCP port 9050 using the SOCKS protocol. This can be used by various apps to "
|
||||
"access the internet via the Tor network. ISP censorship can be circumvented "
|
||||
"using upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:54
|
||||
msgid "Tor Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:79
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:138
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:149
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:15
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:16
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/transmission/__init__.py:25
|
||||
msgid "Transmission is a BitTorrent client with a web interface."
|
||||
msgstr ""
|
||||
@ -6522,14 +6556,14 @@ msgstr ""
|
||||
msgid "Starting distribution upgrade test."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:29
|
||||
#: plinth/modules/users/__init__.py:30
|
||||
msgid ""
|
||||
"Create and manage user accounts. These accounts serve as centralized "
|
||||
"authentication mechanism for most apps. Some apps further require a user "
|
||||
"account to be part of a group to authorize the user to access the app."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:34
|
||||
#: plinth/modules/users/__init__.py:35
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Any user may login to {box_name} web interface to see a list of apps "
|
||||
@ -6537,19 +6571,29 @@ msgid ""
|
||||
"group may alter apps or system settings."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:55
|
||||
#: plinth/modules/users/__init__.py:56
|
||||
msgid "Users and Groups"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:80
|
||||
#: plinth/modules/users/__init__.py:81
|
||||
msgid "Access to all services and system settings"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:116
|
||||
#: plinth/modules/users/__init__.py:124
|
||||
#, python-brace-format
|
||||
msgid "Check LDAP entry \"{search_item}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:137
|
||||
#, python-brace-format
|
||||
msgid "Check nslcd config \"{key} {value}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:166
|
||||
#, python-brace-format
|
||||
msgid "Check nsswitch config \"{database}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/forms.py:35
|
||||
msgid "Username is taken or is reserved."
|
||||
msgstr ""
|
||||
@ -7619,7 +7663,11 @@ msgstr ""
|
||||
msgid "Backup"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/templates/toolbar.html:51 plinth/templates/toolbar.html:52
|
||||
#: plinth/templates/toolbar.html:53
|
||||
msgid "Re-run setup"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/templates/toolbar.html:59 plinth/templates/toolbar.html:60
|
||||
#: plinth/templates/uninstall.html:30
|
||||
msgid "Uninstall"
|
||||
msgstr ""
|
||||
@ -7635,11 +7683,11 @@ msgid ""
|
||||
"installed freshly again."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/views.py:239
|
||||
#: plinth/views.py:241
|
||||
msgid "Setting unchanged"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/views.py:456
|
||||
#: plinth/views.py:478
|
||||
#, python-brace-format
|
||||
msgid "before uninstall of {app_id}"
|
||||
msgstr ""
|
||||
|
||||
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-06-19 20:15-0400\n"
|
||||
"POT-Creation-Date: 2023-07-31 20:04-0400\n"
|
||||
"PO-Revision-Date: 2023-06-14 07:51+0000\n"
|
||||
"Last-Translator: Jiří Podhorecký <j.podhorecky@volny.cz>\n"
|
||||
"Language-Team: Czech <https://hosted.weblate.org/projects/freedombox/"
|
||||
@ -28,7 +28,7 @@ msgstr "Zdrojový kód stránky"
|
||||
msgid "Static configuration {etc_path} is setup properly"
|
||||
msgstr "Statická konfigurace {etc_path} je nastavena správně"
|
||||
|
||||
#: plinth/context_processors.py:23 plinth/views.py:92
|
||||
#: plinth/context_processors.py:23 plinth/views.py:94
|
||||
msgid "FreedomBox"
|
||||
msgstr "FreedomBox"
|
||||
|
||||
@ -899,7 +899,8 @@ msgstr "správce"
|
||||
|
||||
#: plinth/modules/bepasty/views.py:88 plinth/modules/searx/views.py:35
|
||||
#: plinth/modules/searx/views.py:46 plinth/modules/security/views.py:56
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/zoph/views.py:74
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/torproxy/views.py:71
|
||||
#: plinth/modules/zoph/views.py:74
|
||||
msgid "Configuration updated."
|
||||
msgstr "Nastavení aktualizována."
|
||||
|
||||
@ -2133,7 +2134,7 @@ msgstr "Port"
|
||||
msgid "Host/Target/Value"
|
||||
msgstr "Hostitel / cíl / hodnota"
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:23
|
||||
#: plinth/modules/firewall/__init__.py:24
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Firewall is a security system that controls the incoming and outgoing "
|
||||
@ -2144,10 +2145,24 @@ msgstr ""
|
||||
"provoz na vašem {box_name}. Zapnutá a správně nastavená brána firewall "
|
||||
"snižuje riziko bezpečnostních hrozeb z Internetu."
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:59
|
||||
#: plinth/modules/firewall/__init__.py:60
|
||||
msgid "Firewall"
|
||||
msgstr "Brána firewall"
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:269
|
||||
#, fuzzy
|
||||
#| msgid "Default app set"
|
||||
msgid "Default zone is external"
|
||||
msgstr "Výchozí sada aplikací"
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:276
|
||||
msgid "Firewall backend is nftables"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:287
|
||||
msgid "Direct passthrough rules exist"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/components.py:134
|
||||
#, python-brace-format
|
||||
msgid "Port {name} ({details}) available for internal networks"
|
||||
@ -2819,7 +2834,8 @@ msgstr "Spravovat aplikaci I2P"
|
||||
msgid "I2P"
|
||||
msgstr "I2P"
|
||||
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:49
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:61
|
||||
#: plinth/modules/torproxy/__init__.py:55
|
||||
msgid "Anonymity Network"
|
||||
msgstr "Anonymní síť"
|
||||
|
||||
@ -5435,7 +5451,7 @@ msgstr "Privoxy"
|
||||
msgid "Web Proxy"
|
||||
msgstr "Webová proxy"
|
||||
|
||||
#: plinth/modules/privoxy/__init__.py:113
|
||||
#: plinth/modules/privoxy/__init__.py:114
|
||||
#, python-brace-format
|
||||
msgid "Access {url} with proxy {proxy} on tcp{kind}"
|
||||
msgstr "Přistupte {url} s proxy {proxy} na tcp{kind}"
|
||||
@ -6875,7 +6891,7 @@ msgstr "Syncthing"
|
||||
msgid "File Synchronization"
|
||||
msgstr "Synchronizace souborů"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:23
|
||||
#: plinth/modules/tor/__init__.py:31 plinth/modules/torproxy/__init__.py:27
|
||||
msgid ""
|
||||
"Tor is an anonymous communication system. You can learn more about it from "
|
||||
"the <a href=\"https://www.torproject.org/\">Tor Project</a> website. For "
|
||||
@ -6889,57 +6905,48 @@ msgstr ""
|
||||
"prohlížeč <a href=\"https://www.torproject.org/download/download-easy.html."
|
||||
"en\">Tor Browser</a>."
|
||||
|
||||
#: plinth/modules/tor/__init__.py:30
|
||||
#: plinth/modules/tor/__init__.py:37
|
||||
msgid ""
|
||||
"This app provides relay services to contribute to Tor network and help "
|
||||
"others overcome censorship."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:40
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"A Tor SOCKS port is available on your {box_name} for internal networks on "
|
||||
"TCP port 9050."
|
||||
"This app provides an onion domain to expose {box_name} services via the Tor "
|
||||
"network. Using Tor browser, one can access {box_name} from the internet even "
|
||||
"when using an ISP that limits servers at home."
|
||||
msgstr ""
|
||||
"Tor SOCKS port je k dispozici na vašem {box_name} pro interní síť na TCP "
|
||||
"portu 9050."
|
||||
|
||||
#: plinth/modules/tor/__init__.py:48
|
||||
#: plinth/modules/tor/__init__.py:60
|
||||
msgid "Tor"
|
||||
msgstr "Tor"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:65
|
||||
#: plinth/modules/tor/__init__.py:76
|
||||
msgid "Tor Onion Service"
|
||||
msgstr "Tor Onion Service"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:69
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr "Tor Socks proxy"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:73
|
||||
#: plinth/modules/tor/__init__.py:80
|
||||
msgid "Tor Bridge Relay"
|
||||
msgstr "Předávájící Tor most"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:132
|
||||
#: plinth/modules/tor/__init__.py:135
|
||||
msgid "Tor relay port available"
|
||||
msgstr "Port Tor předávání k dispozici"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:143
|
||||
#: plinth/modules/tor/__init__.py:146
|
||||
msgid "Obfs3 transport registered"
|
||||
msgstr "Obfs3 transport zaregistrován"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:153
|
||||
#: plinth/modules/tor/__init__.py:156
|
||||
msgid "Obfs4 transport registered"
|
||||
msgstr "Obfs4 transport zaregistrován"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:165
|
||||
#: plinth/modules/tor/__init__.py:168
|
||||
msgid "Onion service is version 3"
|
||||
msgstr "Onion service je verze 3"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:242
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr "Přistoupit k URL adrese {url} na tcp{kind} prostřednictvím Tor"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:253
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr "Potvrďte použití Tor na adrese {url} na tcp{kind}"
|
||||
|
||||
#: plinth/modules/tor/forms.py:33
|
||||
msgid ""
|
||||
"Enter a valid bridge with this format: [transport] IP:ORPort [fingerprint]"
|
||||
@ -6974,11 +6981,11 @@ msgstr ""
|
||||
"\">https://bridges.torproject.org/</a> a zkopírovat informace odtud. V "
|
||||
"současnosti podporované transporty jsou none, obfs3, obfs4 a scamblesuit."
|
||||
|
||||
#: plinth/modules/tor/forms.py:91
|
||||
#: plinth/modules/tor/forms.py:95
|
||||
msgid "Enable Tor relay"
|
||||
msgstr "Zapnout Tor předávání"
|
||||
|
||||
#: plinth/modules/tor/forms.py:92
|
||||
#: plinth/modules/tor/forms.py:96
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"When enabled, your {box_name} will run a Tor relay and donate bandwidth to "
|
||||
@ -6989,11 +6996,11 @@ msgstr ""
|
||||
"přenosové pásmo pro Tor síť. Toto udělejte pokud má přípojka rychlost více "
|
||||
"než 2 megabity/s v obou směrech."
|
||||
|
||||
#: plinth/modules/tor/forms.py:97
|
||||
#: plinth/modules/tor/forms.py:101
|
||||
msgid "Enable Tor bridge relay"
|
||||
msgstr "Zapnout předávání Tor mostu"
|
||||
|
||||
#: plinth/modules/tor/forms.py:99
|
||||
#: plinth/modules/tor/forms.py:103
|
||||
msgid ""
|
||||
"When enabled, relay information is published in the Tor bridge database "
|
||||
"instead of public Tor relay database making it harder to censor this node. "
|
||||
@ -7003,11 +7010,11 @@ msgstr ""
|
||||
"namísto veřejné databázi Tor předávání, čímž je těžší tento uzel cenzurovat. "
|
||||
"Toto ostatním pomůže obcházet cenzuru."
|
||||
|
||||
#: plinth/modules/tor/forms.py:104
|
||||
#: plinth/modules/tor/forms.py:108
|
||||
msgid "Enable Tor Onion Service"
|
||||
msgstr "Povolit službu Tor Onion"
|
||||
|
||||
#: plinth/modules/tor/forms.py:106
|
||||
#: plinth/modules/tor/forms.py:110
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"An onion service will allow {box_name} to provide selected services (such as "
|
||||
@ -7018,29 +7025,15 @@ msgstr ""
|
||||
"wiki nebo chat), aniž by odhalila svou polohu. Pro silnou anonymitu to zatím "
|
||||
"nepoužívejte."
|
||||
|
||||
#: plinth/modules/tor/forms.py:111
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr "Stahovat balíčky software prostřednictvím sítě Tor"
|
||||
|
||||
#: plinth/modules/tor/forms.py:112
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
"Když je zapnuto, software pro instalaci a aktualizace bude stahováno přes "
|
||||
"síť Tor. To zlepší soukromí a zabezpečení při stahování software (ale je "
|
||||
"pomalejší)."
|
||||
|
||||
#: plinth/modules/tor/forms.py:127
|
||||
#: plinth/modules/tor/forms.py:125
|
||||
msgid "Specify at least one upstream bridge to use upstream bridges."
|
||||
msgstr "Pro používání nadřazených mostů je třeba určit alespoň jeden takový."
|
||||
|
||||
#: plinth/modules/tor/manifest.py:15
|
||||
#: plinth/modules/tor/manifest.py:15 plinth/modules/torproxy/manifest.py:14
|
||||
msgid "Tor Browser"
|
||||
msgstr "Tor prohlížeč"
|
||||
|
||||
#: plinth/modules/tor/manifest.py:31
|
||||
#: plinth/modules/tor/manifest.py:31 plinth/modules/torproxy/manifest.py:30
|
||||
msgid "Orbot: Proxy with Tor"
|
||||
msgstr "Orbot: proxy s Tor"
|
||||
|
||||
@ -7052,15 +7045,58 @@ msgstr "Onion služba"
|
||||
msgid "Ports"
|
||||
msgstr "Porty"
|
||||
|
||||
#: plinth/modules/tor/views.py:53
|
||||
#: plinth/modules/tor/views.py:53 plinth/modules/torproxy/views.py:51
|
||||
msgid "Updating configuration"
|
||||
msgstr "Aktualizace konfigurace"
|
||||
|
||||
#: plinth/modules/tor/views.py:70
|
||||
#: plinth/modules/tor/views.py:70 plinth/modules/torproxy/views.py:68
|
||||
#, python-brace-format
|
||||
msgid "Error configuring app: {error}"
|
||||
msgstr "Chyba při konfiguraci aplikace: {error}"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:34
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides a web proxy on your {box_name} for internal networks on "
|
||||
"TCP port 9050 using the SOCKS protocol. This can be used by various apps to "
|
||||
"access the internet via the Tor network. ISP censorship can be circumvented "
|
||||
"using upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:54
|
||||
#, fuzzy
|
||||
#| msgid "Tor Socks Proxy"
|
||||
msgid "Tor Proxy"
|
||||
msgstr "Tor Socks proxy"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:79
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr "Tor Socks proxy"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:138
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr "Přistoupit k URL adrese {url} na tcp{kind} prostřednictvím Tor"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:149
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr "Potvrďte použití Tor na adrese {url} na tcp{kind}"
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:15
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr "Stahovat balíčky software prostřednictvím sítě Tor"
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:16
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
"Když je zapnuto, software pro instalaci a aktualizace bude stahováno přes "
|
||||
"síť Tor. To zlepší soukromí a zabezpečení při stahování software (ale je "
|
||||
"pomalejší)."
|
||||
|
||||
#: plinth/modules/transmission/__init__.py:25
|
||||
msgid "Transmission is a BitTorrent client with a web interface."
|
||||
msgstr ""
|
||||
@ -7443,7 +7479,7 @@ msgstr "Aktivovány časté aktualizace funkcí."
|
||||
msgid "Starting distribution upgrade test."
|
||||
msgstr "Zahájení testu aktualizace distribuce."
|
||||
|
||||
#: plinth/modules/users/__init__.py:29
|
||||
#: plinth/modules/users/__init__.py:30
|
||||
msgid ""
|
||||
"Create and manage user accounts. These accounts serve as centralized "
|
||||
"authentication mechanism for most apps. Some apps further require a user "
|
||||
@ -7454,7 +7490,7 @@ msgstr ""
|
||||
"aby uživatelský účet byl součástí skupiny, která uživatele opravňuje k "
|
||||
"přístupu k aplikaci."
|
||||
|
||||
#: plinth/modules/users/__init__.py:34
|
||||
#: plinth/modules/users/__init__.py:35
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Any user may login to {box_name} web interface to see a list of apps "
|
||||
@ -7466,19 +7502,29 @@ msgstr ""
|
||||
"nebo nastavení systému však mohou měnit pouze uživatelé skupiny <em>admin</"
|
||||
"em>."
|
||||
|
||||
#: plinth/modules/users/__init__.py:55
|
||||
#: plinth/modules/users/__init__.py:56
|
||||
msgid "Users and Groups"
|
||||
msgstr "Uživatelé a skupiny"
|
||||
|
||||
#: plinth/modules/users/__init__.py:80
|
||||
#: plinth/modules/users/__init__.py:81
|
||||
msgid "Access to all services and system settings"
|
||||
msgstr "Přístup ke všem službám a nastavení systému"
|
||||
|
||||
#: plinth/modules/users/__init__.py:116
|
||||
#: plinth/modules/users/__init__.py:124
|
||||
#, python-brace-format
|
||||
msgid "Check LDAP entry \"{search_item}\""
|
||||
msgstr "Zkontrolujte LDAP položku „{search_item}“"
|
||||
|
||||
#: plinth/modules/users/__init__.py:137
|
||||
#, python-brace-format
|
||||
msgid "Check nslcd config \"{key} {value}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:166
|
||||
#, python-brace-format
|
||||
msgid "Check nsswitch config \"{database}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/forms.py:35
|
||||
msgid "Username is taken or is reserved."
|
||||
msgstr ""
|
||||
@ -8665,7 +8711,13 @@ msgstr "Aktualizovat"
|
||||
msgid "Backup"
|
||||
msgstr "Záloha"
|
||||
|
||||
#: plinth/templates/toolbar.html:51 plinth/templates/toolbar.html:52
|
||||
#: plinth/templates/toolbar.html:53
|
||||
#, fuzzy
|
||||
#| msgid "Start setup"
|
||||
msgid "Re-run setup"
|
||||
msgstr "Zahájit nastavování"
|
||||
|
||||
#: plinth/templates/toolbar.html:59 plinth/templates/toolbar.html:60
|
||||
#: plinth/templates/uninstall.html:30
|
||||
msgid "Uninstall"
|
||||
msgstr "Odinstalace"
|
||||
@ -8683,11 +8735,11 @@ msgstr ""
|
||||
"Všechna data a konfigurace aplikace budou trvale ztraceny. Aplikaci lze "
|
||||
"nainstalovat znovu."
|
||||
|
||||
#: plinth/views.py:239
|
||||
#: plinth/views.py:241
|
||||
msgid "Setting unchanged"
|
||||
msgstr "Nastavení se nezměnila"
|
||||
|
||||
#: plinth/views.py:456
|
||||
#: plinth/views.py:478
|
||||
#, python-brace-format
|
||||
msgid "before uninstall of {app_id}"
|
||||
msgstr "před odinstalací {app_id}"
|
||||
@ -8696,6 +8748,14 @@ msgstr "před odinstalací {app_id}"
|
||||
msgid "Gujarati"
|
||||
msgstr "gudžarátština"
|
||||
|
||||
#, python-brace-format
|
||||
#~ msgid ""
|
||||
#~ "A Tor SOCKS port is available on your {box_name} for internal networks on "
|
||||
#~ "TCP port 9050."
|
||||
#~ msgstr ""
|
||||
#~ "Tor SOCKS port je k dispozici na vašem {box_name} pro interní síť na TCP "
|
||||
#~ "portu 9050."
|
||||
|
||||
#, python-brace-format
|
||||
#~ msgid ""
|
||||
#~ "When enabled, text box for server input is removed from login page and "
|
||||
@ -9493,9 +9553,6 @@ msgstr "gudžarátština"
|
||||
#~ "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é"
|
||||
|
||||
@ -10147,9 +10204,6 @@ msgstr "gudžarátština"
|
||||
#~ msgid "Error setting default app: {exception}"
|
||||
#~ msgstr "Chyba při nastavování výchozí aplikace: {exception}"
|
||||
|
||||
#~ msgid "Default app set"
|
||||
#~ msgstr "Výchozí sada aplikací"
|
||||
|
||||
#~ msgid "Abort"
|
||||
#~ msgstr "Přerušit"
|
||||
|
||||
|
||||
@ -9,7 +9,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: FreedomBox UI\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-06-19 20:15-0400\n"
|
||||
"POT-Creation-Date: 2023-07-31 20:04-0400\n"
|
||||
"PO-Revision-Date: 2022-09-14 17:19+0000\n"
|
||||
"Last-Translator: ikmaak <info@ikmaak.nl>\n"
|
||||
"Language-Team: Danish <https://hosted.weblate.org/projects/freedombox/"
|
||||
@ -30,7 +30,7 @@ msgstr "Sidens kildekode"
|
||||
msgid "Static configuration {etc_path} is setup properly"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/context_processors.py:23 plinth/views.py:92
|
||||
#: plinth/context_processors.py:23 plinth/views.py:94
|
||||
msgid "FreedomBox"
|
||||
msgstr "FreedomBox"
|
||||
|
||||
@ -913,7 +913,8 @@ msgstr "Admin"
|
||||
|
||||
#: plinth/modules/bepasty/views.py:88 plinth/modules/searx/views.py:35
|
||||
#: plinth/modules/searx/views.py:46 plinth/modules/security/views.py:56
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/zoph/views.py:74
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/torproxy/views.py:71
|
||||
#: plinth/modules/zoph/views.py:74
|
||||
msgid "Configuration updated."
|
||||
msgstr "Konfiguration opdateret."
|
||||
|
||||
@ -2163,7 +2164,7 @@ msgstr "Port"
|
||||
msgid "Host/Target/Value"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:23
|
||||
#: plinth/modules/firewall/__init__.py:24
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Firewall is a security system that controls the incoming and outgoing "
|
||||
@ -2174,10 +2175,24 @@ msgstr ""
|
||||
"på din{box_name}. At holde en firewall aktiveret og velkonfigureret "
|
||||
"reducerer risikoen for sikkerhedstrusler fra internettet."
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:59
|
||||
#: plinth/modules/firewall/__init__.py:60
|
||||
msgid "Firewall"
|
||||
msgstr "Firewall"
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:269
|
||||
#, fuzzy
|
||||
#| msgid "Default"
|
||||
msgid "Default zone is external"
|
||||
msgstr "Standard"
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:276
|
||||
msgid "Firewall backend is nftables"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:287
|
||||
msgid "Direct passthrough rules exist"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/components.py:134
|
||||
#, python-brace-format
|
||||
msgid "Port {name} ({details}) available for internal networks"
|
||||
@ -2859,7 +2874,8 @@ msgstr "Aktiver applikation"
|
||||
msgid "I2P"
|
||||
msgstr "I2P"
|
||||
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:49
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:61
|
||||
#: plinth/modules/torproxy/__init__.py:55
|
||||
#, fuzzy
|
||||
#| msgid "Tor Anonymity Network"
|
||||
msgid "Anonymity Network"
|
||||
@ -5480,7 +5496,7 @@ msgstr "Aktiver Privoxy"
|
||||
msgid "Web Proxy"
|
||||
msgstr "Privoxy Webproxy"
|
||||
|
||||
#: plinth/modules/privoxy/__init__.py:113
|
||||
#: plinth/modules/privoxy/__init__.py:114
|
||||
#, python-brace-format
|
||||
msgid "Access {url} with proxy {proxy} on tcp{kind}"
|
||||
msgstr "Tilgå {url} med proxy {proxy} ved brug af tcp{kind}"
|
||||
@ -6935,7 +6951,7 @@ msgstr ""
|
||||
msgid "File Synchronization"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:23
|
||||
#: plinth/modules/tor/__init__.py:31 plinth/modules/torproxy/__init__.py:27
|
||||
msgid ""
|
||||
"Tor is an anonymous communication system. You can learn more about it from "
|
||||
"the <a href=\"https://www.torproject.org/\">Tor Project</a> website. For "
|
||||
@ -6949,60 +6965,52 @@ msgstr ""
|
||||
"du bruger <a href=\"https://www.torproject.org/download/download-easy.html."
|
||||
"en\">Tor-browseren</a>."
|
||||
|
||||
#: plinth/modules/tor/__init__.py:30
|
||||
#, fuzzy, python-brace-format
|
||||
#| msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050."
|
||||
#: plinth/modules/tor/__init__.py:37
|
||||
msgid ""
|
||||
"A Tor SOCKS port is available on your {box_name} for internal networks on "
|
||||
"TCP port 9050."
|
||||
msgstr "En Tor SOCKS-port er tilgængelig på din %(box_name)s TCP-port 9050."
|
||||
"This app provides relay services to contribute to Tor network and help "
|
||||
"others overcome censorship."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:48
|
||||
#: plinth/modules/tor/__init__.py:40
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides an onion domain to expose {box_name} services via the Tor "
|
||||
"network. Using Tor browser, one can access {box_name} from the internet even "
|
||||
"when using an ISP that limits servers at home."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:60
|
||||
msgid "Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:65
|
||||
#: plinth/modules/tor/__init__.py:76
|
||||
#, fuzzy
|
||||
#| msgid "Tor Hidden Service"
|
||||
msgid "Tor Onion Service"
|
||||
msgstr "Tor Skjult Tjeneste"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:69
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:73
|
||||
#: plinth/modules/tor/__init__.py:80
|
||||
msgid "Tor Bridge Relay"
|
||||
msgstr "Tor Bridge Relay"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:132
|
||||
#: plinth/modules/tor/__init__.py:135
|
||||
msgid "Tor relay port available"
|
||||
msgstr "Tor videresendelsesport tilgængelig"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:143
|
||||
#: plinth/modules/tor/__init__.py:146
|
||||
msgid "Obfs3 transport registered"
|
||||
msgstr "Obfs3 transport registreret"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:153
|
||||
#: plinth/modules/tor/__init__.py:156
|
||||
msgid "Obfs4 transport registered"
|
||||
msgstr "Obfs4 transport registreret"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:165
|
||||
#: plinth/modules/tor/__init__.py:168
|
||||
#, fuzzy
|
||||
#| msgid "Hidden Service"
|
||||
msgid "Onion service is version 3"
|
||||
msgstr "Skjult Tjeneste"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:242
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr "Tilgå URL {url} ved brug af tcp{kind} via Tor"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:253
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr "Bekræft brug af Tor på {url} ved brug af tcp{kind}"
|
||||
|
||||
#: plinth/modules/tor/forms.py:33
|
||||
msgid ""
|
||||
"Enter a valid bridge with this format: [transport] IP:ORPort [fingerprint]"
|
||||
@ -7030,13 +7038,13 @@ msgid ""
|
||||
"here. Currently supported transports are none, obfs3, obfs4 and scamblesuit."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:91
|
||||
#: plinth/modules/tor/forms.py:95
|
||||
#, fuzzy
|
||||
#| msgid "Enable Tor"
|
||||
msgid "Enable Tor relay"
|
||||
msgstr "Aktiver Tor"
|
||||
|
||||
#: plinth/modules/tor/forms.py:92
|
||||
#: plinth/modules/tor/forms.py:96
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"When enabled, your {box_name} will run a Tor relay and donate bandwidth to "
|
||||
@ -7044,25 +7052,25 @@ msgid ""
|
||||
"download bandwidth."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:97
|
||||
#: plinth/modules/tor/forms.py:101
|
||||
#, fuzzy
|
||||
msgid "Enable Tor bridge relay"
|
||||
msgstr "Tor Bridge Relay"
|
||||
|
||||
#: plinth/modules/tor/forms.py:99
|
||||
#: plinth/modules/tor/forms.py:103
|
||||
msgid ""
|
||||
"When enabled, relay information is published in the Tor bridge database "
|
||||
"instead of public Tor relay database making it harder to censor this node. "
|
||||
"This helps others circumvent censorship."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:104
|
||||
#: plinth/modules/tor/forms.py:108
|
||||
#, fuzzy
|
||||
#| msgid "Enable Tor Hidden Service"
|
||||
msgid "Enable Tor Onion Service"
|
||||
msgstr "Aktiver Tor Skjult Tjeneste"
|
||||
|
||||
#: plinth/modules/tor/forms.py:106
|
||||
#: plinth/modules/tor/forms.py:110
|
||||
#, fuzzy, python-brace-format
|
||||
#| msgid ""
|
||||
#| "A hidden service will allow {box_name} to provide selected services (such "
|
||||
@ -7075,29 +7083,15 @@ msgstr ""
|
||||
"En skjult tjeneste tillader {box_name} at levere udvalgte tjenester (såsom "
|
||||
"ownCloud og chat) uden at afsløre sin lokation."
|
||||
|
||||
#: plinth/modules/tor/forms.py:111
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr "Hent softwarepakker over Tor"
|
||||
|
||||
#: plinth/modules/tor/forms.py:112
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
"Når aktiveret, vil softwareinstallationer og opdateringer blive hentet over "
|
||||
"Tor-netværket. Dette giver en vis grad af privatlivsbeskyttelse og sikkerhed "
|
||||
"under hentningen."
|
||||
|
||||
#: plinth/modules/tor/forms.py:127
|
||||
#: plinth/modules/tor/forms.py:125
|
||||
msgid "Specify at least one upstream bridge to use upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/manifest.py:15
|
||||
#: plinth/modules/tor/manifest.py:15 plinth/modules/torproxy/manifest.py:14
|
||||
msgid "Tor Browser"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/manifest.py:31
|
||||
#: plinth/modules/tor/manifest.py:31 plinth/modules/torproxy/manifest.py:30
|
||||
msgid "Orbot: Proxy with Tor"
|
||||
msgstr ""
|
||||
|
||||
@ -7111,18 +7105,61 @@ msgstr "Skjult Tjeneste"
|
||||
msgid "Ports"
|
||||
msgstr "Porte"
|
||||
|
||||
#: plinth/modules/tor/views.py:53
|
||||
#: plinth/modules/tor/views.py:53 plinth/modules/torproxy/views.py:51
|
||||
#, fuzzy
|
||||
#| msgid "An error occurred during configuration."
|
||||
msgid "Updating configuration"
|
||||
msgstr "Der opstod en fejl under konfigurationen."
|
||||
|
||||
#: plinth/modules/tor/views.py:70
|
||||
#: plinth/modules/tor/views.py:70 plinth/modules/torproxy/views.py:68
|
||||
#, fuzzy, python-brace-format
|
||||
#| msgid "Error installing application: {error}"
|
||||
msgid "Error configuring app: {error}"
|
||||
msgstr "Kunne ikke installere applikation: {error}"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:34
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides a web proxy on your {box_name} for internal networks on "
|
||||
"TCP port 9050 using the SOCKS protocol. This can be used by various apps to "
|
||||
"access the internet via the Tor network. ISP censorship can be circumvented "
|
||||
"using upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:54
|
||||
#, fuzzy
|
||||
#| msgid "I2P Proxy"
|
||||
msgid "Tor Proxy"
|
||||
msgstr "I2P Proxy"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:79
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:138
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr "Tilgå URL {url} ved brug af tcp{kind} via Tor"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:149
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr "Bekræft brug af Tor på {url} ved brug af tcp{kind}"
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:15
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr "Hent softwarepakker over Tor"
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:16
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
"Når aktiveret, vil softwareinstallationer og opdateringer blive hentet over "
|
||||
"Tor-netværket. Dette giver en vis grad af privatlivsbeskyttelse og sikkerhed "
|
||||
"under hentningen."
|
||||
|
||||
#: plinth/modules/transmission/__init__.py:25
|
||||
msgid "Transmission is a BitTorrent client with a web interface."
|
||||
msgstr ""
|
||||
@ -7519,14 +7556,14 @@ msgstr ""
|
||||
msgid "Starting distribution upgrade test."
|
||||
msgstr "Automatisk opdatering aktiveret"
|
||||
|
||||
#: plinth/modules/users/__init__.py:29
|
||||
#: plinth/modules/users/__init__.py:30
|
||||
msgid ""
|
||||
"Create and manage user accounts. These accounts serve as centralized "
|
||||
"authentication mechanism for most apps. Some apps further require a user "
|
||||
"account to be part of a group to authorize the user to access the app."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:34
|
||||
#: plinth/modules/users/__init__.py:35
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Any user may login to {box_name} web interface to see a list of apps "
|
||||
@ -7534,19 +7571,29 @@ msgid ""
|
||||
"group may alter apps or system settings."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:55
|
||||
#: plinth/modules/users/__init__.py:56
|
||||
msgid "Users and Groups"
|
||||
msgstr "Brugere og Grupper"
|
||||
|
||||
#: plinth/modules/users/__init__.py:80
|
||||
#: plinth/modules/users/__init__.py:81
|
||||
msgid "Access to all services and system settings"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:116
|
||||
#: plinth/modules/users/__init__.py:124
|
||||
#, python-brace-format
|
||||
msgid "Check LDAP entry \"{search_item}\""
|
||||
msgstr "Kontrol af LDAP-konfiguration \"{search_item}\""
|
||||
|
||||
#: plinth/modules/users/__init__.py:137
|
||||
#, python-brace-format
|
||||
msgid "Check nslcd config \"{key} {value}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:166
|
||||
#, python-brace-format
|
||||
msgid "Check nsswitch config \"{database}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/forms.py:35
|
||||
msgid "Username is taken or is reserved."
|
||||
msgstr ""
|
||||
@ -8772,7 +8819,13 @@ msgstr "Opdater"
|
||||
msgid "Backup"
|
||||
msgstr "Sikkerhedskopiering"
|
||||
|
||||
#: plinth/templates/toolbar.html:51 plinth/templates/toolbar.html:52
|
||||
#: plinth/templates/toolbar.html:53
|
||||
#, fuzzy
|
||||
#| msgid "Start setup"
|
||||
msgid "Re-run setup"
|
||||
msgstr "Start opsætning"
|
||||
|
||||
#: plinth/templates/toolbar.html:59 plinth/templates/toolbar.html:60
|
||||
#: plinth/templates/uninstall.html:30
|
||||
#, fuzzy
|
||||
#| msgid "Install"
|
||||
@ -8791,11 +8844,11 @@ msgid ""
|
||||
"installed freshly again."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/views.py:239
|
||||
#: plinth/views.py:241
|
||||
msgid "Setting unchanged"
|
||||
msgstr "Indstilling uændret"
|
||||
|
||||
#: plinth/views.py:456
|
||||
#: plinth/views.py:478
|
||||
#, python-brace-format
|
||||
msgid "before uninstall of {app_id}"
|
||||
msgstr ""
|
||||
@ -8804,6 +8857,14 @@ msgstr ""
|
||||
msgid "Gujarati"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy, python-brace-format
|
||||
#~| msgid ""
|
||||
#~| "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050."
|
||||
#~ msgid ""
|
||||
#~ "A Tor SOCKS port is available on your {box_name} for internal networks on "
|
||||
#~ "TCP port 9050."
|
||||
#~ msgstr "En Tor SOCKS-port er tilgængelig på din %(box_name)s TCP-port 9050."
|
||||
|
||||
#~ msgid "ChatSecure"
|
||||
#~ msgstr "ChatSecure"
|
||||
|
||||
@ -9432,9 +9493,6 @@ msgstr ""
|
||||
#~ "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"
|
||||
|
||||
@ -9910,11 +9968,6 @@ msgstr ""
|
||||
#~ msgid "Error setting default app: {exception}"
|
||||
#~ msgstr "Kunne ikke sætte sprog: {exception}"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Default"
|
||||
#~ msgid "Default app set"
|
||||
#~ msgstr "Standard"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "NTP client in contact with servers"
|
||||
#~ msgid "chrony client in contact with servers"
|
||||
|
||||
@ -9,7 +9,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: FreedomBox UI\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-06-19 20:15-0400\n"
|
||||
"POT-Creation-Date: 2023-07-31 20:04-0400\n"
|
||||
"PO-Revision-Date: 2023-06-26 16:51+0000\n"
|
||||
"Last-Translator: Ettore Atalan <atalanttore@googlemail.com>\n"
|
||||
"Language-Team: German <https://hosted.weblate.org/projects/freedombox/"
|
||||
@ -30,7 +30,7 @@ msgstr "Seitenquelle"
|
||||
msgid "Static configuration {etc_path} is setup properly"
|
||||
msgstr "Statische Konfiguration {etc_path} ist richtig eingerichtet"
|
||||
|
||||
#: plinth/context_processors.py:23 plinth/views.py:92
|
||||
#: plinth/context_processors.py:23 plinth/views.py:94
|
||||
msgid "FreedomBox"
|
||||
msgstr "FreedomBox"
|
||||
|
||||
@ -924,7 +924,8 @@ msgstr "Admin"
|
||||
|
||||
#: plinth/modules/bepasty/views.py:88 plinth/modules/searx/views.py:35
|
||||
#: plinth/modules/searx/views.py:46 plinth/modules/security/views.py:56
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/zoph/views.py:74
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/torproxy/views.py:71
|
||||
#: plinth/modules/zoph/views.py:74
|
||||
msgid "Configuration updated."
|
||||
msgstr "Konfiguration aktualisiert."
|
||||
|
||||
@ -2177,7 +2178,7 @@ msgstr "Port"
|
||||
msgid "Host/Target/Value"
|
||||
msgstr "Host/Ziel/Wert"
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:23
|
||||
#: plinth/modules/firewall/__init__.py:24
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Firewall is a security system that controls the incoming and outgoing "
|
||||
@ -2188,10 +2189,24 @@ msgstr ""
|
||||
"Verkehr Ihrer {box_name} kontrolliert. Die Firewall aktiv und korrekt "
|
||||
"konfiguriert halten reduziert Sicherheitsrisiken aus dem Internet."
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:59
|
||||
#: plinth/modules/firewall/__init__.py:60
|
||||
msgid "Firewall"
|
||||
msgstr "Firewall"
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:269
|
||||
#, fuzzy
|
||||
#| msgid "Default app set"
|
||||
msgid "Default zone is external"
|
||||
msgstr "Standard-Anwendung eingestellt"
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:276
|
||||
msgid "Firewall backend is nftables"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:287
|
||||
msgid "Direct passthrough rules exist"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/components.py:134
|
||||
#, python-brace-format
|
||||
msgid "Port {name} ({details}) available for internal networks"
|
||||
@ -2878,7 +2893,8 @@ msgstr "I2P-Anwendung verwalten"
|
||||
msgid "I2P"
|
||||
msgstr "I2P"
|
||||
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:49
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:61
|
||||
#: plinth/modules/torproxy/__init__.py:55
|
||||
msgid "Anonymity Network"
|
||||
msgstr "Anonymisierungsnetzwerk"
|
||||
|
||||
@ -5547,7 +5563,7 @@ msgstr "Privoxy"
|
||||
msgid "Web Proxy"
|
||||
msgstr "Web Proxy"
|
||||
|
||||
#: plinth/modules/privoxy/__init__.py:113
|
||||
#: plinth/modules/privoxy/__init__.py:114
|
||||
#, python-brace-format
|
||||
msgid "Access {url} with proxy {proxy} on tcp{kind}"
|
||||
msgstr "Zugang auf {url} über Proxy {proxy} auf TCP{kind}"
|
||||
@ -7027,7 +7043,7 @@ msgstr "Syncthing"
|
||||
msgid "File Synchronization"
|
||||
msgstr "Dateisynchronisation"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:23
|
||||
#: plinth/modules/tor/__init__.py:31 plinth/modules/torproxy/__init__.py:27
|
||||
msgid ""
|
||||
"Tor is an anonymous communication system. You can learn more about it from "
|
||||
"the <a href=\"https://www.torproject.org/\">Tor Project</a> website. For "
|
||||
@ -7041,59 +7057,50 @@ msgstr ""
|
||||
"Sie den <a href=\"https://www.torproject.org/download/download-easy.html."
|
||||
"en\">Tor Browser</a> verwenden."
|
||||
|
||||
#: plinth/modules/tor/__init__.py:30
|
||||
#: plinth/modules/tor/__init__.py:37
|
||||
msgid ""
|
||||
"This app provides relay services to contribute to Tor network and help "
|
||||
"others overcome censorship."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:40
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"A Tor SOCKS port is available on your {box_name} for internal networks on "
|
||||
"TCP port 9050."
|
||||
"This app provides an onion domain to expose {box_name} services via the Tor "
|
||||
"network. Using Tor browser, one can access {box_name} from the internet even "
|
||||
"when using an ISP that limits servers at home."
|
||||
msgstr ""
|
||||
"Tor SOCKS-Port ist auf Ihrer {box_name} für interne Netzwerke auf TCP port "
|
||||
"9050 verfügbar."
|
||||
|
||||
#: plinth/modules/tor/__init__.py:48
|
||||
#: plinth/modules/tor/__init__.py:60
|
||||
msgid "Tor"
|
||||
msgstr "Tor"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:65
|
||||
#: plinth/modules/tor/__init__.py:76
|
||||
msgid "Tor Onion Service"
|
||||
msgstr "Tor-Onion-Dienste"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:69
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr "Tor-Socks-Proxy"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:73
|
||||
#: plinth/modules/tor/__init__.py:80
|
||||
msgid "Tor Bridge Relay"
|
||||
msgstr "Tor-Bridge-Relay"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:132
|
||||
#: plinth/modules/tor/__init__.py:135
|
||||
msgid "Tor relay port available"
|
||||
msgstr "Tor-Relay-Port ist verfügbar"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:143
|
||||
#: plinth/modules/tor/__init__.py:146
|
||||
msgid "Obfs3 transport registered"
|
||||
msgstr "Obfs3-Transport registriert"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:153
|
||||
#: plinth/modules/tor/__init__.py:156
|
||||
msgid "Obfs4 transport registered"
|
||||
msgstr "Obfs4-Transport registriert"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:165
|
||||
#: plinth/modules/tor/__init__.py:168
|
||||
#, fuzzy
|
||||
#| msgid "Onion Service"
|
||||
msgid "Onion service is version 3"
|
||||
msgstr "Onion-Dienste"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:242
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr "Zugangs-URL {url} auf TCP{kind} über Tor"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:253
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr "Tor-Nutzung auf {url} über TCP{kind} bestätigen"
|
||||
|
||||
#: plinth/modules/tor/forms.py:33
|
||||
msgid ""
|
||||
"Enter a valid bridge with this format: [transport] IP:ORPort [fingerprint]"
|
||||
@ -7131,11 +7138,11 @@ msgstr ""
|
||||
"Informationen von dort kopieren und hier einfügen. Derzeitig unterstützte "
|
||||
"Transports sind „none“, „obfs3“, „obfs4“ und „scamblesuit“."
|
||||
|
||||
#: plinth/modules/tor/forms.py:91
|
||||
#: plinth/modules/tor/forms.py:95
|
||||
msgid "Enable Tor relay"
|
||||
msgstr "Tor-Relay einschalten"
|
||||
|
||||
#: plinth/modules/tor/forms.py:92
|
||||
#: plinth/modules/tor/forms.py:96
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"When enabled, your {box_name} will run a Tor relay and donate bandwidth to "
|
||||
@ -7147,11 +7154,11 @@ msgstr ""
|
||||
"Upload-Bandbreite zur Verfügung haben, sollten Sie diese Funktion "
|
||||
"aktivieren. (Es verbessert die Anonymisierung)."
|
||||
|
||||
#: plinth/modules/tor/forms.py:97
|
||||
#: plinth/modules/tor/forms.py:101
|
||||
msgid "Enable Tor bridge relay"
|
||||
msgstr "Tor-Bridge-Relay aktivieren"
|
||||
|
||||
#: plinth/modules/tor/forms.py:99
|
||||
#: plinth/modules/tor/forms.py:103
|
||||
msgid ""
|
||||
"When enabled, relay information is published in the Tor bridge database "
|
||||
"instead of public Tor relay database making it harder to censor this node. "
|
||||
@ -7161,13 +7168,13 @@ msgstr ""
|
||||
"Datenbank veröffentlicht, anstatt in einer öffentlichen Tor-Relay-Datenbank, "
|
||||
"was die Zensur des Knotens erschwert. Dies hilft anderen, Zensur zu umgehen."
|
||||
|
||||
#: plinth/modules/tor/forms.py:104
|
||||
#: plinth/modules/tor/forms.py:108
|
||||
#, fuzzy
|
||||
#| msgid "Enable Tor Hidden Service"
|
||||
msgid "Enable Tor Onion Service"
|
||||
msgstr "Tor Hidden Service aktivieren"
|
||||
|
||||
#: plinth/modules/tor/forms.py:106
|
||||
#: plinth/modules/tor/forms.py:110
|
||||
#, fuzzy, python-brace-format
|
||||
#| msgid ""
|
||||
#| "A hidden service will allow {box_name} to provide selected services (such "
|
||||
@ -7182,31 +7189,17 @@ msgstr ""
|
||||
"B. Wiki oder Chat) bereitzustellen, ohne seinen Standort preiszugeben. "
|
||||
"Verwenden Sie dies noch nicht für starke Anonymität."
|
||||
|
||||
#: plinth/modules/tor/forms.py:111
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr "Softwarepakete über das Tor-Netzwerk herunterladen"
|
||||
|
||||
#: plinth/modules/tor/forms.py:112
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
"Wenn aktiviert, werden zukünftige Softwarepakete für die Installation und "
|
||||
"den Aktualisierungen über das Tor-Netzwerk heruntergeladen. Dies erhöht die "
|
||||
"Privatsphäre und Sicherheit während die Software heruntergeladen wird."
|
||||
|
||||
#: plinth/modules/tor/forms.py:127
|
||||
#: plinth/modules/tor/forms.py:125
|
||||
msgid "Specify at least one upstream bridge to use upstream bridges."
|
||||
msgstr ""
|
||||
"Tragen Sie mindestens eine Upstream-Bridge ein, um Upstream-Bridges zu "
|
||||
"nutzen."
|
||||
|
||||
#: plinth/modules/tor/manifest.py:15
|
||||
#: plinth/modules/tor/manifest.py:15 plinth/modules/torproxy/manifest.py:14
|
||||
msgid "Tor Browser"
|
||||
msgstr "Tor Browser"
|
||||
|
||||
#: plinth/modules/tor/manifest.py:31
|
||||
#: plinth/modules/tor/manifest.py:31 plinth/modules/torproxy/manifest.py:30
|
||||
msgid "Orbot: Proxy with Tor"
|
||||
msgstr "Orbot: Proxy mit Tor"
|
||||
|
||||
@ -7218,15 +7211,58 @@ msgstr "Onion-Dienste"
|
||||
msgid "Ports"
|
||||
msgstr "Ports"
|
||||
|
||||
#: plinth/modules/tor/views.py:53
|
||||
#: plinth/modules/tor/views.py:53 plinth/modules/torproxy/views.py:51
|
||||
msgid "Updating configuration"
|
||||
msgstr "Aktualisieren der Konfiguration"
|
||||
|
||||
#: plinth/modules/tor/views.py:70
|
||||
#: plinth/modules/tor/views.py:70 plinth/modules/torproxy/views.py:68
|
||||
#, python-brace-format
|
||||
msgid "Error configuring app: {error}"
|
||||
msgstr "Fehler beim Konfigurieren der App: {error}"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:34
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides a web proxy on your {box_name} for internal networks on "
|
||||
"TCP port 9050 using the SOCKS protocol. This can be used by various apps to "
|
||||
"access the internet via the Tor network. ISP censorship can be circumvented "
|
||||
"using upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:54
|
||||
#, fuzzy
|
||||
#| msgid "Tor Socks Proxy"
|
||||
msgid "Tor Proxy"
|
||||
msgstr "Tor-Socks-Proxy"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:79
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr "Tor-Socks-Proxy"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:138
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr "Zugangs-URL {url} auf TCP{kind} über Tor"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:149
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr "Tor-Nutzung auf {url} über TCP{kind} bestätigen"
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:15
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr "Softwarepakete über das Tor-Netzwerk herunterladen"
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:16
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
"Wenn aktiviert, werden zukünftige Softwarepakete für die Installation und "
|
||||
"den Aktualisierungen über das Tor-Netzwerk heruntergeladen. Dies erhöht die "
|
||||
"Privatsphäre und Sicherheit während die Software heruntergeladen wird."
|
||||
|
||||
#: plinth/modules/transmission/__init__.py:25
|
||||
msgid "Transmission is a BitTorrent client with a web interface."
|
||||
msgstr "Transmission ist ein BitTorrent-Client mit einer Weboberfläche."
|
||||
@ -7622,7 +7658,7 @@ msgstr "Häufige Funktions-Updates aktiviert."
|
||||
msgid "Starting distribution upgrade test."
|
||||
msgstr "Start des Tests zur Aktualisierung der Distribution."
|
||||
|
||||
#: plinth/modules/users/__init__.py:29
|
||||
#: plinth/modules/users/__init__.py:30
|
||||
msgid ""
|
||||
"Create and manage user accounts. These accounts serve as centralized "
|
||||
"authentication mechanism for most apps. Some apps further require a user "
|
||||
@ -7633,7 +7669,7 @@ msgstr ""
|
||||
"muss ein Benutzerkonto Teil einer Gruppe sein, damit ein Benutzer auf die "
|
||||
"App zugreifen kann."
|
||||
|
||||
#: plinth/modules/users/__init__.py:34
|
||||
#: plinth/modules/users/__init__.py:35
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Any user may login to {box_name} web interface to see a list of apps "
|
||||
@ -7645,19 +7681,29 @@ msgstr ""
|
||||
"dürfen nur Mitglieder der Gruppe <em>admin</em> Apps oder "
|
||||
"Systemeinstellungen ändern."
|
||||
|
||||
#: plinth/modules/users/__init__.py:55
|
||||
#: plinth/modules/users/__init__.py:56
|
||||
msgid "Users and Groups"
|
||||
msgstr "Benutzer und Gruppen"
|
||||
|
||||
#: plinth/modules/users/__init__.py:80
|
||||
#: plinth/modules/users/__init__.py:81
|
||||
msgid "Access to all services and system settings"
|
||||
msgstr "Zugriff auf alle Anwendungen und Systemeinstellungen"
|
||||
|
||||
#: plinth/modules/users/__init__.py:116
|
||||
#: plinth/modules/users/__init__.py:124
|
||||
#, python-brace-format
|
||||
msgid "Check LDAP entry \"{search_item}\""
|
||||
msgstr "LDAP-Eintrag „{search_item}“ prüfen"
|
||||
|
||||
#: plinth/modules/users/__init__.py:137
|
||||
#, python-brace-format
|
||||
msgid "Check nslcd config \"{key} {value}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:166
|
||||
#, python-brace-format
|
||||
msgid "Check nsswitch config \"{database}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/forms.py:35
|
||||
msgid "Username is taken or is reserved."
|
||||
msgstr "Benutzername wird bereits verwendet oder ist reserviert."
|
||||
@ -8873,7 +8919,13 @@ msgstr "Aktualisieren"
|
||||
msgid "Backup"
|
||||
msgstr "Sicherungskopie"
|
||||
|
||||
#: plinth/templates/toolbar.html:51 plinth/templates/toolbar.html:52
|
||||
#: plinth/templates/toolbar.html:53
|
||||
#, fuzzy
|
||||
#| msgid "Start setup"
|
||||
msgid "Re-run setup"
|
||||
msgstr "Einrichten beginnen"
|
||||
|
||||
#: plinth/templates/toolbar.html:59 plinth/templates/toolbar.html:60
|
||||
#: plinth/templates/uninstall.html:30
|
||||
msgid "Uninstall"
|
||||
msgstr "Deinstallieren"
|
||||
@ -8891,11 +8943,11 @@ msgstr ""
|
||||
"Alle App-Daten und -Konfigurationen gehen dauerhaft verloren. App kann "
|
||||
"wieder frisch installiert werden."
|
||||
|
||||
#: plinth/views.py:239
|
||||
#: plinth/views.py:241
|
||||
msgid "Setting unchanged"
|
||||
msgstr "Einstellung unverändert"
|
||||
|
||||
#: plinth/views.py:456
|
||||
#: plinth/views.py:478
|
||||
#, python-brace-format
|
||||
msgid "before uninstall of {app_id}"
|
||||
msgstr "vor der Deinstallation von {app_id}"
|
||||
@ -8904,6 +8956,14 @@ msgstr "vor der Deinstallation von {app_id}"
|
||||
msgid "Gujarati"
|
||||
msgstr "Gujarati"
|
||||
|
||||
#, python-brace-format
|
||||
#~ msgid ""
|
||||
#~ "A Tor SOCKS port is available on your {box_name} for internal networks on "
|
||||
#~ "TCP port 9050."
|
||||
#~ msgstr ""
|
||||
#~ "Tor SOCKS-Port ist auf Ihrer {box_name} für interne Netzwerke auf TCP "
|
||||
#~ "port 9050 verfügbar."
|
||||
|
||||
#, python-brace-format
|
||||
#~ msgid ""
|
||||
#~ "When enabled, text box for server input is removed from login page and "
|
||||
@ -9723,9 +9783,6 @@ msgstr "Gujarati"
|
||||
#~ "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"
|
||||
|
||||
@ -10376,9 +10433,6 @@ msgstr "Gujarati"
|
||||
#~ msgid "Error setting default app: {exception}"
|
||||
#~ msgstr "Fehler beim Einstellen der Standard-Anwendung: {exception}"
|
||||
|
||||
#~ msgid "Default app set"
|
||||
#~ msgstr "Standard-Anwendung eingestellt"
|
||||
|
||||
#~ msgid "Abort"
|
||||
#~ msgstr "Abbrechen"
|
||||
|
||||
|
||||
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-06-19 20:15-0400\n"
|
||||
"POT-Creation-Date: 2023-07-31 20:04-0400\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"
|
||||
@ -26,7 +26,7 @@ msgstr ""
|
||||
msgid "Static configuration {etc_path} is setup properly"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/context_processors.py:23 plinth/views.py:92
|
||||
#: plinth/context_processors.py:23 plinth/views.py:94
|
||||
msgid "FreedomBox"
|
||||
msgstr ""
|
||||
|
||||
@ -833,7 +833,8 @@ msgstr ""
|
||||
|
||||
#: plinth/modules/bepasty/views.py:88 plinth/modules/searx/views.py:35
|
||||
#: plinth/modules/searx/views.py:46 plinth/modules/security/views.py:56
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/zoph/views.py:74
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/torproxy/views.py:71
|
||||
#: plinth/modules/zoph/views.py:74
|
||||
msgid "Configuration updated."
|
||||
msgstr ""
|
||||
|
||||
@ -1915,7 +1916,7 @@ msgstr ""
|
||||
msgid "Host/Target/Value"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:23
|
||||
#: plinth/modules/firewall/__init__.py:24
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Firewall is a security system that controls the incoming and outgoing "
|
||||
@ -1923,10 +1924,22 @@ msgid ""
|
||||
"configured reduces risk of security threat from the Internet."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:59
|
||||
#: plinth/modules/firewall/__init__.py:60
|
||||
msgid "Firewall"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:269
|
||||
msgid "Default zone is external"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:276
|
||||
msgid "Firewall backend is nftables"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:287
|
||||
msgid "Direct passthrough rules exist"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/components.py:134
|
||||
#, python-brace-format
|
||||
msgid "Port {name} ({details}) available for internal networks"
|
||||
@ -2499,7 +2512,8 @@ msgstr ""
|
||||
msgid "I2P"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:49
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:61
|
||||
#: plinth/modules/torproxy/__init__.py:55
|
||||
msgid "Anonymity Network"
|
||||
msgstr ""
|
||||
|
||||
@ -4763,7 +4777,7 @@ msgstr ""
|
||||
msgid "Web Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/privoxy/__init__.py:113
|
||||
#: plinth/modules/privoxy/__init__.py:114
|
||||
#, python-brace-format
|
||||
msgid "Access {url} with proxy {proxy} on tcp{kind}"
|
||||
msgstr ""
|
||||
@ -6012,7 +6026,7 @@ msgstr ""
|
||||
msgid "File Synchronization"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:23
|
||||
#: plinth/modules/tor/__init__.py:31 plinth/modules/torproxy/__init__.py:27
|
||||
msgid ""
|
||||
"Tor is an anonymous communication system. You can learn more about it from "
|
||||
"the <a href=\"https://www.torproject.org/\">Tor Project</a> website. For "
|
||||
@ -6021,55 +6035,48 @@ msgid ""
|
||||
"en\">Tor Browser</a>."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:30
|
||||
#, python-brace-format
|
||||
#: plinth/modules/tor/__init__.py:37
|
||||
msgid ""
|
||||
"A Tor SOCKS port is available on your {box_name} for internal networks on "
|
||||
"TCP port 9050."
|
||||
"This app provides relay services to contribute to Tor network and help "
|
||||
"others overcome censorship."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:48
|
||||
#: plinth/modules/tor/__init__.py:40
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides an onion domain to expose {box_name} services via the Tor "
|
||||
"network. Using Tor browser, one can access {box_name} from the internet even "
|
||||
"when using an ISP that limits servers at home."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:60
|
||||
msgid "Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:65
|
||||
#: plinth/modules/tor/__init__.py:76
|
||||
msgid "Tor Onion Service"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:69
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:73
|
||||
#: plinth/modules/tor/__init__.py:80
|
||||
msgid "Tor Bridge Relay"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:132
|
||||
#: plinth/modules/tor/__init__.py:135
|
||||
msgid "Tor relay port available"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:143
|
||||
#: plinth/modules/tor/__init__.py:146
|
||||
msgid "Obfs3 transport registered"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:153
|
||||
#: plinth/modules/tor/__init__.py:156
|
||||
msgid "Obfs4 transport registered"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:165
|
||||
#: plinth/modules/tor/__init__.py:168
|
||||
msgid "Onion service is version 3"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:242
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:253
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:33
|
||||
msgid ""
|
||||
"Enter a valid bridge with this format: [transport] IP:ORPort [fingerprint]"
|
||||
@ -6097,11 +6104,11 @@ msgid ""
|
||||
"here. Currently supported transports are none, obfs3, obfs4 and scamblesuit."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:91
|
||||
#: plinth/modules/tor/forms.py:95
|
||||
msgid "Enable Tor relay"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:92
|
||||
#: plinth/modules/tor/forms.py:96
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"When enabled, your {box_name} will run a Tor relay and donate bandwidth to "
|
||||
@ -6109,22 +6116,22 @@ msgid ""
|
||||
"download bandwidth."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:97
|
||||
#: plinth/modules/tor/forms.py:101
|
||||
msgid "Enable Tor bridge relay"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:99
|
||||
#: plinth/modules/tor/forms.py:103
|
||||
msgid ""
|
||||
"When enabled, relay information is published in the Tor bridge database "
|
||||
"instead of public Tor relay database making it harder to censor this node. "
|
||||
"This helps others circumvent censorship."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:104
|
||||
#: plinth/modules/tor/forms.py:108
|
||||
msgid "Enable Tor Onion Service"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:106
|
||||
#: plinth/modules/tor/forms.py:110
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"An onion service will allow {box_name} to provide selected services (such as "
|
||||
@ -6132,26 +6139,15 @@ msgid ""
|
||||
"anonymity yet."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:111
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:112
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:127
|
||||
#: plinth/modules/tor/forms.py:125
|
||||
msgid "Specify at least one upstream bridge to use upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/manifest.py:15
|
||||
#: plinth/modules/tor/manifest.py:15 plinth/modules/torproxy/manifest.py:14
|
||||
msgid "Tor Browser"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/manifest.py:31
|
||||
#: plinth/modules/tor/manifest.py:31 plinth/modules/torproxy/manifest.py:30
|
||||
msgid "Orbot: Proxy with Tor"
|
||||
msgstr ""
|
||||
|
||||
@ -6163,15 +6159,53 @@ msgstr ""
|
||||
msgid "Ports"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/views.py:53
|
||||
#: plinth/modules/tor/views.py:53 plinth/modules/torproxy/views.py:51
|
||||
msgid "Updating configuration"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/views.py:70
|
||||
#: plinth/modules/tor/views.py:70 plinth/modules/torproxy/views.py:68
|
||||
#, python-brace-format
|
||||
msgid "Error configuring app: {error}"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:34
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides a web proxy on your {box_name} for internal networks on "
|
||||
"TCP port 9050 using the SOCKS protocol. This can be used by various apps to "
|
||||
"access the internet via the Tor network. ISP censorship can be circumvented "
|
||||
"using upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:54
|
||||
msgid "Tor Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:79
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:138
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:149
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:15
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:16
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/transmission/__init__.py:25
|
||||
msgid "Transmission is a BitTorrent client with a web interface."
|
||||
msgstr ""
|
||||
@ -6497,14 +6531,14 @@ msgstr ""
|
||||
msgid "Starting distribution upgrade test."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:29
|
||||
#: plinth/modules/users/__init__.py:30
|
||||
msgid ""
|
||||
"Create and manage user accounts. These accounts serve as centralized "
|
||||
"authentication mechanism for most apps. Some apps further require a user "
|
||||
"account to be part of a group to authorize the user to access the app."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:34
|
||||
#: plinth/modules/users/__init__.py:35
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Any user may login to {box_name} web interface to see a list of apps "
|
||||
@ -6512,19 +6546,29 @@ msgid ""
|
||||
"group may alter apps or system settings."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:55
|
||||
#: plinth/modules/users/__init__.py:56
|
||||
msgid "Users and Groups"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:80
|
||||
#: plinth/modules/users/__init__.py:81
|
||||
msgid "Access to all services and system settings"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:116
|
||||
#: plinth/modules/users/__init__.py:124
|
||||
#, python-brace-format
|
||||
msgid "Check LDAP entry \"{search_item}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:137
|
||||
#, python-brace-format
|
||||
msgid "Check nslcd config \"{key} {value}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:166
|
||||
#, python-brace-format
|
||||
msgid "Check nsswitch config \"{database}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/forms.py:35
|
||||
msgid "Username is taken or is reserved."
|
||||
msgstr ""
|
||||
@ -7592,7 +7636,11 @@ msgstr ""
|
||||
msgid "Backup"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/templates/toolbar.html:51 plinth/templates/toolbar.html:52
|
||||
#: plinth/templates/toolbar.html:53
|
||||
msgid "Re-run setup"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/templates/toolbar.html:59 plinth/templates/toolbar.html:60
|
||||
#: plinth/templates/uninstall.html:30
|
||||
msgid "Uninstall"
|
||||
msgstr ""
|
||||
@ -7608,11 +7656,11 @@ msgid ""
|
||||
"installed freshly again."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/views.py:239
|
||||
#: plinth/views.py:241
|
||||
msgid "Setting unchanged"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/views.py:456
|
||||
#: plinth/views.py:478
|
||||
#, python-brace-format
|
||||
msgid "before uninstall of {app_id}"
|
||||
msgstr ""
|
||||
|
||||
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-06-19 20:15-0400\n"
|
||||
"POT-Creation-Date: 2023-07-31 20:04-0400\n"
|
||||
"PO-Revision-Date: 2022-09-14 17:20+0000\n"
|
||||
"Last-Translator: ikmaak <info@ikmaak.nl>\n"
|
||||
"Language-Team: Greek <https://hosted.weblate.org/projects/freedombox/"
|
||||
@ -28,7 +28,7 @@ msgstr "Πηγή της σελίδας"
|
||||
msgid "Static configuration {etc_path} is setup properly"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/context_processors.py:23 plinth/views.py:92
|
||||
#: plinth/context_processors.py:23 plinth/views.py:94
|
||||
msgid "FreedomBox"
|
||||
msgstr "Freedombox"
|
||||
|
||||
@ -935,7 +935,8 @@ msgstr ""
|
||||
|
||||
#: plinth/modules/bepasty/views.py:88 plinth/modules/searx/views.py:35
|
||||
#: plinth/modules/searx/views.py:46 plinth/modules/security/views.py:56
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/zoph/views.py:74
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/torproxy/views.py:71
|
||||
#: plinth/modules/zoph/views.py:74
|
||||
msgid "Configuration updated."
|
||||
msgstr "Η ρύθμιση παραμέτρων Ενημερώθηκε."
|
||||
|
||||
@ -2217,7 +2218,7 @@ msgstr "Θύρα"
|
||||
msgid "Host/Target/Value"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:23
|
||||
#: plinth/modules/firewall/__init__.py:24
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Firewall is a security system that controls the incoming and outgoing "
|
||||
@ -2229,10 +2230,22 @@ msgstr ""
|
||||
"προστασίας ενεργοποιημένο και η σωστή ρύθμιση παραμέτρων μειώνει τον κίνδυνο "
|
||||
"απειλών προερχόμενων από το Internet."
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:59
|
||||
#: plinth/modules/firewall/__init__.py:60
|
||||
msgid "Firewall"
|
||||
msgstr "Firewall (τείχος προστασίας)"
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:269
|
||||
msgid "Default zone is external"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:276
|
||||
msgid "Firewall backend is nftables"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:287
|
||||
msgid "Direct passthrough rules exist"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/components.py:134
|
||||
#, python-brace-format
|
||||
msgid "Port {name} ({details}) available for internal networks"
|
||||
@ -2931,7 +2944,8 @@ msgstr "Διαχείριση εφαρμογής I2P"
|
||||
msgid "I2P"
|
||||
msgstr "I2P"
|
||||
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:49
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:61
|
||||
#: plinth/modules/torproxy/__init__.py:55
|
||||
msgid "Anonymity Network"
|
||||
msgstr "Δίκτυο ανωνυμίας"
|
||||
|
||||
@ -5582,7 +5596,7 @@ msgstr "Privoxy"
|
||||
msgid "Web Proxy"
|
||||
msgstr "Διακομιστής μεσολάβησης διαδικτύου"
|
||||
|
||||
#: plinth/modules/privoxy/__init__.py:113
|
||||
#: plinth/modules/privoxy/__init__.py:114
|
||||
#, python-brace-format
|
||||
msgid "Access {url} with proxy {proxy} on tcp{kind}"
|
||||
msgstr ""
|
||||
@ -7125,7 +7139,7 @@ msgstr "Syncthing"
|
||||
msgid "File Synchronization"
|
||||
msgstr "Συγχρονισμός αρχείων"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:23
|
||||
#: plinth/modules/tor/__init__.py:31 plinth/modules/torproxy/__init__.py:27
|
||||
msgid ""
|
||||
"Tor is an anonymous communication system. You can learn more about it from "
|
||||
"the <a href=\"https://www.torproject.org/\">Tor Project</a> website. For "
|
||||
@ -7139,58 +7153,50 @@ msgstr ""
|
||||
"Project συνιστά να χρησιμοποιήσετε το <a href=\"https://www.torproject.org/"
|
||||
"download/download-easy.html.en\">πρόγραμμα περιήγησης διαδικτύου Tor</a>."
|
||||
|
||||
#: plinth/modules/tor/__init__.py:30
|
||||
#, fuzzy, python-brace-format
|
||||
#| msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050."
|
||||
#: plinth/modules/tor/__init__.py:37
|
||||
msgid ""
|
||||
"A Tor SOCKS port is available on your {box_name} for internal networks on "
|
||||
"TCP port 9050."
|
||||
msgstr "Μια θύρα Tor SOCKS είναι διαθέσιμη στη θύρα 9050 του %(box_name)s σας."
|
||||
"This app provides relay services to contribute to Tor network and help "
|
||||
"others overcome censorship."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:48
|
||||
#: plinth/modules/tor/__init__.py:40
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides an onion domain to expose {box_name} services via the Tor "
|
||||
"network. Using Tor browser, one can access {box_name} from the internet even "
|
||||
"when using an ISP that limits servers at home."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:60
|
||||
msgid "Tor"
|
||||
msgstr "Tor"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:65
|
||||
#: plinth/modules/tor/__init__.py:76
|
||||
msgid "Tor Onion Service"
|
||||
msgstr "Υπηρεσία κρεμυδιού Tor"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:69
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr "Tor διακομιστής μεσολάβησης τύπου socks5"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:73
|
||||
#: plinth/modules/tor/__init__.py:80
|
||||
msgid "Tor Bridge Relay"
|
||||
msgstr "Γέφυρα/μεσολαβητής Tor"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:132
|
||||
#: plinth/modules/tor/__init__.py:135
|
||||
msgid "Tor relay port available"
|
||||
msgstr "Θύρα μεσολαβητή Tor διαθέσιμη"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:143
|
||||
#: plinth/modules/tor/__init__.py:146
|
||||
msgid "Obfs3 transport registered"
|
||||
msgstr "Obfs3 μεταφορά καταχωρήθηκε"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:153
|
||||
#: plinth/modules/tor/__init__.py:156
|
||||
msgid "Obfs4 transport registered"
|
||||
msgstr "Obfs4 μεταφορά καταχωρήθηκε"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:165
|
||||
#: plinth/modules/tor/__init__.py:168
|
||||
#, fuzzy
|
||||
#| msgid "Onion Service"
|
||||
msgid "Onion service is version 3"
|
||||
msgstr "Υπηρεσία κρεμμυδιού"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:242
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr "Πρόσβαση στη διεύθυνση URL {url} με tcp {kind} μέσω του Tor"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:253
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr "Επιβεβαίωση χρήσης του Tor στο {url} στο προτόκολλο TCP {kind}"
|
||||
|
||||
#: plinth/modules/tor/forms.py:33
|
||||
msgid ""
|
||||
"Enter a valid bridge with this format: [transport] IP:ORPort [fingerprint]"
|
||||
@ -7228,11 +7234,11 @@ msgstr ""
|
||||
"τις πληροφορίες της γέφυρας εδώ. Οι τρέχουσες υποστηριζόμενες μεταφορές "
|
||||
"είναι 'καμία', obfs3, obfs4 και scamblesuit."
|
||||
|
||||
#: plinth/modules/tor/forms.py:91
|
||||
#: plinth/modules/tor/forms.py:95
|
||||
msgid "Enable Tor relay"
|
||||
msgstr "Ενεργοποίηση μεσολαβητή Tor"
|
||||
|
||||
#: plinth/modules/tor/forms.py:92
|
||||
#: plinth/modules/tor/forms.py:96
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"When enabled, your {box_name} will run a Tor relay and donate bandwidth to "
|
||||
@ -7243,11 +7249,11 @@ msgstr ""
|
||||
"δωρίσει ένα μερος της ταχήτυτας της σύνδεσής σας στο δίκτυο Tor. Κάντε αυτό "
|
||||
"αν έχετε περισσότερα από 2 Mbps ταχύτητα μεταφόρτωσης και λήψης."
|
||||
|
||||
#: plinth/modules/tor/forms.py:97
|
||||
#: plinth/modules/tor/forms.py:101
|
||||
msgid "Enable Tor bridge relay"
|
||||
msgstr "Ενεργοποίηση γέφυρας μεσολαβητή Tor"
|
||||
|
||||
#: plinth/modules/tor/forms.py:99
|
||||
#: plinth/modules/tor/forms.py:103
|
||||
msgid ""
|
||||
"When enabled, relay information is published in the Tor bridge database "
|
||||
"instead of public Tor relay database making it harder to censor this node. "
|
||||
@ -7258,13 +7264,13 @@ msgstr ""
|
||||
"Tor που καθιστά δυσκολότερη τη λογοκρισία αυτού του κόμβου. Αυτό βοηθά τους "
|
||||
"άλλους να παρακάμψουν τη λογοκρισία."
|
||||
|
||||
#: plinth/modules/tor/forms.py:104
|
||||
#: plinth/modules/tor/forms.py:108
|
||||
#, fuzzy
|
||||
#| msgid "Enable Tor Hidden Service"
|
||||
msgid "Enable Tor Onion Service"
|
||||
msgstr "Ενεργοποίηση της κρυφής υπηρεσίας Tor"
|
||||
|
||||
#: plinth/modules/tor/forms.py:106
|
||||
#: plinth/modules/tor/forms.py:110
|
||||
#, fuzzy, python-brace-format
|
||||
#| msgid ""
|
||||
#| "A hidden service will allow {box_name} to provide selected services (such "
|
||||
@ -7279,31 +7285,17 @@ msgstr ""
|
||||
"υπηρεσίες (όπως wiki ή chat) χωρίς να αποκαλύψει τη θέση της. Να μην "
|
||||
"χρησιμοποιείται για πληρη ανωνυμία παρόλαυτα."
|
||||
|
||||
#: plinth/modules/tor/forms.py:111
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr "Κατεβάστε πακέτα λογισμικού μέσω του Tor"
|
||||
|
||||
#: plinth/modules/tor/forms.py:112
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
"Όταν ενεργοποιηθεί, θα γίνει λήψη του λογισμικού μέσω του δικτύου Tor για "
|
||||
"εγκαταστάσεις και αναβαθμίσεις. Αυτό προσθέτει ένα βαθμό ιδιωτικότητας και "
|
||||
"ασφάλειας κατά τη λήψη λογισμικού."
|
||||
|
||||
#: plinth/modules/tor/forms.py:127
|
||||
#: plinth/modules/tor/forms.py:125
|
||||
msgid "Specify at least one upstream bridge to use upstream bridges."
|
||||
msgstr ""
|
||||
"Καθορίστε τουλάχιστον μία εξωτερική γέφυρα για να χρησιμοποιήσετε εξωτερικές "
|
||||
"γέφυρες."
|
||||
|
||||
#: plinth/modules/tor/manifest.py:15
|
||||
#: plinth/modules/tor/manifest.py:15 plinth/modules/torproxy/manifest.py:14
|
||||
msgid "Tor Browser"
|
||||
msgstr "Tor πρόγραμμα περιήγησης"
|
||||
|
||||
#: plinth/modules/tor/manifest.py:31
|
||||
#: plinth/modules/tor/manifest.py:31 plinth/modules/torproxy/manifest.py:30
|
||||
msgid "Orbot: Proxy with Tor"
|
||||
msgstr "Orbot: διακομιστής μεσολάβησης με Tor"
|
||||
|
||||
@ -7315,18 +7307,61 @@ msgstr "Υπηρεσία κρεμμυδιού"
|
||||
msgid "Ports"
|
||||
msgstr "Θύρες"
|
||||
|
||||
#: plinth/modules/tor/views.py:53
|
||||
#: plinth/modules/tor/views.py:53 plinth/modules/torproxy/views.py:51
|
||||
#, fuzzy
|
||||
#| msgid "An error occurred during configuration."
|
||||
msgid "Updating configuration"
|
||||
msgstr "Παρουσιάστηκε σφάλμα κατά τη ρύθμιση παραμέτρων."
|
||||
|
||||
#: plinth/modules/tor/views.py:70
|
||||
#: plinth/modules/tor/views.py:70 plinth/modules/torproxy/views.py:68
|
||||
#, fuzzy, python-brace-format
|
||||
#| msgid "Error installing application: {error}"
|
||||
msgid "Error configuring app: {error}"
|
||||
msgstr "Σφάλμα κατά την εγκατάσταση της εφαρμογής: {error}"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:34
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides a web proxy on your {box_name} for internal networks on "
|
||||
"TCP port 9050 using the SOCKS protocol. This can be used by various apps to "
|
||||
"access the internet via the Tor network. ISP censorship can be circumvented "
|
||||
"using upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:54
|
||||
#, fuzzy
|
||||
#| msgid "Tor Socks Proxy"
|
||||
msgid "Tor Proxy"
|
||||
msgstr "Tor διακομιστής μεσολάβησης τύπου socks5"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:79
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr "Tor διακομιστής μεσολάβησης τύπου socks5"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:138
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr "Πρόσβαση στη διεύθυνση URL {url} με tcp {kind} μέσω του Tor"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:149
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr "Επιβεβαίωση χρήσης του Tor στο {url} στο προτόκολλο TCP {kind}"
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:15
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr "Κατεβάστε πακέτα λογισμικού μέσω του Tor"
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:16
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
"Όταν ενεργοποιηθεί, θα γίνει λήψη του λογισμικού μέσω του δικτύου Tor για "
|
||||
"εγκαταστάσεις και αναβαθμίσεις. Αυτό προσθέτει ένα βαθμό ιδιωτικότητας και "
|
||||
"ασφάλειας κατά τη λήψη λογισμικού."
|
||||
|
||||
#: plinth/modules/transmission/__init__.py:25
|
||||
msgid "Transmission is a BitTorrent client with a web interface."
|
||||
msgstr ""
|
||||
@ -7732,7 +7767,7 @@ msgstr ""
|
||||
msgid "Starting distribution upgrade test."
|
||||
msgstr "Oι αυτόματες ενημερώσεις ενεργοποιήθηκαν"
|
||||
|
||||
#: plinth/modules/users/__init__.py:29
|
||||
#: plinth/modules/users/__init__.py:30
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "Create and managed user accounts. These accounts serve as centralized "
|
||||
@ -7749,7 +7784,7 @@ msgstr ""
|
||||
"είναι μέρος μιας ομάδας για να εξουσιοδοτήσουν το χρήστη να αποκτήσει "
|
||||
"πρόσβαση στην εφαρμογή."
|
||||
|
||||
#: plinth/modules/users/__init__.py:34
|
||||
#: plinth/modules/users/__init__.py:35
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Any user may login to {box_name} web interface to see a list of apps "
|
||||
@ -7761,19 +7796,29 @@ msgstr ""
|
||||
"σελίδα. Ωστόσο, μόνο οι χρήστες της ομάδας <em>admin</em> μπορούν να "
|
||||
"τροποποιήσουν τις εφαρμογές ή τις ρυθμίσεις του συστήματος."
|
||||
|
||||
#: plinth/modules/users/__init__.py:55
|
||||
#: plinth/modules/users/__init__.py:56
|
||||
msgid "Users and Groups"
|
||||
msgstr "Χρήστες και ομάδες"
|
||||
|
||||
#: plinth/modules/users/__init__.py:80
|
||||
#: plinth/modules/users/__init__.py:81
|
||||
msgid "Access to all services and system settings"
|
||||
msgstr "Πρόσβαση σε όλες τις υπηρεσίες και τις ρυθμίσεις συστήματος"
|
||||
|
||||
#: plinth/modules/users/__init__.py:116
|
||||
#: plinth/modules/users/__init__.py:124
|
||||
#, python-brace-format
|
||||
msgid "Check LDAP entry \"{search_item}\""
|
||||
msgstr "Ελέγξτε την καταχώρηση LDAP \"{search_item}\""
|
||||
|
||||
#: plinth/modules/users/__init__.py:137
|
||||
#, python-brace-format
|
||||
msgid "Check nslcd config \"{key} {value}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:166
|
||||
#, python-brace-format
|
||||
msgid "Check nsswitch config \"{database}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/forms.py:35
|
||||
msgid "Username is taken or is reserved."
|
||||
msgstr "Το όνομα χρήστη είναι δεσμευμένο."
|
||||
@ -9031,7 +9076,13 @@ msgstr "Ενημερωμένη έκδοση"
|
||||
msgid "Backup"
|
||||
msgstr "Αντίγραφα ασφαλείας"
|
||||
|
||||
#: plinth/templates/toolbar.html:51 plinth/templates/toolbar.html:52
|
||||
#: plinth/templates/toolbar.html:53
|
||||
#, fuzzy
|
||||
#| msgid "Start setup"
|
||||
msgid "Re-run setup"
|
||||
msgstr "Έναρξη εγκατάστασης"
|
||||
|
||||
#: plinth/templates/toolbar.html:59 plinth/templates/toolbar.html:60
|
||||
#: plinth/templates/uninstall.html:30
|
||||
#, fuzzy
|
||||
#| msgid "Install"
|
||||
@ -9050,11 +9101,11 @@ msgid ""
|
||||
"installed freshly again."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/views.py:239
|
||||
#: plinth/views.py:241
|
||||
msgid "Setting unchanged"
|
||||
msgstr "Οι ρυθμίσεις δεν άλλαξαν"
|
||||
|
||||
#: plinth/views.py:456
|
||||
#: plinth/views.py:478
|
||||
#, python-brace-format
|
||||
msgid "before uninstall of {app_id}"
|
||||
msgstr ""
|
||||
@ -9063,6 +9114,15 @@ msgstr ""
|
||||
msgid "Gujarati"
|
||||
msgstr "Gujarati"
|
||||
|
||||
#, fuzzy, python-brace-format
|
||||
#~| msgid ""
|
||||
#~| "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050."
|
||||
#~ msgid ""
|
||||
#~ "A Tor SOCKS port is available on your {box_name} for internal networks on "
|
||||
#~ "TCP port 9050."
|
||||
#~ msgstr ""
|
||||
#~ "Μια θύρα Tor SOCKS είναι διαθέσιμη στη θύρα 9050 του %(box_name)s σας."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Shadowsocks is a lightweight and secure SOCKS5 proxy, designed to protect "
|
||||
#~ "your Internet traffic. It can be used to bypass Internet filtering and "
|
||||
@ -9829,9 +9889,6 @@ msgstr "Gujarati"
|
||||
#~ "%(box_name)s, μπορεί να χρειαστούν και ώρες. Εάν η ρύθμιση διακοπεί, "
|
||||
#~ "μπορείτε να την ξεκινήσετε ξανά."
|
||||
|
||||
#~ msgid "Start setup"
|
||||
#~ msgstr "Έναρξη εγκατάστασης"
|
||||
|
||||
#~ msgid "OpenVPN setup is running"
|
||||
#~ msgstr "Η εγκατάσταση του OpenVPN εκτελείται"
|
||||
|
||||
|
||||
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-06-19 20:15-0400\n"
|
||||
"POT-Creation-Date: 2023-07-31 20:04-0400\n"
|
||||
"PO-Revision-Date: 2023-06-21 13:49+0000\n"
|
||||
"Last-Translator: gallegonovato <fran-carro@hotmail.es>\n"
|
||||
"Language-Team: Spanish <https://hosted.weblate.org/projects/freedombox/"
|
||||
@ -28,7 +28,7 @@ msgstr "Página origen"
|
||||
msgid "Static configuration {etc_path} is setup properly"
|
||||
msgstr "La configuración fija {etc_path} está configurada correctamente"
|
||||
|
||||
#: plinth/context_processors.py:23 plinth/views.py:92
|
||||
#: plinth/context_processors.py:23 plinth/views.py:94
|
||||
msgid "FreedomBox"
|
||||
msgstr "FreedomBox"
|
||||
|
||||
@ -915,7 +915,8 @@ msgstr "Admin"
|
||||
|
||||
#: plinth/modules/bepasty/views.py:88 plinth/modules/searx/views.py:35
|
||||
#: plinth/modules/searx/views.py:46 plinth/modules/security/views.py:56
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/zoph/views.py:74
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/torproxy/views.py:71
|
||||
#: plinth/modules/zoph/views.py:74
|
||||
msgid "Configuration updated."
|
||||
msgstr "Configuración actualizada."
|
||||
|
||||
@ -2154,7 +2155,7 @@ msgstr "Puerto"
|
||||
msgid "Host/Target/Value"
|
||||
msgstr "Host/Objetivo/Valor"
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:23
|
||||
#: plinth/modules/firewall/__init__.py:24
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Firewall is a security system that controls the incoming and outgoing "
|
||||
@ -2165,10 +2166,24 @@ msgstr ""
|
||||
"de su {box_name}. Mantenerlo activado y correctamente configurado reduce el "
|
||||
"riesgo de amenazas de seguridad desde Internet."
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:59
|
||||
#: plinth/modules/firewall/__init__.py:60
|
||||
msgid "Firewall"
|
||||
msgstr "Cortafuegos"
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:269
|
||||
#, fuzzy
|
||||
#| msgid "Default app set"
|
||||
msgid "Default zone is external"
|
||||
msgstr "Aplicación por defecto establecida"
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:276
|
||||
msgid "Firewall backend is nftables"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:287
|
||||
msgid "Direct passthrough rules exist"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/components.py:134
|
||||
#, python-brace-format
|
||||
msgid "Port {name} ({details}) available for internal networks"
|
||||
@ -2847,7 +2862,8 @@ msgstr "Administrar la aplicación I2P"
|
||||
msgid "I2P"
|
||||
msgstr "I2P"
|
||||
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:49
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:61
|
||||
#: plinth/modules/torproxy/__init__.py:55
|
||||
msgid "Anonymity Network"
|
||||
msgstr "Red anónima"
|
||||
|
||||
@ -5467,7 +5483,7 @@ msgstr "Privoxy"
|
||||
msgid "Web Proxy"
|
||||
msgstr "Proxy Web"
|
||||
|
||||
#: plinth/modules/privoxy/__init__.py:113
|
||||
#: plinth/modules/privoxy/__init__.py:114
|
||||
#, python-brace-format
|
||||
msgid "Access {url} with proxy {proxy} on tcp{kind}"
|
||||
msgstr "Acceso a {url} con proxy {proxy} en tcp {kind}"
|
||||
@ -6921,7 +6937,7 @@ msgstr "Syncthing"
|
||||
msgid "File Synchronization"
|
||||
msgstr "Sincronización de archivos"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:23
|
||||
#: plinth/modules/tor/__init__.py:31 plinth/modules/torproxy/__init__.py:27
|
||||
msgid ""
|
||||
"Tor is an anonymous communication system. You can learn more about it from "
|
||||
"the <a href=\"https://www.torproject.org/\">Tor Project</a> website. For "
|
||||
@ -6935,57 +6951,48 @@ msgstr ""
|
||||
"download/download-easy.html.en\">Navegador Tor</a> para tener la mejor "
|
||||
"protección cuando navega por la red."
|
||||
|
||||
#: plinth/modules/tor/__init__.py:30
|
||||
#: plinth/modules/tor/__init__.py:37
|
||||
msgid ""
|
||||
"This app provides relay services to contribute to Tor network and help "
|
||||
"others overcome censorship."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:40
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"A Tor SOCKS port is available on your {box_name} for internal networks on "
|
||||
"TCP port 9050."
|
||||
"This app provides an onion domain to expose {box_name} services via the Tor "
|
||||
"network. Using Tor browser, one can access {box_name} from the internet even "
|
||||
"when using an ISP that limits servers at home."
|
||||
msgstr ""
|
||||
"Un puerto SOCKS de Tor está disponible para redes internas en su {box_name} "
|
||||
"en el puerto TCP 9050."
|
||||
|
||||
#: plinth/modules/tor/__init__.py:48
|
||||
#: plinth/modules/tor/__init__.py:60
|
||||
msgid "Tor"
|
||||
msgstr "Tor"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:65
|
||||
#: plinth/modules/tor/__init__.py:76
|
||||
msgid "Tor Onion Service"
|
||||
msgstr "Servicio Tor Onion"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:69
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr "Proxy Socks para Tor"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:73
|
||||
#: plinth/modules/tor/__init__.py:80
|
||||
msgid "Tor Bridge Relay"
|
||||
msgstr "Puente de retransmisión Tor"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:132
|
||||
#: plinth/modules/tor/__init__.py:135
|
||||
msgid "Tor relay port available"
|
||||
msgstr "Puerto de servidor Tor disponible"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:143
|
||||
#: plinth/modules/tor/__init__.py:146
|
||||
msgid "Obfs3 transport registered"
|
||||
msgstr "Transporte Obfs3 registrado"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:153
|
||||
#: plinth/modules/tor/__init__.py:156
|
||||
msgid "Obfs4 transport registered"
|
||||
msgstr "Transporte Obfs4 registrado"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:165
|
||||
#: plinth/modules/tor/__init__.py:168
|
||||
msgid "Onion service is version 3"
|
||||
msgstr "Versión 3 para los servicios de Onion"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:242
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr "Acceso a URL {url} sobre tcp {kind} vía Tor"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:253
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr "Confirmar uso de Tor en {url} sobre tcp {kind}"
|
||||
|
||||
#: plinth/modules/tor/forms.py:33
|
||||
msgid ""
|
||||
"Enter a valid bridge with this format: [transport] IP:ORPort [fingerprint]"
|
||||
@ -7023,11 +7030,11 @@ msgstr ""
|
||||
"Los tipos de transporte actualmente soportados son ninguno, obfs3, obfs4 y "
|
||||
"scamblesuit."
|
||||
|
||||
#: plinth/modules/tor/forms.py:91
|
||||
#: plinth/modules/tor/forms.py:95
|
||||
msgid "Enable Tor relay"
|
||||
msgstr "Activar Tor"
|
||||
|
||||
#: plinth/modules/tor/forms.py:92
|
||||
#: plinth/modules/tor/forms.py:96
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"When enabled, your {box_name} will run a Tor relay and donate bandwidth to "
|
||||
@ -7038,11 +7045,11 @@ msgstr ""
|
||||
"ancho de banda a la red Tor. Actívelo si dispone de más de 2 megabits/s de "
|
||||
"ancho de banda para descarga y subida."
|
||||
|
||||
#: plinth/modules/tor/forms.py:97
|
||||
#: plinth/modules/tor/forms.py:101
|
||||
msgid "Enable Tor bridge relay"
|
||||
msgstr "Activar puente de retransmisión Tor"
|
||||
|
||||
#: plinth/modules/tor/forms.py:99
|
||||
#: plinth/modules/tor/forms.py:103
|
||||
msgid ""
|
||||
"When enabled, relay information is published in the Tor bridge database "
|
||||
"instead of public Tor relay database making it harder to censor this node. "
|
||||
@ -7052,11 +7059,11 @@ msgstr ""
|
||||
"Tor en vez de en la base de datos pública de Tor, lo que dificulta censurar "
|
||||
"este nodo. Ayuda a otros usuarios a esquivar la censura."
|
||||
|
||||
#: plinth/modules/tor/forms.py:104
|
||||
#: plinth/modules/tor/forms.py:108
|
||||
msgid "Enable Tor Onion Service"
|
||||
msgstr "Activar el servicio Tor Onion"
|
||||
|
||||
#: plinth/modules/tor/forms.py:106
|
||||
#: plinth/modules/tor/forms.py:110
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"An onion service will allow {box_name} to provide selected services (such as "
|
||||
@ -7067,30 +7074,16 @@ msgstr ""
|
||||
"seleccionados (como wiki o chat) sin revelar tu ubicación. No use esto para "
|
||||
"un fuerte anonimato todavía."
|
||||
|
||||
#: plinth/modules/tor/forms.py:111
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr "Descarga de paquetes de software con Tor"
|
||||
|
||||
#: plinth/modules/tor/forms.py:112
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
"Cuando se activa, el software para instalación o las actualizaciones se "
|
||||
"descargarán a través de la red Tor. De esta forma se añade un grado de "
|
||||
"privacidad y seguridad durante la descarga."
|
||||
|
||||
#: plinth/modules/tor/forms.py:127
|
||||
#: plinth/modules/tor/forms.py:125
|
||||
msgid "Specify at least one upstream bridge to use upstream bridges."
|
||||
msgstr ""
|
||||
"Especifique al menos un puente de subida para usar los puentes de subida."
|
||||
|
||||
#: plinth/modules/tor/manifest.py:15
|
||||
#: plinth/modules/tor/manifest.py:15 plinth/modules/torproxy/manifest.py:14
|
||||
msgid "Tor Browser"
|
||||
msgstr "Navegador Tor"
|
||||
|
||||
#: plinth/modules/tor/manifest.py:31
|
||||
#: plinth/modules/tor/manifest.py:31 plinth/modules/torproxy/manifest.py:30
|
||||
msgid "Orbot: Proxy with Tor"
|
||||
msgstr "Orbot: Proxy con Tor"
|
||||
|
||||
@ -7102,15 +7095,58 @@ msgstr "Servicio Onion"
|
||||
msgid "Ports"
|
||||
msgstr "Puertos"
|
||||
|
||||
#: plinth/modules/tor/views.py:53
|
||||
#: plinth/modules/tor/views.py:53 plinth/modules/torproxy/views.py:51
|
||||
msgid "Updating configuration"
|
||||
msgstr "Actualizando la configuración"
|
||||
|
||||
#: plinth/modules/tor/views.py:70
|
||||
#: plinth/modules/tor/views.py:70 plinth/modules/torproxy/views.py:68
|
||||
#, python-brace-format
|
||||
msgid "Error configuring app: {error}"
|
||||
msgstr "Error al configurar la aplicación: {error}"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:34
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides a web proxy on your {box_name} for internal networks on "
|
||||
"TCP port 9050 using the SOCKS protocol. This can be used by various apps to "
|
||||
"access the internet via the Tor network. ISP censorship can be circumvented "
|
||||
"using upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:54
|
||||
#, fuzzy
|
||||
#| msgid "Tor Socks Proxy"
|
||||
msgid "Tor Proxy"
|
||||
msgstr "Proxy Socks para Tor"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:79
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr "Proxy Socks para Tor"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:138
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr "Acceso a URL {url} sobre tcp {kind} vía Tor"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:149
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr "Confirmar uso de Tor en {url} sobre tcp {kind}"
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:15
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr "Descarga de paquetes de software con Tor"
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:16
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
"Cuando se activa, el software para instalación o las actualizaciones se "
|
||||
"descargarán a través de la red Tor. De esta forma se añade un grado de "
|
||||
"privacidad y seguridad durante la descarga."
|
||||
|
||||
#: plinth/modules/transmission/__init__.py:25
|
||||
msgid "Transmission is a BitTorrent client with a web interface."
|
||||
msgstr "Transmission es un cliente BitTorrent con interfaz web."
|
||||
@ -7501,7 +7537,7 @@ msgstr "Las actualizaciones funcionales frecuentes están activadas."
|
||||
msgid "Starting distribution upgrade test."
|
||||
msgstr "Comenzando la prueba de la actualización de la distribución."
|
||||
|
||||
#: plinth/modules/users/__init__.py:29
|
||||
#: plinth/modules/users/__init__.py:30
|
||||
msgid ""
|
||||
"Create and manage user accounts. These accounts serve as centralized "
|
||||
"authentication mechanism for most apps. Some apps further require a user "
|
||||
@ -7512,7 +7548,7 @@ msgstr ""
|
||||
"requieren que además la cuenta de usuario conste en un grupo para "
|
||||
"autorizarles a acceder."
|
||||
|
||||
#: plinth/modules/users/__init__.py:34
|
||||
#: plinth/modules/users/__init__.py:35
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Any user may login to {box_name} web interface to see a list of apps "
|
||||
@ -7524,19 +7560,29 @@ msgstr ""
|
||||
"sólo los usuarios del grupo <em>admin</em> pueden cambiar configuraciones de "
|
||||
"apps o del sistema."
|
||||
|
||||
#: plinth/modules/users/__init__.py:55
|
||||
#: plinth/modules/users/__init__.py:56
|
||||
msgid "Users and Groups"
|
||||
msgstr "Usuarias/os y grupos"
|
||||
|
||||
#: plinth/modules/users/__init__.py:80
|
||||
#: plinth/modules/users/__init__.py:81
|
||||
msgid "Access to all services and system settings"
|
||||
msgstr "Acceso a todos los servicios y configuraciones del sistema"
|
||||
|
||||
#: plinth/modules/users/__init__.py:116
|
||||
#: plinth/modules/users/__init__.py:124
|
||||
#, python-brace-format
|
||||
msgid "Check LDAP entry \"{search_item}\""
|
||||
msgstr "Comprobar la entrada LDAP \"{search_item}\""
|
||||
|
||||
#: plinth/modules/users/__init__.py:137
|
||||
#, python-brace-format
|
||||
msgid "Check nslcd config \"{key} {value}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:166
|
||||
#, python-brace-format
|
||||
msgid "Check nsswitch config \"{database}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/forms.py:35
|
||||
msgid "Username is taken or is reserved."
|
||||
msgstr "El nombre de usuaria/o está en uso o reservado."
|
||||
@ -8727,7 +8773,13 @@ msgstr "Actualización"
|
||||
msgid "Backup"
|
||||
msgstr "Copia de seguridad"
|
||||
|
||||
#: plinth/templates/toolbar.html:51 plinth/templates/toolbar.html:52
|
||||
#: plinth/templates/toolbar.html:53
|
||||
#, fuzzy
|
||||
#| msgid "Start setup"
|
||||
msgid "Re-run setup"
|
||||
msgstr "Iniciar configuración"
|
||||
|
||||
#: plinth/templates/toolbar.html:59 plinth/templates/toolbar.html:60
|
||||
#: plinth/templates/uninstall.html:30
|
||||
msgid "Uninstall"
|
||||
msgstr "Desinstalar"
|
||||
@ -8745,11 +8797,11 @@ msgstr ""
|
||||
"Todos los datos de la aplicación y la configuración se perderán "
|
||||
"permanentemente. La aplicación se puede instalar de nuevo."
|
||||
|
||||
#: plinth/views.py:239
|
||||
#: plinth/views.py:241
|
||||
msgid "Setting unchanged"
|
||||
msgstr "Configuración sin cambio"
|
||||
|
||||
#: plinth/views.py:456
|
||||
#: plinth/views.py:478
|
||||
#, python-brace-format
|
||||
msgid "before uninstall of {app_id}"
|
||||
msgstr "antes de desinstalar {app_id}"
|
||||
@ -8758,6 +8810,14 @@ msgstr "antes de desinstalar {app_id}"
|
||||
msgid "Gujarati"
|
||||
msgstr "Gujarati"
|
||||
|
||||
#, python-brace-format
|
||||
#~ msgid ""
|
||||
#~ "A Tor SOCKS port is available on your {box_name} for internal networks on "
|
||||
#~ "TCP port 9050."
|
||||
#~ msgstr ""
|
||||
#~ "Un puerto SOCKS de Tor está disponible para redes internas en su "
|
||||
#~ "{box_name} en el puerto TCP 9050."
|
||||
|
||||
#, python-brace-format
|
||||
#~ msgid ""
|
||||
#~ "When enabled, text box for server input is removed from login page and "
|
||||
@ -9570,9 +9630,6 @@ msgstr "Gujarati"
|
||||
#~ "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"
|
||||
|
||||
@ -10214,9 +10271,6 @@ msgstr "Gujarati"
|
||||
#~ msgid "Error setting default app: {exception}"
|
||||
#~ msgstr "Error al establecer la aplicación por defecto: {exception}"
|
||||
|
||||
#~ msgid "Default app set"
|
||||
#~ msgstr "Aplicación por defecto establecida"
|
||||
|
||||
#~ msgid "Abort"
|
||||
#~ msgstr "Cancelar"
|
||||
|
||||
|
||||
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-06-19 20:15-0400\n"
|
||||
"POT-Creation-Date: 2023-07-31 20:04-0400\n"
|
||||
"PO-Revision-Date: 2022-09-14 17:19+0000\n"
|
||||
"Last-Translator: ikmaak <info@ikmaak.nl>\n"
|
||||
"Language-Team: Persian <https://hosted.weblate.org/projects/freedombox/"
|
||||
@ -28,7 +28,7 @@ msgstr ""
|
||||
msgid "Static configuration {etc_path} is setup properly"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/context_processors.py:23 plinth/views.py:92
|
||||
#: plinth/context_processors.py:23 plinth/views.py:94
|
||||
#, fuzzy
|
||||
msgid "FreedomBox"
|
||||
msgstr "FreedomBox"
|
||||
@ -912,7 +912,8 @@ msgstr ""
|
||||
|
||||
#: plinth/modules/bepasty/views.py:88 plinth/modules/searx/views.py:35
|
||||
#: plinth/modules/searx/views.py:46 plinth/modules/security/views.py:56
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/zoph/views.py:74
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/torproxy/views.py:71
|
||||
#: plinth/modules/zoph/views.py:74
|
||||
msgid "Configuration updated."
|
||||
msgstr ""
|
||||
|
||||
@ -2154,7 +2155,7 @@ msgstr ""
|
||||
msgid "Host/Target/Value"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:23
|
||||
#: plinth/modules/firewall/__init__.py:24
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Firewall is a security system that controls the incoming and outgoing "
|
||||
@ -2165,10 +2166,24 @@ msgstr ""
|
||||
"خروجی شبکه را در {box_name} شما کنترل میکند. فعال نگهداشتن فایروال و تنظیم "
|
||||
"درست آن خطر تهدیدهای امنیتی از طرف اینترنت را کم میکند."
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:59
|
||||
#: plinth/modules/firewall/__init__.py:60
|
||||
msgid "Firewall"
|
||||
msgstr "فایروال"
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:269
|
||||
#, fuzzy
|
||||
#| msgid "Default"
|
||||
msgid "Default zone is external"
|
||||
msgstr "پیشفرض"
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:276
|
||||
msgid "Firewall backend is nftables"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:287
|
||||
msgid "Direct passthrough rules exist"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/components.py:134
|
||||
#, python-brace-format
|
||||
msgid "Port {name} ({details}) available for internal networks"
|
||||
@ -2816,7 +2831,8 @@ msgstr "فعالسازی برنامه"
|
||||
msgid "I2P"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:49
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:61
|
||||
#: plinth/modules/torproxy/__init__.py:55
|
||||
#, fuzzy
|
||||
msgid "Anonymity Network"
|
||||
msgstr "رفتن به تنظیمات شبکه"
|
||||
@ -5290,7 +5306,7 @@ msgstr ""
|
||||
msgid "Web Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/privoxy/__init__.py:113
|
||||
#: plinth/modules/privoxy/__init__.py:114
|
||||
#, python-brace-format
|
||||
msgid "Access {url} with proxy {proxy} on tcp{kind}"
|
||||
msgstr ""
|
||||
@ -6650,7 +6666,7 @@ msgstr ""
|
||||
msgid "File Synchronization"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:23
|
||||
#: plinth/modules/tor/__init__.py:31 plinth/modules/torproxy/__init__.py:27
|
||||
msgid ""
|
||||
"Tor is an anonymous communication system. You can learn more about it from "
|
||||
"the <a href=\"https://www.torproject.org/\">Tor Project</a> website. For "
|
||||
@ -6659,57 +6675,50 @@ msgid ""
|
||||
"en\">Tor Browser</a>."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:30
|
||||
#, python-brace-format
|
||||
#: plinth/modules/tor/__init__.py:37
|
||||
msgid ""
|
||||
"A Tor SOCKS port is available on your {box_name} for internal networks on "
|
||||
"TCP port 9050."
|
||||
"This app provides relay services to contribute to Tor network and help "
|
||||
"others overcome censorship."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:48
|
||||
#: plinth/modules/tor/__init__.py:40
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides an onion domain to expose {box_name} services via the Tor "
|
||||
"network. Using Tor browser, one can access {box_name} from the internet even "
|
||||
"when using an ISP that limits servers at home."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:60
|
||||
msgid "Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:65
|
||||
#: plinth/modules/tor/__init__.py:76
|
||||
msgid "Tor Onion Service"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:69
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:73
|
||||
#: plinth/modules/tor/__init__.py:80
|
||||
msgid "Tor Bridge Relay"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:132
|
||||
#: plinth/modules/tor/__init__.py:135
|
||||
msgid "Tor relay port available"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:143
|
||||
#: plinth/modules/tor/__init__.py:146
|
||||
msgid "Obfs3 transport registered"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:153
|
||||
#: plinth/modules/tor/__init__.py:156
|
||||
msgid "Obfs4 transport registered"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:165
|
||||
#: plinth/modules/tor/__init__.py:168
|
||||
#, fuzzy
|
||||
#| msgid "Service"
|
||||
msgid "Onion service is version 3"
|
||||
msgstr "سرویس"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:242
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:253
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:33
|
||||
msgid ""
|
||||
"Enter a valid bridge with this format: [transport] IP:ORPort [fingerprint]"
|
||||
@ -6737,11 +6746,11 @@ msgid ""
|
||||
"here. Currently supported transports are none, obfs3, obfs4 and scamblesuit."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:91
|
||||
#: plinth/modules/tor/forms.py:95
|
||||
msgid "Enable Tor relay"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:92
|
||||
#: plinth/modules/tor/forms.py:96
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"When enabled, your {box_name} will run a Tor relay and donate bandwidth to "
|
||||
@ -6749,24 +6758,24 @@ msgid ""
|
||||
"download bandwidth."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:97
|
||||
#: plinth/modules/tor/forms.py:101
|
||||
msgid "Enable Tor bridge relay"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:99
|
||||
#: plinth/modules/tor/forms.py:103
|
||||
msgid ""
|
||||
"When enabled, relay information is published in the Tor bridge database "
|
||||
"instead of public Tor relay database making it harder to censor this node. "
|
||||
"This helps others circumvent censorship."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:104
|
||||
#: plinth/modules/tor/forms.py:108
|
||||
#, fuzzy
|
||||
#| msgid "Service"
|
||||
msgid "Enable Tor Onion Service"
|
||||
msgstr "سرویس"
|
||||
|
||||
#: plinth/modules/tor/forms.py:106
|
||||
#: plinth/modules/tor/forms.py:110
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"An onion service will allow {box_name} to provide selected services (such as "
|
||||
@ -6774,26 +6783,15 @@ msgid ""
|
||||
"anonymity yet."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:111
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:112
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:127
|
||||
#: plinth/modules/tor/forms.py:125
|
||||
msgid "Specify at least one upstream bridge to use upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/manifest.py:15
|
||||
#: plinth/modules/tor/manifest.py:15 plinth/modules/torproxy/manifest.py:14
|
||||
msgid "Tor Browser"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/manifest.py:31
|
||||
#: plinth/modules/tor/manifest.py:31 plinth/modules/torproxy/manifest.py:30
|
||||
msgid "Orbot: Proxy with Tor"
|
||||
msgstr ""
|
||||
|
||||
@ -6807,18 +6805,56 @@ msgstr "سرویس"
|
||||
msgid "Ports"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/views.py:53
|
||||
#: plinth/modules/tor/views.py:53 plinth/modules/torproxy/views.py:51
|
||||
#, fuzzy
|
||||
#| msgid "Current Network Configuration"
|
||||
msgid "Updating configuration"
|
||||
msgstr "پیکربندی فعلی شبکه"
|
||||
|
||||
#: plinth/modules/tor/views.py:70
|
||||
#: plinth/modules/tor/views.py:70 plinth/modules/torproxy/views.py:68
|
||||
#, fuzzy, python-brace-format
|
||||
#| msgid "Error installing application: {error}"
|
||||
msgid "Error configuring app: {error}"
|
||||
msgstr "خطا هنگام نصب برنامه: {error}"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:34
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides a web proxy on your {box_name} for internal networks on "
|
||||
"TCP port 9050 using the SOCKS protocol. This can be used by various apps to "
|
||||
"access the internet via the Tor network. ISP censorship can be circumvented "
|
||||
"using upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:54
|
||||
msgid "Tor Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:79
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:138
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:149
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:15
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:16
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/transmission/__init__.py:25
|
||||
msgid "Transmission is a BitTorrent client with a web interface."
|
||||
msgstr "دِلوگ (Transmission) یک برنامهٔ بیتتورنت با رابط کاربری تحت وب است."
|
||||
@ -7161,14 +7197,14 @@ msgstr ""
|
||||
msgid "Starting distribution upgrade test."
|
||||
msgstr "برنامه نصب شد."
|
||||
|
||||
#: plinth/modules/users/__init__.py:29
|
||||
#: plinth/modules/users/__init__.py:30
|
||||
msgid ""
|
||||
"Create and manage user accounts. These accounts serve as centralized "
|
||||
"authentication mechanism for most apps. Some apps further require a user "
|
||||
"account to be part of a group to authorize the user to access the app."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:34
|
||||
#: plinth/modules/users/__init__.py:35
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Any user may login to {box_name} web interface to see a list of apps "
|
||||
@ -7176,19 +7212,29 @@ msgid ""
|
||||
"group may alter apps or system settings."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:55
|
||||
#: plinth/modules/users/__init__.py:56
|
||||
msgid "Users and Groups"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:80
|
||||
#: plinth/modules/users/__init__.py:81
|
||||
msgid "Access to all services and system settings"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:116
|
||||
#: plinth/modules/users/__init__.py:124
|
||||
#, python-brace-format
|
||||
msgid "Check LDAP entry \"{search_item}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:137
|
||||
#, python-brace-format
|
||||
msgid "Check nslcd config \"{key} {value}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:166
|
||||
#, python-brace-format
|
||||
msgid "Check nsswitch config \"{database}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/forms.py:35
|
||||
msgid "Username is taken or is reserved."
|
||||
msgstr ""
|
||||
@ -8347,7 +8393,11 @@ msgstr ""
|
||||
msgid "Backup"
|
||||
msgstr "ساختن اتصال"
|
||||
|
||||
#: plinth/templates/toolbar.html:51 plinth/templates/toolbar.html:52
|
||||
#: plinth/templates/toolbar.html:53
|
||||
msgid "Re-run setup"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/templates/toolbar.html:59 plinth/templates/toolbar.html:60
|
||||
#: plinth/templates/uninstall.html:30
|
||||
#, fuzzy
|
||||
msgid "Uninstall"
|
||||
@ -8365,11 +8415,11 @@ msgid ""
|
||||
"installed freshly again."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/views.py:239
|
||||
#: plinth/views.py:241
|
||||
msgid "Setting unchanged"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/views.py:456
|
||||
#: plinth/views.py:478
|
||||
#, python-brace-format
|
||||
msgid "before uninstall of {app_id}"
|
||||
msgstr ""
|
||||
@ -9054,11 +9104,6 @@ msgstr ""
|
||||
#~ msgid "Error setting default app: {exception}"
|
||||
#~ msgstr "خطا در هنگام تنظیم زبان: {exception}"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Default"
|
||||
#~ msgid "Default app set"
|
||||
#~ msgstr "پیشفرض"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "NTP client in contact with servers"
|
||||
#~ msgid "chrony client in contact with servers"
|
||||
|
||||
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Plinth 0.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-06-19 20:15-0400\n"
|
||||
"POT-Creation-Date: 2023-07-31 20:04-0400\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."
|
||||
@ -27,7 +27,7 @@ msgstr ""
|
||||
msgid "Static configuration {etc_path} is setup properly"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/context_processors.py:23 plinth/views.py:92
|
||||
#: plinth/context_processors.py:23 plinth/views.py:94
|
||||
msgid "FreedomBox"
|
||||
msgstr "FREEDOMBOX"
|
||||
|
||||
@ -954,7 +954,8 @@ msgstr "ADMIN"
|
||||
|
||||
#: plinth/modules/bepasty/views.py:88 plinth/modules/searx/views.py:35
|
||||
#: plinth/modules/searx/views.py:46 plinth/modules/security/views.py:56
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/zoph/views.py:74
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/torproxy/views.py:71
|
||||
#: plinth/modules/zoph/views.py:74
|
||||
msgid "Configuration updated."
|
||||
msgstr "CONFIGURATION UPDATED."
|
||||
|
||||
@ -2254,7 +2255,7 @@ msgstr "PORT"
|
||||
msgid "Host/Target/Value"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:23
|
||||
#: plinth/modules/firewall/__init__.py:24
|
||||
#, fuzzy, python-brace-format
|
||||
#| msgid ""
|
||||
#| "Firewall is a security system that controls the incoming and outgoing "
|
||||
@ -2269,10 +2270,24 @@ msgstr ""
|
||||
"NETWORK TRAFFIC ON YOUR %(box_name)s. KEEPING A FIREWALL ENABLED AND "
|
||||
"PROPERLY CONFIGURED REDUCES RISK OF SECURITY THREAT FROM THE INTERNET."
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:59
|
||||
#: plinth/modules/firewall/__init__.py:60
|
||||
msgid "Firewall"
|
||||
msgstr "FIREWALL"
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:269
|
||||
#, fuzzy
|
||||
#| msgid "Default"
|
||||
msgid "Default zone is external"
|
||||
msgstr "DEFAULT"
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:276
|
||||
msgid "Firewall backend is nftables"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:287
|
||||
msgid "Direct passthrough rules exist"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/components.py:134
|
||||
#, fuzzy, python-brace-format
|
||||
#| msgid "Service discovery server is not running"
|
||||
@ -2944,7 +2959,8 @@ msgstr "APPLICATIONS"
|
||||
msgid "I2P"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:49
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:61
|
||||
#: plinth/modules/torproxy/__init__.py:55
|
||||
#, fuzzy
|
||||
#| msgid "Tor Anonymity Network"
|
||||
msgid "Anonymity Network"
|
||||
@ -5563,7 +5579,7 @@ msgstr "ENABLE PRIVOXY"
|
||||
msgid "Web Proxy"
|
||||
msgstr "PRIVOXY WEB PROXY"
|
||||
|
||||
#: plinth/modules/privoxy/__init__.py:113
|
||||
#: plinth/modules/privoxy/__init__.py:114
|
||||
#, python-brace-format
|
||||
msgid "Access {url} with proxy {proxy} on tcp{kind}"
|
||||
msgstr "ACCESS {url} WITH PROXY {proxy} ON TCP{kind}"
|
||||
@ -7013,7 +7029,7 @@ msgstr ""
|
||||
msgid "File Synchronization"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:23
|
||||
#: plinth/modules/tor/__init__.py:31 plinth/modules/torproxy/__init__.py:27
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "Tor is an anonymous communication system. You can learn more about it "
|
||||
@ -7034,60 +7050,52 @@ msgstr ""
|
||||
"THE <a href=\"https://www.torproject.org/download/download-easy.html.en\"> "
|
||||
"TOR BROWSER</a>."
|
||||
|
||||
#: plinth/modules/tor/__init__.py:30
|
||||
#, fuzzy, python-brace-format
|
||||
#| msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050."
|
||||
#: plinth/modules/tor/__init__.py:37
|
||||
msgid ""
|
||||
"A Tor SOCKS port is available on your {box_name} for internal networks on "
|
||||
"TCP port 9050."
|
||||
msgstr "A TOR SOCKS PORT IS AVAILABLE ON YOUR %(box_name)s ON TCP PORT 9050."
|
||||
"This app provides relay services to contribute to Tor network and help "
|
||||
"others overcome censorship."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:48
|
||||
#: plinth/modules/tor/__init__.py:40
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides an onion domain to expose {box_name} services via the Tor "
|
||||
"network. Using Tor browser, one can access {box_name} from the internet even "
|
||||
"when using an ISP that limits servers at home."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:60
|
||||
msgid "Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:65
|
||||
#: plinth/modules/tor/__init__.py:76
|
||||
#, fuzzy
|
||||
#| msgid "Tor Hidden Service"
|
||||
msgid "Tor Onion Service"
|
||||
msgstr "TOR HIDDEN SERVICE"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:69
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:73
|
||||
#: plinth/modules/tor/__init__.py:80
|
||||
msgid "Tor Bridge Relay"
|
||||
msgstr "TOR BRIDGE RELAY"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:132
|
||||
#: plinth/modules/tor/__init__.py:135
|
||||
msgid "Tor relay port available"
|
||||
msgstr "TOR RELAY PORT AVAILABLE"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:143
|
||||
#: plinth/modules/tor/__init__.py:146
|
||||
msgid "Obfs3 transport registered"
|
||||
msgstr "OBFS3 TRANSPORT REGISTERED"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:153
|
||||
#: plinth/modules/tor/__init__.py:156
|
||||
msgid "Obfs4 transport registered"
|
||||
msgstr "OBFS4 TRANSPORT REGISTERED"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:165
|
||||
#: plinth/modules/tor/__init__.py:168
|
||||
#, fuzzy
|
||||
#| msgid "Hidden Service"
|
||||
msgid "Onion service is version 3"
|
||||
msgstr "HIDDEN SERVICE"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:242
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr "ACCESS URL {url} ON TCP{kind} VIA TOR"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:253
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr "CONFIRM TOR USAGE AT {url} ON TCP{kind}"
|
||||
|
||||
#: plinth/modules/tor/forms.py:33
|
||||
msgid ""
|
||||
"Enter a valid bridge with this format: [transport] IP:ORPort [fingerprint]"
|
||||
@ -7115,13 +7123,13 @@ msgid ""
|
||||
"here. Currently supported transports are none, obfs3, obfs4 and scamblesuit."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:91
|
||||
#: plinth/modules/tor/forms.py:95
|
||||
#, fuzzy
|
||||
#| msgid "Enable Tor"
|
||||
msgid "Enable Tor relay"
|
||||
msgstr "ENABLE TOR"
|
||||
|
||||
#: plinth/modules/tor/forms.py:92
|
||||
#: plinth/modules/tor/forms.py:96
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"When enabled, your {box_name} will run a Tor relay and donate bandwidth to "
|
||||
@ -7129,26 +7137,26 @@ msgid ""
|
||||
"download bandwidth."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:97
|
||||
#: plinth/modules/tor/forms.py:101
|
||||
#, fuzzy
|
||||
#| msgid "Tor Bridge Relay"
|
||||
msgid "Enable Tor bridge relay"
|
||||
msgstr "TOR BRIDGE RELAY"
|
||||
|
||||
#: plinth/modules/tor/forms.py:99
|
||||
#: plinth/modules/tor/forms.py:103
|
||||
msgid ""
|
||||
"When enabled, relay information is published in the Tor bridge database "
|
||||
"instead of public Tor relay database making it harder to censor this node. "
|
||||
"This helps others circumvent censorship."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:104
|
||||
#: plinth/modules/tor/forms.py:108
|
||||
#, fuzzy
|
||||
#| msgid "Enable Tor Hidden Service"
|
||||
msgid "Enable Tor Onion Service"
|
||||
msgstr "ENABLE TOR HIDDEN SERVICE"
|
||||
|
||||
#: plinth/modules/tor/forms.py:106
|
||||
#: plinth/modules/tor/forms.py:110
|
||||
#, fuzzy, python-brace-format
|
||||
#| msgid ""
|
||||
#| "A hidden service will allow {box_name} to provide selected services (such "
|
||||
@ -7161,29 +7169,15 @@ msgstr ""
|
||||
"A HIDDEN SERVICE WILL ALLOW {box_name} TO PROVIDE SELECTED SERVICES (SUCH AS "
|
||||
"OWNCLOUD OR CHAT) WITHOUT REVEALING ITS LOCATION."
|
||||
|
||||
#: plinth/modules/tor/forms.py:111
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr "DOWNLOAD SOFTWARE PACKAGES OVER TOR"
|
||||
|
||||
#: plinth/modules/tor/forms.py:112
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
"WHEN ENABLED, SOFTWARE WILL BE DOWNLOADED OVER THE TOR NETWORK FOR "
|
||||
"INSTALLATIONS AND UPGRADES. THIS ADDS A DEGREE OF PRIVACY AND SECURITY "
|
||||
"DURING SOFTWARE DOWNLOADS."
|
||||
|
||||
#: plinth/modules/tor/forms.py:127
|
||||
#: plinth/modules/tor/forms.py:125
|
||||
msgid "Specify at least one upstream bridge to use upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/manifest.py:15
|
||||
#: plinth/modules/tor/manifest.py:15 plinth/modules/torproxy/manifest.py:14
|
||||
msgid "Tor Browser"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/manifest.py:31
|
||||
#: plinth/modules/tor/manifest.py:31 plinth/modules/torproxy/manifest.py:30
|
||||
msgid "Orbot: Proxy with Tor"
|
||||
msgstr ""
|
||||
|
||||
@ -7199,18 +7193,61 @@ msgstr "HIDDEN SERVICE"
|
||||
msgid "Ports"
|
||||
msgstr "PORT"
|
||||
|
||||
#: plinth/modules/tor/views.py:53
|
||||
#: plinth/modules/tor/views.py:53 plinth/modules/torproxy/views.py:51
|
||||
#, fuzzy
|
||||
#| msgid "An error occurred during configuration."
|
||||
msgid "Updating configuration"
|
||||
msgstr "AN ERROR OCCURRED DURING CONFIGURATION."
|
||||
|
||||
#: plinth/modules/tor/views.py:70
|
||||
#: plinth/modules/tor/views.py:70 plinth/modules/torproxy/views.py:68
|
||||
#, fuzzy, python-brace-format
|
||||
#| msgid "Error installing packages: {string} {details}"
|
||||
msgid "Error configuring app: {error}"
|
||||
msgstr "ERROR INSTALLING PACKAGES: {string} {details}"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:34
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides a web proxy on your {box_name} for internal networks on "
|
||||
"TCP port 9050 using the SOCKS protocol. This can be used by various apps to "
|
||||
"access the internet via the Tor network. ISP censorship can be circumvented "
|
||||
"using upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:54
|
||||
#, fuzzy
|
||||
#| msgid "Privoxy Web Proxy"
|
||||
msgid "Tor Proxy"
|
||||
msgstr "PRIVOXY WEB PROXY"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:79
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:138
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr "ACCESS URL {url} ON TCP{kind} VIA TOR"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:149
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr "CONFIRM TOR USAGE AT {url} ON TCP{kind}"
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:15
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr "DOWNLOAD SOFTWARE PACKAGES OVER TOR"
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:16
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
"WHEN ENABLED, SOFTWARE WILL BE DOWNLOADED OVER THE TOR NETWORK FOR "
|
||||
"INSTALLATIONS AND UPGRADES. THIS ADDS A DEGREE OF PRIVACY AND SECURITY "
|
||||
"DURING SOFTWARE DOWNLOADS."
|
||||
|
||||
#: plinth/modules/transmission/__init__.py:25
|
||||
#, fuzzy
|
||||
#| msgid "Deluge is a BitTorrent client that features a Web UI."
|
||||
@ -7604,14 +7641,14 @@ msgstr ""
|
||||
msgid "Starting distribution upgrade test."
|
||||
msgstr "AUTOMATIC UPGRADES ENABLED"
|
||||
|
||||
#: plinth/modules/users/__init__.py:29
|
||||
#: plinth/modules/users/__init__.py:30
|
||||
msgid ""
|
||||
"Create and manage user accounts. These accounts serve as centralized "
|
||||
"authentication mechanism for most apps. Some apps further require a user "
|
||||
"account to be part of a group to authorize the user to access the app."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:34
|
||||
#: plinth/modules/users/__init__.py:35
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Any user may login to {box_name} web interface to see a list of apps "
|
||||
@ -7619,19 +7656,29 @@ msgid ""
|
||||
"group may alter apps or system settings."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:55
|
||||
#: plinth/modules/users/__init__.py:56
|
||||
msgid "Users and Groups"
|
||||
msgstr "USERS AND GROUPS"
|
||||
|
||||
#: plinth/modules/users/__init__.py:80
|
||||
#: plinth/modules/users/__init__.py:81
|
||||
msgid "Access to all services and system settings"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:116
|
||||
#: plinth/modules/users/__init__.py:124
|
||||
#, python-brace-format
|
||||
msgid "Check LDAP entry \"{search_item}\""
|
||||
msgstr "CHECK LDAP ENTRY \"{search_item}\""
|
||||
|
||||
#: plinth/modules/users/__init__.py:137
|
||||
#, python-brace-format
|
||||
msgid "Check nslcd config \"{key} {value}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:166
|
||||
#, python-brace-format
|
||||
msgid "Check nsswitch config \"{database}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/forms.py:35
|
||||
msgid "Username is taken or is reserved."
|
||||
msgstr ""
|
||||
@ -8871,7 +8918,13 @@ msgstr "UPDATE URL"
|
||||
msgid "Backup"
|
||||
msgstr "PAGEKITE ACCOUNT"
|
||||
|
||||
#: plinth/templates/toolbar.html:51 plinth/templates/toolbar.html:52
|
||||
#: plinth/templates/toolbar.html:53
|
||||
#, fuzzy
|
||||
#| msgid "Start setup"
|
||||
msgid "Re-run setup"
|
||||
msgstr "START SETUP"
|
||||
|
||||
#: plinth/templates/toolbar.html:59 plinth/templates/toolbar.html:60
|
||||
#: plinth/templates/uninstall.html:30
|
||||
#, fuzzy
|
||||
#| msgid "Install"
|
||||
@ -8890,11 +8943,11 @@ msgid ""
|
||||
"installed freshly again."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/views.py:239
|
||||
#: plinth/views.py:241
|
||||
msgid "Setting unchanged"
|
||||
msgstr "SETTING UNCHANGED"
|
||||
|
||||
#: plinth/views.py:456
|
||||
#: plinth/views.py:478
|
||||
#, python-brace-format
|
||||
msgid "before uninstall of {app_id}"
|
||||
msgstr ""
|
||||
@ -8903,6 +8956,15 @@ msgstr ""
|
||||
msgid "Gujarati"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy, python-brace-format
|
||||
#~| msgid ""
|
||||
#~| "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050."
|
||||
#~ msgid ""
|
||||
#~ "A Tor SOCKS port is available on your {box_name} for internal networks on "
|
||||
#~ "TCP port 9050."
|
||||
#~ msgstr ""
|
||||
#~ "A TOR SOCKS PORT IS AVAILABLE ON YOUR %(box_name)s ON TCP PORT 9050."
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Web Server"
|
||||
#~ msgid "ChatSecure"
|
||||
@ -9450,9 +9512,6 @@ msgstr ""
|
||||
#~ "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"
|
||||
|
||||
@ -9856,11 +9915,6 @@ msgstr ""
|
||||
#~ msgid "Error setting default app: {exception}"
|
||||
#~ msgstr "ERROR SETTING LANGUAGE: {exception}"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Default"
|
||||
#~ msgid "Default app set"
|
||||
#~ msgstr "DEFAULT"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "NTP client in contact with servers"
|
||||
#~ msgid "chrony client in contact with servers"
|
||||
|
||||
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: FreedomBox UI\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-06-19 20:15-0400\n"
|
||||
"POT-Creation-Date: 2023-07-31 20:04-0400\n"
|
||||
"PO-Revision-Date: 2023-04-07 23:10+0000\n"
|
||||
"Last-Translator: Coucouf <coucouf@coucouf.fr>\n"
|
||||
"Language-Team: French <https://hosted.weblate.org/projects/freedombox/"
|
||||
@ -28,7 +28,7 @@ msgstr "Code source de la page"
|
||||
msgid "Static configuration {etc_path} is setup properly"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/context_processors.py:23 plinth/views.py:92
|
||||
#: plinth/context_processors.py:23 plinth/views.py:94
|
||||
msgid "FreedomBox"
|
||||
msgstr "FreedomBox"
|
||||
|
||||
@ -923,7 +923,8 @@ msgstr "Admin"
|
||||
|
||||
#: plinth/modules/bepasty/views.py:88 plinth/modules/searx/views.py:35
|
||||
#: plinth/modules/searx/views.py:46 plinth/modules/security/views.py:56
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/zoph/views.py:74
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/torproxy/views.py:71
|
||||
#: plinth/modules/zoph/views.py:74
|
||||
msgid "Configuration updated."
|
||||
msgstr "Configuration mise à jour."
|
||||
|
||||
@ -2190,7 +2191,7 @@ msgstr "Port"
|
||||
msgid "Host/Target/Value"
|
||||
msgstr "Hôte/Cible/Valeur"
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:23
|
||||
#: plinth/modules/firewall/__init__.py:24
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Firewall is a security system that controls the incoming and outgoing "
|
||||
@ -2202,10 +2203,24 @@ msgstr ""
|
||||
"Garder un pare-feu activé et correctement configuré réduit le risque des "
|
||||
"menaces provenant d’Internet."
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:59
|
||||
#: plinth/modules/firewall/__init__.py:60
|
||||
msgid "Firewall"
|
||||
msgstr "Pare-feu"
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:269
|
||||
#, fuzzy
|
||||
#| msgid "Default"
|
||||
msgid "Default zone is external"
|
||||
msgstr "Défaut"
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:276
|
||||
msgid "Firewall backend is nftables"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:287
|
||||
msgid "Direct passthrough rules exist"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/components.py:134
|
||||
#, python-brace-format
|
||||
msgid "Port {name} ({details}) available for internal networks"
|
||||
@ -2893,7 +2908,8 @@ msgstr "Gestion de l’application I2P"
|
||||
msgid "I2P"
|
||||
msgstr "I2P"
|
||||
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:49
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:61
|
||||
#: plinth/modules/torproxy/__init__.py:55
|
||||
msgid "Anonymity Network"
|
||||
msgstr "Réseau d’anonymisation"
|
||||
|
||||
@ -5575,7 +5591,7 @@ msgstr "Privoxy"
|
||||
msgid "Web Proxy"
|
||||
msgstr "Serveur mandataire web"
|
||||
|
||||
#: plinth/modules/privoxy/__init__.py:113
|
||||
#: plinth/modules/privoxy/__init__.py:114
|
||||
#, python-brace-format
|
||||
msgid "Access {url} with proxy {proxy} on tcp{kind}"
|
||||
msgstr "Accéder à l’URL {url} avec le mandataire {proxy} sur tcp{kind}"
|
||||
@ -7068,7 +7084,7 @@ msgstr "Syncthing"
|
||||
msgid "File Synchronization"
|
||||
msgstr "Synchronisation de fichiers"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:23
|
||||
#: plinth/modules/tor/__init__.py:31 plinth/modules/torproxy/__init__.py:27
|
||||
msgid ""
|
||||
"Tor is an anonymous communication system. You can learn more about it from "
|
||||
"the <a href=\"https://www.torproject.org/\">Tor Project</a> website. For "
|
||||
@ -7082,59 +7098,50 @@ msgstr ""
|
||||
"recommande l’utilisation du <a href=\"https://www.torproject.org/fr/download/"
|
||||
"\">Navigateur Tor</a>."
|
||||
|
||||
#: plinth/modules/tor/__init__.py:30
|
||||
#: plinth/modules/tor/__init__.py:37
|
||||
msgid ""
|
||||
"This app provides relay services to contribute to Tor network and help "
|
||||
"others overcome censorship."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:40
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"A Tor SOCKS port is available on your {box_name} for internal networks on "
|
||||
"TCP port 9050."
|
||||
"This app provides an onion domain to expose {box_name} services via the Tor "
|
||||
"network. Using Tor browser, one can access {box_name} from the internet even "
|
||||
"when using an ISP that limits servers at home."
|
||||
msgstr ""
|
||||
"Un port SOCKS pour Tor est accessible sur votre {box_name} pour les réseaux "
|
||||
"internes via le port TCP 9050."
|
||||
|
||||
#: plinth/modules/tor/__init__.py:48
|
||||
#: plinth/modules/tor/__init__.py:60
|
||||
msgid "Tor"
|
||||
msgstr "Tor"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:65
|
||||
#: plinth/modules/tor/__init__.py:76
|
||||
msgid "Tor Onion Service"
|
||||
msgstr "Service onion Tor"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:69
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr "Mandataire Socks Tor"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:73
|
||||
#: plinth/modules/tor/__init__.py:80
|
||||
msgid "Tor Bridge Relay"
|
||||
msgstr "Relais Tor de type pont (« bridge relay »)"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:132
|
||||
#: plinth/modules/tor/__init__.py:135
|
||||
msgid "Tor relay port available"
|
||||
msgstr "Le port du relais Tor est disponible"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:143
|
||||
#: plinth/modules/tor/__init__.py:146
|
||||
msgid "Obfs3 transport registered"
|
||||
msgstr "Abonné au transport obfs3"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:153
|
||||
#: plinth/modules/tor/__init__.py:156
|
||||
msgid "Obfs4 transport registered"
|
||||
msgstr "Abonné au transport obfs4"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:165
|
||||
#: plinth/modules/tor/__init__.py:168
|
||||
#, fuzzy
|
||||
#| msgid "Onion Service"
|
||||
msgid "Onion service is version 3"
|
||||
msgstr "Service Onion"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:242
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr "Accédez à l’URL {url} sur tcp{kind} via Tor"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:253
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr "Confirmez l’utilisation de Tor pour {url} sur tcp{kind}"
|
||||
|
||||
#: plinth/modules/tor/forms.py:33
|
||||
msgid ""
|
||||
"Enter a valid bridge with this format: [transport] IP:ORPort [fingerprint]"
|
||||
@ -7171,11 +7178,11 @@ msgstr ""
|
||||
"coller les informations de pont ici. Les transports pris en charge "
|
||||
"actuellement sont aucun, obfs3, obfs4 et scamblesuit."
|
||||
|
||||
#: plinth/modules/tor/forms.py:91
|
||||
#: plinth/modules/tor/forms.py:95
|
||||
msgid "Enable Tor relay"
|
||||
msgstr "Activer le relais Tor"
|
||||
|
||||
#: plinth/modules/tor/forms.py:92
|
||||
#: plinth/modules/tor/forms.py:96
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"When enabled, your {box_name} will run a Tor relay and donate bandwidth to "
|
||||
@ -7187,11 +7194,11 @@ msgstr ""
|
||||
"disposez de plus de 2 mégabits/s de bande passante en téléversement et en "
|
||||
"téléchargement."
|
||||
|
||||
#: plinth/modules/tor/forms.py:97
|
||||
#: plinth/modules/tor/forms.py:101
|
||||
msgid "Enable Tor bridge relay"
|
||||
msgstr "Activer le relais pont Tor"
|
||||
|
||||
#: plinth/modules/tor/forms.py:99
|
||||
#: plinth/modules/tor/forms.py:103
|
||||
msgid ""
|
||||
"When enabled, relay information is published in the Tor bridge database "
|
||||
"instead of public Tor relay database making it harder to censor this node. "
|
||||
@ -7202,13 +7209,13 @@ msgstr ""
|
||||
"relais Tor, rendant ainsi plus difficile la censure de ce nœud. Ceci aide "
|
||||
"d’autres personnes à contourner la censure."
|
||||
|
||||
#: plinth/modules/tor/forms.py:104
|
||||
#: plinth/modules/tor/forms.py:108
|
||||
#, fuzzy
|
||||
#| msgid "Enable Tor Hidden Service"
|
||||
msgid "Enable Tor Onion Service"
|
||||
msgstr "Activer le service Tor caché"
|
||||
|
||||
#: plinth/modules/tor/forms.py:106
|
||||
#: plinth/modules/tor/forms.py:110
|
||||
#, fuzzy, python-brace-format
|
||||
#| msgid ""
|
||||
#| "A hidden service will allow {box_name} to provide selected services (such "
|
||||
@ -7223,30 +7230,15 @@ msgstr ""
|
||||
"services sélectionnés (comme un wiki ou un tchat) sans révéler son "
|
||||
"emplacement. Ne pas utiliser pour l’instant pour de l’anonymisation forte."
|
||||
|
||||
#: plinth/modules/tor/forms.py:111
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr "Téléchargez les paquets logiciels via Tor"
|
||||
|
||||
#: plinth/modules/tor/forms.py:112
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
"En activant cette option, les logiciels seront téléchargés via le réseau Tor "
|
||||
"lors des installations et des mises à niveau. Ce mode ajoute un niveau de "
|
||||
"sécurité et de confidentialité supplémentaires pour le téléchargement des "
|
||||
"logiciels."
|
||||
|
||||
#: plinth/modules/tor/forms.py:127
|
||||
#: plinth/modules/tor/forms.py:125
|
||||
msgid "Specify at least one upstream bridge to use upstream bridges."
|
||||
msgstr "Spécifiez au moins un pont upstream pour utiliser des ponts upstream."
|
||||
|
||||
#: plinth/modules/tor/manifest.py:15
|
||||
#: plinth/modules/tor/manifest.py:15 plinth/modules/torproxy/manifest.py:14
|
||||
msgid "Tor Browser"
|
||||
msgstr "Navigateur Tor"
|
||||
|
||||
#: plinth/modules/tor/manifest.py:31
|
||||
#: plinth/modules/tor/manifest.py:31 plinth/modules/torproxy/manifest.py:30
|
||||
msgid "Orbot: Proxy with Tor"
|
||||
msgstr "Orbot : Mandataire utilisant Tor"
|
||||
|
||||
@ -7258,15 +7250,59 @@ msgstr "Service Onion"
|
||||
msgid "Ports"
|
||||
msgstr "Ports"
|
||||
|
||||
#: plinth/modules/tor/views.py:53
|
||||
#: plinth/modules/tor/views.py:53 plinth/modules/torproxy/views.py:51
|
||||
msgid "Updating configuration"
|
||||
msgstr "Mise à jour de la configuration"
|
||||
|
||||
#: plinth/modules/tor/views.py:70
|
||||
#: plinth/modules/tor/views.py:70 plinth/modules/torproxy/views.py:68
|
||||
#, python-brace-format
|
||||
msgid "Error configuring app: {error}"
|
||||
msgstr "Erreur lors de la configuration de l’application : {error}"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:34
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides a web proxy on your {box_name} for internal networks on "
|
||||
"TCP port 9050 using the SOCKS protocol. This can be used by various apps to "
|
||||
"access the internet via the Tor network. ISP censorship can be circumvented "
|
||||
"using upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:54
|
||||
#, fuzzy
|
||||
#| msgid "Tor Socks Proxy"
|
||||
msgid "Tor Proxy"
|
||||
msgstr "Mandataire Socks Tor"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:79
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr "Mandataire Socks Tor"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:138
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr "Accédez à l’URL {url} sur tcp{kind} via Tor"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:149
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr "Confirmez l’utilisation de Tor pour {url} sur tcp{kind}"
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:15
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr "Téléchargez les paquets logiciels via Tor"
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:16
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
"En activant cette option, les logiciels seront téléchargés via le réseau Tor "
|
||||
"lors des installations et des mises à niveau. Ce mode ajoute un niveau de "
|
||||
"sécurité et de confidentialité supplémentaires pour le téléchargement des "
|
||||
"logiciels."
|
||||
|
||||
#: plinth/modules/transmission/__init__.py:25
|
||||
msgid "Transmission is a BitTorrent client with a web interface."
|
||||
msgstr ""
|
||||
@ -7668,7 +7704,7 @@ msgstr "Mise à jour régulière des fonctionnalités activée."
|
||||
msgid "Starting distribution upgrade test."
|
||||
msgstr "Démarrage du test de mise à niveau de la distribution."
|
||||
|
||||
#: plinth/modules/users/__init__.py:29
|
||||
#: plinth/modules/users/__init__.py:30
|
||||
msgid ""
|
||||
"Create and manage user accounts. These accounts serve as centralized "
|
||||
"authentication mechanism for most apps. Some apps further require a user "
|
||||
@ -7679,7 +7715,7 @@ msgstr ""
|
||||
"Certaines applis demandent en outre que les comptes soient membres d’un "
|
||||
"groupe particulier pour pouvoir accéder à l’application."
|
||||
|
||||
#: plinth/modules/users/__init__.py:34
|
||||
#: plinth/modules/users/__init__.py:35
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Any user may login to {box_name} web interface to see a list of apps "
|
||||
@ -7691,19 +7727,29 @@ msgstr ""
|
||||
"principale. En revanche, seuls les utilisateurs membres du groupe <em>admin</"
|
||||
"em> peuvent modifier les applications ou changer les paramètres système."
|
||||
|
||||
#: plinth/modules/users/__init__.py:55
|
||||
#: plinth/modules/users/__init__.py:56
|
||||
msgid "Users and Groups"
|
||||
msgstr "Utilisateurs et groupes"
|
||||
|
||||
#: plinth/modules/users/__init__.py:80
|
||||
#: plinth/modules/users/__init__.py:81
|
||||
msgid "Access to all services and system settings"
|
||||
msgstr "Accès à tous les services et à la configuration du système"
|
||||
|
||||
#: plinth/modules/users/__init__.py:116
|
||||
#: plinth/modules/users/__init__.py:124
|
||||
#, python-brace-format
|
||||
msgid "Check LDAP entry \"{search_item}\""
|
||||
msgstr "Vérification de l’entrée LDAP « {search_item} »"
|
||||
|
||||
#: plinth/modules/users/__init__.py:137
|
||||
#, python-brace-format
|
||||
msgid "Check nslcd config \"{key} {value}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:166
|
||||
#, python-brace-format
|
||||
msgid "Check nsswitch config \"{database}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/forms.py:35
|
||||
msgid "Username is taken or is reserved."
|
||||
msgstr "Le nom d’utilisateur est déjà pris ou est réservé."
|
||||
@ -8917,7 +8963,13 @@ msgstr "Mettre à jour"
|
||||
msgid "Backup"
|
||||
msgstr "Sauvegarder"
|
||||
|
||||
#: plinth/templates/toolbar.html:51 plinth/templates/toolbar.html:52
|
||||
#: plinth/templates/toolbar.html:53
|
||||
#, fuzzy
|
||||
#| msgid "Start setup"
|
||||
msgid "Re-run setup"
|
||||
msgstr "Démarrer l’installation"
|
||||
|
||||
#: plinth/templates/toolbar.html:59 plinth/templates/toolbar.html:60
|
||||
#: plinth/templates/uninstall.html:30
|
||||
msgid "Uninstall"
|
||||
msgstr "Désinstaller"
|
||||
@ -8935,11 +8987,11 @@ msgstr ""
|
||||
"L’ensemble données de l’appli et sa configuration seront définitivement "
|
||||
"perdus. Un appli peut toujours être réinstallée de zéro."
|
||||
|
||||
#: plinth/views.py:239
|
||||
#: plinth/views.py:241
|
||||
msgid "Setting unchanged"
|
||||
msgstr "Paramètre inchangé"
|
||||
|
||||
#: plinth/views.py:456
|
||||
#: plinth/views.py:478
|
||||
#, python-brace-format
|
||||
msgid "before uninstall of {app_id}"
|
||||
msgstr "avant la désinstallation de {app_id}"
|
||||
@ -8948,6 +9000,14 @@ msgstr "avant la désinstallation de {app_id}"
|
||||
msgid "Gujarati"
|
||||
msgstr "Gujarati"
|
||||
|
||||
#, python-brace-format
|
||||
#~ msgid ""
|
||||
#~ "A Tor SOCKS port is available on your {box_name} for internal networks on "
|
||||
#~ "TCP port 9050."
|
||||
#~ msgstr ""
|
||||
#~ "Un port SOCKS pour Tor est accessible sur votre {box_name} pour les "
|
||||
#~ "réseaux internes via le port TCP 9050."
|
||||
|
||||
#, python-brace-format
|
||||
#~ msgid ""
|
||||
#~ "When enabled, text box for server input is removed from login page and "
|
||||
@ -9776,9 +9836,6 @@ msgstr "Gujarati"
|
||||
#~ "%(box_name)s, cela peut prendre jusqu’à plusieurs heures. Si "
|
||||
#~ "l'installation est interrompue, vous devrez la relancer intégralement."
|
||||
|
||||
#~ msgid "Start setup"
|
||||
#~ msgstr "Démarrer l’installation"
|
||||
|
||||
#~ msgid "OpenVPN setup is running"
|
||||
#~ msgstr "L’installation d’OpenVPN est en cours"
|
||||
|
||||
@ -10453,11 +10510,6 @@ msgstr "Gujarati"
|
||||
#~ msgid "Error setting default app: {exception}"
|
||||
#~ msgstr "Erreur lors de la configuration de la langue : {exception}"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Default"
|
||||
#~ msgid "Default app set"
|
||||
#~ msgstr "Défaut"
|
||||
|
||||
#~ msgid "Abort"
|
||||
#~ msgstr "Annuler"
|
||||
|
||||
|
||||
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-06-19 20:15-0400\n"
|
||||
"POT-Creation-Date: 2023-07-31 20:04-0400\n"
|
||||
"PO-Revision-Date: 2022-12-30 10:51+0000\n"
|
||||
"Last-Translator: gallegonovato <fran-carro@hotmail.es>\n"
|
||||
"Language-Team: Galician <https://hosted.weblate.org/projects/freedombox/"
|
||||
@ -28,7 +28,7 @@ msgstr ""
|
||||
msgid "Static configuration {etc_path} is setup properly"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/context_processors.py:23 plinth/views.py:92
|
||||
#: plinth/context_processors.py:23 plinth/views.py:94
|
||||
msgid "FreedomBox"
|
||||
msgstr "FreedomBox"
|
||||
|
||||
@ -839,7 +839,8 @@ msgstr ""
|
||||
|
||||
#: plinth/modules/bepasty/views.py:88 plinth/modules/searx/views.py:35
|
||||
#: plinth/modules/searx/views.py:46 plinth/modules/security/views.py:56
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/zoph/views.py:74
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/torproxy/views.py:71
|
||||
#: plinth/modules/zoph/views.py:74
|
||||
msgid "Configuration updated."
|
||||
msgstr ""
|
||||
|
||||
@ -1923,7 +1924,7 @@ msgstr ""
|
||||
msgid "Host/Target/Value"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:23
|
||||
#: plinth/modules/firewall/__init__.py:24
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Firewall is a security system that controls the incoming and outgoing "
|
||||
@ -1931,10 +1932,22 @@ msgid ""
|
||||
"configured reduces risk of security threat from the Internet."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:59
|
||||
#: plinth/modules/firewall/__init__.py:60
|
||||
msgid "Firewall"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:269
|
||||
msgid "Default zone is external"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:276
|
||||
msgid "Firewall backend is nftables"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:287
|
||||
msgid "Direct passthrough rules exist"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/components.py:134
|
||||
#, python-brace-format
|
||||
msgid "Port {name} ({details}) available for internal networks"
|
||||
@ -2509,7 +2522,8 @@ msgstr ""
|
||||
msgid "I2P"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:49
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:61
|
||||
#: plinth/modules/torproxy/__init__.py:55
|
||||
msgid "Anonymity Network"
|
||||
msgstr ""
|
||||
|
||||
@ -4781,7 +4795,7 @@ msgstr ""
|
||||
msgid "Web Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/privoxy/__init__.py:113
|
||||
#: plinth/modules/privoxy/__init__.py:114
|
||||
#, python-brace-format
|
||||
msgid "Access {url} with proxy {proxy} on tcp{kind}"
|
||||
msgstr ""
|
||||
@ -6036,7 +6050,7 @@ msgstr ""
|
||||
msgid "File Synchronization"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:23
|
||||
#: plinth/modules/tor/__init__.py:31 plinth/modules/torproxy/__init__.py:27
|
||||
msgid ""
|
||||
"Tor is an anonymous communication system. You can learn more about it from "
|
||||
"the <a href=\"https://www.torproject.org/\">Tor Project</a> website. For "
|
||||
@ -6045,55 +6059,48 @@ msgid ""
|
||||
"en\">Tor Browser</a>."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:30
|
||||
#, python-brace-format
|
||||
#: plinth/modules/tor/__init__.py:37
|
||||
msgid ""
|
||||
"A Tor SOCKS port is available on your {box_name} for internal networks on "
|
||||
"TCP port 9050."
|
||||
"This app provides relay services to contribute to Tor network and help "
|
||||
"others overcome censorship."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:48
|
||||
#: plinth/modules/tor/__init__.py:40
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides an onion domain to expose {box_name} services via the Tor "
|
||||
"network. Using Tor browser, one can access {box_name} from the internet even "
|
||||
"when using an ISP that limits servers at home."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:60
|
||||
msgid "Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:65
|
||||
#: plinth/modules/tor/__init__.py:76
|
||||
msgid "Tor Onion Service"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:69
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:73
|
||||
#: plinth/modules/tor/__init__.py:80
|
||||
msgid "Tor Bridge Relay"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:132
|
||||
#: plinth/modules/tor/__init__.py:135
|
||||
msgid "Tor relay port available"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:143
|
||||
#: plinth/modules/tor/__init__.py:146
|
||||
msgid "Obfs3 transport registered"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:153
|
||||
#: plinth/modules/tor/__init__.py:156
|
||||
msgid "Obfs4 transport registered"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:165
|
||||
#: plinth/modules/tor/__init__.py:168
|
||||
msgid "Onion service is version 3"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:242
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:253
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:33
|
||||
msgid ""
|
||||
"Enter a valid bridge with this format: [transport] IP:ORPort [fingerprint]"
|
||||
@ -6121,11 +6128,11 @@ msgid ""
|
||||
"here. Currently supported transports are none, obfs3, obfs4 and scamblesuit."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:91
|
||||
#: plinth/modules/tor/forms.py:95
|
||||
msgid "Enable Tor relay"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:92
|
||||
#: plinth/modules/tor/forms.py:96
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"When enabled, your {box_name} will run a Tor relay and donate bandwidth to "
|
||||
@ -6133,22 +6140,22 @@ msgid ""
|
||||
"download bandwidth."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:97
|
||||
#: plinth/modules/tor/forms.py:101
|
||||
msgid "Enable Tor bridge relay"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:99
|
||||
#: plinth/modules/tor/forms.py:103
|
||||
msgid ""
|
||||
"When enabled, relay information is published in the Tor bridge database "
|
||||
"instead of public Tor relay database making it harder to censor this node. "
|
||||
"This helps others circumvent censorship."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:104
|
||||
#: plinth/modules/tor/forms.py:108
|
||||
msgid "Enable Tor Onion Service"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:106
|
||||
#: plinth/modules/tor/forms.py:110
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"An onion service will allow {box_name} to provide selected services (such as "
|
||||
@ -6156,26 +6163,15 @@ msgid ""
|
||||
"anonymity yet."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:111
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:112
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:127
|
||||
#: plinth/modules/tor/forms.py:125
|
||||
msgid "Specify at least one upstream bridge to use upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/manifest.py:15
|
||||
#: plinth/modules/tor/manifest.py:15 plinth/modules/torproxy/manifest.py:14
|
||||
msgid "Tor Browser"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/manifest.py:31
|
||||
#: plinth/modules/tor/manifest.py:31 plinth/modules/torproxy/manifest.py:30
|
||||
msgid "Orbot: Proxy with Tor"
|
||||
msgstr ""
|
||||
|
||||
@ -6187,16 +6183,54 @@ msgstr ""
|
||||
msgid "Ports"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/views.py:53
|
||||
#: plinth/modules/tor/views.py:53 plinth/modules/torproxy/views.py:51
|
||||
msgid "Updating configuration"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/views.py:70
|
||||
#: plinth/modules/tor/views.py:70 plinth/modules/torproxy/views.py:68
|
||||
#, fuzzy, python-brace-format
|
||||
#| msgid "Error installing application: {error}"
|
||||
msgid "Error configuring app: {error}"
|
||||
msgstr "Produciuse un erro ao instalar o aplicativo: {error}"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:34
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides a web proxy on your {box_name} for internal networks on "
|
||||
"TCP port 9050 using the SOCKS protocol. This can be used by various apps to "
|
||||
"access the internet via the Tor network. ISP censorship can be circumvented "
|
||||
"using upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:54
|
||||
msgid "Tor Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:79
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:138
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:149
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:15
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:16
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/transmission/__init__.py:25
|
||||
msgid "Transmission is a BitTorrent client with a web interface."
|
||||
msgstr ""
|
||||
@ -6528,14 +6562,14 @@ msgstr ""
|
||||
msgid "Starting distribution upgrade test."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:29
|
||||
#: plinth/modules/users/__init__.py:30
|
||||
msgid ""
|
||||
"Create and manage user accounts. These accounts serve as centralized "
|
||||
"authentication mechanism for most apps. Some apps further require a user "
|
||||
"account to be part of a group to authorize the user to access the app."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:34
|
||||
#: plinth/modules/users/__init__.py:35
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Any user may login to {box_name} web interface to see a list of apps "
|
||||
@ -6543,19 +6577,29 @@ msgid ""
|
||||
"group may alter apps or system settings."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:55
|
||||
#: plinth/modules/users/__init__.py:56
|
||||
msgid "Users and Groups"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:80
|
||||
#: plinth/modules/users/__init__.py:81
|
||||
msgid "Access to all services and system settings"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:116
|
||||
#: plinth/modules/users/__init__.py:124
|
||||
#, python-brace-format
|
||||
msgid "Check LDAP entry \"{search_item}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:137
|
||||
#, python-brace-format
|
||||
msgid "Check nslcd config \"{key} {value}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:166
|
||||
#, python-brace-format
|
||||
msgid "Check nsswitch config \"{database}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/forms.py:35
|
||||
msgid "Username is taken or is reserved."
|
||||
msgstr ""
|
||||
@ -7640,7 +7684,11 @@ msgstr ""
|
||||
msgid "Backup"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/templates/toolbar.html:51 plinth/templates/toolbar.html:52
|
||||
#: plinth/templates/toolbar.html:53
|
||||
msgid "Re-run setup"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/templates/toolbar.html:59 plinth/templates/toolbar.html:60
|
||||
#: plinth/templates/uninstall.html:30
|
||||
#, fuzzy
|
||||
#| msgid "Application installed."
|
||||
@ -7658,11 +7706,11 @@ msgid ""
|
||||
"installed freshly again."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/views.py:239
|
||||
#: plinth/views.py:241
|
||||
msgid "Setting unchanged"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/views.py:456
|
||||
#: plinth/views.py:478
|
||||
#, python-brace-format
|
||||
msgid "before uninstall of {app_id}"
|
||||
msgstr ""
|
||||
|
||||
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-06-19 20:15-0400\n"
|
||||
"POT-Creation-Date: 2023-07-31 20:04-0400\n"
|
||||
"PO-Revision-Date: 2021-01-18 12:32+0000\n"
|
||||
"Last-Translator: ikmaak <info@ikmaak.nl>\n"
|
||||
"Language-Team: Gujarati <https://hosted.weblate.org/projects/freedombox/"
|
||||
@ -28,7 +28,7 @@ msgstr ""
|
||||
msgid "Static configuration {etc_path} is setup properly"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/context_processors.py:23 plinth/views.py:92
|
||||
#: plinth/context_processors.py:23 plinth/views.py:94
|
||||
msgid "FreedomBox"
|
||||
msgstr "ફ્રિડમબોક્ષ"
|
||||
|
||||
@ -880,7 +880,8 @@ msgstr ""
|
||||
|
||||
#: plinth/modules/bepasty/views.py:88 plinth/modules/searx/views.py:35
|
||||
#: plinth/modules/searx/views.py:46 plinth/modules/security/views.py:56
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/zoph/views.py:74
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/torproxy/views.py:71
|
||||
#: plinth/modules/zoph/views.py:74
|
||||
msgid "Configuration updated."
|
||||
msgstr ""
|
||||
|
||||
@ -2105,7 +2106,7 @@ msgstr ""
|
||||
msgid "Host/Target/Value"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:23
|
||||
#: plinth/modules/firewall/__init__.py:24
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Firewall is a security system that controls the incoming and outgoing "
|
||||
@ -2116,10 +2117,22 @@ msgstr ""
|
||||
"છે {box_name}. ફાયરવૉલ સક્ષમ અને યોગ્ય રીતે રૂપરેખાંકિત રાખીને ઇન્ટરનેટથી સુરક્ષાના ભયને "
|
||||
"ઘટાડે છે."
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:59
|
||||
#: plinth/modules/firewall/__init__.py:60
|
||||
msgid "Firewall"
|
||||
msgstr "ફાયરવોલ"
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:269
|
||||
msgid "Default zone is external"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:276
|
||||
msgid "Firewall backend is nftables"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:287
|
||||
msgid "Direct passthrough rules exist"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/components.py:134
|
||||
#, python-brace-format
|
||||
msgid "Port {name} ({details}) available for internal networks"
|
||||
@ -2718,7 +2731,8 @@ msgstr "એપ્લીકેશનને પ્રસ્થાપિત કર
|
||||
msgid "I2P"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:49
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:61
|
||||
#: plinth/modules/torproxy/__init__.py:55
|
||||
msgid "Anonymity Network"
|
||||
msgstr ""
|
||||
|
||||
@ -5044,7 +5058,7 @@ msgstr ""
|
||||
msgid "Web Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/privoxy/__init__.py:113
|
||||
#: plinth/modules/privoxy/__init__.py:114
|
||||
#, python-brace-format
|
||||
msgid "Access {url} with proxy {proxy} on tcp{kind}"
|
||||
msgstr ""
|
||||
@ -6314,7 +6328,7 @@ msgstr ""
|
||||
msgid "File Synchronization"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:23
|
||||
#: plinth/modules/tor/__init__.py:31 plinth/modules/torproxy/__init__.py:27
|
||||
msgid ""
|
||||
"Tor is an anonymous communication system. You can learn more about it from "
|
||||
"the <a href=\"https://www.torproject.org/\">Tor Project</a> website. For "
|
||||
@ -6323,57 +6337,50 @@ msgid ""
|
||||
"en\">Tor Browser</a>."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:30
|
||||
#, python-brace-format
|
||||
#: plinth/modules/tor/__init__.py:37
|
||||
msgid ""
|
||||
"A Tor SOCKS port is available on your {box_name} for internal networks on "
|
||||
"TCP port 9050."
|
||||
"This app provides relay services to contribute to Tor network and help "
|
||||
"others overcome censorship."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:48
|
||||
#: plinth/modules/tor/__init__.py:40
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides an onion domain to expose {box_name} services via the Tor "
|
||||
"network. Using Tor browser, one can access {box_name} from the internet even "
|
||||
"when using an ISP that limits servers at home."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:60
|
||||
msgid "Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:65
|
||||
#: plinth/modules/tor/__init__.py:76
|
||||
msgid "Tor Onion Service"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:69
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:73
|
||||
#: plinth/modules/tor/__init__.py:80
|
||||
msgid "Tor Bridge Relay"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:132
|
||||
#: plinth/modules/tor/__init__.py:135
|
||||
msgid "Tor relay port available"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:143
|
||||
#: plinth/modules/tor/__init__.py:146
|
||||
msgid "Obfs3 transport registered"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:153
|
||||
#: plinth/modules/tor/__init__.py:156
|
||||
msgid "Obfs4 transport registered"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:165
|
||||
#: plinth/modules/tor/__init__.py:168
|
||||
#, fuzzy
|
||||
#| msgid "Dynamic DNS Service"
|
||||
msgid "Onion service is version 3"
|
||||
msgstr "ડાયનેમિક DNS સેવા"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:242
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:253
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:33
|
||||
msgid ""
|
||||
"Enter a valid bridge with this format: [transport] IP:ORPort [fingerprint]"
|
||||
@ -6401,11 +6408,11 @@ msgid ""
|
||||
"here. Currently supported transports are none, obfs3, obfs4 and scamblesuit."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:91
|
||||
#: plinth/modules/tor/forms.py:95
|
||||
msgid "Enable Tor relay"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:92
|
||||
#: plinth/modules/tor/forms.py:96
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"When enabled, your {box_name} will run a Tor relay and donate bandwidth to "
|
||||
@ -6413,24 +6420,24 @@ msgid ""
|
||||
"download bandwidth."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:97
|
||||
#: plinth/modules/tor/forms.py:101
|
||||
msgid "Enable Tor bridge relay"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:99
|
||||
#: plinth/modules/tor/forms.py:103
|
||||
msgid ""
|
||||
"When enabled, relay information is published in the Tor bridge database "
|
||||
"instead of public Tor relay database making it harder to censor this node. "
|
||||
"This helps others circumvent censorship."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:104
|
||||
#: plinth/modules/tor/forms.py:108
|
||||
#, fuzzy
|
||||
#| msgid "Dynamic DNS Service"
|
||||
msgid "Enable Tor Onion Service"
|
||||
msgstr "ડાયનેમિક DNS સેવા"
|
||||
|
||||
#: plinth/modules/tor/forms.py:106
|
||||
#: plinth/modules/tor/forms.py:110
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"An onion service will allow {box_name} to provide selected services (such as "
|
||||
@ -6438,26 +6445,15 @@ msgid ""
|
||||
"anonymity yet."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:111
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:112
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:127
|
||||
#: plinth/modules/tor/forms.py:125
|
||||
msgid "Specify at least one upstream bridge to use upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/manifest.py:15
|
||||
#: plinth/modules/tor/manifest.py:15 plinth/modules/torproxy/manifest.py:14
|
||||
msgid "Tor Browser"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/manifest.py:31
|
||||
#: plinth/modules/tor/manifest.py:31 plinth/modules/torproxy/manifest.py:30
|
||||
msgid "Orbot: Proxy with Tor"
|
||||
msgstr ""
|
||||
|
||||
@ -6471,18 +6467,56 @@ msgstr "ડાયનેમિક DNS સેવા"
|
||||
msgid "Ports"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/views.py:53
|
||||
#: plinth/modules/tor/views.py:53 plinth/modules/torproxy/views.py:51
|
||||
#, fuzzy
|
||||
#| msgid "General Configuration"
|
||||
msgid "Updating configuration"
|
||||
msgstr "સામાન્ય ગોઠવણી"
|
||||
|
||||
#: plinth/modules/tor/views.py:70
|
||||
#: plinth/modules/tor/views.py:70 plinth/modules/torproxy/views.py:68
|
||||
#, fuzzy, python-brace-format
|
||||
#| msgid "Error installing application: {error}"
|
||||
msgid "Error configuring app: {error}"
|
||||
msgstr "એપ્લીકેશન પ્રસ્થાપિત કરતાં ભૂલ થઇ છે: {error}"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:34
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides a web proxy on your {box_name} for internal networks on "
|
||||
"TCP port 9050 using the SOCKS protocol. This can be used by various apps to "
|
||||
"access the internet via the Tor network. ISP censorship can be circumvented "
|
||||
"using upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:54
|
||||
msgid "Tor Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:79
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:138
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:149
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:15
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:16
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/transmission/__init__.py:25
|
||||
msgid "Transmission is a BitTorrent client with a web interface."
|
||||
msgstr "Transmission બીટ ટોરેન્ટ ક્લાયન્ટ છે જે વેબ UI ધરાવે છે."
|
||||
@ -6838,14 +6872,14 @@ msgstr ""
|
||||
msgid "Starting distribution upgrade test."
|
||||
msgstr "વપરાશકર્તા રજીસ્ટ્રેશન અક્ષમ છે"
|
||||
|
||||
#: plinth/modules/users/__init__.py:29
|
||||
#: plinth/modules/users/__init__.py:30
|
||||
msgid ""
|
||||
"Create and manage user accounts. These accounts serve as centralized "
|
||||
"authentication mechanism for most apps. Some apps further require a user "
|
||||
"account to be part of a group to authorize the user to access the app."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:34
|
||||
#: plinth/modules/users/__init__.py:35
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Any user may login to {box_name} web interface to see a list of apps "
|
||||
@ -6853,19 +6887,29 @@ msgid ""
|
||||
"group may alter apps or system settings."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:55
|
||||
#: plinth/modules/users/__init__.py:56
|
||||
msgid "Users and Groups"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:80
|
||||
#: plinth/modules/users/__init__.py:81
|
||||
msgid "Access to all services and system settings"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:116
|
||||
#: plinth/modules/users/__init__.py:124
|
||||
#, python-brace-format
|
||||
msgid "Check LDAP entry \"{search_item}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:137
|
||||
#, python-brace-format
|
||||
msgid "Check nslcd config \"{key} {value}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:166
|
||||
#, python-brace-format
|
||||
msgid "Check nsswitch config \"{database}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/forms.py:35
|
||||
msgid "Username is taken or is reserved."
|
||||
msgstr ""
|
||||
@ -7997,7 +8041,11 @@ msgstr ""
|
||||
msgid "Backup"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/templates/toolbar.html:51 plinth/templates/toolbar.html:52
|
||||
#: plinth/templates/toolbar.html:53
|
||||
msgid "Re-run setup"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/templates/toolbar.html:59 plinth/templates/toolbar.html:60
|
||||
#: plinth/templates/uninstall.html:30
|
||||
#, fuzzy
|
||||
#| msgid "Application installed."
|
||||
@ -8015,11 +8063,11 @@ msgid ""
|
||||
"installed freshly again."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/views.py:239
|
||||
#: plinth/views.py:241
|
||||
msgid "Setting unchanged"
|
||||
msgstr "સેટિંગ યથાવત"
|
||||
|
||||
#: plinth/views.py:456
|
||||
#: plinth/views.py:478
|
||||
#, python-brace-format
|
||||
msgid "before uninstall of {app_id}"
|
||||
msgstr ""
|
||||
|
||||
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-06-19 20:15-0400\n"
|
||||
"POT-Creation-Date: 2023-07-31 20:04-0400\n"
|
||||
"PO-Revision-Date: 2021-01-18 12:32+0000\n"
|
||||
"Last-Translator: ikmaak <info@ikmaak.nl>\n"
|
||||
"Language-Team: Hindi <https://hosted.weblate.org/projects/freedombox/"
|
||||
@ -28,7 +28,7 @@ msgstr ""
|
||||
msgid "Static configuration {etc_path} is setup properly"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/context_processors.py:23 plinth/views.py:92
|
||||
#: plinth/context_processors.py:23 plinth/views.py:94
|
||||
msgid "FreedomBox"
|
||||
msgstr "फ्रीडमबोएक्स"
|
||||
|
||||
@ -934,7 +934,8 @@ msgstr ""
|
||||
|
||||
#: plinth/modules/bepasty/views.py:88 plinth/modules/searx/views.py:35
|
||||
#: plinth/modules/searx/views.py:46 plinth/modules/security/views.py:56
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/zoph/views.py:74
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/torproxy/views.py:71
|
||||
#: plinth/modules/zoph/views.py:74
|
||||
msgid "Configuration updated."
|
||||
msgstr "कॉन्फ़िगरेशन अपडेट किया."
|
||||
|
||||
@ -2206,7 +2207,7 @@ msgstr "पोर्ट"
|
||||
msgid "Host/Target/Value"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:23
|
||||
#: plinth/modules/firewall/__init__.py:24
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Firewall is a security system that controls the incoming and outgoing "
|
||||
@ -2217,10 +2218,24 @@ msgstr ""
|
||||
"को नियंत्रित करता है. फ़ायरवॉल सक्षम और ठीक से कॉंफ़िगर रखते हुए इंटरनेट से सुरक्षा खतरे का "
|
||||
"जोखिम कम कर देता है."
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:59
|
||||
#: plinth/modules/firewall/__init__.py:60
|
||||
msgid "Firewall"
|
||||
msgstr "फ़ायरवॉल"
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:269
|
||||
#, fuzzy
|
||||
#| msgid "Default app set"
|
||||
msgid "Default zone is external"
|
||||
msgstr "डिफ़ॉल्ट एेप सेट"
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:276
|
||||
msgid "Firewall backend is nftables"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:287
|
||||
msgid "Direct passthrough rules exist"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/components.py:134
|
||||
#, fuzzy, python-brace-format
|
||||
#| msgid "<em>%(service_name)s</em> is available only on internal networks."
|
||||
@ -2884,7 +2899,8 @@ msgstr "एप्लिकेशन सक्षम करें"
|
||||
msgid "I2P"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:49
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:61
|
||||
#: plinth/modules/torproxy/__init__.py:55
|
||||
msgid "Anonymity Network"
|
||||
msgstr "गुमनामी नेटवर्क"
|
||||
|
||||
@ -5455,7 +5471,7 @@ msgstr "प्रिवोक्सी"
|
||||
msgid "Web Proxy"
|
||||
msgstr "वेब प्रॉक्सी"
|
||||
|
||||
#: plinth/modules/privoxy/__init__.py:113
|
||||
#: plinth/modules/privoxy/__init__.py:114
|
||||
#, python-brace-format
|
||||
msgid "Access {url} with proxy {proxy} on tcp{kind}"
|
||||
msgstr "{url} ऐकसेस करें प्रॉक्सी लेकर {proxy} टीसीपी पर{kind}"
|
||||
@ -6938,7 +6954,7 @@ msgstr "सिंकतिन्ग"
|
||||
msgid "File Synchronization"
|
||||
msgstr "फ़ाइल सिंक्रनाइज़ेशन"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:23
|
||||
#: plinth/modules/tor/__init__.py:31 plinth/modules/torproxy/__init__.py:27
|
||||
msgid ""
|
||||
"Tor is an anonymous communication system. You can learn more about it from "
|
||||
"the <a href=\"https://www.torproject.org/\">Tor Project</a> website. For "
|
||||
@ -6951,60 +6967,52 @@ msgstr ""
|
||||
"टो प्रोजेक्ट सिफारिश की है कि आप <a href=\"https://www.torproject.org/download/"
|
||||
"download-easy.html.en\">टो ब्राउज़र </a> उपयोग करें."
|
||||
|
||||
#: plinth/modules/tor/__init__.py:30
|
||||
#, fuzzy, python-brace-format
|
||||
#| msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050."
|
||||
#: plinth/modules/tor/__init__.py:37
|
||||
msgid ""
|
||||
"A Tor SOCKS port is available on your {box_name} for internal networks on "
|
||||
"TCP port 9050."
|
||||
msgstr "एक टोर सॉक्स पोर्ट आपका %(box_name)s र उपलब्ध है, TCP पोर्ट ९०५० पर."
|
||||
"This app provides relay services to contribute to Tor network and help "
|
||||
"others overcome censorship."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:48
|
||||
#: plinth/modules/tor/__init__.py:40
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides an onion domain to expose {box_name} services via the Tor "
|
||||
"network. Using Tor browser, one can access {box_name} from the internet even "
|
||||
"when using an ISP that limits servers at home."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:60
|
||||
msgid "Tor"
|
||||
msgstr "टोर"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:65
|
||||
#: plinth/modules/tor/__init__.py:76
|
||||
#, fuzzy
|
||||
#| msgid "Tor Hidden Service"
|
||||
msgid "Tor Onion Service"
|
||||
msgstr "टोर हिडन सर्विस"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:69
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr "टोर सोक्स प्रॉक्सी"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:73
|
||||
#: plinth/modules/tor/__init__.py:80
|
||||
msgid "Tor Bridge Relay"
|
||||
msgstr "टो ब्रिज रीले"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:132
|
||||
#: plinth/modules/tor/__init__.py:135
|
||||
msgid "Tor relay port available"
|
||||
msgstr "टोर रीले पोर्ट उपलब्ध है"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:143
|
||||
#: plinth/modules/tor/__init__.py:146
|
||||
msgid "Obfs3 transport registered"
|
||||
msgstr "Obfs3 ट्रांसपोर्ट पंजीकृत"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:153
|
||||
#: plinth/modules/tor/__init__.py:156
|
||||
msgid "Obfs4 transport registered"
|
||||
msgstr "Obfs4 ट्रांसपोर्ट पंजीकृत"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:165
|
||||
#: plinth/modules/tor/__init__.py:168
|
||||
#, fuzzy
|
||||
#| msgid "Hidden Service"
|
||||
msgid "Onion service is version 3"
|
||||
msgstr "हिडन सर्विस"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:242
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr "यूआरएल एक्सेस करें {url} टीसीपी पर {kind} टोर के माध्यम से"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:253
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr "टोर उपयोग की पुष्टि करें {url} पर टीसीपी पर {kind}"
|
||||
|
||||
#: plinth/modules/tor/forms.py:33
|
||||
msgid ""
|
||||
"Enter a valid bridge with this format: [transport] IP:ORPort [fingerprint]"
|
||||
@ -7039,11 +7047,11 @@ msgstr ""
|
||||
"\">https://bridges.torproject.org/</a> और ब्रिज जानकारी यहाॅं से कॉपी/पेस्ट कर सकते "
|
||||
"हैं. वर्तमान में समर्थित ट्रांसपोर्ट्स कोई नहीं, obfs3, obfs4 और scamblesuit हैं."
|
||||
|
||||
#: plinth/modules/tor/forms.py:91
|
||||
#: plinth/modules/tor/forms.py:95
|
||||
msgid "Enable Tor relay"
|
||||
msgstr "टोर रीले सक्षम करें"
|
||||
|
||||
#: plinth/modules/tor/forms.py:92
|
||||
#: plinth/modules/tor/forms.py:96
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"When enabled, your {box_name} will run a Tor relay and donate bandwidth to "
|
||||
@ -7054,11 +7062,11 @@ msgstr ""
|
||||
"अगर आपके पास दो से अधिक मेगाबिट से अपलोड \n"
|
||||
"आैर डाउनलोड बैंडविड्थ है यह करें."
|
||||
|
||||
#: plinth/modules/tor/forms.py:97
|
||||
#: plinth/modules/tor/forms.py:101
|
||||
msgid "Enable Tor bridge relay"
|
||||
msgstr "टोर ब्रिज रीले सक्षम करें"
|
||||
|
||||
#: plinth/modules/tor/forms.py:99
|
||||
#: plinth/modules/tor/forms.py:103
|
||||
msgid ""
|
||||
"When enabled, relay information is published in the Tor bridge database "
|
||||
"instead of public Tor relay database making it harder to censor this node. "
|
||||
@ -7068,13 +7076,13 @@ msgstr ""
|
||||
"और इस नोड सेंसर करने के लिए और मुश्किल होगा. यह दूसरों को सेंसरशिप से टाल करने के लिये मदद "
|
||||
"करता है."
|
||||
|
||||
#: plinth/modules/tor/forms.py:104
|
||||
#: plinth/modules/tor/forms.py:108
|
||||
#, fuzzy
|
||||
#| msgid "Enable Tor Hidden Service"
|
||||
msgid "Enable Tor Onion Service"
|
||||
msgstr "टोर हिडन सर्विस सक्षम करें"
|
||||
|
||||
#: plinth/modules/tor/forms.py:106
|
||||
#: plinth/modules/tor/forms.py:110
|
||||
#, fuzzy, python-brace-format
|
||||
#| msgid ""
|
||||
#| "A hidden service will allow {box_name} to provide selected services (such "
|
||||
@ -7088,28 +7096,15 @@ msgstr ""
|
||||
"हिडन सर्विस {box_name} को इसके स्थान को प्रकट किए बिना चयनित सर्विसस प्रदान करने की "
|
||||
"अनुमति देगी. स्ट्रॉन्ग गुमनामी के लिए इससे अभी न करें."
|
||||
|
||||
#: plinth/modules/tor/forms.py:111
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr "टो पर सॉफ्टवेयर पैकेजस डाउनलोड करें"
|
||||
|
||||
#: plinth/modules/tor/forms.py:112
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
"सक्षम होने पर सॉफ्टवेयर इंस्टालेशन और अपग्रेड के लिए टो नेटवर्क पर डाउनलोड किया जाएगा. "
|
||||
"यह सॉफ़्टवेयर डाउनलोड के दौरान एकांत और सुरक्षा जोड़ता है."
|
||||
|
||||
#: plinth/modules/tor/forms.py:127
|
||||
#: plinth/modules/tor/forms.py:125
|
||||
msgid "Specify at least one upstream bridge to use upstream bridges."
|
||||
msgstr "अपस्ट्रीम ब्रिजस उपयोग करने के लिए एक अपस्ट्रीम ब्रिजस निर्दिष्ट करें."
|
||||
|
||||
#: plinth/modules/tor/manifest.py:15
|
||||
#: plinth/modules/tor/manifest.py:15 plinth/modules/torproxy/manifest.py:14
|
||||
msgid "Tor Browser"
|
||||
msgstr "टोर ब्राउजर"
|
||||
|
||||
#: plinth/modules/tor/manifest.py:31
|
||||
#: plinth/modules/tor/manifest.py:31 plinth/modules/torproxy/manifest.py:30
|
||||
msgid "Orbot: Proxy with Tor"
|
||||
msgstr "अोरबोट: टोर के साथ प्रॉक्सी"
|
||||
|
||||
@ -7123,18 +7118,60 @@ msgstr "हिडन सर्विस"
|
||||
msgid "Ports"
|
||||
msgstr "पोर्टस"
|
||||
|
||||
#: plinth/modules/tor/views.py:53
|
||||
#: plinth/modules/tor/views.py:53 plinth/modules/torproxy/views.py:51
|
||||
#, fuzzy
|
||||
#| msgid "An error occurred during configuration."
|
||||
msgid "Updating configuration"
|
||||
msgstr "कॉंफ़िगरेशन के दौरान कूछ त्रुटि हुई."
|
||||
|
||||
#: plinth/modules/tor/views.py:70
|
||||
#: plinth/modules/tor/views.py:70 plinth/modules/torproxy/views.py:68
|
||||
#, fuzzy, python-brace-format
|
||||
#| msgid "Error installing application: {error}"
|
||||
msgid "Error configuring app: {error}"
|
||||
msgstr "एप्लिकेशन नहीं इंस्टॉल जा सकता: {error}"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:34
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides a web proxy on your {box_name} for internal networks on "
|
||||
"TCP port 9050 using the SOCKS protocol. This can be used by various apps to "
|
||||
"access the internet via the Tor network. ISP censorship can be circumvented "
|
||||
"using upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:54
|
||||
#, fuzzy
|
||||
#| msgid "Tor Socks Proxy"
|
||||
msgid "Tor Proxy"
|
||||
msgstr "टोर सोक्स प्रॉक्सी"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:79
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr "टोर सोक्स प्रॉक्सी"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:138
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr "यूआरएल एक्सेस करें {url} टीसीपी पर {kind} टोर के माध्यम से"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:149
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr "टोर उपयोग की पुष्टि करें {url} पर टीसीपी पर {kind}"
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:15
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr "टो पर सॉफ्टवेयर पैकेजस डाउनलोड करें"
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:16
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
"सक्षम होने पर सॉफ्टवेयर इंस्टालेशन और अपग्रेड के लिए टो नेटवर्क पर डाउनलोड किया जाएगा. "
|
||||
"यह सॉफ़्टवेयर डाउनलोड के दौरान एकांत और सुरक्षा जोड़ता है."
|
||||
|
||||
#: plinth/modules/transmission/__init__.py:25
|
||||
#, fuzzy
|
||||
#| msgid "Deluge is a BitTorrent client that features a Web UI."
|
||||
@ -7543,14 +7580,14 @@ msgstr ""
|
||||
msgid "Starting distribution upgrade test."
|
||||
msgstr "ऑटोमेटिक अपग्रेडस सक्षम किया गया"
|
||||
|
||||
#: plinth/modules/users/__init__.py:29
|
||||
#: plinth/modules/users/__init__.py:30
|
||||
msgid ""
|
||||
"Create and manage user accounts. These accounts serve as centralized "
|
||||
"authentication mechanism for most apps. Some apps further require a user "
|
||||
"account to be part of a group to authorize the user to access the app."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:34
|
||||
#: plinth/modules/users/__init__.py:35
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Any user may login to {box_name} web interface to see a list of apps "
|
||||
@ -7558,19 +7595,29 @@ msgid ""
|
||||
"group may alter apps or system settings."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:55
|
||||
#: plinth/modules/users/__init__.py:56
|
||||
msgid "Users and Groups"
|
||||
msgstr "यूसरस और समूह"
|
||||
|
||||
#: plinth/modules/users/__init__.py:80
|
||||
#: plinth/modules/users/__init__.py:81
|
||||
msgid "Access to all services and system settings"
|
||||
msgstr "सब सर्विसस और सिस्टम सेटिंग्स तक पहुंच"
|
||||
|
||||
#: plinth/modules/users/__init__.py:116
|
||||
#: plinth/modules/users/__init__.py:124
|
||||
#, python-brace-format
|
||||
msgid "Check LDAP entry \"{search_item}\""
|
||||
msgstr "एलडीएपी प्रविष्टि चेक करें \"{search_item}\""
|
||||
|
||||
#: plinth/modules/users/__init__.py:137
|
||||
#, python-brace-format
|
||||
msgid "Check nslcd config \"{key} {value}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:166
|
||||
#, python-brace-format
|
||||
msgid "Check nsswitch config \"{database}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/forms.py:35
|
||||
msgid "Username is taken or is reserved."
|
||||
msgstr "यूसरनाम लिया है या आरक्षित है."
|
||||
@ -8802,7 +8849,13 @@ msgstr "अपडेट"
|
||||
msgid "Backup"
|
||||
msgstr "बैकअप"
|
||||
|
||||
#: plinth/templates/toolbar.html:51 plinth/templates/toolbar.html:52
|
||||
#: plinth/templates/toolbar.html:53
|
||||
#, fuzzy
|
||||
#| msgid "Start setup"
|
||||
msgid "Re-run setup"
|
||||
msgstr "सटअप शुरु करें"
|
||||
|
||||
#: plinth/templates/toolbar.html:59 plinth/templates/toolbar.html:60
|
||||
#: plinth/templates/uninstall.html:30
|
||||
#, fuzzy
|
||||
#| msgid "Install"
|
||||
@ -8821,11 +8874,11 @@ msgid ""
|
||||
"installed freshly again."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/views.py:239
|
||||
#: plinth/views.py:241
|
||||
msgid "Setting unchanged"
|
||||
msgstr "सेटिंग स्थिर है"
|
||||
|
||||
#: plinth/views.py:456
|
||||
#: plinth/views.py:478
|
||||
#, python-brace-format
|
||||
msgid "before uninstall of {app_id}"
|
||||
msgstr ""
|
||||
@ -8834,6 +8887,14 @@ msgstr ""
|
||||
msgid "Gujarati"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy, python-brace-format
|
||||
#~| msgid ""
|
||||
#~| "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050."
|
||||
#~ msgid ""
|
||||
#~ "A Tor SOCKS port is available on your {box_name} for internal networks on "
|
||||
#~ "TCP port 9050."
|
||||
#~ msgstr "एक टोर सॉक्स पोर्ट आपका %(box_name)s र उपलब्ध है, TCP पोर्ट ९०५० पर."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Shadowsocks is a lightweight and secure SOCKS5 proxy, designed to protect "
|
||||
#~ "your Internet traffic. It can be used to bypass Internet filtering and "
|
||||
@ -9529,9 +9590,6 @@ msgstr ""
|
||||
#~ "होगा. इस पर निर्भर करता है कि आपका%(box_name)s कितना तेज़ है, ये घंटों भी लग सकते. "
|
||||
#~ "अगर सेटअप बाधित हो गया, फिर से शरु कर सकता है."
|
||||
|
||||
#~ msgid "Start setup"
|
||||
#~ msgstr "सटअप शुरु करें"
|
||||
|
||||
#~ msgid "OpenVPN setup is running"
|
||||
#~ msgstr "ओपनवीपीएन सेटअप चल रहा है"
|
||||
|
||||
@ -10183,9 +10241,6 @@ msgstr ""
|
||||
#~ msgid "Error setting default app: {exception}"
|
||||
#~ msgstr "{exception}: डिफ़ॉल्ट एेप सेट करने में एरर"
|
||||
|
||||
#~ msgid "Default app set"
|
||||
#~ msgstr "डिफ़ॉल्ट एेप सेट"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "NTP client in contact with servers"
|
||||
#~ msgid "chrony client in contact with servers"
|
||||
|
||||
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-06-19 20:15-0400\n"
|
||||
"POT-Creation-Date: 2023-07-31 20:04-0400\n"
|
||||
"PO-Revision-Date: 2022-10-24 18:39+0000\n"
|
||||
"Last-Translator: Sunil Mohan Adapa <sunil@medhas.org>\n"
|
||||
"Language-Team: Hungarian <https://hosted.weblate.org/projects/freedombox/"
|
||||
@ -28,7 +28,7 @@ msgstr "Oldal forrása"
|
||||
msgid "Static configuration {etc_path} is setup properly"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/context_processors.py:23 plinth/views.py:92
|
||||
#: plinth/context_processors.py:23 plinth/views.py:94
|
||||
msgid "FreedomBox"
|
||||
msgstr "FreedomBox"
|
||||
|
||||
@ -911,7 +911,8 @@ msgstr "Adminisztrál"
|
||||
|
||||
#: plinth/modules/bepasty/views.py:88 plinth/modules/searx/views.py:35
|
||||
#: plinth/modules/searx/views.py:46 plinth/modules/security/views.py:56
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/zoph/views.py:74
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/torproxy/views.py:71
|
||||
#: plinth/modules/zoph/views.py:74
|
||||
msgid "Configuration updated."
|
||||
msgstr "Beállítások frissítve."
|
||||
|
||||
@ -2162,7 +2163,7 @@ msgstr "Port"
|
||||
msgid "Host/Target/Value"
|
||||
msgstr "Állomás/Cél/Érték"
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:23
|
||||
#: plinth/modules/firewall/__init__.py:24
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Firewall is a security system that controls the incoming and outgoing "
|
||||
@ -2173,10 +2174,24 @@ msgstr ""
|
||||
"hálózati forgalmát felügyeli. A folyamatosan aktív és megfelelően beállított "
|
||||
"tűzfal csökkenti az internetről leselkedő biztonsági fenyegetések kockázatát."
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:59
|
||||
#: plinth/modules/firewall/__init__.py:60
|
||||
msgid "Firewall"
|
||||
msgstr "Tűzfal"
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:269
|
||||
#, fuzzy
|
||||
#| msgid "Default app set"
|
||||
msgid "Default zone is external"
|
||||
msgstr "Alapértelmezett alkalmazás beállítva"
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:276
|
||||
msgid "Firewall backend is nftables"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:287
|
||||
msgid "Direct passthrough rules exist"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/components.py:134
|
||||
#, python-brace-format
|
||||
msgid "Port {name} ({details}) available for internal networks"
|
||||
@ -2858,7 +2873,8 @@ msgstr "I2P alkalmazás kezelése"
|
||||
msgid "I2P"
|
||||
msgstr "I2P"
|
||||
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:49
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:61
|
||||
#: plinth/modules/torproxy/__init__.py:55
|
||||
msgid "Anonymity Network"
|
||||
msgstr "Anonim hálózat"
|
||||
|
||||
@ -5515,7 +5531,7 @@ msgstr "Privoxy"
|
||||
msgid "Web Proxy"
|
||||
msgstr "Web proxy"
|
||||
|
||||
#: plinth/modules/privoxy/__init__.py:113
|
||||
#: plinth/modules/privoxy/__init__.py:114
|
||||
#, python-brace-format
|
||||
msgid "Access {url} with proxy {proxy} on tcp{kind}"
|
||||
msgstr ""
|
||||
@ -6982,7 +6998,7 @@ msgstr "Syncthing"
|
||||
msgid "File Synchronization"
|
||||
msgstr "Fájlszinkronizáció"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:23
|
||||
#: plinth/modules/tor/__init__.py:31 plinth/modules/torproxy/__init__.py:27
|
||||
msgid ""
|
||||
"Tor is an anonymous communication system. You can learn more about it from "
|
||||
"the <a href=\"https://www.torproject.org/\">Tor Project</a> website. For "
|
||||
@ -6996,59 +7012,50 @@ msgstr ""
|
||||
"torproject.org/download/download-easy.html.en\">Tor böngésző</a> használatát "
|
||||
"javasolja."
|
||||
|
||||
#: plinth/modules/tor/__init__.py:30
|
||||
#: plinth/modules/tor/__init__.py:37
|
||||
msgid ""
|
||||
"This app provides relay services to contribute to Tor network and help "
|
||||
"others overcome censorship."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:40
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"A Tor SOCKS port is available on your {box_name} for internal networks on "
|
||||
"TCP port 9050."
|
||||
"This app provides an onion domain to expose {box_name} services via the Tor "
|
||||
"network. Using Tor browser, one can access {box_name} from the internet even "
|
||||
"when using an ISP that limits servers at home."
|
||||
msgstr ""
|
||||
"Egy Tor SOCKS port elérhető a {box_name} eszközöd 9050-es TCP-portján a "
|
||||
"belső hálózat számára."
|
||||
|
||||
#: plinth/modules/tor/__init__.py:48
|
||||
#: plinth/modules/tor/__init__.py:60
|
||||
msgid "Tor"
|
||||
msgstr "Tor"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:65
|
||||
#: plinth/modules/tor/__init__.py:76
|
||||
msgid "Tor Onion Service"
|
||||
msgstr "Tor Onion szolgáltatás"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:69
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr "Tor Socks proxy"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:73
|
||||
#: plinth/modules/tor/__init__.py:80
|
||||
msgid "Tor Bridge Relay"
|
||||
msgstr "Tor híd relay"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:132
|
||||
#: plinth/modules/tor/__init__.py:135
|
||||
msgid "Tor relay port available"
|
||||
msgstr "Tor relay port elérhető"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:143
|
||||
#: plinth/modules/tor/__init__.py:146
|
||||
msgid "Obfs3 transport registered"
|
||||
msgstr "Obfs3 átvitel regisztrálva"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:153
|
||||
#: plinth/modules/tor/__init__.py:156
|
||||
msgid "Obfs4 transport registered"
|
||||
msgstr "Obfs4 átvitel regisztrálva"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:165
|
||||
#: plinth/modules/tor/__init__.py:168
|
||||
#, fuzzy
|
||||
#| msgid "Onion Service"
|
||||
msgid "Onion service is version 3"
|
||||
msgstr "Onion-szolgáltatás"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:242
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr "Hozzáférés a {url} URL-hez tcp{kind}-on Tor használatával"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:253
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr "Hagyd jóvá a Tor használatát {url} célcímhez tcp{kind} protokollon"
|
||||
|
||||
#: plinth/modules/tor/forms.py:33
|
||||
msgid ""
|
||||
"Enter a valid bridge with this format: [transport] IP:ORPort [fingerprint]"
|
||||
@ -7086,11 +7093,11 @@ msgstr ""
|
||||
"információit ide. A jelenleg támogatott átvitelek: none (nincs), obfs3, "
|
||||
"obfs4 és scamblesuit."
|
||||
|
||||
#: plinth/modules/tor/forms.py:91
|
||||
#: plinth/modules/tor/forms.py:95
|
||||
msgid "Enable Tor relay"
|
||||
msgstr "Tor relay engedélyezése"
|
||||
|
||||
#: plinth/modules/tor/forms.py:92
|
||||
#: plinth/modules/tor/forms.py:96
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"When enabled, your {box_name} will run a Tor relay and donate bandwidth to "
|
||||
@ -7102,11 +7109,11 @@ msgstr ""
|
||||
"legalább 2 megabit/másodperc feltöltési és letöltési sávszélességgel "
|
||||
"rendelkezel."
|
||||
|
||||
#: plinth/modules/tor/forms.py:97
|
||||
#: plinth/modules/tor/forms.py:101
|
||||
msgid "Enable Tor bridge relay"
|
||||
msgstr "Tor híd relay engedélyezése"
|
||||
|
||||
#: plinth/modules/tor/forms.py:99
|
||||
#: plinth/modules/tor/forms.py:103
|
||||
msgid ""
|
||||
"When enabled, relay information is published in the Tor bridge database "
|
||||
"instead of public Tor relay database making it harder to censor this node. "
|
||||
@ -7116,13 +7123,13 @@ msgstr ""
|
||||
"helyett a Tor híd adatbázisban jelennek meg, ami megnehezíti a csomópont "
|
||||
"cenzúrázását. Ez segít másoknak megkerülni a cenzúrát."
|
||||
|
||||
#: plinth/modules/tor/forms.py:104
|
||||
#: plinth/modules/tor/forms.py:108
|
||||
#, fuzzy
|
||||
#| msgid "Enable Tor Hidden Service"
|
||||
msgid "Enable Tor Onion Service"
|
||||
msgstr "Tor rejtett szolgáltatás engedélyezése"
|
||||
|
||||
#: plinth/modules/tor/forms.py:106
|
||||
#: plinth/modules/tor/forms.py:110
|
||||
#, fuzzy, python-brace-format
|
||||
#| msgid ""
|
||||
#| "A hidden service will allow {box_name} to provide selected services (such "
|
||||
@ -7137,29 +7144,15 @@ msgstr ""
|
||||
"kiválasztott szolgáltatásokat nyújthasson (pl. wiki vagy chat) anélkül, hogy "
|
||||
"felfedné a helyét. Ezt még ne használd erős anonimitás eléréséhez."
|
||||
|
||||
#: plinth/modules/tor/forms.py:111
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr "A szoftvercsomagok Tor-on keresztüli letöltése"
|
||||
|
||||
#: plinth/modules/tor/forms.py:112
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
"Ha engedélyezett, akkor minden telepítéshez és frissítéshez szükséges "
|
||||
"szoftver a Tor hálózaton keresztül töltődik le. Ez magasabb szintű "
|
||||
"biztonságot jelent szoftverek letöltésekor."
|
||||
|
||||
#: plinth/modules/tor/forms.py:127
|
||||
#: plinth/modules/tor/forms.py:125
|
||||
msgid "Specify at least one upstream bridge to use upstream bridges."
|
||||
msgstr "Felmenő híd használatához adj meg legalább egyet."
|
||||
|
||||
#: plinth/modules/tor/manifest.py:15
|
||||
#: plinth/modules/tor/manifest.py:15 plinth/modules/torproxy/manifest.py:14
|
||||
msgid "Tor Browser"
|
||||
msgstr "Tor böngésző"
|
||||
|
||||
#: plinth/modules/tor/manifest.py:31
|
||||
#: plinth/modules/tor/manifest.py:31 plinth/modules/torproxy/manifest.py:30
|
||||
msgid "Orbot: Proxy with Tor"
|
||||
msgstr "Orbot: Tor proxy Android platformra"
|
||||
|
||||
@ -7171,15 +7164,58 @@ msgstr "Onion-szolgáltatás"
|
||||
msgid "Ports"
|
||||
msgstr "Portok"
|
||||
|
||||
#: plinth/modules/tor/views.py:53
|
||||
#: plinth/modules/tor/views.py:53 plinth/modules/torproxy/views.py:51
|
||||
msgid "Updating configuration"
|
||||
msgstr "Beállítások frissítése"
|
||||
|
||||
#: plinth/modules/tor/views.py:70
|
||||
#: plinth/modules/tor/views.py:70 plinth/modules/torproxy/views.py:68
|
||||
#, python-brace-format
|
||||
msgid "Error configuring app: {error}"
|
||||
msgstr "Hiba lépett fel az alkalmazás konfigurációja során: {error}"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:34
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides a web proxy on your {box_name} for internal networks on "
|
||||
"TCP port 9050 using the SOCKS protocol. This can be used by various apps to "
|
||||
"access the internet via the Tor network. ISP censorship can be circumvented "
|
||||
"using upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:54
|
||||
#, fuzzy
|
||||
#| msgid "Tor Socks Proxy"
|
||||
msgid "Tor Proxy"
|
||||
msgstr "Tor Socks proxy"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:79
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr "Tor Socks proxy"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:138
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr "Hozzáférés a {url} URL-hez tcp{kind}-on Tor használatával"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:149
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr "Hagyd jóvá a Tor használatát {url} célcímhez tcp{kind} protokollon"
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:15
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr "A szoftvercsomagok Tor-on keresztüli letöltése"
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:16
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
"Ha engedélyezett, akkor minden telepítéshez és frissítéshez szükséges "
|
||||
"szoftver a Tor hálózaton keresztül töltődik le. Ez magasabb szintű "
|
||||
"biztonságot jelent szoftverek letöltésekor."
|
||||
|
||||
#: plinth/modules/transmission/__init__.py:25
|
||||
msgid "Transmission is a BitTorrent client with a web interface."
|
||||
msgstr "A Transmission egy webes felülettel rendelkező BitTorrent-kliens."
|
||||
@ -7574,7 +7610,7 @@ msgstr "Gyakori funkciófrissítések aktiválva."
|
||||
msgid "Starting distribution upgrade test."
|
||||
msgstr "Disztribúció frissítés engedélyezve"
|
||||
|
||||
#: plinth/modules/users/__init__.py:29
|
||||
#: plinth/modules/users/__init__.py:30
|
||||
msgid ""
|
||||
"Create and manage user accounts. These accounts serve as centralized "
|
||||
"authentication mechanism for most apps. Some apps further require a user "
|
||||
@ -7585,7 +7621,7 @@ msgstr ""
|
||||
"alkalmazások megkövetelik továbbá, hogy a felhasználói fiók egy csoport "
|
||||
"tagja legyen, hogy a felhasználó hozzáférhessen az alkalmazáshoz."
|
||||
|
||||
#: plinth/modules/users/__init__.py:34
|
||||
#: plinth/modules/users/__init__.py:35
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Any user may login to {box_name} web interface to see a list of apps "
|
||||
@ -7597,19 +7633,29 @@ msgstr ""
|
||||
"az <em>admin</em> csoport felhasználói módosíthatják az alkalmazásokat vagy "
|
||||
"a rendszerbeállításokat."
|
||||
|
||||
#: plinth/modules/users/__init__.py:55
|
||||
#: plinth/modules/users/__init__.py:56
|
||||
msgid "Users and Groups"
|
||||
msgstr "Felhasználók és csoportok"
|
||||
|
||||
#: plinth/modules/users/__init__.py:80
|
||||
#: plinth/modules/users/__init__.py:81
|
||||
msgid "Access to all services and system settings"
|
||||
msgstr "Hozzáférés az összes szolgáltatáshoz és rendszerbeállításhoz"
|
||||
|
||||
#: plinth/modules/users/__init__.py:116
|
||||
#: plinth/modules/users/__init__.py:124
|
||||
#, python-brace-format
|
||||
msgid "Check LDAP entry \"{search_item}\""
|
||||
msgstr "LDAP-bejegyzés ellenőrzése: \"{search_item}\""
|
||||
|
||||
#: plinth/modules/users/__init__.py:137
|
||||
#, python-brace-format
|
||||
msgid "Check nslcd config \"{key} {value}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:166
|
||||
#, python-brace-format
|
||||
msgid "Check nsswitch config \"{database}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/forms.py:35
|
||||
msgid "Username is taken or is reserved."
|
||||
msgstr "A felhasználónév foglalt."
|
||||
@ -8837,7 +8883,13 @@ msgstr "Frissítés"
|
||||
msgid "Backup"
|
||||
msgstr "Biztonsági mentések"
|
||||
|
||||
#: plinth/templates/toolbar.html:51 plinth/templates/toolbar.html:52
|
||||
#: plinth/templates/toolbar.html:53
|
||||
#, fuzzy
|
||||
#| msgid "Start setup"
|
||||
msgid "Re-run setup"
|
||||
msgstr "Beállítás elindítása"
|
||||
|
||||
#: plinth/templates/toolbar.html:59 plinth/templates/toolbar.html:60
|
||||
#: plinth/templates/uninstall.html:30
|
||||
#, fuzzy
|
||||
#| msgid "Install"
|
||||
@ -8856,11 +8908,11 @@ msgid ""
|
||||
"installed freshly again."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/views.py:239
|
||||
#: plinth/views.py:241
|
||||
msgid "Setting unchanged"
|
||||
msgstr "A beállítás változatlan"
|
||||
|
||||
#: plinth/views.py:456
|
||||
#: plinth/views.py:478
|
||||
#, python-brace-format
|
||||
msgid "before uninstall of {app_id}"
|
||||
msgstr ""
|
||||
@ -8869,6 +8921,14 @@ msgstr ""
|
||||
msgid "Gujarati"
|
||||
msgstr "Gudzsaráti"
|
||||
|
||||
#, python-brace-format
|
||||
#~ msgid ""
|
||||
#~ "A Tor SOCKS port is available on your {box_name} for internal networks on "
|
||||
#~ "TCP port 9050."
|
||||
#~ msgstr ""
|
||||
#~ "Egy Tor SOCKS port elérhető a {box_name} eszközöd 9050-es TCP-portján a "
|
||||
#~ "belső hálózat számára."
|
||||
|
||||
#, python-brace-format
|
||||
#~ msgid ""
|
||||
#~ "When enabled, text box for server input is removed from login page and "
|
||||
@ -9677,9 +9737,6 @@ msgstr "Gudzsaráti"
|
||||
#~ "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"
|
||||
|
||||
@ -10343,9 +10400,6 @@ msgstr "Gudzsaráti"
|
||||
#~ msgid "Error setting default app: {exception}"
|
||||
#~ msgstr "Az alapértelmezett alkalmazás beállítása sikertelen: {exception}"
|
||||
|
||||
#~ msgid "Default app set"
|
||||
#~ msgstr "Alapértelmezett alkalmazás beállítva"
|
||||
|
||||
#~ msgid "Abort"
|
||||
#~ msgstr "Megszakítás"
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Indonesian (FreedomBox)\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-06-19 20:15-0400\n"
|
||||
"POT-Creation-Date: 2023-07-31 20:04-0400\n"
|
||||
"PO-Revision-Date: 2022-09-14 17:19+0000\n"
|
||||
"Last-Translator: ikmaak <info@ikmaak.nl>\n"
|
||||
"Language-Team: Indonesian <https://hosted.weblate.org/projects/freedombox/"
|
||||
@ -23,7 +23,7 @@ msgstr "Sumber halaman"
|
||||
msgid "Static configuration {etc_path} is setup properly"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/context_processors.py:23 plinth/views.py:92
|
||||
#: plinth/context_processors.py:23 plinth/views.py:94
|
||||
msgid "FreedomBox"
|
||||
msgstr "FreedomBox"
|
||||
|
||||
@ -901,7 +901,8 @@ msgstr "Admin"
|
||||
|
||||
#: plinth/modules/bepasty/views.py:88 plinth/modules/searx/views.py:35
|
||||
#: plinth/modules/searx/views.py:46 plinth/modules/security/views.py:56
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/zoph/views.py:74
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/torproxy/views.py:71
|
||||
#: plinth/modules/zoph/views.py:74
|
||||
msgid "Configuration updated."
|
||||
msgstr "Konfigurasi diperbarui."
|
||||
|
||||
@ -2162,7 +2163,7 @@ msgstr "Port"
|
||||
msgid "Host/Target/Value"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:23
|
||||
#: plinth/modules/firewall/__init__.py:24
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Firewall is a security system that controls the incoming and outgoing "
|
||||
@ -2173,10 +2174,22 @@ msgstr ""
|
||||
"masuk dan keluar pada {box_name} Anda. Menjaga firewall diaktifkan dan "
|
||||
"dikonfigurasi dengan benar mengurangi risiko ancaman keamanan dari Internet."
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:59
|
||||
#: plinth/modules/firewall/__init__.py:60
|
||||
msgid "Firewall"
|
||||
msgstr "Firewall"
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:269
|
||||
msgid "Default zone is external"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:276
|
||||
msgid "Firewall backend is nftables"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:287
|
||||
msgid "Direct passthrough rules exist"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/components.py:134
|
||||
#, python-brace-format
|
||||
msgid "Port {name} ({details}) available for internal networks"
|
||||
@ -2842,7 +2855,8 @@ msgstr "Kelola aplikasi I2P"
|
||||
msgid "I2P"
|
||||
msgstr "I2p"
|
||||
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:49
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:61
|
||||
#: plinth/modules/torproxy/__init__.py:55
|
||||
msgid "Anonymity Network"
|
||||
msgstr "Jaringan Anonimitas"
|
||||
|
||||
@ -5195,7 +5209,7 @@ msgstr "Privoxy"
|
||||
msgid "Web Proxy"
|
||||
msgstr "Proksi Web"
|
||||
|
||||
#: plinth/modules/privoxy/__init__.py:113
|
||||
#: plinth/modules/privoxy/__init__.py:114
|
||||
#, python-brace-format
|
||||
msgid "Access {url} with proxy {proxy} on tcp{kind}"
|
||||
msgstr "Akses {url} dengan proksi {proxy} pada tcp{kind}"
|
||||
@ -6491,7 +6505,7 @@ msgstr "Syncthing"
|
||||
msgid "File Synchronization"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:23
|
||||
#: plinth/modules/tor/__init__.py:31 plinth/modules/torproxy/__init__.py:27
|
||||
msgid ""
|
||||
"Tor is an anonymous communication system. You can learn more about it from "
|
||||
"the <a href=\"https://www.torproject.org/\">Tor Project</a> website. For "
|
||||
@ -6500,57 +6514,50 @@ msgid ""
|
||||
"en\">Tor Browser</a>."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:30
|
||||
#, python-brace-format
|
||||
#: plinth/modules/tor/__init__.py:37
|
||||
msgid ""
|
||||
"A Tor SOCKS port is available on your {box_name} for internal networks on "
|
||||
"TCP port 9050."
|
||||
"This app provides relay services to contribute to Tor network and help "
|
||||
"others overcome censorship."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:48
|
||||
#: plinth/modules/tor/__init__.py:40
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides an onion domain to expose {box_name} services via the Tor "
|
||||
"network. Using Tor browser, one can access {box_name} from the internet even "
|
||||
"when using an ISP that limits servers at home."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:60
|
||||
msgid "Tor"
|
||||
msgstr "Tor"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:65
|
||||
#: plinth/modules/tor/__init__.py:76
|
||||
msgid "Tor Onion Service"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:69
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:73
|
||||
#: plinth/modules/tor/__init__.py:80
|
||||
msgid "Tor Bridge Relay"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:132
|
||||
#: plinth/modules/tor/__init__.py:135
|
||||
msgid "Tor relay port available"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:143
|
||||
#: plinth/modules/tor/__init__.py:146
|
||||
msgid "Obfs3 transport registered"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:153
|
||||
#: plinth/modules/tor/__init__.py:156
|
||||
msgid "Obfs4 transport registered"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:165
|
||||
#: plinth/modules/tor/__init__.py:168
|
||||
#, fuzzy
|
||||
#| msgid "Service"
|
||||
msgid "Onion service is version 3"
|
||||
msgstr "Layanan"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:242
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:253
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:33
|
||||
msgid ""
|
||||
"Enter a valid bridge with this format: [transport] IP:ORPort [fingerprint]"
|
||||
@ -6578,11 +6585,11 @@ msgid ""
|
||||
"here. Currently supported transports are none, obfs3, obfs4 and scamblesuit."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:91
|
||||
#: plinth/modules/tor/forms.py:95
|
||||
msgid "Enable Tor relay"
|
||||
msgstr "Aktifkan Tor relay"
|
||||
|
||||
#: plinth/modules/tor/forms.py:92
|
||||
#: plinth/modules/tor/forms.py:96
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"When enabled, your {box_name} will run a Tor relay and donate bandwidth to "
|
||||
@ -6590,24 +6597,24 @@ msgid ""
|
||||
"download bandwidth."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:97
|
||||
#: plinth/modules/tor/forms.py:101
|
||||
msgid "Enable Tor bridge relay"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:99
|
||||
#: plinth/modules/tor/forms.py:103
|
||||
msgid ""
|
||||
"When enabled, relay information is published in the Tor bridge database "
|
||||
"instead of public Tor relay database making it harder to censor this node. "
|
||||
"This helps others circumvent censorship."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:104
|
||||
#: plinth/modules/tor/forms.py:108
|
||||
#, fuzzy
|
||||
#| msgid "Enable Tor relay"
|
||||
msgid "Enable Tor Onion Service"
|
||||
msgstr "Aktifkan Tor relay"
|
||||
|
||||
#: plinth/modules/tor/forms.py:106
|
||||
#: plinth/modules/tor/forms.py:110
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"An onion service will allow {box_name} to provide selected services (such as "
|
||||
@ -6615,26 +6622,15 @@ msgid ""
|
||||
"anonymity yet."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:111
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:112
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:127
|
||||
#: plinth/modules/tor/forms.py:125
|
||||
msgid "Specify at least one upstream bridge to use upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/manifest.py:15
|
||||
#: plinth/modules/tor/manifest.py:15 plinth/modules/torproxy/manifest.py:14
|
||||
msgid "Tor Browser"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/manifest.py:31
|
||||
#: plinth/modules/tor/manifest.py:31 plinth/modules/torproxy/manifest.py:30
|
||||
msgid "Orbot: Proxy with Tor"
|
||||
msgstr ""
|
||||
|
||||
@ -6648,18 +6644,58 @@ msgstr "Layanan"
|
||||
msgid "Ports"
|
||||
msgstr "Port"
|
||||
|
||||
#: plinth/modules/tor/views.py:53
|
||||
#: plinth/modules/tor/views.py:53 plinth/modules/torproxy/views.py:51
|
||||
#, fuzzy
|
||||
#| msgid "An error occurred during configuration."
|
||||
msgid "Updating configuration"
|
||||
msgstr "Terjadi kesalahan selama konfigurasi."
|
||||
|
||||
#: plinth/modules/tor/views.py:70
|
||||
#: plinth/modules/tor/views.py:70 plinth/modules/torproxy/views.py:68
|
||||
#, fuzzy, python-brace-format
|
||||
#| msgid "Error installing application: {error}"
|
||||
msgid "Error configuring app: {error}"
|
||||
msgstr "Kesalahan pemasangan aplikasi: {error}"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:34
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides a web proxy on your {box_name} for internal networks on "
|
||||
"TCP port 9050 using the SOCKS protocol. This can be used by various apps to "
|
||||
"access the internet via the Tor network. ISP censorship can be circumvented "
|
||||
"using upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:54
|
||||
#, fuzzy
|
||||
#| msgid "I2P Proxy"
|
||||
msgid "Tor Proxy"
|
||||
msgstr "I2p proxy"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:79
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:138
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:149
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:15
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:16
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/transmission/__init__.py:25
|
||||
msgid "Transmission is a BitTorrent client with a web interface."
|
||||
msgstr ""
|
||||
@ -7018,14 +7054,14 @@ msgstr ""
|
||||
msgid "Starting distribution upgrade test."
|
||||
msgstr "Pembaruan distribusi dinonaktifkan"
|
||||
|
||||
#: plinth/modules/users/__init__.py:29
|
||||
#: plinth/modules/users/__init__.py:30
|
||||
msgid ""
|
||||
"Create and manage user accounts. These accounts serve as centralized "
|
||||
"authentication mechanism for most apps. Some apps further require a user "
|
||||
"account to be part of a group to authorize the user to access the app."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:34
|
||||
#: plinth/modules/users/__init__.py:35
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Any user may login to {box_name} web interface to see a list of apps "
|
||||
@ -7033,19 +7069,29 @@ msgid ""
|
||||
"group may alter apps or system settings."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:55
|
||||
#: plinth/modules/users/__init__.py:56
|
||||
msgid "Users and Groups"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:80
|
||||
#: plinth/modules/users/__init__.py:81
|
||||
msgid "Access to all services and system settings"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:116
|
||||
#: plinth/modules/users/__init__.py:124
|
||||
#, python-brace-format
|
||||
msgid "Check LDAP entry \"{search_item}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:137
|
||||
#, python-brace-format
|
||||
msgid "Check nslcd config \"{key} {value}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:166
|
||||
#, python-brace-format
|
||||
msgid "Check nsswitch config \"{database}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/forms.py:35
|
||||
msgid "Username is taken or is reserved."
|
||||
msgstr ""
|
||||
@ -8171,7 +8217,13 @@ msgstr "Memperbarui"
|
||||
msgid "Backup"
|
||||
msgstr "Cadangan"
|
||||
|
||||
#: plinth/templates/toolbar.html:51 plinth/templates/toolbar.html:52
|
||||
#: plinth/templates/toolbar.html:53
|
||||
#, fuzzy
|
||||
#| msgid "Start setup"
|
||||
msgid "Re-run setup"
|
||||
msgstr "Jalankan pengaturan"
|
||||
|
||||
#: plinth/templates/toolbar.html:59 plinth/templates/toolbar.html:60
|
||||
#: plinth/templates/uninstall.html:30
|
||||
#, fuzzy
|
||||
#| msgid "Install"
|
||||
@ -8190,11 +8242,11 @@ msgid ""
|
||||
"installed freshly again."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/views.py:239
|
||||
#: plinth/views.py:241
|
||||
msgid "Setting unchanged"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/views.py:456
|
||||
#: plinth/views.py:478
|
||||
#, python-brace-format
|
||||
msgid "before uninstall of {app_id}"
|
||||
msgstr ""
|
||||
@ -8693,9 +8745,6 @@ msgstr "Bahasa Gujarat"
|
||||
#~ msgid "Disk Name"
|
||||
#~ msgstr "Nama"
|
||||
|
||||
#~ msgid "Start setup"
|
||||
#~ msgstr "Jalankan pengaturan"
|
||||
|
||||
#~ msgid "Setup completed."
|
||||
#~ msgstr "Pengaturan selesai."
|
||||
|
||||
|
||||
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-06-19 20:15-0400\n"
|
||||
"POT-Creation-Date: 2023-07-31 20:04-0400\n"
|
||||
"PO-Revision-Date: 2022-09-14 17:19+0000\n"
|
||||
"Last-Translator: ikmaak <info@ikmaak.nl>\n"
|
||||
"Language-Team: Italian <https://hosted.weblate.org/projects/freedombox/"
|
||||
@ -28,7 +28,7 @@ msgstr "Pagina di origine"
|
||||
msgid "Static configuration {etc_path} is setup properly"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/context_processors.py:23 plinth/views.py:92
|
||||
#: plinth/context_processors.py:23 plinth/views.py:94
|
||||
msgid "FreedomBox"
|
||||
msgstr "FreedomBox"
|
||||
|
||||
@ -898,7 +898,8 @@ msgstr ""
|
||||
|
||||
#: plinth/modules/bepasty/views.py:88 plinth/modules/searx/views.py:35
|
||||
#: plinth/modules/searx/views.py:46 plinth/modules/security/views.py:56
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/zoph/views.py:74
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/torproxy/views.py:71
|
||||
#: plinth/modules/zoph/views.py:74
|
||||
msgid "Configuration updated."
|
||||
msgstr ""
|
||||
|
||||
@ -2121,7 +2122,7 @@ msgstr "Porta"
|
||||
msgid "Host/Target/Value"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:23
|
||||
#: plinth/modules/firewall/__init__.py:24
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Firewall is a security system that controls the incoming and outgoing "
|
||||
@ -2133,10 +2134,24 @@ msgstr ""
|
||||
"adeguatamente configurato riduce i rischi di attacchi informatici dalla rete "
|
||||
"Internet."
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:59
|
||||
#: plinth/modules/firewall/__init__.py:60
|
||||
msgid "Firewall"
|
||||
msgstr "Firewall"
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:269
|
||||
#, fuzzy
|
||||
#| msgid "Default"
|
||||
msgid "Default zone is external"
|
||||
msgstr "Default"
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:276
|
||||
msgid "Firewall backend is nftables"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:287
|
||||
msgid "Direct passthrough rules exist"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/components.py:134
|
||||
#, python-brace-format
|
||||
msgid "Port {name} ({details}) available for internal networks"
|
||||
@ -2818,7 +2833,8 @@ msgstr "Gestione dell'applicazione I2P"
|
||||
msgid "I2P"
|
||||
msgstr "I2P"
|
||||
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:49
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:61
|
||||
#: plinth/modules/torproxy/__init__.py:55
|
||||
#, fuzzy
|
||||
msgid "Anonymity Network"
|
||||
msgstr "Rete di anonimato"
|
||||
@ -5331,7 +5347,7 @@ msgstr "Privoxy"
|
||||
msgid "Web Proxy"
|
||||
msgstr "Web Proxy"
|
||||
|
||||
#: plinth/modules/privoxy/__init__.py:113
|
||||
#: plinth/modules/privoxy/__init__.py:114
|
||||
#, python-brace-format
|
||||
msgid "Access {url} with proxy {proxy} on tcp{kind}"
|
||||
msgstr "Accesso {url} con proxy {proxy} su tcp{kind}"
|
||||
@ -6619,7 +6635,7 @@ msgstr "Syncthing"
|
||||
msgid "File Synchronization"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:23
|
||||
#: plinth/modules/tor/__init__.py:31 plinth/modules/torproxy/__init__.py:27
|
||||
msgid ""
|
||||
"Tor is an anonymous communication system. You can learn more about it from "
|
||||
"the <a href=\"https://www.torproject.org/\">Tor Project</a> website. For "
|
||||
@ -6628,57 +6644,50 @@ msgid ""
|
||||
"en\">Tor Browser</a>."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:30
|
||||
#, python-brace-format
|
||||
#: plinth/modules/tor/__init__.py:37
|
||||
msgid ""
|
||||
"A Tor SOCKS port is available on your {box_name} for internal networks on "
|
||||
"TCP port 9050."
|
||||
"This app provides relay services to contribute to Tor network and help "
|
||||
"others overcome censorship."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:48
|
||||
#: plinth/modules/tor/__init__.py:40
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides an onion domain to expose {box_name} services via the Tor "
|
||||
"network. Using Tor browser, one can access {box_name} from the internet even "
|
||||
"when using an ISP that limits servers at home."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:60
|
||||
msgid "Tor"
|
||||
msgstr "Tor"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:65
|
||||
#: plinth/modules/tor/__init__.py:76
|
||||
msgid "Tor Onion Service"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:69
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:73
|
||||
#: plinth/modules/tor/__init__.py:80
|
||||
msgid "Tor Bridge Relay"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:132
|
||||
#: plinth/modules/tor/__init__.py:135
|
||||
msgid "Tor relay port available"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:143
|
||||
#: plinth/modules/tor/__init__.py:146
|
||||
msgid "Obfs3 transport registered"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:153
|
||||
#: plinth/modules/tor/__init__.py:156
|
||||
msgid "Obfs4 transport registered"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:165
|
||||
#: plinth/modules/tor/__init__.py:168
|
||||
#, fuzzy
|
||||
#| msgid "Onion Service"
|
||||
msgid "Onion service is version 3"
|
||||
msgstr "Servizio Onion"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:242
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:253
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:33
|
||||
msgid ""
|
||||
"Enter a valid bridge with this format: [transport] IP:ORPort [fingerprint]"
|
||||
@ -6706,11 +6715,11 @@ msgid ""
|
||||
"here. Currently supported transports are none, obfs3, obfs4 and scamblesuit."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:91
|
||||
#: plinth/modules/tor/forms.py:95
|
||||
msgid "Enable Tor relay"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:92
|
||||
#: plinth/modules/tor/forms.py:96
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"When enabled, your {box_name} will run a Tor relay and donate bandwidth to "
|
||||
@ -6718,24 +6727,24 @@ msgid ""
|
||||
"download bandwidth."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:97
|
||||
#: plinth/modules/tor/forms.py:101
|
||||
msgid "Enable Tor bridge relay"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:99
|
||||
#: plinth/modules/tor/forms.py:103
|
||||
msgid ""
|
||||
"When enabled, relay information is published in the Tor bridge database "
|
||||
"instead of public Tor relay database making it harder to censor this node. "
|
||||
"This helps others circumvent censorship."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:104
|
||||
#: plinth/modules/tor/forms.py:108
|
||||
#, fuzzy
|
||||
#| msgid "Enable Tor Hidden Service"
|
||||
msgid "Enable Tor Onion Service"
|
||||
msgstr "Abilita Tor Hidden Service"
|
||||
|
||||
#: plinth/modules/tor/forms.py:106
|
||||
#: plinth/modules/tor/forms.py:110
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"An onion service will allow {box_name} to provide selected services (such as "
|
||||
@ -6743,26 +6752,15 @@ msgid ""
|
||||
"anonymity yet."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:111
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:112
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:127
|
||||
#: plinth/modules/tor/forms.py:125
|
||||
msgid "Specify at least one upstream bridge to use upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/manifest.py:15
|
||||
#: plinth/modules/tor/manifest.py:15 plinth/modules/torproxy/manifest.py:14
|
||||
msgid "Tor Browser"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/manifest.py:31
|
||||
#: plinth/modules/tor/manifest.py:31 plinth/modules/torproxy/manifest.py:30
|
||||
msgid "Orbot: Proxy with Tor"
|
||||
msgstr ""
|
||||
|
||||
@ -6774,16 +6772,56 @@ msgstr "Servizio Onion"
|
||||
msgid "Ports"
|
||||
msgstr "Ports"
|
||||
|
||||
#: plinth/modules/tor/views.py:53
|
||||
#: plinth/modules/tor/views.py:53 plinth/modules/torproxy/views.py:51
|
||||
msgid "Updating configuration"
|
||||
msgstr "Aggiornamento della configurazione"
|
||||
|
||||
#: plinth/modules/tor/views.py:70
|
||||
#: plinth/modules/tor/views.py:70 plinth/modules/torproxy/views.py:68
|
||||
#, fuzzy, python-brace-format
|
||||
#| msgid "Error installing application: {error}"
|
||||
msgid "Error configuring app: {error}"
|
||||
msgstr "Errore durante l'installazione dell'applicazione: {error}"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:34
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides a web proxy on your {box_name} for internal networks on "
|
||||
"TCP port 9050 using the SOCKS protocol. This can be used by various apps to "
|
||||
"access the internet via the Tor network. ISP censorship can be circumvented "
|
||||
"using upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:54
|
||||
#, fuzzy
|
||||
#| msgid "I2P Proxy"
|
||||
msgid "Tor Proxy"
|
||||
msgstr "Proxy I2P"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:79
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:138
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:149
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:15
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:16
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/transmission/__init__.py:25
|
||||
msgid "Transmission is a BitTorrent client with a web interface."
|
||||
msgstr "Transmission è un client BitTorrent che può essere gestito da Web UI."
|
||||
@ -7124,14 +7162,14 @@ msgstr ""
|
||||
msgid "Starting distribution upgrade test."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:29
|
||||
#: plinth/modules/users/__init__.py:30
|
||||
msgid ""
|
||||
"Create and manage user accounts. These accounts serve as centralized "
|
||||
"authentication mechanism for most apps. Some apps further require a user "
|
||||
"account to be part of a group to authorize the user to access the app."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:34
|
||||
#: plinth/modules/users/__init__.py:35
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Any user may login to {box_name} web interface to see a list of apps "
|
||||
@ -7139,19 +7177,29 @@ msgid ""
|
||||
"group may alter apps or system settings."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:55
|
||||
#: plinth/modules/users/__init__.py:56
|
||||
msgid "Users and Groups"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:80
|
||||
#: plinth/modules/users/__init__.py:81
|
||||
msgid "Access to all services and system settings"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:116
|
||||
#: plinth/modules/users/__init__.py:124
|
||||
#, python-brace-format
|
||||
msgid "Check LDAP entry \"{search_item}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:137
|
||||
#, python-brace-format
|
||||
msgid "Check nslcd config \"{key} {value}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:166
|
||||
#, python-brace-format
|
||||
msgid "Check nsswitch config \"{database}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/forms.py:35
|
||||
msgid "Username is taken or is reserved."
|
||||
msgstr ""
|
||||
@ -8248,7 +8296,13 @@ msgstr ""
|
||||
msgid "Backup"
|
||||
msgstr "Backup"
|
||||
|
||||
#: plinth/templates/toolbar.html:51 plinth/templates/toolbar.html:52
|
||||
#: plinth/templates/toolbar.html:53
|
||||
#, fuzzy
|
||||
#| msgid "Start setup"
|
||||
msgid "Re-run setup"
|
||||
msgstr "Avvia setup"
|
||||
|
||||
#: plinth/templates/toolbar.html:59 plinth/templates/toolbar.html:60
|
||||
#: plinth/templates/uninstall.html:30
|
||||
msgid "Uninstall"
|
||||
msgstr "Disinstalla"
|
||||
@ -8265,11 +8319,11 @@ msgid ""
|
||||
"installed freshly again."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/views.py:239
|
||||
#: plinth/views.py:241
|
||||
msgid "Setting unchanged"
|
||||
msgstr "Impostazioni invariate"
|
||||
|
||||
#: plinth/views.py:456
|
||||
#: plinth/views.py:478
|
||||
#, python-brace-format
|
||||
msgid "before uninstall of {app_id}"
|
||||
msgstr ""
|
||||
@ -8798,9 +8852,6 @@ msgstr "Gujarati"
|
||||
#~ "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"
|
||||
|
||||
@ -9302,11 +9353,6 @@ msgstr "Gujarati"
|
||||
#~ msgid "Error setting default app: {exception}"
|
||||
#~ msgstr "Errore impostazione nome di dominio: {exception}"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Default"
|
||||
#~ msgid "Default app set"
|
||||
#~ msgstr "Default"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "NTP client in contact with servers"
|
||||
#~ msgid "chrony client in contact with servers"
|
||||
|
||||
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-06-19 20:15-0400\n"
|
||||
"POT-Creation-Date: 2023-07-31 20:04-0400\n"
|
||||
"PO-Revision-Date: 2023-05-07 23:50+0000\n"
|
||||
"Last-Translator: Nobuhiro Iwamatsu <iwamatsu@gmail.com>\n"
|
||||
"Language-Team: Japanese <https://hosted.weblate.org/projects/freedombox/"
|
||||
@ -28,7 +28,7 @@ msgstr "ページのソース"
|
||||
msgid "Static configuration {etc_path} is setup properly"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/context_processors.py:23 plinth/views.py:92
|
||||
#: plinth/context_processors.py:23 plinth/views.py:94
|
||||
msgid "FreedomBox"
|
||||
msgstr "FreedomBox"
|
||||
|
||||
@ -835,7 +835,8 @@ msgstr ""
|
||||
|
||||
#: plinth/modules/bepasty/views.py:88 plinth/modules/searx/views.py:35
|
||||
#: plinth/modules/searx/views.py:46 plinth/modules/security/views.py:56
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/zoph/views.py:74
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/torproxy/views.py:71
|
||||
#: plinth/modules/zoph/views.py:74
|
||||
msgid "Configuration updated."
|
||||
msgstr ""
|
||||
|
||||
@ -1917,7 +1918,7 @@ msgstr ""
|
||||
msgid "Host/Target/Value"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:23
|
||||
#: plinth/modules/firewall/__init__.py:24
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Firewall is a security system that controls the incoming and outgoing "
|
||||
@ -1925,10 +1926,22 @@ msgid ""
|
||||
"configured reduces risk of security threat from the Internet."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:59
|
||||
#: plinth/modules/firewall/__init__.py:60
|
||||
msgid "Firewall"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:269
|
||||
msgid "Default zone is external"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:276
|
||||
msgid "Firewall backend is nftables"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:287
|
||||
msgid "Direct passthrough rules exist"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/components.py:134
|
||||
#, python-brace-format
|
||||
msgid "Port {name} ({details}) available for internal networks"
|
||||
@ -2501,7 +2514,8 @@ msgstr ""
|
||||
msgid "I2P"
|
||||
msgstr "I2P"
|
||||
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:49
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:61
|
||||
#: plinth/modules/torproxy/__init__.py:55
|
||||
msgid "Anonymity Network"
|
||||
msgstr ""
|
||||
|
||||
@ -4765,7 +4779,7 @@ msgstr ""
|
||||
msgid "Web Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/privoxy/__init__.py:113
|
||||
#: plinth/modules/privoxy/__init__.py:114
|
||||
#, python-brace-format
|
||||
msgid "Access {url} with proxy {proxy} on tcp{kind}"
|
||||
msgstr ""
|
||||
@ -6014,7 +6028,7 @@ msgstr ""
|
||||
msgid "File Synchronization"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:23
|
||||
#: plinth/modules/tor/__init__.py:31 plinth/modules/torproxy/__init__.py:27
|
||||
msgid ""
|
||||
"Tor is an anonymous communication system. You can learn more about it from "
|
||||
"the <a href=\"https://www.torproject.org/\">Tor Project</a> website. For "
|
||||
@ -6023,55 +6037,48 @@ msgid ""
|
||||
"en\">Tor Browser</a>."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:30
|
||||
#, python-brace-format
|
||||
#: plinth/modules/tor/__init__.py:37
|
||||
msgid ""
|
||||
"A Tor SOCKS port is available on your {box_name} for internal networks on "
|
||||
"TCP port 9050."
|
||||
"This app provides relay services to contribute to Tor network and help "
|
||||
"others overcome censorship."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:48
|
||||
#: plinth/modules/tor/__init__.py:40
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides an onion domain to expose {box_name} services via the Tor "
|
||||
"network. Using Tor browser, one can access {box_name} from the internet even "
|
||||
"when using an ISP that limits servers at home."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:60
|
||||
msgid "Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:65
|
||||
#: plinth/modules/tor/__init__.py:76
|
||||
msgid "Tor Onion Service"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:69
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:73
|
||||
#: plinth/modules/tor/__init__.py:80
|
||||
msgid "Tor Bridge Relay"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:132
|
||||
#: plinth/modules/tor/__init__.py:135
|
||||
msgid "Tor relay port available"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:143
|
||||
#: plinth/modules/tor/__init__.py:146
|
||||
msgid "Obfs3 transport registered"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:153
|
||||
#: plinth/modules/tor/__init__.py:156
|
||||
msgid "Obfs4 transport registered"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:165
|
||||
#: plinth/modules/tor/__init__.py:168
|
||||
msgid "Onion service is version 3"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:242
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:253
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:33
|
||||
msgid ""
|
||||
"Enter a valid bridge with this format: [transport] IP:ORPort [fingerprint]"
|
||||
@ -6099,11 +6106,11 @@ msgid ""
|
||||
"here. Currently supported transports are none, obfs3, obfs4 and scamblesuit."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:91
|
||||
#: plinth/modules/tor/forms.py:95
|
||||
msgid "Enable Tor relay"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:92
|
||||
#: plinth/modules/tor/forms.py:96
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"When enabled, your {box_name} will run a Tor relay and donate bandwidth to "
|
||||
@ -6111,22 +6118,22 @@ msgid ""
|
||||
"download bandwidth."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:97
|
||||
#: plinth/modules/tor/forms.py:101
|
||||
msgid "Enable Tor bridge relay"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:99
|
||||
#: plinth/modules/tor/forms.py:103
|
||||
msgid ""
|
||||
"When enabled, relay information is published in the Tor bridge database "
|
||||
"instead of public Tor relay database making it harder to censor this node. "
|
||||
"This helps others circumvent censorship."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:104
|
||||
#: plinth/modules/tor/forms.py:108
|
||||
msgid "Enable Tor Onion Service"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:106
|
||||
#: plinth/modules/tor/forms.py:110
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"An onion service will allow {box_name} to provide selected services (such as "
|
||||
@ -6134,26 +6141,15 @@ msgid ""
|
||||
"anonymity yet."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:111
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:112
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:127
|
||||
#: plinth/modules/tor/forms.py:125
|
||||
msgid "Specify at least one upstream bridge to use upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/manifest.py:15
|
||||
#: plinth/modules/tor/manifest.py:15 plinth/modules/torproxy/manifest.py:14
|
||||
msgid "Tor Browser"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/manifest.py:31
|
||||
#: plinth/modules/tor/manifest.py:31 plinth/modules/torproxy/manifest.py:30
|
||||
msgid "Orbot: Proxy with Tor"
|
||||
msgstr ""
|
||||
|
||||
@ -6165,15 +6161,53 @@ msgstr ""
|
||||
msgid "Ports"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/views.py:53
|
||||
#: plinth/modules/tor/views.py:53 plinth/modules/torproxy/views.py:51
|
||||
msgid "Updating configuration"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/views.py:70
|
||||
#: plinth/modules/tor/views.py:70 plinth/modules/torproxy/views.py:68
|
||||
#, python-brace-format
|
||||
msgid "Error configuring app: {error}"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:34
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides a web proxy on your {box_name} for internal networks on "
|
||||
"TCP port 9050 using the SOCKS protocol. This can be used by various apps to "
|
||||
"access the internet via the Tor network. ISP censorship can be circumvented "
|
||||
"using upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:54
|
||||
msgid "Tor Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:79
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:138
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:149
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:15
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:16
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/transmission/__init__.py:25
|
||||
msgid "Transmission is a BitTorrent client with a web interface."
|
||||
msgstr ""
|
||||
@ -6499,14 +6533,14 @@ msgstr ""
|
||||
msgid "Starting distribution upgrade test."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:29
|
||||
#: plinth/modules/users/__init__.py:30
|
||||
msgid ""
|
||||
"Create and manage user accounts. These accounts serve as centralized "
|
||||
"authentication mechanism for most apps. Some apps further require a user "
|
||||
"account to be part of a group to authorize the user to access the app."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:34
|
||||
#: plinth/modules/users/__init__.py:35
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Any user may login to {box_name} web interface to see a list of apps "
|
||||
@ -6514,19 +6548,29 @@ msgid ""
|
||||
"group may alter apps or system settings."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:55
|
||||
#: plinth/modules/users/__init__.py:56
|
||||
msgid "Users and Groups"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:80
|
||||
#: plinth/modules/users/__init__.py:81
|
||||
msgid "Access to all services and system settings"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:116
|
||||
#: plinth/modules/users/__init__.py:124
|
||||
#, python-brace-format
|
||||
msgid "Check LDAP entry \"{search_item}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:137
|
||||
#, python-brace-format
|
||||
msgid "Check nslcd config \"{key} {value}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:166
|
||||
#, python-brace-format
|
||||
msgid "Check nsswitch config \"{database}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/forms.py:35
|
||||
msgid "Username is taken or is reserved."
|
||||
msgstr ""
|
||||
@ -7594,7 +7638,11 @@ msgstr ""
|
||||
msgid "Backup"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/templates/toolbar.html:51 plinth/templates/toolbar.html:52
|
||||
#: plinth/templates/toolbar.html:53
|
||||
msgid "Re-run setup"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/templates/toolbar.html:59 plinth/templates/toolbar.html:60
|
||||
#: plinth/templates/uninstall.html:30
|
||||
msgid "Uninstall"
|
||||
msgstr ""
|
||||
@ -7610,11 +7658,11 @@ msgid ""
|
||||
"installed freshly again."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/views.py:239
|
||||
#: plinth/views.py:241
|
||||
msgid "Setting unchanged"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/views.py:456
|
||||
#: plinth/views.py:478
|
||||
#, python-brace-format
|
||||
msgid "before uninstall of {app_id}"
|
||||
msgstr ""
|
||||
|
||||
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-06-19 20:15-0400\n"
|
||||
"POT-Creation-Date: 2023-07-31 20:04-0400\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/"
|
||||
@ -28,7 +28,7 @@ msgstr ""
|
||||
msgid "Static configuration {etc_path} is setup properly"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/context_processors.py:23 plinth/views.py:92
|
||||
#: plinth/context_processors.py:23 plinth/views.py:94
|
||||
msgid "FreedomBox"
|
||||
msgstr "ಫ್ರೀಡಂಬಾಕ್ಸ್"
|
||||
|
||||
@ -835,7 +835,8 @@ msgstr ""
|
||||
|
||||
#: plinth/modules/bepasty/views.py:88 plinth/modules/searx/views.py:35
|
||||
#: plinth/modules/searx/views.py:46 plinth/modules/security/views.py:56
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/zoph/views.py:74
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/torproxy/views.py:71
|
||||
#: plinth/modules/zoph/views.py:74
|
||||
msgid "Configuration updated."
|
||||
msgstr ""
|
||||
|
||||
@ -1917,7 +1918,7 @@ msgstr ""
|
||||
msgid "Host/Target/Value"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:23
|
||||
#: plinth/modules/firewall/__init__.py:24
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Firewall is a security system that controls the incoming and outgoing "
|
||||
@ -1925,10 +1926,22 @@ msgid ""
|
||||
"configured reduces risk of security threat from the Internet."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:59
|
||||
#: plinth/modules/firewall/__init__.py:60
|
||||
msgid "Firewall"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:269
|
||||
msgid "Default zone is external"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:276
|
||||
msgid "Firewall backend is nftables"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:287
|
||||
msgid "Direct passthrough rules exist"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/components.py:134
|
||||
#, python-brace-format
|
||||
msgid "Port {name} ({details}) available for internal networks"
|
||||
@ -2501,7 +2514,8 @@ msgstr ""
|
||||
msgid "I2P"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:49
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:61
|
||||
#: plinth/modules/torproxy/__init__.py:55
|
||||
msgid "Anonymity Network"
|
||||
msgstr ""
|
||||
|
||||
@ -4765,7 +4779,7 @@ msgstr ""
|
||||
msgid "Web Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/privoxy/__init__.py:113
|
||||
#: plinth/modules/privoxy/__init__.py:114
|
||||
#, python-brace-format
|
||||
msgid "Access {url} with proxy {proxy} on tcp{kind}"
|
||||
msgstr ""
|
||||
@ -6016,7 +6030,7 @@ msgstr ""
|
||||
msgid "File Synchronization"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:23
|
||||
#: plinth/modules/tor/__init__.py:31 plinth/modules/torproxy/__init__.py:27
|
||||
msgid ""
|
||||
"Tor is an anonymous communication system. You can learn more about it from "
|
||||
"the <a href=\"https://www.torproject.org/\">Tor Project</a> website. For "
|
||||
@ -6025,55 +6039,48 @@ msgid ""
|
||||
"en\">Tor Browser</a>."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:30
|
||||
#, python-brace-format
|
||||
#: plinth/modules/tor/__init__.py:37
|
||||
msgid ""
|
||||
"A Tor SOCKS port is available on your {box_name} for internal networks on "
|
||||
"TCP port 9050."
|
||||
"This app provides relay services to contribute to Tor network and help "
|
||||
"others overcome censorship."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:48
|
||||
#: plinth/modules/tor/__init__.py:40
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides an onion domain to expose {box_name} services via the Tor "
|
||||
"network. Using Tor browser, one can access {box_name} from the internet even "
|
||||
"when using an ISP that limits servers at home."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:60
|
||||
msgid "Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:65
|
||||
#: plinth/modules/tor/__init__.py:76
|
||||
msgid "Tor Onion Service"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:69
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:73
|
||||
#: plinth/modules/tor/__init__.py:80
|
||||
msgid "Tor Bridge Relay"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:132
|
||||
#: plinth/modules/tor/__init__.py:135
|
||||
msgid "Tor relay port available"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:143
|
||||
#: plinth/modules/tor/__init__.py:146
|
||||
msgid "Obfs3 transport registered"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:153
|
||||
#: plinth/modules/tor/__init__.py:156
|
||||
msgid "Obfs4 transport registered"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:165
|
||||
#: plinth/modules/tor/__init__.py:168
|
||||
msgid "Onion service is version 3"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:242
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:253
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:33
|
||||
msgid ""
|
||||
"Enter a valid bridge with this format: [transport] IP:ORPort [fingerprint]"
|
||||
@ -6101,11 +6108,11 @@ msgid ""
|
||||
"here. Currently supported transports are none, obfs3, obfs4 and scamblesuit."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:91
|
||||
#: plinth/modules/tor/forms.py:95
|
||||
msgid "Enable Tor relay"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:92
|
||||
#: plinth/modules/tor/forms.py:96
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"When enabled, your {box_name} will run a Tor relay and donate bandwidth to "
|
||||
@ -6113,22 +6120,22 @@ msgid ""
|
||||
"download bandwidth."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:97
|
||||
#: plinth/modules/tor/forms.py:101
|
||||
msgid "Enable Tor bridge relay"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:99
|
||||
#: plinth/modules/tor/forms.py:103
|
||||
msgid ""
|
||||
"When enabled, relay information is published in the Tor bridge database "
|
||||
"instead of public Tor relay database making it harder to censor this node. "
|
||||
"This helps others circumvent censorship."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:104
|
||||
#: plinth/modules/tor/forms.py:108
|
||||
msgid "Enable Tor Onion Service"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:106
|
||||
#: plinth/modules/tor/forms.py:110
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"An onion service will allow {box_name} to provide selected services (such as "
|
||||
@ -6136,26 +6143,15 @@ msgid ""
|
||||
"anonymity yet."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:111
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:112
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:127
|
||||
#: plinth/modules/tor/forms.py:125
|
||||
msgid "Specify at least one upstream bridge to use upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/manifest.py:15
|
||||
#: plinth/modules/tor/manifest.py:15 plinth/modules/torproxy/manifest.py:14
|
||||
msgid "Tor Browser"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/manifest.py:31
|
||||
#: plinth/modules/tor/manifest.py:31 plinth/modules/torproxy/manifest.py:30
|
||||
msgid "Orbot: Proxy with Tor"
|
||||
msgstr ""
|
||||
|
||||
@ -6167,15 +6163,53 @@ msgstr ""
|
||||
msgid "Ports"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/views.py:53
|
||||
#: plinth/modules/tor/views.py:53 plinth/modules/torproxy/views.py:51
|
||||
msgid "Updating configuration"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/views.py:70
|
||||
#: plinth/modules/tor/views.py:70 plinth/modules/torproxy/views.py:68
|
||||
#, python-brace-format
|
||||
msgid "Error configuring app: {error}"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:34
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides a web proxy on your {box_name} for internal networks on "
|
||||
"TCP port 9050 using the SOCKS protocol. This can be used by various apps to "
|
||||
"access the internet via the Tor network. ISP censorship can be circumvented "
|
||||
"using upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:54
|
||||
msgid "Tor Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:79
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:138
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:149
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:15
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:16
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/transmission/__init__.py:25
|
||||
msgid "Transmission is a BitTorrent client with a web interface."
|
||||
msgstr ""
|
||||
@ -6501,14 +6535,14 @@ msgstr ""
|
||||
msgid "Starting distribution upgrade test."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:29
|
||||
#: plinth/modules/users/__init__.py:30
|
||||
msgid ""
|
||||
"Create and manage user accounts. These accounts serve as centralized "
|
||||
"authentication mechanism for most apps. Some apps further require a user "
|
||||
"account to be part of a group to authorize the user to access the app."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:34
|
||||
#: plinth/modules/users/__init__.py:35
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Any user may login to {box_name} web interface to see a list of apps "
|
||||
@ -6516,19 +6550,29 @@ msgid ""
|
||||
"group may alter apps or system settings."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:55
|
||||
#: plinth/modules/users/__init__.py:56
|
||||
msgid "Users and Groups"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:80
|
||||
#: plinth/modules/users/__init__.py:81
|
||||
msgid "Access to all services and system settings"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:116
|
||||
#: plinth/modules/users/__init__.py:124
|
||||
#, python-brace-format
|
||||
msgid "Check LDAP entry \"{search_item}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:137
|
||||
#, python-brace-format
|
||||
msgid "Check nslcd config \"{key} {value}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:166
|
||||
#, python-brace-format
|
||||
msgid "Check nsswitch config \"{database}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/forms.py:35
|
||||
msgid "Username is taken or is reserved."
|
||||
msgstr ""
|
||||
@ -7596,7 +7640,11 @@ msgstr ""
|
||||
msgid "Backup"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/templates/toolbar.html:51 plinth/templates/toolbar.html:52
|
||||
#: plinth/templates/toolbar.html:53
|
||||
msgid "Re-run setup"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/templates/toolbar.html:59 plinth/templates/toolbar.html:60
|
||||
#: plinth/templates/uninstall.html:30
|
||||
msgid "Uninstall"
|
||||
msgstr ""
|
||||
@ -7612,11 +7660,11 @@ msgid ""
|
||||
"installed freshly again."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/views.py:239
|
||||
#: plinth/views.py:241
|
||||
msgid "Setting unchanged"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/views.py:456
|
||||
#: plinth/views.py:478
|
||||
#, python-brace-format
|
||||
msgid "before uninstall of {app_id}"
|
||||
msgstr ""
|
||||
|
||||
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-06-19 20:15-0400\n"
|
||||
"POT-Creation-Date: 2023-07-31 20:04-0400\n"
|
||||
"PO-Revision-Date: 2022-09-14 17:19+0000\n"
|
||||
"Last-Translator: ikmaak <info@ikmaak.nl>\n"
|
||||
"Language-Team: Lithuanian <https://hosted.weblate.org/projects/freedombox/"
|
||||
@ -30,7 +30,7 @@ msgstr ""
|
||||
msgid "Static configuration {etc_path} is setup properly"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/context_processors.py:23 plinth/views.py:92
|
||||
#: plinth/context_processors.py:23 plinth/views.py:94
|
||||
msgid "FreedomBox"
|
||||
msgstr "FreedomBox"
|
||||
|
||||
@ -837,7 +837,8 @@ msgstr ""
|
||||
|
||||
#: plinth/modules/bepasty/views.py:88 plinth/modules/searx/views.py:35
|
||||
#: plinth/modules/searx/views.py:46 plinth/modules/security/views.py:56
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/zoph/views.py:74
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/torproxy/views.py:71
|
||||
#: plinth/modules/zoph/views.py:74
|
||||
msgid "Configuration updated."
|
||||
msgstr ""
|
||||
|
||||
@ -1919,7 +1920,7 @@ msgstr ""
|
||||
msgid "Host/Target/Value"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:23
|
||||
#: plinth/modules/firewall/__init__.py:24
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Firewall is a security system that controls the incoming and outgoing "
|
||||
@ -1927,10 +1928,22 @@ msgid ""
|
||||
"configured reduces risk of security threat from the Internet."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:59
|
||||
#: plinth/modules/firewall/__init__.py:60
|
||||
msgid "Firewall"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:269
|
||||
msgid "Default zone is external"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:276
|
||||
msgid "Firewall backend is nftables"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:287
|
||||
msgid "Direct passthrough rules exist"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/components.py:134
|
||||
#, python-brace-format
|
||||
msgid "Port {name} ({details}) available for internal networks"
|
||||
@ -2503,7 +2516,8 @@ msgstr ""
|
||||
msgid "I2P"
|
||||
msgstr "I2P"
|
||||
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:49
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:61
|
||||
#: plinth/modules/torproxy/__init__.py:55
|
||||
msgid "Anonymity Network"
|
||||
msgstr ""
|
||||
|
||||
@ -4767,7 +4781,7 @@ msgstr ""
|
||||
msgid "Web Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/privoxy/__init__.py:113
|
||||
#: plinth/modules/privoxy/__init__.py:114
|
||||
#, python-brace-format
|
||||
msgid "Access {url} with proxy {proxy} on tcp{kind}"
|
||||
msgstr ""
|
||||
@ -6016,7 +6030,7 @@ msgstr ""
|
||||
msgid "File Synchronization"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:23
|
||||
#: plinth/modules/tor/__init__.py:31 plinth/modules/torproxy/__init__.py:27
|
||||
msgid ""
|
||||
"Tor is an anonymous communication system. You can learn more about it from "
|
||||
"the <a href=\"https://www.torproject.org/\">Tor Project</a> website. For "
|
||||
@ -6025,55 +6039,48 @@ msgid ""
|
||||
"en\">Tor Browser</a>."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:30
|
||||
#, python-brace-format
|
||||
#: plinth/modules/tor/__init__.py:37
|
||||
msgid ""
|
||||
"A Tor SOCKS port is available on your {box_name} for internal networks on "
|
||||
"TCP port 9050."
|
||||
"This app provides relay services to contribute to Tor network and help "
|
||||
"others overcome censorship."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:48
|
||||
#: plinth/modules/tor/__init__.py:40
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides an onion domain to expose {box_name} services via the Tor "
|
||||
"network. Using Tor browser, one can access {box_name} from the internet even "
|
||||
"when using an ISP that limits servers at home."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:60
|
||||
msgid "Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:65
|
||||
#: plinth/modules/tor/__init__.py:76
|
||||
msgid "Tor Onion Service"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:69
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:73
|
||||
#: plinth/modules/tor/__init__.py:80
|
||||
msgid "Tor Bridge Relay"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:132
|
||||
#: plinth/modules/tor/__init__.py:135
|
||||
msgid "Tor relay port available"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:143
|
||||
#: plinth/modules/tor/__init__.py:146
|
||||
msgid "Obfs3 transport registered"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:153
|
||||
#: plinth/modules/tor/__init__.py:156
|
||||
msgid "Obfs4 transport registered"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:165
|
||||
#: plinth/modules/tor/__init__.py:168
|
||||
msgid "Onion service is version 3"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:242
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:253
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:33
|
||||
msgid ""
|
||||
"Enter a valid bridge with this format: [transport] IP:ORPort [fingerprint]"
|
||||
@ -6101,11 +6108,11 @@ msgid ""
|
||||
"here. Currently supported transports are none, obfs3, obfs4 and scamblesuit."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:91
|
||||
#: plinth/modules/tor/forms.py:95
|
||||
msgid "Enable Tor relay"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:92
|
||||
#: plinth/modules/tor/forms.py:96
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"When enabled, your {box_name} will run a Tor relay and donate bandwidth to "
|
||||
@ -6113,22 +6120,22 @@ msgid ""
|
||||
"download bandwidth."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:97
|
||||
#: plinth/modules/tor/forms.py:101
|
||||
msgid "Enable Tor bridge relay"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:99
|
||||
#: plinth/modules/tor/forms.py:103
|
||||
msgid ""
|
||||
"When enabled, relay information is published in the Tor bridge database "
|
||||
"instead of public Tor relay database making it harder to censor this node. "
|
||||
"This helps others circumvent censorship."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:104
|
||||
#: plinth/modules/tor/forms.py:108
|
||||
msgid "Enable Tor Onion Service"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:106
|
||||
#: plinth/modules/tor/forms.py:110
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"An onion service will allow {box_name} to provide selected services (such as "
|
||||
@ -6136,26 +6143,15 @@ msgid ""
|
||||
"anonymity yet."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:111
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:112
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:127
|
||||
#: plinth/modules/tor/forms.py:125
|
||||
msgid "Specify at least one upstream bridge to use upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/manifest.py:15
|
||||
#: plinth/modules/tor/manifest.py:15 plinth/modules/torproxy/manifest.py:14
|
||||
msgid "Tor Browser"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/manifest.py:31
|
||||
#: plinth/modules/tor/manifest.py:31 plinth/modules/torproxy/manifest.py:30
|
||||
msgid "Orbot: Proxy with Tor"
|
||||
msgstr ""
|
||||
|
||||
@ -6167,15 +6163,55 @@ msgstr ""
|
||||
msgid "Ports"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/views.py:53
|
||||
#: plinth/modules/tor/views.py:53 plinth/modules/torproxy/views.py:51
|
||||
msgid "Updating configuration"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/views.py:70
|
||||
#: plinth/modules/tor/views.py:70 plinth/modules/torproxy/views.py:68
|
||||
#, python-brace-format
|
||||
msgid "Error configuring app: {error}"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:34
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides a web proxy on your {box_name} for internal networks on "
|
||||
"TCP port 9050 using the SOCKS protocol. This can be used by various apps to "
|
||||
"access the internet via the Tor network. ISP censorship can be circumvented "
|
||||
"using upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:54
|
||||
#, fuzzy
|
||||
#| msgid "I2P Proxy"
|
||||
msgid "Tor Proxy"
|
||||
msgstr "I2P Proxy"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:79
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:138
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:149
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:15
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:16
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/transmission/__init__.py:25
|
||||
msgid "Transmission is a BitTorrent client with a web interface."
|
||||
msgstr ""
|
||||
@ -6501,14 +6537,14 @@ msgstr ""
|
||||
msgid "Starting distribution upgrade test."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:29
|
||||
#: plinth/modules/users/__init__.py:30
|
||||
msgid ""
|
||||
"Create and manage user accounts. These accounts serve as centralized "
|
||||
"authentication mechanism for most apps. Some apps further require a user "
|
||||
"account to be part of a group to authorize the user to access the app."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:34
|
||||
#: plinth/modules/users/__init__.py:35
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Any user may login to {box_name} web interface to see a list of apps "
|
||||
@ -6516,19 +6552,29 @@ msgid ""
|
||||
"group may alter apps or system settings."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:55
|
||||
#: plinth/modules/users/__init__.py:56
|
||||
msgid "Users and Groups"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:80
|
||||
#: plinth/modules/users/__init__.py:81
|
||||
msgid "Access to all services and system settings"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:116
|
||||
#: plinth/modules/users/__init__.py:124
|
||||
#, python-brace-format
|
||||
msgid "Check LDAP entry \"{search_item}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:137
|
||||
#, python-brace-format
|
||||
msgid "Check nslcd config \"{key} {value}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:166
|
||||
#, python-brace-format
|
||||
msgid "Check nsswitch config \"{database}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/forms.py:35
|
||||
msgid "Username is taken or is reserved."
|
||||
msgstr ""
|
||||
@ -7596,7 +7642,11 @@ msgstr ""
|
||||
msgid "Backup"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/templates/toolbar.html:51 plinth/templates/toolbar.html:52
|
||||
#: plinth/templates/toolbar.html:53
|
||||
msgid "Re-run setup"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/templates/toolbar.html:59 plinth/templates/toolbar.html:60
|
||||
#: plinth/templates/uninstall.html:30
|
||||
msgid "Uninstall"
|
||||
msgstr ""
|
||||
@ -7612,11 +7662,11 @@ msgid ""
|
||||
"installed freshly again."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/views.py:239
|
||||
#: plinth/views.py:241
|
||||
msgid "Setting unchanged"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/views.py:456
|
||||
#: plinth/views.py:478
|
||||
#, python-brace-format
|
||||
msgid "before uninstall of {app_id}"
|
||||
msgstr ""
|
||||
|
||||
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-06-19 20:15-0400\n"
|
||||
"POT-Creation-Date: 2023-07-31 20:04-0400\n"
|
||||
"PO-Revision-Date: 2022-09-14 17:20+0000\n"
|
||||
"Last-Translator: ikmaak <info@ikmaak.nl>\n"
|
||||
"Language-Team: Latvian <https://hosted.weblate.org/projects/freedombox/"
|
||||
@ -29,7 +29,7 @@ msgstr ""
|
||||
msgid "Static configuration {etc_path} is setup properly"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/context_processors.py:23 plinth/views.py:92
|
||||
#: plinth/context_processors.py:23 plinth/views.py:94
|
||||
msgid "FreedomBox"
|
||||
msgstr "FreedomBox"
|
||||
|
||||
@ -836,7 +836,8 @@ msgstr ""
|
||||
|
||||
#: plinth/modules/bepasty/views.py:88 plinth/modules/searx/views.py:35
|
||||
#: plinth/modules/searx/views.py:46 plinth/modules/security/views.py:56
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/zoph/views.py:74
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/torproxy/views.py:71
|
||||
#: plinth/modules/zoph/views.py:74
|
||||
msgid "Configuration updated."
|
||||
msgstr ""
|
||||
|
||||
@ -1918,7 +1919,7 @@ msgstr ""
|
||||
msgid "Host/Target/Value"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:23
|
||||
#: plinth/modules/firewall/__init__.py:24
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Firewall is a security system that controls the incoming and outgoing "
|
||||
@ -1926,10 +1927,22 @@ msgid ""
|
||||
"configured reduces risk of security threat from the Internet."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:59
|
||||
#: plinth/modules/firewall/__init__.py:60
|
||||
msgid "Firewall"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:269
|
||||
msgid "Default zone is external"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:276
|
||||
msgid "Firewall backend is nftables"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:287
|
||||
msgid "Direct passthrough rules exist"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/components.py:134
|
||||
#, python-brace-format
|
||||
msgid "Port {name} ({details}) available for internal networks"
|
||||
@ -2502,7 +2515,8 @@ msgstr ""
|
||||
msgid "I2P"
|
||||
msgstr "I2P"
|
||||
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:49
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:61
|
||||
#: plinth/modules/torproxy/__init__.py:55
|
||||
msgid "Anonymity Network"
|
||||
msgstr ""
|
||||
|
||||
@ -4766,7 +4780,7 @@ msgstr ""
|
||||
msgid "Web Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/privoxy/__init__.py:113
|
||||
#: plinth/modules/privoxy/__init__.py:114
|
||||
#, python-brace-format
|
||||
msgid "Access {url} with proxy {proxy} on tcp{kind}"
|
||||
msgstr ""
|
||||
@ -6015,7 +6029,7 @@ msgstr ""
|
||||
msgid "File Synchronization"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:23
|
||||
#: plinth/modules/tor/__init__.py:31 plinth/modules/torproxy/__init__.py:27
|
||||
msgid ""
|
||||
"Tor is an anonymous communication system. You can learn more about it from "
|
||||
"the <a href=\"https://www.torproject.org/\">Tor Project</a> website. For "
|
||||
@ -6024,55 +6038,48 @@ msgid ""
|
||||
"en\">Tor Browser</a>."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:30
|
||||
#, python-brace-format
|
||||
#: plinth/modules/tor/__init__.py:37
|
||||
msgid ""
|
||||
"A Tor SOCKS port is available on your {box_name} for internal networks on "
|
||||
"TCP port 9050."
|
||||
"This app provides relay services to contribute to Tor network and help "
|
||||
"others overcome censorship."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:48
|
||||
#: plinth/modules/tor/__init__.py:40
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides an onion domain to expose {box_name} services via the Tor "
|
||||
"network. Using Tor browser, one can access {box_name} from the internet even "
|
||||
"when using an ISP that limits servers at home."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:60
|
||||
msgid "Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:65
|
||||
#: plinth/modules/tor/__init__.py:76
|
||||
msgid "Tor Onion Service"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:69
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:73
|
||||
#: plinth/modules/tor/__init__.py:80
|
||||
msgid "Tor Bridge Relay"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:132
|
||||
#: plinth/modules/tor/__init__.py:135
|
||||
msgid "Tor relay port available"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:143
|
||||
#: plinth/modules/tor/__init__.py:146
|
||||
msgid "Obfs3 transport registered"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:153
|
||||
#: plinth/modules/tor/__init__.py:156
|
||||
msgid "Obfs4 transport registered"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:165
|
||||
#: plinth/modules/tor/__init__.py:168
|
||||
msgid "Onion service is version 3"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:242
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:253
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:33
|
||||
msgid ""
|
||||
"Enter a valid bridge with this format: [transport] IP:ORPort [fingerprint]"
|
||||
@ -6100,11 +6107,11 @@ msgid ""
|
||||
"here. Currently supported transports are none, obfs3, obfs4 and scamblesuit."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:91
|
||||
#: plinth/modules/tor/forms.py:95
|
||||
msgid "Enable Tor relay"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:92
|
||||
#: plinth/modules/tor/forms.py:96
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"When enabled, your {box_name} will run a Tor relay and donate bandwidth to "
|
||||
@ -6112,22 +6119,22 @@ msgid ""
|
||||
"download bandwidth."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:97
|
||||
#: plinth/modules/tor/forms.py:101
|
||||
msgid "Enable Tor bridge relay"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:99
|
||||
#: plinth/modules/tor/forms.py:103
|
||||
msgid ""
|
||||
"When enabled, relay information is published in the Tor bridge database "
|
||||
"instead of public Tor relay database making it harder to censor this node. "
|
||||
"This helps others circumvent censorship."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:104
|
||||
#: plinth/modules/tor/forms.py:108
|
||||
msgid "Enable Tor Onion Service"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:106
|
||||
#: plinth/modules/tor/forms.py:110
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"An onion service will allow {box_name} to provide selected services (such as "
|
||||
@ -6135,26 +6142,15 @@ msgid ""
|
||||
"anonymity yet."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:111
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:112
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:127
|
||||
#: plinth/modules/tor/forms.py:125
|
||||
msgid "Specify at least one upstream bridge to use upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/manifest.py:15
|
||||
#: plinth/modules/tor/manifest.py:15 plinth/modules/torproxy/manifest.py:14
|
||||
msgid "Tor Browser"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/manifest.py:31
|
||||
#: plinth/modules/tor/manifest.py:31 plinth/modules/torproxy/manifest.py:30
|
||||
msgid "Orbot: Proxy with Tor"
|
||||
msgstr ""
|
||||
|
||||
@ -6166,15 +6162,55 @@ msgstr ""
|
||||
msgid "Ports"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/views.py:53
|
||||
#: plinth/modules/tor/views.py:53 plinth/modules/torproxy/views.py:51
|
||||
msgid "Updating configuration"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/views.py:70
|
||||
#: plinth/modules/tor/views.py:70 plinth/modules/torproxy/views.py:68
|
||||
#, python-brace-format
|
||||
msgid "Error configuring app: {error}"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:34
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides a web proxy on your {box_name} for internal networks on "
|
||||
"TCP port 9050 using the SOCKS protocol. This can be used by various apps to "
|
||||
"access the internet via the Tor network. ISP censorship can be circumvented "
|
||||
"using upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:54
|
||||
#, fuzzy
|
||||
#| msgid "I2P Proxy"
|
||||
msgid "Tor Proxy"
|
||||
msgstr "I2P Proxy"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:79
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:138
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:149
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:15
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:16
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/transmission/__init__.py:25
|
||||
msgid "Transmission is a BitTorrent client with a web interface."
|
||||
msgstr ""
|
||||
@ -6500,14 +6536,14 @@ msgstr ""
|
||||
msgid "Starting distribution upgrade test."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:29
|
||||
#: plinth/modules/users/__init__.py:30
|
||||
msgid ""
|
||||
"Create and manage user accounts. These accounts serve as centralized "
|
||||
"authentication mechanism for most apps. Some apps further require a user "
|
||||
"account to be part of a group to authorize the user to access the app."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:34
|
||||
#: plinth/modules/users/__init__.py:35
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Any user may login to {box_name} web interface to see a list of apps "
|
||||
@ -6515,19 +6551,29 @@ msgid ""
|
||||
"group may alter apps or system settings."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:55
|
||||
#: plinth/modules/users/__init__.py:56
|
||||
msgid "Users and Groups"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:80
|
||||
#: plinth/modules/users/__init__.py:81
|
||||
msgid "Access to all services and system settings"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:116
|
||||
#: plinth/modules/users/__init__.py:124
|
||||
#, python-brace-format
|
||||
msgid "Check LDAP entry \"{search_item}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:137
|
||||
#, python-brace-format
|
||||
msgid "Check nslcd config \"{key} {value}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:166
|
||||
#, python-brace-format
|
||||
msgid "Check nsswitch config \"{database}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/forms.py:35
|
||||
msgid "Username is taken or is reserved."
|
||||
msgstr ""
|
||||
@ -7595,7 +7641,11 @@ msgstr ""
|
||||
msgid "Backup"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/templates/toolbar.html:51 plinth/templates/toolbar.html:52
|
||||
#: plinth/templates/toolbar.html:53
|
||||
msgid "Re-run setup"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/templates/toolbar.html:59 plinth/templates/toolbar.html:60
|
||||
#: plinth/templates/uninstall.html:30
|
||||
msgid "Uninstall"
|
||||
msgstr ""
|
||||
@ -7611,11 +7661,11 @@ msgid ""
|
||||
"installed freshly again."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/views.py:239
|
||||
#: plinth/views.py:241
|
||||
msgid "Setting unchanged"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/views.py:456
|
||||
#: plinth/views.py:478
|
||||
#, python-brace-format
|
||||
msgid "before uninstall of {app_id}"
|
||||
msgstr ""
|
||||
|
||||
@ -15,7 +15,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: FreedomBox UI\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-06-19 20:15-0400\n"
|
||||
"POT-Creation-Date: 2023-07-31 20:04-0400\n"
|
||||
"PO-Revision-Date: 2022-11-07 10:05+0000\n"
|
||||
"Last-Translator: Petter Reinholdtsen <pere-weblate@hungry.com>\n"
|
||||
"Language-Team: Norwegian Bokmål <https://hosted.weblate.org/projects/"
|
||||
@ -36,7 +36,7 @@ msgstr "Sidekilde"
|
||||
msgid "Static configuration {etc_path} is setup properly"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/context_processors.py:23 plinth/views.py:92
|
||||
#: plinth/context_processors.py:23 plinth/views.py:94
|
||||
msgid "FreedomBox"
|
||||
msgstr "FreedomBox"
|
||||
|
||||
@ -923,7 +923,8 @@ msgstr "admin"
|
||||
|
||||
#: plinth/modules/bepasty/views.py:88 plinth/modules/searx/views.py:35
|
||||
#: plinth/modules/searx/views.py:46 plinth/modules/security/views.py:56
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/zoph/views.py:74
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/torproxy/views.py:71
|
||||
#: plinth/modules/zoph/views.py:74
|
||||
msgid "Configuration updated."
|
||||
msgstr "Konfigurering oppdatert."
|
||||
|
||||
@ -2185,7 +2186,7 @@ msgstr "Port"
|
||||
msgid "Host/Target/Value"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:23
|
||||
#: plinth/modules/firewall/__init__.py:24
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Firewall is a security system that controls the incoming and outgoing "
|
||||
@ -2196,10 +2197,24 @@ msgstr ""
|
||||
"utgående nettverkstrafikk på din {box_name}. Å holde en brannmur aktivert og "
|
||||
"riktig konfigurert, reduserer risikoen for sikkerhetstrusler fra Internett."
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:59
|
||||
#: plinth/modules/firewall/__init__.py:60
|
||||
msgid "Firewall"
|
||||
msgstr "Brannmur"
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:269
|
||||
#, fuzzy
|
||||
#| msgid "Default app set"
|
||||
msgid "Default zone is external"
|
||||
msgstr "Forvalgsprogram satt"
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:276
|
||||
msgid "Firewall backend is nftables"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:287
|
||||
msgid "Direct passthrough rules exist"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/components.py:134
|
||||
#, python-brace-format
|
||||
msgid "Port {name} ({details}) available for internal networks"
|
||||
@ -2892,7 +2907,8 @@ msgstr "Håndter I2P-program"
|
||||
msgid "I2P"
|
||||
msgstr "I2P"
|
||||
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:49
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:61
|
||||
#: plinth/modules/torproxy/__init__.py:55
|
||||
msgid "Anonymity Network"
|
||||
msgstr "Anonymitetsnettverk"
|
||||
|
||||
@ -5526,7 +5542,7 @@ msgstr "Privoxy"
|
||||
msgid "Web Proxy"
|
||||
msgstr "Mellomtjener for nettet"
|
||||
|
||||
#: plinth/modules/privoxy/__init__.py:113
|
||||
#: plinth/modules/privoxy/__init__.py:114
|
||||
#, python-brace-format
|
||||
msgid "Access {url} with proxy {proxy} on tcp{kind}"
|
||||
msgstr "Tilgang {url} med mellomtjener {proxy} på tcp{kind}"
|
||||
@ -7000,7 +7016,7 @@ msgstr "Syncthing"
|
||||
msgid "File Synchronization"
|
||||
msgstr "Filsynkronisering"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:23
|
||||
#: plinth/modules/tor/__init__.py:31 plinth/modules/torproxy/__init__.py:27
|
||||
msgid ""
|
||||
"Tor is an anonymous communication system. You can learn more about it from "
|
||||
"the <a href=\"https://www.torproject.org/\">Tor Project</a> website. For "
|
||||
@ -7014,59 +7030,50 @@ msgstr ""
|
||||
"href=\"https://www.torproject.org/download/download-easy.html.en\">Tor "
|
||||
"Browser</a>."
|
||||
|
||||
#: plinth/modules/tor/__init__.py:30
|
||||
#: plinth/modules/tor/__init__.py:37
|
||||
msgid ""
|
||||
"This app provides relay services to contribute to Tor network and help "
|
||||
"others overcome censorship."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:40
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"A Tor SOCKS port is available on your {box_name} for internal networks on "
|
||||
"TCP port 9050."
|
||||
"This app provides an onion domain to expose {box_name} services via the Tor "
|
||||
"network. Using Tor browser, one can access {box_name} from the internet even "
|
||||
"when using an ISP that limits servers at home."
|
||||
msgstr ""
|
||||
"En Tor SOCKS-port er tilgjengelig på din {box_name} for interne nettverk på "
|
||||
"TCP port 9050."
|
||||
|
||||
#: plinth/modules/tor/__init__.py:48
|
||||
#: plinth/modules/tor/__init__.py:60
|
||||
msgid "Tor"
|
||||
msgstr "Tor"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:65
|
||||
#: plinth/modules/tor/__init__.py:76
|
||||
msgid "Tor Onion Service"
|
||||
msgstr "Tor-løktjeneste"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:69
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr "Tor Socks-mellomtjener"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:73
|
||||
#: plinth/modules/tor/__init__.py:80
|
||||
msgid "Tor Bridge Relay"
|
||||
msgstr "Tor bro-stafettvideresendingsoppsett"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:132
|
||||
#: plinth/modules/tor/__init__.py:135
|
||||
msgid "Tor relay port available"
|
||||
msgstr "Tor relay-port tilgjengelig"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:143
|
||||
#: plinth/modules/tor/__init__.py:146
|
||||
msgid "Obfs3 transport registered"
|
||||
msgstr "Obfs3-transport registrert"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:153
|
||||
#: plinth/modules/tor/__init__.py:156
|
||||
msgid "Obfs4 transport registered"
|
||||
msgstr "Obfs4-transport registrert"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:165
|
||||
#: plinth/modules/tor/__init__.py:168
|
||||
#, fuzzy
|
||||
#| msgid "Onion Service"
|
||||
msgid "Onion service is version 3"
|
||||
msgstr "Løktjeneste"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:242
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr "Adgang til URL {url} på tcp{kind} via Tor"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:253
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr "Bekreft Tor-bruk på {url} via tcp{kind}"
|
||||
|
||||
#: plinth/modules/tor/forms.py:33
|
||||
msgid ""
|
||||
"Enter a valid bridge with this format: [transport] IP:ORPort [fingerprint]"
|
||||
@ -7102,11 +7109,11 @@ msgstr ""
|
||||
"bridges.torproject.org/</a> og kopiere/lime inn broinfoen her. For "
|
||||
"øyeblikket støttes ingen transporter, obfs3, obfs4 og scamblesuit."
|
||||
|
||||
#: plinth/modules/tor/forms.py:91
|
||||
#: plinth/modules/tor/forms.py:95
|
||||
msgid "Enable Tor relay"
|
||||
msgstr "Aktiver Tor-videresending"
|
||||
|
||||
#: plinth/modules/tor/forms.py:92
|
||||
#: plinth/modules/tor/forms.py:96
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"When enabled, your {box_name} will run a Tor relay and donate bandwidth to "
|
||||
@ -7117,11 +7124,11 @@ msgstr ""
|
||||
"båndbredde til Tor-nettverket. Gjør dette hvis båndbredden din for "
|
||||
"opplasting og nestlasting er mer enn 2 Mbits/s."
|
||||
|
||||
#: plinth/modules/tor/forms.py:97
|
||||
#: plinth/modules/tor/forms.py:101
|
||||
msgid "Enable Tor bridge relay"
|
||||
msgstr "Aktiver Tor-bru-videresending"
|
||||
|
||||
#: plinth/modules/tor/forms.py:99
|
||||
#: plinth/modules/tor/forms.py:103
|
||||
msgid ""
|
||||
"When enabled, relay information is published in the Tor bridge database "
|
||||
"instead of public Tor relay database making it harder to censor this node. "
|
||||
@ -7131,13 +7138,13 @@ msgstr ""
|
||||
"stedet for den offentlige databasen over Tor-videresendere, hvilket gjør det "
|
||||
"vanskeligere å sensurere denne noden. Dette hjelper andre å unngå sensur."
|
||||
|
||||
#: plinth/modules/tor/forms.py:104
|
||||
#: plinth/modules/tor/forms.py:108
|
||||
#, fuzzy
|
||||
#| msgid "Enable Tor Hidden Service"
|
||||
msgid "Enable Tor Onion Service"
|
||||
msgstr "Aktiver skjult Tor-tjeneste"
|
||||
|
||||
#: plinth/modules/tor/forms.py:106
|
||||
#: plinth/modules/tor/forms.py:110
|
||||
#, fuzzy, python-brace-format
|
||||
#| msgid ""
|
||||
#| "A hidden service will allow {box_name} to provide selected services (such "
|
||||
@ -7152,29 +7159,15 @@ msgstr ""
|
||||
"eller nettprat) uten å avsløre sin beliggenhet. Ikke bruk dette for å oppnå "
|
||||
"sterk anonymitet enda."
|
||||
|
||||
#: plinth/modules/tor/forms.py:111
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr "Last ned programpakker via Tor"
|
||||
|
||||
#: plinth/modules/tor/forms.py:112
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
"Når den er aktivert, vil programvaren lastes ned over Tor-nettverket for "
|
||||
"installasjoner og oppgraderinger. Dette legger til en viss grad privatliv "
|
||||
"(personvern) og sikkerhet under nedlasting av programvare."
|
||||
|
||||
#: plinth/modules/tor/forms.py:127
|
||||
#: plinth/modules/tor/forms.py:125
|
||||
msgid "Specify at least one upstream bridge to use upstream bridges."
|
||||
msgstr "Angi minst én oppstrøms bro for å bruke oppstrøms broer."
|
||||
|
||||
#: plinth/modules/tor/manifest.py:15
|
||||
#: plinth/modules/tor/manifest.py:15 plinth/modules/torproxy/manifest.py:14
|
||||
msgid "Tor Browser"
|
||||
msgstr "Tor-nettleseren"
|
||||
|
||||
#: plinth/modules/tor/manifest.py:31
|
||||
#: plinth/modules/tor/manifest.py:31 plinth/modules/torproxy/manifest.py:30
|
||||
msgid "Orbot: Proxy with Tor"
|
||||
msgstr "Orbot: Mellomtjener med Tor"
|
||||
|
||||
@ -7186,16 +7179,59 @@ msgstr "Løktjeneste"
|
||||
msgid "Ports"
|
||||
msgstr "Porter"
|
||||
|
||||
#: plinth/modules/tor/views.py:53
|
||||
#: plinth/modules/tor/views.py:53 plinth/modules/torproxy/views.py:51
|
||||
msgid "Updating configuration"
|
||||
msgstr "Oppdaterer oppsett"
|
||||
|
||||
#: plinth/modules/tor/views.py:70
|
||||
#: plinth/modules/tor/views.py:70 plinth/modules/torproxy/views.py:68
|
||||
#, fuzzy, python-brace-format
|
||||
#| msgid "Error installing application: {error}"
|
||||
msgid "Error configuring app: {error}"
|
||||
msgstr "Feil ved programinstallering: {error}"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:34
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides a web proxy on your {box_name} for internal networks on "
|
||||
"TCP port 9050 using the SOCKS protocol. This can be used by various apps to "
|
||||
"access the internet via the Tor network. ISP censorship can be circumvented "
|
||||
"using upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:54
|
||||
#, fuzzy
|
||||
#| msgid "Tor Socks Proxy"
|
||||
msgid "Tor Proxy"
|
||||
msgstr "Tor Socks-mellomtjener"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:79
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr "Tor Socks-mellomtjener"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:138
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr "Adgang til URL {url} på tcp{kind} via Tor"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:149
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr "Bekreft Tor-bruk på {url} via tcp{kind}"
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:15
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr "Last ned programpakker via Tor"
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:16
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
"Når den er aktivert, vil programvaren lastes ned over Tor-nettverket for "
|
||||
"installasjoner og oppgraderinger. Dette legger til en viss grad privatliv "
|
||||
"(personvern) og sikkerhet under nedlasting av programvare."
|
||||
|
||||
#: plinth/modules/transmission/__init__.py:25
|
||||
msgid "Transmission is a BitTorrent client with a web interface."
|
||||
msgstr "Transmission er en BitTorrent-klient som har et Web-grensesnitt."
|
||||
@ -7587,7 +7623,7 @@ msgstr ""
|
||||
msgid "Starting distribution upgrade test."
|
||||
msgstr "Starter test av distribusjonsoppgradering."
|
||||
|
||||
#: plinth/modules/users/__init__.py:29
|
||||
#: plinth/modules/users/__init__.py:30
|
||||
msgid ""
|
||||
"Create and manage user accounts. These accounts serve as centralized "
|
||||
"authentication mechanism for most apps. Some apps further require a user "
|
||||
@ -7598,7 +7634,7 @@ msgstr ""
|
||||
"kan kreve at en brukerkonto er medlem av en gruppe for å gi brukeren tilgang "
|
||||
"til programmet."
|
||||
|
||||
#: plinth/modules/users/__init__.py:34
|
||||
#: plinth/modules/users/__init__.py:35
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Any user may login to {box_name} web interface to see a list of apps "
|
||||
@ -7609,19 +7645,29 @@ msgstr ""
|
||||
"liste over programmer som er relevante for dem på hjemmesiden. Dog kan kun "
|
||||
"brukere av <em>admin</em>-gruppen endre programmer eller systeminnstillinger."
|
||||
|
||||
#: plinth/modules/users/__init__.py:55
|
||||
#: plinth/modules/users/__init__.py:56
|
||||
msgid "Users and Groups"
|
||||
msgstr "Brukere og grupper"
|
||||
|
||||
#: plinth/modules/users/__init__.py:80
|
||||
#: plinth/modules/users/__init__.py:81
|
||||
msgid "Access to all services and system settings"
|
||||
msgstr "Tilgang til alle tjenester og systeminnstillinger"
|
||||
|
||||
#: plinth/modules/users/__init__.py:116
|
||||
#: plinth/modules/users/__init__.py:124
|
||||
#, python-brace-format
|
||||
msgid "Check LDAP entry \"{search_item}\""
|
||||
msgstr "Sjekk LDAP-oppføring «{search_item}»"
|
||||
|
||||
#: plinth/modules/users/__init__.py:137
|
||||
#, python-brace-format
|
||||
msgid "Check nslcd config \"{key} {value}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:166
|
||||
#, python-brace-format
|
||||
msgid "Check nsswitch config \"{database}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/forms.py:35
|
||||
msgid "Username is taken or is reserved."
|
||||
msgstr "Brukernavnet er opptatt eller reservert."
|
||||
@ -8824,7 +8870,13 @@ msgstr "Oppdater"
|
||||
msgid "Backup"
|
||||
msgstr "Sikkerhetskopier"
|
||||
|
||||
#: plinth/templates/toolbar.html:51 plinth/templates/toolbar.html:52
|
||||
#: plinth/templates/toolbar.html:53
|
||||
#, fuzzy
|
||||
#| msgid "Start setup"
|
||||
msgid "Re-run setup"
|
||||
msgstr "Start oppsett"
|
||||
|
||||
#: plinth/templates/toolbar.html:59 plinth/templates/toolbar.html:60
|
||||
#: plinth/templates/uninstall.html:30
|
||||
#, fuzzy
|
||||
#| msgid "Install"
|
||||
@ -8844,11 +8896,11 @@ msgstr ""
|
||||
"All programdata og oppsett blir permanent borte. Programmet kan installeres "
|
||||
"på nytt igjen."
|
||||
|
||||
#: plinth/views.py:239
|
||||
#: plinth/views.py:241
|
||||
msgid "Setting unchanged"
|
||||
msgstr "Oppsett uendret"
|
||||
|
||||
#: plinth/views.py:456
|
||||
#: plinth/views.py:478
|
||||
#, python-brace-format
|
||||
msgid "before uninstall of {app_id}"
|
||||
msgstr "før avinstallering av {app_id}"
|
||||
@ -8857,6 +8909,14 @@ msgstr "før avinstallering av {app_id}"
|
||||
msgid "Gujarati"
|
||||
msgstr "Gujarati"
|
||||
|
||||
#, python-brace-format
|
||||
#~ msgid ""
|
||||
#~ "A Tor SOCKS port is available on your {box_name} for internal networks on "
|
||||
#~ "TCP port 9050."
|
||||
#~ msgstr ""
|
||||
#~ "En Tor SOCKS-port er tilgjengelig på din {box_name} for interne nettverk "
|
||||
#~ "på TCP port 9050."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Shadowsocks is a lightweight and secure SOCKS5 proxy, designed to protect "
|
||||
#~ "your Internet traffic. It can be used to bypass Internet filtering and "
|
||||
@ -9613,9 +9673,6 @@ msgstr "Gujarati"
|
||||
#~ "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"
|
||||
|
||||
@ -10260,9 +10317,6 @@ msgstr "Gujarati"
|
||||
#~ msgid "Error setting default app: {exception}"
|
||||
#~ msgstr "Feil ved endring av forvalgsprogram: {exception}"
|
||||
|
||||
#~ msgid "Default app set"
|
||||
#~ msgstr "Forvalgsprogram satt"
|
||||
|
||||
#~ msgid "Abort"
|
||||
#~ msgstr "Anuller"
|
||||
|
||||
|
||||
@ -7,8 +7,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-06-19 20:15-0400\n"
|
||||
"PO-Revision-Date: 2023-06-10 15:51+0000\n"
|
||||
"POT-Creation-Date: 2023-07-31 20:04-0400\n"
|
||||
"PO-Revision-Date: 2023-07-19 18:07+0000\n"
|
||||
"Last-Translator: ikmaak <info@ikmaak.nl>\n"
|
||||
"Language-Team: Dutch <https://hosted.weblate.org/projects/freedombox/"
|
||||
"freedombox/nl/>\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.18-dev\n"
|
||||
"X-Generator: Weblate 5.0-dev\n"
|
||||
"X-Language: nl_NL\n"
|
||||
"X-Source-Language: C\n"
|
||||
|
||||
@ -30,7 +30,7 @@ msgstr "Paginabron"
|
||||
msgid "Static configuration {etc_path} is setup properly"
|
||||
msgstr "Statische configuratie {etc_path} is correct ingesteld"
|
||||
|
||||
#: plinth/context_processors.py:23 plinth/views.py:92
|
||||
#: plinth/context_processors.py:23 plinth/views.py:94
|
||||
msgid "FreedomBox"
|
||||
msgstr "FreedomBox"
|
||||
|
||||
@ -914,7 +914,8 @@ msgstr "Admin"
|
||||
|
||||
#: plinth/modules/bepasty/views.py:88 plinth/modules/searx/views.py:35
|
||||
#: plinth/modules/searx/views.py:46 plinth/modules/security/views.py:56
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/zoph/views.py:74
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/torproxy/views.py:71
|
||||
#: plinth/modules/zoph/views.py:74
|
||||
msgid "Configuration updated."
|
||||
msgstr "Configuratie bijgewerkt."
|
||||
|
||||
@ -2153,7 +2154,7 @@ msgstr "Poort"
|
||||
msgid "Host/Target/Value"
|
||||
msgstr "Host/Target/Value"
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:23
|
||||
#: plinth/modules/firewall/__init__.py:24
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Firewall is a security system that controls the incoming and outgoing "
|
||||
@ -2164,10 +2165,24 @@ msgstr ""
|
||||
"datastromen van {box_name} stuurt. Een geactiveerde en goed ingestelde "
|
||||
"firewall vermindert het risico op beveiligingsrisico's vanuit internet."
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:59
|
||||
#: plinth/modules/firewall/__init__.py:60
|
||||
msgid "Firewall"
|
||||
msgstr "Firewall"
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:269
|
||||
#, fuzzy
|
||||
#| msgid "Default"
|
||||
msgid "Default zone is external"
|
||||
msgstr "Standaard"
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:276
|
||||
msgid "Firewall backend is nftables"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:287
|
||||
msgid "Direct passthrough rules exist"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/components.py:134
|
||||
#, python-brace-format
|
||||
msgid "Port {name} ({details}) available for internal networks"
|
||||
@ -2854,7 +2869,8 @@ msgstr "I2P-toepassing beheren"
|
||||
msgid "I2P"
|
||||
msgstr "I2P"
|
||||
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:49
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:61
|
||||
#: plinth/modules/torproxy/__init__.py:55
|
||||
msgid "Anonymity Network"
|
||||
msgstr "Anonimiteitsnetwerk"
|
||||
|
||||
@ -3842,7 +3858,7 @@ msgid ""
|
||||
"each type of name, it is shown whether the HTTP, HTTPS, and SSH services are "
|
||||
"enabled or disabled for incoming connections through the given name."
|
||||
msgstr ""
|
||||
"Name Services biedt een overzicht van de manieren waarop {box_name} "
|
||||
"Domeindiensten biedt een overzicht van de manieren waarop {box_name} "
|
||||
"bereikbaar is via het openbare internet: domeinnaam, Tor-onionservice en "
|
||||
"Pagekite. Voor elk type naam wordt weergegeven of de HTTP-, HTTPS- en SSH-"
|
||||
"services zijn ingeschakeld of uitgeschakeld voor binnenkomende verbindingen "
|
||||
@ -3850,7 +3866,7 @@ msgstr ""
|
||||
|
||||
#: plinth/modules/names/__init__.py:43
|
||||
msgid "Name Services"
|
||||
msgstr "Domeinnamen"
|
||||
msgstr "Domeindiensten"
|
||||
|
||||
#: plinth/modules/names/components.py:12
|
||||
msgid "All"
|
||||
@ -5253,7 +5269,7 @@ msgstr "Deze dienst is al beschikbaar als een standaarddienst."
|
||||
|
||||
#: plinth/modules/pagekite/forms.py:169
|
||||
msgid "Added custom service"
|
||||
msgstr "Aangepaste dienst toevoegen"
|
||||
msgstr "Aangepaste dienst toegevoegd"
|
||||
|
||||
#: plinth/modules/pagekite/forms.py:172
|
||||
msgid "This service already exists"
|
||||
@ -5494,7 +5510,7 @@ msgstr "Privoxy"
|
||||
msgid "Web Proxy"
|
||||
msgstr "Web Proxy"
|
||||
|
||||
#: plinth/modules/privoxy/__init__.py:113
|
||||
#: plinth/modules/privoxy/__init__.py:114
|
||||
#, python-brace-format
|
||||
msgid "Access {url} with proxy {proxy} on tcp{kind}"
|
||||
msgstr "Gebruik {url} via proxy {proxy} op tcp{kind}"
|
||||
@ -5707,6 +5723,11 @@ msgid ""
|
||||
"uncheck this option. When unchecked, a text entry field is added to the "
|
||||
"login page so the user can specify to which account they wish to connect."
|
||||
msgstr ""
|
||||
"Als dit ingeschakeld is kunnen gebruikers alleen mails lezen en verzenden "
|
||||
"via deze {box_name}. Om Roundcube te gebruiken met een extern e-mailaccount, "
|
||||
"zoals Gmail, moet deze optie uitgevinkt zijn. Als dit uitgeschakeld is wordt "
|
||||
"een tekstinvoerveld toegevoegd aan de inlogpagina, zodat de gebruiker kan "
|
||||
"aangeven met welk account verbinding moet worden gemaakt."
|
||||
|
||||
#: plinth/modules/rssbridge/__init__.py:21
|
||||
msgid ""
|
||||
@ -6944,7 +6965,7 @@ msgstr "Syncthing"
|
||||
msgid "File Synchronization"
|
||||
msgstr "Bestandssynchronisatie"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:23
|
||||
#: plinth/modules/tor/__init__.py:31 plinth/modules/torproxy/__init__.py:27
|
||||
msgid ""
|
||||
"Tor is an anonymous communication system. You can learn more about it from "
|
||||
"the <a href=\"https://www.torproject.org/\">Tor Project</a> website. For "
|
||||
@ -6958,57 +6979,48 @@ msgstr ""
|
||||
"de <a href=\"https://www.torproject.org/download/download-easy.html.en\">Tor "
|
||||
"Browser</a> aan."
|
||||
|
||||
#: plinth/modules/tor/__init__.py:30
|
||||
#: plinth/modules/tor/__init__.py:37
|
||||
msgid ""
|
||||
"This app provides relay services to contribute to Tor network and help "
|
||||
"others overcome censorship."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:40
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"A Tor SOCKS port is available on your {box_name} for internal networks on "
|
||||
"TCP port 9050."
|
||||
"This app provides an onion domain to expose {box_name} services via the Tor "
|
||||
"network. Using Tor browser, one can access {box_name} from the internet even "
|
||||
"when using an ISP that limits servers at home."
|
||||
msgstr ""
|
||||
"Een Tor SOCKS poort is beschikbaar op {box_name} voor interne netwerken op "
|
||||
"TCP poort 9050."
|
||||
|
||||
#: plinth/modules/tor/__init__.py:48
|
||||
#: plinth/modules/tor/__init__.py:60
|
||||
msgid "Tor"
|
||||
msgstr "Tor"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:65
|
||||
#: plinth/modules/tor/__init__.py:76
|
||||
msgid "Tor Onion Service"
|
||||
msgstr "Tor-Onion Dienst"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:69
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr "Tor Socks Proxy"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:73
|
||||
#: plinth/modules/tor/__init__.py:80
|
||||
msgid "Tor Bridge Relay"
|
||||
msgstr "Tor Bridge Relay"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:132
|
||||
#: plinth/modules/tor/__init__.py:135
|
||||
msgid "Tor relay port available"
|
||||
msgstr "Tor relay poort beschikbaar"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:143
|
||||
#: plinth/modules/tor/__init__.py:146
|
||||
msgid "Obfs3 transport registered"
|
||||
msgstr "Obfs3 transport geregistreerd"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:153
|
||||
#: plinth/modules/tor/__init__.py:156
|
||||
msgid "Obfs4 transport registered"
|
||||
msgstr "Obfs4 transport geregistreerd"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:165
|
||||
#: plinth/modules/tor/__init__.py:168
|
||||
msgid "Onion service is version 3"
|
||||
msgstr "Onion service is versie 3"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:242
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr "Gebruik URL {url} op tcp{kind} via Tor"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:253
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr "Bevestig Tor gebruik met {url} via tcp{kind}"
|
||||
|
||||
#: plinth/modules/tor/forms.py:33
|
||||
msgid ""
|
||||
"Enter a valid bridge with this format: [transport] IP:ORPort [fingerprint]"
|
||||
@ -7046,11 +7058,11 @@ msgstr ""
|
||||
"Momenteel worden de volgende transportmethoden ondersteund; geen, obfs3, "
|
||||
"obfs4 en scamblesuit."
|
||||
|
||||
#: plinth/modules/tor/forms.py:91
|
||||
#: plinth/modules/tor/forms.py:95
|
||||
msgid "Enable Tor relay"
|
||||
msgstr "Tor Relay Inschakelen"
|
||||
|
||||
#: plinth/modules/tor/forms.py:92
|
||||
#: plinth/modules/tor/forms.py:96
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"When enabled, your {box_name} will run a Tor relay and donate bandwidth to "
|
||||
@ -7061,11 +7073,11 @@ msgstr ""
|
||||
"bandbreedte delen met het Tor-netwerk. Doe dit alleen als er meer dan 2 "
|
||||
"megabit/s upload- en download bandbreedte beschikbaar is."
|
||||
|
||||
#: plinth/modules/tor/forms.py:97
|
||||
#: plinth/modules/tor/forms.py:101
|
||||
msgid "Enable Tor bridge relay"
|
||||
msgstr "Tor Bridge Relay inschakelen"
|
||||
|
||||
#: plinth/modules/tor/forms.py:99
|
||||
#: plinth/modules/tor/forms.py:103
|
||||
msgid ""
|
||||
"When enabled, relay information is published in the Tor bridge database "
|
||||
"instead of public Tor relay database making it harder to censor this node. "
|
||||
@ -7076,11 +7088,11 @@ msgstr ""
|
||||
"moeilijker om dit knooppunt te censureren. Dit helpt anderen censuur te "
|
||||
"omzeilen."
|
||||
|
||||
#: plinth/modules/tor/forms.py:104
|
||||
#: plinth/modules/tor/forms.py:108
|
||||
msgid "Enable Tor Onion Service"
|
||||
msgstr "Tor Onion Service inschakelen"
|
||||
|
||||
#: plinth/modules/tor/forms.py:106
|
||||
#: plinth/modules/tor/forms.py:110
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"An onion service will allow {box_name} to provide selected services (such as "
|
||||
@ -7091,31 +7103,17 @@ msgstr ""
|
||||
"(zoals wiki of chat) kan aanbieden zonder de locatie te onthullen. Deze "
|
||||
"dienst nog niet gebruiken als sterke anonimiteit vereist is."
|
||||
|
||||
#: plinth/modules/tor/forms.py:111
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr "Download Softwarepakketen via Tor"
|
||||
|
||||
#: plinth/modules/tor/forms.py:112
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
"Indien ingeschakeld, wordt software door middel van het Tor netwerk "
|
||||
"binnengehaald. Dit voegt een mate van privacy en veiligheid tijdens software "
|
||||
"downloads toe."
|
||||
|
||||
#: plinth/modules/tor/forms.py:127
|
||||
#: plinth/modules/tor/forms.py:125
|
||||
msgid "Specify at least one upstream bridge to use upstream bridges."
|
||||
msgstr ""
|
||||
"Geef ten minste één upstream brug in voor het gebruik van de upstream "
|
||||
"bruggen."
|
||||
|
||||
#: plinth/modules/tor/manifest.py:15
|
||||
#: plinth/modules/tor/manifest.py:15 plinth/modules/torproxy/manifest.py:14
|
||||
msgid "Tor Browser"
|
||||
msgstr "Tor Browser"
|
||||
|
||||
#: plinth/modules/tor/manifest.py:31
|
||||
#: plinth/modules/tor/manifest.py:31 plinth/modules/torproxy/manifest.py:30
|
||||
msgid "Orbot: Proxy with Tor"
|
||||
msgstr "Orbot: Proxy met Tor"
|
||||
|
||||
@ -7127,15 +7125,58 @@ msgstr "Onion Service"
|
||||
msgid "Ports"
|
||||
msgstr "Poorten"
|
||||
|
||||
#: plinth/modules/tor/views.py:53
|
||||
#: plinth/modules/tor/views.py:53 plinth/modules/torproxy/views.py:51
|
||||
msgid "Updating configuration"
|
||||
msgstr "Configuratie bijwerken"
|
||||
|
||||
#: plinth/modules/tor/views.py:70
|
||||
#: plinth/modules/tor/views.py:70 plinth/modules/torproxy/views.py:68
|
||||
#, python-brace-format
|
||||
msgid "Error configuring app: {error}"
|
||||
msgstr "Fout bij het configureren van de toepassing: {error}"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:34
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides a web proxy on your {box_name} for internal networks on "
|
||||
"TCP port 9050 using the SOCKS protocol. This can be used by various apps to "
|
||||
"access the internet via the Tor network. ISP censorship can be circumvented "
|
||||
"using upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:54
|
||||
#, fuzzy
|
||||
#| msgid "Tor Socks Proxy"
|
||||
msgid "Tor Proxy"
|
||||
msgstr "Tor Socks Proxy"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:79
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr "Tor Socks Proxy"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:138
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr "Gebruik URL {url} op tcp{kind} via Tor"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:149
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr "Bevestig Tor gebruik met {url} via tcp{kind}"
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:15
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr "Download Softwarepakketen via Tor"
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:16
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
"Indien ingeschakeld, wordt software door middel van het Tor netwerk "
|
||||
"binnengehaald. Dit voegt een mate van privacy en veiligheid tijdens software "
|
||||
"downloads toe."
|
||||
|
||||
#: plinth/modules/transmission/__init__.py:25
|
||||
msgid "Transmission is a BitTorrent client with a web interface."
|
||||
msgstr "Transmission is een BitTorrent-client met een webinterface."
|
||||
@ -7521,7 +7562,7 @@ msgstr "Tussentijdse Software Updates zijn ingeschakeld."
|
||||
msgid "Starting distribution upgrade test."
|
||||
msgstr "Start de distributie upgrade test."
|
||||
|
||||
#: plinth/modules/users/__init__.py:29
|
||||
#: plinth/modules/users/__init__.py:30
|
||||
msgid ""
|
||||
"Create and manage user accounts. These accounts serve as centralized "
|
||||
"authentication mechanism for most apps. Some apps further require a user "
|
||||
@ -7532,7 +7573,7 @@ msgstr ""
|
||||
"apps moet een gebruikersaccount deel uitmaken van een groep om de gebruiker "
|
||||
"toegang te geven tot de toepassing."
|
||||
|
||||
#: plinth/modules/users/__init__.py:34
|
||||
#: plinth/modules/users/__init__.py:35
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Any user may login to {box_name} web interface to see a list of apps "
|
||||
@ -7544,19 +7585,29 @@ msgstr ""
|
||||
"die lid zijn van de <em>admin</em> -groep mogen toepassings- of "
|
||||
"systeeminstellingen wijzigen."
|
||||
|
||||
#: plinth/modules/users/__init__.py:55
|
||||
#: plinth/modules/users/__init__.py:56
|
||||
msgid "Users and Groups"
|
||||
msgstr "Gebruikers en Groepen"
|
||||
|
||||
#: plinth/modules/users/__init__.py:80
|
||||
#: plinth/modules/users/__init__.py:81
|
||||
msgid "Access to all services and system settings"
|
||||
msgstr "Toegang tot alle diensten en systeeminstellingen"
|
||||
|
||||
#: plinth/modules/users/__init__.py:116
|
||||
#: plinth/modules/users/__init__.py:124
|
||||
#, python-brace-format
|
||||
msgid "Check LDAP entry \"{search_item}\""
|
||||
msgstr "Zoek LDAP item \"{search_item}\""
|
||||
|
||||
#: plinth/modules/users/__init__.py:137
|
||||
#, python-brace-format
|
||||
msgid "Check nslcd config \"{key} {value}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:166
|
||||
#, python-brace-format
|
||||
msgid "Check nsswitch config \"{database}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/forms.py:35
|
||||
msgid "Username is taken or is reserved."
|
||||
msgstr "Gebruikersnaam is in gebruik of is gereserveerd."
|
||||
@ -8754,7 +8805,13 @@ msgstr "Update"
|
||||
msgid "Backup"
|
||||
msgstr "Back-up"
|
||||
|
||||
#: plinth/templates/toolbar.html:51 plinth/templates/toolbar.html:52
|
||||
#: plinth/templates/toolbar.html:53
|
||||
#, fuzzy
|
||||
#| msgid "Start setup"
|
||||
msgid "Re-run setup"
|
||||
msgstr "Setup starten"
|
||||
|
||||
#: plinth/templates/toolbar.html:59 plinth/templates/toolbar.html:60
|
||||
#: plinth/templates/uninstall.html:30
|
||||
msgid "Uninstall"
|
||||
msgstr "Verwijderen"
|
||||
@ -8772,11 +8829,11 @@ msgstr ""
|
||||
"Alle toepassings-gegevens en configuratie gaan permanent verloren. de "
|
||||
"toepassing kan opnieuw vers worden geïnstalleerd."
|
||||
|
||||
#: plinth/views.py:239
|
||||
#: plinth/views.py:241
|
||||
msgid "Setting unchanged"
|
||||
msgstr "Instelling onveranderd"
|
||||
|
||||
#: plinth/views.py:456
|
||||
#: plinth/views.py:478
|
||||
#, python-brace-format
|
||||
msgid "before uninstall of {app_id}"
|
||||
msgstr "voor het verwijderen van {app_id}"
|
||||
@ -8785,6 +8842,14 @@ msgstr "voor het verwijderen van {app_id}"
|
||||
msgid "Gujarati"
|
||||
msgstr "Gujarati"
|
||||
|
||||
#, python-brace-format
|
||||
#~ msgid ""
|
||||
#~ "A Tor SOCKS port is available on your {box_name} for internal networks on "
|
||||
#~ "TCP port 9050."
|
||||
#~ msgstr ""
|
||||
#~ "Een Tor SOCKS poort is beschikbaar op {box_name} voor interne netwerken "
|
||||
#~ "op TCP poort 9050."
|
||||
|
||||
#, python-brace-format
|
||||
#~ msgid ""
|
||||
#~ "When enabled, text box for server input is removed from login page and "
|
||||
@ -9597,9 +9662,6 @@ msgstr "Gujarati"
|
||||
#~ "Afhankelijk van de snelheid van %(box_name)s kan dit zelfs uren duren. "
|
||||
#~ "Als de installatie wordt onderbroken, kan deze opnieuw gestart worden."
|
||||
|
||||
#~ msgid "Start setup"
|
||||
#~ msgstr "Setup starten"
|
||||
|
||||
#~ msgid "OpenVPN setup is running"
|
||||
#~ msgstr "OpenVPN setup draait"
|
||||
|
||||
@ -10290,11 +10352,6 @@ msgstr "Gujarati"
|
||||
#~ msgid "Error setting default app: {exception}"
|
||||
#~ msgstr "Taal instellen mislukt: {exception}"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Default"
|
||||
#~ msgid "Default app set"
|
||||
#~ msgstr "Standaard"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "NTP client in contact with servers"
|
||||
#~ msgid "chrony client in contact with servers"
|
||||
|
||||
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-06-19 20:15-0400\n"
|
||||
"POT-Creation-Date: 2023-07-31 20:04-0400\n"
|
||||
"PO-Revision-Date: 2022-09-14 17:19+0000\n"
|
||||
"Last-Translator: ikmaak <info@ikmaak.nl>\n"
|
||||
"Language-Team: Polish <https://hosted.weblate.org/projects/freedombox/"
|
||||
@ -29,7 +29,7 @@ msgstr "Źródło strony"
|
||||
msgid "Static configuration {etc_path} is setup properly"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/context_processors.py:23 plinth/views.py:92
|
||||
#: plinth/context_processors.py:23 plinth/views.py:94
|
||||
msgid "FreedomBox"
|
||||
msgstr "FreedomBox"
|
||||
|
||||
@ -904,7 +904,8 @@ msgstr "Admin"
|
||||
|
||||
#: plinth/modules/bepasty/views.py:88 plinth/modules/searx/views.py:35
|
||||
#: plinth/modules/searx/views.py:46 plinth/modules/security/views.py:56
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/zoph/views.py:74
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/torproxy/views.py:71
|
||||
#: plinth/modules/zoph/views.py:74
|
||||
msgid "Configuration updated."
|
||||
msgstr "Zaktualizowano ustawienia."
|
||||
|
||||
@ -2144,7 +2145,7 @@ msgstr ""
|
||||
msgid "Host/Target/Value"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:23
|
||||
#: plinth/modules/firewall/__init__.py:24
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Firewall is a security system that controls the incoming and outgoing "
|
||||
@ -2155,10 +2156,22 @@ msgstr ""
|
||||
"ruch sieciowy na twoim {box_name}. Włączony i poprawnie skonfigurowany "
|
||||
"firewall redukuje ryzyko zagrożeń z Internetu."
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:59
|
||||
#: plinth/modules/firewall/__init__.py:60
|
||||
msgid "Firewall"
|
||||
msgstr "Firewall"
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:269
|
||||
msgid "Default zone is external"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:276
|
||||
msgid "Firewall backend is nftables"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:287
|
||||
msgid "Direct passthrough rules exist"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/components.py:134
|
||||
#, python-brace-format
|
||||
msgid "Port {name} ({details}) available for internal networks"
|
||||
@ -2794,7 +2807,8 @@ msgstr "Aktywuj aplikację"
|
||||
msgid "I2P"
|
||||
msgstr "I2P"
|
||||
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:49
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:61
|
||||
#: plinth/modules/torproxy/__init__.py:55
|
||||
#, fuzzy
|
||||
#| msgid "Go to Networks"
|
||||
msgid "Anonymity Network"
|
||||
@ -5153,7 +5167,7 @@ msgstr "Privoxy"
|
||||
msgid "Web Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/privoxy/__init__.py:113
|
||||
#: plinth/modules/privoxy/__init__.py:114
|
||||
#, python-brace-format
|
||||
msgid "Access {url} with proxy {proxy} on tcp{kind}"
|
||||
msgstr ""
|
||||
@ -6473,7 +6487,7 @@ msgstr "Syncthing"
|
||||
msgid "File Synchronization"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:23
|
||||
#: plinth/modules/tor/__init__.py:31 plinth/modules/torproxy/__init__.py:27
|
||||
msgid ""
|
||||
"Tor is an anonymous communication system. You can learn more about it from "
|
||||
"the <a href=\"https://www.torproject.org/\">Tor Project</a> website. For "
|
||||
@ -6482,57 +6496,50 @@ msgid ""
|
||||
"en\">Tor Browser</a>."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:30
|
||||
#, python-brace-format
|
||||
#: plinth/modules/tor/__init__.py:37
|
||||
msgid ""
|
||||
"A Tor SOCKS port is available on your {box_name} for internal networks on "
|
||||
"TCP port 9050."
|
||||
"This app provides relay services to contribute to Tor network and help "
|
||||
"others overcome censorship."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:48
|
||||
#: plinth/modules/tor/__init__.py:40
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides an onion domain to expose {box_name} services via the Tor "
|
||||
"network. Using Tor browser, one can access {box_name} from the internet even "
|
||||
"when using an ISP that limits servers at home."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:60
|
||||
msgid "Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:65
|
||||
#: plinth/modules/tor/__init__.py:76
|
||||
msgid "Tor Onion Service"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:69
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:73
|
||||
#: plinth/modules/tor/__init__.py:80
|
||||
msgid "Tor Bridge Relay"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:132
|
||||
#: plinth/modules/tor/__init__.py:135
|
||||
msgid "Tor relay port available"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:143
|
||||
#: plinth/modules/tor/__init__.py:146
|
||||
msgid "Obfs3 transport registered"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:153
|
||||
#: plinth/modules/tor/__init__.py:156
|
||||
msgid "Obfs4 transport registered"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:165
|
||||
#: plinth/modules/tor/__init__.py:168
|
||||
#, fuzzy
|
||||
#| msgid "Dynamic DNS Service"
|
||||
msgid "Onion service is version 3"
|
||||
msgstr "Usługa dynamicznego DNS"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:242
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:253
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:33
|
||||
msgid ""
|
||||
"Enter a valid bridge with this format: [transport] IP:ORPort [fingerprint]"
|
||||
@ -6560,11 +6567,11 @@ msgid ""
|
||||
"here. Currently supported transports are none, obfs3, obfs4 and scamblesuit."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:91
|
||||
#: plinth/modules/tor/forms.py:95
|
||||
msgid "Enable Tor relay"
|
||||
msgstr "Włącz przekaźnik Tora"
|
||||
|
||||
#: plinth/modules/tor/forms.py:92
|
||||
#: plinth/modules/tor/forms.py:96
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"When enabled, your {box_name} will run a Tor relay and donate bandwidth to "
|
||||
@ -6572,24 +6579,24 @@ msgid ""
|
||||
"download bandwidth."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:97
|
||||
#: plinth/modules/tor/forms.py:101
|
||||
msgid "Enable Tor bridge relay"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:99
|
||||
#: plinth/modules/tor/forms.py:103
|
||||
msgid ""
|
||||
"When enabled, relay information is published in the Tor bridge database "
|
||||
"instead of public Tor relay database making it harder to censor this node. "
|
||||
"This helps others circumvent censorship."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:104
|
||||
#: plinth/modules/tor/forms.py:108
|
||||
#, fuzzy
|
||||
#| msgid "Enable Tor relay"
|
||||
msgid "Enable Tor Onion Service"
|
||||
msgstr "Włącz przekaźnik Tora"
|
||||
|
||||
#: plinth/modules/tor/forms.py:106
|
||||
#: plinth/modules/tor/forms.py:110
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"An onion service will allow {box_name} to provide selected services (such as "
|
||||
@ -6597,26 +6604,15 @@ msgid ""
|
||||
"anonymity yet."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:111
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:112
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:127
|
||||
#: plinth/modules/tor/forms.py:125
|
||||
msgid "Specify at least one upstream bridge to use upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/manifest.py:15
|
||||
#: plinth/modules/tor/manifest.py:15 plinth/modules/torproxy/manifest.py:14
|
||||
msgid "Tor Browser"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/manifest.py:31
|
||||
#: plinth/modules/tor/manifest.py:31 plinth/modules/torproxy/manifest.py:30
|
||||
msgid "Orbot: Proxy with Tor"
|
||||
msgstr ""
|
||||
|
||||
@ -6630,18 +6626,58 @@ msgstr "Usługa dynamicznego DNS"
|
||||
msgid "Ports"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/views.py:53
|
||||
#: plinth/modules/tor/views.py:53 plinth/modules/torproxy/views.py:51
|
||||
#, fuzzy
|
||||
#| msgid "An error occurred during configuration."
|
||||
msgid "Updating configuration"
|
||||
msgstr "Podczas konfiguracji wystąpił błąd."
|
||||
|
||||
#: plinth/modules/tor/views.py:70
|
||||
#: plinth/modules/tor/views.py:70 plinth/modules/torproxy/views.py:68
|
||||
#, fuzzy, python-brace-format
|
||||
#| msgid "Error installing application: {error}"
|
||||
msgid "Error configuring app: {error}"
|
||||
msgstr "Błąd podczas instalowania aplikacji: {error}"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:34
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides a web proxy on your {box_name} for internal networks on "
|
||||
"TCP port 9050 using the SOCKS protocol. This can be used by various apps to "
|
||||
"access the internet via the Tor network. ISP censorship can be circumvented "
|
||||
"using upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:54
|
||||
#, fuzzy
|
||||
#| msgid "I2P Proxy"
|
||||
msgid "Tor Proxy"
|
||||
msgstr "I2P Proxy"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:79
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:138
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:149
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:15
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:16
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/transmission/__init__.py:25
|
||||
msgid "Transmission is a BitTorrent client with a web interface."
|
||||
msgstr "Transmission to klient BitTorrent z interfejsem webowym."
|
||||
@ -7003,14 +7039,14 @@ msgstr ""
|
||||
msgid "Starting distribution upgrade test."
|
||||
msgstr "Rejestracja użytkowników wyłączona"
|
||||
|
||||
#: plinth/modules/users/__init__.py:29
|
||||
#: plinth/modules/users/__init__.py:30
|
||||
msgid ""
|
||||
"Create and manage user accounts. These accounts serve as centralized "
|
||||
"authentication mechanism for most apps. Some apps further require a user "
|
||||
"account to be part of a group to authorize the user to access the app."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:34
|
||||
#: plinth/modules/users/__init__.py:35
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Any user may login to {box_name} web interface to see a list of apps "
|
||||
@ -7018,19 +7054,29 @@ msgid ""
|
||||
"group may alter apps or system settings."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:55
|
||||
#: plinth/modules/users/__init__.py:56
|
||||
msgid "Users and Groups"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:80
|
||||
#: plinth/modules/users/__init__.py:81
|
||||
msgid "Access to all services and system settings"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:116
|
||||
#: plinth/modules/users/__init__.py:124
|
||||
#, python-brace-format
|
||||
msgid "Check LDAP entry \"{search_item}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:137
|
||||
#, python-brace-format
|
||||
msgid "Check nslcd config \"{key} {value}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:166
|
||||
#, python-brace-format
|
||||
msgid "Check nsswitch config \"{database}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/forms.py:35
|
||||
msgid "Username is taken or is reserved."
|
||||
msgstr ""
|
||||
@ -8232,7 +8278,11 @@ msgstr ""
|
||||
msgid "Backup"
|
||||
msgstr "Kopie zapasowe"
|
||||
|
||||
#: plinth/templates/toolbar.html:51 plinth/templates/toolbar.html:52
|
||||
#: plinth/templates/toolbar.html:53
|
||||
msgid "Re-run setup"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/templates/toolbar.html:59 plinth/templates/toolbar.html:60
|
||||
#: plinth/templates/uninstall.html:30
|
||||
#, fuzzy
|
||||
#| msgid "Application installed."
|
||||
@ -8251,11 +8301,11 @@ msgid ""
|
||||
"installed freshly again."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/views.py:239
|
||||
#: plinth/views.py:241
|
||||
msgid "Setting unchanged"
|
||||
msgstr "Ustawienie bez zmian"
|
||||
|
||||
#: plinth/views.py:456
|
||||
#: plinth/views.py:478
|
||||
#, python-brace-format
|
||||
msgid "before uninstall of {app_id}"
|
||||
msgstr ""
|
||||
|
||||
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-06-19 20:15-0400\n"
|
||||
"POT-Creation-Date: 2023-07-31 20:04-0400\n"
|
||||
"PO-Revision-Date: 2023-05-22 15:50+0000\n"
|
||||
"Last-Translator: Frederico Gomes <fefekrzr@gmail.com>\n"
|
||||
"Language-Team: Portuguese <https://hosted.weblate.org/projects/freedombox/"
|
||||
@ -28,7 +28,7 @@ msgstr "Fonte da página"
|
||||
msgid "Static configuration {etc_path} is setup properly"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/context_processors.py:23 plinth/views.py:92
|
||||
#: plinth/context_processors.py:23 plinth/views.py:94
|
||||
msgid "FreedomBox"
|
||||
msgstr "Freedombox"
|
||||
|
||||
@ -922,7 +922,8 @@ msgstr ""
|
||||
|
||||
#: plinth/modules/bepasty/views.py:88 plinth/modules/searx/views.py:35
|
||||
#: plinth/modules/searx/views.py:46 plinth/modules/security/views.py:56
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/zoph/views.py:74
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/torproxy/views.py:71
|
||||
#: plinth/modules/zoph/views.py:74
|
||||
msgid "Configuration updated."
|
||||
msgstr "Configuração atualizada."
|
||||
|
||||
@ -2072,7 +2073,7 @@ msgstr ""
|
||||
msgid "Host/Target/Value"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:23
|
||||
#: plinth/modules/firewall/__init__.py:24
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Firewall is a security system that controls the incoming and outgoing "
|
||||
@ -2080,10 +2081,22 @@ msgid ""
|
||||
"configured reduces risk of security threat from the Internet."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:59
|
||||
#: plinth/modules/firewall/__init__.py:60
|
||||
msgid "Firewall"
|
||||
msgstr "Firewall"
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:269
|
||||
msgid "Default zone is external"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:276
|
||||
msgid "Firewall backend is nftables"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:287
|
||||
msgid "Direct passthrough rules exist"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/components.py:134
|
||||
#, python-brace-format
|
||||
msgid "Port {name} ({details}) available for internal networks"
|
||||
@ -2689,7 +2702,8 @@ msgstr "Ativar aplicação"
|
||||
msgid "I2P"
|
||||
msgstr "I2P"
|
||||
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:49
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:61
|
||||
#: plinth/modules/torproxy/__init__.py:55
|
||||
msgid "Anonymity Network"
|
||||
msgstr ""
|
||||
|
||||
@ -5052,7 +5066,7 @@ msgstr ""
|
||||
msgid "Web Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/privoxy/__init__.py:113
|
||||
#: plinth/modules/privoxy/__init__.py:114
|
||||
#, python-brace-format
|
||||
msgid "Access {url} with proxy {proxy} on tcp{kind}"
|
||||
msgstr "Acesse {url} com proxy {proxy} em tcp{kind}"
|
||||
@ -6328,7 +6342,7 @@ msgstr ""
|
||||
msgid "File Synchronization"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:23
|
||||
#: plinth/modules/tor/__init__.py:31 plinth/modules/torproxy/__init__.py:27
|
||||
msgid ""
|
||||
"Tor is an anonymous communication system. You can learn more about it from "
|
||||
"the <a href=\"https://www.torproject.org/\">Tor Project</a> website. For "
|
||||
@ -6337,57 +6351,50 @@ msgid ""
|
||||
"en\">Tor Browser</a>."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:30
|
||||
#, python-brace-format
|
||||
#: plinth/modules/tor/__init__.py:37
|
||||
msgid ""
|
||||
"A Tor SOCKS port is available on your {box_name} for internal networks on "
|
||||
"TCP port 9050."
|
||||
"This app provides relay services to contribute to Tor network and help "
|
||||
"others overcome censorship."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:48
|
||||
#: plinth/modules/tor/__init__.py:40
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides an onion domain to expose {box_name} services via the Tor "
|
||||
"network. Using Tor browser, one can access {box_name} from the internet even "
|
||||
"when using an ISP that limits servers at home."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:60
|
||||
msgid "Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:65
|
||||
#: plinth/modules/tor/__init__.py:76
|
||||
msgid "Tor Onion Service"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:69
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:73
|
||||
#: plinth/modules/tor/__init__.py:80
|
||||
msgid "Tor Bridge Relay"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:132
|
||||
#: plinth/modules/tor/__init__.py:135
|
||||
msgid "Tor relay port available"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:143
|
||||
#: plinth/modules/tor/__init__.py:146
|
||||
msgid "Obfs3 transport registered"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:153
|
||||
#: plinth/modules/tor/__init__.py:156
|
||||
msgid "Obfs4 transport registered"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:165
|
||||
#: plinth/modules/tor/__init__.py:168
|
||||
#, fuzzy
|
||||
#| msgid "Service discovery server is running"
|
||||
msgid "Onion service is version 3"
|
||||
msgstr "O Servidor da descoberta do serviço está a correr"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:242
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:253
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:33
|
||||
msgid ""
|
||||
"Enter a valid bridge with this format: [transport] IP:ORPort [fingerprint]"
|
||||
@ -6415,13 +6422,13 @@ msgid ""
|
||||
"here. Currently supported transports are none, obfs3, obfs4 and scamblesuit."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:91
|
||||
#: plinth/modules/tor/forms.py:95
|
||||
#, fuzzy
|
||||
#| msgid "Enable network time"
|
||||
msgid "Enable Tor relay"
|
||||
msgstr "Ativar tempo da rede"
|
||||
|
||||
#: plinth/modules/tor/forms.py:92
|
||||
#: plinth/modules/tor/forms.py:96
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"When enabled, your {box_name} will run a Tor relay and donate bandwidth to "
|
||||
@ -6429,24 +6436,24 @@ msgid ""
|
||||
"download bandwidth."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:97
|
||||
#: plinth/modules/tor/forms.py:101
|
||||
msgid "Enable Tor bridge relay"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:99
|
||||
#: plinth/modules/tor/forms.py:103
|
||||
msgid ""
|
||||
"When enabled, relay information is published in the Tor bridge database "
|
||||
"instead of public Tor relay database making it harder to censor this node. "
|
||||
"This helps others circumvent censorship."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:104
|
||||
#: plinth/modules/tor/forms.py:108
|
||||
#, fuzzy
|
||||
#| msgid "Enable service discovery"
|
||||
msgid "Enable Tor Onion Service"
|
||||
msgstr "Permitir descoberta do serviço"
|
||||
|
||||
#: plinth/modules/tor/forms.py:106
|
||||
#: plinth/modules/tor/forms.py:110
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"An onion service will allow {box_name} to provide selected services (such as "
|
||||
@ -6454,26 +6461,15 @@ msgid ""
|
||||
"anonymity yet."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:111
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:112
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:127
|
||||
#: plinth/modules/tor/forms.py:125
|
||||
msgid "Specify at least one upstream bridge to use upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/manifest.py:15
|
||||
#: plinth/modules/tor/manifest.py:15 plinth/modules/torproxy/manifest.py:14
|
||||
msgid "Tor Browser"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/manifest.py:31
|
||||
#: plinth/modules/tor/manifest.py:31 plinth/modules/torproxy/manifest.py:30
|
||||
msgid "Orbot: Proxy with Tor"
|
||||
msgstr ""
|
||||
|
||||
@ -6485,18 +6481,58 @@ msgstr ""
|
||||
msgid "Ports"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/views.py:53
|
||||
#: plinth/modules/tor/views.py:53 plinth/modules/torproxy/views.py:51
|
||||
#, fuzzy
|
||||
#| msgid "General Configuration"
|
||||
msgid "Updating configuration"
|
||||
msgstr "Configuração Geral"
|
||||
|
||||
#: plinth/modules/tor/views.py:70
|
||||
#: plinth/modules/tor/views.py:70 plinth/modules/torproxy/views.py:68
|
||||
#, fuzzy, python-brace-format
|
||||
#| msgid "Error installing application: {error}"
|
||||
msgid "Error configuring app: {error}"
|
||||
msgstr "Erro a instalar a aplicação: {error}"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:34
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides a web proxy on your {box_name} for internal networks on "
|
||||
"TCP port 9050 using the SOCKS protocol. This can be used by various apps to "
|
||||
"access the internet via the Tor network. ISP censorship can be circumvented "
|
||||
"using upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:54
|
||||
#, fuzzy
|
||||
#| msgid "I2P Proxy"
|
||||
msgid "Tor Proxy"
|
||||
msgstr "I2P Proxy"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:79
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:138
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:149
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:15
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:16
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/transmission/__init__.py:25
|
||||
msgid "Transmission is a BitTorrent client with a web interface."
|
||||
msgstr ""
|
||||
@ -6840,14 +6876,14 @@ msgstr ""
|
||||
msgid "Starting distribution upgrade test."
|
||||
msgstr "A iniciar teste de atualização de distribuição."
|
||||
|
||||
#: plinth/modules/users/__init__.py:29
|
||||
#: plinth/modules/users/__init__.py:30
|
||||
msgid ""
|
||||
"Create and manage user accounts. These accounts serve as centralized "
|
||||
"authentication mechanism for most apps. Some apps further require a user "
|
||||
"account to be part of a group to authorize the user to access the app."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:34
|
||||
#: plinth/modules/users/__init__.py:35
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Any user may login to {box_name} web interface to see a list of apps "
|
||||
@ -6855,19 +6891,29 @@ msgid ""
|
||||
"group may alter apps or system settings."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:55
|
||||
#: plinth/modules/users/__init__.py:56
|
||||
msgid "Users and Groups"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:80
|
||||
#: plinth/modules/users/__init__.py:81
|
||||
msgid "Access to all services and system settings"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:116
|
||||
#: plinth/modules/users/__init__.py:124
|
||||
#, python-brace-format
|
||||
msgid "Check LDAP entry \"{search_item}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:137
|
||||
#, python-brace-format
|
||||
msgid "Check nslcd config \"{key} {value}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:166
|
||||
#, python-brace-format
|
||||
msgid "Check nsswitch config \"{database}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/forms.py:35
|
||||
msgid "Username is taken or is reserved."
|
||||
msgstr ""
|
||||
@ -7996,7 +8042,11 @@ msgstr ""
|
||||
msgid "Backup"
|
||||
msgstr "Cópia de segurança"
|
||||
|
||||
#: plinth/templates/toolbar.html:51 plinth/templates/toolbar.html:52
|
||||
#: plinth/templates/toolbar.html:53
|
||||
msgid "Re-run setup"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/templates/toolbar.html:59 plinth/templates/toolbar.html:60
|
||||
#: plinth/templates/uninstall.html:30
|
||||
#, fuzzy
|
||||
#| msgid "Install"
|
||||
@ -8014,11 +8064,11 @@ msgid ""
|
||||
"installed freshly again."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/views.py:239
|
||||
#: plinth/views.py:241
|
||||
msgid "Setting unchanged"
|
||||
msgstr "Definição inalterada"
|
||||
|
||||
#: plinth/views.py:456
|
||||
#: plinth/views.py:478
|
||||
#, python-brace-format
|
||||
msgid "before uninstall of {app_id}"
|
||||
msgstr ""
|
||||
|
||||
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-06-19 20:15-0400\n"
|
||||
"POT-Creation-Date: 2023-07-31 20:04-0400\n"
|
||||
"PO-Revision-Date: 2022-10-10 18:05+0000\n"
|
||||
"Last-Translator: Nikita Epifanov <nikgreens@protonmail.com>\n"
|
||||
"Language-Team: Russian <https://hosted.weblate.org/projects/freedombox/"
|
||||
@ -29,7 +29,7 @@ msgstr "Исходный код страницы"
|
||||
msgid "Static configuration {etc_path} is setup properly"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/context_processors.py:23 plinth/views.py:92
|
||||
#: plinth/context_processors.py:23 plinth/views.py:94
|
||||
msgid "FreedomBox"
|
||||
msgstr "FreedomBox"
|
||||
|
||||
@ -912,7 +912,8 @@ msgstr "Админ"
|
||||
|
||||
#: plinth/modules/bepasty/views.py:88 plinth/modules/searx/views.py:35
|
||||
#: plinth/modules/searx/views.py:46 plinth/modules/security/views.py:56
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/zoph/views.py:74
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/torproxy/views.py:71
|
||||
#: plinth/modules/zoph/views.py:74
|
||||
msgid "Configuration updated."
|
||||
msgstr "Конфигурация обновлена."
|
||||
|
||||
@ -2147,7 +2148,7 @@ msgstr "Порт"
|
||||
msgid "Host/Target/Value"
|
||||
msgstr "Хост/Цель/Значение"
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:23
|
||||
#: plinth/modules/firewall/__init__.py:24
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Firewall is a security system that controls the incoming and outgoing "
|
||||
@ -2159,10 +2160,24 @@ msgstr ""
|
||||
"правильно настроенным, чтобы уменьшить риск информационной опасности из "
|
||||
"Интернета."
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:59
|
||||
#: plinth/modules/firewall/__init__.py:60
|
||||
msgid "Firewall"
|
||||
msgstr "Брандмауэр"
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:269
|
||||
#, fuzzy
|
||||
#| msgid "Default app set"
|
||||
msgid "Default zone is external"
|
||||
msgstr "Приложение по умолчанию настроено"
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:276
|
||||
msgid "Firewall backend is nftables"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:287
|
||||
msgid "Direct passthrough rules exist"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/components.py:134
|
||||
#, python-brace-format
|
||||
msgid "Port {name} ({details}) available for internal networks"
|
||||
@ -2833,7 +2848,8 @@ msgstr "Управление приложением I2P"
|
||||
msgid "I2P"
|
||||
msgstr "I2P"
|
||||
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:49
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:61
|
||||
#: plinth/modules/torproxy/__init__.py:55
|
||||
msgid "Anonymity Network"
|
||||
msgstr "Анонимная сеть"
|
||||
|
||||
@ -5477,7 +5493,7 @@ msgstr "Privoxy"
|
||||
msgid "Web Proxy"
|
||||
msgstr "Web-прокси"
|
||||
|
||||
#: plinth/modules/privoxy/__init__.py:113
|
||||
#: plinth/modules/privoxy/__init__.py:114
|
||||
#, python-brace-format
|
||||
msgid "Access {url} with proxy {proxy} on tcp{kind}"
|
||||
msgstr "Доступ к {url} с прокси {proxy} на tcp{kind}"
|
||||
@ -6930,7 +6946,7 @@ msgstr "Syncthing"
|
||||
msgid "File Synchronization"
|
||||
msgstr "Синхронизация файлов"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:23
|
||||
#: plinth/modules/tor/__init__.py:31 plinth/modules/torproxy/__init__.py:27
|
||||
msgid ""
|
||||
"Tor is an anonymous communication system. You can learn more about it from "
|
||||
"the <a href=\"https://www.torproject.org/\">Tor Project</a> website. For "
|
||||
@ -6944,58 +6960,50 @@ msgstr ""
|
||||
"href=\"https://www.torproject.org/download/download-easy.html.en\">Tor "
|
||||
"Browser</a>."
|
||||
|
||||
#: plinth/modules/tor/__init__.py:30
|
||||
#: plinth/modules/tor/__init__.py:37
|
||||
msgid ""
|
||||
"This app provides relay services to contribute to Tor network and help "
|
||||
"others overcome censorship."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:40
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"A Tor SOCKS port is available on your {box_name} for internal networks on "
|
||||
"TCP port 9050."
|
||||
"This app provides an onion domain to expose {box_name} services via the Tor "
|
||||
"network. Using Tor browser, one can access {box_name} from the internet even "
|
||||
"when using an ISP that limits servers at home."
|
||||
msgstr ""
|
||||
"Порт Tor SOCKS доступен на {box_name} для внутренних сетей на TCP-порту 9050."
|
||||
|
||||
#: plinth/modules/tor/__init__.py:48
|
||||
#: plinth/modules/tor/__init__.py:60
|
||||
msgid "Tor"
|
||||
msgstr "Tor"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:65
|
||||
#: plinth/modules/tor/__init__.py:76
|
||||
msgid "Tor Onion Service"
|
||||
msgstr "Сервис Tor Onion"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:69
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr "Tor Socks прокси"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:73
|
||||
#: plinth/modules/tor/__init__.py:80
|
||||
msgid "Tor Bridge Relay"
|
||||
msgstr "Ретранслятор Tor типа мост"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:132
|
||||
#: plinth/modules/tor/__init__.py:135
|
||||
msgid "Tor relay port available"
|
||||
msgstr "Доступен порт трансляции Tor"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:143
|
||||
#: plinth/modules/tor/__init__.py:146
|
||||
msgid "Obfs3 transport registered"
|
||||
msgstr "Obfs3 транспорт зарегестрирован"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:153
|
||||
#: plinth/modules/tor/__init__.py:156
|
||||
msgid "Obfs4 transport registered"
|
||||
msgstr "Obfs4 транспорт зарегистрирован"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:165
|
||||
#: plinth/modules/tor/__init__.py:168
|
||||
#, fuzzy
|
||||
#| msgid "Onion Service"
|
||||
msgid "Onion service is version 3"
|
||||
msgstr "Onion сервис"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:242
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr "Доступ к {url} по tcp{kind} через Tor"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:253
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr "Подтверждение использования Tor в {url} по tcp {kind}"
|
||||
|
||||
#: plinth/modules/tor/forms.py:33
|
||||
msgid ""
|
||||
"Enter a valid bridge with this format: [transport] IP:ORPort [fingerprint]"
|
||||
@ -7032,11 +7040,11 @@ msgstr ""
|
||||
"org/\">https://bridges.torproject.org/</a>и скопировать/вставить информацию "
|
||||
"сюда. В данное время поддерживаются «none», «obfs3», «obfs4» и «scamblesuit»."
|
||||
|
||||
#: plinth/modules/tor/forms.py:91
|
||||
#: plinth/modules/tor/forms.py:95
|
||||
msgid "Enable Tor relay"
|
||||
msgstr "Включить ретранслятор Tor"
|
||||
|
||||
#: plinth/modules/tor/forms.py:92
|
||||
#: plinth/modules/tor/forms.py:96
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"When enabled, your {box_name} will run a Tor relay and donate bandwidth to "
|
||||
@ -7047,11 +7055,11 @@ msgstr ""
|
||||
"часть пропускной способности сети Tor. Сделайте это, если у вас более ширина "
|
||||
"канала более 2Мбит/c."
|
||||
|
||||
#: plinth/modules/tor/forms.py:97
|
||||
#: plinth/modules/tor/forms.py:101
|
||||
msgid "Enable Tor bridge relay"
|
||||
msgstr "Ретранслятор Tor типа мост"
|
||||
|
||||
#: plinth/modules/tor/forms.py:99
|
||||
#: plinth/modules/tor/forms.py:103
|
||||
msgid ""
|
||||
"When enabled, relay information is published in the Tor bridge database "
|
||||
"instead of public Tor relay database making it harder to censor this node. "
|
||||
@ -7061,13 +7069,13 @@ msgstr ""
|
||||
"общественной базы данных ретрансляции Tor. Это помогает другим обойти "
|
||||
"цензуру."
|
||||
|
||||
#: plinth/modules/tor/forms.py:104
|
||||
#: plinth/modules/tor/forms.py:108
|
||||
#, fuzzy
|
||||
#| msgid "Enable Tor Hidden Service"
|
||||
msgid "Enable Tor Onion Service"
|
||||
msgstr "Включить скрытый сервис Tor"
|
||||
|
||||
#: plinth/modules/tor/forms.py:106
|
||||
#: plinth/modules/tor/forms.py:110
|
||||
#, fuzzy, python-brace-format
|
||||
#| msgid ""
|
||||
#| "A hidden service will allow {box_name} to provide selected services (such "
|
||||
@ -7082,29 +7090,15 @@ msgstr ""
|
||||
"wiki или чат), не раскрывая своего местоположения. Не используйте это для "
|
||||
"повышения анонимности."
|
||||
|
||||
#: plinth/modules/tor/forms.py:111
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr "Скачать пакеты программного обеспечения через Tor"
|
||||
|
||||
#: plinth/modules/tor/forms.py:112
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
"Когда включен, программное обеспечение будет загружено через сеть Tor для "
|
||||
"установки и обновления. Это добавляет определенную степень безопасности и "
|
||||
"конфиденциальности во время загрузки программного обеспечения."
|
||||
|
||||
#: plinth/modules/tor/forms.py:127
|
||||
#: plinth/modules/tor/forms.py:125
|
||||
msgid "Specify at least one upstream bridge to use upstream bridges."
|
||||
msgstr "Укажите по крайней мере один upstream bridge чтобы использовать их."
|
||||
|
||||
#: plinth/modules/tor/manifest.py:15
|
||||
#: plinth/modules/tor/manifest.py:15 plinth/modules/torproxy/manifest.py:14
|
||||
msgid "Tor Browser"
|
||||
msgstr "Tor Browser"
|
||||
|
||||
#: plinth/modules/tor/manifest.py:31
|
||||
#: plinth/modules/tor/manifest.py:31 plinth/modules/torproxy/manifest.py:30
|
||||
msgid "Orbot: Proxy with Tor"
|
||||
msgstr "Orbot: Прокси с Tor"
|
||||
|
||||
@ -7116,18 +7110,61 @@ msgstr "Onion сервис"
|
||||
msgid "Ports"
|
||||
msgstr "Порты"
|
||||
|
||||
#: plinth/modules/tor/views.py:53
|
||||
#: plinth/modules/tor/views.py:53 plinth/modules/torproxy/views.py:51
|
||||
#, fuzzy
|
||||
#| msgid "An error occurred during configuration."
|
||||
msgid "Updating configuration"
|
||||
msgstr "Произошла ошибка во время настройки."
|
||||
|
||||
#: plinth/modules/tor/views.py:70
|
||||
#: plinth/modules/tor/views.py:70 plinth/modules/torproxy/views.py:68
|
||||
#, fuzzy, python-brace-format
|
||||
#| msgid "Error installing application: {error}"
|
||||
msgid "Error configuring app: {error}"
|
||||
msgstr "Ошибка при установке приложения: {error}"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:34
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides a web proxy on your {box_name} for internal networks on "
|
||||
"TCP port 9050 using the SOCKS protocol. This can be used by various apps to "
|
||||
"access the internet via the Tor network. ISP censorship can be circumvented "
|
||||
"using upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:54
|
||||
#, fuzzy
|
||||
#| msgid "Tor Socks Proxy"
|
||||
msgid "Tor Proxy"
|
||||
msgstr "Tor Socks прокси"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:79
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr "Tor Socks прокси"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:138
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr "Доступ к {url} по tcp{kind} через Tor"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:149
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr "Подтверждение использования Tor в {url} по tcp {kind}"
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:15
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr "Скачать пакеты программного обеспечения через Tor"
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:16
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
"Когда включен, программное обеспечение будет загружено через сеть Tor для "
|
||||
"установки и обновления. Это добавляет определенную степень безопасности и "
|
||||
"конфиденциальности во время загрузки программного обеспечения."
|
||||
|
||||
#: plinth/modules/transmission/__init__.py:25
|
||||
msgid "Transmission is a BitTorrent client with a web interface."
|
||||
msgstr "Transmission это клиент BitTorrent, имеющий веб-интерфейс."
|
||||
@ -7521,7 +7558,7 @@ msgstr "Активированы частые обновления функци
|
||||
msgid "Starting distribution upgrade test."
|
||||
msgstr "Обновление дистрибутива включено"
|
||||
|
||||
#: plinth/modules/users/__init__.py:29
|
||||
#: plinth/modules/users/__init__.py:30
|
||||
msgid ""
|
||||
"Create and manage user accounts. These accounts serve as centralized "
|
||||
"authentication mechanism for most apps. Some apps further require a user "
|
||||
@ -7533,7 +7570,7 @@ msgstr ""
|
||||
"запись пользователя была частью группы, чтобы разрешить пользователю доступ "
|
||||
"к приложению."
|
||||
|
||||
#: plinth/modules/users/__init__.py:34
|
||||
#: plinth/modules/users/__init__.py:35
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Any user may login to {box_name} web interface to see a list of apps "
|
||||
@ -7545,19 +7582,29 @@ msgstr ""
|
||||
"пользователи группы <em>admin</em> могут изменять приложения или системные "
|
||||
"настройки."
|
||||
|
||||
#: plinth/modules/users/__init__.py:55
|
||||
#: plinth/modules/users/__init__.py:56
|
||||
msgid "Users and Groups"
|
||||
msgstr "Пользователи и группы"
|
||||
|
||||
#: plinth/modules/users/__init__.py:80
|
||||
#: plinth/modules/users/__init__.py:81
|
||||
msgid "Access to all services and system settings"
|
||||
msgstr "Доступ ко всем сервисам и настройкам системы"
|
||||
|
||||
#: plinth/modules/users/__init__.py:116
|
||||
#: plinth/modules/users/__init__.py:124
|
||||
#, python-brace-format
|
||||
msgid "Check LDAP entry \"{search_item}\""
|
||||
msgstr "Проверьте запись LDAP \"{search_item}\""
|
||||
|
||||
#: plinth/modules/users/__init__.py:137
|
||||
#, python-brace-format
|
||||
msgid "Check nslcd config \"{key} {value}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:166
|
||||
#, python-brace-format
|
||||
msgid "Check nsswitch config \"{database}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/forms.py:35
|
||||
msgid "Username is taken or is reserved."
|
||||
msgstr "Имя пользователя уже занято."
|
||||
@ -8781,7 +8828,13 @@ msgstr "Обновление"
|
||||
msgid "Backup"
|
||||
msgstr "Резервные копии"
|
||||
|
||||
#: plinth/templates/toolbar.html:51 plinth/templates/toolbar.html:52
|
||||
#: plinth/templates/toolbar.html:53
|
||||
#, fuzzy
|
||||
#| msgid "Start setup"
|
||||
msgid "Re-run setup"
|
||||
msgstr "Запуск программы установки"
|
||||
|
||||
#: plinth/templates/toolbar.html:59 plinth/templates/toolbar.html:60
|
||||
#: plinth/templates/uninstall.html:30
|
||||
#, fuzzy
|
||||
#| msgid "Install"
|
||||
@ -8800,11 +8853,11 @@ msgid ""
|
||||
"installed freshly again."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/views.py:239
|
||||
#: plinth/views.py:241
|
||||
msgid "Setting unchanged"
|
||||
msgstr "Настройки без изменений"
|
||||
|
||||
#: plinth/views.py:456
|
||||
#: plinth/views.py:478
|
||||
#, python-brace-format
|
||||
msgid "before uninstall of {app_id}"
|
||||
msgstr ""
|
||||
@ -8813,6 +8866,14 @@ msgstr ""
|
||||
msgid "Gujarati"
|
||||
msgstr "Гуджарати"
|
||||
|
||||
#, python-brace-format
|
||||
#~ msgid ""
|
||||
#~ "A Tor SOCKS port is available on your {box_name} for internal networks on "
|
||||
#~ "TCP port 9050."
|
||||
#~ msgstr ""
|
||||
#~ "Порт Tor SOCKS доступен на {box_name} для внутренних сетей на TCP-порту "
|
||||
#~ "9050."
|
||||
|
||||
#, python-brace-format
|
||||
#~ msgid ""
|
||||
#~ "When enabled, text box for server input is removed from login page and "
|
||||
@ -9610,9 +9671,6 @@ msgstr "Гуджарати"
|
||||
#~ "занять продолжительное время. Если установка прерывается, вы можете "
|
||||
#~ "начать её снова."
|
||||
|
||||
#~ msgid "Start setup"
|
||||
#~ msgstr "Запуск программы установки"
|
||||
|
||||
#~ msgid "OpenVPN setup is running"
|
||||
#~ msgstr "Выполняется установка OpenVPN"
|
||||
|
||||
@ -10208,9 +10266,6 @@ msgstr "Гуджарати"
|
||||
#~ msgid "Error setting default app: {exception}"
|
||||
#~ msgstr "Ошибка настройки приложения по умолчанию: {exception}"
|
||||
|
||||
#~ msgid "Default app set"
|
||||
#~ msgstr "Приложение по умолчанию настроено"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "NTP client in contact with servers"
|
||||
#~ msgid "chrony client in contact with servers"
|
||||
|
||||
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-06-19 20:15-0400\n"
|
||||
"POT-Creation-Date: 2023-07-31 20:04-0400\n"
|
||||
"PO-Revision-Date: 2021-04-27 13:32+0000\n"
|
||||
"Last-Translator: HelaBasa <R45XvezA@protonmail.ch>\n"
|
||||
"Language-Team: Sinhala <https://hosted.weblate.org/projects/freedombox/"
|
||||
@ -28,7 +28,7 @@ msgstr ""
|
||||
msgid "Static configuration {etc_path} is setup properly"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/context_processors.py:23 plinth/views.py:92
|
||||
#: plinth/context_processors.py:23 plinth/views.py:94
|
||||
msgid "FreedomBox"
|
||||
msgstr "ෆ්රීඩම්බොක්ස්"
|
||||
|
||||
@ -835,7 +835,8 @@ msgstr ""
|
||||
|
||||
#: plinth/modules/bepasty/views.py:88 plinth/modules/searx/views.py:35
|
||||
#: plinth/modules/searx/views.py:46 plinth/modules/security/views.py:56
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/zoph/views.py:74
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/torproxy/views.py:71
|
||||
#: plinth/modules/zoph/views.py:74
|
||||
msgid "Configuration updated."
|
||||
msgstr ""
|
||||
|
||||
@ -1917,7 +1918,7 @@ msgstr ""
|
||||
msgid "Host/Target/Value"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:23
|
||||
#: plinth/modules/firewall/__init__.py:24
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Firewall is a security system that controls the incoming and outgoing "
|
||||
@ -1925,10 +1926,22 @@ msgid ""
|
||||
"configured reduces risk of security threat from the Internet."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:59
|
||||
#: plinth/modules/firewall/__init__.py:60
|
||||
msgid "Firewall"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:269
|
||||
msgid "Default zone is external"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:276
|
||||
msgid "Firewall backend is nftables"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:287
|
||||
msgid "Direct passthrough rules exist"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/components.py:134
|
||||
#, python-brace-format
|
||||
msgid "Port {name} ({details}) available for internal networks"
|
||||
@ -2501,7 +2514,8 @@ msgstr ""
|
||||
msgid "I2P"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:49
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:61
|
||||
#: plinth/modules/torproxy/__init__.py:55
|
||||
msgid "Anonymity Network"
|
||||
msgstr ""
|
||||
|
||||
@ -4765,7 +4779,7 @@ msgstr ""
|
||||
msgid "Web Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/privoxy/__init__.py:113
|
||||
#: plinth/modules/privoxy/__init__.py:114
|
||||
#, python-brace-format
|
||||
msgid "Access {url} with proxy {proxy} on tcp{kind}"
|
||||
msgstr ""
|
||||
@ -6014,7 +6028,7 @@ msgstr ""
|
||||
msgid "File Synchronization"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:23
|
||||
#: plinth/modules/tor/__init__.py:31 plinth/modules/torproxy/__init__.py:27
|
||||
msgid ""
|
||||
"Tor is an anonymous communication system. You can learn more about it from "
|
||||
"the <a href=\"https://www.torproject.org/\">Tor Project</a> website. For "
|
||||
@ -6023,55 +6037,48 @@ msgid ""
|
||||
"en\">Tor Browser</a>."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:30
|
||||
#, python-brace-format
|
||||
#: plinth/modules/tor/__init__.py:37
|
||||
msgid ""
|
||||
"A Tor SOCKS port is available on your {box_name} for internal networks on "
|
||||
"TCP port 9050."
|
||||
"This app provides relay services to contribute to Tor network and help "
|
||||
"others overcome censorship."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:48
|
||||
#: plinth/modules/tor/__init__.py:40
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides an onion domain to expose {box_name} services via the Tor "
|
||||
"network. Using Tor browser, one can access {box_name} from the internet even "
|
||||
"when using an ISP that limits servers at home."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:60
|
||||
msgid "Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:65
|
||||
#: plinth/modules/tor/__init__.py:76
|
||||
msgid "Tor Onion Service"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:69
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:73
|
||||
#: plinth/modules/tor/__init__.py:80
|
||||
msgid "Tor Bridge Relay"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:132
|
||||
#: plinth/modules/tor/__init__.py:135
|
||||
msgid "Tor relay port available"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:143
|
||||
#: plinth/modules/tor/__init__.py:146
|
||||
msgid "Obfs3 transport registered"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:153
|
||||
#: plinth/modules/tor/__init__.py:156
|
||||
msgid "Obfs4 transport registered"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:165
|
||||
#: plinth/modules/tor/__init__.py:168
|
||||
msgid "Onion service is version 3"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:242
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:253
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:33
|
||||
msgid ""
|
||||
"Enter a valid bridge with this format: [transport] IP:ORPort [fingerprint]"
|
||||
@ -6099,11 +6106,11 @@ msgid ""
|
||||
"here. Currently supported transports are none, obfs3, obfs4 and scamblesuit."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:91
|
||||
#: plinth/modules/tor/forms.py:95
|
||||
msgid "Enable Tor relay"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:92
|
||||
#: plinth/modules/tor/forms.py:96
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"When enabled, your {box_name} will run a Tor relay and donate bandwidth to "
|
||||
@ -6111,22 +6118,22 @@ msgid ""
|
||||
"download bandwidth."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:97
|
||||
#: plinth/modules/tor/forms.py:101
|
||||
msgid "Enable Tor bridge relay"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:99
|
||||
#: plinth/modules/tor/forms.py:103
|
||||
msgid ""
|
||||
"When enabled, relay information is published in the Tor bridge database "
|
||||
"instead of public Tor relay database making it harder to censor this node. "
|
||||
"This helps others circumvent censorship."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:104
|
||||
#: plinth/modules/tor/forms.py:108
|
||||
msgid "Enable Tor Onion Service"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:106
|
||||
#: plinth/modules/tor/forms.py:110
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"An onion service will allow {box_name} to provide selected services (such as "
|
||||
@ -6134,26 +6141,15 @@ msgid ""
|
||||
"anonymity yet."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:111
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:112
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:127
|
||||
#: plinth/modules/tor/forms.py:125
|
||||
msgid "Specify at least one upstream bridge to use upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/manifest.py:15
|
||||
#: plinth/modules/tor/manifest.py:15 plinth/modules/torproxy/manifest.py:14
|
||||
msgid "Tor Browser"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/manifest.py:31
|
||||
#: plinth/modules/tor/manifest.py:31 plinth/modules/torproxy/manifest.py:30
|
||||
msgid "Orbot: Proxy with Tor"
|
||||
msgstr ""
|
||||
|
||||
@ -6165,15 +6161,53 @@ msgstr ""
|
||||
msgid "Ports"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/views.py:53
|
||||
#: plinth/modules/tor/views.py:53 plinth/modules/torproxy/views.py:51
|
||||
msgid "Updating configuration"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/views.py:70
|
||||
#: plinth/modules/tor/views.py:70 plinth/modules/torproxy/views.py:68
|
||||
#, python-brace-format
|
||||
msgid "Error configuring app: {error}"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:34
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides a web proxy on your {box_name} for internal networks on "
|
||||
"TCP port 9050 using the SOCKS protocol. This can be used by various apps to "
|
||||
"access the internet via the Tor network. ISP censorship can be circumvented "
|
||||
"using upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:54
|
||||
msgid "Tor Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:79
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:138
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:149
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:15
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:16
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/transmission/__init__.py:25
|
||||
msgid "Transmission is a BitTorrent client with a web interface."
|
||||
msgstr ""
|
||||
@ -6499,14 +6533,14 @@ msgstr ""
|
||||
msgid "Starting distribution upgrade test."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:29
|
||||
#: plinth/modules/users/__init__.py:30
|
||||
msgid ""
|
||||
"Create and manage user accounts. These accounts serve as centralized "
|
||||
"authentication mechanism for most apps. Some apps further require a user "
|
||||
"account to be part of a group to authorize the user to access the app."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:34
|
||||
#: plinth/modules/users/__init__.py:35
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Any user may login to {box_name} web interface to see a list of apps "
|
||||
@ -6514,19 +6548,29 @@ msgid ""
|
||||
"group may alter apps or system settings."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:55
|
||||
#: plinth/modules/users/__init__.py:56
|
||||
msgid "Users and Groups"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:80
|
||||
#: plinth/modules/users/__init__.py:81
|
||||
msgid "Access to all services and system settings"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:116
|
||||
#: plinth/modules/users/__init__.py:124
|
||||
#, python-brace-format
|
||||
msgid "Check LDAP entry \"{search_item}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:137
|
||||
#, python-brace-format
|
||||
msgid "Check nslcd config \"{key} {value}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:166
|
||||
#, python-brace-format
|
||||
msgid "Check nsswitch config \"{database}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/forms.py:35
|
||||
msgid "Username is taken or is reserved."
|
||||
msgstr ""
|
||||
@ -7594,7 +7638,11 @@ msgstr ""
|
||||
msgid "Backup"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/templates/toolbar.html:51 plinth/templates/toolbar.html:52
|
||||
#: plinth/templates/toolbar.html:53
|
||||
msgid "Re-run setup"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/templates/toolbar.html:59 plinth/templates/toolbar.html:60
|
||||
#: plinth/templates/uninstall.html:30
|
||||
msgid "Uninstall"
|
||||
msgstr ""
|
||||
@ -7610,11 +7658,11 @@ msgid ""
|
||||
"installed freshly again."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/views.py:239
|
||||
#: plinth/views.py:241
|
||||
msgid "Setting unchanged"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/views.py:456
|
||||
#: plinth/views.py:478
|
||||
#, python-brace-format
|
||||
msgid "before uninstall of {app_id}"
|
||||
msgstr ""
|
||||
|
||||
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-06-19 20:15-0400\n"
|
||||
"POT-Creation-Date: 2023-07-31 20:04-0400\n"
|
||||
"PO-Revision-Date: 2022-09-14 17:19+0000\n"
|
||||
"Last-Translator: ikmaak <info@ikmaak.nl>\n"
|
||||
"Language-Team: Slovenian <https://hosted.weblate.org/projects/freedombox/"
|
||||
@ -29,7 +29,7 @@ msgstr ""
|
||||
msgid "Static configuration {etc_path} is setup properly"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/context_processors.py:23 plinth/views.py:92
|
||||
#: plinth/context_processors.py:23 plinth/views.py:94
|
||||
msgid "FreedomBox"
|
||||
msgstr "FreedomBox"
|
||||
|
||||
@ -940,7 +940,8 @@ msgstr ""
|
||||
|
||||
#: plinth/modules/bepasty/views.py:88 plinth/modules/searx/views.py:35
|
||||
#: plinth/modules/searx/views.py:46 plinth/modules/security/views.py:56
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/zoph/views.py:74
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/torproxy/views.py:71
|
||||
#: plinth/modules/zoph/views.py:74
|
||||
msgid "Configuration updated."
|
||||
msgstr ""
|
||||
|
||||
@ -2090,7 +2091,7 @@ msgstr ""
|
||||
msgid "Host/Target/Value"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:23
|
||||
#: plinth/modules/firewall/__init__.py:24
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Firewall is a security system that controls the incoming and outgoing "
|
||||
@ -2098,10 +2099,22 @@ msgid ""
|
||||
"configured reduces risk of security threat from the Internet."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:59
|
||||
#: plinth/modules/firewall/__init__.py:60
|
||||
msgid "Firewall"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:269
|
||||
msgid "Default zone is external"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:276
|
||||
msgid "Firewall backend is nftables"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:287
|
||||
msgid "Direct passthrough rules exist"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/components.py:134
|
||||
#, python-brace-format
|
||||
msgid "Port {name} ({details}) available for internal networks"
|
||||
@ -2699,7 +2712,8 @@ msgstr ""
|
||||
msgid "I2P"
|
||||
msgstr "I2P"
|
||||
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:49
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:61
|
||||
#: plinth/modules/torproxy/__init__.py:55
|
||||
msgid "Anonymity Network"
|
||||
msgstr ""
|
||||
|
||||
@ -4992,7 +5006,7 @@ msgstr ""
|
||||
msgid "Web Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/privoxy/__init__.py:113
|
||||
#: plinth/modules/privoxy/__init__.py:114
|
||||
#, python-brace-format
|
||||
msgid "Access {url} with proxy {proxy} on tcp{kind}"
|
||||
msgstr ""
|
||||
@ -6264,7 +6278,7 @@ msgstr ""
|
||||
msgid "File Synchronization"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:23
|
||||
#: plinth/modules/tor/__init__.py:31 plinth/modules/torproxy/__init__.py:27
|
||||
msgid ""
|
||||
"Tor is an anonymous communication system. You can learn more about it from "
|
||||
"the <a href=\"https://www.torproject.org/\">Tor Project</a> website. For "
|
||||
@ -6273,55 +6287,48 @@ msgid ""
|
||||
"en\">Tor Browser</a>."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:30
|
||||
#, python-brace-format
|
||||
#: plinth/modules/tor/__init__.py:37
|
||||
msgid ""
|
||||
"A Tor SOCKS port is available on your {box_name} for internal networks on "
|
||||
"TCP port 9050."
|
||||
"This app provides relay services to contribute to Tor network and help "
|
||||
"others overcome censorship."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:48
|
||||
#: plinth/modules/tor/__init__.py:40
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides an onion domain to expose {box_name} services via the Tor "
|
||||
"network. Using Tor browser, one can access {box_name} from the internet even "
|
||||
"when using an ISP that limits servers at home."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:60
|
||||
msgid "Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:65
|
||||
#: plinth/modules/tor/__init__.py:76
|
||||
msgid "Tor Onion Service"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:69
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:73
|
||||
#: plinth/modules/tor/__init__.py:80
|
||||
msgid "Tor Bridge Relay"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:132
|
||||
#: plinth/modules/tor/__init__.py:135
|
||||
msgid "Tor relay port available"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:143
|
||||
#: plinth/modules/tor/__init__.py:146
|
||||
msgid "Obfs3 transport registered"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:153
|
||||
#: plinth/modules/tor/__init__.py:156
|
||||
msgid "Obfs4 transport registered"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:165
|
||||
#: plinth/modules/tor/__init__.py:168
|
||||
msgid "Onion service is version 3"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:242
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:253
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:33
|
||||
msgid ""
|
||||
"Enter a valid bridge with this format: [transport] IP:ORPort [fingerprint]"
|
||||
@ -6349,11 +6356,11 @@ msgid ""
|
||||
"here. Currently supported transports are none, obfs3, obfs4 and scamblesuit."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:91
|
||||
#: plinth/modules/tor/forms.py:95
|
||||
msgid "Enable Tor relay"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:92
|
||||
#: plinth/modules/tor/forms.py:96
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"When enabled, your {box_name} will run a Tor relay and donate bandwidth to "
|
||||
@ -6361,22 +6368,22 @@ msgid ""
|
||||
"download bandwidth."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:97
|
||||
#: plinth/modules/tor/forms.py:101
|
||||
msgid "Enable Tor bridge relay"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:99
|
||||
#: plinth/modules/tor/forms.py:103
|
||||
msgid ""
|
||||
"When enabled, relay information is published in the Tor bridge database "
|
||||
"instead of public Tor relay database making it harder to censor this node. "
|
||||
"This helps others circumvent censorship."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:104
|
||||
#: plinth/modules/tor/forms.py:108
|
||||
msgid "Enable Tor Onion Service"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:106
|
||||
#: plinth/modules/tor/forms.py:110
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"An onion service will allow {box_name} to provide selected services (such as "
|
||||
@ -6384,26 +6391,15 @@ msgid ""
|
||||
"anonymity yet."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:111
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:112
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:127
|
||||
#: plinth/modules/tor/forms.py:125
|
||||
msgid "Specify at least one upstream bridge to use upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/manifest.py:15
|
||||
#: plinth/modules/tor/manifest.py:15 plinth/modules/torproxy/manifest.py:14
|
||||
msgid "Tor Browser"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/manifest.py:31
|
||||
#: plinth/modules/tor/manifest.py:31 plinth/modules/torproxy/manifest.py:30
|
||||
msgid "Orbot: Proxy with Tor"
|
||||
msgstr ""
|
||||
|
||||
@ -6415,18 +6411,58 @@ msgstr ""
|
||||
msgid "Ports"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/views.py:53
|
||||
#: plinth/modules/tor/views.py:53 plinth/modules/torproxy/views.py:51
|
||||
#, fuzzy
|
||||
#| msgid "Configuration updated"
|
||||
msgid "Updating configuration"
|
||||
msgstr "Konfiguracija je posodobljena"
|
||||
|
||||
#: plinth/modules/tor/views.py:70
|
||||
#: plinth/modules/tor/views.py:70 plinth/modules/torproxy/views.py:68
|
||||
#, fuzzy, python-brace-format
|
||||
#| msgid "Error installing application: {error}"
|
||||
msgid "Error configuring app: {error}"
|
||||
msgstr "Napaka ob nameščanju aplikacije: {error}"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:34
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides a web proxy on your {box_name} for internal networks on "
|
||||
"TCP port 9050 using the SOCKS protocol. This can be used by various apps to "
|
||||
"access the internet via the Tor network. ISP censorship can be circumvented "
|
||||
"using upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:54
|
||||
#, fuzzy
|
||||
#| msgid "I2P Proxy"
|
||||
msgid "Tor Proxy"
|
||||
msgstr "I2P Proxy"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:79
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:138
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:149
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:15
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:16
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/transmission/__init__.py:25
|
||||
msgid "Transmission is a BitTorrent client with a web interface."
|
||||
msgstr ""
|
||||
@ -6776,14 +6812,14 @@ msgstr ""
|
||||
msgid "Starting distribution upgrade test."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:29
|
||||
#: plinth/modules/users/__init__.py:30
|
||||
msgid ""
|
||||
"Create and manage user accounts. These accounts serve as centralized "
|
||||
"authentication mechanism for most apps. Some apps further require a user "
|
||||
"account to be part of a group to authorize the user to access the app."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:34
|
||||
#: plinth/modules/users/__init__.py:35
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Any user may login to {box_name} web interface to see a list of apps "
|
||||
@ -6791,19 +6827,29 @@ msgid ""
|
||||
"group may alter apps or system settings."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:55
|
||||
#: plinth/modules/users/__init__.py:56
|
||||
msgid "Users and Groups"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:80
|
||||
#: plinth/modules/users/__init__.py:81
|
||||
msgid "Access to all services and system settings"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:116
|
||||
#: plinth/modules/users/__init__.py:124
|
||||
#, python-brace-format
|
||||
msgid "Check LDAP entry \"{search_item}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:137
|
||||
#, python-brace-format
|
||||
msgid "Check nslcd config \"{key} {value}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:166
|
||||
#, python-brace-format
|
||||
msgid "Check nsswitch config \"{database}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/forms.py:35
|
||||
msgid "Username is taken or is reserved."
|
||||
msgstr ""
|
||||
@ -7926,7 +7972,11 @@ msgstr ""
|
||||
msgid "Backup"
|
||||
msgstr "Rezervne kopije"
|
||||
|
||||
#: plinth/templates/toolbar.html:51 plinth/templates/toolbar.html:52
|
||||
#: plinth/templates/toolbar.html:53
|
||||
msgid "Re-run setup"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/templates/toolbar.html:59 plinth/templates/toolbar.html:60
|
||||
#: plinth/templates/uninstall.html:30
|
||||
#, fuzzy
|
||||
#| msgid "Application installed."
|
||||
@ -7945,11 +7995,11 @@ msgid ""
|
||||
"installed freshly again."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/views.py:239
|
||||
#: plinth/views.py:241
|
||||
msgid "Setting unchanged"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/views.py:456
|
||||
#: plinth/views.py:478
|
||||
#, python-brace-format
|
||||
msgid "before uninstall of {app_id}"
|
||||
msgstr ""
|
||||
|
||||
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-06-19 20:15-0400\n"
|
||||
"POT-Creation-Date: 2023-07-31 20:04-0400\n"
|
||||
"PO-Revision-Date: 2023-02-25 11:36+0000\n"
|
||||
"Last-Translator: Besnik Bleta <besnik@programeshqip.org>\n"
|
||||
"Language-Team: Albanian <https://hosted.weblate.org/projects/freedombox/"
|
||||
@ -28,7 +28,7 @@ msgstr "Burim faqeje"
|
||||
msgid "Static configuration {etc_path} is setup properly"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/context_processors.py:23 plinth/views.py:92
|
||||
#: plinth/context_processors.py:23 plinth/views.py:94
|
||||
msgid "FreedomBox"
|
||||
msgstr "FreedomBox"
|
||||
|
||||
@ -907,7 +907,8 @@ msgstr "Përgjegjës"
|
||||
|
||||
#: plinth/modules/bepasty/views.py:88 plinth/modules/searx/views.py:35
|
||||
#: plinth/modules/searx/views.py:46 plinth/modules/security/views.py:56
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/zoph/views.py:74
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/torproxy/views.py:71
|
||||
#: plinth/modules/zoph/views.py:74
|
||||
msgid "Configuration updated."
|
||||
msgstr "Formësimi u përditësua."
|
||||
|
||||
@ -2158,7 +2159,7 @@ msgstr "Portë"
|
||||
msgid "Host/Target/Value"
|
||||
msgstr "Strehë/Objektiv/Vlerë"
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:23
|
||||
#: plinth/modules/firewall/__init__.py:24
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Firewall is a security system that controls the incoming and outgoing "
|
||||
@ -2169,10 +2170,22 @@ msgstr ""
|
||||
"në rrjet te {box_name} juaj. Mbajta e një firewall-i të aktivizuar dhe të "
|
||||
"formësuar si duhet ul rrezikun e kërcënimeve të sigurisë nga Interneti."
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:59
|
||||
#: plinth/modules/firewall/__init__.py:60
|
||||
msgid "Firewall"
|
||||
msgstr "Firewall"
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:269
|
||||
msgid "Default zone is external"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:276
|
||||
msgid "Firewall backend is nftables"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:287
|
||||
msgid "Direct passthrough rules exist"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/components.py:134
|
||||
#, python-brace-format
|
||||
msgid "Port {name} ({details}) available for internal networks"
|
||||
@ -2847,7 +2860,8 @@ msgstr "Administroni aplikacion I2P"
|
||||
msgid "I2P"
|
||||
msgstr "I2P"
|
||||
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:49
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:61
|
||||
#: plinth/modules/torproxy/__init__.py:55
|
||||
msgid "Anonymity Network"
|
||||
msgstr "Rrjet Anonimiteti"
|
||||
|
||||
@ -5502,7 +5516,7 @@ msgstr "Privoxy"
|
||||
msgid "Web Proxy"
|
||||
msgstr "Ndërmjetës Web"
|
||||
|
||||
#: plinth/modules/privoxy/__init__.py:113
|
||||
#: plinth/modules/privoxy/__init__.py:114
|
||||
#, python-brace-format
|
||||
msgid "Access {url} with proxy {proxy} on tcp{kind}"
|
||||
msgstr "Hapni {url} me ndërmjetësin {proxy} në tcp{kind}"
|
||||
@ -6964,7 +6978,7 @@ msgstr "Syncthing"
|
||||
msgid "File Synchronization"
|
||||
msgstr "Njëkohësim Kartelash"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:23
|
||||
#: plinth/modules/tor/__init__.py:31 plinth/modules/torproxy/__init__.py:27
|
||||
msgid ""
|
||||
"Tor is an anonymous communication system. You can learn more about it from "
|
||||
"the <a href=\"https://www.torproject.org/\">Tor Project</a> website. For "
|
||||
@ -6978,59 +6992,50 @@ msgstr ""
|
||||
"përdorni <a href=\"https://www.torproject.org/download/download-easy.html."
|
||||
"en\">Shfletuesin Tor</a>."
|
||||
|
||||
#: plinth/modules/tor/__init__.py:30
|
||||
#: plinth/modules/tor/__init__.py:37
|
||||
msgid ""
|
||||
"This app provides relay services to contribute to Tor network and help "
|
||||
"others overcome censorship."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:40
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"A Tor SOCKS port is available on your {box_name} for internal networks on "
|
||||
"TCP port 9050."
|
||||
"This app provides an onion domain to expose {box_name} services via the Tor "
|
||||
"network. Using Tor browser, one can access {box_name} from the internet even "
|
||||
"when using an ISP that limits servers at home."
|
||||
msgstr ""
|
||||
"Një portë SOCKS Tor-i për rrjete të brendshëm në {box_name} tuaj gjendet në "
|
||||
"portën TCP 9050."
|
||||
|
||||
#: plinth/modules/tor/__init__.py:48
|
||||
#: plinth/modules/tor/__init__.py:60
|
||||
msgid "Tor"
|
||||
msgstr "Tor"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:65
|
||||
#: plinth/modules/tor/__init__.py:76
|
||||
msgid "Tor Onion Service"
|
||||
msgstr "Shërbim Onion Tor"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:69
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr "Ndërmjetës SOCKS Tor"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:73
|
||||
#: plinth/modules/tor/__init__.py:80
|
||||
msgid "Tor Bridge Relay"
|
||||
msgstr "Rele Ure Tor"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:132
|
||||
#: plinth/modules/tor/__init__.py:135
|
||||
msgid "Tor relay port available"
|
||||
msgstr "Portë releje Tor e gatshme"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:143
|
||||
#: plinth/modules/tor/__init__.py:146
|
||||
msgid "Obfs3 transport registered"
|
||||
msgstr "U regjistruar transport Obfs3"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:153
|
||||
#: plinth/modules/tor/__init__.py:156
|
||||
msgid "Obfs4 transport registered"
|
||||
msgstr "U regjistruar transport Obfs3"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:165
|
||||
#: plinth/modules/tor/__init__.py:168
|
||||
#, fuzzy
|
||||
#| msgid "Onion Service"
|
||||
msgid "Onion service is version 3"
|
||||
msgstr "Shërbim Onion"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:242
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr "URL hyrjesh {url} në tcp{kind} përmes Tor-i"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:253
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr "Ripohoni përdorim Tor-i te {url} në tcp{kind}"
|
||||
|
||||
#: plinth/modules/tor/forms.py:33
|
||||
msgid ""
|
||||
"Enter a valid bridge with this format: [transport] IP:ORPort [fingerprint]"
|
||||
@ -7068,11 +7073,11 @@ msgstr ""
|
||||
"em>obfs3</em>, <em>obfs4</em> dhe <em>"
|
||||
"scamblesuit</em>."
|
||||
|
||||
#: plinth/modules/tor/forms.py:91
|
||||
#: plinth/modules/tor/forms.py:95
|
||||
msgid "Enable Tor relay"
|
||||
msgstr "Aktivizo rele Tor"
|
||||
|
||||
#: plinth/modules/tor/forms.py:92
|
||||
#: plinth/modules/tor/forms.py:96
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"When enabled, your {box_name} will run a Tor relay and donate bandwidth to "
|
||||
@ -7083,11 +7088,11 @@ msgstr ""
|
||||
"dhurojë gjerësi bande për rrjetin Tor. Bëjeni këtë nëse keni gjerësi bande "
|
||||
"ngarkimesh dhe shkarkimesh më tepër se 2 megabite/s."
|
||||
|
||||
#: plinth/modules/tor/forms.py:97
|
||||
#: plinth/modules/tor/forms.py:101
|
||||
msgid "Enable Tor bridge relay"
|
||||
msgstr "Aktivizo rele ure Tor"
|
||||
|
||||
#: plinth/modules/tor/forms.py:99
|
||||
#: plinth/modules/tor/forms.py:103
|
||||
msgid ""
|
||||
"When enabled, relay information is published in the Tor bridge database "
|
||||
"instead of public Tor relay database making it harder to censor this node. "
|
||||
@ -7098,13 +7103,13 @@ msgstr ""
|
||||
"më të vështirë censurimin e kësaj nyjeje. Kjo i ndihmon të tjerët të "
|
||||
"anashkalojnë censurimin."
|
||||
|
||||
#: plinth/modules/tor/forms.py:104
|
||||
#: plinth/modules/tor/forms.py:108
|
||||
#, fuzzy
|
||||
#| msgid "Enable Tor Hidden Service"
|
||||
msgid "Enable Tor Onion Service"
|
||||
msgstr "Aktivizo Shërbim Tor të Fshehur"
|
||||
|
||||
#: plinth/modules/tor/forms.py:106
|
||||
#: plinth/modules/tor/forms.py:110
|
||||
#, fuzzy, python-brace-format
|
||||
#| msgid ""
|
||||
#| "A hidden service will allow {box_name} to provide selected services (such "
|
||||
@ -7119,30 +7124,16 @@ msgstr ""
|
||||
"përzgjedhura (bie fjala, wiki, ose fjalosje) pa treguar vendndodhjen e tyre. "
|
||||
"Mos e përdorni këtë ende për anonimitet të fortë."
|
||||
|
||||
#: plinth/modules/tor/forms.py:111
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr "Shkarkoni paketa software përmes Tor-i"
|
||||
|
||||
#: plinth/modules/tor/forms.py:112
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
"Kur aktivizohet, për instalime dhe përmirësime software-i do të shkarkohet "
|
||||
"përmes rrjeti Tor. Kjo shton një shkallë privatësie dhe sigurie gjatë "
|
||||
"shkarkimit të software-it."
|
||||
|
||||
#: plinth/modules/tor/forms.py:127
|
||||
#: plinth/modules/tor/forms.py:125
|
||||
msgid "Specify at least one upstream bridge to use upstream bridges."
|
||||
msgstr ""
|
||||
"Që të përdoren ura “upstream”, përcaktoni të paktën një urë “upstream”."
|
||||
|
||||
#: plinth/modules/tor/manifest.py:15
|
||||
#: plinth/modules/tor/manifest.py:15 plinth/modules/torproxy/manifest.py:14
|
||||
msgid "Tor Browser"
|
||||
msgstr "Shfletuesi Tor"
|
||||
|
||||
#: plinth/modules/tor/manifest.py:31
|
||||
#: plinth/modules/tor/manifest.py:31 plinth/modules/torproxy/manifest.py:30
|
||||
msgid "Orbot: Proxy with Tor"
|
||||
msgstr "Orbot: Ndërmjetës me Tor"
|
||||
|
||||
@ -7154,15 +7145,58 @@ msgstr "Shërbim Onion"
|
||||
msgid "Ports"
|
||||
msgstr "Porta"
|
||||
|
||||
#: plinth/modules/tor/views.py:53
|
||||
#: plinth/modules/tor/views.py:53 plinth/modules/torproxy/views.py:51
|
||||
msgid "Updating configuration"
|
||||
msgstr "Po përditësohet formësimi"
|
||||
|
||||
#: plinth/modules/tor/views.py:70
|
||||
#: plinth/modules/tor/views.py:70 plinth/modules/torproxy/views.py:68
|
||||
#, python-brace-format
|
||||
msgid "Error configuring app: {error}"
|
||||
msgstr "Gabim në formësimin e aplikacionit: {error}"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:34
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides a web proxy on your {box_name} for internal networks on "
|
||||
"TCP port 9050 using the SOCKS protocol. This can be used by various apps to "
|
||||
"access the internet via the Tor network. ISP censorship can be circumvented "
|
||||
"using upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:54
|
||||
#, fuzzy
|
||||
#| msgid "Tor Socks Proxy"
|
||||
msgid "Tor Proxy"
|
||||
msgstr "Ndërmjetës SOCKS Tor"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:79
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr "Ndërmjetës SOCKS Tor"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:138
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr "URL hyrjesh {url} në tcp{kind} përmes Tor-i"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:149
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr "Ripohoni përdorim Tor-i te {url} në tcp{kind}"
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:15
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr "Shkarkoni paketa software përmes Tor-i"
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:16
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
"Kur aktivizohet, për instalime dhe përmirësime software-i do të shkarkohet "
|
||||
"përmes rrjeti Tor. Kjo shton një shkallë privatësie dhe sigurie gjatë "
|
||||
"shkarkimit të software-it."
|
||||
|
||||
#: plinth/modules/transmission/__init__.py:25
|
||||
msgid "Transmission is a BitTorrent client with a web interface."
|
||||
msgstr "Transmission është një klient BitTorrent me një ndërfaqe web."
|
||||
@ -7557,7 +7591,7 @@ msgstr "Përditësime të shpeshta veçorish të aktivizuara."
|
||||
msgid "Starting distribution upgrade test."
|
||||
msgstr "Po fillohet provë përmirësimi shpërndarjeje."
|
||||
|
||||
#: plinth/modules/users/__init__.py:29
|
||||
#: plinth/modules/users/__init__.py:30
|
||||
msgid ""
|
||||
"Create and manage user accounts. These accounts serve as centralized "
|
||||
"authentication mechanism for most apps. Some apps further require a user "
|
||||
@ -7568,7 +7602,7 @@ msgstr ""
|
||||
"aplikacione kërkojnë doemos një llogari përdoruesi, për të qenë pjesë e një "
|
||||
"grupi që autorizon përdoruesin të përdorë aplikacionin."
|
||||
|
||||
#: plinth/modules/users/__init__.py:34
|
||||
#: plinth/modules/users/__init__.py:35
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Any user may login to {box_name} web interface to see a list of apps "
|
||||
@ -7580,19 +7614,29 @@ msgstr ""
|
||||
"vetëm përdoruesit e grupit <em>përgjegjës</em> mund të ndryshojnë "
|
||||
"aplikacionet, apo rregullimet e sistemit."
|
||||
|
||||
#: plinth/modules/users/__init__.py:55
|
||||
#: plinth/modules/users/__init__.py:56
|
||||
msgid "Users and Groups"
|
||||
msgstr "Përdorues dhe Grupe"
|
||||
|
||||
#: plinth/modules/users/__init__.py:80
|
||||
#: plinth/modules/users/__init__.py:81
|
||||
msgid "Access to all services and system settings"
|
||||
msgstr "Hyrje te krejt shërbimet dhe rregullime të sistemit"
|
||||
|
||||
#: plinth/modules/users/__init__.py:116
|
||||
#: plinth/modules/users/__init__.py:124
|
||||
#, python-brace-format
|
||||
msgid "Check LDAP entry \"{search_item}\""
|
||||
msgstr "Kontrolloni zërin LDAP \"{search_item}\""
|
||||
|
||||
#: plinth/modules/users/__init__.py:137
|
||||
#, python-brace-format
|
||||
msgid "Check nslcd config \"{key} {value}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:166
|
||||
#, python-brace-format
|
||||
msgid "Check nsswitch config \"{database}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/forms.py:35
|
||||
msgid "Username is taken or is reserved."
|
||||
msgstr "Emri i përdoruesit është i zënë, ose i rezervuar."
|
||||
@ -8791,7 +8835,11 @@ msgstr "Përditësoje"
|
||||
msgid "Backup"
|
||||
msgstr "Kopjeruajtje"
|
||||
|
||||
#: plinth/templates/toolbar.html:51 plinth/templates/toolbar.html:52
|
||||
#: plinth/templates/toolbar.html:53
|
||||
msgid "Re-run setup"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/templates/toolbar.html:59 plinth/templates/toolbar.html:60
|
||||
#: plinth/templates/uninstall.html:30
|
||||
msgid "Uninstall"
|
||||
msgstr "Çinstaloje"
|
||||
@ -8809,11 +8857,11 @@ msgstr ""
|
||||
"Krejt të dhënat dhe formësimi i aplikacionit do të humbin përgjithnjë. "
|
||||
"Aplikacioni mund të instalohet sërish nga e para."
|
||||
|
||||
#: plinth/views.py:239
|
||||
#: plinth/views.py:241
|
||||
msgid "Setting unchanged"
|
||||
msgstr "Rregullim i pandryshuar"
|
||||
|
||||
#: plinth/views.py:456
|
||||
#: plinth/views.py:478
|
||||
#, python-brace-format
|
||||
msgid "before uninstall of {app_id}"
|
||||
msgstr "para çinstalimit të {app_id}"
|
||||
@ -8822,6 +8870,14 @@ msgstr "para çinstalimit të {app_id}"
|
||||
msgid "Gujarati"
|
||||
msgstr "Gujaratase"
|
||||
|
||||
#, python-brace-format
|
||||
#~ msgid ""
|
||||
#~ "A Tor SOCKS port is available on your {box_name} for internal networks on "
|
||||
#~ "TCP port 9050."
|
||||
#~ msgstr ""
|
||||
#~ "Një portë SOCKS Tor-i për rrjete të brendshëm në {box_name} tuaj gjendet "
|
||||
#~ "në portën TCP 9050."
|
||||
|
||||
#, python-brace-format
|
||||
#~ msgid ""
|
||||
#~ "When enabled, text box for server input is removed from login page and "
|
||||
|
||||
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-06-19 20:15-0400\n"
|
||||
"POT-Creation-Date: 2023-07-31 20:04-0400\n"
|
||||
"PO-Revision-Date: 2022-09-14 17:20+0000\n"
|
||||
"Last-Translator: ikmaak <info@ikmaak.nl>\n"
|
||||
"Language-Team: Serbian <https://hosted.weblate.org/projects/freedombox/"
|
||||
@ -29,7 +29,7 @@ msgstr "Izvorna stranica"
|
||||
msgid "Static configuration {etc_path} is setup properly"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/context_processors.py:23 plinth/views.py:92
|
||||
#: plinth/context_processors.py:23 plinth/views.py:94
|
||||
msgid "FreedomBox"
|
||||
msgstr "KutijaSlobode"
|
||||
|
||||
@ -898,7 +898,8 @@ msgstr ""
|
||||
|
||||
#: plinth/modules/bepasty/views.py:88 plinth/modules/searx/views.py:35
|
||||
#: plinth/modules/searx/views.py:46 plinth/modules/security/views.py:56
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/zoph/views.py:74
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/torproxy/views.py:71
|
||||
#: plinth/modules/zoph/views.py:74
|
||||
msgid "Configuration updated."
|
||||
msgstr ""
|
||||
|
||||
@ -2010,7 +2011,7 @@ msgstr ""
|
||||
msgid "Host/Target/Value"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:23
|
||||
#: plinth/modules/firewall/__init__.py:24
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Firewall is a security system that controls the incoming and outgoing "
|
||||
@ -2018,10 +2019,22 @@ msgid ""
|
||||
"configured reduces risk of security threat from the Internet."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:59
|
||||
#: plinth/modules/firewall/__init__.py:60
|
||||
msgid "Firewall"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:269
|
||||
msgid "Default zone is external"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:276
|
||||
msgid "Firewall backend is nftables"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:287
|
||||
msgid "Direct passthrough rules exist"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/components.py:134
|
||||
#, python-brace-format
|
||||
msgid "Port {name} ({details}) available for internal networks"
|
||||
@ -2594,7 +2607,8 @@ msgstr ""
|
||||
msgid "I2P"
|
||||
msgstr "I2P"
|
||||
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:49
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:61
|
||||
#: plinth/modules/torproxy/__init__.py:55
|
||||
msgid "Anonymity Network"
|
||||
msgstr ""
|
||||
|
||||
@ -4878,7 +4892,7 @@ msgstr ""
|
||||
msgid "Web Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/privoxy/__init__.py:113
|
||||
#: plinth/modules/privoxy/__init__.py:114
|
||||
#, python-brace-format
|
||||
msgid "Access {url} with proxy {proxy} on tcp{kind}"
|
||||
msgstr ""
|
||||
@ -6138,7 +6152,7 @@ msgstr ""
|
||||
msgid "File Synchronization"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:23
|
||||
#: plinth/modules/tor/__init__.py:31 plinth/modules/torproxy/__init__.py:27
|
||||
msgid ""
|
||||
"Tor is an anonymous communication system. You can learn more about it from "
|
||||
"the <a href=\"https://www.torproject.org/\">Tor Project</a> website. For "
|
||||
@ -6147,55 +6161,48 @@ msgid ""
|
||||
"en\">Tor Browser</a>."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:30
|
||||
#, python-brace-format
|
||||
#: plinth/modules/tor/__init__.py:37
|
||||
msgid ""
|
||||
"A Tor SOCKS port is available on your {box_name} for internal networks on "
|
||||
"TCP port 9050."
|
||||
"This app provides relay services to contribute to Tor network and help "
|
||||
"others overcome censorship."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:48
|
||||
#: plinth/modules/tor/__init__.py:40
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides an onion domain to expose {box_name} services via the Tor "
|
||||
"network. Using Tor browser, one can access {box_name} from the internet even "
|
||||
"when using an ISP that limits servers at home."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:60
|
||||
msgid "Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:65
|
||||
#: plinth/modules/tor/__init__.py:76
|
||||
msgid "Tor Onion Service"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:69
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:73
|
||||
#: plinth/modules/tor/__init__.py:80
|
||||
msgid "Tor Bridge Relay"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:132
|
||||
#: plinth/modules/tor/__init__.py:135
|
||||
msgid "Tor relay port available"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:143
|
||||
#: plinth/modules/tor/__init__.py:146
|
||||
msgid "Obfs3 transport registered"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:153
|
||||
#: plinth/modules/tor/__init__.py:156
|
||||
msgid "Obfs4 transport registered"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:165
|
||||
#: plinth/modules/tor/__init__.py:168
|
||||
msgid "Onion service is version 3"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:242
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:253
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:33
|
||||
msgid ""
|
||||
"Enter a valid bridge with this format: [transport] IP:ORPort [fingerprint]"
|
||||
@ -6223,11 +6230,11 @@ msgid ""
|
||||
"here. Currently supported transports are none, obfs3, obfs4 and scamblesuit."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:91
|
||||
#: plinth/modules/tor/forms.py:95
|
||||
msgid "Enable Tor relay"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:92
|
||||
#: plinth/modules/tor/forms.py:96
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"When enabled, your {box_name} will run a Tor relay and donate bandwidth to "
|
||||
@ -6235,22 +6242,22 @@ msgid ""
|
||||
"download bandwidth."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:97
|
||||
#: plinth/modules/tor/forms.py:101
|
||||
msgid "Enable Tor bridge relay"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:99
|
||||
#: plinth/modules/tor/forms.py:103
|
||||
msgid ""
|
||||
"When enabled, relay information is published in the Tor bridge database "
|
||||
"instead of public Tor relay database making it harder to censor this node. "
|
||||
"This helps others circumvent censorship."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:104
|
||||
#: plinth/modules/tor/forms.py:108
|
||||
msgid "Enable Tor Onion Service"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:106
|
||||
#: plinth/modules/tor/forms.py:110
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"An onion service will allow {box_name} to provide selected services (such as "
|
||||
@ -6258,26 +6265,15 @@ msgid ""
|
||||
"anonymity yet."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:111
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:112
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:127
|
||||
#: plinth/modules/tor/forms.py:125
|
||||
msgid "Specify at least one upstream bridge to use upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/manifest.py:15
|
||||
#: plinth/modules/tor/manifest.py:15 plinth/modules/torproxy/manifest.py:14
|
||||
msgid "Tor Browser"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/manifest.py:31
|
||||
#: plinth/modules/tor/manifest.py:31 plinth/modules/torproxy/manifest.py:30
|
||||
msgid "Orbot: Proxy with Tor"
|
||||
msgstr ""
|
||||
|
||||
@ -6289,18 +6285,58 @@ msgstr ""
|
||||
msgid "Ports"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/views.py:53
|
||||
#: plinth/modules/tor/views.py:53 plinth/modules/torproxy/views.py:51
|
||||
#, fuzzy
|
||||
#| msgid "Configuration updated"
|
||||
msgid "Updating configuration"
|
||||
msgstr "Konfiguracija sačuvana"
|
||||
|
||||
#: plinth/modules/tor/views.py:70
|
||||
#: plinth/modules/tor/views.py:70 plinth/modules/torproxy/views.py:68
|
||||
#, fuzzy, python-brace-format
|
||||
#| msgid "Error installing application: {error}"
|
||||
msgid "Error configuring app: {error}"
|
||||
msgstr "Greška prilikom instaliranja aplikacije: {error}"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:34
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides a web proxy on your {box_name} for internal networks on "
|
||||
"TCP port 9050 using the SOCKS protocol. This can be used by various apps to "
|
||||
"access the internet via the Tor network. ISP censorship can be circumvented "
|
||||
"using upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:54
|
||||
#, fuzzy
|
||||
#| msgid "I2P Proxy"
|
||||
msgid "Tor Proxy"
|
||||
msgstr "I2P Proxy"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:79
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:138
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:149
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:15
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:16
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/transmission/__init__.py:25
|
||||
msgid "Transmission is a BitTorrent client with a web interface."
|
||||
msgstr ""
|
||||
@ -6636,14 +6672,14 @@ msgstr ""
|
||||
msgid "Starting distribution upgrade test."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:29
|
||||
#: plinth/modules/users/__init__.py:30
|
||||
msgid ""
|
||||
"Create and manage user accounts. These accounts serve as centralized "
|
||||
"authentication mechanism for most apps. Some apps further require a user "
|
||||
"account to be part of a group to authorize the user to access the app."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:34
|
||||
#: plinth/modules/users/__init__.py:35
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Any user may login to {box_name} web interface to see a list of apps "
|
||||
@ -6651,19 +6687,29 @@ msgid ""
|
||||
"group may alter apps or system settings."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:55
|
||||
#: plinth/modules/users/__init__.py:56
|
||||
msgid "Users and Groups"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:80
|
||||
#: plinth/modules/users/__init__.py:81
|
||||
msgid "Access to all services and system settings"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:116
|
||||
#: plinth/modules/users/__init__.py:124
|
||||
#, python-brace-format
|
||||
msgid "Check LDAP entry \"{search_item}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:137
|
||||
#, python-brace-format
|
||||
msgid "Check nslcd config \"{key} {value}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:166
|
||||
#, python-brace-format
|
||||
msgid "Check nsswitch config \"{database}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/forms.py:35
|
||||
msgid "Username is taken or is reserved."
|
||||
msgstr ""
|
||||
@ -7747,7 +7793,11 @@ msgstr ""
|
||||
msgid "Backup"
|
||||
msgstr "Sigurnosne kopije"
|
||||
|
||||
#: plinth/templates/toolbar.html:51 plinth/templates/toolbar.html:52
|
||||
#: plinth/templates/toolbar.html:53
|
||||
msgid "Re-run setup"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/templates/toolbar.html:59 plinth/templates/toolbar.html:60
|
||||
#: plinth/templates/uninstall.html:30
|
||||
#, fuzzy
|
||||
#| msgid "Application installed."
|
||||
@ -7765,11 +7815,11 @@ msgid ""
|
||||
"installed freshly again."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/views.py:239
|
||||
#: plinth/views.py:241
|
||||
msgid "Setting unchanged"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/views.py:456
|
||||
#: plinth/views.py:478
|
||||
#, python-brace-format
|
||||
msgid "before uninstall of {app_id}"
|
||||
msgstr ""
|
||||
|
||||
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-06-19 20:15-0400\n"
|
||||
"POT-Creation-Date: 2023-07-31 20:04-0400\n"
|
||||
"PO-Revision-Date: 2023-02-26 18:38+0000\n"
|
||||
"Last-Translator: Michael Breidenbach <leahc@tutanota.com>\n"
|
||||
"Language-Team: Swedish <https://hosted.weblate.org/projects/freedombox/"
|
||||
@ -28,7 +28,7 @@ msgstr "Sidkälla"
|
||||
msgid "Static configuration {etc_path} is setup properly"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/context_processors.py:23 plinth/views.py:92
|
||||
#: plinth/context_processors.py:23 plinth/views.py:94
|
||||
msgid "FreedomBox"
|
||||
msgstr "FreedomBox"
|
||||
|
||||
@ -910,7 +910,8 @@ msgstr "Admin"
|
||||
|
||||
#: plinth/modules/bepasty/views.py:88 plinth/modules/searx/views.py:35
|
||||
#: plinth/modules/searx/views.py:46 plinth/modules/security/views.py:56
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/zoph/views.py:74
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/torproxy/views.py:71
|
||||
#: plinth/modules/zoph/views.py:74
|
||||
msgid "Configuration updated."
|
||||
msgstr "Konfiguration uppdaterad."
|
||||
|
||||
@ -2140,7 +2141,7 @@ msgstr "Port"
|
||||
msgid "Host/Target/Value"
|
||||
msgstr "Värd/Mål/Värde"
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:23
|
||||
#: plinth/modules/firewall/__init__.py:24
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Firewall is a security system that controls the incoming and outgoing "
|
||||
@ -2151,10 +2152,22 @@ msgstr ""
|
||||
"nätverkstrafiken på din {box_name}. Att ha en brandvägg aktiverad och "
|
||||
"korrekt konfigurerad minskar risken för säkerhetshot från Internet."
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:59
|
||||
#: plinth/modules/firewall/__init__.py:60
|
||||
msgid "Firewall"
|
||||
msgstr "Brandvägg"
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:269
|
||||
msgid "Default zone is external"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:276
|
||||
msgid "Firewall backend is nftables"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:287
|
||||
msgid "Direct passthrough rules exist"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/components.py:134
|
||||
#, python-brace-format
|
||||
msgid "Port {name} ({details}) available for internal networks"
|
||||
@ -2827,7 +2840,8 @@ msgstr "Hantera I2P appen"
|
||||
msgid "I2P"
|
||||
msgstr "I2P"
|
||||
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:49
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:61
|
||||
#: plinth/modules/torproxy/__init__.py:55
|
||||
msgid "Anonymity Network"
|
||||
msgstr "Anonymitetsnätverk"
|
||||
|
||||
@ -5454,7 +5468,7 @@ msgstr "Privoxy"
|
||||
msgid "Web Proxy"
|
||||
msgstr "Webbproxy"
|
||||
|
||||
#: plinth/modules/privoxy/__init__.py:113
|
||||
#: plinth/modules/privoxy/__init__.py:114
|
||||
#, python-brace-format
|
||||
msgid "Access {url} with proxy {proxy} on tcp{kind}"
|
||||
msgstr "Anslut till {url} med proxy {proxy} på TCP {kind}"
|
||||
@ -6897,7 +6911,7 @@ msgstr "Syncthing"
|
||||
msgid "File Synchronization"
|
||||
msgstr "Filsynkronisering"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:23
|
||||
#: plinth/modules/tor/__init__.py:31 plinth/modules/torproxy/__init__.py:27
|
||||
msgid ""
|
||||
"Tor is an anonymous communication system. You can learn more about it from "
|
||||
"the <a href=\"https://www.torproject.org/\">Tor Project</a> website. For "
|
||||
@ -6911,59 +6925,50 @@ msgstr ""
|
||||
"använder <a href=\"https://www.torproject.org/download/download-easy.html."
|
||||
"en\">TOR Browser</a>."
|
||||
|
||||
#: plinth/modules/tor/__init__.py:30
|
||||
#: plinth/modules/tor/__init__.py:37
|
||||
msgid ""
|
||||
"This app provides relay services to contribute to Tor network and help "
|
||||
"others overcome censorship."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:40
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"A Tor SOCKS port is available on your {box_name} for internal networks on "
|
||||
"TCP port 9050."
|
||||
"This app provides an onion domain to expose {box_name} services via the Tor "
|
||||
"network. Using Tor browser, one can access {box_name} from the internet even "
|
||||
"when using an ISP that limits servers at home."
|
||||
msgstr ""
|
||||
"En Tor SOCKS-port finns tillgängligt på din {box_name} för interna nätverk "
|
||||
"på TCP-port 9050."
|
||||
|
||||
#: plinth/modules/tor/__init__.py:48
|
||||
#: plinth/modules/tor/__init__.py:60
|
||||
msgid "Tor"
|
||||
msgstr "Tor"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:65
|
||||
#: plinth/modules/tor/__init__.py:76
|
||||
msgid "Tor Onion Service"
|
||||
msgstr "Tor Onion service"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:69
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr "Tor SOCKS-proxy"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:73
|
||||
#: plinth/modules/tor/__init__.py:80
|
||||
msgid "Tor Bridge Relay"
|
||||
msgstr "Tor Bridge Relay"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:132
|
||||
#: plinth/modules/tor/__init__.py:135
|
||||
msgid "Tor relay port available"
|
||||
msgstr "Tor relä port tillgänglig"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:143
|
||||
#: plinth/modules/tor/__init__.py:146
|
||||
msgid "Obfs3 transport registered"
|
||||
msgstr "Obfs3 transport registrerad"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:153
|
||||
#: plinth/modules/tor/__init__.py:156
|
||||
msgid "Obfs4 transport registered"
|
||||
msgstr "Obfs4 transport registrerad"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:165
|
||||
#: plinth/modules/tor/__init__.py:168
|
||||
#, fuzzy
|
||||
#| msgid "Onion Service"
|
||||
msgid "Onion service is version 3"
|
||||
msgstr "Onion tjänst"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:242
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr "Tillgång URL {url} på TCP {kind} via Tor"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:253
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr "Bekräfta Tor-användning vid {url} på TCP {kind}"
|
||||
|
||||
#: plinth/modules/tor/forms.py:33
|
||||
msgid ""
|
||||
"Enter a valid bridge with this format: [transport] IP:ORPort [fingerprint]"
|
||||
@ -7001,11 +7006,11 @@ msgstr ""
|
||||
"informationen här. För närvarande stöds transporter är ingen, obfs3, obfs4 "
|
||||
"och scamblesuit."
|
||||
|
||||
#: plinth/modules/tor/forms.py:91
|
||||
#: plinth/modules/tor/forms.py:95
|
||||
msgid "Enable Tor relay"
|
||||
msgstr "Aktivera Tor Relay"
|
||||
|
||||
#: plinth/modules/tor/forms.py:92
|
||||
#: plinth/modules/tor/forms.py:96
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"When enabled, your {box_name} will run a Tor relay and donate bandwidth to "
|
||||
@ -7016,11 +7021,11 @@ msgstr ""
|
||||
"bandbredd till Tor-nätverket. Gör detta om du har mer än 2 megabits/s av "
|
||||
"uppladdning och nedladdning bandbredd."
|
||||
|
||||
#: plinth/modules/tor/forms.py:97
|
||||
#: plinth/modules/tor/forms.py:101
|
||||
msgid "Enable Tor bridge relay"
|
||||
msgstr "Aktivera Tor Bridge Relay"
|
||||
|
||||
#: plinth/modules/tor/forms.py:99
|
||||
#: plinth/modules/tor/forms.py:103
|
||||
msgid ""
|
||||
"When enabled, relay information is published in the Tor bridge database "
|
||||
"instead of public Tor relay database making it harder to censor this node. "
|
||||
@ -7030,13 +7035,13 @@ msgstr ""
|
||||
"stället för public Tor Relay-databasen, vilket gör det svårare att censurera "
|
||||
"den här noden. Detta hjälper andra att kringgå censur."
|
||||
|
||||
#: plinth/modules/tor/forms.py:104
|
||||
#: plinth/modules/tor/forms.py:108
|
||||
#, fuzzy
|
||||
#| msgid "Enable Tor Hidden Service"
|
||||
msgid "Enable Tor Onion Service"
|
||||
msgstr "Aktivera Tor Hidden service"
|
||||
|
||||
#: plinth/modules/tor/forms.py:106
|
||||
#: plinth/modules/tor/forms.py:110
|
||||
#, fuzzy, python-brace-format
|
||||
#| msgid ""
|
||||
#| "A hidden service will allow {box_name} to provide selected services (such "
|
||||
@ -7051,29 +7056,15 @@ msgstr ""
|
||||
"tjänster (till exempel wiki eller chatt) utan att avslöja dess plats. Använd "
|
||||
"inte detta för stark anonymitet ännu."
|
||||
|
||||
#: plinth/modules/tor/forms.py:111
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr "Ladda ner mjukvarupaket över Tor"
|
||||
|
||||
#: plinth/modules/tor/forms.py:112
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
"När den är aktiverad kommer programvara att laddas ner via Tor-nätverket för "
|
||||
"installationer och uppgraderingar. Detta ger en viss grad av integritet och "
|
||||
"säkerhet under Programnedladdningar."
|
||||
|
||||
#: plinth/modules/tor/forms.py:127
|
||||
#: plinth/modules/tor/forms.py:125
|
||||
msgid "Specify at least one upstream bridge to use upstream bridges."
|
||||
msgstr "Ange minst en uppströms bro för att använda uppströms broar."
|
||||
|
||||
#: plinth/modules/tor/manifest.py:15
|
||||
#: plinth/modules/tor/manifest.py:15 plinth/modules/torproxy/manifest.py:14
|
||||
msgid "Tor Browser"
|
||||
msgstr "TOR Browser"
|
||||
|
||||
#: plinth/modules/tor/manifest.py:31
|
||||
#: plinth/modules/tor/manifest.py:31 plinth/modules/torproxy/manifest.py:30
|
||||
msgid "Orbot: Proxy with Tor"
|
||||
msgstr "Orbot: proxy med Tor"
|
||||
|
||||
@ -7085,15 +7076,58 @@ msgstr "Onion tjänst"
|
||||
msgid "Ports"
|
||||
msgstr "Portar"
|
||||
|
||||
#: plinth/modules/tor/views.py:53
|
||||
#: plinth/modules/tor/views.py:53 plinth/modules/torproxy/views.py:51
|
||||
msgid "Updating configuration"
|
||||
msgstr "Uppdatera konfigurationen"
|
||||
|
||||
#: plinth/modules/tor/views.py:70
|
||||
#: plinth/modules/tor/views.py:70 plinth/modules/torproxy/views.py:68
|
||||
#, python-brace-format
|
||||
msgid "Error configuring app: {error}"
|
||||
msgstr "Fel vid konfigurering av appen: {error}"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:34
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides a web proxy on your {box_name} for internal networks on "
|
||||
"TCP port 9050 using the SOCKS protocol. This can be used by various apps to "
|
||||
"access the internet via the Tor network. ISP censorship can be circumvented "
|
||||
"using upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:54
|
||||
#, fuzzy
|
||||
#| msgid "Tor Socks Proxy"
|
||||
msgid "Tor Proxy"
|
||||
msgstr "Tor SOCKS-proxy"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:79
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr "Tor SOCKS-proxy"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:138
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr "Tillgång URL {url} på TCP {kind} via Tor"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:149
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr "Bekräfta Tor-användning vid {url} på TCP {kind}"
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:15
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr "Ladda ner mjukvarupaket över Tor"
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:16
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
"När den är aktiverad kommer programvara att laddas ner via Tor-nätverket för "
|
||||
"installationer och uppgraderingar. Detta ger en viss grad av integritet och "
|
||||
"säkerhet under Programnedladdningar."
|
||||
|
||||
#: plinth/modules/transmission/__init__.py:25
|
||||
msgid "Transmission is a BitTorrent client with a web interface."
|
||||
msgstr ""
|
||||
@ -7483,7 +7517,7 @@ msgstr "Frekventa funktionsuppdateringar aktiverade."
|
||||
msgid "Starting distribution upgrade test."
|
||||
msgstr "Startar distributionsuppgraderingstest."
|
||||
|
||||
#: plinth/modules/users/__init__.py:29
|
||||
#: plinth/modules/users/__init__.py:30
|
||||
msgid ""
|
||||
"Create and manage user accounts. These accounts serve as centralized "
|
||||
"authentication mechanism for most apps. Some apps further require a user "
|
||||
@ -7494,7 +7528,7 @@ msgstr ""
|
||||
"ett användarkonto för att vara en del av en grupp för att auktorisera "
|
||||
"användaren att komma åt appen."
|
||||
|
||||
#: plinth/modules/users/__init__.py:34
|
||||
#: plinth/modules/users/__init__.py:35
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Any user may login to {box_name} web interface to see a list of apps "
|
||||
@ -7505,19 +7539,29 @@ msgstr ""
|
||||
"över appar som är relevanta för dem på startsidan. Endast användare av "
|
||||
"gruppen <em>admin</em> kan dock ändra appar eller Systeminställningar."
|
||||
|
||||
#: plinth/modules/users/__init__.py:55
|
||||
#: plinth/modules/users/__init__.py:56
|
||||
msgid "Users and Groups"
|
||||
msgstr "Användare och grupper"
|
||||
|
||||
#: plinth/modules/users/__init__.py:80
|
||||
#: plinth/modules/users/__init__.py:81
|
||||
msgid "Access to all services and system settings"
|
||||
msgstr "Tillgång till alla tjänster och systeminställningar"
|
||||
|
||||
#: plinth/modules/users/__init__.py:116
|
||||
#: plinth/modules/users/__init__.py:124
|
||||
#, python-brace-format
|
||||
msgid "Check LDAP entry \"{search_item}\""
|
||||
msgstr "Kontrollera LDAP-posten \"{search_item}\""
|
||||
|
||||
#: plinth/modules/users/__init__.py:137
|
||||
#, python-brace-format
|
||||
msgid "Check nslcd config \"{key} {value}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:166
|
||||
#, python-brace-format
|
||||
msgid "Check nsswitch config \"{database}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/forms.py:35
|
||||
msgid "Username is taken or is reserved."
|
||||
msgstr "Användarnamnet är upptaget eller är reserverade."
|
||||
@ -8712,7 +8756,13 @@ msgstr "Uppdatera"
|
||||
msgid "Backup"
|
||||
msgstr "Säkerhetskopia"
|
||||
|
||||
#: plinth/templates/toolbar.html:51 plinth/templates/toolbar.html:52
|
||||
#: plinth/templates/toolbar.html:53
|
||||
#, fuzzy
|
||||
#| msgid "Start setup"
|
||||
msgid "Re-run setup"
|
||||
msgstr "Starta installation"
|
||||
|
||||
#: plinth/templates/toolbar.html:59 plinth/templates/toolbar.html:60
|
||||
#: plinth/templates/uninstall.html:30
|
||||
msgid "Uninstall"
|
||||
msgstr "avinstallera"
|
||||
@ -8730,11 +8780,11 @@ msgstr ""
|
||||
"All appdata och konfiguration kommer att gå förlorad permanent. Appen kan "
|
||||
"installeras på nytt igen."
|
||||
|
||||
#: plinth/views.py:239
|
||||
#: plinth/views.py:241
|
||||
msgid "Setting unchanged"
|
||||
msgstr "Instänllningar oförändrade"
|
||||
|
||||
#: plinth/views.py:456
|
||||
#: plinth/views.py:478
|
||||
#, python-brace-format
|
||||
msgid "before uninstall of {app_id}"
|
||||
msgstr "innan du avinstallerar {app_id}"
|
||||
@ -8743,6 +8793,14 @@ msgstr "innan du avinstallerar {app_id}"
|
||||
msgid "Gujarati"
|
||||
msgstr "Gujarati"
|
||||
|
||||
#, python-brace-format
|
||||
#~ msgid ""
|
||||
#~ "A Tor SOCKS port is available on your {box_name} for internal networks on "
|
||||
#~ "TCP port 9050."
|
||||
#~ msgstr ""
|
||||
#~ "En Tor SOCKS-port finns tillgängligt på din {box_name} för interna "
|
||||
#~ "nätverk på TCP-port 9050."
|
||||
|
||||
#, python-brace-format
|
||||
#~ msgid ""
|
||||
#~ "When enabled, text box for server input is removed from login page and "
|
||||
@ -9545,9 +9603,6 @@ msgstr "Gujarati"
|
||||
#~ "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"
|
||||
|
||||
|
||||
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-06-19 20:15-0400\n"
|
||||
"POT-Creation-Date: 2023-07-31 20:04-0400\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"
|
||||
@ -27,7 +27,7 @@ msgstr ""
|
||||
msgid "Static configuration {etc_path} is setup properly"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/context_processors.py:23 plinth/views.py:92
|
||||
#: plinth/context_processors.py:23 plinth/views.py:94
|
||||
msgid "FreedomBox"
|
||||
msgstr ""
|
||||
|
||||
@ -834,7 +834,8 @@ msgstr ""
|
||||
|
||||
#: plinth/modules/bepasty/views.py:88 plinth/modules/searx/views.py:35
|
||||
#: plinth/modules/searx/views.py:46 plinth/modules/security/views.py:56
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/zoph/views.py:74
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/torproxy/views.py:71
|
||||
#: plinth/modules/zoph/views.py:74
|
||||
msgid "Configuration updated."
|
||||
msgstr ""
|
||||
|
||||
@ -1916,7 +1917,7 @@ msgstr ""
|
||||
msgid "Host/Target/Value"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:23
|
||||
#: plinth/modules/firewall/__init__.py:24
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Firewall is a security system that controls the incoming and outgoing "
|
||||
@ -1924,10 +1925,22 @@ msgid ""
|
||||
"configured reduces risk of security threat from the Internet."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:59
|
||||
#: plinth/modules/firewall/__init__.py:60
|
||||
msgid "Firewall"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:269
|
||||
msgid "Default zone is external"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:276
|
||||
msgid "Firewall backend is nftables"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:287
|
||||
msgid "Direct passthrough rules exist"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/components.py:134
|
||||
#, python-brace-format
|
||||
msgid "Port {name} ({details}) available for internal networks"
|
||||
@ -2500,7 +2513,8 @@ msgstr ""
|
||||
msgid "I2P"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:49
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:61
|
||||
#: plinth/modules/torproxy/__init__.py:55
|
||||
msgid "Anonymity Network"
|
||||
msgstr ""
|
||||
|
||||
@ -4764,7 +4778,7 @@ msgstr ""
|
||||
msgid "Web Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/privoxy/__init__.py:113
|
||||
#: plinth/modules/privoxy/__init__.py:114
|
||||
#, python-brace-format
|
||||
msgid "Access {url} with proxy {proxy} on tcp{kind}"
|
||||
msgstr ""
|
||||
@ -6013,7 +6027,7 @@ msgstr ""
|
||||
msgid "File Synchronization"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:23
|
||||
#: plinth/modules/tor/__init__.py:31 plinth/modules/torproxy/__init__.py:27
|
||||
msgid ""
|
||||
"Tor is an anonymous communication system. You can learn more about it from "
|
||||
"the <a href=\"https://www.torproject.org/\">Tor Project</a> website. For "
|
||||
@ -6022,55 +6036,48 @@ msgid ""
|
||||
"en\">Tor Browser</a>."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:30
|
||||
#, python-brace-format
|
||||
#: plinth/modules/tor/__init__.py:37
|
||||
msgid ""
|
||||
"A Tor SOCKS port is available on your {box_name} for internal networks on "
|
||||
"TCP port 9050."
|
||||
"This app provides relay services to contribute to Tor network and help "
|
||||
"others overcome censorship."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:48
|
||||
#: plinth/modules/tor/__init__.py:40
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides an onion domain to expose {box_name} services via the Tor "
|
||||
"network. Using Tor browser, one can access {box_name} from the internet even "
|
||||
"when using an ISP that limits servers at home."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:60
|
||||
msgid "Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:65
|
||||
#: plinth/modules/tor/__init__.py:76
|
||||
msgid "Tor Onion Service"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:69
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:73
|
||||
#: plinth/modules/tor/__init__.py:80
|
||||
msgid "Tor Bridge Relay"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:132
|
||||
#: plinth/modules/tor/__init__.py:135
|
||||
msgid "Tor relay port available"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:143
|
||||
#: plinth/modules/tor/__init__.py:146
|
||||
msgid "Obfs3 transport registered"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:153
|
||||
#: plinth/modules/tor/__init__.py:156
|
||||
msgid "Obfs4 transport registered"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:165
|
||||
#: plinth/modules/tor/__init__.py:168
|
||||
msgid "Onion service is version 3"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:242
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:253
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:33
|
||||
msgid ""
|
||||
"Enter a valid bridge with this format: [transport] IP:ORPort [fingerprint]"
|
||||
@ -6098,11 +6105,11 @@ msgid ""
|
||||
"here. Currently supported transports are none, obfs3, obfs4 and scamblesuit."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:91
|
||||
#: plinth/modules/tor/forms.py:95
|
||||
msgid "Enable Tor relay"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:92
|
||||
#: plinth/modules/tor/forms.py:96
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"When enabled, your {box_name} will run a Tor relay and donate bandwidth to "
|
||||
@ -6110,22 +6117,22 @@ msgid ""
|
||||
"download bandwidth."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:97
|
||||
#: plinth/modules/tor/forms.py:101
|
||||
msgid "Enable Tor bridge relay"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:99
|
||||
#: plinth/modules/tor/forms.py:103
|
||||
msgid ""
|
||||
"When enabled, relay information is published in the Tor bridge database "
|
||||
"instead of public Tor relay database making it harder to censor this node. "
|
||||
"This helps others circumvent censorship."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:104
|
||||
#: plinth/modules/tor/forms.py:108
|
||||
msgid "Enable Tor Onion Service"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:106
|
||||
#: plinth/modules/tor/forms.py:110
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"An onion service will allow {box_name} to provide selected services (such as "
|
||||
@ -6133,26 +6140,15 @@ msgid ""
|
||||
"anonymity yet."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:111
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:112
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:127
|
||||
#: plinth/modules/tor/forms.py:125
|
||||
msgid "Specify at least one upstream bridge to use upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/manifest.py:15
|
||||
#: plinth/modules/tor/manifest.py:15 plinth/modules/torproxy/manifest.py:14
|
||||
msgid "Tor Browser"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/manifest.py:31
|
||||
#: plinth/modules/tor/manifest.py:31 plinth/modules/torproxy/manifest.py:30
|
||||
msgid "Orbot: Proxy with Tor"
|
||||
msgstr ""
|
||||
|
||||
@ -6164,15 +6160,53 @@ msgstr ""
|
||||
msgid "Ports"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/views.py:53
|
||||
#: plinth/modules/tor/views.py:53 plinth/modules/torproxy/views.py:51
|
||||
msgid "Updating configuration"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/views.py:70
|
||||
#: plinth/modules/tor/views.py:70 plinth/modules/torproxy/views.py:68
|
||||
#, python-brace-format
|
||||
msgid "Error configuring app: {error}"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:34
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides a web proxy on your {box_name} for internal networks on "
|
||||
"TCP port 9050 using the SOCKS protocol. This can be used by various apps to "
|
||||
"access the internet via the Tor network. ISP censorship can be circumvented "
|
||||
"using upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:54
|
||||
msgid "Tor Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:79
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:138
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:149
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:15
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:16
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/transmission/__init__.py:25
|
||||
msgid "Transmission is a BitTorrent client with a web interface."
|
||||
msgstr ""
|
||||
@ -6498,14 +6532,14 @@ msgstr ""
|
||||
msgid "Starting distribution upgrade test."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:29
|
||||
#: plinth/modules/users/__init__.py:30
|
||||
msgid ""
|
||||
"Create and manage user accounts. These accounts serve as centralized "
|
||||
"authentication mechanism for most apps. Some apps further require a user "
|
||||
"account to be part of a group to authorize the user to access the app."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:34
|
||||
#: plinth/modules/users/__init__.py:35
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Any user may login to {box_name} web interface to see a list of apps "
|
||||
@ -6513,19 +6547,29 @@ msgid ""
|
||||
"group may alter apps or system settings."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:55
|
||||
#: plinth/modules/users/__init__.py:56
|
||||
msgid "Users and Groups"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:80
|
||||
#: plinth/modules/users/__init__.py:81
|
||||
msgid "Access to all services and system settings"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:116
|
||||
#: plinth/modules/users/__init__.py:124
|
||||
#, python-brace-format
|
||||
msgid "Check LDAP entry \"{search_item}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:137
|
||||
#, python-brace-format
|
||||
msgid "Check nslcd config \"{key} {value}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:166
|
||||
#, python-brace-format
|
||||
msgid "Check nsswitch config \"{database}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/forms.py:35
|
||||
msgid "Username is taken or is reserved."
|
||||
msgstr ""
|
||||
@ -7593,7 +7637,11 @@ msgstr ""
|
||||
msgid "Backup"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/templates/toolbar.html:51 plinth/templates/toolbar.html:52
|
||||
#: plinth/templates/toolbar.html:53
|
||||
msgid "Re-run setup"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/templates/toolbar.html:59 plinth/templates/toolbar.html:60
|
||||
#: plinth/templates/uninstall.html:30
|
||||
msgid "Uninstall"
|
||||
msgstr ""
|
||||
@ -7609,11 +7657,11 @@ msgid ""
|
||||
"installed freshly again."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/views.py:239
|
||||
#: plinth/views.py:241
|
||||
msgid "Setting unchanged"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/views.py:456
|
||||
#: plinth/views.py:478
|
||||
#, python-brace-format
|
||||
msgid "before uninstall of {app_id}"
|
||||
msgstr ""
|
||||
|
||||
@ -9,7 +9,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: FreedomBox UI\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-06-19 20:15-0400\n"
|
||||
"POT-Creation-Date: 2023-07-31 20:04-0400\n"
|
||||
"PO-Revision-Date: 2022-03-02 12:27+0000\n"
|
||||
"Last-Translator: James Valleroy <jvalleroy@mailbox.org>\n"
|
||||
"Language-Team: Telugu <https://hosted.weblate.org/projects/freedombox/"
|
||||
@ -30,7 +30,7 @@ msgstr "పుట ఆధారం"
|
||||
msgid "Static configuration {etc_path} is setup properly"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/context_processors.py:23 plinth/views.py:92
|
||||
#: plinth/context_processors.py:23 plinth/views.py:94
|
||||
msgid "FreedomBox"
|
||||
msgstr "ఫ్రీడంబాక్స్"
|
||||
|
||||
@ -887,7 +887,8 @@ msgstr "నిర్వాహకుడు"
|
||||
|
||||
#: plinth/modules/bepasty/views.py:88 plinth/modules/searx/views.py:35
|
||||
#: plinth/modules/searx/views.py:46 plinth/modules/security/views.py:56
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/zoph/views.py:74
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/torproxy/views.py:71
|
||||
#: plinth/modules/zoph/views.py:74
|
||||
msgid "Configuration updated."
|
||||
msgstr "ఆకృతీకరణ నవీకరించబడింది."
|
||||
|
||||
@ -2078,7 +2079,7 @@ msgstr "పోర్టు"
|
||||
msgid "Host/Target/Value"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:23
|
||||
#: plinth/modules/firewall/__init__.py:24
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Firewall is a security system that controls the incoming and outgoing "
|
||||
@ -2088,10 +2089,24 @@ msgstr ""
|
||||
"ఫైర్వాల్ అనేది మీ {box_name}కు జరిగే రవాణా రాకపోకలను నియంత్రించే ఒక భద్రతా వ్యవస్థ. దీనిని అనుమతించి "
|
||||
"సరిగా ఆకృతీకరిస్తే అంతర్జాలం నుంచి భద్రతా ముప్పు తగ్గుతుంది."
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:59
|
||||
#: plinth/modules/firewall/__init__.py:60
|
||||
msgid "Firewall"
|
||||
msgstr "ఫైర్వాల్"
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:269
|
||||
#, fuzzy
|
||||
#| msgid "Default"
|
||||
msgid "Default zone is external"
|
||||
msgstr "అప్రమేయం"
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:276
|
||||
msgid "Firewall backend is nftables"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:287
|
||||
msgid "Direct passthrough rules exist"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/components.py:134
|
||||
#, python-brace-format
|
||||
msgid "Port {name} ({details}) available for internal networks"
|
||||
@ -2743,7 +2758,8 @@ msgstr "I2P కార్యక్షేతాన్ని నిర్వహి
|
||||
msgid "I2P"
|
||||
msgstr "ఇ౨ప్"
|
||||
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:49
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:61
|
||||
#: plinth/modules/torproxy/__init__.py:55
|
||||
msgid "Anonymity Network"
|
||||
msgstr "అజ్ఞాత జాలిక"
|
||||
|
||||
@ -5305,7 +5321,7 @@ msgstr "ప్రివొక్సి"
|
||||
msgid "Web Proxy"
|
||||
msgstr "వెబ్ ప్రాక్సీ"
|
||||
|
||||
#: plinth/modules/privoxy/__init__.py:113
|
||||
#: plinth/modules/privoxy/__init__.py:114
|
||||
#, python-brace-format
|
||||
msgid "Access {url} with proxy {proxy} on tcp{kind}"
|
||||
msgstr "టీసీపీ{kind} పై{proxy} తో యాక్సిస్ {url} చేయండి"
|
||||
@ -6709,7 +6725,7 @@ msgstr "సింక్ తింగ్"
|
||||
msgid "File Synchronization"
|
||||
msgstr "ఫైళ్ళ సమకాలీకరణ"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:23
|
||||
#: plinth/modules/tor/__init__.py:31 plinth/modules/torproxy/__init__.py:27
|
||||
msgid ""
|
||||
"Tor is an anonymous communication system. You can learn more about it from "
|
||||
"the <a href=\"https://www.torproject.org/\">Tor Project</a> website. For "
|
||||
@ -6722,58 +6738,50 @@ msgstr ""
|
||||
"టార్ ప్రాజెక్ట్ మీరు <a href=\"https://www.torproject.org/download/download-easy."
|
||||
"html.en\"> టార్ బ్రౌజర్ </a> ను ఉపయోగించాలని సిఫార్సు చేస్తున్నారు."
|
||||
|
||||
#: plinth/modules/tor/__init__.py:30
|
||||
#, fuzzy, python-brace-format
|
||||
#| msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050."
|
||||
#: plinth/modules/tor/__init__.py:37
|
||||
msgid ""
|
||||
"A Tor SOCKS port is available on your {box_name} for internal networks on "
|
||||
"TCP port 9050."
|
||||
msgstr "టిసిపి పోర్ట్ 9050 పై ఒక టార్ సొక్స్ పోర్ట్ మీ %(box_name)sలో అందుబాటులో ఉంది."
|
||||
"This app provides relay services to contribute to Tor network and help "
|
||||
"others overcome censorship."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:48
|
||||
#: plinth/modules/tor/__init__.py:40
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides an onion domain to expose {box_name} services via the Tor "
|
||||
"network. Using Tor browser, one can access {box_name} from the internet even "
|
||||
"when using an ISP that limits servers at home."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:60
|
||||
msgid "Tor"
|
||||
msgstr "టార్"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:65
|
||||
#: plinth/modules/tor/__init__.py:76
|
||||
msgid "Tor Onion Service"
|
||||
msgstr "టోర్ ఉల్లిపాయ సేవ"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:69
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr "టోర్ సాక్స్ ప్రాతినిధ్య"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:73
|
||||
#: plinth/modules/tor/__init__.py:80
|
||||
msgid "Tor Bridge Relay"
|
||||
msgstr "టార్ బ్రిడ్జ్ రిలే"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:132
|
||||
#: plinth/modules/tor/__init__.py:135
|
||||
msgid "Tor relay port available"
|
||||
msgstr "టార్ రిలే పోర్ట్ అందుబాటులో ఉంది"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:143
|
||||
#: plinth/modules/tor/__init__.py:146
|
||||
msgid "Obfs3 transport registered"
|
||||
msgstr "Obfs3 రవాణా నమోదు చేయబడింది"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:153
|
||||
#: plinth/modules/tor/__init__.py:156
|
||||
msgid "Obfs4 transport registered"
|
||||
msgstr "Obfs4 రవాణా నమోదు చేయబడింది"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:165
|
||||
#: plinth/modules/tor/__init__.py:168
|
||||
#, fuzzy
|
||||
#| msgid "Onion Service"
|
||||
msgid "Onion service is version 3"
|
||||
msgstr "ఉల్లిపాయ సేవ"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:242
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr "టార్ ద్వారా {kind} లో {url} ను ఆక్సెస్ చెయ్యండి"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:253
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr "టోర్ వాడుకను నిర్ధారించండి{url} టీ సి పి పై{kind}"
|
||||
|
||||
#: plinth/modules/tor/forms.py:33
|
||||
msgid ""
|
||||
"Enter a valid bridge with this format: [transport] IP:ORPort [fingerprint]"
|
||||
@ -6808,11 +6816,11 @@ msgstr ""
|
||||
"torproject.org/ </a> నుండి కొన్ని బ్రిడ్జెస్ పొందవచ్చు మరియు ఇక్కడ బ్రిడ్జె సమాచారాన్ని కాపీ / పేస్ట్ "
|
||||
"చెయ్యండి. ప్రస్తుతం మద్దతిచ్చే ట్రాన్స్పోర్ట్ లు none, obfs3, obfs4 మరియు scamblesuit."
|
||||
|
||||
#: plinth/modules/tor/forms.py:91
|
||||
#: plinth/modules/tor/forms.py:95
|
||||
msgid "Enable Tor relay"
|
||||
msgstr "టోర్ రిలేని ప్రారంభించండి"
|
||||
|
||||
#: plinth/modules/tor/forms.py:92
|
||||
#: plinth/modules/tor/forms.py:96
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"When enabled, your {box_name} will run a Tor relay and donate bandwidth to "
|
||||
@ -6822,11 +6830,11 @@ msgstr ""
|
||||
"ప్రారంభించినప్పుడు, మీ {box_name} 1 టోర్ రిలేని అమలు చేస్తుంది మరియు టార్ నెట్వర్క్కి బ్యాండ్విడ్త్ని దానం "
|
||||
"చేస్తుంది. మీరు 2 megabits / s కంటే ఎక్కువ అప్లోడ్ మరియు డౌన్లోడ్ బ్యాండ్విడ్త్ ఉంటే దీన్ని చేయండి."
|
||||
|
||||
#: plinth/modules/tor/forms.py:97
|
||||
#: plinth/modules/tor/forms.py:101
|
||||
msgid "Enable Tor bridge relay"
|
||||
msgstr "టార్ వంతెన రిలేను ప్రారంభించండి."
|
||||
|
||||
#: plinth/modules/tor/forms.py:99
|
||||
#: plinth/modules/tor/forms.py:103
|
||||
msgid ""
|
||||
"When enabled, relay information is published in the Tor bridge database "
|
||||
"instead of public Tor relay database making it harder to censor this node. "
|
||||
@ -6836,13 +6844,13 @@ msgstr ""
|
||||
"ప్రచురించబడుతుంది, ఇది ఈ నోడ్ను సెన్సార్ చేయడానికి కష్టతరం చేస్తుంది. ఇతరులు సెన్సార్షిప్ను "
|
||||
"తప్పించుకునేందుకు ఇది దోహదపడుతుంది."
|
||||
|
||||
#: plinth/modules/tor/forms.py:104
|
||||
#: plinth/modules/tor/forms.py:108
|
||||
#, fuzzy
|
||||
#| msgid "Enable Tor Hidden Service"
|
||||
msgid "Enable Tor Onion Service"
|
||||
msgstr "టోర్ హిడెన్ సర్వీస్ని ప్రారంభించండి"
|
||||
|
||||
#: plinth/modules/tor/forms.py:106
|
||||
#: plinth/modules/tor/forms.py:110
|
||||
#, fuzzy, python-brace-format
|
||||
msgid ""
|
||||
"An onion service will allow {box_name} to provide selected services (such as "
|
||||
@ -6852,28 +6860,15 @@ msgstr ""
|
||||
"దాచిన సేవ దాని స్థానాన్ని బహిర్గతం చేయకుండా ఎంచుకున్న సేవలను (వికీ లేదా చాట్ వంటివి) అందించడానికి "
|
||||
"బాక్స్_నామని అనుమతిస్తుంది. ఇంకా బలమైన అనామకత్వం కోసం దీన్ని ఉపయోగించవద్దు. {box_name}"
|
||||
|
||||
#: plinth/modules/tor/forms.py:111
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr "టార్ పై సాఫ్ట్వేర్ ప్యాకేజీలను డౌన్లోడ్ చేయండి"
|
||||
|
||||
#: plinth/modules/tor/forms.py:112
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
"ప్రారంభించబడినప్పుడు, సంస్థాపనలు మరియు నవీకరణలు కోసం సాఫ్ట్వేర్ టార్ నెట్వర్క్ ద్వారా డౌన్లోడ్ "
|
||||
"చేయబడుతుంది. ఇది సాఫ్ట్ వేర్ డౌన్లోడ్ సమయంలో గోప్యత మరియు భద్రత యొక్క డిగ్రీని జతచేస్తుంది."
|
||||
|
||||
#: plinth/modules/tor/forms.py:127
|
||||
#: plinth/modules/tor/forms.py:125
|
||||
msgid "Specify at least one upstream bridge to use upstream bridges."
|
||||
msgstr "అప్స్ట్రీమ్ వంతెనలను ఉపయోగించడానికి కనీసం ఒక అప్స్ట్రీమ్ వంతెనను పేర్కొనండి."
|
||||
|
||||
#: plinth/modules/tor/manifest.py:15
|
||||
#: plinth/modules/tor/manifest.py:15 plinth/modules/torproxy/manifest.py:14
|
||||
msgid "Tor Browser"
|
||||
msgstr "టార్ బ్రౌజర్"
|
||||
|
||||
#: plinth/modules/tor/manifest.py:31
|
||||
#: plinth/modules/tor/manifest.py:31 plinth/modules/torproxy/manifest.py:30
|
||||
msgid "Orbot: Proxy with Tor"
|
||||
msgstr "ఆర్బోట్: టోర్ తో ప్రాక్సీ"
|
||||
|
||||
@ -6885,18 +6880,60 @@ msgstr "ఉల్లిపాయ సేవ"
|
||||
msgid "Ports"
|
||||
msgstr "పోర్ట్స్"
|
||||
|
||||
#: plinth/modules/tor/views.py:53
|
||||
#: plinth/modules/tor/views.py:53 plinth/modules/torproxy/views.py:51
|
||||
#, fuzzy
|
||||
#| msgid "An error occurred during configuration."
|
||||
msgid "Updating configuration"
|
||||
msgstr "అక్రుతీకరణలో ఒక పొరపాటు జరిగింది."
|
||||
|
||||
#: plinth/modules/tor/views.py:70
|
||||
#: plinth/modules/tor/views.py:70 plinth/modules/torproxy/views.py:68
|
||||
#, fuzzy, python-brace-format
|
||||
#| msgid "Error installing application: {error}"
|
||||
msgid "Error configuring app: {error}"
|
||||
msgstr "అనువర్తనం స్థాపించుటలో దోషం: {error}"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:34
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides a web proxy on your {box_name} for internal networks on "
|
||||
"TCP port 9050 using the SOCKS protocol. This can be used by various apps to "
|
||||
"access the internet via the Tor network. ISP censorship can be circumvented "
|
||||
"using upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:54
|
||||
#, fuzzy
|
||||
#| msgid "Tor Socks Proxy"
|
||||
msgid "Tor Proxy"
|
||||
msgstr "టోర్ సాక్స్ ప్రాతినిధ్య"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:79
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr "టోర్ సాక్స్ ప్రాతినిధ్య"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:138
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr "టార్ ద్వారా {kind} లో {url} ను ఆక్సెస్ చెయ్యండి"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:149
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr "టోర్ వాడుకను నిర్ధారించండి{url} టీ సి పి పై{kind}"
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:15
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr "టార్ పై సాఫ్ట్వేర్ ప్యాకేజీలను డౌన్లోడ్ చేయండి"
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:16
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
"ప్రారంభించబడినప్పుడు, సంస్థాపనలు మరియు నవీకరణలు కోసం సాఫ్ట్వేర్ టార్ నెట్వర్క్ ద్వారా డౌన్లోడ్ "
|
||||
"చేయబడుతుంది. ఇది సాఫ్ట్ వేర్ డౌన్లోడ్ సమయంలో గోప్యత మరియు భద్రత యొక్క డిగ్రీని జతచేస్తుంది."
|
||||
|
||||
#: plinth/modules/transmission/__init__.py:25
|
||||
msgid "Transmission is a BitTorrent client with a web interface."
|
||||
msgstr "ప్రసరణ అనేది వెబ్ ఇంటర్ఫేస్తో కూడిన బిట్టొరెంట్ క్లయింట్."
|
||||
@ -7277,7 +7314,7 @@ msgstr "తరచుగా ఫీచర్ అప్డేట్లు య
|
||||
msgid "Starting distribution upgrade test."
|
||||
msgstr "పంపిణీ మెరుగుపరుచడం ప్రారంభించబడింది"
|
||||
|
||||
#: plinth/modules/users/__init__.py:29
|
||||
#: plinth/modules/users/__init__.py:30
|
||||
msgid ""
|
||||
"Create and manage user accounts. These accounts serve as centralized "
|
||||
"authentication mechanism for most apps. Some apps further require a user "
|
||||
@ -7287,7 +7324,7 @@ msgstr ""
|
||||
"విధానంగా పనిచేస్తాయి. కొన్ని యాప్లకు యాప్ను యాక్సెస్ చేయడానికి వినియోగదారుని ప్రామాణీకరించడానికి సమూహంలో భాగంగా "
|
||||
"వినియోగదారు ఖాతా అవసరం"
|
||||
|
||||
#: plinth/modules/users/__init__.py:34
|
||||
#: plinth/modules/users/__init__.py:35
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Any user may login to {box_name} web interface to see a list of apps "
|
||||
@ -7298,19 +7335,29 @@ msgstr ""
|
||||
"చేయవచ్చు. అయినప్పటికీ, <em>అడ్మిన్</em> సమూహం యొక్క వినియోగదారులు మాత్రమే యాప్లు లేదా సిస్టమ్ "
|
||||
"సెట్టింగ్లను మార్చవచ్చు."
|
||||
|
||||
#: plinth/modules/users/__init__.py:55
|
||||
#: plinth/modules/users/__init__.py:56
|
||||
msgid "Users and Groups"
|
||||
msgstr "వినియోగదారులు మరియు సమూహాలు"
|
||||
|
||||
#: plinth/modules/users/__init__.py:80
|
||||
#: plinth/modules/users/__init__.py:81
|
||||
msgid "Access to all services and system settings"
|
||||
msgstr "అన్ని సేవలకు మరియు సిస్టమ్ అమరికలకు ప్రాప్యత"
|
||||
|
||||
#: plinth/modules/users/__init__.py:116
|
||||
#: plinth/modules/users/__init__.py:124
|
||||
#, python-brace-format
|
||||
msgid "Check LDAP entry \"{search_item}\""
|
||||
msgstr "LDAP నమోదు \"{search_item}\" తనిఖీ"
|
||||
|
||||
#: plinth/modules/users/__init__.py:137
|
||||
#, python-brace-format
|
||||
msgid "Check nslcd config \"{key} {value}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:166
|
||||
#, python-brace-format
|
||||
msgid "Check nsswitch config \"{database}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/forms.py:35
|
||||
msgid "Username is taken or is reserved."
|
||||
msgstr "యూజర్ పేరు తీసుకోబడింది లేదా రిజర్వ్ చేయబడింది."
|
||||
@ -8502,7 +8549,13 @@ msgstr "నవీకరణ"
|
||||
msgid "Backup"
|
||||
msgstr "బ్యాకప్స్"
|
||||
|
||||
#: plinth/templates/toolbar.html:51 plinth/templates/toolbar.html:52
|
||||
#: plinth/templates/toolbar.html:53
|
||||
#, fuzzy
|
||||
#| msgid "Start setup"
|
||||
msgid "Re-run setup"
|
||||
msgstr "అమర్చిపెట్టు ప్రారంభం"
|
||||
|
||||
#: plinth/templates/toolbar.html:59 plinth/templates/toolbar.html:60
|
||||
#: plinth/templates/uninstall.html:30
|
||||
#, fuzzy
|
||||
#| msgid "Install"
|
||||
@ -8521,11 +8574,11 @@ msgid ""
|
||||
"installed freshly again."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/views.py:239
|
||||
#: plinth/views.py:241
|
||||
msgid "Setting unchanged"
|
||||
msgstr "మారకుండా అమర్చుతోంది"
|
||||
|
||||
#: plinth/views.py:456
|
||||
#: plinth/views.py:478
|
||||
#, python-brace-format
|
||||
msgid "before uninstall of {app_id}"
|
||||
msgstr ""
|
||||
@ -8534,6 +8587,14 @@ msgstr ""
|
||||
msgid "Gujarati"
|
||||
msgstr "గుజరాతీ"
|
||||
|
||||
#, fuzzy, python-brace-format
|
||||
#~| msgid ""
|
||||
#~| "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050."
|
||||
#~ msgid ""
|
||||
#~ "A Tor SOCKS port is available on your {box_name} for internal networks on "
|
||||
#~ "TCP port 9050."
|
||||
#~ msgstr "టిసిపి పోర్ట్ 9050 పై ఒక టార్ సొక్స్ పోర్ట్ మీ %(box_name)sలో అందుబాటులో ఉంది."
|
||||
|
||||
#, python-brace-format
|
||||
#~ msgid ""
|
||||
#~ "When enabled, text box for server input is removed from login page and "
|
||||
@ -9287,9 +9348,6 @@ msgstr "గుజరాతీ"
|
||||
#~ "(box_name) లు 1 ఆధారపడి, అది కూడా గంటల సమయం పట్టవచ్చు. సెటప్ ఆటకం, మీరు మళ్ళీ దాన్ని "
|
||||
#~ "మొదలు పెడతాయి."
|
||||
|
||||
#~ msgid "Start setup"
|
||||
#~ msgstr "అమర్చిపెట్టు ప్రారంభం"
|
||||
|
||||
#~ msgid "OpenVPN setup is running"
|
||||
#~ msgstr "అమర్చిపెటినా తెరిచినVPNనడుస్తుంది"
|
||||
|
||||
@ -9941,11 +9999,6 @@ msgstr "గుజరాతీ"
|
||||
#~ msgid "Error setting default app: {exception}"
|
||||
#~ msgstr "భాషను అమర్చుటలో లోపం: {exception}"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Default"
|
||||
#~ msgid "Default app set"
|
||||
#~ msgstr "అప్రమేయం"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "NTP client in contact with servers"
|
||||
#~ msgid "chrony client in contact with servers"
|
||||
|
||||
@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-06-19 20:15-0400\n"
|
||||
"POT-Creation-Date: 2023-07-31 20:04-0400\n"
|
||||
"PO-Revision-Date: 2023-06-21 13:49+0000\n"
|
||||
"Last-Translator: Burak Yavuz <hitowerdigit@hotmail.com>\n"
|
||||
"Language-Team: Turkish <https://hosted.weblate.org/projects/freedombox/"
|
||||
@ -27,7 +27,7 @@ msgstr "Sayfa kaynağı"
|
||||
msgid "Static configuration {etc_path} is setup properly"
|
||||
msgstr "Sabit yapılandırma {etc_path} düzgün bir şekilde ayarlanmış"
|
||||
|
||||
#: plinth/context_processors.py:23 plinth/views.py:92
|
||||
#: plinth/context_processors.py:23 plinth/views.py:94
|
||||
msgid "FreedomBox"
|
||||
msgstr "FreedomBox"
|
||||
|
||||
@ -900,7 +900,8 @@ msgstr "Yönetici"
|
||||
|
||||
#: plinth/modules/bepasty/views.py:88 plinth/modules/searx/views.py:35
|
||||
#: plinth/modules/searx/views.py:46 plinth/modules/security/views.py:56
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/zoph/views.py:74
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/torproxy/views.py:71
|
||||
#: plinth/modules/zoph/views.py:74
|
||||
msgid "Configuration updated."
|
||||
msgstr "Yapılandırma güncellendi."
|
||||
|
||||
@ -2139,7 +2140,7 @@ msgstr "Bağlantı noktası"
|
||||
msgid "Host/Target/Value"
|
||||
msgstr "Anamakine/Hedef/Değer"
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:23
|
||||
#: plinth/modules/firewall/__init__.py:24
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Firewall is a security system that controls the incoming and outgoing "
|
||||
@ -2151,10 +2152,24 @@ msgstr ""
|
||||
"ve uygun şekilde yapılandırılmış halde tutulması, İnternet kaynaklı güvenlik "
|
||||
"tehdidi riskini azaltır."
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:59
|
||||
#: plinth/modules/firewall/__init__.py:60
|
||||
msgid "Firewall"
|
||||
msgstr "Güvenlik Duvarı"
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:269
|
||||
#, fuzzy
|
||||
#| msgid "Default"
|
||||
msgid "Default zone is external"
|
||||
msgstr "Varsayılan"
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:276
|
||||
msgid "Firewall backend is nftables"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:287
|
||||
msgid "Direct passthrough rules exist"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/components.py:134
|
||||
#, python-brace-format
|
||||
msgid "Port {name} ({details}) available for internal networks"
|
||||
@ -2831,7 +2846,8 @@ msgstr "I2P uygulamasını yönet"
|
||||
msgid "I2P"
|
||||
msgstr "I2P"
|
||||
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:49
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:61
|
||||
#: plinth/modules/torproxy/__init__.py:55
|
||||
msgid "Anonymity Network"
|
||||
msgstr "İsim Gizliliği Ağı"
|
||||
|
||||
@ -5459,7 +5475,7 @@ msgstr "Privoxy"
|
||||
msgid "Web Proxy"
|
||||
msgstr "Web Vekil Sunucusu"
|
||||
|
||||
#: plinth/modules/privoxy/__init__.py:113
|
||||
#: plinth/modules/privoxy/__init__.py:114
|
||||
#, python-brace-format
|
||||
msgid "Access {url} with proxy {proxy} on tcp{kind}"
|
||||
msgstr "Tcp{kind} üzerinde {proxy} vekil sunucusu ile {url} adresine erişin"
|
||||
@ -6913,7 +6929,7 @@ msgstr "Syncthing"
|
||||
msgid "File Synchronization"
|
||||
msgstr "Dosya Eşitleme"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:23
|
||||
#: plinth/modules/tor/__init__.py:31 plinth/modules/torproxy/__init__.py:27
|
||||
msgid ""
|
||||
"Tor is an anonymous communication system. You can learn more about it from "
|
||||
"the <a href=\"https://www.torproject.org/\">Tor Project</a> website. For "
|
||||
@ -6926,57 +6942,48 @@ msgstr ""
|
||||
"gezinirken en iyi koruma için Tor Projesi, <a href=\"https://www.torproject."
|
||||
"org/download/download-easy.html.en\">Tor Tarayıcı</a> kullanmanızı önerir."
|
||||
|
||||
#: plinth/modules/tor/__init__.py:30
|
||||
#: plinth/modules/tor/__init__.py:37
|
||||
msgid ""
|
||||
"This app provides relay services to contribute to Tor network and help "
|
||||
"others overcome censorship."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:40
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"A Tor SOCKS port is available on your {box_name} for internal networks on "
|
||||
"TCP port 9050."
|
||||
"This app provides an onion domain to expose {box_name} services via the Tor "
|
||||
"network. Using Tor browser, one can access {box_name} from the internet even "
|
||||
"when using an ISP that limits servers at home."
|
||||
msgstr ""
|
||||
"9050 nolu TCP bağlantı noktası üzerindeki dahili ağlar için {box_name} "
|
||||
"cihazınızda bir Tor SOCKS bağlantı noktası kullanılabilir."
|
||||
|
||||
#: plinth/modules/tor/__init__.py:48
|
||||
#: plinth/modules/tor/__init__.py:60
|
||||
msgid "Tor"
|
||||
msgstr "Tor"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:65
|
||||
#: plinth/modules/tor/__init__.py:76
|
||||
msgid "Tor Onion Service"
|
||||
msgstr "Tor Onion Hizmeti"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:69
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr "Tor Socks Vekil Sunucusu"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:73
|
||||
#: plinth/modules/tor/__init__.py:80
|
||||
msgid "Tor Bridge Relay"
|
||||
msgstr "Tor Köprüsü Aktarımı"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:132
|
||||
#: plinth/modules/tor/__init__.py:135
|
||||
msgid "Tor relay port available"
|
||||
msgstr "Tor aktarımı bağlantı noktası kullanılabilir"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:143
|
||||
#: plinth/modules/tor/__init__.py:146
|
||||
msgid "Obfs3 transport registered"
|
||||
msgstr "Obfs3 taşıma kayıtlı"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:153
|
||||
#: plinth/modules/tor/__init__.py:156
|
||||
msgid "Obfs4 transport registered"
|
||||
msgstr "Obfs4 taşıma kayıtlı"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:165
|
||||
#: plinth/modules/tor/__init__.py:168
|
||||
msgid "Onion service is version 3"
|
||||
msgstr "Onion hizmeti sürüm 3'tür"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:242
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr "Tor aracılığıyla tcp{kind} üzerinde erişim URL'si {url}"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:253
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr "Tcp{kind} üzerinde {url} adresinde Tor kullanımını onaylama"
|
||||
|
||||
#: plinth/modules/tor/forms.py:33
|
||||
msgid ""
|
||||
"Enter a valid bridge with this format: [transport] IP:ORPort [fingerprint]"
|
||||
@ -7012,11 +7019,11 @@ msgstr ""
|
||||
"yapıştır yapabilirsiniz. Şu anda desteklenen taşımalar none, obfs3, obfs4 ve "
|
||||
"scamblesuit'tir."
|
||||
|
||||
#: plinth/modules/tor/forms.py:91
|
||||
#: plinth/modules/tor/forms.py:95
|
||||
msgid "Enable Tor relay"
|
||||
msgstr "Tor aktarımını etkinleştir"
|
||||
|
||||
#: plinth/modules/tor/forms.py:92
|
||||
#: plinth/modules/tor/forms.py:96
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"When enabled, your {box_name} will run a Tor relay and donate bandwidth to "
|
||||
@ -7027,11 +7034,11 @@ msgstr ""
|
||||
"Tor ağına bant genişliği bağışlayacaktır. 2 megabit/s'den daha fazla "
|
||||
"gönderme ve indirme bant genişliğiniz varsa bunu yapın."
|
||||
|
||||
#: plinth/modules/tor/forms.py:97
|
||||
#: plinth/modules/tor/forms.py:101
|
||||
msgid "Enable Tor bridge relay"
|
||||
msgstr "Tor köprüsü aktarımını etkinleştir"
|
||||
|
||||
#: plinth/modules/tor/forms.py:99
|
||||
#: plinth/modules/tor/forms.py:103
|
||||
msgid ""
|
||||
"When enabled, relay information is published in the Tor bridge database "
|
||||
"instead of public Tor relay database making it harder to censor this node. "
|
||||
@ -7041,11 +7048,11 @@ msgstr ""
|
||||
"zorlaştıran herkese açık Tor aktarımı veritabanı yerine Tor köprüsü "
|
||||
"veritabanında yayınlanır. Bu, başkalarının sansürü atlatmasına yardımcı olur."
|
||||
|
||||
#: plinth/modules/tor/forms.py:104
|
||||
#: plinth/modules/tor/forms.py:108
|
||||
msgid "Enable Tor Onion Service"
|
||||
msgstr "Tor Onion Hizmetini etkinleştir"
|
||||
|
||||
#: plinth/modules/tor/forms.py:106
|
||||
#: plinth/modules/tor/forms.py:110
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"An onion service will allow {box_name} to provide selected services (such as "
|
||||
@ -7056,31 +7063,17 @@ msgstr ""
|
||||
"hizmetleri (viki veya sohbet gibi) sağlaması için izin verecektir. Bunu "
|
||||
"henüz güçlü bir isim gizliliği için kullanmayın."
|
||||
|
||||
#: plinth/modules/tor/forms.py:111
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr "Yazılım paketlerini Tor üzerinden indir"
|
||||
|
||||
#: plinth/modules/tor/forms.py:112
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
"Etkinleştirildiğinde, kurulumlar ve yükseltmeler için yazılım Tor ağı "
|
||||
"üzerinden indirilecektir. Bu, yazılım indirmeleri sırasında bir derece "
|
||||
"gizlilik ve güvenlik sağlar."
|
||||
|
||||
#: plinth/modules/tor/forms.py:127
|
||||
#: plinth/modules/tor/forms.py:125
|
||||
msgid "Specify at least one upstream bridge to use upstream bridges."
|
||||
msgstr ""
|
||||
"Yukarı akış köprülerini kullanmak için en az bir yukarı akış köprüsü "
|
||||
"belirtin."
|
||||
|
||||
#: plinth/modules/tor/manifest.py:15
|
||||
#: plinth/modules/tor/manifest.py:15 plinth/modules/torproxy/manifest.py:14
|
||||
msgid "Tor Browser"
|
||||
msgstr "Tor Tarayıcı"
|
||||
|
||||
#: plinth/modules/tor/manifest.py:31
|
||||
#: plinth/modules/tor/manifest.py:31 plinth/modules/torproxy/manifest.py:30
|
||||
msgid "Orbot: Proxy with Tor"
|
||||
msgstr "Orbot: Tor ile Vekil Sunucu"
|
||||
|
||||
@ -7092,15 +7085,58 @@ msgstr "Onion Hizmeti"
|
||||
msgid "Ports"
|
||||
msgstr "Bağlantı Noktaları"
|
||||
|
||||
#: plinth/modules/tor/views.py:53
|
||||
#: plinth/modules/tor/views.py:53 plinth/modules/torproxy/views.py:51
|
||||
msgid "Updating configuration"
|
||||
msgstr "Yapılandırma güncelleniyor"
|
||||
|
||||
#: plinth/modules/tor/views.py:70
|
||||
#: plinth/modules/tor/views.py:70 plinth/modules/torproxy/views.py:68
|
||||
#, python-brace-format
|
||||
msgid "Error configuring app: {error}"
|
||||
msgstr "Uygulama yapılandırılırken hata oldu: {error}"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:34
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides a web proxy on your {box_name} for internal networks on "
|
||||
"TCP port 9050 using the SOCKS protocol. This can be used by various apps to "
|
||||
"access the internet via the Tor network. ISP censorship can be circumvented "
|
||||
"using upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:54
|
||||
#, fuzzy
|
||||
#| msgid "Tor Socks Proxy"
|
||||
msgid "Tor Proxy"
|
||||
msgstr "Tor Socks Vekil Sunucusu"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:79
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr "Tor Socks Vekil Sunucusu"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:138
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr "Tor aracılığıyla tcp{kind} üzerinde erişim URL'si {url}"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:149
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr "Tcp{kind} üzerinde {url} adresinde Tor kullanımını onaylama"
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:15
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr "Yazılım paketlerini Tor üzerinden indir"
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:16
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
"Etkinleştirildiğinde, kurulumlar ve yükseltmeler için yazılım Tor ağı "
|
||||
"üzerinden indirilecektir. Bu, yazılım indirmeleri sırasında bir derece "
|
||||
"gizlilik ve güvenlik sağlar."
|
||||
|
||||
#: plinth/modules/transmission/__init__.py:25
|
||||
msgid "Transmission is a BitTorrent client with a web interface."
|
||||
msgstr "Transmission, Web kullanıcı arayüzü olan bir BitTorrent istemcisidir."
|
||||
@ -7490,7 +7526,7 @@ msgstr "Sık yapılan özellik güncellemeleri etkinleştirildi."
|
||||
msgid "Starting distribution upgrade test."
|
||||
msgstr "Dağıtım yükseltmesi denemesi başlatılıyor."
|
||||
|
||||
#: plinth/modules/users/__init__.py:29
|
||||
#: plinth/modules/users/__init__.py:30
|
||||
msgid ""
|
||||
"Create and manage user accounts. These accounts serve as centralized "
|
||||
"authentication mechanism for most apps. Some apps further require a user "
|
||||
@ -7501,7 +7537,7 @@ msgstr ""
|
||||
"kullanıcıya, uygulamaya erişme yetkisi vermek için bir kullanıcı hesabının "
|
||||
"bir grubun parçası olmasını gerektirir."
|
||||
|
||||
#: plinth/modules/users/__init__.py:34
|
||||
#: plinth/modules/users/__init__.py:35
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Any user may login to {box_name} web interface to see a list of apps "
|
||||
@ -7513,19 +7549,29 @@ msgstr ""
|
||||
"sadece <em>admin</em> grubunun kullanıcıları uygulamaları veya sistem "
|
||||
"ayarlarını değiştirebilir."
|
||||
|
||||
#: plinth/modules/users/__init__.py:55
|
||||
#: plinth/modules/users/__init__.py:56
|
||||
msgid "Users and Groups"
|
||||
msgstr "Kullanıcılar ve Gruplar"
|
||||
|
||||
#: plinth/modules/users/__init__.py:80
|
||||
#: plinth/modules/users/__init__.py:81
|
||||
msgid "Access to all services and system settings"
|
||||
msgstr "Tüm hizmetlere ve sistem ayarlarına erişim"
|
||||
|
||||
#: plinth/modules/users/__init__.py:116
|
||||
#: plinth/modules/users/__init__.py:124
|
||||
#, python-brace-format
|
||||
msgid "Check LDAP entry \"{search_item}\""
|
||||
msgstr "LDAP \"{search_item}\" girişini denetleme"
|
||||
|
||||
#: plinth/modules/users/__init__.py:137
|
||||
#, python-brace-format
|
||||
msgid "Check nslcd config \"{key} {value}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:166
|
||||
#, python-brace-format
|
||||
msgid "Check nsswitch config \"{database}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/forms.py:35
|
||||
msgid "Username is taken or is reserved."
|
||||
msgstr "Kullanıcı adı alınmış veya ayrılmış."
|
||||
@ -8715,7 +8761,13 @@ msgstr "Güncelle"
|
||||
msgid "Backup"
|
||||
msgstr "Yedekle"
|
||||
|
||||
#: plinth/templates/toolbar.html:51 plinth/templates/toolbar.html:52
|
||||
#: plinth/templates/toolbar.html:53
|
||||
#, fuzzy
|
||||
#| msgid "Start setup"
|
||||
msgid "Re-run setup"
|
||||
msgstr "Ayarlamayı başlat"
|
||||
|
||||
#: plinth/templates/toolbar.html:59 plinth/templates/toolbar.html:60
|
||||
#: plinth/templates/uninstall.html:30
|
||||
msgid "Uninstall"
|
||||
msgstr "Kaldır"
|
||||
@ -8733,11 +8785,11 @@ msgstr ""
|
||||
"Tüm uygulama verileri ve yapılandırması kalıcı olarak kaybolacaktır. "
|
||||
"Uygulama tekrar yeni olarak yüklenebilir."
|
||||
|
||||
#: plinth/views.py:239
|
||||
#: plinth/views.py:241
|
||||
msgid "Setting unchanged"
|
||||
msgstr "Ayar değişmedi"
|
||||
|
||||
#: plinth/views.py:456
|
||||
#: plinth/views.py:478
|
||||
#, python-brace-format
|
||||
msgid "before uninstall of {app_id}"
|
||||
msgstr "{app_id} kaldırılmadan önce"
|
||||
@ -8746,6 +8798,14 @@ msgstr "{app_id} kaldırılmadan önce"
|
||||
msgid "Gujarati"
|
||||
msgstr "Gujarati"
|
||||
|
||||
#, python-brace-format
|
||||
#~ msgid ""
|
||||
#~ "A Tor SOCKS port is available on your {box_name} for internal networks on "
|
||||
#~ "TCP port 9050."
|
||||
#~ msgstr ""
|
||||
#~ "9050 nolu TCP bağlantı noktası üzerindeki dahili ağlar için {box_name} "
|
||||
#~ "cihazınızda bir Tor SOCKS bağlantı noktası kullanılabilir."
|
||||
|
||||
#, python-brace-format
|
||||
#~ msgid ""
|
||||
#~ "When enabled, text box for server input is removed from login page and "
|
||||
@ -9556,9 +9616,6 @@ msgstr "Gujarati"
|
||||
#~ "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"
|
||||
|
||||
@ -10235,11 +10292,6 @@ msgstr "Gujarati"
|
||||
#~ msgid "Error setting default app: {exception}"
|
||||
#~ msgstr "Dilin ayarlanmasında hata: {exception}"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Default"
|
||||
#~ msgid "Default app set"
|
||||
#~ msgstr "Varsayılan"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "NTP client in contact with servers"
|
||||
#~ msgid "chrony client in contact with servers"
|
||||
|
||||
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-06-19 20:15-0400\n"
|
||||
"POT-Creation-Date: 2023-07-31 20:04-0400\n"
|
||||
"PO-Revision-Date: 2023-06-21 13:49+0000\n"
|
||||
"Last-Translator: Ihor Hordiichuk <igor_ck@outlook.com>\n"
|
||||
"Language-Team: Ukrainian <https://hosted.weblate.org/projects/freedombox/"
|
||||
@ -29,7 +29,7 @@ msgstr "Джерело сторінки"
|
||||
msgid "Static configuration {etc_path} is setup properly"
|
||||
msgstr "Статична конфігурація {etc_path} налаштована належним чином"
|
||||
|
||||
#: plinth/context_processors.py:23 plinth/views.py:92
|
||||
#: plinth/context_processors.py:23 plinth/views.py:94
|
||||
msgid "FreedomBox"
|
||||
msgstr "FreedomBox"
|
||||
|
||||
@ -905,7 +905,8 @@ msgstr "Адміністратор"
|
||||
|
||||
#: plinth/modules/bepasty/views.py:88 plinth/modules/searx/views.py:35
|
||||
#: plinth/modules/searx/views.py:46 plinth/modules/security/views.py:56
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/zoph/views.py:74
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/torproxy/views.py:71
|
||||
#: plinth/modules/zoph/views.py:74
|
||||
msgid "Configuration updated."
|
||||
msgstr "Налаштування оновлено."
|
||||
|
||||
@ -2148,7 +2149,7 @@ msgstr "Порт"
|
||||
msgid "Host/Target/Value"
|
||||
msgstr "Хост/ціль/значення"
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:23
|
||||
#: plinth/modules/firewall/__init__.py:24
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Firewall is a security system that controls the incoming and outgoing "
|
||||
@ -2159,10 +2160,22 @@ msgstr ""
|
||||
"трафік Вашого {box_name}. Тримайте фаєрвол увімкненим і належно "
|
||||
"налаштованим, це зменшить ризик загроз безпеці з Інтернету."
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:59
|
||||
#: plinth/modules/firewall/__init__.py:60
|
||||
msgid "Firewall"
|
||||
msgstr "Фаєрвол"
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:269
|
||||
msgid "Default zone is external"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:276
|
||||
msgid "Firewall backend is nftables"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:287
|
||||
msgid "Direct passthrough rules exist"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/components.py:134
|
||||
#, python-brace-format
|
||||
msgid "Port {name} ({details}) available for internal networks"
|
||||
@ -2841,7 +2854,8 @@ msgstr "Керування застосунком I2P"
|
||||
msgid "I2P"
|
||||
msgstr "I2P"
|
||||
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:49
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:61
|
||||
#: plinth/modules/torproxy/__init__.py:55
|
||||
msgid "Anonymity Network"
|
||||
msgstr "Мережа анонімності"
|
||||
|
||||
@ -5465,7 +5479,7 @@ msgstr "Privoxy"
|
||||
msgid "Web Proxy"
|
||||
msgstr "Вебпроксі"
|
||||
|
||||
#: plinth/modules/privoxy/__init__.py:113
|
||||
#: plinth/modules/privoxy/__init__.py:114
|
||||
#, python-brace-format
|
||||
msgid "Access {url} with proxy {proxy} on tcp{kind}"
|
||||
msgstr "Доступ за адресою {url} через проксі {proxy} по tcp{kind}"
|
||||
@ -6912,7 +6926,7 @@ msgstr "Syncthing"
|
||||
msgid "File Synchronization"
|
||||
msgstr "Синхронізація файлів"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:23
|
||||
#: plinth/modules/tor/__init__.py:31 plinth/modules/torproxy/__init__.py:27
|
||||
msgid ""
|
||||
"Tor is an anonymous communication system. You can learn more about it from "
|
||||
"the <a href=\"https://www.torproject.org/\">Tor Project</a> website. For "
|
||||
@ -6925,56 +6939,48 @@ msgstr ""
|
||||
"під час вебсерфінгу, проєкт Tor радить використовувати <a href=\"https://www."
|
||||
"torproject.org/download/download-easy.html.en\">Tor Browser</a>."
|
||||
|
||||
#: plinth/modules/tor/__init__.py:30
|
||||
#: plinth/modules/tor/__init__.py:37
|
||||
msgid ""
|
||||
"This app provides relay services to contribute to Tor network and help "
|
||||
"others overcome censorship."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:40
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"A Tor SOCKS port is available on your {box_name} for internal networks on "
|
||||
"TCP port 9050."
|
||||
"This app provides an onion domain to expose {box_name} services via the Tor "
|
||||
"network. Using Tor browser, one can access {box_name} from the internet even "
|
||||
"when using an ISP that limits servers at home."
|
||||
msgstr ""
|
||||
"Порт SOCKS для Tor на Вашому {box_name} для внутрішніх мереж – TCP 9050."
|
||||
|
||||
#: plinth/modules/tor/__init__.py:48
|
||||
#: plinth/modules/tor/__init__.py:60
|
||||
msgid "Tor"
|
||||
msgstr "Tor"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:65
|
||||
#: plinth/modules/tor/__init__.py:76
|
||||
msgid "Tor Onion Service"
|
||||
msgstr "Сервіс Tor Onion"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:69
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr "Проксі Tor Socks"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:73
|
||||
#: plinth/modules/tor/__init__.py:80
|
||||
msgid "Tor Bridge Relay"
|
||||
msgstr "Ретранслятор Tor типу міст"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:132
|
||||
#: plinth/modules/tor/__init__.py:135
|
||||
msgid "Tor relay port available"
|
||||
msgstr "Доступний порт ретрансляції Tor"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:143
|
||||
#: plinth/modules/tor/__init__.py:146
|
||||
msgid "Obfs3 transport registered"
|
||||
msgstr "Зареєстровано транспорт Obfs3"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:153
|
||||
#: plinth/modules/tor/__init__.py:156
|
||||
msgid "Obfs4 transport registered"
|
||||
msgstr "Зареєстровано транспорт Obfs4"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:165
|
||||
#: plinth/modules/tor/__init__.py:168
|
||||
msgid "Onion service is version 3"
|
||||
msgstr "Служба Onion версії 3"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:242
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr "Доступ за адресою {url} на tcp{kind} через Tor"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:253
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr "Підтвердити використання Tor можна за посиланням {url} на tcp{kind}"
|
||||
|
||||
#: plinth/modules/tor/forms.py:33
|
||||
msgid ""
|
||||
"Enter a valid bridge with this format: [transport] IP:ORPort [fingerprint]"
|
||||
@ -7010,11 +7016,11 @@ msgstr ""
|
||||
"сюди. Наразі підтримуються такі види транспорту: none, obfs3, obfs4 та "
|
||||
"scamblesuit."
|
||||
|
||||
#: plinth/modules/tor/forms.py:91
|
||||
#: plinth/modules/tor/forms.py:95
|
||||
msgid "Enable Tor relay"
|
||||
msgstr "Увімкнути ретранслятор Tor"
|
||||
|
||||
#: plinth/modules/tor/forms.py:92
|
||||
#: plinth/modules/tor/forms.py:96
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"When enabled, your {box_name} will run a Tor relay and donate bandwidth to "
|
||||
@ -7025,11 +7031,11 @@ msgstr ""
|
||||
"пропускну здатність мережі Tor. Зробіть це, якщо у вас є більше 2 мегабіт/с "
|
||||
"пропускної здатності для завантаження і вивантаження."
|
||||
|
||||
#: plinth/modules/tor/forms.py:97
|
||||
#: plinth/modules/tor/forms.py:101
|
||||
msgid "Enable Tor bridge relay"
|
||||
msgstr "Увімкнути ретранслятор моста Tor"
|
||||
|
||||
#: plinth/modules/tor/forms.py:99
|
||||
#: plinth/modules/tor/forms.py:103
|
||||
msgid ""
|
||||
"When enabled, relay information is published in the Tor bridge database "
|
||||
"instead of public Tor relay database making it harder to censor this node. "
|
||||
@ -7039,11 +7045,11 @@ msgstr ""
|
||||
"не в загальнодоступній базі даних ретрансляції Tor, що ускладнює цензуру "
|
||||
"цього вузла. Це допомагає іншим обходити цензуру."
|
||||
|
||||
#: plinth/modules/tor/forms.py:104
|
||||
#: plinth/modules/tor/forms.py:108
|
||||
msgid "Enable Tor Onion Service"
|
||||
msgstr "Увімкнути службу Tor Onion"
|
||||
|
||||
#: plinth/modules/tor/forms.py:106
|
||||
#: plinth/modules/tor/forms.py:110
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"An onion service will allow {box_name} to provide selected services (such as "
|
||||
@ -7054,30 +7060,16 @@ msgstr ""
|
||||
"чат), не розкриваючи свого місця перебування. Не використовуйте це для "
|
||||
"повної анонімності."
|
||||
|
||||
#: plinth/modules/tor/forms.py:111
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr "Завантажувати пакунки програмного забезпечення через Tor"
|
||||
|
||||
#: plinth/modules/tor/forms.py:112
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
"Якщо увімкнено, програмне забезпечення буде завантажуватися через мережу Tor "
|
||||
"для встановлення та оновлення. Це додає певний рівень конфіденційності та "
|
||||
"безпеки під час завантаження програмного забезпечення."
|
||||
|
||||
#: plinth/modules/tor/forms.py:127
|
||||
#: plinth/modules/tor/forms.py:125
|
||||
msgid "Specify at least one upstream bridge to use upstream bridges."
|
||||
msgstr ""
|
||||
"Указати хоча б один upstream-міст для використання мостів вище за течією."
|
||||
|
||||
#: plinth/modules/tor/manifest.py:15
|
||||
#: plinth/modules/tor/manifest.py:15 plinth/modules/torproxy/manifest.py:14
|
||||
msgid "Tor Browser"
|
||||
msgstr "Tor Browser"
|
||||
|
||||
#: plinth/modules/tor/manifest.py:31
|
||||
#: plinth/modules/tor/manifest.py:31 plinth/modules/torproxy/manifest.py:30
|
||||
msgid "Orbot: Proxy with Tor"
|
||||
msgstr "Orbot: проксі з Tor"
|
||||
|
||||
@ -7089,15 +7081,58 @@ msgstr "Сервіс Onion"
|
||||
msgid "Ports"
|
||||
msgstr "Порти"
|
||||
|
||||
#: plinth/modules/tor/views.py:53
|
||||
#: plinth/modules/tor/views.py:53 plinth/modules/torproxy/views.py:51
|
||||
msgid "Updating configuration"
|
||||
msgstr "Оновлення налаштувань"
|
||||
|
||||
#: plinth/modules/tor/views.py:70
|
||||
#: plinth/modules/tor/views.py:70 plinth/modules/torproxy/views.py:68
|
||||
#, python-brace-format
|
||||
msgid "Error configuring app: {error}"
|
||||
msgstr "Помилка налаштування застосунку: {error}"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:34
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides a web proxy on your {box_name} for internal networks on "
|
||||
"TCP port 9050 using the SOCKS protocol. This can be used by various apps to "
|
||||
"access the internet via the Tor network. ISP censorship can be circumvented "
|
||||
"using upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:54
|
||||
#, fuzzy
|
||||
#| msgid "Tor Socks Proxy"
|
||||
msgid "Tor Proxy"
|
||||
msgstr "Проксі Tor Socks"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:79
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr "Проксі Tor Socks"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:138
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr "Доступ за адресою {url} на tcp{kind} через Tor"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:149
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr "Підтвердити використання Tor можна за посиланням {url} на tcp{kind}"
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:15
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr "Завантажувати пакунки програмного забезпечення через Tor"
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:16
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
"Якщо увімкнено, програмне забезпечення буде завантажуватися через мережу Tor "
|
||||
"для встановлення та оновлення. Це додає певний рівень конфіденційності та "
|
||||
"безпеки під час завантаження програмного забезпечення."
|
||||
|
||||
#: plinth/modules/transmission/__init__.py:25
|
||||
msgid "Transmission is a BitTorrent client with a web interface."
|
||||
msgstr "Transmission – це клієнт BitTorrent із вебінтерфейсом."
|
||||
@ -7483,7 +7518,7 @@ msgstr "Оновлення частих можливостей активова
|
||||
msgid "Starting distribution upgrade test."
|
||||
msgstr "Запуск тесту оновлення дистрибутиву."
|
||||
|
||||
#: plinth/modules/users/__init__.py:29
|
||||
#: plinth/modules/users/__init__.py:30
|
||||
msgid ""
|
||||
"Create and manage user accounts. These accounts serve as centralized "
|
||||
"authentication mechanism for most apps. Some apps further require a user "
|
||||
@ -7494,7 +7529,7 @@ msgstr ""
|
||||
"застосунки також вимагають, щоб обліковий запис був частиною групи, щоб "
|
||||
"отримати авторизований доступ до застосунку."
|
||||
|
||||
#: plinth/modules/users/__init__.py:34
|
||||
#: plinth/modules/users/__init__.py:35
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Any user may login to {box_name} web interface to see a list of apps "
|
||||
@ -7506,19 +7541,29 @@ msgstr ""
|
||||
"користувачі з групи <em>admin</em> можуть змінювати застосунки або системні "
|
||||
"налаштування."
|
||||
|
||||
#: plinth/modules/users/__init__.py:55
|
||||
#: plinth/modules/users/__init__.py:56
|
||||
msgid "Users and Groups"
|
||||
msgstr "Користувачі і групи"
|
||||
|
||||
#: plinth/modules/users/__init__.py:80
|
||||
#: plinth/modules/users/__init__.py:81
|
||||
msgid "Access to all services and system settings"
|
||||
msgstr "Доступ до всіх сервісів і налаштувань системи"
|
||||
|
||||
#: plinth/modules/users/__init__.py:116
|
||||
#: plinth/modules/users/__init__.py:124
|
||||
#, python-brace-format
|
||||
msgid "Check LDAP entry \"{search_item}\""
|
||||
msgstr "Перевірка запису LDAP \"{search_item}\""
|
||||
|
||||
#: plinth/modules/users/__init__.py:137
|
||||
#, python-brace-format
|
||||
msgid "Check nslcd config \"{key} {value}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:166
|
||||
#, python-brace-format
|
||||
msgid "Check nsswitch config \"{database}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/forms.py:35
|
||||
msgid "Username is taken or is reserved."
|
||||
msgstr "Імʼя користувача зайняте або зарезервоване."
|
||||
@ -8706,7 +8751,11 @@ msgstr "Оновити"
|
||||
msgid "Backup"
|
||||
msgstr "Резервна копія"
|
||||
|
||||
#: plinth/templates/toolbar.html:51 plinth/templates/toolbar.html:52
|
||||
#: plinth/templates/toolbar.html:53
|
||||
msgid "Re-run setup"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/templates/toolbar.html:59 plinth/templates/toolbar.html:60
|
||||
#: plinth/templates/uninstall.html:30
|
||||
msgid "Uninstall"
|
||||
msgstr "Видалити"
|
||||
@ -8724,11 +8773,11 @@ msgstr ""
|
||||
"Усі дані програми та налаштування буде втрачено назавжди. Застосунок можна "
|
||||
"встановити начисто ще раз."
|
||||
|
||||
#: plinth/views.py:239
|
||||
#: plinth/views.py:241
|
||||
msgid "Setting unchanged"
|
||||
msgstr "Налаштування не змінено"
|
||||
|
||||
#: plinth/views.py:456
|
||||
#: plinth/views.py:478
|
||||
#, python-brace-format
|
||||
msgid "before uninstall of {app_id}"
|
||||
msgstr "перед видаленням {app_id}"
|
||||
@ -8737,6 +8786,13 @@ msgstr "перед видаленням {app_id}"
|
||||
msgid "Gujarati"
|
||||
msgstr "Gujarati"
|
||||
|
||||
#, python-brace-format
|
||||
#~ msgid ""
|
||||
#~ "A Tor SOCKS port is available on your {box_name} for internal networks on "
|
||||
#~ "TCP port 9050."
|
||||
#~ msgstr ""
|
||||
#~ "Порт SOCKS для Tor на Вашому {box_name} для внутрішніх мереж – TCP 9050."
|
||||
|
||||
#, python-brace-format
|
||||
#~ msgid ""
|
||||
#~ "When enabled, text box for server input is removed from login page and "
|
||||
|
||||
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-06-19 20:15-0400\n"
|
||||
"POT-Creation-Date: 2023-07-31 20:04-0400\n"
|
||||
"PO-Revision-Date: 2021-07-28 08:34+0000\n"
|
||||
"Last-Translator: bruh <quangtrung02hn16@gmail.com>\n"
|
||||
"Language-Team: Vietnamese <https://hosted.weblate.org/projects/freedombox/"
|
||||
@ -28,7 +28,7 @@ msgstr "Nguồn của trang"
|
||||
msgid "Static configuration {etc_path} is setup properly"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/context_processors.py:23 plinth/views.py:92
|
||||
#: plinth/context_processors.py:23 plinth/views.py:94
|
||||
msgid "FreedomBox"
|
||||
msgstr "FreedomBox"
|
||||
|
||||
@ -916,7 +916,8 @@ msgstr "Quản trị viên"
|
||||
|
||||
#: plinth/modules/bepasty/views.py:88 plinth/modules/searx/views.py:35
|
||||
#: plinth/modules/searx/views.py:46 plinth/modules/security/views.py:56
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/zoph/views.py:74
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/torproxy/views.py:71
|
||||
#: plinth/modules/zoph/views.py:74
|
||||
msgid "Configuration updated."
|
||||
msgstr "Đã cập nhật thiết lập."
|
||||
|
||||
@ -2141,7 +2142,7 @@ msgstr ""
|
||||
msgid "Host/Target/Value"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:23
|
||||
#: plinth/modules/firewall/__init__.py:24
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Firewall is a security system that controls the incoming and outgoing "
|
||||
@ -2149,10 +2150,22 @@ msgid ""
|
||||
"configured reduces risk of security threat from the Internet."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:59
|
||||
#: plinth/modules/firewall/__init__.py:60
|
||||
msgid "Firewall"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:269
|
||||
msgid "Default zone is external"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:276
|
||||
msgid "Firewall backend is nftables"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:287
|
||||
msgid "Direct passthrough rules exist"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/components.py:134
|
||||
#, python-brace-format
|
||||
msgid "Port {name} ({details}) available for internal networks"
|
||||
@ -2725,7 +2738,8 @@ msgstr ""
|
||||
msgid "I2P"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:49
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:61
|
||||
#: plinth/modules/torproxy/__init__.py:55
|
||||
msgid "Anonymity Network"
|
||||
msgstr ""
|
||||
|
||||
@ -5005,7 +5019,7 @@ msgstr ""
|
||||
msgid "Web Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/privoxy/__init__.py:113
|
||||
#: plinth/modules/privoxy/__init__.py:114
|
||||
#, python-brace-format
|
||||
msgid "Access {url} with proxy {proxy} on tcp{kind}"
|
||||
msgstr ""
|
||||
@ -6262,7 +6276,7 @@ msgstr ""
|
||||
msgid "File Synchronization"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:23
|
||||
#: plinth/modules/tor/__init__.py:31 plinth/modules/torproxy/__init__.py:27
|
||||
msgid ""
|
||||
"Tor is an anonymous communication system. You can learn more about it from "
|
||||
"the <a href=\"https://www.torproject.org/\">Tor Project</a> website. For "
|
||||
@ -6271,55 +6285,48 @@ msgid ""
|
||||
"en\">Tor Browser</a>."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:30
|
||||
#, python-brace-format
|
||||
#: plinth/modules/tor/__init__.py:37
|
||||
msgid ""
|
||||
"A Tor SOCKS port is available on your {box_name} for internal networks on "
|
||||
"TCP port 9050."
|
||||
"This app provides relay services to contribute to Tor network and help "
|
||||
"others overcome censorship."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:48
|
||||
#: plinth/modules/tor/__init__.py:40
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides an onion domain to expose {box_name} services via the Tor "
|
||||
"network. Using Tor browser, one can access {box_name} from the internet even "
|
||||
"when using an ISP that limits servers at home."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:60
|
||||
msgid "Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:65
|
||||
#: plinth/modules/tor/__init__.py:76
|
||||
msgid "Tor Onion Service"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:69
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:73
|
||||
#: plinth/modules/tor/__init__.py:80
|
||||
msgid "Tor Bridge Relay"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:132
|
||||
#: plinth/modules/tor/__init__.py:135
|
||||
msgid "Tor relay port available"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:143
|
||||
#: plinth/modules/tor/__init__.py:146
|
||||
msgid "Obfs3 transport registered"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:153
|
||||
#: plinth/modules/tor/__init__.py:156
|
||||
msgid "Obfs4 transport registered"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:165
|
||||
#: plinth/modules/tor/__init__.py:168
|
||||
msgid "Onion service is version 3"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:242
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:253
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:33
|
||||
msgid ""
|
||||
"Enter a valid bridge with this format: [transport] IP:ORPort [fingerprint]"
|
||||
@ -6347,11 +6354,11 @@ msgid ""
|
||||
"here. Currently supported transports are none, obfs3, obfs4 and scamblesuit."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:91
|
||||
#: plinth/modules/tor/forms.py:95
|
||||
msgid "Enable Tor relay"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:92
|
||||
#: plinth/modules/tor/forms.py:96
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"When enabled, your {box_name} will run a Tor relay and donate bandwidth to "
|
||||
@ -6359,22 +6366,22 @@ msgid ""
|
||||
"download bandwidth."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:97
|
||||
#: plinth/modules/tor/forms.py:101
|
||||
msgid "Enable Tor bridge relay"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:99
|
||||
#: plinth/modules/tor/forms.py:103
|
||||
msgid ""
|
||||
"When enabled, relay information is published in the Tor bridge database "
|
||||
"instead of public Tor relay database making it harder to censor this node. "
|
||||
"This helps others circumvent censorship."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:104
|
||||
#: plinth/modules/tor/forms.py:108
|
||||
msgid "Enable Tor Onion Service"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:106
|
||||
#: plinth/modules/tor/forms.py:110
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"An onion service will allow {box_name} to provide selected services (such as "
|
||||
@ -6382,26 +6389,15 @@ msgid ""
|
||||
"anonymity yet."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:111
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:112
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:127
|
||||
#: plinth/modules/tor/forms.py:125
|
||||
msgid "Specify at least one upstream bridge to use upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/manifest.py:15
|
||||
#: plinth/modules/tor/manifest.py:15 plinth/modules/torproxy/manifest.py:14
|
||||
msgid "Tor Browser"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/manifest.py:31
|
||||
#: plinth/modules/tor/manifest.py:31 plinth/modules/torproxy/manifest.py:30
|
||||
msgid "Orbot: Proxy with Tor"
|
||||
msgstr ""
|
||||
|
||||
@ -6413,18 +6409,56 @@ msgstr ""
|
||||
msgid "Ports"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/views.py:53
|
||||
#: plinth/modules/tor/views.py:53 plinth/modules/torproxy/views.py:51
|
||||
#, fuzzy
|
||||
#| msgid "An error occurred during configuration."
|
||||
msgid "Updating configuration"
|
||||
msgstr "Đã xảy ra lỗi trong khi thiết lập."
|
||||
|
||||
#: plinth/modules/tor/views.py:70
|
||||
#: plinth/modules/tor/views.py:70 plinth/modules/torproxy/views.py:68
|
||||
#, fuzzy, python-brace-format
|
||||
#| msgid "Error installing application: {error}"
|
||||
msgid "Error configuring app: {error}"
|
||||
msgstr "Lỗi khi cài đặt ứng dụng: {error}"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:34
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides a web proxy on your {box_name} for internal networks on "
|
||||
"TCP port 9050 using the SOCKS protocol. This can be used by various apps to "
|
||||
"access the internet via the Tor network. ISP censorship can be circumvented "
|
||||
"using upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:54
|
||||
msgid "Tor Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:79
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:138
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:149
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:15
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:16
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/transmission/__init__.py:25
|
||||
msgid "Transmission is a BitTorrent client with a web interface."
|
||||
msgstr ""
|
||||
@ -6760,14 +6794,14 @@ msgstr ""
|
||||
msgid "Starting distribution upgrade test."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:29
|
||||
#: plinth/modules/users/__init__.py:30
|
||||
msgid ""
|
||||
"Create and manage user accounts. These accounts serve as centralized "
|
||||
"authentication mechanism for most apps. Some apps further require a user "
|
||||
"account to be part of a group to authorize the user to access the app."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:34
|
||||
#: plinth/modules/users/__init__.py:35
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Any user may login to {box_name} web interface to see a list of apps "
|
||||
@ -6775,19 +6809,29 @@ msgid ""
|
||||
"group may alter apps or system settings."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:55
|
||||
#: plinth/modules/users/__init__.py:56
|
||||
msgid "Users and Groups"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:80
|
||||
#: plinth/modules/users/__init__.py:81
|
||||
msgid "Access to all services and system settings"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:116
|
||||
#: plinth/modules/users/__init__.py:124
|
||||
#, python-brace-format
|
||||
msgid "Check LDAP entry \"{search_item}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:137
|
||||
#, python-brace-format
|
||||
msgid "Check nslcd config \"{key} {value}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:166
|
||||
#, python-brace-format
|
||||
msgid "Check nsswitch config \"{database}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/forms.py:35
|
||||
msgid "Username is taken or is reserved."
|
||||
msgstr ""
|
||||
@ -7872,7 +7916,11 @@ msgstr "Cập nhật"
|
||||
msgid "Backup"
|
||||
msgstr "Sao lưu"
|
||||
|
||||
#: plinth/templates/toolbar.html:51 plinth/templates/toolbar.html:52
|
||||
#: plinth/templates/toolbar.html:53
|
||||
msgid "Re-run setup"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/templates/toolbar.html:59 plinth/templates/toolbar.html:60
|
||||
#: plinth/templates/uninstall.html:30
|
||||
#, fuzzy
|
||||
#| msgid "Application installed."
|
||||
@ -7891,11 +7939,11 @@ msgid ""
|
||||
"installed freshly again."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/views.py:239
|
||||
#: plinth/views.py:241
|
||||
msgid "Setting unchanged"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/views.py:456
|
||||
#: plinth/views.py:478
|
||||
#, python-brace-format
|
||||
msgid "before uninstall of {app_id}"
|
||||
msgstr ""
|
||||
|
||||
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Plinth\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-06-19 20:15-0400\n"
|
||||
"POT-Creation-Date: 2023-07-31 20:04-0400\n"
|
||||
"PO-Revision-Date: 2022-12-07 20:48+0000\n"
|
||||
"Last-Translator: Eric <hamburger1024@duck.com>\n"
|
||||
"Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/"
|
||||
@ -28,7 +28,7 @@ msgstr "来源页面"
|
||||
msgid "Static configuration {etc_path} is setup properly"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/context_processors.py:23 plinth/views.py:92
|
||||
#: plinth/context_processors.py:23 plinth/views.py:94
|
||||
msgid "FreedomBox"
|
||||
msgstr "FreedomBox"
|
||||
|
||||
@ -868,7 +868,8 @@ msgstr "管理员"
|
||||
|
||||
#: plinth/modules/bepasty/views.py:88 plinth/modules/searx/views.py:35
|
||||
#: plinth/modules/searx/views.py:46 plinth/modules/security/views.py:56
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/zoph/views.py:74
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/torproxy/views.py:71
|
||||
#: plinth/modules/zoph/views.py:74
|
||||
msgid "Configuration updated."
|
||||
msgstr "配置已更新。"
|
||||
|
||||
@ -2025,7 +2026,7 @@ msgstr "端口"
|
||||
msgid "Host/Target/Value"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:23
|
||||
#: plinth/modules/firewall/__init__.py:24
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Firewall is a security system that controls the incoming and outgoing "
|
||||
@ -2035,10 +2036,24 @@ msgstr ""
|
||||
"防火墙控制你的 {box_name} 上的进出网络流量。启用并正确配置防火墙上可以减少来"
|
||||
"自互联网的安全威胁。"
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:59
|
||||
#: plinth/modules/firewall/__init__.py:60
|
||||
msgid "Firewall"
|
||||
msgstr "防火墙"
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:269
|
||||
#, fuzzy
|
||||
#| msgid "Default"
|
||||
msgid "Default zone is external"
|
||||
msgstr "默认"
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:276
|
||||
msgid "Firewall backend is nftables"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:287
|
||||
msgid "Direct passthrough rules exist"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/components.py:134
|
||||
#, python-brace-format
|
||||
msgid "Port {name} ({details}) available for internal networks"
|
||||
@ -2641,7 +2656,8 @@ msgstr "管理 I2P 应用程序"
|
||||
msgid "I2P"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:49
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:61
|
||||
#: plinth/modules/torproxy/__init__.py:55
|
||||
msgid "Anonymity Network"
|
||||
msgstr "匿名网络"
|
||||
|
||||
@ -4975,7 +4991,7 @@ msgstr "Privoxy"
|
||||
msgid "Web Proxy"
|
||||
msgstr "Web 代理"
|
||||
|
||||
#: plinth/modules/privoxy/__init__.py:113
|
||||
#: plinth/modules/privoxy/__init__.py:114
|
||||
#, python-brace-format
|
||||
msgid "Access {url} with proxy {proxy} on tcp{kind}"
|
||||
msgstr "在 tcp{kind} 上通过 {proxy} 访问 {url}"
|
||||
@ -6261,7 +6277,7 @@ msgstr ""
|
||||
msgid "File Synchronization"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:23
|
||||
#: plinth/modules/tor/__init__.py:31 plinth/modules/torproxy/__init__.py:27
|
||||
msgid ""
|
||||
"Tor is an anonymous communication system. You can learn more about it from "
|
||||
"the <a href=\"https://www.torproject.org/\">Tor Project</a> website. For "
|
||||
@ -6274,57 +6290,50 @@ msgstr ""
|
||||
"href=\"https://www.torproject.org/download/download-easy.html.en\">Tor浏览器"
|
||||
"</a>。"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:30
|
||||
#: plinth/modules/tor/__init__.py:37
|
||||
msgid ""
|
||||
"This app provides relay services to contribute to Tor network and help "
|
||||
"others overcome censorship."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:40
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"A Tor SOCKS port is available on your {box_name} for internal networks on "
|
||||
"TCP port 9050."
|
||||
msgstr "你的 {box_name} 有一个 Tor SOCKS 端口在 TCP 端口 9050 上对内网可用。"
|
||||
"This app provides an onion domain to expose {box_name} services via the Tor "
|
||||
"network. Using Tor browser, one can access {box_name} from the internet even "
|
||||
"when using an ISP that limits servers at home."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:48
|
||||
#: plinth/modules/tor/__init__.py:60
|
||||
msgid "Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:65
|
||||
#: plinth/modules/tor/__init__.py:76
|
||||
msgid "Tor Onion Service"
|
||||
msgstr "Tor 洋葱服务"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:69
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:73
|
||||
#: plinth/modules/tor/__init__.py:80
|
||||
msgid "Tor Bridge Relay"
|
||||
msgstr "Tor 网桥中继"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:132
|
||||
#: plinth/modules/tor/__init__.py:135
|
||||
msgid "Tor relay port available"
|
||||
msgstr "Tor 中继端口可用"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:143
|
||||
#: plinth/modules/tor/__init__.py:146
|
||||
msgid "Obfs3 transport registered"
|
||||
msgstr "已注册 Obfs3 传输"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:153
|
||||
#: plinth/modules/tor/__init__.py:156
|
||||
msgid "Obfs4 transport registered"
|
||||
msgstr "已注册 Obfs4 传输"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:165
|
||||
#: plinth/modules/tor/__init__.py:168
|
||||
#, fuzzy
|
||||
#| msgid "Onion Service"
|
||||
msgid "Onion service is version 3"
|
||||
msgstr "洋葱服务"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:242
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr "在 tcp{kind} 上通过 Tor 访问 {url}"
|
||||
|
||||
#: plinth/modules/tor/__init__.py:253
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr "确认使用 Tor 通过 tcp{kind} 访问 {url}"
|
||||
|
||||
#: plinth/modules/tor/forms.py:33
|
||||
msgid ""
|
||||
"Enter a valid bridge with this format: [transport] IP:ORPort [fingerprint]"
|
||||
@ -6352,11 +6361,11 @@ msgid ""
|
||||
"here. Currently supported transports are none, obfs3, obfs4 and scamblesuit."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:91
|
||||
#: plinth/modules/tor/forms.py:95
|
||||
msgid "Enable Tor relay"
|
||||
msgstr "启用 Tor 中继"
|
||||
|
||||
#: plinth/modules/tor/forms.py:92
|
||||
#: plinth/modules/tor/forms.py:96
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"When enabled, your {box_name} will run a Tor relay and donate bandwidth to "
|
||||
@ -6366,11 +6375,11 @@ msgstr ""
|
||||
"启用后,您的 {box_name} 将运行 Tor 中继,并向 Tor 网络分配带宽。如果您的上传"
|
||||
"和下载带宽超过 2 MB/s,请执行此操作。"
|
||||
|
||||
#: plinth/modules/tor/forms.py:97
|
||||
#: plinth/modules/tor/forms.py:101
|
||||
msgid "Enable Tor bridge relay"
|
||||
msgstr "启用 Tor 网桥中继"
|
||||
|
||||
#: plinth/modules/tor/forms.py:99
|
||||
#: plinth/modules/tor/forms.py:103
|
||||
msgid ""
|
||||
"When enabled, relay information is published in the Tor bridge database "
|
||||
"instead of public Tor relay database making it harder to censor this node. "
|
||||
@ -6379,13 +6388,13 @@ msgstr ""
|
||||
"当启用时,中继信息在 Tor 桥数据库中发布,而不是公共 Tor 中继数据库,使得更难"
|
||||
"以检查此节点。这有助于其他人绕过审查。"
|
||||
|
||||
#: plinth/modules/tor/forms.py:104
|
||||
#: plinth/modules/tor/forms.py:108
|
||||
#, fuzzy
|
||||
#| msgid "Enable Tor Hidden Service"
|
||||
msgid "Enable Tor Onion Service"
|
||||
msgstr "启用 Tor 隐藏服务"
|
||||
|
||||
#: plinth/modules/tor/forms.py:106
|
||||
#: plinth/modules/tor/forms.py:110
|
||||
#, fuzzy, python-brace-format
|
||||
#| msgid ""
|
||||
#| "A hidden service will allow {box_name} to provide selected services (such "
|
||||
@ -6399,28 +6408,15 @@ msgstr ""
|
||||
"隐藏的服务将允许 {box_name} 提供所选服务(如维基或聊天),而不暴露其位置。如"
|
||||
"果对匿名性要求很高,暂时不要使用它。"
|
||||
|
||||
#: plinth/modules/tor/forms.py:111
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr "通过 Tor 下载软件包"
|
||||
|
||||
#: plinth/modules/tor/forms.py:112
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
"当启用时,软件将会下载 Tor 网络的安装和升级。这在软件下载过程中添加了一定程度"
|
||||
"的隐私和安全。"
|
||||
|
||||
#: plinth/modules/tor/forms.py:127
|
||||
#: plinth/modules/tor/forms.py:125
|
||||
msgid "Specify at least one upstream bridge to use upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/manifest.py:15
|
||||
#: plinth/modules/tor/manifest.py:15 plinth/modules/torproxy/manifest.py:14
|
||||
msgid "Tor Browser"
|
||||
msgstr "洋葱浏览器"
|
||||
|
||||
#: plinth/modules/tor/manifest.py:31
|
||||
#: plinth/modules/tor/manifest.py:31 plinth/modules/torproxy/manifest.py:30
|
||||
msgid "Orbot: Proxy with Tor"
|
||||
msgstr ""
|
||||
|
||||
@ -6432,15 +6428,57 @@ msgstr "洋葱服务"
|
||||
msgid "Ports"
|
||||
msgstr "端口"
|
||||
|
||||
#: plinth/modules/tor/views.py:53
|
||||
#: plinth/modules/tor/views.py:53 plinth/modules/torproxy/views.py:51
|
||||
msgid "Updating configuration"
|
||||
msgstr "更新配置"
|
||||
|
||||
#: plinth/modules/tor/views.py:70
|
||||
#: plinth/modules/tor/views.py:70 plinth/modules/torproxy/views.py:68
|
||||
#, python-brace-format
|
||||
msgid "Error configuring app: {error}"
|
||||
msgstr "配置应用出错:{error}"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:34
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides a web proxy on your {box_name} for internal networks on "
|
||||
"TCP port 9050 using the SOCKS protocol. This can be used by various apps to "
|
||||
"access the internet via the Tor network. ISP censorship can be circumvented "
|
||||
"using upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:54
|
||||
#, fuzzy
|
||||
#| msgid "I2P Proxy"
|
||||
msgid "Tor Proxy"
|
||||
msgstr "I2P 代理"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:79
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:138
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr "在 tcp{kind} 上通过 Tor 访问 {url}"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:149
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr "确认使用 Tor 通过 tcp{kind} 访问 {url}"
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:15
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr "通过 Tor 下载软件包"
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:16
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
"当启用时,软件将会下载 Tor 网络的安装和升级。这在软件下载过程中添加了一定程度"
|
||||
"的隐私和安全。"
|
||||
|
||||
#: plinth/modules/transmission/__init__.py:25
|
||||
msgid "Transmission is a BitTorrent client with a web interface."
|
||||
msgstr "Transmission 是一个有网页界面的 BitTorrent 客户端。"
|
||||
@ -6779,14 +6817,14 @@ msgstr ""
|
||||
msgid "Starting distribution upgrade test."
|
||||
msgstr "启动分发升级测试。"
|
||||
|
||||
#: plinth/modules/users/__init__.py:29
|
||||
#: plinth/modules/users/__init__.py:30
|
||||
msgid ""
|
||||
"Create and manage user accounts. These accounts serve as centralized "
|
||||
"authentication mechanism for most apps. Some apps further require a user "
|
||||
"account to be part of a group to authorize the user to access the app."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:34
|
||||
#: plinth/modules/users/__init__.py:35
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Any user may login to {box_name} web interface to see a list of apps "
|
||||
@ -6794,19 +6832,29 @@ msgid ""
|
||||
"group may alter apps or system settings."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:55
|
||||
#: plinth/modules/users/__init__.py:56
|
||||
msgid "Users and Groups"
|
||||
msgstr "用户和组"
|
||||
|
||||
#: plinth/modules/users/__init__.py:80
|
||||
#: plinth/modules/users/__init__.py:81
|
||||
msgid "Access to all services and system settings"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:116
|
||||
#: plinth/modules/users/__init__.py:124
|
||||
#, python-brace-format
|
||||
msgid "Check LDAP entry \"{search_item}\""
|
||||
msgstr "请检查 LDAP 条目“{search_item}”"
|
||||
|
||||
#: plinth/modules/users/__init__.py:137
|
||||
#, python-brace-format
|
||||
msgid "Check nslcd config \"{key} {value}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:166
|
||||
#, python-brace-format
|
||||
msgid "Check nsswitch config \"{database}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/forms.py:35
|
||||
msgid "Username is taken or is reserved."
|
||||
msgstr "用户名已经占用或保留。"
|
||||
@ -7897,7 +7945,13 @@ msgstr "更新"
|
||||
msgid "Backup"
|
||||
msgstr "备份"
|
||||
|
||||
#: plinth/templates/toolbar.html:51 plinth/templates/toolbar.html:52
|
||||
#: plinth/templates/toolbar.html:53
|
||||
#, fuzzy
|
||||
#| msgid "Start setup"
|
||||
msgid "Re-run setup"
|
||||
msgstr "启动安装程序"
|
||||
|
||||
#: plinth/templates/toolbar.html:59 plinth/templates/toolbar.html:60
|
||||
#: plinth/templates/uninstall.html:30
|
||||
msgid "Uninstall"
|
||||
msgstr "卸载"
|
||||
@ -7913,11 +7967,11 @@ msgid ""
|
||||
"installed freshly again."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/views.py:239
|
||||
#: plinth/views.py:241
|
||||
msgid "Setting unchanged"
|
||||
msgstr "设置未改变"
|
||||
|
||||
#: plinth/views.py:456
|
||||
#: plinth/views.py:478
|
||||
#, python-brace-format
|
||||
msgid "before uninstall of {app_id}"
|
||||
msgstr ""
|
||||
@ -7926,6 +7980,13 @@ msgstr ""
|
||||
msgid "Gujarati"
|
||||
msgstr "古吉拉特语"
|
||||
|
||||
#, python-brace-format
|
||||
#~ msgid ""
|
||||
#~ "A Tor SOCKS port is available on your {box_name} for internal networks on "
|
||||
#~ "TCP port 9050."
|
||||
#~ msgstr ""
|
||||
#~ "你的 {box_name} 有一个 Tor SOCKS 端口在 TCP 端口 9050 上对内网可用。"
|
||||
|
||||
#~ msgid "ChatSecure"
|
||||
#~ msgstr "ChatSecure"
|
||||
|
||||
@ -8474,9 +8535,6 @@ msgstr "古吉拉特语"
|
||||
#~ "OpenVPN 尚未安装。 执行安全的安装需要很长的时间。 根据您的 %(box_name)s 运"
|
||||
#~ "行速度,它甚至可能需要小时。 如果安装程序中断,您可以重新启动。"
|
||||
|
||||
#~ msgid "Start setup"
|
||||
#~ msgstr "启动安装程序"
|
||||
|
||||
#~ msgid "OpenVPN setup is running"
|
||||
#~ msgstr "OpenVPN 安装程序正在运行"
|
||||
|
||||
@ -8926,11 +8984,6 @@ msgstr "古吉拉特语"
|
||||
#~ msgid "Error setting default app: {exception}"
|
||||
#~ msgstr "设置语言错误:{exception}"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Default"
|
||||
#~ msgid "Default app set"
|
||||
#~ msgstr "默认"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "NTP client in contact with servers"
|
||||
#~ msgid "chrony client in contact with servers"
|
||||
|
||||
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-06-19 20:15-0400\n"
|
||||
"POT-Creation-Date: 2023-07-31 20:04-0400\n"
|
||||
"PO-Revision-Date: 2021-12-23 12:50+0000\n"
|
||||
"Last-Translator: pesder <j_h_liau@yahoo.com.tw>\n"
|
||||
"Language-Team: Chinese (Traditional) <https://hosted.weblate.org/projects/"
|
||||
@ -28,7 +28,7 @@ msgstr "來源頁面"
|
||||
msgid "Static configuration {etc_path} is setup properly"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/context_processors.py:23 plinth/views.py:92
|
||||
#: plinth/context_processors.py:23 plinth/views.py:94
|
||||
msgid "FreedomBox"
|
||||
msgstr "自由盒子"
|
||||
|
||||
@ -879,7 +879,8 @@ msgstr "管理員"
|
||||
|
||||
#: plinth/modules/bepasty/views.py:88 plinth/modules/searx/views.py:35
|
||||
#: plinth/modules/searx/views.py:46 plinth/modules/security/views.py:56
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/zoph/views.py:74
|
||||
#: plinth/modules/tor/views.py:73 plinth/modules/torproxy/views.py:71
|
||||
#: plinth/modules/zoph/views.py:74
|
||||
msgid "Configuration updated."
|
||||
msgstr "配置已更新。"
|
||||
|
||||
@ -2020,7 +2021,7 @@ msgstr ""
|
||||
msgid "Host/Target/Value"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:23
|
||||
#: plinth/modules/firewall/__init__.py:24
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Firewall is a security system that controls the incoming and outgoing "
|
||||
@ -2028,10 +2029,22 @@ msgid ""
|
||||
"configured reduces risk of security threat from the Internet."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:59
|
||||
#: plinth/modules/firewall/__init__.py:60
|
||||
msgid "Firewall"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:269
|
||||
msgid "Default zone is external"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:276
|
||||
msgid "Firewall backend is nftables"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/__init__.py:287
|
||||
msgid "Direct passthrough rules exist"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/firewall/components.py:134
|
||||
#, python-brace-format
|
||||
msgid "Port {name} ({details}) available for internal networks"
|
||||
@ -2604,7 +2617,8 @@ msgstr ""
|
||||
msgid "I2P"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:49
|
||||
#: plinth/modules/i2p/__init__.py:53 plinth/modules/tor/__init__.py:61
|
||||
#: plinth/modules/torproxy/__init__.py:55
|
||||
msgid "Anonymity Network"
|
||||
msgstr ""
|
||||
|
||||
@ -4880,7 +4894,7 @@ msgstr ""
|
||||
msgid "Web Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/privoxy/__init__.py:113
|
||||
#: plinth/modules/privoxy/__init__.py:114
|
||||
#, python-brace-format
|
||||
msgid "Access {url} with proxy {proxy} on tcp{kind}"
|
||||
msgstr ""
|
||||
@ -6134,7 +6148,7 @@ msgstr ""
|
||||
msgid "File Synchronization"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:23
|
||||
#: plinth/modules/tor/__init__.py:31 plinth/modules/torproxy/__init__.py:27
|
||||
msgid ""
|
||||
"Tor is an anonymous communication system. You can learn more about it from "
|
||||
"the <a href=\"https://www.torproject.org/\">Tor Project</a> website. For "
|
||||
@ -6143,55 +6157,48 @@ msgid ""
|
||||
"en\">Tor Browser</a>."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:30
|
||||
#, python-brace-format
|
||||
#: plinth/modules/tor/__init__.py:37
|
||||
msgid ""
|
||||
"A Tor SOCKS port is available on your {box_name} for internal networks on "
|
||||
"TCP port 9050."
|
||||
"This app provides relay services to contribute to Tor network and help "
|
||||
"others overcome censorship."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:48
|
||||
#: plinth/modules/tor/__init__.py:40
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides an onion domain to expose {box_name} services via the Tor "
|
||||
"network. Using Tor browser, one can access {box_name} from the internet even "
|
||||
"when using an ISP that limits servers at home."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:60
|
||||
msgid "Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:65
|
||||
#: plinth/modules/tor/__init__.py:76
|
||||
msgid "Tor Onion Service"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:69
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:73
|
||||
#: plinth/modules/tor/__init__.py:80
|
||||
msgid "Tor Bridge Relay"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:132
|
||||
#: plinth/modules/tor/__init__.py:135
|
||||
msgid "Tor relay port available"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:143
|
||||
#: plinth/modules/tor/__init__.py:146
|
||||
msgid "Obfs3 transport registered"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:153
|
||||
#: plinth/modules/tor/__init__.py:156
|
||||
msgid "Obfs4 transport registered"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:165
|
||||
#: plinth/modules/tor/__init__.py:168
|
||||
msgid "Onion service is version 3"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:242
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/__init__.py:253
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:33
|
||||
msgid ""
|
||||
"Enter a valid bridge with this format: [transport] IP:ORPort [fingerprint]"
|
||||
@ -6219,11 +6226,11 @@ msgid ""
|
||||
"here. Currently supported transports are none, obfs3, obfs4 and scamblesuit."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:91
|
||||
#: plinth/modules/tor/forms.py:95
|
||||
msgid "Enable Tor relay"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:92
|
||||
#: plinth/modules/tor/forms.py:96
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"When enabled, your {box_name} will run a Tor relay and donate bandwidth to "
|
||||
@ -6231,22 +6238,22 @@ msgid ""
|
||||
"download bandwidth."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:97
|
||||
#: plinth/modules/tor/forms.py:101
|
||||
msgid "Enable Tor bridge relay"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:99
|
||||
#: plinth/modules/tor/forms.py:103
|
||||
msgid ""
|
||||
"When enabled, relay information is published in the Tor bridge database "
|
||||
"instead of public Tor relay database making it harder to censor this node. "
|
||||
"This helps others circumvent censorship."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:104
|
||||
#: plinth/modules/tor/forms.py:108
|
||||
msgid "Enable Tor Onion Service"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:106
|
||||
#: plinth/modules/tor/forms.py:110
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"An onion service will allow {box_name} to provide selected services (such as "
|
||||
@ -6254,26 +6261,15 @@ msgid ""
|
||||
"anonymity yet."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:111
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:112
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/forms.py:127
|
||||
#: plinth/modules/tor/forms.py:125
|
||||
msgid "Specify at least one upstream bridge to use upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/manifest.py:15
|
||||
#: plinth/modules/tor/manifest.py:15 plinth/modules/torproxy/manifest.py:14
|
||||
msgid "Tor Browser"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/manifest.py:31
|
||||
#: plinth/modules/tor/manifest.py:31 plinth/modules/torproxy/manifest.py:30
|
||||
msgid "Orbot: Proxy with Tor"
|
||||
msgstr ""
|
||||
|
||||
@ -6285,18 +6281,56 @@ msgstr ""
|
||||
msgid "Ports"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/tor/views.py:53
|
||||
#: plinth/modules/tor/views.py:53 plinth/modules/torproxy/views.py:51
|
||||
#, fuzzy
|
||||
#| msgid "An error occurred during configuration."
|
||||
msgid "Updating configuration"
|
||||
msgstr "設置過程中發生錯誤。"
|
||||
|
||||
#: plinth/modules/tor/views.py:70
|
||||
#: plinth/modules/tor/views.py:70 plinth/modules/torproxy/views.py:68
|
||||
#, fuzzy, python-brace-format
|
||||
#| msgid "Error installing application: {error}"
|
||||
msgid "Error configuring app: {error}"
|
||||
msgstr "安裝應用遇到錯誤:{error}"
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:34
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"This app provides a web proxy on your {box_name} for internal networks on "
|
||||
"TCP port 9050 using the SOCKS protocol. This can be used by various apps to "
|
||||
"access the internet via the Tor network. ISP censorship can be circumvented "
|
||||
"using upstream bridges."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:54
|
||||
msgid "Tor Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:79
|
||||
msgid "Tor Socks Proxy"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:138
|
||||
#, python-brace-format
|
||||
msgid "Access URL {url} on tcp{kind} via Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/__init__.py:149
|
||||
#, python-brace-format
|
||||
msgid "Confirm Tor usage at {url} on tcp{kind}"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:15
|
||||
msgid "Download software packages over Tor"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/torproxy/forms.py:16
|
||||
msgid ""
|
||||
"When enabled, software will be downloaded over the Tor network for "
|
||||
"installations and upgrades. This adds a degree of privacy and security "
|
||||
"during software downloads."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/transmission/__init__.py:25
|
||||
msgid "Transmission is a BitTorrent client with a web interface."
|
||||
msgstr ""
|
||||
@ -6632,14 +6666,14 @@ msgstr ""
|
||||
msgid "Starting distribution upgrade test."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:29
|
||||
#: plinth/modules/users/__init__.py:30
|
||||
msgid ""
|
||||
"Create and manage user accounts. These accounts serve as centralized "
|
||||
"authentication mechanism for most apps. Some apps further require a user "
|
||||
"account to be part of a group to authorize the user to access the app."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:34
|
||||
#: plinth/modules/users/__init__.py:35
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Any user may login to {box_name} web interface to see a list of apps "
|
||||
@ -6647,19 +6681,29 @@ msgid ""
|
||||
"group may alter apps or system settings."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:55
|
||||
#: plinth/modules/users/__init__.py:56
|
||||
msgid "Users and Groups"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:80
|
||||
#: plinth/modules/users/__init__.py:81
|
||||
msgid "Access to all services and system settings"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:116
|
||||
#: plinth/modules/users/__init__.py:124
|
||||
#, python-brace-format
|
||||
msgid "Check LDAP entry \"{search_item}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:137
|
||||
#, python-brace-format
|
||||
msgid "Check nslcd config \"{key} {value}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/__init__.py:166
|
||||
#, python-brace-format
|
||||
msgid "Check nsswitch config \"{database}\""
|
||||
msgstr ""
|
||||
|
||||
#: plinth/modules/users/forms.py:35
|
||||
msgid "Username is taken or is reserved."
|
||||
msgstr ""
|
||||
@ -7744,7 +7788,11 @@ msgstr ""
|
||||
msgid "Backup"
|
||||
msgstr "Backups 模組"
|
||||
|
||||
#: plinth/templates/toolbar.html:51 plinth/templates/toolbar.html:52
|
||||
#: plinth/templates/toolbar.html:53
|
||||
msgid "Re-run setup"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/templates/toolbar.html:59 plinth/templates/toolbar.html:60
|
||||
#: plinth/templates/uninstall.html:30
|
||||
#, fuzzy
|
||||
#| msgid "Application installed."
|
||||
@ -7762,11 +7810,11 @@ msgid ""
|
||||
"installed freshly again."
|
||||
msgstr ""
|
||||
|
||||
#: plinth/views.py:239
|
||||
#: plinth/views.py:241
|
||||
msgid "Setting unchanged"
|
||||
msgstr ""
|
||||
|
||||
#: plinth/views.py:456
|
||||
#: plinth/views.py:478
|
||||
#, python-brace-format
|
||||
msgid "before uninstall of {app_id}"
|
||||
msgstr ""
|
||||
|
||||
@ -100,7 +100,9 @@ class BepastyApp(app_module.App):
|
||||
"""Install and configure the app."""
|
||||
super().setup(old_version)
|
||||
privileged.setup('freedombox.local')
|
||||
self.enable()
|
||||
if not old_version:
|
||||
self.enable()
|
||||
|
||||
if old_version == 1 and not privileged.get_configuration().get(
|
||||
'DEFAULT_PERMISSIONS'):
|
||||
# Upgrade to a better default only if user hasn't changed the
|
||||
|
||||
@ -67,7 +67,8 @@ class BindApp(app_module.App):
|
||||
"""Install and configure the app."""
|
||||
super().setup(old_version)
|
||||
privileged.setup(old_version)
|
||||
self.enable()
|
||||
if not old_version:
|
||||
self.enable()
|
||||
|
||||
def force_upgrade(self, _packages):
|
||||
"""Force upgrade the managed packages to resolve conffile prompt."""
|
||||
|
||||
@ -105,7 +105,8 @@ class DelugeApp(app_module.App):
|
||||
super().setup(old_version)
|
||||
add_user_to_share_group(SYSTEM_USER)
|
||||
privileged.setup()
|
||||
self.enable()
|
||||
if not old_version:
|
||||
self.enable()
|
||||
|
||||
def uninstall(self):
|
||||
"""De-configure and uninstall the app."""
|
||||
|
||||
@ -146,7 +146,8 @@ class EjabberdApp(app_module.App):
|
||||
self.get_component('letsencrypt-ejabberd').setup_certificates(
|
||||
[domainname])
|
||||
privileged.setup(domainname)
|
||||
self.enable()
|
||||
if not old_version:
|
||||
self.enable()
|
||||
|
||||
# Configure STUN/TURN only if there's a valid TLS domain set for Coturn
|
||||
configuration = self.get_component('turn-ejabberd').get_configuration()
|
||||
|
||||
@ -4,6 +4,7 @@
|
||||
import contextlib
|
||||
import logging
|
||||
|
||||
from django.utils.translation import gettext
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
from plinth import app as app_module
|
||||
@ -94,6 +95,15 @@ class FirewallApp(app_module.App):
|
||||
_run_setup()
|
||||
return True
|
||||
|
||||
def diagnose(self):
|
||||
"""Run diagnostics and return the results."""
|
||||
results = super().diagnose()
|
||||
config = privileged.get_config()
|
||||
results.append(_diagnose_default_zone(config))
|
||||
results.append(_diagnose_firewall_backend(config))
|
||||
results.append(_diagnose_direct_passthroughs(config))
|
||||
return results
|
||||
|
||||
|
||||
def _run_setup():
|
||||
"""Run firewalld setup."""
|
||||
@ -252,3 +262,28 @@ def remove_passthrough(ipv, *args):
|
||||
config_direct = _get_dbus_proxy(_CONFIG_OBJECT, _CONFIG_DIRECT_INTERFACE)
|
||||
if config_direct.queryPassthrough('(sas)', ipv, args):
|
||||
config_direct.removePassthrough('(sas)', ipv, args)
|
||||
|
||||
|
||||
def _diagnose_default_zone(config):
|
||||
"""Diagnose whether the default zone is external."""
|
||||
testname = gettext('Default zone is external')
|
||||
result = 'passed' if config['default_zone'] == 'external' else 'failed'
|
||||
return [testname, result]
|
||||
|
||||
|
||||
def _diagnose_firewall_backend(config):
|
||||
"""Diagnose whether the firewall backend is nftables."""
|
||||
testname = gettext('Firewall backend is nftables')
|
||||
result = 'passed' if config['backend'] == 'nftables' else 'failed'
|
||||
return [testname, result]
|
||||
|
||||
|
||||
def _diagnose_direct_passthroughs(config):
|
||||
"""Diagnose direct passthroughs for local service protection.
|
||||
|
||||
Currently, we just check that the number of passthroughs is at least 12,
|
||||
which are the number that are added by firewall's setup.
|
||||
"""
|
||||
testname = gettext('Direct passthrough rules exist')
|
||||
result = 'passed' if len(config['passthroughs']) >= 12 else 'failed'
|
||||
return [testname, result]
|
||||
|
||||
@ -129,3 +129,31 @@ def setup():
|
||||
set_firewall_backend('nftables')
|
||||
|
||||
_setup_local_service_protection()
|
||||
|
||||
|
||||
@privileged
|
||||
def get_config():
|
||||
"""Return firewalld configuration for diagnostics."""
|
||||
config = {}
|
||||
|
||||
# Get the default zone.
|
||||
output = subprocess.check_output(['firewall-cmd', '--get-default-zone'])
|
||||
config['default_zone'] = output.decode().strip()
|
||||
|
||||
# Load Augeas lens.
|
||||
conf_file = '/etc/firewalld/firewalld.conf'
|
||||
aug = augeas.Augeas(flags=augeas.Augeas.NO_LOAD +
|
||||
augeas.Augeas.NO_MODL_AUTOLOAD)
|
||||
aug.transform('Shellvars', conf_file)
|
||||
aug.set('/augeas/context', '/files' + conf_file)
|
||||
aug.load()
|
||||
|
||||
# Get the firewall backend.
|
||||
config['backend'] = aug.get('FirewallBackend')
|
||||
|
||||
# Get the list of direct passthroughs.
|
||||
output = subprocess.check_output(
|
||||
['firewall-cmd', '--direct', '--get-all-passthroughs'])
|
||||
config['passthroughs'] = output.decode().strip().split('\n')
|
||||
|
||||
return config
|
||||
|
||||
@ -131,7 +131,8 @@ class GitwebApp(app_module.App):
|
||||
"""Install and configure the app."""
|
||||
super().setup(old_version)
|
||||
privileged.setup()
|
||||
self.enable()
|
||||
if not old_version:
|
||||
self.enable()
|
||||
|
||||
def uninstall(self):
|
||||
"""De-configure and uninstall the app."""
|
||||
|
||||
@ -118,7 +118,8 @@ class IkiwikiApp(app_module.App):
|
||||
"""Install and configure the app."""
|
||||
super().setup(old_version)
|
||||
privileged.setup()
|
||||
self.enable()
|
||||
if not old_version:
|
||||
self.enable()
|
||||
|
||||
def uninstall(self):
|
||||
"""De-configure and uninstall the app."""
|
||||
|
||||
@ -77,7 +77,8 @@ class InfinotedApp(app_module.App):
|
||||
"""Install and configure the app."""
|
||||
super().setup(old_version)
|
||||
privileged.setup()
|
||||
self.enable()
|
||||
if not old_version:
|
||||
self.enable()
|
||||
|
||||
def uninstall(self):
|
||||
"""De-configure and uninstall the app."""
|
||||
|
||||
@ -9,7 +9,6 @@ import shutil
|
||||
import subprocess
|
||||
import time
|
||||
|
||||
from plinth import action_utils
|
||||
from plinth.actions import privileged
|
||||
|
||||
DATA_DIR = '/var/lib/infinoted'
|
||||
@ -167,8 +166,6 @@ def setup():
|
||||
shutil.chown(KEY_DIR + '/infinoted-key.pem', user='infinoted',
|
||||
group='infinoted')
|
||||
|
||||
action_utils.service_enable('infinoted')
|
||||
|
||||
|
||||
@privileged
|
||||
def uninstall():
|
||||
|
||||
@ -96,7 +96,8 @@ class JanusApp(app_module.App):
|
||||
"""Install and configure the app."""
|
||||
super().setup(old_version)
|
||||
privileged.setup()
|
||||
self.enable()
|
||||
if not old_version:
|
||||
self.enable()
|
||||
|
||||
def force_upgrade(self, packages):
|
||||
"""Force upgrade janus to resolve conffile prompts."""
|
||||
|
||||
@ -80,4 +80,5 @@ class JSXCApp(app_module.App):
|
||||
def setup(self, old_version):
|
||||
"""Install and configure the app."""
|
||||
super().setup(old_version)
|
||||
self.enable()
|
||||
if not old_version:
|
||||
self.enable()
|
||||
|
||||
@ -101,7 +101,8 @@ class MediaWikiApp(app_module.App):
|
||||
super().setup(old_version)
|
||||
privileged.setup()
|
||||
privileged.update()
|
||||
self.enable()
|
||||
if not old_version:
|
||||
self.enable()
|
||||
|
||||
def uninstall(self):
|
||||
"""De-configure and uninstall the app."""
|
||||
|
||||
@ -96,7 +96,8 @@ class MinetestApp(app_module.App):
|
||||
def setup(self, old_version):
|
||||
"""Install and configure the app."""
|
||||
super().setup(old_version)
|
||||
self.enable()
|
||||
if not old_version:
|
||||
self.enable()
|
||||
|
||||
def force_upgrade(self, packages):
|
||||
"""Force upgrade minetest to resolve conffile prompt."""
|
||||
|
||||
@ -90,7 +90,8 @@ class OpenVPNApp(app_module.App):
|
||||
"""Install and configure the app."""
|
||||
super().setup(old_version)
|
||||
privileged.setup()
|
||||
self.enable()
|
||||
if not old_version:
|
||||
self.enable()
|
||||
|
||||
def uninstall(self):
|
||||
"""De-configure and uninstall the app."""
|
||||
|
||||
@ -75,4 +75,5 @@ class PerformanceApp(app_module.App):
|
||||
def setup(self, old_version):
|
||||
"""Install and configure the app."""
|
||||
super().setup(old_version)
|
||||
self.enable()
|
||||
if not old_version:
|
||||
self.enable()
|
||||
|
||||
@ -97,7 +97,8 @@ class PrivoxyApp(app_module.App):
|
||||
privileged.pre_install()
|
||||
super().setup(old_version)
|
||||
privileged.setup()
|
||||
self.enable()
|
||||
if not old_version:
|
||||
self.enable()
|
||||
|
||||
|
||||
def diagnose_url_with_proxy():
|
||||
|
||||
@ -98,7 +98,9 @@ class QuasselApp(app_module.App):
|
||||
def setup(self, old_version):
|
||||
"""Install and configure the app."""
|
||||
super().setup(old_version)
|
||||
self.enable()
|
||||
if not old_version:
|
||||
self.enable()
|
||||
|
||||
self.get_component('letsencrypt-quassel').setup_certificates()
|
||||
|
||||
|
||||
|
||||
@ -104,7 +104,8 @@ class RadicaleApp(app_module.App):
|
||||
def setup(self, old_version):
|
||||
"""Install and configure the app."""
|
||||
super().setup(old_version)
|
||||
self.enable()
|
||||
if not old_version:
|
||||
self.enable()
|
||||
|
||||
def force_upgrade(self, packages):
|
||||
"""Force upgrade radicale to resolve conffile prompt."""
|
||||
|
||||
@ -93,7 +93,8 @@ class RSSBridgeApp(app_module.App):
|
||||
"""Install and configure the app."""
|
||||
super().setup(old_version)
|
||||
privileged.setup()
|
||||
self.enable()
|
||||
if not old_version:
|
||||
self.enable()
|
||||
|
||||
def uninstall(self):
|
||||
"""De-configure and uninstall the app."""
|
||||
|
||||
@ -68,4 +68,5 @@ class ShaarliApp(app_module.App):
|
||||
def setup(self, old_version):
|
||||
"""Install and configure the app."""
|
||||
super().setup(old_version)
|
||||
self.enable()
|
||||
if not old_version:
|
||||
self.enable()
|
||||
|
||||
@ -60,7 +60,8 @@ class SharingApp(app_module.App):
|
||||
"""Install and configure the app."""
|
||||
super().setup(old_version)
|
||||
privileged.setup()
|
||||
self.enable()
|
||||
if not old_version:
|
||||
self.enable()
|
||||
|
||||
def uninstall(self):
|
||||
"""De-configure and uninstall the app."""
|
||||
|
||||
@ -1,17 +1,23 @@
|
||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
"""FreedomBox app to configure Tor."""
|
||||
|
||||
import json
|
||||
import logging
|
||||
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
from plinth import action_utils
|
||||
from plinth import app as app_module
|
||||
from plinth import cfg, menu
|
||||
from plinth import cfg, kvstore, menu
|
||||
from plinth import setup as setup_module
|
||||
from plinth.daemon import (Daemon, app_is_running, diagnose_netcat,
|
||||
diagnose_port_listening)
|
||||
from plinth.modules.apache.components import Webserver, diagnose_url
|
||||
from plinth.modules import torproxy
|
||||
from plinth.modules.apache.components import Webserver
|
||||
from plinth.modules.backups.components import BackupRestore
|
||||
from plinth.modules.firewall.components import Firewall
|
||||
from plinth.modules.names.components import DomainType
|
||||
from plinth.modules.torproxy.utils import is_apt_transport_tor_enabled
|
||||
from plinth.modules.users.components import UsersAndGroups
|
||||
from plinth.package import Packages
|
||||
from plinth.signals import domain_added, domain_removed
|
||||
@ -19,6 +25,8 @@ from plinth.utils import format_lazy
|
||||
|
||||
from . import manifest, privileged, utils
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
_description = [
|
||||
_('Tor is an anonymous communication system. You can learn more '
|
||||
'about it from the <a href="https://www.torproject.org/">Tor '
|
||||
@ -26,9 +34,13 @@ _description = [
|
||||
'Tor Project recommends that you use the '
|
||||
'<a href="https://www.torproject.org/download/download-easy.html.en">'
|
||||
'Tor Browser</a>.'),
|
||||
_('This app provides relay services to contribute to Tor network and help '
|
||||
'others overcome censorship.'),
|
||||
format_lazy(
|
||||
_('A Tor SOCKS port is available on your {box_name} for internal '
|
||||
'networks on TCP port 9050.'), box_name=_(cfg.box_name))
|
||||
_('This app provides an onion domain to expose {box_name} services '
|
||||
'via the Tor network. Using Tor browser, one can access {box_name} '
|
||||
'from the internet even when using an ISP that limits servers at '
|
||||
'home.'), box_name=_(cfg.box_name)),
|
||||
]
|
||||
|
||||
|
||||
@ -37,7 +49,7 @@ class TorApp(app_module.App):
|
||||
|
||||
app_id = 'tor'
|
||||
|
||||
_version = 6
|
||||
_version = 7
|
||||
|
||||
def __init__(self):
|
||||
"""Create components for the app."""
|
||||
@ -57,28 +69,20 @@ class TorApp(app_module.App):
|
||||
parent_url_name='apps')
|
||||
self.add(menu_item)
|
||||
|
||||
packages = Packages('packages-tor', [
|
||||
'tor', 'tor-geoipdb', 'torsocks', 'obfs4proxy', 'apt-transport-tor'
|
||||
])
|
||||
packages = Packages('packages-tor',
|
||||
['tor', 'tor-geoipdb', 'obfs4proxy'])
|
||||
self.add(packages)
|
||||
|
||||
domain_type = DomainType('domain-type-tor', _('Tor Onion Service'),
|
||||
'tor:index', can_have_certificate=False)
|
||||
self.add(domain_type)
|
||||
|
||||
firewall = Firewall('firewall-tor-socks', _('Tor Socks Proxy'),
|
||||
ports=['tor-socks'], is_external=False)
|
||||
self.add(firewall)
|
||||
|
||||
firewall = Firewall('firewall-tor-relay', _('Tor Bridge Relay'),
|
||||
ports=['tor-orport', 'tor-obfs3',
|
||||
'tor-obfs4'], is_external=True)
|
||||
self.add(firewall)
|
||||
|
||||
daemon = Daemon(
|
||||
'daemon-tor', 'tor@plinth', strict_check=True,
|
||||
listen_ports=[(9050, 'tcp4'), (9050, 'tcp6'), (9040, 'tcp4'),
|
||||
(9040, 'tcp6'), (9053, 'udp4'), (9053, 'udp6')])
|
||||
daemon = Daemon('daemon-tor', 'tor@plinth', strict_check=True)
|
||||
self.add(daemon)
|
||||
|
||||
webserver = Webserver('webserver-onion-location',
|
||||
@ -113,8 +117,7 @@ class TorApp(app_module.App):
|
||||
update_hidden_service_domain()
|
||||
|
||||
def disable(self):
|
||||
"""Disable APT use of Tor before disabling."""
|
||||
privileged.configure(apt_transport_tor=False)
|
||||
"""Disable the app and remove HS domain."""
|
||||
super().disable()
|
||||
update_hidden_service_domain()
|
||||
|
||||
@ -166,22 +169,14 @@ class TorApp(app_module.App):
|
||||
'passed' if len(hs_hostname) == 56 else 'failed'
|
||||
])
|
||||
|
||||
results.append(_diagnose_url_via_tor('http://www.debian.org', '4'))
|
||||
results.append(_diagnose_url_via_tor('http://www.debian.org', '6'))
|
||||
|
||||
results.append(_diagnose_tor_use('https://check.torproject.org', '4'))
|
||||
results.append(_diagnose_tor_use('https://check.torproject.org', '6'))
|
||||
|
||||
return results
|
||||
|
||||
def setup(self, old_version):
|
||||
"""Install and configure the app."""
|
||||
super().setup(old_version)
|
||||
privileged.setup(old_version)
|
||||
if not old_version:
|
||||
privileged.configure(apt_transport_tor=True)
|
||||
|
||||
update_hidden_service_domain(utils.get_status())
|
||||
status = utils.get_status()
|
||||
update_hidden_service_domain(status)
|
||||
|
||||
# Enable/disable Onion-Location component based on app status.
|
||||
# Component was introduced in version 6.
|
||||
@ -189,11 +184,30 @@ class TorApp(app_module.App):
|
||||
daemon_component = self.get_component('daemon-tor')
|
||||
component = self.get_component('webserver-onion-location')
|
||||
if daemon_component.is_enabled():
|
||||
logger.info('Enabling Onion-Location component')
|
||||
component.enable()
|
||||
else:
|
||||
logger.info('Disabling Onion-Location component')
|
||||
component.disable()
|
||||
|
||||
# The SOCKS proxy and "Download software packages using Tor" features
|
||||
# were moved into a new app, Tor Proxy, in version 7. If Tor is
|
||||
# enabled, then store the relevant configuration, and install Tor
|
||||
# Proxy.
|
||||
if old_version and old_version < 7 and self.is_enabled():
|
||||
logger.info('Tor Proxy app will be installed')
|
||||
config = {
|
||||
'use_upstream_bridges': status['use_upstream_bridges'],
|
||||
'upstream_bridges': status['upstream_bridges'],
|
||||
'apt_transport_tor': is_apt_transport_tor_enabled()
|
||||
}
|
||||
kvstore.set(torproxy.PREINSTALL_CONFIG_KEY, json.dumps(config))
|
||||
# This creates the operation, which will run after the current
|
||||
# operation (Tor setup) is completed.
|
||||
setup_module.run_setup_on_app('torproxy')
|
||||
|
||||
if not old_version:
|
||||
logger.info('Enabling Tor app')
|
||||
self.enable()
|
||||
|
||||
def uninstall(self):
|
||||
@ -234,23 +248,3 @@ def _diagnose_control_port():
|
||||
negate=negate))
|
||||
|
||||
return results
|
||||
|
||||
|
||||
def _diagnose_url_via_tor(url, kind=None):
|
||||
"""Diagnose whether a URL is reachable via Tor."""
|
||||
result = diagnose_url(url, kind=kind, wrapper='torsocks')
|
||||
result[0] = _('Access URL {url} on tcp{kind} via Tor') \
|
||||
.format(url=url, kind=kind)
|
||||
|
||||
return result
|
||||
|
||||
|
||||
def _diagnose_tor_use(url, kind=None):
|
||||
"""Diagnose whether webpage at URL reports that we are using Tor."""
|
||||
expected_output = 'Congratulations. This browser is configured to use Tor.'
|
||||
result = diagnose_url(url, kind=kind, wrapper='torsocks',
|
||||
expected_output=expected_output)
|
||||
result[0] = _('Confirm Tor usage at {url} on tcp{kind}') \
|
||||
.format(url=url, kind=kind)
|
||||
|
||||
return result
|
||||
|
||||
@ -70,8 +70,8 @@ def bridges_validator(bridges):
|
||||
raise validation_error
|
||||
|
||||
|
||||
class TorForm(forms.Form): # pylint: disable=W0232
|
||||
"""Tor configuration form."""
|
||||
class TorCommonForm(forms.Form):
|
||||
"""Tor common configuration form."""
|
||||
use_upstream_bridges = forms.BooleanField(
|
||||
label=_('Use upstream bridges to connect to Tor network'),
|
||||
required=False, help_text=_(
|
||||
@ -87,6 +87,10 @@ class TorForm(forms.Form): # pylint: disable=W0232
|
||||
'https://bridges.torproject.org/</a> and copy/paste the bridge '
|
||||
'information here. Currently supported transports are none, '
|
||||
'obfs3, obfs4 and scamblesuit.'), validators=[bridges_validator])
|
||||
|
||||
|
||||
class TorForm(TorCommonForm):
|
||||
"""Tor configuration form."""
|
||||
relay_enabled = forms.BooleanField(
|
||||
label=_('Enable Tor relay'), required=False, help_text=format_lazy(
|
||||
_('When enabled, your {box_name} will run a Tor relay and donate '
|
||||
@ -107,12 +111,6 @@ class TorForm(forms.Form): # pylint: disable=W0232
|
||||
'services (such as wiki or chat) without revealing its '
|
||||
'location. Do not use this for strong anonymity yet.'),
|
||||
box_name=_(cfg.box_name)))
|
||||
apt_transport_tor_enabled = forms.BooleanField(
|
||||
label=_('Download software packages over Tor'), required=False,
|
||||
help_text=_('When enabled, software will be downloaded over the Tor '
|
||||
'network for installations and upgrades. This adds a '
|
||||
'degree of privacy and security during software '
|
||||
'downloads.'))
|
||||
|
||||
def clean(self):
|
||||
"""Validate the form for cross-field integrity."""
|
||||
|
||||
@ -44,11 +44,11 @@ clients = [{
|
||||
|
||||
backup = {
|
||||
'config': {
|
||||
'directories': ['/etc/tor/'],
|
||||
'directories': ['/etc/tor/instances/plinth/'],
|
||||
'files': [str(privileged.TOR_APACHE_SITE)]
|
||||
},
|
||||
'secrets': {
|
||||
'directories': ['/var/lib/tor/', '/var/lib/tor-instances/']
|
||||
'directories': ['/var/lib/tor-instances/plinth/']
|
||||
},
|
||||
'services': ['tor@plinth']
|
||||
}
|
||||
|
||||
@ -2,6 +2,7 @@
|
||||
"""Configure Tor service."""
|
||||
|
||||
import codecs
|
||||
import logging
|
||||
import os
|
||||
import pathlib
|
||||
import re
|
||||
@ -15,20 +16,29 @@ import augeas
|
||||
|
||||
from plinth import action_utils
|
||||
from plinth.actions import privileged
|
||||
from plinth.modules.tor.utils import APT_TOR_PREFIX, get_augeas, iter_apt_uris
|
||||
|
||||
INSTANCE_NAME = 'plinth'
|
||||
SERVICE_FILE = '/etc/firewalld/services/tor-{0}.xml'
|
||||
TOR_CONFIG = '/files/etc/tor/instances/plinth/torrc'
|
||||
TOR_STATE_FILE = '/var/lib/tor-instances/plinth/state'
|
||||
TOR_AUTH_COOKIE = '/var/run/tor-instances/plinth/control.authcookie'
|
||||
SERVICE_NAME = f'tor@{INSTANCE_NAME}'
|
||||
TOR_CONFIG = f'/etc/tor/instances/{INSTANCE_NAME}/torrc'
|
||||
TOR_CONFIG_AUG = f'/files/{TOR_CONFIG}'
|
||||
TOR_STATE_FILE = f'/var/lib/tor-instances/{INSTANCE_NAME}/state'
|
||||
TOR_AUTH_COOKIE = f'/var/run/tor-instances/{INSTANCE_NAME}/control.authcookie'
|
||||
TOR_APACHE_SITE = '/etc/apache2/conf-available/onion-location-freedombox.conf'
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
@privileged
|
||||
def setup(old_version: int):
|
||||
"""Setup Tor configuration after installing it."""
|
||||
if old_version and old_version <= 4:
|
||||
_upgrade_orport_value()
|
||||
if old_version:
|
||||
if old_version <= 4:
|
||||
_upgrade_orport_value()
|
||||
|
||||
if old_version <= 6:
|
||||
_remove_proxy()
|
||||
|
||||
return
|
||||
|
||||
_first_time_setup()
|
||||
@ -37,50 +47,39 @@ def setup(old_version: int):
|
||||
|
||||
def _first_time_setup():
|
||||
"""Setup Tor configuration for the first time setting defaults."""
|
||||
logger.info('Performing first time setup for Tor')
|
||||
# Disable default tor service. We will use tor@plinth instance
|
||||
# instead.
|
||||
_disable_apt_transport_tor()
|
||||
action_utils.service_disable('tor')
|
||||
action_utils.service_disable('tor@default')
|
||||
|
||||
subprocess.run(['tor-instance-create', 'plinth'], check=True)
|
||||
subprocess.run(['tor-instance-create', INSTANCE_NAME], check=True)
|
||||
|
||||
# Remove line starting with +SocksPort, since our augeas lens
|
||||
# doesn't handle it correctly.
|
||||
with open('/etc/tor/instances/plinth/torrc', 'r',
|
||||
encoding='utf-8') as torrc:
|
||||
with open(TOR_CONFIG, 'r', encoding='utf-8') as torrc:
|
||||
torrc_lines = torrc.readlines()
|
||||
with open('/etc/tor/instances/plinth/torrc', 'w',
|
||||
encoding='utf-8') as torrc:
|
||||
with open(TOR_CONFIG, 'w', encoding='utf-8') as torrc:
|
||||
for line in torrc_lines:
|
||||
if not line.startswith('+'):
|
||||
torrc.write(line)
|
||||
|
||||
aug = augeas_load()
|
||||
|
||||
aug.set(TOR_CONFIG + '/SocksPort[1]', '[::]:9050')
|
||||
aug.set(TOR_CONFIG + '/SocksPort[2]', '0.0.0.0:9050')
|
||||
aug.set(TOR_CONFIG + '/ControlPort', '9051')
|
||||
aug.set(TOR_CONFIG_AUG + '/ControlPort', '9051')
|
||||
_enable_relay(relay=True, bridge=True, aug=aug)
|
||||
aug.set(TOR_CONFIG + '/ExitPolicy[1]', 'reject *:*')
|
||||
aug.set(TOR_CONFIG + '/ExitPolicy[2]', 'reject6 *:*')
|
||||
aug.set(TOR_CONFIG_AUG + '/ExitPolicy[1]', 'reject *:*')
|
||||
aug.set(TOR_CONFIG_AUG + '/ExitPolicy[2]', 'reject6 *:*')
|
||||
|
||||
aug.set(TOR_CONFIG + '/VirtualAddrNetworkIPv4', '10.192.0.0/10')
|
||||
aug.set(TOR_CONFIG + '/AutomapHostsOnResolve', '1')
|
||||
aug.set(TOR_CONFIG + '/TransPort[1]', '127.0.0.1:9040')
|
||||
aug.set(TOR_CONFIG + '/TransPort[2]', '[::1]:9040')
|
||||
aug.set(TOR_CONFIG + '/DNSPort[1]', '127.0.0.1:9053')
|
||||
aug.set(TOR_CONFIG + '/DNSPort[2]', '[::1]:9053')
|
||||
|
||||
aug.set(TOR_CONFIG + '/HiddenServiceDir',
|
||||
'/var/lib/tor-instances/plinth/hidden_service')
|
||||
aug.set(TOR_CONFIG + '/HiddenServicePort[1]', '22 127.0.0.1:22')
|
||||
aug.set(TOR_CONFIG + '/HiddenServicePort[2]', '80 127.0.0.1:80')
|
||||
aug.set(TOR_CONFIG + '/HiddenServicePort[3]', '443 127.0.0.1:443')
|
||||
aug.set(TOR_CONFIG_AUG + '/HiddenServiceDir',
|
||||
f'/var/lib/tor-instances/{INSTANCE_NAME}/hidden_service')
|
||||
aug.set(TOR_CONFIG_AUG + '/HiddenServicePort[1]', '22 127.0.0.1:22')
|
||||
aug.set(TOR_CONFIG_AUG + '/HiddenServicePort[2]', '80 127.0.0.1:80')
|
||||
aug.set(TOR_CONFIG_AUG + '/HiddenServicePort[3]', '443 127.0.0.1:443')
|
||||
|
||||
aug.save()
|
||||
|
||||
action_utils.service_enable('tor@plinth')
|
||||
action_utils.service_restart('tor@plinth')
|
||||
action_utils.service_enable(SERVICE_NAME)
|
||||
action_utils.service_restart(SERVICE_NAME)
|
||||
_update_ports()
|
||||
|
||||
# wait until hidden service information is available
|
||||
@ -110,28 +109,45 @@ def _upgrade_orport_value():
|
||||
443 is not possible in FreedomBox due it is use for other purposes.
|
||||
|
||||
"""
|
||||
logger.info('Upgrading ORPort value for Tor')
|
||||
aug = augeas_load()
|
||||
|
||||
if _is_relay_enabled(aug):
|
||||
aug.set(TOR_CONFIG + '/ORPort[1]', '9001')
|
||||
aug.set(TOR_CONFIG + '/ORPort[2]', '[::]:9001')
|
||||
aug.set(TOR_CONFIG_AUG + '/ORPort[1]', '9001')
|
||||
aug.set(TOR_CONFIG_AUG + '/ORPort[2]', '[::]:9001')
|
||||
|
||||
aug.save()
|
||||
|
||||
action_utils.service_try_restart('tor@plinth')
|
||||
action_utils.service_try_restart(SERVICE_NAME)
|
||||
|
||||
# Tor may not be running, don't try to read/update all ports
|
||||
_update_port('orport', 9001)
|
||||
action_utils.service_restart('firewalld')
|
||||
|
||||
|
||||
def _remove_proxy():
|
||||
"""Remove SocksProxy from configuration.
|
||||
|
||||
This functionality was split off to a separate app, Tor Proxy.
|
||||
"""
|
||||
logger.info('Removing SocksProxy from Tor configuration')
|
||||
aug = augeas_load()
|
||||
for config in [
|
||||
'SocksPort', 'VirtualAddrNetworkIPv4', 'AutomapHostsOnResolve',
|
||||
'TransPort', 'DNSPort'
|
||||
]:
|
||||
aug.remove(TOR_CONFIG_AUG + '/' + config)
|
||||
|
||||
aug.save()
|
||||
action_utils.service_try_restart(SERVICE_NAME)
|
||||
|
||||
|
||||
@privileged
|
||||
def configure(use_upstream_bridges: Optional[bool] = None,
|
||||
upstream_bridges: Optional[str] = None,
|
||||
relay: Optional[bool] = None,
|
||||
bridge_relay: Optional[bool] = None,
|
||||
hidden_service: Optional[bool] = None,
|
||||
apt_transport_tor: Optional[bool] = None):
|
||||
hidden_service: Optional[bool] = None):
|
||||
"""Configure Tor."""
|
||||
aug = augeas_load()
|
||||
|
||||
@ -151,11 +167,6 @@ def configure(use_upstream_bridges: Optional[bool] = None,
|
||||
elif hidden_service is not None:
|
||||
_disable_hs(aug=aug)
|
||||
|
||||
if apt_transport_tor:
|
||||
_enable_apt_transport_tor()
|
||||
elif apt_transport_tor is not None:
|
||||
_disable_apt_transport_tor()
|
||||
|
||||
|
||||
@privileged
|
||||
def update_ports():
|
||||
@ -166,12 +177,12 @@ def update_ports():
|
||||
@privileged
|
||||
def restart():
|
||||
"""Restart Tor."""
|
||||
if (action_utils.service_is_enabled('tor@plinth', strict_check=True)
|
||||
and action_utils.service_is_running('tor@plinth')):
|
||||
action_utils.service_restart('tor@plinth')
|
||||
if (action_utils.service_is_enabled(SERVICE_NAME, strict_check=True)
|
||||
and action_utils.service_is_running(SERVICE_NAME)):
|
||||
action_utils.service_restart(SERVICE_NAME)
|
||||
|
||||
aug = augeas_load()
|
||||
if aug.get(TOR_CONFIG + '/HiddenServiceDir'):
|
||||
if aug.get(TOR_CONFIG_AUG + '/HiddenServiceDir'):
|
||||
# wait until hidden service information is available
|
||||
tries = 0
|
||||
while not _get_hidden_service()['enabled']:
|
||||
@ -197,26 +208,26 @@ def get_status() -> dict[str, Union[bool, str, dict[str, Any]]]:
|
||||
|
||||
def _are_upstream_bridges_enabled(aug) -> bool:
|
||||
"""Return whether upstream bridges are being used."""
|
||||
use_bridges = aug.get(TOR_CONFIG + '/UseBridges')
|
||||
use_bridges = aug.get(TOR_CONFIG_AUG + '/UseBridges')
|
||||
return use_bridges == '1'
|
||||
|
||||
|
||||
def _get_upstream_bridges(aug) -> str:
|
||||
"""Return upstream bridges separated by newlines."""
|
||||
matches = aug.match(TOR_CONFIG + '/Bridge')
|
||||
matches = aug.match(TOR_CONFIG_AUG + '/Bridge')
|
||||
bridges = [aug.get(match) for match in matches]
|
||||
return '\n'.join(bridges)
|
||||
|
||||
|
||||
def _is_relay_enabled(aug) -> bool:
|
||||
"""Return whether a relay is enabled."""
|
||||
orport = aug.get(TOR_CONFIG + '/ORPort[1]')
|
||||
orport = aug.get(TOR_CONFIG_AUG + '/ORPort[1]')
|
||||
return bool(orport) and orport != '0'
|
||||
|
||||
|
||||
def _is_bridge_relay_enabled(aug) -> bool:
|
||||
"""Return whether bridge relay is enabled."""
|
||||
bridge = aug.get(TOR_CONFIG + '/BridgeRelay')
|
||||
bridge = aug.get(TOR_CONFIG_AUG + '/BridgeRelay')
|
||||
return bridge == '1'
|
||||
|
||||
|
||||
@ -272,8 +283,8 @@ def _get_hidden_service(aug=None) -> dict[str, Any]:
|
||||
if not aug:
|
||||
aug = augeas_load()
|
||||
|
||||
hs_dir = aug.get(TOR_CONFIG + '/HiddenServiceDir')
|
||||
hs_port_paths = aug.match(TOR_CONFIG + '/HiddenServicePort')
|
||||
hs_dir = aug.get(TOR_CONFIG_AUG + '/HiddenServiceDir')
|
||||
hs_port_paths = aug.match(TOR_CONFIG_AUG + '/HiddenServicePort')
|
||||
|
||||
for hs_port_path in hs_port_paths:
|
||||
port_info = aug.get(hs_port_path).split()
|
||||
@ -300,14 +311,13 @@ def _get_hidden_service(aug=None) -> dict[str, Any]:
|
||||
|
||||
def _enable():
|
||||
"""Enable and start the service."""
|
||||
action_utils.service_enable('tor@plinth')
|
||||
action_utils.service_enable(SERVICE_NAME)
|
||||
_update_ports()
|
||||
|
||||
|
||||
def _disable():
|
||||
"""Disable and stop the service."""
|
||||
_disable_apt_transport_tor()
|
||||
action_utils.service_disable('tor@plinth')
|
||||
action_utils.service_disable(SERVICE_NAME)
|
||||
|
||||
|
||||
def _use_upstream_bridges(use_upstream_bridges: Optional[bool] = None,
|
||||
@ -320,9 +330,9 @@ def _use_upstream_bridges(use_upstream_bridges: Optional[bool] = None,
|
||||
aug = augeas_load()
|
||||
|
||||
if use_upstream_bridges:
|
||||
aug.set(TOR_CONFIG + '/UseBridges', '1')
|
||||
aug.set(TOR_CONFIG_AUG + '/UseBridges', '1')
|
||||
else:
|
||||
aug.set(TOR_CONFIG + '/UseBridges', '0')
|
||||
aug.set(TOR_CONFIG_AUG + '/UseBridges', '0')
|
||||
|
||||
aug.save()
|
||||
|
||||
@ -335,16 +345,16 @@ def _set_upstream_bridges(upstream_bridges=None, aug=None):
|
||||
if not aug:
|
||||
aug = augeas_load()
|
||||
|
||||
aug.remove(TOR_CONFIG + '/Bridge')
|
||||
aug.remove(TOR_CONFIG_AUG + '/Bridge')
|
||||
if upstream_bridges:
|
||||
bridges = [bridge.strip() for bridge in upstream_bridges.split('\n')]
|
||||
bridges = [bridge for bridge in bridges if bridge]
|
||||
for bridge in bridges:
|
||||
parts = [part for part in bridge.split() if part]
|
||||
bridge = ' '.join(parts)
|
||||
aug.set(TOR_CONFIG + '/Bridge[last() + 1]', bridge.strip())
|
||||
aug.set(TOR_CONFIG_AUG + '/Bridge[last() + 1]', bridge.strip())
|
||||
|
||||
aug.set(TOR_CONFIG + '/ClientTransportPlugin',
|
||||
aug.set(TOR_CONFIG_AUG + '/ClientTransportPlugin',
|
||||
'obfs3,scramblesuit,obfs4 exec /usr/bin/obfs4proxy')
|
||||
|
||||
aug.save()
|
||||
@ -362,20 +372,20 @@ def _enable_relay(relay: Optional[bool], bridge: Optional[bool],
|
||||
use_upstream_bridges = _are_upstream_bridges_enabled(aug)
|
||||
|
||||
if relay and not use_upstream_bridges:
|
||||
aug.set(TOR_CONFIG + '/ORPort[1]', '9001')
|
||||
aug.set(TOR_CONFIG + '/ORPort[2]', '[::]:9001')
|
||||
aug.set(TOR_CONFIG_AUG + '/ORPort[1]', '9001')
|
||||
aug.set(TOR_CONFIG_AUG + '/ORPort[2]', '[::]:9001')
|
||||
elif relay is not None:
|
||||
aug.remove(TOR_CONFIG + '/ORPort')
|
||||
aug.remove(TOR_CONFIG_AUG + '/ORPort')
|
||||
|
||||
if bridge and not use_upstream_bridges:
|
||||
aug.set(TOR_CONFIG + '/BridgeRelay', '1')
|
||||
aug.set(TOR_CONFIG + '/ServerTransportPlugin',
|
||||
aug.set(TOR_CONFIG_AUG + '/BridgeRelay', '1')
|
||||
aug.set(TOR_CONFIG_AUG + '/ServerTransportPlugin',
|
||||
'obfs3,obfs4 exec /usr/bin/obfs4proxy')
|
||||
aug.set(TOR_CONFIG + '/ExtORPort', 'auto')
|
||||
aug.set(TOR_CONFIG_AUG + '/ExtORPort', 'auto')
|
||||
elif bridge is not None:
|
||||
aug.remove(TOR_CONFIG + '/BridgeRelay')
|
||||
aug.remove(TOR_CONFIG + '/ServerTransportPlugin')
|
||||
aug.remove(TOR_CONFIG + '/ExtORPort')
|
||||
aug.remove(TOR_CONFIG_AUG + '/BridgeRelay')
|
||||
aug.remove(TOR_CONFIG_AUG + '/ServerTransportPlugin')
|
||||
aug.remove(TOR_CONFIG_AUG + '/ExtORPort')
|
||||
|
||||
aug.save()
|
||||
|
||||
@ -388,11 +398,11 @@ def _enable_hs(aug=None):
|
||||
if _get_hidden_service(aug)['enabled']:
|
||||
return
|
||||
|
||||
aug.set(TOR_CONFIG + '/HiddenServiceDir',
|
||||
'/var/lib/tor-instances/plinth/hidden_service')
|
||||
aug.set(TOR_CONFIG + '/HiddenServicePort[1]', '22 127.0.0.1:22')
|
||||
aug.set(TOR_CONFIG + '/HiddenServicePort[2]', '80 127.0.0.1:80')
|
||||
aug.set(TOR_CONFIG + '/HiddenServicePort[3]', '443 127.0.0.1:443')
|
||||
aug.set(TOR_CONFIG_AUG + '/HiddenServiceDir',
|
||||
f'/var/lib/tor-instances/{INSTANCE_NAME}/hidden_service')
|
||||
aug.set(TOR_CONFIG_AUG + '/HiddenServicePort[1]', '22 127.0.0.1:22')
|
||||
aug.set(TOR_CONFIG_AUG + '/HiddenServicePort[2]', '80 127.0.0.1:80')
|
||||
aug.set(TOR_CONFIG_AUG + '/HiddenServicePort[3]', '443 127.0.0.1:443')
|
||||
aug.save()
|
||||
_set_onion_header(_get_hidden_service(aug))
|
||||
|
||||
@ -405,39 +415,12 @@ def _disable_hs(aug=None):
|
||||
if not _get_hidden_service(aug)['enabled']:
|
||||
return
|
||||
|
||||
aug.remove(TOR_CONFIG + '/HiddenServiceDir')
|
||||
aug.remove(TOR_CONFIG + '/HiddenServicePort')
|
||||
aug.remove(TOR_CONFIG_AUG + '/HiddenServiceDir')
|
||||
aug.remove(TOR_CONFIG_AUG + '/HiddenServicePort')
|
||||
aug.save()
|
||||
_set_onion_header(None)
|
||||
|
||||
|
||||
def _enable_apt_transport_tor():
|
||||
"""Enable package download over Tor."""
|
||||
aug = get_augeas()
|
||||
for uri_path in iter_apt_uris(aug):
|
||||
uri = aug.get(uri_path)
|
||||
if uri.startswith('http://') or uri.startswith('https://'):
|
||||
aug.set(uri_path, APT_TOR_PREFIX + uri)
|
||||
|
||||
aug.save()
|
||||
|
||||
|
||||
def _disable_apt_transport_tor():
|
||||
"""Disable package download over Tor."""
|
||||
try:
|
||||
aug = get_augeas()
|
||||
except Exception:
|
||||
# Disable what we can, so APT is not unusable.
|
||||
pass
|
||||
|
||||
for uri_path in iter_apt_uris(aug):
|
||||
uri = aug.get(uri_path)
|
||||
if uri.startswith(APT_TOR_PREFIX):
|
||||
aug.set(uri_path, uri[len(APT_TOR_PREFIX):])
|
||||
|
||||
aug.save()
|
||||
|
||||
|
||||
def _update_port(name, number):
|
||||
"""Update firewall service information for single port."""
|
||||
lines = """<?xml version="1.0" encoding="utf-8"?>
|
||||
@ -485,14 +468,14 @@ def augeas_load():
|
||||
aug = augeas.Augeas(flags=augeas.Augeas.NO_LOAD +
|
||||
augeas.Augeas.NO_MODL_AUTOLOAD)
|
||||
aug.set('/augeas/load/Tor/lens', 'Tor.lns')
|
||||
aug.set('/augeas/load/Tor/incl[last() + 1]',
|
||||
'/etc/tor/instances/plinth/torrc')
|
||||
aug.set('/augeas/load/Tor/incl[last() + 1]', TOR_CONFIG)
|
||||
aug.load()
|
||||
return aug
|
||||
|
||||
|
||||
def _set_onion_header(hidden_service):
|
||||
"""Set Apache configuration for the Onion-Location header."""
|
||||
logger.info('Setting Onion-Location header for Apache')
|
||||
config_file = pathlib.Path(TOR_APACHE_SITE)
|
||||
if hidden_service and hidden_service['enabled']:
|
||||
# https://community.torproject.org/onion-services/advanced/onion-location/
|
||||
@ -512,10 +495,13 @@ def _set_onion_header(hidden_service):
|
||||
|
||||
@privileged
|
||||
def uninstall():
|
||||
"""Remove create instances."""
|
||||
"""Remove plinth instance."""
|
||||
directories = [
|
||||
'/etc/tor/instances/', '/var/lib/tor-instances/',
|
||||
'/var/run/tor-instances/'
|
||||
f'/etc/tor/instances/{INSTANCE_NAME}/',
|
||||
f'/var/lib/tor-instances/{INSTANCE_NAME}/',
|
||||
f'/var/run/tor-instances/{INSTANCE_NAME}/'
|
||||
]
|
||||
for directory in directories:
|
||||
shutil.rmtree(directory, ignore_errors=True)
|
||||
|
||||
os.unlink(f'/var/run/tor-instances/{INSTANCE_NAME}.defaults')
|
||||
|
||||
@ -11,7 +11,6 @@ _TOR_FEATURE_TO_ELEMENT = {
|
||||
'relay': 'tor-relay_enabled',
|
||||
'bridge-relay': 'tor-bridge_relay_enabled',
|
||||
'hidden-services': 'tor-hs_enabled',
|
||||
'software': 'tor-apt_transport_tor_enabled'
|
||||
}
|
||||
|
||||
pytestmark = [pytest.mark.apps, pytest.mark.domain, pytest.mark.tor]
|
||||
@ -21,9 +20,6 @@ class TestTorApp(functional.BaseAppTests):
|
||||
app_name = 'tor'
|
||||
has_service = True
|
||||
has_web = False
|
||||
# TODO: Investigate why accessing IPv6 sites through Tor fails in
|
||||
# container.
|
||||
check_diagnostics = False
|
||||
|
||||
def test_set_tor_relay_configuration(self, session_browser):
|
||||
"""Test setting Tor relay configuration."""
|
||||
@ -52,13 +48,6 @@ class TestTorApp(functional.BaseAppTests):
|
||||
enabled=True)
|
||||
_assert_hidden_services(session_browser)
|
||||
|
||||
def test_set_download_software_packages_over_tor(self, session_browser):
|
||||
"""Test setting download software packages over Tor."""
|
||||
functional.app_enable(session_browser, 'tor')
|
||||
_feature_enable(session_browser, 'software', should_enable=True)
|
||||
_feature_enable(session_browser, 'software', should_enable=False)
|
||||
_assert_feature_enabled(session_browser, 'software', enabled=False)
|
||||
|
||||
# TODO: Test more thoroughly by checking same hidden service is restored
|
||||
# and by actually connecting using Tor.
|
||||
@pytest.mark.backups
|
||||
|
||||
@ -14,14 +14,6 @@ from plinth.modules.tor import forms, utils
|
||||
class TestTor:
|
||||
"""Test cases for testing the Tor module."""
|
||||
|
||||
@staticmethod
|
||||
@pytest.mark.usefixtures('needs_root')
|
||||
def test_is_apt_transport_tor_enabled():
|
||||
"""Test that is_apt_transport_tor_enabled does not raise any unhandled
|
||||
exceptions.
|
||||
"""
|
||||
utils.is_apt_transport_tor_enabled()
|
||||
|
||||
@staticmethod
|
||||
@patch('plinth.app.App.get')
|
||||
@pytest.mark.usefixtures('needs_root', 'load_cfg')
|
||||
@ -29,7 +21,7 @@ class TestTor:
|
||||
"""Test that get_status does not raise any unhandled exceptions.
|
||||
|
||||
This should work regardless of whether tor is installed, or
|
||||
/etc/tor/torrc exists.
|
||||
/etc/tor/instances/plinth/torrc exists.
|
||||
"""
|
||||
utils.get_status()
|
||||
|
||||
|
||||
@ -1,21 +1,12 @@
|
||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
"""Tor utility functions."""
|
||||
|
||||
import itertools
|
||||
|
||||
import augeas
|
||||
|
||||
from plinth import app as app_module
|
||||
from plinth.daemon import app_is_running
|
||||
from plinth.modules.names.components import DomainName
|
||||
|
||||
from . import privileged
|
||||
|
||||
APT_SOURCES_URI_PATHS = ('/files/etc/apt/sources.list/*/uri',
|
||||
'/files/etc/apt/sources.list.d/*/*/uri',
|
||||
'/files/etc/apt/sources.list.d/*/*/URIs/*')
|
||||
APT_TOR_PREFIX = 'tor+'
|
||||
|
||||
|
||||
def get_status(initialized=True):
|
||||
"""Return current Tor status."""
|
||||
@ -53,50 +44,4 @@ def get_status(initialized=True):
|
||||
'hs_hostname': hs_info['hostname'],
|
||||
'hs_ports': hs_info['ports'],
|
||||
'hs_services': hs_services,
|
||||
'apt_transport_tor_enabled': is_apt_transport_tor_enabled()
|
||||
}
|
||||
|
||||
|
||||
def iter_apt_uris(aug):
|
||||
"""Iterate over all the APT source URIs."""
|
||||
return itertools.chain.from_iterable(
|
||||
[aug.match(path) for path in APT_SOURCES_URI_PATHS])
|
||||
|
||||
|
||||
def get_augeas():
|
||||
"""Return an instance of Augeaus for processing APT configuration."""
|
||||
aug = augeas.Augeas(flags=augeas.Augeas.NO_LOAD +
|
||||
augeas.Augeas.NO_MODL_AUTOLOAD)
|
||||
aug.set('/augeas/load/Aptsources/lens', 'Aptsources.lns')
|
||||
aug.set('/augeas/load/Aptsources/incl[last() + 1]',
|
||||
'/etc/apt/sources.list')
|
||||
aug.set('/augeas/load/Aptsources/incl[last() + 1]',
|
||||
'/etc/apt/sources.list.d/*.list')
|
||||
aug.set('/augeas/load/Aptsources822/lens', 'Aptsources822.lns')
|
||||
aug.set('/augeas/load/Aptsources822/incl[last() + 1]',
|
||||
'/etc/apt/sources.list.d/*.sources')
|
||||
aug.load()
|
||||
|
||||
# Check for any errors in parsing sources lists.
|
||||
if aug.match('/augeas/files/etc/apt/sources.list/error') or \
|
||||
aug.match('/augeas/files/etc/apt/sources.list.d//error'):
|
||||
raise Exception('Error parsing sources list')
|
||||
|
||||
return aug
|
||||
|
||||
|
||||
def is_apt_transport_tor_enabled():
|
||||
"""Return whether APT is set to download packages over Tor."""
|
||||
try:
|
||||
aug = get_augeas()
|
||||
except Exception:
|
||||
# If there was an error with parsing.
|
||||
return False
|
||||
|
||||
for uri_path in iter_apt_uris(aug):
|
||||
uri = aug.get(uri_path)
|
||||
if not uri.startswith(APT_TOR_PREFIX) and \
|
||||
(uri.startswith('http://') or uri.startswith('https://')):
|
||||
return False
|
||||
|
||||
return True
|
||||
|
||||
@ -79,43 +79,31 @@ def _apply_changes(old_status, new_status):
|
||||
|
||||
def __apply_changes(old_status, new_status):
|
||||
"""Apply the changes."""
|
||||
needs_restart = False
|
||||
arguments = {}
|
||||
|
||||
app = app_module.App.get('tor')
|
||||
is_enabled = app.is_enabled()
|
||||
|
||||
if old_status['relay_enabled'] != new_status['relay_enabled']:
|
||||
arguments['relay'] = new_status['relay_enabled']
|
||||
needs_restart = True
|
||||
|
||||
if old_status['bridge_relay_enabled'] != \
|
||||
new_status['bridge_relay_enabled']:
|
||||
arguments['bridge_relay'] = new_status['bridge_relay_enabled']
|
||||
needs_restart = True
|
||||
|
||||
if old_status['hs_enabled'] != new_status['hs_enabled']:
|
||||
arguments['hidden_service'] = new_status['hs_enabled']
|
||||
needs_restart = True
|
||||
|
||||
if old_status['apt_transport_tor_enabled'] != \
|
||||
new_status['apt_transport_tor_enabled']:
|
||||
arguments['apt_transport_tor'] = (
|
||||
is_enabled and new_status['apt_transport_tor_enabled'])
|
||||
|
||||
if old_status['use_upstream_bridges'] != \
|
||||
new_status['use_upstream_bridges']:
|
||||
arguments['use_upstream_bridges'] = new_status['use_upstream_bridges']
|
||||
needs_restart = True
|
||||
|
||||
if old_status['upstream_bridges'] != new_status['upstream_bridges']:
|
||||
arguments['upstream_bridges'] = new_status['upstream_bridges']
|
||||
needs_restart = True
|
||||
|
||||
if arguments:
|
||||
privileged.configure(**arguments)
|
||||
|
||||
if needs_restart and is_enabled:
|
||||
privileged.restart()
|
||||
status = tor_utils.get_status()
|
||||
tor.update_hidden_service_domain(status)
|
||||
if is_enabled:
|
||||
privileged.restart()
|
||||
status = tor_utils.get_status()
|
||||
tor.update_hidden_service_domain(status)
|
||||
|
||||
152
plinth/modules/torproxy/__init__.py
Normal file
152
plinth/modules/torproxy/__init__.py
Normal file
@ -0,0 +1,152 @@
|
||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
"""FreedomBox app to configure Tor Proxy."""
|
||||
|
||||
import json
|
||||
import logging
|
||||
|
||||
from django.urls import reverse_lazy
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
from plinth import app as app_module
|
||||
from plinth import cfg, frontpage, kvstore, menu
|
||||
from plinth.daemon import Daemon
|
||||
from plinth.modules.apache.components import diagnose_url
|
||||
from plinth.modules.backups.components import BackupRestore
|
||||
from plinth.modules.firewall.components import Firewall
|
||||
from plinth.modules.users.components import UsersAndGroups
|
||||
from plinth.package import Packages
|
||||
from plinth.utils import format_lazy
|
||||
|
||||
from . import manifest, privileged
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
PREINSTALL_CONFIG_KEY = 'torproxy_preinstall_config'
|
||||
|
||||
_description = [
|
||||
_('Tor is an anonymous communication system. You can learn more '
|
||||
'about it from the <a href="https://www.torproject.org/">Tor '
|
||||
'Project</a> website. For best protection when web surfing, the '
|
||||
'Tor Project recommends that you use the '
|
||||
'<a href="https://www.torproject.org/download/download-easy.html.en">'
|
||||
'Tor Browser</a>.'),
|
||||
format_lazy(
|
||||
_('This app provides a web proxy on your {box_name} for internal '
|
||||
'networks on TCP port 9050 using the SOCKS protocol. This can be '
|
||||
'used by various apps to access the internet via the Tor network. '
|
||||
'ISP censorship can be circumvented using upstream bridges.'),
|
||||
box_name=_(cfg.box_name))
|
||||
]
|
||||
|
||||
|
||||
class TorProxyApp(app_module.App):
|
||||
"""FreedomBox app for Tor Proxy."""
|
||||
|
||||
app_id = 'torproxy'
|
||||
|
||||
_version = 1
|
||||
|
||||
def __init__(self):
|
||||
"""Create components for the app."""
|
||||
super().__init__()
|
||||
|
||||
info = app_module.Info(app_id=self.app_id, version=self._version,
|
||||
name=_('Tor Proxy'), icon_filename='torproxy',
|
||||
short_description=_('Anonymity Network'),
|
||||
description=_description,
|
||||
manual_page='TorProxy',
|
||||
clients=manifest.clients,
|
||||
donation_url='https://donate.torproject.org/')
|
||||
self.add(info)
|
||||
|
||||
menu_item = menu.Menu('menu-torproxy', info.name,
|
||||
info.short_description, info.icon_filename,
|
||||
'torproxy:index', parent_url_name='apps')
|
||||
self.add(menu_item)
|
||||
|
||||
shortcut = frontpage.Shortcut(
|
||||
'shortcut-torproxy', info.name,
|
||||
short_description=info.short_description, icon=info.icon_filename,
|
||||
description=info.description, manual_page=info.manual_page,
|
||||
configure_url=reverse_lazy('torproxy:index'), login_required=True)
|
||||
self.add(shortcut)
|
||||
|
||||
packages = Packages('packages-torproxy', [
|
||||
'tor', 'tor-geoipdb', 'torsocks', 'obfs4proxy', 'apt-transport-tor'
|
||||
])
|
||||
self.add(packages)
|
||||
|
||||
firewall = Firewall('firewall-torproxy-socks', _('Tor Socks Proxy'),
|
||||
ports=['tor-socks'], is_external=False)
|
||||
self.add(firewall)
|
||||
|
||||
daemon = Daemon(
|
||||
'daemon-torproxy', 'tor@fbxproxy', strict_check=True,
|
||||
listen_ports=[(9050, 'tcp4'), (9050, 'tcp6'), (9040, 'tcp4'),
|
||||
(9040, 'tcp6'), (9053, 'udp4'), (9053, 'udp6')])
|
||||
self.add(daemon)
|
||||
|
||||
users_and_groups = UsersAndGroups('users-and-groups-torproxy',
|
||||
reserved_usernames=['debian-tor'])
|
||||
self.add(users_and_groups)
|
||||
|
||||
backup_restore = BackupRestore('backup-restore-torproxy',
|
||||
**manifest.backup)
|
||||
self.add(backup_restore)
|
||||
|
||||
def disable(self):
|
||||
"""Disable APT use of Tor before disabling."""
|
||||
privileged.configure(apt_transport_tor=False)
|
||||
super().disable()
|
||||
|
||||
def diagnose(self):
|
||||
"""Run diagnostics and return the results."""
|
||||
results = super().diagnose()
|
||||
results.append(_diagnose_url_via_tor('http://www.debian.org', '4'))
|
||||
results.append(_diagnose_url_via_tor('http://www.debian.org', '6'))
|
||||
results.append(_diagnose_tor_use('https://check.torproject.org', '4'))
|
||||
results.append(_diagnose_tor_use('https://check.torproject.org', '6'))
|
||||
return results
|
||||
|
||||
def setup(self, old_version):
|
||||
"""Install and configure the app."""
|
||||
super().setup(old_version)
|
||||
privileged.setup(old_version)
|
||||
if not old_version:
|
||||
logger.info('Enabling apt-transport-tor')
|
||||
config = kvstore.get_default(PREINSTALL_CONFIG_KEY, '{}')
|
||||
config = json.loads(config)
|
||||
config = {
|
||||
'use_upstream_bridges': config.get('use_upstream_bridges'),
|
||||
'upstream_bridges': config.get('upstream_bridges'),
|
||||
'apt_transport_tor': config.get('apt_transport_tor', True),
|
||||
}
|
||||
privileged.configure(**config)
|
||||
logger.info('Enabling Tor Proxy app')
|
||||
self.enable()
|
||||
kvstore.delete(PREINSTALL_CONFIG_KEY, ignore_missing=True)
|
||||
|
||||
def uninstall(self):
|
||||
"""De-configure and uninstall the app."""
|
||||
super().uninstall()
|
||||
privileged.uninstall()
|
||||
|
||||
|
||||
def _diagnose_url_via_tor(url, kind=None):
|
||||
"""Diagnose whether a URL is reachable via Tor."""
|
||||
result = diagnose_url(url, kind=kind, wrapper='torsocks')
|
||||
result[0] = _('Access URL {url} on tcp{kind} via Tor') \
|
||||
.format(url=url, kind=kind)
|
||||
|
||||
return result
|
||||
|
||||
|
||||
def _diagnose_tor_use(url, kind=None):
|
||||
"""Diagnose whether webpage at URL reports that we are using Tor."""
|
||||
expected_output = 'Congratulations. This browser is configured to use Tor.'
|
||||
result = diagnose_url(url, kind=kind, wrapper='torsocks',
|
||||
expected_output=expected_output)
|
||||
result[0] = _('Confirm Tor usage at {url} on tcp{kind}') \
|
||||
.format(url=url, kind=kind)
|
||||
|
||||
return result
|
||||
@ -0,0 +1 @@
|
||||
plinth.modules.torproxy
|
||||
19
plinth/modules/torproxy/forms.py
Normal file
19
plinth/modules/torproxy/forms.py
Normal file
@ -0,0 +1,19 @@
|
||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
"""
|
||||
Forms for configuring Tor Proxy.
|
||||
"""
|
||||
|
||||
from django import forms
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
from plinth.modules.tor.forms import TorCommonForm
|
||||
|
||||
|
||||
class TorProxyForm(TorCommonForm):
|
||||
"""Tor Proxy configuration form."""
|
||||
apt_transport_tor_enabled = forms.BooleanField(
|
||||
label=_('Download software packages over Tor'), required=False,
|
||||
help_text=_('When enabled, software will be downloaded over the Tor '
|
||||
'network for installations and upgrades. This adds a '
|
||||
'degree of privacy and security during software '
|
||||
'downloads.'))
|
||||
52
plinth/modules/torproxy/manifest.py
Normal file
52
plinth/modules/torproxy/manifest.py
Normal file
@ -0,0 +1,52 @@
|
||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
"""App manifest for Tor Proxy."""
|
||||
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
from plinth.clients import store_url
|
||||
|
||||
_ORBOT_PACKAGE_ID = 'org.torproject.android'
|
||||
_TOR_BROWSER_DOWNLOAD_URL = \
|
||||
'https://www.torproject.org/download/download-easy.html'
|
||||
|
||||
clients = [{
|
||||
'name':
|
||||
_('Tor Browser'),
|
||||
'platforms': [{
|
||||
'type': 'download',
|
||||
'os': 'windows',
|
||||
'url': _TOR_BROWSER_DOWNLOAD_URL,
|
||||
}, {
|
||||
'type': 'download',
|
||||
'os': 'gnu-linux',
|
||||
'url': _TOR_BROWSER_DOWNLOAD_URL,
|
||||
}, {
|
||||
'type': 'download',
|
||||
'os': 'macos',
|
||||
'url': _TOR_BROWSER_DOWNLOAD_URL,
|
||||
}]
|
||||
}, {
|
||||
'name':
|
||||
_('Orbot: Proxy with Tor'),
|
||||
'platforms': [{
|
||||
'type': 'store',
|
||||
'os': 'android',
|
||||
'store_name': 'google-play',
|
||||
'url': store_url('google-play', _ORBOT_PACKAGE_ID)
|
||||
}, {
|
||||
'type': 'store',
|
||||
'os': 'android',
|
||||
'store_name': 'f-droid',
|
||||
'url': store_url('f-droid', _ORBOT_PACKAGE_ID)
|
||||
}]
|
||||
}]
|
||||
|
||||
backup = {
|
||||
'config': {
|
||||
'directories': ['/etc/tor/instances/fbxproxy/'],
|
||||
},
|
||||
'secrets': {
|
||||
'directories': ['/var/lib/tor-instances/fbxproxy/']
|
||||
},
|
||||
'services': ['tor@fbxproxy']
|
||||
}
|
||||
217
plinth/modules/torproxy/privileged.py
Normal file
217
plinth/modules/torproxy/privileged.py
Normal file
@ -0,0 +1,217 @@
|
||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
"""Configure Tor Proxy service."""
|
||||
|
||||
import logging
|
||||
import os
|
||||
import shutil
|
||||
import subprocess
|
||||
from typing import Any, Optional, Union
|
||||
|
||||
import augeas
|
||||
|
||||
from plinth import action_utils
|
||||
from plinth.actions import privileged
|
||||
from plinth.modules.torproxy.utils import (APT_TOR_PREFIX, get_augeas,
|
||||
iter_apt_uris)
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
INSTANCE_NAME = 'fbxproxy'
|
||||
SERVICE_FILE = '/etc/firewalld/services/tor-{0}.xml'
|
||||
SERVICE_NAME = f'tor@{INSTANCE_NAME}'
|
||||
TORPROXY_CONFIG = f'/etc/tor/instances/{INSTANCE_NAME}/torrc'
|
||||
TORPROXY_CONFIG_AUG = f'/files/{TORPROXY_CONFIG}'
|
||||
|
||||
|
||||
@privileged
|
||||
def setup(old_version: int):
|
||||
"""Setup Tor configuration after installing it."""
|
||||
_first_time_setup()
|
||||
|
||||
|
||||
def _first_time_setup():
|
||||
"""Setup Tor configuration for the first time setting defaults."""
|
||||
logger.info('Performing first time setup for Tor Proxy')
|
||||
# Disable default tor service. We will use tor@fbxproxy instance
|
||||
# instead.
|
||||
_disable_apt_transport_tor()
|
||||
action_utils.service_disable('tor@default')
|
||||
|
||||
subprocess.run(['tor-instance-create', INSTANCE_NAME], check=True)
|
||||
|
||||
# Remove line starting with +SocksPort, since our augeas lens
|
||||
# doesn't handle it correctly.
|
||||
with open(TORPROXY_CONFIG, 'r', encoding='utf-8') as torrc:
|
||||
torrc_lines = torrc.readlines()
|
||||
with open(TORPROXY_CONFIG, 'w', encoding='utf-8') as torrc:
|
||||
for line in torrc_lines:
|
||||
if not line.startswith('+'):
|
||||
torrc.write(line)
|
||||
|
||||
aug = augeas_load()
|
||||
|
||||
aug.set(TORPROXY_CONFIG_AUG + '/SocksPort[1]', '[::]:9050')
|
||||
aug.set(TORPROXY_CONFIG_AUG + '/SocksPort[2]', '0.0.0.0:9050')
|
||||
aug.set(TORPROXY_CONFIG_AUG + '/VirtualAddrNetworkIPv4', '10.192.0.0/10')
|
||||
aug.set(TORPROXY_CONFIG_AUG + '/AutomapHostsOnResolve', '1')
|
||||
aug.set(TORPROXY_CONFIG_AUG + '/TransPort[1]', '127.0.0.1:9040')
|
||||
aug.set(TORPROXY_CONFIG_AUG + '/TransPort[2]', '[::1]:9040')
|
||||
aug.set(TORPROXY_CONFIG_AUG + '/DNSPort[1]', '127.0.0.1:9053')
|
||||
aug.set(TORPROXY_CONFIG_AUG + '/DNSPort[2]', '[::1]:9053')
|
||||
|
||||
aug.save()
|
||||
|
||||
action_utils.service_enable(SERVICE_NAME)
|
||||
action_utils.service_restart(SERVICE_NAME)
|
||||
|
||||
|
||||
@privileged
|
||||
def configure(use_upstream_bridges: Optional[bool] = None,
|
||||
upstream_bridges: Optional[str] = None,
|
||||
apt_transport_tor: Optional[bool] = None):
|
||||
"""Configure Tor."""
|
||||
aug = augeas_load()
|
||||
|
||||
_use_upstream_bridges(use_upstream_bridges, aug=aug)
|
||||
|
||||
if upstream_bridges:
|
||||
_set_upstream_bridges(upstream_bridges, aug=aug)
|
||||
|
||||
if apt_transport_tor:
|
||||
_enable_apt_transport_tor()
|
||||
elif apt_transport_tor is not None:
|
||||
_disable_apt_transport_tor()
|
||||
|
||||
|
||||
@privileged
|
||||
def restart():
|
||||
"""Restart Tor."""
|
||||
if (action_utils.service_is_enabled(SERVICE_NAME, strict_check=True)
|
||||
and action_utils.service_is_running(SERVICE_NAME)):
|
||||
action_utils.service_restart(SERVICE_NAME)
|
||||
|
||||
|
||||
@privileged
|
||||
def get_status() -> dict[str, Union[bool, str, dict[str, Any]]]:
|
||||
"""Return dict with Tor Proxy status."""
|
||||
aug = augeas_load()
|
||||
return {
|
||||
'use_upstream_bridges': _are_upstream_bridges_enabled(aug),
|
||||
'upstream_bridges': _get_upstream_bridges(aug)
|
||||
}
|
||||
|
||||
|
||||
def _are_upstream_bridges_enabled(aug) -> bool:
|
||||
"""Return whether upstream bridges are being used."""
|
||||
use_bridges = aug.get(TORPROXY_CONFIG_AUG + '/UseBridges')
|
||||
return use_bridges == '1'
|
||||
|
||||
|
||||
def _get_upstream_bridges(aug) -> str:
|
||||
"""Return upstream bridges separated by newlines."""
|
||||
matches = aug.match(TORPROXY_CONFIG_AUG + '/Bridge')
|
||||
bridges = [aug.get(match) for match in matches]
|
||||
return '\n'.join(bridges)
|
||||
|
||||
|
||||
def _enable():
|
||||
"""Enable and start the service."""
|
||||
action_utils.service_enable(SERVICE_NAME)
|
||||
|
||||
|
||||
def _disable():
|
||||
"""Disable and stop the service."""
|
||||
_disable_apt_transport_tor()
|
||||
action_utils.service_disable(SERVICE_NAME)
|
||||
|
||||
|
||||
def _use_upstream_bridges(use_upstream_bridges: Optional[bool] = None,
|
||||
aug=None):
|
||||
"""Enable use of upstream bridges."""
|
||||
if use_upstream_bridges is None:
|
||||
return
|
||||
|
||||
if not aug:
|
||||
aug = augeas_load()
|
||||
|
||||
if use_upstream_bridges:
|
||||
aug.set(TORPROXY_CONFIG_AUG + '/UseBridges', '1')
|
||||
else:
|
||||
aug.set(TORPROXY_CONFIG_AUG + '/UseBridges', '0')
|
||||
|
||||
aug.save()
|
||||
|
||||
|
||||
def _set_upstream_bridges(upstream_bridges=None, aug=None):
|
||||
"""Set list of upstream bridges."""
|
||||
if upstream_bridges is None:
|
||||
return
|
||||
|
||||
if not aug:
|
||||
aug = augeas_load()
|
||||
|
||||
aug.remove(TORPROXY_CONFIG_AUG + '/Bridge')
|
||||
if upstream_bridges:
|
||||
bridges = [bridge.strip() for bridge in upstream_bridges.split('\n')]
|
||||
bridges = [bridge for bridge in bridges if bridge]
|
||||
for bridge in bridges:
|
||||
parts = [part for part in bridge.split() if part]
|
||||
bridge = ' '.join(parts)
|
||||
aug.set(TORPROXY_CONFIG_AUG + '/Bridge[last() + 1]',
|
||||
bridge.strip())
|
||||
|
||||
aug.set(TORPROXY_CONFIG_AUG + '/ClientTransportPlugin',
|
||||
'obfs3,scramblesuit,obfs4 exec /usr/bin/obfs4proxy')
|
||||
|
||||
aug.save()
|
||||
|
||||
|
||||
def _enable_apt_transport_tor():
|
||||
"""Enable package download over Tor."""
|
||||
aug = get_augeas()
|
||||
for uri_path in iter_apt_uris(aug):
|
||||
uri = aug.get(uri_path)
|
||||
if uri.startswith('http://') or uri.startswith('https://'):
|
||||
aug.set(uri_path, APT_TOR_PREFIX + uri)
|
||||
|
||||
aug.save()
|
||||
|
||||
|
||||
def _disable_apt_transport_tor():
|
||||
"""Disable package download over Tor."""
|
||||
try:
|
||||
aug = get_augeas()
|
||||
except Exception:
|
||||
# Disable what we can, so APT is not unusable.
|
||||
pass
|
||||
|
||||
for uri_path in iter_apt_uris(aug):
|
||||
uri = aug.get(uri_path)
|
||||
if uri.startswith(APT_TOR_PREFIX):
|
||||
aug.set(uri_path, uri[len(APT_TOR_PREFIX):])
|
||||
|
||||
aug.save()
|
||||
|
||||
|
||||
def augeas_load():
|
||||
"""Initialize Augeas."""
|
||||
aug = augeas.Augeas(flags=augeas.Augeas.NO_LOAD +
|
||||
augeas.Augeas.NO_MODL_AUTOLOAD)
|
||||
aug.set('/augeas/load/Tor/lens', 'Tor.lns')
|
||||
aug.set('/augeas/load/Tor/incl[last() + 1]', TORPROXY_CONFIG)
|
||||
aug.load()
|
||||
return aug
|
||||
|
||||
|
||||
@privileged
|
||||
def uninstall():
|
||||
"""Remove fbxproxy instance."""
|
||||
directories = [
|
||||
f'/etc/tor/instances/{INSTANCE_NAME}/',
|
||||
f'/var/lib/tor-instances/{INSTANCE_NAME}/',
|
||||
f'/var/run/tor-instances/{INSTANCE_NAME}/'
|
||||
]
|
||||
for directory in directories:
|
||||
shutil.rmtree(directory, ignore_errors=True)
|
||||
|
||||
os.unlink(f'/var/run/tor-instances/{INSTANCE_NAME}.defaults')
|
||||
BIN
plinth/modules/torproxy/static/icons/torproxy.png
Normal file
BIN
plinth/modules/torproxy/static/icons/torproxy.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 63 KiB |
112
plinth/modules/torproxy/static/icons/torproxy.svg
Normal file
112
plinth/modules/torproxy/static/icons/torproxy.svg
Normal file
@ -0,0 +1,112 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
width="512"
|
||||
height="512"
|
||||
id="图层_1"
|
||||
class="mozwebext"
|
||||
sodipodi:docname="tor.svg"
|
||||
inkscape:version="0.92.4 (5da689c313, 2019-01-14)">
|
||||
<metadata
|
||||
id="metadata27696">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs27694" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1956"
|
||||
inkscape:window-height="1329"
|
||||
id="namedview27692"
|
||||
showgrid="false"
|
||||
inkscape:zoom="0.41594518"
|
||||
inkscape:cx="-376.85156"
|
||||
inkscape:cy="-302.70084"
|
||||
inkscape:window-x="1463"
|
||||
inkscape:window-y="369"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="图层_1"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0" />
|
||||
<g
|
||||
transform="matrix(2.7708177,0,0,2.7708177,-452.25352,-177.84153)"
|
||||
id="layer3"
|
||||
style="display:inline">
|
||||
<g
|
||||
id="layer5">
|
||||
<path
|
||||
d="m 264.513,77.977773 -4.917,19.529001 c 6.965,-13.793001 18.027,-24.172001 30.729,-33.323001 -9.287,10.789 -17.754,21.579001 -22.944,32.368001 8.741,-12.292001 20.486,-19.120001 33.733,-23.627001 -17.618,15.706001 -31.60228,32.559277 -42.25528,49.494277 l -8.467,-3.687 c 1.501,-13.521 6.60928,-27.369276 14.12128,-40.754277 z"
|
||||
id="path2554"
|
||||
style="fill:#abcd03"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
d="m 241.90113,115.14152 16.116,6.68594 c 0,4.098 -0.33313,16.59703 2.22938,20.28403 26.80289,34.5191 22.29349,103.71329 -5.42951,105.48829 -42.21656,0 -58.317,-28.679 -58.317,-55.03801 0,-24.037 28.816,-40.016 46.025,-54.219 4.37,-3.824 3.61113,-12.27525 -0.62387,-23.20125 z"
|
||||
id="path2534"
|
||||
style="fill:#fffcdb"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
d="m 258.02197,121.58695 5.80803,2.96282 c -0.546,3.823 0.273,12.292 4.096,14.476 16.936,10.516 32.914,21.988 39.197,33.46 22.398,40.42601 -15.706,77.84601 -48.62,74.29501 17.891,-13.248 23.081,-40.42501 16.389,-70.06201 -2.731,-11.609 -6.966,-22.125 -14.478,-34.007 -3.25421,-5.83246 -2.11803,-13.06582 -2.39203,-21.12482 z"
|
||||
id="path2536"
|
||||
style="fill:#7d4698"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<g
|
||||
id="layer4"
|
||||
style="display:inline">
|
||||
<path
|
||||
d="m 255.226,120.58877 12.018,1.639 c -3.551,11.745 6.966,19.939 10.38,21.852 7.64801,4.234 15.02301,8.604 20.89601,13.93 11.063,10.106 17.345,24.31 17.345,39.333 0,14.886 -6.829,29.226 -18.301,38.786 -10.789,9.014 -25.67501,12.838 -40.15201,12.838 -9.014,0 -17.072,-0.409 -25.812,-3.278 -19.939,-6.692 -34.826,-23.763 -36.055,-44.25 -1.093,-15.979 2.458,-28.134 14.887,-40.835 6.418,-6.692 19.393,-14.34 28.271,-20.486 4.371,-3.005 9.014,-11.473 0.136,-27.451 l 1.776,-1.366 13.15659,8.81203 -11.10759,-4.57803 c 0.956,1.366 3.551,7.512 4.098,9.287 1.229,5.053 0.683,9.971 -0.41,12.155 -5.599,10.107 -15.159,12.838 -22.124,18.574 -12.292,10.106 -25.676,18.164 -24.174,45.888 0.683,13.657 11.336,30.319 27.314,38.104 9.014,4.371 19.394,6.146 29.91,6.692 9.423,0.41 27.45101,-5.19 37.28401,-13.384 10.516,-8.74 16.389,-21.988 16.389,-35.508 0,-13.658 -5.463,-26.632 -15.706,-35.783 -5.873,-5.326 -15.56901,-11.745 -21.57801,-15.16 -6.009,-3.414 -13.521,-12.974 -11.063,-22.124 z"
|
||||
id="path2538"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
d="m 251.539,140.80177 c -1.229,6.283 -2.595,17.618 -8.058,21.852 -2.322,1.638 -4.644,3.278 -7.102,4.916 -9.833,6.693 -19.667,12.974 -24.173,29.09 -0.956,3.415 -0.136,7.102 0.684,10.516 2.458,9.833 9.423,20.486 14.886,26.769 0,0.273 1.093,0.956 1.093,1.229 4.507,5.327 5.873,6.829 22.944,10.652 l -0.41,1.913 c -10.243,-2.731 -18.71,-5.189 -24.037,-11.336 0,-0.136 -0.956,-1.093 -0.956,-1.093 -5.736,-6.556 -12.702,-17.481 -15.296,-27.724 -0.956,-4.098 -1.775,-7.238 -0.683,-11.473 4.643,-16.661 14.75,-23.217 24.993,-30.182 2.322,-1.502 5.053,-2.869 7.238,-4.644 4.233,-3.14 6.554,-12.701 8.877,-20.485 z"
|
||||
id="path2540"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
d="m 255.90625,166.74951 c 0.137,7.102 -0.55625,10.66475 1.21875,15.71875 1.092,3.004 4.782,7.1015 5.875,11.0625 1.502,5.327 3.138,11.19901 3,14.75001 0,4.09799 -0.25625,11.74249 -2.03125,19.93749 -1.35362,6.77108 -4.47323,12.58153 -9.71875,15.875 -5.37327,-1.10644 -11.68224,-2.99521 -15.40625,-6.1875 -7.238,-6.282 -13.64875,-16.7865 -14.46875,-25.9375 -0.682,-7.51099 6.27275,-18.5885 15.96875,-24.1875 8.194,-4.78 10.1,-10.22775 11.875,-18.96875 -2.458,7.648 -4.7665,14.05925 -12.6875,18.15625 -11.472,6.009 -17.3585,16.09626 -16.8125,25.65625 0.819,12.291 5.7415,20.6195 15.4375,27.3125 4.097,2.868 11.75125,5.89875 16.53125,6.71875 v -0.625 c 3.62493,-0.67888 8.31818,-6.63267 10.65625,-14.6875 2.049,-7.238 2.85675,-16.502 2.71875,-22.37499 -0.137,-3.414 -1.643,-10.80801 -4.375,-17.50001 -1.502,-3.687 -3.8095,-7.37375 -5.3125,-9.96875 -1.637,-2.597 -1.64875,-8.195 -2.46875,-14.75 z"
|
||||
id="path2542"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
d="m 255.09375,193.53076 c 0.136,4.78 2.056,10.90451 2.875,17.18751 0.684,4.64399 0.387,9.30824 0.25,13.40624 -0.13495,4.74323 -1.7152,13.24218 -3.875,17.375 -2.03673,-0.93403 -2.83294,-1.99922 -4.15625,-3.71875 -1.638,-2.322 -2.75075,-4.644 -3.84375,-7.375 -0.819,-2.049 -1.7765,-4.394 -2.1875,-7.125 -0.546,-4.097 -0.393,-10.5065 4.25,-17.06249 3.551,-5.19001 4.36475,-5.58476 5.59375,-11.59376 -1.64,5.326 -2.8625,5.869 -6.6875,10.37501 -4.233,4.917 -4.9375,12.15924 -4.9375,18.03124 0,2.459 0.9805,5.18725 1.9375,7.78125 1.092,2.732 2.02925,5.452 3.53125,7.5 2.25796,3.32082 5.14798,5.20922 6.5625,5.5625 0.009,0.002 0.022,-0.002 0.0312,0 0.0303,0.007 0.0649,0.0255 0.0937,0.0312 v -0.15625 c 2.64982,-2.95437 4.24444,-5.88934 4.78125,-8.84375 0.683,-3.551 0.84,-7.10975 1.25,-11.34375 0.409,-3.551 0.11225,-8.334 -0.84375,-13.24999 -1.365,-6.146 -3.669,-12.41226 -4.625,-16.78126 z"
|
||||
id="path2544"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
d="m 255.499,135.06577 c 0.137,7.101 0.683,20.35 2.595,25.539 0.546,1.775 5.599,9.56 9.149,18.983 2.459,6.556 3.005,12.565 3.415,14.34 1.639,7.785 -0.41,20.896 -3.142,33.324 -1.365,6.692 -6.009,15.023 -11.335,18.301 l -1.092,1.912 c 3.005,-0.137 10.379,-7.375 12.974,-16.389 4.371,-15.296 6.146,-22.398 4.098,-39.333 -0.273,-1.64 -0.956,-7.238 -3.551,-13.248 -3.824,-9.151 -9.287,-17.891 -9.969,-19.667 -1.23,-2.867 -2.869,-15.295 -3.142,-23.762 z"
|
||||
id="path2550"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
d="m 258.06151,125.35303 c -0.40515,7.29812 -0.51351,9.98574 0.85149,15.31174 1.502,5.873 9.151,14.34 12.292,24.037 6.009,18.574 4.507,42.884 0.136,61.867 -1.638,6.691 -9.424,16.389 -17.208,19.529 l 5.736,1.366 c 3.141,-0.137 11.198,-7.648 14.34,-16.252 5.052,-13.521 6.009,-29.636 3.96,-46.571 -0.137,-1.639 -2.869,-16.252 -5.463,-22.398 -3.688,-9.15 -10.244,-17.345 -10.926,-19.119 -1.228,-3.005 -3.92651,-9.24362 -3.71849,-17.77074 z"
|
||||
id="path2552"
|
||||
inkscape:connector-curvature="0" />
|
||||
<rect
|
||||
width="0.550412"
|
||||
height="126.01891"
|
||||
x="253.71959"
|
||||
y="120.21686"
|
||||
id="rect2556" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 7.9 KiB |
33
plinth/modules/torproxy/static/torproxy.js
Normal file
33
plinth/modules/torproxy/static/torproxy.js
Normal file
@ -0,0 +1,33 @@
|
||||
// SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
/**
|
||||
* @licstart The following is the entire license notice for the JavaScript
|
||||
* code in this page.
|
||||
*
|
||||
* This file is part of FreedomBox.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
* published by the Free Software Foundation, either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @licend The above is the entire license notice for the JavaScript code
|
||||
* in this page.
|
||||
*/
|
||||
|
||||
(function($) {
|
||||
$('#id_torproxy-use_upstream_bridges').change(function() {
|
||||
if ($('#id_torproxy-use_upstream_bridges').prop('checked')) {
|
||||
$('#id_torproxy-upstream_bridges').parent().parent().show('slow');
|
||||
} else {
|
||||
$('#id_torproxy-upstream_bridges').parent().parent().hide('slow');
|
||||
}
|
||||
}).change();
|
||||
})(jQuery);
|
||||
10
plinth/modules/torproxy/templates/torproxy.html
Normal file
10
plinth/modules/torproxy/templates/torproxy.html
Normal file
@ -0,0 +1,10 @@
|
||||
{% extends "app.html" %}
|
||||
{% comment %}
|
||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
{% endcomment %}
|
||||
|
||||
{% load static %}
|
||||
|
||||
{% block page_js %}
|
||||
<script type="text/javascript" src="{% static 'torproxy/torproxy.js' %}"></script>
|
||||
{% endblock %}
|
||||
0
plinth/modules/torproxy/tests/__init__.py
Normal file
0
plinth/modules/torproxy/tests/__init__.py
Normal file
64
plinth/modules/torproxy/tests/test_functional.py
Normal file
64
plinth/modules/torproxy/tests/test_functional.py
Normal file
@ -0,0 +1,64 @@
|
||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
"""
|
||||
Functional, browser based tests for Tor Proxy app.
|
||||
"""
|
||||
|
||||
import pytest
|
||||
|
||||
from plinth.tests import functional
|
||||
|
||||
_TOR_FEATURE_TO_ELEMENT = {'software': 'torproxy-apt_transport_tor_enabled'}
|
||||
|
||||
pytestmark = [pytest.mark.apps, pytest.mark.torproxy]
|
||||
|
||||
|
||||
class TestTorProxyApp(functional.BaseAppTests):
|
||||
"""Tests for the Tor Proxy app."""
|
||||
app_name = 'torproxy'
|
||||
has_service = True
|
||||
has_web = False
|
||||
# TODO: Investigate why accessing IPv6 sites through Tor fails in
|
||||
# container.
|
||||
check_diagnostics = False
|
||||
|
||||
def test_set_download_software_packages_over_tor(self, session_browser):
|
||||
"""Test setting download software packages over Tor."""
|
||||
functional.app_enable(session_browser, 'torproxy')
|
||||
_feature_enable(session_browser, 'software', should_enable=True)
|
||||
_feature_enable(session_browser, 'software', should_enable=False)
|
||||
_assert_feature_enabled(session_browser, 'software', enabled=False)
|
||||
|
||||
@pytest.mark.backups
|
||||
def test_backup_restore(self, session_browser):
|
||||
"""Test backup and restore of configuration."""
|
||||
functional.app_enable(session_browser, 'torproxy')
|
||||
# TODO: Check that upstream bridges are restored.
|
||||
functional.backup_create(session_browser, 'torproxy', 'test_torproxy')
|
||||
|
||||
functional.backup_restore(session_browser, 'torproxy', 'test_torproxy')
|
||||
|
||||
assert functional.service_is_running(session_browser, 'torproxy')
|
||||
|
||||
|
||||
def _feature_enable(browser, feature, should_enable):
|
||||
"""Enable/disable a Tor Proxy feature."""
|
||||
element_name = _TOR_FEATURE_TO_ELEMENT[feature]
|
||||
functional.nav_to_module(browser, 'torproxy')
|
||||
checkbox_element = browser.find_by_name(element_name).first
|
||||
if should_enable == checkbox_element.checked:
|
||||
return
|
||||
|
||||
if should_enable:
|
||||
checkbox_element.check()
|
||||
else:
|
||||
checkbox_element.uncheck()
|
||||
|
||||
functional.submit(browser, form_class='form-configuration')
|
||||
functional.wait_for_config_update(browser, 'torproxy')
|
||||
|
||||
|
||||
def _assert_feature_enabled(browser, feature, enabled):
|
||||
"""Assert whether Tor Proxy feature is enabled or disabled."""
|
||||
element_name = _TOR_FEATURE_TO_ELEMENT[feature]
|
||||
functional.nav_to_module(browser, 'torproxy')
|
||||
assert browser.find_by_name(element_name).first.checked == enabled
|
||||
33
plinth/modules/torproxy/tests/test_torproxy.py
Normal file
33
plinth/modules/torproxy/tests/test_torproxy.py
Normal file
@ -0,0 +1,33 @@
|
||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
"""
|
||||
Tests for Tor Proxy module.
|
||||
"""
|
||||
|
||||
from unittest.mock import patch
|
||||
|
||||
import pytest
|
||||
|
||||
from plinth.modules.torproxy import utils
|
||||
|
||||
|
||||
class TestTorProxy:
|
||||
"""Test cases for testing the Tor Proxy module."""
|
||||
|
||||
@staticmethod
|
||||
@pytest.mark.usefixtures('needs_root')
|
||||
def test_is_apt_transport_tor_enabled():
|
||||
"""Test that is_apt_transport_tor_enabled does not raise any unhandled
|
||||
exceptions.
|
||||
"""
|
||||
utils.is_apt_transport_tor_enabled()
|
||||
|
||||
@staticmethod
|
||||
@patch('plinth.app.App.get')
|
||||
@pytest.mark.usefixtures('needs_root', 'load_cfg')
|
||||
def test_get_status(_app_get):
|
||||
"""Test that get_status does not raise any unhandled exceptions.
|
||||
|
||||
This should work regardless of whether tor is installed, or
|
||||
/etc/tor/instances/fbxproxy/torrc exists.
|
||||
"""
|
||||
utils.get_status()
|
||||
13
plinth/modules/torproxy/urls.py
Normal file
13
plinth/modules/torproxy/urls.py
Normal file
@ -0,0 +1,13 @@
|
||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
"""
|
||||
URLs for the Tor Proxy module.
|
||||
"""
|
||||
|
||||
from django.urls import re_path
|
||||
|
||||
from . import views
|
||||
|
||||
urlpatterns = [
|
||||
re_path(r'^apps/torproxy/$', views.TorProxyAppView.as_view(),
|
||||
name='index'),
|
||||
]
|
||||
75
plinth/modules/torproxy/utils.py
Normal file
75
plinth/modules/torproxy/utils.py
Normal file
@ -0,0 +1,75 @@
|
||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
"""Tor Proxy utility functions."""
|
||||
|
||||
import itertools
|
||||
|
||||
import augeas
|
||||
|
||||
from plinth import app as app_module
|
||||
from plinth.daemon import app_is_running
|
||||
|
||||
from . import privileged
|
||||
|
||||
APT_SOURCES_URI_PATHS = ('/files/etc/apt/sources.list/*/uri',
|
||||
'/files/etc/apt/sources.list.d/*/*/uri',
|
||||
'/files/etc/apt/sources.list.d/*/*/URIs/*')
|
||||
APT_TOR_PREFIX = 'tor+'
|
||||
|
||||
|
||||
def get_status(initialized=True):
|
||||
"""Return current Tor status."""
|
||||
status = privileged.get_status()
|
||||
|
||||
app = app_module.App.get('torproxy')
|
||||
return {
|
||||
'enabled': app.is_enabled() if initialized else False,
|
||||
'is_running': app_is_running(app) if initialized else False,
|
||||
'use_upstream_bridges': status['use_upstream_bridges'],
|
||||
'upstream_bridges': status['upstream_bridges'],
|
||||
'apt_transport_tor_enabled': is_apt_transport_tor_enabled()
|
||||
}
|
||||
|
||||
|
||||
def iter_apt_uris(aug):
|
||||
"""Iterate over all the APT source URIs."""
|
||||
return itertools.chain.from_iterable(
|
||||
[aug.match(path) for path in APT_SOURCES_URI_PATHS])
|
||||
|
||||
|
||||
def get_augeas():
|
||||
"""Return an instance of Augeaus for processing APT configuration."""
|
||||
aug = augeas.Augeas(flags=augeas.Augeas.NO_LOAD +
|
||||
augeas.Augeas.NO_MODL_AUTOLOAD)
|
||||
aug.set('/augeas/load/Aptsources/lens', 'Aptsources.lns')
|
||||
aug.set('/augeas/load/Aptsources/incl[last() + 1]',
|
||||
'/etc/apt/sources.list')
|
||||
aug.set('/augeas/load/Aptsources/incl[last() + 1]',
|
||||
'/etc/apt/sources.list.d/*.list')
|
||||
aug.set('/augeas/load/Aptsources822/lens', 'Aptsources822.lns')
|
||||
aug.set('/augeas/load/Aptsources822/incl[last() + 1]',
|
||||
'/etc/apt/sources.list.d/*.sources')
|
||||
aug.load()
|
||||
|
||||
# Check for any errors in parsing sources lists.
|
||||
if aug.match('/augeas/files/etc/apt/sources.list/error') or \
|
||||
aug.match('/augeas/files/etc/apt/sources.list.d//error'):
|
||||
raise Exception('Error parsing sources list')
|
||||
|
||||
return aug
|
||||
|
||||
|
||||
def is_apt_transport_tor_enabled():
|
||||
"""Return whether APT is set to download packages over Tor."""
|
||||
try:
|
||||
aug = get_augeas()
|
||||
except Exception:
|
||||
# If there was an error with parsing.
|
||||
return False
|
||||
|
||||
for uri_path in iter_apt_uris(aug):
|
||||
uri = aug.get(uri_path)
|
||||
if not uri.startswith(APT_TOR_PREFIX) and \
|
||||
(uri.startswith('http://') or uri.startswith('https://')):
|
||||
return False
|
||||
|
||||
return True
|
||||
104
plinth/modules/torproxy/views.py
Normal file
104
plinth/modules/torproxy/views.py
Normal file
@ -0,0 +1,104 @@
|
||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
"""FreedomBox app for configuring Tor Proxy."""
|
||||
|
||||
import logging
|
||||
|
||||
from django.utils.translation import gettext_noop
|
||||
from django.views.generic.edit import FormView
|
||||
|
||||
from plinth import app as app_module
|
||||
from plinth import operation as operation_module
|
||||
from plinth.views import AppView
|
||||
|
||||
from . import privileged
|
||||
from . import utils as tor_utils
|
||||
from .forms import TorProxyForm
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class TorProxyAppView(AppView):
|
||||
"""Show Tor Proxy app main page."""
|
||||
|
||||
app_id = 'torproxy'
|
||||
template_name = 'torproxy.html'
|
||||
form_class = TorProxyForm
|
||||
prefix = 'torproxy'
|
||||
|
||||
status = None
|
||||
|
||||
def get_initial(self):
|
||||
"""Return the values to fill in the form."""
|
||||
if not self.status:
|
||||
self.status = tor_utils.get_status()
|
||||
|
||||
initial = super().get_initial()
|
||||
initial.update(self.status)
|
||||
return initial
|
||||
|
||||
def get_context_data(self, *args, **kwargs):
|
||||
"""Add additional context data for template."""
|
||||
if not self.status:
|
||||
self.status = tor_utils.get_status()
|
||||
|
||||
context = super().get_context_data(*args, **kwargs)
|
||||
context['status'] = self.status
|
||||
return context
|
||||
|
||||
def form_valid(self, form):
|
||||
"""Configure tor app on successful form submission."""
|
||||
operation_module.manager.new(self.app_id,
|
||||
gettext_noop('Updating configuration'),
|
||||
_apply_changes,
|
||||
[form.initial, form.cleaned_data],
|
||||
show_notification=False)
|
||||
# Skip check for 'Settings unchanged' message by calling grandparent
|
||||
return super(FormView, self).form_valid(form)
|
||||
|
||||
|
||||
def _apply_changes(old_status, new_status):
|
||||
"""Try to apply changes and handle errors."""
|
||||
logger.info('torproxy: applying configuration changes')
|
||||
exception_to_update = None
|
||||
message = None
|
||||
try:
|
||||
__apply_changes(old_status, new_status)
|
||||
except Exception as exception:
|
||||
exception_to_update = exception
|
||||
message = gettext_noop('Error configuring app: {error}').format(
|
||||
error=exception)
|
||||
else:
|
||||
message = gettext_noop('Configuration updated.')
|
||||
|
||||
logger.info('torproxy: configuration changes completed')
|
||||
operation = operation_module.Operation.get_operation()
|
||||
operation.on_update(message, exception_to_update)
|
||||
|
||||
|
||||
def __apply_changes(old_status, new_status):
|
||||
"""Apply the changes."""
|
||||
needs_restart = False
|
||||
arguments = {}
|
||||
|
||||
app = app_module.App.get('torproxy')
|
||||
is_enabled = app.is_enabled()
|
||||
|
||||
if old_status['apt_transport_tor_enabled'] != \
|
||||
new_status['apt_transport_tor_enabled']:
|
||||
arguments['apt_transport_tor'] = (
|
||||
is_enabled and new_status['apt_transport_tor_enabled'])
|
||||
|
||||
if old_status['use_upstream_bridges'] != \
|
||||
new_status['use_upstream_bridges']:
|
||||
arguments['use_upstream_bridges'] = new_status['use_upstream_bridges']
|
||||
needs_restart = True
|
||||
|
||||
if old_status['upstream_bridges'] != new_status['upstream_bridges']:
|
||||
arguments['upstream_bridges'] = new_status['upstream_bridges']
|
||||
needs_restart = True
|
||||
|
||||
if arguments:
|
||||
privileged.configure(**arguments)
|
||||
|
||||
if needs_restart and is_enabled:
|
||||
privileged.restart()
|
||||
@ -117,7 +117,8 @@ class TTRSSApp(app_module.App):
|
||||
privileged.pre_setup()
|
||||
super().setup(old_version)
|
||||
privileged.setup()
|
||||
self.enable()
|
||||
if not old_version:
|
||||
self.enable()
|
||||
|
||||
def force_upgrade(self, packages):
|
||||
"""Force update package to resolve conffile prompts."""
|
||||
|
||||
@ -53,7 +53,7 @@ class UpgradesApp(app_module.App):
|
||||
|
||||
app_id = 'upgrades'
|
||||
|
||||
_version = 16
|
||||
_version = 17
|
||||
|
||||
can_be_disabled = False
|
||||
|
||||
|
||||
@ -12,7 +12,7 @@ Unattended-Upgrade::Remove-Unused-Dependencies "true";
|
||||
// ignored. Only packages that have higher priority set explicitly will get
|
||||
// upgraded. Only selected FreedomBox packages have high priority set on them.
|
||||
Unattended-Upgrade::Origins-Pattern {
|
||||
"o=Debian Backports,a=${distro_codename}-backports,l=Debian Backports";
|
||||
"o=Debian Backports,n=${distro_codename}-backports,l=Debian Backports";
|
||||
};
|
||||
|
||||
// Automatically reboot *WITHOUT CONFIRMATION* if
|
||||
|
||||
@ -33,7 +33,7 @@ APT_PREFERENCES_FREEDOMBOX = \
|
||||
'''Explanation: This file is managed by FreedomBox, do not edit.
|
||||
Explanation: Allow carefully selected updates to 'freedombox' from backports.
|
||||
Package: src:freedombox
|
||||
Pin: release a={}-backports
|
||||
Pin: release n={}-backports
|
||||
Pin-Priority: 500
|
||||
'''
|
||||
|
||||
|
||||
@ -4,6 +4,7 @@
|
||||
import grp
|
||||
import subprocess
|
||||
|
||||
import augeas
|
||||
from django.utils.text import format_lazy
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
@ -90,6 +91,13 @@ class UsersApp(app_module.App):
|
||||
results.append(_diagnose_ldap_entry('ou=people'))
|
||||
results.append(_diagnose_ldap_entry('ou=groups'))
|
||||
|
||||
config = privileged.get_nslcd_config()
|
||||
results.append(_diagnose_nslcd_config(config, 'uri', 'ldapi:///'))
|
||||
results.append(_diagnose_nslcd_config(config, 'base', 'dc=thisbox'))
|
||||
results.append(_diagnose_nslcd_config(config, 'sasl_mech', 'EXTERNAL'))
|
||||
|
||||
results.extend(_diagnose_nsswitch_config())
|
||||
|
||||
return results
|
||||
|
||||
def setup(self, old_version):
|
||||
@ -119,6 +127,50 @@ def _diagnose_ldap_entry(search_item):
|
||||
return [testname, result]
|
||||
|
||||
|
||||
def _diagnose_nslcd_config(config, key, value):
|
||||
"""Diagnose that nslcd has a configuration."""
|
||||
try:
|
||||
result = 'passed' if config[key] == value else 'failed'
|
||||
except KeyError:
|
||||
result = 'failed'
|
||||
|
||||
template = _('Check nslcd config "{key} {value}"')
|
||||
testname = format_lazy(template, key=key, value=value)
|
||||
|
||||
return [testname, result]
|
||||
|
||||
|
||||
def _diagnose_nsswitch_config():
|
||||
"""Diagnose that Name Service Switch is configured to use LDAP."""
|
||||
nsswitch_conf = '/etc/nsswitch.conf'
|
||||
aug = augeas.Augeas(flags=augeas.Augeas.NO_LOAD +
|
||||
augeas.Augeas.NO_MODL_AUTOLOAD)
|
||||
aug.transform('Nsswitch', nsswitch_conf)
|
||||
aug.set('/augeas/context', '/files' + nsswitch_conf)
|
||||
aug.load()
|
||||
|
||||
results = []
|
||||
for database in ['passwd', 'group', 'shadow']:
|
||||
result = 'failed'
|
||||
for match in aug.match('database'):
|
||||
if aug.get(match) != database:
|
||||
continue
|
||||
|
||||
for service_match in aug.match(match + '/service'):
|
||||
if 'ldap' == aug.get(service_match):
|
||||
result = 'passed'
|
||||
break
|
||||
|
||||
break
|
||||
|
||||
template = _('Check nsswitch config "{database}"')
|
||||
testname = format_lazy(template, database=database)
|
||||
|
||||
results.append([testname, result])
|
||||
|
||||
return results
|
||||
|
||||
|
||||
def get_last_admin_user():
|
||||
"""If there is only one admin user return its name else return None."""
|
||||
admin_users = privileged.get_group_users('admin')
|
||||
|
||||
@ -178,6 +178,23 @@ def _configure_ldapscripts():
|
||||
aug.save()
|
||||
|
||||
|
||||
@privileged
|
||||
def get_nslcd_config():
|
||||
"""Get nslcd configuration for diagnostics."""
|
||||
nslcd_conf = '/etc/nslcd.conf'
|
||||
aug = augeas.Augeas(flags=augeas.Augeas.NO_LOAD +
|
||||
augeas.Augeas.NO_MODL_AUTOLOAD)
|
||||
aug.transform('Nslcd', nslcd_conf)
|
||||
aug.set('/augeas/context', '/files' + nslcd_conf)
|
||||
aug.load()
|
||||
|
||||
return {
|
||||
'uri': aug.get('uri/1'),
|
||||
'base': aug.get('base'),
|
||||
'sasl_mech': aug.get('sasl_mech')
|
||||
}
|
||||
|
||||
|
||||
def _get_samba_users():
|
||||
"""Get users from the Samba user database."""
|
||||
# 'pdbedit -L' is better for listing users but is installed only with samba
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user