mirror of
https://github.com/onionshare/onionshare.git
synced 2024-12-25 23:39:43 -05:00
Remove v2 legacy onion support, and its corresponding client auth functionality. Update the v3 Client Auth to take its place in settings
This commit is contained in:
parent
b48848eb04
commit
e0b378055c
@ -120,26 +120,12 @@ def main(cwd=None):
|
||||
default=0,
|
||||
help="Stop onion service at schedule time (N seconds from now)",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--legacy",
|
||||
action="store_true",
|
||||
dest="legacy",
|
||||
default=False,
|
||||
help="Use legacy address (v2 onion service, not recommended)",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--client-auth",
|
||||
action="store_true",
|
||||
dest="client_auth",
|
||||
default=False,
|
||||
help="Use V2 client authorization (requires --legacy)",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--client-auth-v3",
|
||||
action="store_true",
|
||||
dest="client_auth_v3",
|
||||
default=False,
|
||||
help="Use V3 client authorization",
|
||||
help="Use client authorization",
|
||||
)
|
||||
# Share args
|
||||
parser.add_argument(
|
||||
@ -201,9 +187,7 @@ def main(cwd=None):
|
||||
public = bool(args.public)
|
||||
autostart_timer = int(args.autostart_timer)
|
||||
autostop_timer = int(args.autostop_timer)
|
||||
legacy = bool(args.legacy)
|
||||
client_auth = bool(args.client_auth)
|
||||
client_auth_v3 = bool(args.client_auth_v3)
|
||||
autostop_sharing = not bool(args.no_autostop_sharing)
|
||||
data_dir = args.data_dir
|
||||
webhook_url = args.webhook_url
|
||||
@ -222,20 +206,6 @@ def main(cwd=None):
|
||||
# Verbose mode?
|
||||
common.verbose = verbose
|
||||
|
||||
# client_auth can only be set if legacy is also set
|
||||
if client_auth and not legacy:
|
||||
print(
|
||||
"Client authentication (--client-auth) is only supported with legacy onion services (--legacy)"
|
||||
)
|
||||
sys.exit()
|
||||
|
||||
# client_auth_v3 and legacy cannot be both set
|
||||
if client_auth_v3 and legacy:
|
||||
print(
|
||||
"V3 Client authentication (--client-auth-v3) cannot be used with legacy onion services (--legacy)"
|
||||
)
|
||||
sys.exit()
|
||||
|
||||
# Re-load settings, if a custom config was passed in
|
||||
if config_filename:
|
||||
common.load_settings(config_filename)
|
||||
@ -256,9 +226,7 @@ def main(cwd=None):
|
||||
mode_settings.set("general", "public", public)
|
||||
mode_settings.set("general", "autostart_timer", autostart_timer)
|
||||
mode_settings.set("general", "autostop_timer", autostop_timer)
|
||||
mode_settings.set("general", "legacy", legacy)
|
||||
mode_settings.set("general", "client_auth", client_auth)
|
||||
mode_settings.set("general", "client_auth_v3", client_auth_v3)
|
||||
if mode == "share":
|
||||
mode_settings.set("share", "autostop_sharing", autostop_sharing)
|
||||
if mode == "receive":
|
||||
@ -379,30 +347,20 @@ def main(cwd=None):
|
||||
)
|
||||
print("")
|
||||
if mode_settings.get("general", "client_auth"):
|
||||
print(
|
||||
f"Give this address and HidServAuth line to your sender, and tell them it won't be accessible until: {schedule.strftime('%I:%M:%S%p, %b %d, %y')}"
|
||||
)
|
||||
print(app.auth_string)
|
||||
elif mode_settings.get("general", "client_auth_v3"):
|
||||
print(
|
||||
f"Give this address and ClientAuth line to your sender, and tell them it won't be accessible until: {schedule.strftime('%I:%M:%S%p, %b %d, %y')}"
|
||||
)
|
||||
print(app.auth_string_v3)
|
||||
print(f"ClientAuth: {app.auth_string}")
|
||||
else:
|
||||
print(
|
||||
f"Give this address to your sender, and tell them it won't be accessible until: {schedule.strftime('%I:%M:%S%p, %b %d, %y')}"
|
||||
)
|
||||
else:
|
||||
if mode_settings.get("general", "client_auth"):
|
||||
print(
|
||||
f"Give this address and HidServAuth line to your recipient, and tell them it won't be accessible until: {schedule.strftime('%I:%M:%S%p, %b %d, %y')}"
|
||||
)
|
||||
print(app.auth_string)
|
||||
elif mode_settings.get("general", "client_auth_v3"):
|
||||
print(
|
||||
f"Give this address and ClientAuth line to your recipient, and tell them it won't be accessible until: {schedule.strftime('%I:%M:%S%p, %b %d, %y')}"
|
||||
)
|
||||
print(app.auth_string_v3)
|
||||
print(f"ClientAuth: {app.auth_string}")
|
||||
else:
|
||||
print(
|
||||
f"Give this address to your recipient, and tell them it won't be accessible until: {schedule.strftime('%I:%M:%S%p, %b %d, %y')}"
|
||||
@ -484,25 +442,17 @@ def main(cwd=None):
|
||||
print("")
|
||||
|
||||
if mode_settings.get("general", "client_auth"):
|
||||
print("Give this address and HidServAuth to the sender:")
|
||||
print(url)
|
||||
print(app.auth_string)
|
||||
elif mode_settings.get("general", "client_auth_v3"):
|
||||
print("Give this address and ClientAuth to the sender:")
|
||||
print(url)
|
||||
print(app.auth_string_v3)
|
||||
print(f"ClientAuth: {app.auth_string}")
|
||||
else:
|
||||
print("Give this address to the sender:")
|
||||
print(url)
|
||||
else:
|
||||
if mode_settings.get("general", "client_auth"):
|
||||
print("Give this address and HidServAuth line to the recipient:")
|
||||
print(url)
|
||||
print(app.auth_string)
|
||||
elif mode_settings.get("general", "client_auth_v3"):
|
||||
print("Give this address and ClientAuth line to the recipient:")
|
||||
print(url)
|
||||
print(app.auth_string_v3)
|
||||
print(f"ClientAuth: {app.auth_string}")
|
||||
else:
|
||||
print("Give this address to the recipient:")
|
||||
print(url)
|
||||
|
@ -48,9 +48,7 @@ class ModeSettings:
|
||||
"public": False,
|
||||
"autostart_timer": False,
|
||||
"autostop_timer": False,
|
||||
"legacy": False,
|
||||
"client_auth": False,
|
||||
"client_auth_v3": False,
|
||||
"service_id": None,
|
||||
},
|
||||
"share": {"autostop_sharing": True, "filenames": []},
|
||||
|
@ -21,7 +21,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
from stem.control import Controller
|
||||
from stem import ProtocolError, SocketClosed
|
||||
from stem.connection import MissingPassword, UnreadableCookieFile, AuthenticationFailure
|
||||
from Crypto.PublicKey import RSA
|
||||
import base64
|
||||
import nacl.public
|
||||
import os
|
||||
@ -167,7 +166,6 @@ class Onion(object):
|
||||
|
||||
# Assigned later if we are using stealth mode
|
||||
self.auth_string = None
|
||||
self.auth_string_v3 = None
|
||||
|
||||
# Keep track of onions where it's important to gracefully close to prevent truncated downloads
|
||||
self.graceful_close_onions = []
|
||||
@ -586,22 +584,6 @@ class Onion(object):
|
||||
callable(list_ephemeral_hidden_services) and self.tor_version >= "0.2.7.1"
|
||||
)
|
||||
|
||||
# Do the versions of stem and tor that I'm using support v2 stealth onion services?
|
||||
try:
|
||||
res = self.c.create_ephemeral_hidden_service(
|
||||
{1: 1},
|
||||
basic_auth={"onionshare": None},
|
||||
await_publication=False,
|
||||
key_type="NEW",
|
||||
key_content="RSA1024",
|
||||
)
|
||||
tmp_service_id = res.service_id
|
||||
self.c.remove_ephemeral_hidden_service(tmp_service_id)
|
||||
self.supports_stealth = True
|
||||
except:
|
||||
# ephemeral stealth onion services are not supported
|
||||
self.supports_stealth = False
|
||||
|
||||
# Do the versions of stem and tor that I'm using support v3 stealth onion services?
|
||||
try:
|
||||
res = self.c.create_ephemeral_hidden_service(
|
||||
@ -614,20 +596,16 @@ class Onion(object):
|
||||
)
|
||||
tmp_service_id = res.service_id
|
||||
self.c.remove_ephemeral_hidden_service(tmp_service_id)
|
||||
self.supports_stealth_v3 = True
|
||||
self.supports_stealth = True
|
||||
except:
|
||||
# ephemeral v3 stealth onion services are not supported
|
||||
self.supports_stealth_v3 = False
|
||||
self.supports_stealth = False
|
||||
|
||||
# Does this version of Tor support next-gen ('v3') onions?
|
||||
# Note, this is the version of Tor where this bug was fixed:
|
||||
# https://trac.torproject.org/projects/tor/ticket/28619
|
||||
self.supports_v3_onions = self.tor_version >= Version("0.3.5.7")
|
||||
|
||||
# Does this version of Tor support legacy ('v2') onions?
|
||||
# v2 onions have been phased out as of Tor 0.4.6.1.
|
||||
self.supports_v2_onions = self.tor_version < Version("0.4.6.1")
|
||||
|
||||
|
||||
def is_authenticated(self):
|
||||
"""
|
||||
@ -650,85 +628,45 @@ class Onion(object):
|
||||
"Your version of Tor is too old, ephemeral onion services are not supported"
|
||||
)
|
||||
raise TorTooOldEphemeral()
|
||||
if mode_settings.get("general", "client_auth") and not self.supports_stealth:
|
||||
print(
|
||||
"Your version of Tor is too old, stealth onion services are not supported"
|
||||
)
|
||||
raise TorTooOldStealth()
|
||||
|
||||
if mode_settings.get("general", "client_auth_v3") and not self.supports_stealth_v3:
|
||||
print(
|
||||
"Your version of Tor is too old, stealth v3 onion services are not supported"
|
||||
)
|
||||
raise TorTooOldStealth()
|
||||
|
||||
auth_cookie = None
|
||||
if mode_settings.get("general", "client_auth"):
|
||||
if mode_settings.get("onion", "hidservauth_string"):
|
||||
auth_cookie = mode_settings.get("onion", "hidservauth_string").split()[
|
||||
2
|
||||
]
|
||||
if auth_cookie:
|
||||
basic_auth = {"onionshare": auth_cookie}
|
||||
else:
|
||||
# If we had neither a scheduled auth cookie or a persistent hidservauth string,
|
||||
# set the cookie to 'None', which means Tor will create one for us
|
||||
basic_auth = {"onionshare": None}
|
||||
else:
|
||||
# Not using client auth at all
|
||||
basic_auth = None
|
||||
client_auth_v3_pub_key = None
|
||||
|
||||
if mode_settings.get("onion", "private_key"):
|
||||
key_content = mode_settings.get("onion", "private_key")
|
||||
if self.is_v2_key(key_content) and self.supports_v2_onions:
|
||||
key_type = "RSA1024"
|
||||
else:
|
||||
# Assume it was a v3 key. Stem will throw an error if it's something illegible
|
||||
key_type = "ED25519-V3"
|
||||
key_type = "ED25519-V3"
|
||||
else:
|
||||
key_content = "ED25519-V3"
|
||||
key_type = "NEW"
|
||||
# Work out if we can support v3 onion services, which are preferred
|
||||
if self.supports_v3_onions and not mode_settings.get("general", "legacy") and not self.supports_v2_onions:
|
||||
key_content = "ED25519-V3"
|
||||
else:
|
||||
# fall back to v2 onion services
|
||||
key_content = "RSA1024"
|
||||
|
||||
if (
|
||||
(key_type == "ED25519-V3"
|
||||
or key_content == "ED25519-V3")
|
||||
and mode_settings.get("general", "client_auth_v3")
|
||||
):
|
||||
if key_type == "NEW" or not mode_settings.get("onion", "client_auth_v3_priv_key"):
|
||||
# Generate a new key pair for Client Auth on new onions, or if
|
||||
# it's a persistent onion but for some reason we don't them
|
||||
client_auth_v3_priv_key_raw = nacl.public.PrivateKey.generate()
|
||||
client_auth_v3_priv_key = self.key_str(client_auth_v3_priv_key_raw)
|
||||
client_auth_v3_pub_key = self.key_str(client_auth_v3_priv_key_raw.public_key)
|
||||
else:
|
||||
# These should have been saved in settings from the previous run of a persistent onion
|
||||
client_auth_v3_priv_key = mode_settings.get("onion", "client_auth_v3_priv_key")
|
||||
client_auth_v3_pub_key = mode_settings.get("onion", "client_auth_v3_pub_key")
|
||||
|
||||
self.common.log(
|
||||
"Onion", "start_onion-service", f"ClientAuthV3 private key (for Tor Browser: {client_auth_v3_priv_key}"
|
||||
)
|
||||
self.common.log(
|
||||
"Onion", "start_onion-service", f"ClientAuthV3 public key (for Onion service: {client_auth_v3_pub_key}"
|
||||
)
|
||||
# basic_auth is only for v2 onions
|
||||
basic_auth = None
|
||||
|
||||
debug_message = f"key_type={key_type}"
|
||||
if key_type == "NEW":
|
||||
debug_message += f", key_content={key_content}"
|
||||
self.common.log("Onion", "start_onion_service", debug_message)
|
||||
|
||||
if mode_settings.get("general", "client_auth"):
|
||||
if not self.supports_stealth:
|
||||
print(
|
||||
"Your version of Tor is too old, stealth onion services are not supported"
|
||||
)
|
||||
raise TorTooOldStealth()
|
||||
else:
|
||||
if key_type == "NEW" or not mode_settings.get("onion", "client_auth_v3_priv_key"):
|
||||
# Generate a new key pair for Client Auth on new onions, or if
|
||||
# it's a persistent onion but for some reason we don't them
|
||||
client_auth_v3_priv_key_raw = nacl.public.PrivateKey.generate()
|
||||
client_auth_v3_priv_key = self.key_str(client_auth_v3_priv_key_raw)
|
||||
client_auth_v3_pub_key = self.key_str(client_auth_v3_priv_key_raw.public_key)
|
||||
else:
|
||||
# These should have been saved in settings from the previous run of a persistent onion
|
||||
client_auth_v3_priv_key = mode_settings.get("onion", "client_auth_v3_priv_key")
|
||||
client_auth_v3_pub_key = mode_settings.get("onion", "client_auth_v3_pub_key")
|
||||
else:
|
||||
client_auth_v3_priv_key = None
|
||||
client_auth_v3_pub_key = None
|
||||
|
||||
try:
|
||||
res = self.c.create_ephemeral_hidden_service(
|
||||
{80: port},
|
||||
await_publication=await_publication,
|
||||
basic_auth=basic_auth,
|
||||
basic_auth=None,
|
||||
key_type=key_type,
|
||||
key_content=key_content,
|
||||
client_auth_v3=client_auth_v3_pub_key,
|
||||
@ -750,25 +688,20 @@ class Onion(object):
|
||||
# Save the private key and hidservauth string
|
||||
if not mode_settings.get("onion", "private_key"):
|
||||
mode_settings.set("onion", "private_key", res.private_key)
|
||||
if mode_settings.get("general", "client_auth") and not mode_settings.get(
|
||||
"onion", "hidservauth_string"
|
||||
):
|
||||
auth_cookie = list(res.client_auth.values())[0]
|
||||
self.auth_string = f"HidServAuth {onion_host} {auth_cookie}"
|
||||
mode_settings.set("onion", "hidservauth_string", self.auth_string)
|
||||
|
||||
# If using V3 onions and Client Auth, save both the private and public key
|
||||
# because we need to send the public key to ADD_ONION, and the private key
|
||||
# to the other user for their Tor Browser.
|
||||
if mode_settings.get("general", "client_auth_v3"):
|
||||
# because we need to send the public key to ADD_ONION (if we restart this
|
||||
# same share at a later date), and the private key to the other user for
|
||||
# their Tor Browser.
|
||||
if mode_settings.get("general", "client_auth"):
|
||||
mode_settings.set("onion", "client_auth_v3_priv_key", client_auth_v3_priv_key)
|
||||
mode_settings.set("onion", "client_auth_v3_pub_key", client_auth_v3_pub_key)
|
||||
# If we were pasting the client auth directly into the filesystem behind a Tor client,
|
||||
# it would need to be in the format below. However, let's just set the private key
|
||||
# by itself, as this can be pasted directly into Tor Browser, which is likely to
|
||||
# be the most common use case.
|
||||
# self.auth_string_v3 = f"{onion_host}:x25519:{client_auth_v3_priv_key}"
|
||||
self.auth_string_v3 = client_auth_v3_priv_key
|
||||
# self.auth_string = f"{onion_host}:x25519:{client_auth_v3_priv_key}"
|
||||
self.auth_string = client_auth_v3_priv_key
|
||||
|
||||
return onion_host
|
||||
|
||||
@ -900,15 +833,3 @@ class Onion(object):
|
||||
return ("127.0.0.1", 9150)
|
||||
else:
|
||||
return (self.settings.get("socks_address"), self.settings.get("socks_port"))
|
||||
|
||||
def is_v2_key(self, key):
|
||||
"""
|
||||
Helper function for determining if a key is RSA1024 (v2) or not.
|
||||
"""
|
||||
try:
|
||||
# Import the key
|
||||
key = RSA.importKey(base64.b64decode(key))
|
||||
# Is this a v2 Onion key? (1024 bits) If so, we should keep using it.
|
||||
return key.n.bit_length() == 1024
|
||||
except:
|
||||
return False
|
||||
|
@ -83,9 +83,6 @@ class OnionShare(object):
|
||||
if mode_settings.get("general", "client_auth"):
|
||||
self.auth_string = self.onion.auth_string
|
||||
|
||||
if mode_settings.get("general", "client_auth_v3"):
|
||||
self.auth_string_v3 = self.onion.auth_string_v3
|
||||
|
||||
def stop_onion_service(self, mode_settings):
|
||||
"""
|
||||
Stop the onion service
|
||||
|
42
cli/poetry.lock
generated
42
cli/poetry.lock
generated
@ -278,14 +278,6 @@ optional = false
|
||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
||||
version = "2.20"
|
||||
|
||||
[[package]]
|
||||
category = "main"
|
||||
description = "Cryptographic library for Python"
|
||||
name = "pycryptodome"
|
||||
optional = false
|
||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
|
||||
version = "3.10.1"
|
||||
|
||||
[[package]]
|
||||
category = "main"
|
||||
description = "Python binding to the Networking and Cryptography (NaCl) library"
|
||||
@ -473,7 +465,7 @@ docs = ["sphinx", "jaraco.packaging (>=8.2)", "rst.linker (>=1.9)"]
|
||||
testing = ["pytest (>=4.6)", "pytest-checkdocs (>=1.2.3)", "pytest-flake8", "pytest-cov", "pytest-enabler", "jaraco.itertools", "func-timeout", "pytest-black (>=0.3.7)", "pytest-mypy"]
|
||||
|
||||
[metadata]
|
||||
content-hash = "ace423d1b657b80c33a6fddb308d7d2a458847cfb14630c17da256c9e50f1f1d"
|
||||
content-hash = "8c04afd6b4605961ef8da2340c99f1d3dabc790bca8b57c1bdfb3e29130dc94d"
|
||||
python-versions = "^3.6"
|
||||
|
||||
[metadata.files]
|
||||
@ -710,38 +702,6 @@ pycparser = [
|
||||
{file = "pycparser-2.20-py2.py3-none-any.whl", hash = "sha256:7582ad22678f0fcd81102833f60ef8d0e57288b6b5fb00323d101be910e35705"},
|
||||
{file = "pycparser-2.20.tar.gz", hash = "sha256:2d475327684562c3a96cc71adf7dc8c4f0565175cf86b6d7a404ff4c771f15f0"},
|
||||
]
|
||||
pycryptodome = [
|
||||
{file = "pycryptodome-3.10.1-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:1c5e1ca507de2ad93474be5cfe2bfa76b7cf039a1a32fc196f40935944871a06"},
|
||||
{file = "pycryptodome-3.10.1-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:6260e24d41149268122dd39d4ebd5941e9d107f49463f7e071fd397e29923b0c"},
|
||||
{file = "pycryptodome-3.10.1-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:3f840c49d38986f6e17dbc0673d37947c88bc9d2d9dba1c01b979b36f8447db1"},
|
||||
{file = "pycryptodome-3.10.1-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:2dea65df54349cdfa43d6b2e8edb83f5f8d6861e5cf7b1fbc3e34c5694c85e27"},
|
||||
{file = "pycryptodome-3.10.1-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:e61e363d9a5d7916f3a4ce984a929514c0df3daf3b1b2eb5e6edbb131ee771cf"},
|
||||
{file = "pycryptodome-3.10.1-cp27-cp27m-manylinux2014_aarch64.whl", hash = "sha256:2603c98ae04aac675fefcf71a6c87dc4bb74a75e9071ae3923bbc91a59f08d35"},
|
||||
{file = "pycryptodome-3.10.1-cp27-cp27m-win32.whl", hash = "sha256:38661348ecb71476037f1e1f553159b80d256c00f6c0b00502acac891f7116d9"},
|
||||
{file = "pycryptodome-3.10.1-cp27-cp27m-win_amd64.whl", hash = "sha256:1723ebee5561628ce96748501cdaa7afaa67329d753933296321f0be55358dce"},
|
||||
{file = "pycryptodome-3.10.1-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:77997519d8eb8a4adcd9a47b9cec18f9b323e296986528186c0e9a7a15d6a07e"},
|
||||
{file = "pycryptodome-3.10.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:99b2f3fc51d308286071d0953f92055504a6ffe829a832a9fc7a04318a7683dd"},
|
||||
{file = "pycryptodome-3.10.1-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:e0a4d5933a88a2c98bbe19c0c722f5483dc628d7a38338ac2cb64a7dbd34064b"},
|
||||
{file = "pycryptodome-3.10.1-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:d3d6958d53ad307df5e8469cc44474a75393a434addf20ecd451f38a72fe29b8"},
|
||||
{file = "pycryptodome-3.10.1-cp27-cp27mu-manylinux2014_aarch64.whl", hash = "sha256:a8eb8b6ea09ec1c2535bf39914377bc8abcab2c7d30fa9225eb4fe412024e427"},
|
||||
{file = "pycryptodome-3.10.1-cp35-abi3-macosx_10_9_x86_64.whl", hash = "sha256:31c1df17b3dc5f39600a4057d7db53ac372f492c955b9b75dd439f5d8b460129"},
|
||||
{file = "pycryptodome-3.10.1-cp35-abi3-manylinux1_i686.whl", hash = "sha256:a3105a0eb63eacf98c2ecb0eb4aa03f77f40fbac2bdde22020bb8a536b226bb8"},
|
||||
{file = "pycryptodome-3.10.1-cp35-abi3-manylinux1_x86_64.whl", hash = "sha256:a92d5c414e8ee1249e850789052608f582416e82422502dc0ac8c577808a9067"},
|
||||
{file = "pycryptodome-3.10.1-cp35-abi3-manylinux2010_i686.whl", hash = "sha256:60386d1d4cfaad299803b45a5bc2089696eaf6cdd56f9fc17479a6f89595cfc8"},
|
||||
{file = "pycryptodome-3.10.1-cp35-abi3-manylinux2010_x86_64.whl", hash = "sha256:501ab36aae360e31d0ec370cf5ce8ace6cb4112060d099b993bc02b36ac83fb6"},
|
||||
{file = "pycryptodome-3.10.1-cp35-abi3-manylinux2014_aarch64.whl", hash = "sha256:fc7489a50323a0df02378bc2fff86eb69d94cc5639914346c736be981c6a02e7"},
|
||||
{file = "pycryptodome-3.10.1-cp35-abi3-win32.whl", hash = "sha256:9b6f711b25e01931f1c61ce0115245a23cdc8b80bf8539ac0363bdcf27d649b6"},
|
||||
{file = "pycryptodome-3.10.1-cp35-abi3-win_amd64.whl", hash = "sha256:7fd519b89585abf57bf47d90166903ec7b43af4fe23c92273ea09e6336af5c07"},
|
||||
{file = "pycryptodome-3.10.1-pp27-pypy_73-macosx_10_9_x86_64.whl", hash = "sha256:09c1555a3fa450e7eaca41ea11cd00afe7c91fef52353488e65663777d8524e0"},
|
||||
{file = "pycryptodome-3.10.1-pp27-pypy_73-manylinux1_x86_64.whl", hash = "sha256:758949ca62690b1540dfb24ad773c6da9cd0e425189e83e39c038bbd52b8e438"},
|
||||
{file = "pycryptodome-3.10.1-pp27-pypy_73-manylinux2010_x86_64.whl", hash = "sha256:e3bf558c6aeb49afa9f0c06cee7fb5947ee5a1ff3bd794b653d39926b49077fa"},
|
||||
{file = "pycryptodome-3.10.1-pp27-pypy_73-win32.whl", hash = "sha256:f977cdf725b20f6b8229b0c87acb98c7717e742ef9f46b113985303ae12a99da"},
|
||||
{file = "pycryptodome-3.10.1-pp36-pypy36_pp73-macosx_10_9_x86_64.whl", hash = "sha256:6d2df5223b12437e644ce0a3be7809471ffa71de44ccd28b02180401982594a6"},
|
||||
{file = "pycryptodome-3.10.1-pp36-pypy36_pp73-manylinux1_x86_64.whl", hash = "sha256:98213ac2b18dc1969a47bc65a79a8fca02a414249d0c8635abb081c7f38c91b6"},
|
||||
{file = "pycryptodome-3.10.1-pp36-pypy36_pp73-manylinux2010_x86_64.whl", hash = "sha256:12222a5edc9ca4a29de15fbd5339099c4c26c56e13c2ceddf0b920794f26165d"},
|
||||
{file = "pycryptodome-3.10.1-pp36-pypy36_pp73-win32.whl", hash = "sha256:6bbf7fee7b7948b29d7e71fcacf48bac0c57fb41332007061a933f2d996f9713"},
|
||||
{file = "pycryptodome-3.10.1.tar.gz", hash = "sha256:3e2e3a06580c5f190df843cdb90ea28d61099cf4924334d5297a995de68e4673"},
|
||||
]
|
||||
pynacl = [
|
||||
{file = "PyNaCl-1.4.0-cp27-cp27m-macosx_10_10_x86_64.whl", hash = "sha256:ea6841bc3a76fa4942ce00f3bda7d436fda21e2d91602b9e21b7ca9ecab8f3ff"},
|
||||
{file = "PyNaCl-1.4.0-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:d452a6746f0a7e11121e64625109bc4468fc3100452817001dbe018bb8b08514"},
|
||||
|
@ -22,7 +22,6 @@ flask = "*"
|
||||
flask-httpauth = "*"
|
||||
flask-socketio = "*"
|
||||
psutil = "*"
|
||||
pycryptodome = "*"
|
||||
pysocks = "*"
|
||||
requests = {extras = ["socks"], version = "^2.25.1"}
|
||||
stem = "*"
|
||||
|
@ -22,12 +22,9 @@
|
||||
"gui_receive_stop_server": "Staak Ontvangmodus",
|
||||
"gui_receive_stop_server_autostop_timer": "Staak Ontvangmodus ({} oorblywend)",
|
||||
"gui_copy_url": "Kopieer Adres",
|
||||
"gui_copy_hidservauth": "Kopieer HidServAuth",
|
||||
"gui_canceled": "Gekanselleer",
|
||||
"gui_copied_url_title": "OnionShare-adres Gekopieer",
|
||||
"gui_copied_url": "OnionShare-adres na knipbord gekopieer",
|
||||
"gui_copied_hidservauth_title": "HidServAuth Gekopieer",
|
||||
"gui_copied_hidservauth": "HidServAuth-reël na knipbord gekopieer",
|
||||
"gui_waiting_to_start": "Geskeduleer om oor {} te begin. Klik om te kanselleer.",
|
||||
"gui_please_wait": "Begin… Klik om te kanselleer.",
|
||||
"gui_quit_title": "Nie so haastig nie",
|
||||
@ -42,7 +39,6 @@
|
||||
"gui_settings_window_title": "Instellings",
|
||||
"gui_settings_whats_this": "<a href='{0:s}'>Wat is dit?</a>",
|
||||
"gui_settings_stealth_option": "Gebruik kliëntmagtiging",
|
||||
"gui_settings_stealth_hidservauth_string": "Deur u privaat sleutel vir herbruik bewaar te hê kan u nou klik om u HidServAuth te kopieer.",
|
||||
"gui_settings_autoupdate_label": "Soek na nuwe weergawe",
|
||||
"gui_settings_autoupdate_option": "Laat my weet wanneer ’n nuwe weergawe beskikbaar is",
|
||||
"gui_settings_autoupdate_timestamp": "Laas gesoek: {}",
|
||||
|
@ -45,14 +45,11 @@
|
||||
"gui_receive_stop_server_autostop_timer": "",
|
||||
"gui_receive_stop_server_autostop_timer_tooltip": "",
|
||||
"gui_copy_url": "",
|
||||
"gui_copy_hidservauth": "",
|
||||
"gui_downloads": "",
|
||||
"gui_no_downloads": "",
|
||||
"gui_canceled": "",
|
||||
"gui_copied_url_title": "",
|
||||
"gui_copied_url": "",
|
||||
"gui_copied_hidservauth_title": "",
|
||||
"gui_copied_hidservauth": "",
|
||||
"gui_please_wait": "",
|
||||
"gui_download_upload_progress_complete": "",
|
||||
"gui_download_upload_progress_starting": "",
|
||||
@ -70,7 +67,6 @@
|
||||
"gui_settings_window_title": "",
|
||||
"gui_settings_whats_this": "",
|
||||
"gui_settings_stealth_option": "",
|
||||
"gui_settings_stealth_hidservauth_string": "",
|
||||
"gui_settings_autoupdate_label": "",
|
||||
"gui_settings_autoupdate_option": "",
|
||||
"gui_settings_autoupdate_timestamp": "",
|
||||
|
@ -44,14 +44,11 @@
|
||||
"gui_receive_stop_server_autostop_timer": "أوقف طور التلقّي (باقي {})",
|
||||
"gui_receive_stop_server_autostop_timer_tooltip": "",
|
||||
"gui_copy_url": "نسخ العنوان",
|
||||
"gui_copy_hidservauth": "نسخ مُصادقة الخدمة المخفية",
|
||||
"gui_downloads": "",
|
||||
"gui_no_downloads": "",
|
||||
"gui_canceled": "تم الإلغاء",
|
||||
"gui_copied_url_title": "OnionShare تمّ نسخ عنوان",
|
||||
"gui_copied_url": "تمّ نسخ عوان اونينشير إلى الحافظة",
|
||||
"gui_copied_hidservauth_title": "تم نسخ مُصادقة الخدمة المخفية",
|
||||
"gui_copied_hidservauth": "تم نسخ سطر مصادقة الخدمة المخفية إلى الحافظة",
|
||||
"gui_please_wait": "جاري البدء… اضغط هنا للإلغاء.",
|
||||
"gui_download_upload_progress_complete": "",
|
||||
"gui_download_upload_progress_starting": "",
|
||||
@ -69,7 +66,6 @@
|
||||
"gui_settings_window_title": "الإعدادات",
|
||||
"gui_settings_whats_this": "<a href='{0:s}'>ما هذا؟</a>",
|
||||
"gui_settings_stealth_option": "فعّل استيثاق العميل",
|
||||
"gui_settings_stealth_hidservauth_string": "بحفظ مفتاحك السّرّيّ لاستعماله لاحقًا صار بوسعك النقر هنا لنسخ HidServAuth.",
|
||||
"gui_settings_autoupdate_label": "تحقق من وجود إصدار الجديد",
|
||||
"gui_settings_autoupdate_option": "أخطرني عند وجود إصدارة أحدث",
|
||||
"gui_settings_autoupdate_timestamp": "تاريخ آخر تحقُق: {}",
|
||||
@ -283,4 +279,4 @@
|
||||
"gui_color_mode_changed_notice": "يُرجى إعادة تشغيل OnionShare من أجل تطبيق المظهر باللون الجديد.",
|
||||
"gui_open_folder_error": "فشل فتح ملف باستخدام xdg-open. الملف هنا: {}",
|
||||
"gui_chat_url_description": "<b>أي شخص </b> يوجد معه عنوان OnionShare يمكنه <b>الانضمام إلى غرفة المحادثة هذه </b> باستخدام متصفح تور <b>Tor Browser</b><img src='{}' />"
|
||||
}
|
||||
}
|
||||
|
@ -45,14 +45,11 @@
|
||||
"gui_receive_stop_server_autostop_timer": "Спрете получаващия режим ({} остават)",
|
||||
"gui_receive_stop_server_autostop_timer_tooltip": "Автоматично спиращият таймер спира в {}",
|
||||
"gui_copy_url": "Копирайте адрес",
|
||||
"gui_copy_hidservauth": "Копирайте HidServAuth",
|
||||
"gui_downloads": "Свалете история",
|
||||
"gui_no_downloads": "Още няма изтегляния",
|
||||
"gui_canceled": "Отменен",
|
||||
"gui_copied_url_title": "OnionShare адресът е копиран",
|
||||
"gui_copied_url": "OnionShare адресът е копиран към клипборда",
|
||||
"gui_copied_hidservauth_title": "HidServAuth е копиран",
|
||||
"gui_copied_hidservauth": "HidServAuth редът е копиран към клипборда",
|
||||
"gui_please_wait": "Започва... кликни за отменяне.",
|
||||
"gui_download_upload_progress_complete": "%p%, {0:s} изтече.",
|
||||
"gui_download_upload_progress_starting": "{0:s}, %p% (изчисляване)",
|
||||
@ -70,7 +67,6 @@
|
||||
"gui_settings_window_title": "Настройки",
|
||||
"gui_settings_whats_this": "<a href='{0:s}'>Какво е това?</a>",
|
||||
"gui_settings_stealth_option": "Използвайте клиент ауторизация (наследствен)",
|
||||
"gui_settings_stealth_hidservauth_string": "След като Вашия частен ключ бе запазен за повторна употреба, можете сега да кликнете, за да копирате Вашия HidServAuth.",
|
||||
"gui_settings_autoupdate_label": "Провери за нова версия",
|
||||
"gui_settings_autoupdate_option": "Уведоми ме, когато е налице нова версия",
|
||||
"gui_settings_autoupdate_timestamp": "Последна проверка: {}",
|
||||
|
@ -45,14 +45,11 @@
|
||||
"gui_receive_stop_server_autostop_timer": "রিসিভ মোড বন্ধ করো({} বাকি)",
|
||||
"gui_receive_stop_server_autostop_timer_tooltip": "টাইমার অনুযায়ী অটোমেটিক বন্ধ হবে {}-তে",
|
||||
"gui_copy_url": "এড্রেস কপি করো",
|
||||
"gui_copy_hidservauth": "হিডসার্ভঅথ কপি করো",
|
||||
"gui_downloads": "",
|
||||
"gui_no_downloads": "",
|
||||
"gui_canceled": "বাতিল করা হয়েছে",
|
||||
"gui_copied_url_title": "OnionShare ঠিকানা কপি করা হয়েছে",
|
||||
"gui_copied_url": "OnionShare ঠিকানাটি ক্লিপবোর্ডে কপি করা হয়েছে",
|
||||
"gui_copied_hidservauth_title": "HidServAuth কপি করা হয়েছে",
|
||||
"gui_copied_hidservauth": "HidServAuth লাইনটি ক্লিপবোর্ডে কপি করা হয়েছে",
|
||||
"gui_please_wait": "চালু করছি… বাতিল করতে এখানে ক্লিক করো।",
|
||||
"gui_download_upload_progress_complete": "",
|
||||
"gui_download_upload_progress_starting": "",
|
||||
|
@ -44,14 +44,11 @@
|
||||
"gui_receive_stop_server_autostop_timer": "Atura el mode de recepció (queden {})",
|
||||
"gui_receive_stop_server_autostop_timer_tooltip": "El temporitzador acaba a {}",
|
||||
"gui_copy_url": "Copia l'adreça",
|
||||
"gui_copy_hidservauth": "Copia el HidServAuth",
|
||||
"gui_downloads": "Historial de descàrregues",
|
||||
"gui_no_downloads": "No n'hi ha cap",
|
||||
"gui_canceled": "S'ha cancel·lat",
|
||||
"gui_copied_url_title": "S'ha copiat l'adreça OnionShare",
|
||||
"gui_copied_url": "S'ha copiat l'adreça OnionShare al porta-retalls",
|
||||
"gui_copied_hidservauth_title": "S'ha copiat el HidServAuth",
|
||||
"gui_copied_hidservauth": "S'ha copiat la línia HidServAuth al porta-retalls",
|
||||
"gui_please_wait": "S'està iniciant… Feu clic per a cancel·lar.",
|
||||
"gui_download_upload_progress_complete": "Han passat %p%, {0:s}.",
|
||||
"gui_download_upload_progress_starting": "{0:s}, %p% (s'està calculant)",
|
||||
@ -69,7 +66,6 @@
|
||||
"gui_settings_window_title": "Paràmetres",
|
||||
"gui_settings_whats_this": "<a href='{0:s}'>Què és això?</a>",
|
||||
"gui_settings_stealth_option": "Fes servir autorització de client",
|
||||
"gui_settings_stealth_hidservauth_string": "Ara que ja heu desat la clau privada per a reutilitzar-la, podeu fer clic per a copiar el HidServAuth.",
|
||||
"gui_settings_autoupdate_label": "Comprova si hi ha versions noves",
|
||||
"gui_settings_autoupdate_option": "Notifica'm si hi ha una actualització disponible",
|
||||
"gui_settings_autoupdate_timestamp": "Última comprovació: {}",
|
||||
|
@ -24,12 +24,9 @@
|
||||
"gui_receive_stop_server_autostop_timer": "Mod ya wergirtinê betal bike ({} maye)",
|
||||
"gui_receive_flatpak_data_dir": "Ji ber tu Onionshare bi rêya Flatpak bar kir, pêwîste tu belge di dosyayek di nav ~/OnionShare qeyd bikî.",
|
||||
"gui_copy_url": "Malper kopî bike",
|
||||
"gui_copy_hidservauth": "HidServAuth kopî bike",
|
||||
"gui_canceled": "Betal bû",
|
||||
"gui_copied_url_title": "Malpera OnionShare kopî bû",
|
||||
"gui_copied_url": "Malpera OnionShare lis ser taxtê kopî bû",
|
||||
"gui_copied_hidservauth_title": "HidServAuth kopî bû",
|
||||
"gui_copied_hidservauth": " HidServAuth xet li ser taxtê kopî bû",
|
||||
"gui_show_url_qr_code": "QR kod nîşan bide",
|
||||
"gui_qr_code_dialog_title": "OnionShare QR kod",
|
||||
"gui_waiting_to_start": "Pilankirî ye di {} destpê bike. Bitkîne ji bo betal bike.",
|
||||
|
@ -20,11 +20,9 @@
|
||||
"gui_share_start_server": "Spustit sdílení",
|
||||
"gui_share_stop_server": "Zastavit sdílení",
|
||||
"gui_copy_url": "Kopírovat URL",
|
||||
"gui_copy_hidservauth": "Kopírovat HidServAuth",
|
||||
"gui_downloads": "Historie stahování",
|
||||
"gui_canceled": "Zrušeno",
|
||||
"gui_copied_url": "URL zkopírováno do schránky",
|
||||
"gui_copied_hidservauth": "HidServAuth zkopírováno do schránky",
|
||||
"gui_please_wait": "Spouštění... Klikněte pro zrušení.",
|
||||
"gui_download_upload_progress_complete": "%p%, Uplynulý čas: {0:s}",
|
||||
"gui_download_upload_progress_starting": "{0:s}, %p% (Computing ETA)",
|
||||
@ -78,11 +76,9 @@
|
||||
"gui_receive_start_server": "Spustit mód přijímání",
|
||||
"gui_receive_stop_server": "Zastavit přijímání",
|
||||
"gui_receive_stop_server_autostop_timer": "Zastavit mód přijímání ({} zbývá)",
|
||||
"gui_copied_hidservauth_title": "Zkopírovaný HidServAuth token",
|
||||
"gui_copied_url_title": "OnionShare Address zkopírována",
|
||||
"gui_quit_title": "Ne tak rychle",
|
||||
"gui_settings_stealth_option": "Autorizace klienta",
|
||||
"gui_settings_stealth_hidservauth_string": "Uložení priváního klíče pro znovu použití znamená, že teď můžete zkopírovat Váš HidServAuth.",
|
||||
"gui_settings_autoupdate_label": "Kontrola nové verze",
|
||||
"gui_settings_autoupdate_option": "Upozornit na dostupnost nové verze",
|
||||
"gui_settings_autoupdate_timestamp": "Poslední kontrola {}",
|
||||
|
@ -33,11 +33,9 @@
|
||||
"gui_share_start_server": "Begynd at dele",
|
||||
"gui_share_stop_server": "Stop deling",
|
||||
"gui_copy_url": "Kopiér adresse",
|
||||
"gui_copy_hidservauth": "Kopiér HidServAuth",
|
||||
"gui_downloads": "Downloadhistorik",
|
||||
"gui_canceled": "Annulleret",
|
||||
"gui_copied_url": "OnionShare-adressen blev kopieret til udklipsholderen",
|
||||
"gui_copied_hidservauth": "HidServAuth-linjen blev kopieret til udklipsholderen",
|
||||
"gui_please_wait": "Starter ... klik for at annullere.",
|
||||
"gui_download_upload_progress_complete": ".",
|
||||
"gui_download_upload_progress_starting": "{0:s}, %p% (udregner anslået ankomsttid)",
|
||||
@ -52,7 +50,6 @@
|
||||
"error_ephemeral_not_supported": "OnionShare kræver mindst både Tor 0.2.7.1 og python3-stem 1.4.0.",
|
||||
"gui_settings_window_title": "Indstillinger",
|
||||
"gui_settings_stealth_option": "Brug klientautentifikation",
|
||||
"gui_settings_stealth_hidservauth_string": "Ved at have gemt din private nøgle til at blive brugt igen, betyder det at du nu kan klikke for at kopiere din HidServAuth.",
|
||||
"gui_settings_autoupdate_label": "Søg efter ny version",
|
||||
"gui_settings_autoupdate_option": "Giv mig besked når der findes en ny version",
|
||||
"gui_settings_autoupdate_timestamp": "Sidste søgning: {}",
|
||||
@ -113,7 +110,6 @@
|
||||
"share_via_onionshare": "Del via OnionShare",
|
||||
"gui_save_private_key_checkbox": "Brug en vedvarende adresse",
|
||||
"gui_copied_url_title": "Kopierede OnionShare-adresse",
|
||||
"gui_copied_hidservauth_title": "Kopierede HidServAuth",
|
||||
"gui_quit_title": "Klap lige hesten",
|
||||
"gui_settings_tor_bridges_meek_lite_azure_radio_option": "Brug indbyggede meek_lite (Azure) udskiftelige transporter",
|
||||
"gui_settings_tor_bridges_meek_lite_azure_radio_option_no_obfs4proxy": "Brug indbyggede meek_lite (Azure) udskiftelige transporter (kræver obfs4proxy)",
|
||||
|
@ -34,9 +34,7 @@
|
||||
"systray_download_completed_message": "Der Benutzer hat deine Dateien heruntergeladen",
|
||||
"systray_download_canceled_title": "OnionShare Download abgebrochen",
|
||||
"systray_download_canceled_message": "Der Benutzer hat den Download abgebrochen",
|
||||
"gui_copy_hidservauth": "HidServAuth kopieren",
|
||||
"gui_canceled": "Abgebrochen",
|
||||
"gui_copied_hidservauth_title": "HidServAuth kopiert",
|
||||
"gui_quit_warning_quit": "Beenden",
|
||||
"gui_quit_warning_dont_quit": "Abbrechen",
|
||||
"gui_settings_window_title": "Einstellungen",
|
||||
@ -83,7 +81,6 @@
|
||||
"gui_receive_stop_server_autostop_timer_tooltip": "Zeit läuft in {} ab",
|
||||
"gui_no_downloads": "Bisher keine Downloads",
|
||||
"gui_copied_url_title": "OnionShare-Adresse kopiert",
|
||||
"gui_copied_hidservauth": "HidServAuth-Zeile in die Zwischenablage kopiert",
|
||||
"gui_download_upload_progress_complete": "%p%, {0:s} vergangen.",
|
||||
"gui_download_upload_progress_starting": "{0:s}, %p% (berechne)",
|
||||
"gui_download_upload_progress_eta": "{0:s}, Voraussichtliche Dauer: {1:s}, %p%",
|
||||
@ -171,7 +168,6 @@
|
||||
"gui_settings_language_changed_notice": "Starte OnionShare neu, damit die neue Sprache übernommen wird.",
|
||||
"help_config": "Ort deiner eigenen JSON Konfigurationsdatei (optional)",
|
||||
"timeout_upload_still_running": "Warte bis Upload vollständig ist",
|
||||
"gui_settings_stealth_hidservauth_string": "Da dein privater Schlüssel jetzt gespeichert wurde, um ihn später erneut zu nutzen, kannst du jetzt klicken, um deinen HidServAuth zu kopieren.",
|
||||
"gui_settings_connection_type_bundled_option": "Die integrierte Tor-Version von OnionShare nutzen",
|
||||
"settings_error_socket_file": "Kann nicht mittels des Tor-Controller-Socket {} verbinden.",
|
||||
"gui_server_started_after_autostop_timer": "Die Zeit ist abgelaufen, bevor der Server gestartet werden konnte. Bitte starte einen erneuten Teilvorgang.",
|
||||
|
@ -44,14 +44,11 @@
|
||||
"gui_receive_stop_server_autostop_timer": "Διακοπή λειτουργίας λήψης (απομένουν {})",
|
||||
"gui_receive_stop_server_autostop_timer_tooltip": "Το χρονόμετρο αυτόματου τερματισμού τελειώνει σε {}",
|
||||
"gui_copy_url": "Αντιγραφή διεύθυνσης",
|
||||
"gui_copy_hidservauth": "Αντιγραφή HidServAuth",
|
||||
"gui_downloads": "Ιστορικό Λήψεων",
|
||||
"gui_no_downloads": "Καμία λήψη ως τώρα",
|
||||
"gui_canceled": "Ακυρώθηκε",
|
||||
"gui_copied_url_title": "Η διεύθυνση OnionShare αντιγράφτηκε",
|
||||
"gui_copied_url": "Η διεύθυνση OnionShare αντιγράφτηκε στον πίνακα",
|
||||
"gui_copied_hidservauth_title": "Το HidServAuth αντιγράφτηκε",
|
||||
"gui_copied_hidservauth": "Το HidServAuth αντιγράφτηκε στον πίνακα",
|
||||
"gui_please_wait": "Ξεκινάμε... Κάντε κλικ για ακύρωση.",
|
||||
"gui_download_upload_progress_complete": "%p%, {0:s} πέρασαν.",
|
||||
"gui_download_upload_progress_starting": "{0:s}, %p% (υπολογισμός)",
|
||||
@ -69,7 +66,6 @@
|
||||
"gui_settings_window_title": "Ρυθμίσεις",
|
||||
"gui_settings_whats_this": "<a href='{0:s}'>Τί είναι αυτό;</a>",
|
||||
"gui_settings_stealth_option": "Χρήση εξουσιοδότησης πελάτη",
|
||||
"gui_settings_stealth_hidservauth_string": "Έχοντας αποθηκεύσει το ιδιωτικό σας κλειδί για επαναχρησιμοποίηση, μπορείτε πλέον να επιλέξετε την αντιγραφή του HidServAuth σας.",
|
||||
"gui_settings_autoupdate_label": "Έλεγχος για νέα έκδοση",
|
||||
"gui_settings_autoupdate_option": "Ενημερώστε με όταν είναι διαθέσιμη μια νέα έκδοση",
|
||||
"gui_settings_autoupdate_timestamp": "Τελευταίος έλεγχος: {}",
|
||||
|
@ -24,13 +24,10 @@
|
||||
"gui_receive_stop_server_autostop_timer": "Stop Receive Mode ({} remaining)",
|
||||
"gui_receive_flatpak_data_dir": "Because you installed OnionShare using Flatpak, you must save files to a folder in ~/OnionShare.",
|
||||
"gui_copy_url": "Copy Address",
|
||||
"gui_copy_hidservauth": "Copy HidServAuth",
|
||||
"gui_copy_client_auth_v3": "Copy ClientAuth",
|
||||
"gui_canceled": "Canceled",
|
||||
"gui_copied_url_title": "Copied OnionShare Address",
|
||||
"gui_copied_url": "OnionShare address copied to clipboard",
|
||||
"gui_copied_hidservauth_title": "Copied HidServAuth",
|
||||
"gui_copied_hidservauth": "HidServAuth line copied to clipboard",
|
||||
"gui_copied_client_auth_v3_title": "Copied ClientAuth",
|
||||
"gui_copied_client_auth_v3": "ClientAuth private key copied to clipboard",
|
||||
"gui_show_url_qr_code": "Show QR Code",
|
||||
@ -71,7 +68,7 @@
|
||||
"gui_settings_button_save": "Save",
|
||||
"gui_settings_button_cancel": "Cancel",
|
||||
"gui_settings_button_help": "Help",
|
||||
"settings_test_success": "Connected to the Tor controller.\n\nTor version: {}\nSupports ephemeral onion services: {}.\nSupports legacy .onion addresses: {}.\nSupports v2 client authentication: {}.\nSupports next-gen .onion addresses: {}.\nSupports next-gen client authentication: {}.",
|
||||
"settings_test_success": "Connected to the Tor controller.\n\nTor version: {}\nSupports ephemeral onion services: {}.\nSupports client authentication: {}.\nSupports next-gen .onion addresses: {}.",
|
||||
"connecting_to_tor": "Connecting to the Tor network",
|
||||
"update_available": "New OnionShare out. <a href='{}'>Click here</a> to get it.<br><br>You are using {} and the latest is {}.",
|
||||
"update_error_invalid_latest_version": "Could not check for new version: The OnionShare website is saying the latest version is the unrecognizable '{}'…",
|
||||
@ -87,6 +84,7 @@
|
||||
"gui_server_autostop_timer_expired": "The auto-stop timer already ran out. Please adjust it to start sharing.",
|
||||
"gui_server_autostart_timer_expired": "The scheduled time has already passed. Please adjust it to start sharing.",
|
||||
"gui_autostop_timer_cant_be_earlier_than_autostart_timer": "The auto-stop time can't be the same or earlier than the auto-start time. Please adjust it to start sharing.",
|
||||
"gui_server_doesnt_support_stealth": "Sorry, this version of Tor doesn't support stealth (Client Authorization). Please try with a newer version of Tor.",
|
||||
"share_via_onionshare": "Share via OnionShare",
|
||||
"gui_share_url_description": "<b>Anyone</b> with this OnionShare address can <b>download</b> your files using the <b>Tor Browser</b>: <img src='{}' />",
|
||||
"gui_website_url_description": "<b>Anyone</b> with this OnionShare address can <b>visit</b> your website using the <b>Tor Browser</b>: <img src='{}' />",
|
||||
@ -173,8 +171,7 @@
|
||||
"mode_settings_public_checkbox": "Don't use a password",
|
||||
"mode_settings_autostart_timer_checkbox": "Start onion service at scheduled time",
|
||||
"mode_settings_autostop_timer_checkbox": "Stop onion service at scheduled time",
|
||||
"mode_settings_legacy_checkbox": "Use a legacy address (v2 onion service, not recommended)",
|
||||
"mode_settings_client_auth_checkbox": "Use client authorization",
|
||||
"mode_settings_client_auth_v3_checkbox": "Use client authorization",
|
||||
"mode_settings_share_autostop_sharing_checkbox": "Stop sharing after files have been sent (uncheck to allow downloading individual files)",
|
||||
"mode_settings_receive_data_dir_label": "Save files to",
|
||||
"mode_settings_receive_data_dir_browse_button": "Browse",
|
||||
|
@ -20,11 +20,9 @@
|
||||
"gui_share_start_server": "Komenci kundividon",
|
||||
"gui_share_stop_server": "Ĉesigi kundividon",
|
||||
"gui_copy_url": "Kopii URL",
|
||||
"gui_copy_hidservauth": "Kopii HidServAuth",
|
||||
"gui_downloads": "Elŝutoj:",
|
||||
"gui_canceled": "Nuligita",
|
||||
"gui_copied_url": "URL kopiita en tondujon",
|
||||
"gui_copied_hidservauth": "Copied HidServAuth line to clipboard",
|
||||
"gui_please_wait": "Bonvolu atendi...",
|
||||
"gui_download_upload_progress_complete": "%p%, Tempo pasinta: {0:s}",
|
||||
"gui_download_upload_progress_starting": "{0:s}, %p% (Computing ETA)",
|
||||
|
@ -28,7 +28,6 @@
|
||||
"help_stealth": "Usar autorización de cliente (avanzada)",
|
||||
"help_config": "Ubicación del archivo de configuración JSON personalizado (opcional)",
|
||||
"gui_copied_url_title": "Dirección OnionShare Copiada",
|
||||
"gui_copied_hidservauth": "Línea HidServAuth copiada al portapapeles",
|
||||
"gui_please_wait": "Comenzando… Clic para cancelar.",
|
||||
"gui_quit_title": "No tan rápido",
|
||||
"error_rate_limit": "Alguien ha intentado adivinar tu contraseña demasiadas veces, por lo que OnionShare ha detenido al servidor. Inicia la compartición de nuevo y envía una dirección nueva al receptor.",
|
||||
@ -37,7 +36,6 @@
|
||||
"error_ephemeral_not_supported": "OnionShare necesita por lo menos Tor 0.2.7.1 y python3-stem 1.4.0.",
|
||||
"gui_settings_window_title": "Configuración",
|
||||
"gui_settings_stealth_option": "Utilizar autorización de cliente",
|
||||
"gui_settings_stealth_hidservauth_string": "Habiendo guardado tu clave privada para reutilizarla, ahora puedes hacer clic para copiar tu HidServAuth.",
|
||||
"gui_settings_autoupdate_label": "Comprobar nuevas versiones",
|
||||
"gui_settings_autoupdate_option": "Notifícame cuando haya una versión nueva disponible",
|
||||
"gui_settings_autoupdate_check_button": "Comprobar Nueva Versión",
|
||||
@ -66,10 +64,8 @@
|
||||
"gui_receive_stop_server": "Detener Modo de Recepción",
|
||||
"gui_receive_stop_server_autostop_timer": "Detener Modo de Recepción (quedan {})",
|
||||
"gui_receive_stop_server_autostop_timer_tooltip": "El temporizador de parada automática termina en {}",
|
||||
"gui_copy_hidservauth": "Copiar HidServAuth",
|
||||
"gui_no_downloads": "Ninguna Descarga Todavía",
|
||||
"gui_canceled": "Cancelado",
|
||||
"gui_copied_hidservauth_title": "HidServAuth Copiada",
|
||||
"settings_error_unknown": "No se puede conectar al controlador Tor porque tu configuración no tiene sentido.",
|
||||
"settings_error_automatic": "No se puede conectar al controlador Tor. ¿Se está ejecutando el Navegador Tor (disponible en torproject.org) en segundo plano?",
|
||||
"settings_error_socket_port": "No se puede conectar al controlador Tor en {}:{}.",
|
||||
|
@ -44,14 +44,11 @@
|
||||
"gui_receive_stop_server_autostop_timer": "توقف حالت دریافت ({} باقیمانده)",
|
||||
"gui_receive_stop_server_autostop_timer_tooltip": "تایمر توقف خودکار در {} به پایان می رسد",
|
||||
"gui_copy_url": "کپی آدرس",
|
||||
"gui_copy_hidservauth": "کپی HidServAuth",
|
||||
"gui_downloads": "دانلود تاریخچه",
|
||||
"gui_no_downloads": "",
|
||||
"gui_canceled": "لغو شده",
|
||||
"gui_copied_url_title": "آدرس OnionShare کپی شد",
|
||||
"gui_copied_url": "آدرس OnionShare بر کلیپ بورد کپی شد",
|
||||
"gui_copied_hidservauth_title": "HidServAuth کپی شد",
|
||||
"gui_copied_hidservauth": "خط HidServAuth بر کلیپ بورد کپی شد",
|
||||
"gui_please_wait": "در حال آغاز... برای لغو کلیک کنید.",
|
||||
"gui_download_upload_progress_complete": "",
|
||||
"gui_download_upload_progress_starting": "",
|
||||
@ -69,7 +66,6 @@
|
||||
"gui_settings_window_title": "تنظیمات",
|
||||
"gui_settings_whats_this": "<a href='{0:s}'>این چیست؟</a>",
|
||||
"gui_settings_stealth_option": "استفاده از احراز هویت کلاینت",
|
||||
"gui_settings_stealth_hidservauth_string": "ذخیره کردن کلید خصوصی برای استفاده دوباره، بدین معناست که الان میتوانید برای کپی HidServAuth کلیک کنید.",
|
||||
"gui_settings_autoupdate_label": "بررسی برای نسخه جدید",
|
||||
"gui_settings_autoupdate_option": "زمانی که نسخه جدید موجود بود من را خبر کن",
|
||||
"gui_settings_autoupdate_timestamp": "آخرین بررسی: {}",
|
||||
|
@ -41,10 +41,7 @@
|
||||
"gui_receive_stop_server": "Lopeta vastaanottotila",
|
||||
"gui_receive_stop_server_autostop_timer": "Lopeta vastaanottotila ({} jäljellä)",
|
||||
"gui_receive_stop_server_autostop_timer_tooltip": "Auto-stop ajastin loppuu kello {}",
|
||||
"gui_copy_hidservauth": "Kopioi HidServAuth",
|
||||
"gui_copied_url_title": "Kopioi OnionShare-osoite",
|
||||
"gui_copied_hidservauth_title": "HidServAuth kopioitu",
|
||||
"gui_copied_hidservauth": "HidServAuth-rivi kopioitu leikepöydälle",
|
||||
"version_string": "OnionShare {0:s} | https://onionshare.org/",
|
||||
"gui_quit_title": "Ei niin nopeasti",
|
||||
"gui_share_quit_warning": "Olet lähettämässä tiedostoja. Haluatko varmasti lopettaa OnionSharen?",
|
||||
@ -57,7 +54,6 @@
|
||||
"gui_settings_window_title": "Asetukset",
|
||||
"gui_settings_whats_this": "<a href='{0:s}'>Mikä tämä on?</a>",
|
||||
"gui_settings_stealth_option": "Käytä asiakaslupaa",
|
||||
"gui_settings_stealth_hidservauth_string": "Nyt kun olet tallentanut yksityisen avaimesi uudelleenkäyttöä varten, voit kopioida HidServAuth-osoitteesi napista.",
|
||||
"gui_settings_autoupdate_label": "Tarkista päivitykset",
|
||||
"gui_settings_autoupdate_option": "Ilmoita minulle, kun uusi versio on saatavilla",
|
||||
"gui_settings_autoupdate_timestamp": "Viimeksi tarkistettu: {}",
|
||||
|
@ -22,7 +22,6 @@
|
||||
"gui_share_start_server": "Commencer le partage",
|
||||
"gui_share_stop_server": "Arrêter le partage",
|
||||
"gui_copy_url": "Copier l’adresse",
|
||||
"gui_copy_hidservauth": "Copier HidServAuth",
|
||||
"gui_downloads": "Historique de téléchargement",
|
||||
"gui_canceled": "Annulé",
|
||||
"gui_copied_url": "L’adresse OnionShare a été copiée dans le presse-papiers",
|
||||
@ -38,7 +37,6 @@
|
||||
"not_a_readable_file": "{0:s} n’est pas un fichier lisible.",
|
||||
"timeout_download_still_running": "En attente de la fin du téléchargement",
|
||||
"systray_download_completed_message": "La personne a terminé de télécharger vos fichiers",
|
||||
"gui_copied_hidservauth_title": "HidServAuth a été copié",
|
||||
"gui_settings_window_title": "Paramètres",
|
||||
"gui_settings_autoupdate_timestamp": "Dernière vérification : {}",
|
||||
"gui_settings_close_after_first_download_option": "Arrêter le partage après l’envoi des fichiers",
|
||||
@ -58,7 +56,6 @@
|
||||
"connecting_to_tor": "Connexion au réseau Tor",
|
||||
"help_config": "Emplacement du fichier personnalisé de configuration JSON (facultatif)",
|
||||
"large_filesize": "Avertissement : L’envoi d’un partage volumineux peut prendre des heures",
|
||||
"gui_copied_hidservauth": "La ligne HidServAuth a été copiée dans le presse-papiers",
|
||||
"version_string": "OnionShare {0:s} | https://onionshare.org/",
|
||||
"zip_progress_bar_format": "Compression : %p %",
|
||||
"error_ephemeral_not_supported": "OnionShare exige au moins et Tor 0.2.7.1 et python3-stem 1.4.0.",
|
||||
@ -156,7 +153,6 @@
|
||||
"error_stealth_not_supported": "Pour utiliser l’autorisation client, Tor 0.2.9.1-alpha (ou le Navigateur Tor 6.5) et python3-stem 1.5.0 ou versions ultérieures sont exigés.",
|
||||
"gui_settings_stealth_option": "Utiliser l’autorisation du client",
|
||||
"timeout_upload_still_running": "En attente de la fin de l'envoi",
|
||||
"gui_settings_stealth_hidservauth_string": "L’enregistrement de votre clé privée pour réutilisation signifie que vous pouvez maintenant cliquer pour copier votre HidServAuth.",
|
||||
"gui_settings_autoupdate_check_button": "Vérifier la présence d’une nouvelle version",
|
||||
"settings_test_success": "Vous êtes connecté au contrôleur Tor.\n\nVersion de Tor : {}\nPrend en charge les services onion éphémères : {}.\nPrend en charge l’authentification client : {}.\nPrend en charge la nouvelle génération d’adresses .onion : {}.",
|
||||
"update_error_check_error": "Impossible de vérifier l’existence d’une mise à jour : peut-être n’êtes-vous pas connecté à Tor ou le site Web d’OnionShare est-il hors service ?",
|
||||
|
@ -44,14 +44,11 @@
|
||||
"gui_receive_stop_server_autostop_timer": "Stop an Mód Glactha ({} fágtha)",
|
||||
"gui_receive_stop_server_autostop_timer_tooltip": "Amadóir uathstoptha caite {}",
|
||||
"gui_copy_url": "Cóipeáil an Seoladh",
|
||||
"gui_copy_hidservauth": "Cóipeáil HidServAuth",
|
||||
"gui_downloads": "Stair Íoslódála",
|
||||
"gui_no_downloads": "Níl aon rud íoslódáilte agat fós",
|
||||
"gui_canceled": "Curtha ar ceal",
|
||||
"gui_copied_url_title": "Cóipeáladh an Seoladh OnionShare",
|
||||
"gui_copied_url": "Cóipeáladh an seoladh OnionShare go dtí an ghearrthaisce",
|
||||
"gui_copied_hidservauth_title": "Cóipeáladh HidServAuth",
|
||||
"gui_copied_hidservauth": "Cóipeáladh an líne HidServAuth go dtí an ghearrthaisce",
|
||||
"gui_please_wait": "Ag tosú... Cliceáil lena chur ar ceal.",
|
||||
"gui_download_upload_progress_complete": "%[%, {0:s} caite.",
|
||||
"gui_download_upload_progress_starting": "{0:s}, %p% (á áireamh)",
|
||||
@ -69,7 +66,6 @@
|
||||
"gui_settings_window_title": "Socruithe",
|
||||
"gui_settings_whats_this": "<a href='{0:s}'>Cad é seo</a>",
|
||||
"gui_settings_stealth_option": "Úsáid údarú cliaint",
|
||||
"gui_settings_stealth_hidservauth_string": "Toisc gur shábháil tú d'eochair phríobháideach, anois is féidir leat cliceáil chun an HidServAuth a chóipeáil.",
|
||||
"gui_settings_autoupdate_label": "Lorg nuashonruithe",
|
||||
"gui_settings_autoupdate_option": "Cuir in iúl dom nuair a bheidh leagan nua ar fáil",
|
||||
"gui_settings_autoupdate_timestamp": "Seiceáilte: {}",
|
||||
|
@ -24,12 +24,9 @@
|
||||
"gui_receive_stop_server_autostop_timer": "Deter o modo Recepción ({} restante)",
|
||||
"gui_receive_flatpak_data_dir": "Debido a que instalaches OnionShare usando Flatpk, tes que gardar os ficheiros nun cartafol dentro de ~/OnionShare.",
|
||||
"gui_copy_url": "Copiar enderezo",
|
||||
"gui_copy_hidservauth": "Copiar HidServAuth",
|
||||
"gui_canceled": "Cancelado",
|
||||
"gui_copied_url_title": "Enderezo de OnionShare copiado",
|
||||
"gui_copied_url": "Enderezo OnionShare copiado ó portapapeis",
|
||||
"gui_copied_hidservauth_title": "HidServAuth copiado",
|
||||
"gui_copied_hidservauth": "Liña HidServAuth copiada ó portapapeis",
|
||||
"gui_show_url_qr_code": "Mostrar código QR",
|
||||
"gui_qr_code_dialog_title": "Código QR OnionShare",
|
||||
"gui_waiting_to_start": "Programado para comezar en {}. Fai clic para cancelar.",
|
||||
|
@ -45,14 +45,11 @@
|
||||
"gui_receive_stop_server_autostop_timer": "",
|
||||
"gui_receive_stop_server_autostop_timer_tooltip": "",
|
||||
"gui_copy_url": "",
|
||||
"gui_copy_hidservauth": "",
|
||||
"gui_downloads": "",
|
||||
"gui_no_downloads": "",
|
||||
"gui_canceled": "",
|
||||
"gui_copied_url_title": "",
|
||||
"gui_copied_url": "",
|
||||
"gui_copied_hidservauth_title": "",
|
||||
"gui_copied_hidservauth": "",
|
||||
"gui_please_wait": "",
|
||||
"gui_download_upload_progress_complete": "",
|
||||
"gui_download_upload_progress_starting": "",
|
||||
@ -70,7 +67,6 @@
|
||||
"gui_settings_window_title": "",
|
||||
"gui_settings_whats_this": "",
|
||||
"gui_settings_stealth_option": "",
|
||||
"gui_settings_stealth_hidservauth_string": "",
|
||||
"gui_settings_autoupdate_label": "",
|
||||
"gui_settings_autoupdate_option": "",
|
||||
"gui_settings_autoupdate_timestamp": "",
|
||||
|
@ -47,14 +47,11 @@
|
||||
"gui_receive_stop_server_autostop_timer": "",
|
||||
"gui_receive_stop_server_autostop_timer_tooltip": "",
|
||||
"gui_copy_url": "העתק כתובת",
|
||||
"gui_copy_hidservauth": "",
|
||||
"gui_downloads": "",
|
||||
"gui_no_downloads": "",
|
||||
"gui_canceled": "מבוטל",
|
||||
"gui_copied_url_title": "",
|
||||
"gui_copied_url": "",
|
||||
"gui_copied_hidservauth_title": "",
|
||||
"gui_copied_hidservauth": "",
|
||||
"gui_please_wait": "",
|
||||
"gui_download_upload_progress_complete": "",
|
||||
"gui_download_upload_progress_starting": "",
|
||||
@ -72,7 +69,6 @@
|
||||
"gui_settings_window_title": "הגדרות",
|
||||
"gui_settings_whats_this": "",
|
||||
"gui_settings_stealth_option": "",
|
||||
"gui_settings_stealth_hidservauth_string": "",
|
||||
"gui_settings_autoupdate_label": "בדיקה לאיתור גרסה חדשה",
|
||||
"gui_settings_autoupdate_option": "",
|
||||
"gui_settings_autoupdate_timestamp": "",
|
||||
|
@ -36,12 +36,9 @@
|
||||
"gui_receive_stop_server_autostop_timer": "रिसीव मोड बंद करें ({} remaining)",
|
||||
"gui_receive_stop_server_autostop_timer_tooltip": "",
|
||||
"gui_copy_url": "पता कॉपी करें",
|
||||
"gui_copy_hidservauth": "HidServAuth कॉपी करें",
|
||||
"gui_canceled": "रद्द हो गया",
|
||||
"gui_copied_url_title": "OnionShare पता कॉपी हो गया",
|
||||
"gui_copied_url": "OnionShare पता क्लिपबोर्ड में कॉपी हो गया",
|
||||
"gui_copied_hidservauth_title": "HidServAuth कॉपी हो गया",
|
||||
"gui_copied_hidservauth": "HidServAuth लाइन क्लिपबोर्ड में कॉपी हो गया",
|
||||
"gui_please_wait": "शुरू हो रहा है... रद्द करने के लिए क्लिक करें।",
|
||||
"version_string": "",
|
||||
"gui_quit_title": "इतनी तेज़ी से नहीं",
|
||||
@ -56,7 +53,6 @@
|
||||
"gui_settings_window_title": "सेटिंग्स",
|
||||
"gui_settings_whats_this": "<a href='{0:s}'>यह क्या है</a>",
|
||||
"gui_settings_stealth_option": "क्लाइंट सत्यापन उपयोग करें",
|
||||
"gui_settings_stealth_hidservauth_string": "",
|
||||
"gui_settings_autoupdate_label": "नए संस्करण की जांच करें",
|
||||
"gui_settings_autoupdate_option": "जब कोई नया संस्करण आए तो मुझे सूचित करें",
|
||||
"gui_settings_autoupdate_timestamp": "अंतिम जांच: {}",
|
||||
|
@ -22,12 +22,9 @@
|
||||
"gui_receive_stop_server": "Zaustavi modus primanja",
|
||||
"gui_receive_stop_server_autostop_timer": "Zaustavi modus primanja ({} preostalo)",
|
||||
"gui_copy_url": "Kopiraj adresu",
|
||||
"gui_copy_hidservauth": "Kopiraj HidServAuth",
|
||||
"gui_canceled": "Prekinuto",
|
||||
"gui_copied_url_title": "OnionShare adresa je kopirana",
|
||||
"gui_copied_url": "OnionShare adresa je kopirana u međuspremnik",
|
||||
"gui_copied_hidservauth_title": "HidServAuth kopirano",
|
||||
"gui_copied_hidservauth": "HidServAuth redak je kopiran u međuspremnik",
|
||||
"gui_waiting_to_start": "Planirano pokretanje za {}. Pritisni za prekid.",
|
||||
"gui_please_wait": "Pokretanje … Pritisni za prekid.",
|
||||
"gui_quit_title": "Ne tako brzo",
|
||||
@ -42,7 +39,6 @@
|
||||
"gui_settings_window_title": "Postavke",
|
||||
"gui_settings_whats_this": "<a href='{0:s}'>Što je ovo?</a>",
|
||||
"gui_settings_stealth_option": "Koristi autorizaciju klijenta",
|
||||
"gui_settings_stealth_hidservauth_string": "Budući da je privatni ključ spremljen za ponovnu upotrebu, znači da sada možeš kopirati tvoj HidServAuth.",
|
||||
"gui_settings_autoupdate_label": "Traži nove verzije",
|
||||
"gui_settings_autoupdate_option": "Obavijesti me o novim verzijama",
|
||||
"gui_settings_autoupdate_timestamp": "Zadnja provjera: {}",
|
||||
|
@ -44,14 +44,11 @@
|
||||
"gui_receive_stop_server_autostop_timer": "Fogadó mód leállítása ({} van hátra)",
|
||||
"gui_receive_stop_server_autostop_timer_tooltip": "",
|
||||
"gui_copy_url": "Cím másolása",
|
||||
"gui_copy_hidservauth": "HidServAuth másolása",
|
||||
"gui_downloads": "",
|
||||
"gui_no_downloads": "",
|
||||
"gui_canceled": "Megszakítva",
|
||||
"gui_copied_url_title": "OnionShare-cím másolva",
|
||||
"gui_copied_url": "OnionShare-cím a vágólapra másolva",
|
||||
"gui_copied_hidservauth_title": "HidServAuth másolva",
|
||||
"gui_copied_hidservauth": "HidServAuth-sor a vágólapra másolva",
|
||||
"gui_please_wait": "Indítás... Kattints a megszakításhoz.",
|
||||
"gui_download_upload_progress_complete": "",
|
||||
"gui_download_upload_progress_starting": "",
|
||||
@ -69,7 +66,6 @@
|
||||
"gui_settings_window_title": "Beállítások",
|
||||
"gui_settings_whats_this": "<a href='{0:s}'>Mi ez?</a>",
|
||||
"gui_settings_stealth_option": "Kliens-hitelesítés használata",
|
||||
"gui_settings_stealth_hidservauth_string": "Mivel elmentetted a titkos kulcsodat, mostantól kattintással másolhatod a HivServAuth-odat.",
|
||||
"gui_settings_autoupdate_label": "Új verzió keresése",
|
||||
"gui_settings_autoupdate_option": "Értesítést kérek, ha új verzió érhető el",
|
||||
"gui_settings_autoupdate_timestamp": "Utoljára ellenőrizve: {}",
|
||||
|
@ -44,14 +44,11 @@
|
||||
"gui_receive_stop_server_autostop_timer": "Menghentikan Mode Menerima ({}d tersisa)",
|
||||
"gui_receive_stop_server_autostop_timer_tooltip": "",
|
||||
"gui_copy_url": "Salin Alamat",
|
||||
"gui_copy_hidservauth": "Salin HidServAuth",
|
||||
"gui_downloads": "",
|
||||
"gui_no_downloads": "",
|
||||
"gui_canceled": "Dibatalkan",
|
||||
"gui_copied_url_title": "Alamat OnionShare disalin",
|
||||
"gui_copied_url": "Alamat OnionShare disalin ke papan klip",
|
||||
"gui_copied_hidservauth_title": "HidServAuth disalin",
|
||||
"gui_copied_hidservauth": "Baris HidServAuth disalin ke papan klip",
|
||||
"gui_please_wait": "Memulai... Klik untuk membatalkan.",
|
||||
"gui_download_upload_progress_complete": "",
|
||||
"gui_download_upload_progress_starting": "",
|
||||
@ -69,7 +66,6 @@
|
||||
"gui_settings_window_title": "Pengaturan",
|
||||
"gui_settings_whats_this": "<a href='{0:s}'>Apakah ini?</a>",
|
||||
"gui_settings_stealth_option": "Gunakan otorisasi klien",
|
||||
"gui_settings_stealth_hidservauth_string": "Telah menyimpan kunci privat Anda untuk digunakan kembali, berarti Anda dapat klik untuk menyalin HidServAuth Anda.",
|
||||
"gui_settings_autoupdate_label": "Periksa versi terbaru",
|
||||
"gui_settings_autoupdate_option": "Beritahu saya ketika versi baru tersedia",
|
||||
"gui_settings_autoupdate_timestamp": "Terakhir diperiksa: {}",
|
||||
|
@ -44,14 +44,11 @@
|
||||
"gui_receive_stop_server_autostop_timer": "Hætta í móttökuham ({} eftir)",
|
||||
"gui_receive_stop_server_autostop_timer_tooltip": "Sjálfvirk niðurtalning endar {}",
|
||||
"gui_copy_url": "Afrita vistfang",
|
||||
"gui_copy_hidservauth": "Afrita HidServAuth",
|
||||
"gui_downloads": "",
|
||||
"gui_no_downloads": "",
|
||||
"gui_canceled": "Hætt við",
|
||||
"gui_copied_url_title": "Afritaði OnionShare-vistfang",
|
||||
"gui_copied_url": "OnionShare-vistfang afritað á klippispjald",
|
||||
"gui_copied_hidservauth_title": "Afritaði HidServAuth",
|
||||
"gui_copied_hidservauth": "HidServAuth-lína afrituð á klippispjald",
|
||||
"gui_please_wait": "Ræsi... Smelltu til að hætta við.",
|
||||
"gui_download_upload_progress_complete": "",
|
||||
"gui_download_upload_progress_starting": "",
|
||||
@ -69,7 +66,6 @@
|
||||
"gui_settings_window_title": "Stillingar",
|
||||
"gui_settings_whats_this": "<a href='{0:s}'>Hvað er þetta?</a>",
|
||||
"gui_settings_stealth_option": "Nota auðkenningu biðlaraforrits",
|
||||
"gui_settings_stealth_hidservauth_string": "Ef þú hefur vistað einkalykil til endurnotkunar, þýðir að þú getur nú smellt til að afrita HidServAuth.",
|
||||
"gui_settings_autoupdate_label": "Athuga með nýja útgáfu",
|
||||
"gui_settings_autoupdate_option": "Láta vita þegar ný útgáfa er tiltæk",
|
||||
"gui_settings_autoupdate_timestamp": "Síðast athugað: {}",
|
||||
|
@ -48,11 +48,8 @@
|
||||
"gui_receive_stop_server": "Arresta modalità Ricezione",
|
||||
"gui_receive_stop_server_autostop_timer": "Interrompi la ricezione ({} rimanenti)",
|
||||
"gui_receive_stop_server_autostop_timer_tooltip": "Il timer termina tra {}",
|
||||
"gui_copy_hidservauth": "Copia HidServAuth",
|
||||
"gui_no_downloads": "Ancora nessun Download",
|
||||
"gui_copied_url_title": "Indirizzo OnionShare copiato",
|
||||
"gui_copied_hidservauth_title": "HidServAuth copiato",
|
||||
"gui_copied_hidservauth": "Linea HidServAuth copiata negli appunti",
|
||||
"gui_download_upload_progress_complete": "%p%, {0:s} trascorsi.",
|
||||
"gui_download_upload_progress_starting": "{0:s}, %p% (calcolato)",
|
||||
"gui_download_upload_progress_eta": "{0:s}, Terminando in: {1:s}, %p%",
|
||||
@ -69,7 +66,6 @@
|
||||
"gui_settings_whats_this": "<a href='{0:s}'>Cos'è questo?</a>",
|
||||
"help_receive": "Ricevi le condivisioni invece di inviarle",
|
||||
"gui_settings_stealth_option": "Usa l'autorizzazione client (legacy)",
|
||||
"gui_settings_stealth_hidservauth_string": "Avendo salvato la tua chiave privata per il riutilizzo, puoi cliccare per copiare il tuo HidServAuth.",
|
||||
"gui_settings_autoupdate_label": "Verifica se c'è una nuova versione",
|
||||
"gui_settings_autoupdate_option": "Avvisami quando è disponibile una nuova versione",
|
||||
"gui_settings_autoupdate_timestamp": "Ultimo controllo: {}",
|
||||
|
@ -47,14 +47,11 @@
|
||||
"gui_receive_stop_server_autostop_timer": "受信モードを停止(残り {} 秒)",
|
||||
"gui_receive_stop_server_autostop_timer_tooltip": "{}に自動停止します",
|
||||
"gui_copy_url": "アドレスをコピー",
|
||||
"gui_copy_hidservauth": "HidServAuthをコピー",
|
||||
"gui_downloads": "ダウンロード履歴",
|
||||
"gui_no_downloads": "まだダウンロードがありません",
|
||||
"gui_canceled": "キャンセルされました",
|
||||
"gui_copied_url_title": "OnionShareのアドレスをコピーしました",
|
||||
"gui_copied_url": "OnionShareのアドレスをクリップボードへコピーしました",
|
||||
"gui_copied_hidservauth_title": "HidServAuthをコピーしました",
|
||||
"gui_copied_hidservauth": "HidServAuthの行をクリップボードへコピーしました",
|
||||
"gui_please_wait": "実行中… クリックでキャンセルします。",
|
||||
"gui_download_upload_progress_complete": "%p%、 経過時間 ({0:s})。",
|
||||
"gui_download_upload_progress_starting": "{0:s}, %p% (計算中)",
|
||||
@ -72,7 +69,6 @@
|
||||
"gui_settings_window_title": "設定",
|
||||
"gui_settings_whats_this": "<a href='{0:s}'>これは何ですか?</a>",
|
||||
"gui_settings_stealth_option": "クライアント認証を使用",
|
||||
"gui_settings_stealth_hidservauth_string": "秘密鍵を保存したので、クリックしてHidServAuthをコピーできます。",
|
||||
"gui_settings_autoupdate_label": "更新バージョンの有無をチェックする",
|
||||
"gui_settings_autoupdate_option": "更新通知を起動します",
|
||||
"gui_settings_autoupdate_timestamp": "前回にチェックした時: {}",
|
||||
|
@ -44,14 +44,11 @@
|
||||
"gui_receive_stop_server_autostop_timer": "",
|
||||
"gui_receive_stop_server_autostop_timer_tooltip": "",
|
||||
"gui_copy_url": "",
|
||||
"gui_copy_hidservauth": "",
|
||||
"gui_downloads": "",
|
||||
"gui_no_downloads": "",
|
||||
"gui_canceled": "",
|
||||
"gui_copied_url_title": "",
|
||||
"gui_copied_url": "",
|
||||
"gui_copied_hidservauth_title": "",
|
||||
"gui_copied_hidservauth": "",
|
||||
"gui_please_wait": "",
|
||||
"gui_download_upload_progress_complete": "",
|
||||
"gui_download_upload_progress_starting": "",
|
||||
@ -69,7 +66,6 @@
|
||||
"gui_settings_window_title": "",
|
||||
"gui_settings_whats_this": "",
|
||||
"gui_settings_stealth_option": "",
|
||||
"gui_settings_stealth_hidservauth_string": "",
|
||||
"gui_settings_autoupdate_label": "",
|
||||
"gui_settings_autoupdate_option": "",
|
||||
"gui_settings_autoupdate_timestamp": "",
|
||||
|
@ -21,12 +21,9 @@
|
||||
"gui_receive_stop_server": "",
|
||||
"gui_receive_stop_server_autostop_timer": "",
|
||||
"gui_copy_url": "",
|
||||
"gui_copy_hidservauth": "",
|
||||
"gui_canceled": "",
|
||||
"gui_copied_url_title": "",
|
||||
"gui_copied_url": "",
|
||||
"gui_copied_hidservauth_title": "",
|
||||
"gui_copied_hidservauth": "",
|
||||
"gui_waiting_to_start": "",
|
||||
"gui_please_wait": "",
|
||||
"gui_quit_title": "",
|
||||
@ -41,7 +38,6 @@
|
||||
"gui_settings_window_title": "",
|
||||
"gui_settings_whats_this": "",
|
||||
"gui_settings_stealth_option": "",
|
||||
"gui_settings_stealth_hidservauth_string": "",
|
||||
"gui_settings_autoupdate_label": "",
|
||||
"gui_settings_autoupdate_option": "",
|
||||
"gui_settings_autoupdate_timestamp": "",
|
||||
|
@ -45,14 +45,11 @@
|
||||
"gui_receive_stop_server_autostop_timer": "",
|
||||
"gui_receive_stop_server_autostop_timer_tooltip": "",
|
||||
"gui_copy_url": "",
|
||||
"gui_copy_hidservauth": "",
|
||||
"gui_downloads": "",
|
||||
"gui_no_downloads": "",
|
||||
"gui_canceled": "취소 된",
|
||||
"gui_copied_url_title": "",
|
||||
"gui_copied_url": "",
|
||||
"gui_copied_hidservauth_title": "",
|
||||
"gui_copied_hidservauth": "",
|
||||
"gui_please_wait": "",
|
||||
"gui_download_upload_progress_complete": "",
|
||||
"gui_download_upload_progress_starting": "",
|
||||
@ -70,7 +67,6 @@
|
||||
"gui_settings_window_title": "설정",
|
||||
"gui_settings_whats_this": "",
|
||||
"gui_settings_stealth_option": "",
|
||||
"gui_settings_stealth_hidservauth_string": "",
|
||||
"gui_settings_autoupdate_label": "",
|
||||
"gui_settings_autoupdate_option": "",
|
||||
"gui_settings_autoupdate_timestamp": "",
|
||||
|
@ -45,14 +45,11 @@
|
||||
"gui_receive_stop_server_autostop_timer": "",
|
||||
"gui_receive_stop_server_autostop_timer_tooltip": "",
|
||||
"gui_copy_url": "",
|
||||
"gui_copy_hidservauth": "",
|
||||
"gui_downloads": "",
|
||||
"gui_no_downloads": "",
|
||||
"gui_canceled": "",
|
||||
"gui_copied_url_title": "",
|
||||
"gui_copied_url": "",
|
||||
"gui_copied_hidservauth_title": "",
|
||||
"gui_copied_hidservauth": "",
|
||||
"gui_please_wait": "",
|
||||
"gui_download_upload_progress_complete": "",
|
||||
"gui_download_upload_progress_starting": "",
|
||||
@ -70,7 +67,6 @@
|
||||
"gui_settings_window_title": "",
|
||||
"gui_settings_whats_this": "",
|
||||
"gui_settings_stealth_option": "",
|
||||
"gui_settings_stealth_hidservauth_string": "",
|
||||
"gui_settings_autoupdate_label": "",
|
||||
"gui_settings_autoupdate_option": "",
|
||||
"gui_settings_autoupdate_timestamp": "",
|
||||
|
@ -22,12 +22,9 @@
|
||||
"gui_receive_stop_server": "Išjungti gavimo veikseną",
|
||||
"gui_receive_stop_server_autostop_timer": "Išjungti gavimo veikseną (Liko {})",
|
||||
"gui_copy_url": "Kopijuoti adresą",
|
||||
"gui_copy_hidservauth": "Kopijuoti HidServAuth",
|
||||
"gui_canceled": "Atsisakyta",
|
||||
"gui_copied_url_title": "OnionShare adresas nukopijuotas",
|
||||
"gui_copied_url": "OnionShare adresas nukopijuotas į iškarpinę",
|
||||
"gui_copied_hidservauth_title": "HidServAuth nukopijuota",
|
||||
"gui_copied_hidservauth": "HidServAuth eilutė nukopijuota į iškarpinę",
|
||||
"gui_waiting_to_start": "",
|
||||
"gui_please_wait": "Pradedama… Spustelėkite norėdami atsisakyti.",
|
||||
"error_rate_limit": "",
|
||||
@ -37,7 +34,6 @@
|
||||
"gui_settings_window_title": "Nustatymai",
|
||||
"gui_settings_whats_this": "<a href='{0:s}'>Kas tai?</a>",
|
||||
"gui_settings_stealth_option": "",
|
||||
"gui_settings_stealth_hidservauth_string": "",
|
||||
"gui_settings_autoupdate_label": "Tikrinti, ar yra nauja versija",
|
||||
"gui_settings_autoupdate_option": "Pranešti, kai bus prieinama nauja versija",
|
||||
"gui_settings_autoupdate_timestamp": "",
|
||||
|
@ -44,14 +44,11 @@
|
||||
"gui_receive_stop_server_autostop_timer": "",
|
||||
"gui_receive_stop_server_autostop_timer_tooltip": "",
|
||||
"gui_copy_url": "",
|
||||
"gui_copy_hidservauth": "",
|
||||
"gui_downloads": "",
|
||||
"gui_no_downloads": "",
|
||||
"gui_canceled": "",
|
||||
"gui_copied_url_title": "",
|
||||
"gui_copied_url": "",
|
||||
"gui_copied_hidservauth_title": "",
|
||||
"gui_copied_hidservauth": "",
|
||||
"gui_please_wait": "",
|
||||
"gui_download_upload_progress_complete": "",
|
||||
"gui_download_upload_progress_starting": "",
|
||||
@ -69,7 +66,6 @@
|
||||
"gui_settings_window_title": "Поставки",
|
||||
"gui_settings_whats_this": "",
|
||||
"gui_settings_stealth_option": "",
|
||||
"gui_settings_stealth_hidservauth_string": "",
|
||||
"gui_settings_autoupdate_label": "",
|
||||
"gui_settings_autoupdate_option": "",
|
||||
"gui_settings_autoupdate_timestamp": "",
|
||||
|
@ -36,12 +36,9 @@
|
||||
"gui_receive_stop_server_autostop_timer": "",
|
||||
"gui_receive_stop_server_autostop_timer_tooltip": "",
|
||||
"gui_copy_url": "",
|
||||
"gui_copy_hidservauth": "",
|
||||
"gui_canceled": "",
|
||||
"gui_copied_url_title": "",
|
||||
"gui_copied_url": "",
|
||||
"gui_copied_hidservauth_title": "",
|
||||
"gui_copied_hidservauth": "",
|
||||
"gui_please_wait": "",
|
||||
"version_string": "",
|
||||
"gui_quit_title": "",
|
||||
@ -56,7 +53,6 @@
|
||||
"gui_settings_window_title": "Tetapan",
|
||||
"gui_settings_whats_this": "",
|
||||
"gui_settings_stealth_option": "",
|
||||
"gui_settings_stealth_hidservauth_string": "",
|
||||
"gui_settings_autoupdate_label": "",
|
||||
"gui_settings_autoupdate_option": "",
|
||||
"gui_settings_autoupdate_timestamp": "",
|
||||
|
@ -45,13 +45,10 @@
|
||||
"gui_receive_stop_server_autostop_timer": "Stopp mottaksmodus ({} gjenstår)",
|
||||
"gui_receive_stop_server_autostop_timer_tooltip": "Tidsavbruddsuret går ut {}",
|
||||
"gui_copy_url": "Kopier nettadresse",
|
||||
"gui_copy_hidservauth": "Kopier HidServAuth",
|
||||
"gui_downloads": "Nedlastingshistorikk",
|
||||
"gui_no_downloads": "Ingen nedlastinger enda.",
|
||||
"gui_canceled": "Avbrutt",
|
||||
"gui_copied_url_title": "Kopierte OnionShare-adressen",
|
||||
"gui_copied_hidservauth_title": "Kopierte HidServAuth",
|
||||
"gui_copied_hidservauth": "HidServAuth-linje kopiert til utklippstavle",
|
||||
"gui_please_wait": "Starter… Klikk for å avbryte.",
|
||||
"gui_download_upload_progress_complete": "%p%, {0:s} forløpt.",
|
||||
"gui_download_upload_progress_starting": "{0:s}, %p% (regner ut)",
|
||||
@ -69,7 +66,6 @@
|
||||
"gui_settings_window_title": "Innstillinger",
|
||||
"gui_settings_whats_this": "<a href='{0:s}'>Hva er dette?</a>",
|
||||
"gui_settings_stealth_option": "Bruk klientidentifisering",
|
||||
"gui_settings_stealth_hidservauth_string": "Siden du har lagret din private nøkkel for gjenbruk, kan du nå klikke for å kopiere din HidServAuth-linje.",
|
||||
"gui_settings_autoupdate_label": "Se etter ny versjon",
|
||||
"gui_settings_autoupdate_option": "Gi meg beskjed når en ny versjon er tilgjengelig",
|
||||
"gui_settings_autoupdate_timestamp": "Sist sjekket: {}",
|
||||
|
@ -31,11 +31,9 @@
|
||||
"gui_delete": "Verwijder",
|
||||
"gui_choose_items": "Kies",
|
||||
"gui_copy_url": "Kopieer URL",
|
||||
"gui_copy_hidservauth": "Kopieer HidServAuth",
|
||||
"gui_downloads": "Download Geschiedenis",
|
||||
"gui_canceled": "Afgebroken",
|
||||
"gui_copied_url": "OnionShare adres gekopieerd naar klembord",
|
||||
"gui_copied_hidservauth": "HidServAuth regel gekopieerd naar klembord",
|
||||
"gui_please_wait": "Aan het starten... Klik om te annuleren.",
|
||||
"gui_download_upload_progress_complete": "%p%, {0:s} verstreken.",
|
||||
"gui_download_upload_progress_starting": "{0:s}, %p% (berekenen)",
|
||||
@ -116,11 +114,9 @@
|
||||
"gui_receive_stop_server_autostop_timer_tooltip": "Auto-stop timer stopt bij {}",
|
||||
"gui_no_downloads": "Nog Geen Downloads",
|
||||
"gui_copied_url_title": "Gekopieerd OnionShare Adres",
|
||||
"gui_copied_hidservauth_title": "HidServAuth gekopieerd",
|
||||
"gui_quit_title": "Niet zo snel",
|
||||
"gui_receive_quit_warning": "Je bent in het proces van bestanden ontvangen. Weet je zeker dat je OnionShare af wilt sluiten?",
|
||||
"gui_settings_whats_this": "<a href='{0:s}'>1Wat is dit?</a>2",
|
||||
"gui_settings_stealth_hidservauth_string": "Je privésleutel is voor hergebruik opgeslagen. Je kunt nu klikken om je HidServAuth te kopiëren.",
|
||||
"gui_settings_general_label": "Algemene instellingen",
|
||||
"gui_settings_tor_bridges": "Tor bridge ondersteuning",
|
||||
"gui_settings_tor_bridges_no_bridges_radio_option": "Gebruik geen bridges",
|
||||
|
@ -44,14 +44,11 @@
|
||||
"gui_receive_stop_server_autostop_timer": "",
|
||||
"gui_receive_stop_server_autostop_timer_tooltip": "",
|
||||
"gui_copy_url": "",
|
||||
"gui_copy_hidservauth": "",
|
||||
"gui_downloads": "",
|
||||
"gui_no_downloads": "",
|
||||
"gui_canceled": "",
|
||||
"gui_copied_url_title": "",
|
||||
"gui_copied_url": "",
|
||||
"gui_copied_hidservauth_title": "",
|
||||
"gui_copied_hidservauth": "",
|
||||
"gui_please_wait": "",
|
||||
"gui_download_upload_progress_complete": "",
|
||||
"gui_download_upload_progress_starting": "",
|
||||
@ -69,7 +66,6 @@
|
||||
"gui_settings_window_title": "",
|
||||
"gui_settings_whats_this": "",
|
||||
"gui_settings_stealth_option": "",
|
||||
"gui_settings_stealth_hidservauth_string": "",
|
||||
"gui_settings_autoupdate_label": "",
|
||||
"gui_settings_autoupdate_option": "",
|
||||
"gui_settings_autoupdate_timestamp": "",
|
||||
|
@ -44,14 +44,11 @@
|
||||
"gui_receive_stop_server_autostop_timer": "Zatrzymaj tryb odbierania (pozostało {})",
|
||||
"gui_receive_stop_server_autostop_timer_tooltip": "Czas upływa za {}",
|
||||
"gui_copy_url": "Kopiuj adres załącznika",
|
||||
"gui_copy_hidservauth": "Kopiuj HidServAuth",
|
||||
"gui_downloads": "Historia pobierania",
|
||||
"gui_no_downloads": "Nie pobrano jeszcze niczego",
|
||||
"gui_canceled": "Anulowano",
|
||||
"gui_copied_url_title": "Skopiowano adres URL OnionShare",
|
||||
"gui_copied_url": "Adres URL OnionShare został skopiowany do schowka",
|
||||
"gui_copied_hidservauth_title": "Skopiowano HidServAuth",
|
||||
"gui_copied_hidservauth": "Linijka HidServAuth została skopiowana do schowka",
|
||||
"gui_please_wait": "Rozpoczynam... Kliknij, aby zatrzymać.",
|
||||
"gui_download_upload_progress_complete": "%p%, {0:s} upłynęło.",
|
||||
"gui_download_upload_progress_starting": "{0:s}, %p% (obliczam)",
|
||||
@ -69,7 +66,6 @@
|
||||
"gui_settings_window_title": "Ustawienia",
|
||||
"gui_settings_whats_this": "<a href='{0:s}'>Co to jest?</a>",
|
||||
"gui_settings_stealth_option": "Użyj autoryzacji klienta",
|
||||
"gui_settings_stealth_hidservauth_string": "Po zapisaniu klucza prywatnego do ponownego użycia, możesz teraz kliknąć, aby skopiować HidServAuth.",
|
||||
"gui_settings_autoupdate_label": "Sprawdź nową wersję",
|
||||
"gui_settings_autoupdate_option": "Poinformuj mnie, kiedy nowa wersja programu będzie dostępna",
|
||||
"gui_settings_autoupdate_timestamp": "Ostatnie sprawdzenie aktualizacji: {}",
|
||||
|
@ -44,14 +44,11 @@
|
||||
"gui_receive_stop_server_autostop_timer": "Parar o Modo Recepção ({} para terminar)",
|
||||
"gui_receive_stop_server_autostop_timer_tooltip": "O cronômetro automático termina às {}",
|
||||
"gui_copy_url": "Copiar endereço",
|
||||
"gui_copy_hidservauth": "Copiar HidServAuth",
|
||||
"gui_downloads": "Histórico de download",
|
||||
"gui_no_downloads": "Nenhum download por enquanto",
|
||||
"gui_canceled": "Cancelado",
|
||||
"gui_copied_url_title": "O endereço OnionShare foi copiado",
|
||||
"gui_copied_url": "O endereço OnionShare foi copiado para a área de transferência",
|
||||
"gui_copied_hidservauth_title": "O HidServAuth foi copiado",
|
||||
"gui_copied_hidservauth": "A linha HidServAuth foi copiada na área de transferência",
|
||||
"gui_please_wait": "Começando... Clique para cancelar.",
|
||||
"gui_download_upload_progress_complete": "%p%, {0:s} decorridos.",
|
||||
"gui_download_upload_progress_starting": "{0:s}, %p% (calculando)",
|
||||
@ -69,7 +66,6 @@
|
||||
"gui_settings_window_title": "Configurações",
|
||||
"gui_settings_whats_this": "<a href='{0:s}'>O que é isso?</a>",
|
||||
"gui_settings_stealth_option": "Usar autorização de cliente",
|
||||
"gui_settings_stealth_hidservauth_string": "Após salvar a sua chave privada para reutilização, você pode clicar para copiar o seu HidServAuth.",
|
||||
"gui_settings_autoupdate_label": "Procurar por uma nova versão",
|
||||
"gui_settings_autoupdate_option": "Notificar-me quando uma nova versão estiver disponível",
|
||||
"gui_settings_autoupdate_timestamp": "Última verificação: {}",
|
||||
|
@ -44,14 +44,11 @@
|
||||
"gui_receive_stop_server_autostop_timer": "Parar Modo de Receber ({} restantes)",
|
||||
"gui_receive_stop_server_autostop_timer_tooltip": "O cronómetro automático de parar a partilha termina em {}",
|
||||
"gui_copy_url": "Copiar Endereço",
|
||||
"gui_copy_hidservauth": "Copiar HidServAuth",
|
||||
"gui_downloads": "",
|
||||
"gui_no_downloads": "",
|
||||
"gui_canceled": "Cancelado",
|
||||
"gui_copied_url_title": "Endereço OnionShare Copiado",
|
||||
"gui_copied_url": "O endereço OnionShare foi copiado para área de transferência",
|
||||
"gui_copied_hidservauth_title": "HidServAuth Copiado",
|
||||
"gui_copied_hidservauth": "Linha HidServAuth copiada para a área de transferência",
|
||||
"gui_please_wait": "A iniciar… Clique para cancelar.",
|
||||
"gui_download_upload_progress_complete": "",
|
||||
"gui_download_upload_progress_starting": "",
|
||||
@ -69,7 +66,6 @@
|
||||
"gui_settings_window_title": "Configurações",
|
||||
"gui_settings_whats_this": "<a href='{0:s}'>O que é isto?</a>",
|
||||
"gui_settings_stealth_option": "Utilizar autorização de cliente",
|
||||
"gui_settings_stealth_hidservauth_string": "Depois de guardar a sua chave privada para reutilização, pode clicar para copiar o seu HidServAuth.",
|
||||
"gui_settings_autoupdate_label": "Procurar por nova versão",
|
||||
"gui_settings_autoupdate_option": "Notificar-me quando estiver disponível uma nova versão",
|
||||
"gui_settings_autoupdate_timestamp": "Última verificação: {}",
|
||||
|
@ -44,14 +44,11 @@
|
||||
"gui_receive_stop_server_autostop_timer": "Opriți modul de primire (au rămas {})",
|
||||
"gui_receive_stop_server_autostop_timer_tooltip": "",
|
||||
"gui_copy_url": "Copiere adresă",
|
||||
"gui_copy_hidservauth": "Copiere HidServAuth",
|
||||
"gui_downloads": "",
|
||||
"gui_no_downloads": "",
|
||||
"gui_canceled": "Anulat",
|
||||
"gui_copied_url_title": "Adresă OnionShare copiată",
|
||||
"gui_copied_url": "Adresa OnionShare a fost copiată în memoria clipboard",
|
||||
"gui_copied_hidservauth_title": "Am copiat HidServAuth",
|
||||
"gui_copied_hidservauth": "Linia HidServAuth a fost copiată în clipboard",
|
||||
"gui_please_wait": "Începem ... Faceți clic pentru a anula.",
|
||||
"gui_download_upload_progress_complete": "",
|
||||
"gui_download_upload_progress_starting": "",
|
||||
@ -69,7 +66,6 @@
|
||||
"gui_settings_window_title": "Setari",
|
||||
"gui_settings_whats_this": "<a href='{0:s}'>Ce este asta?</a>",
|
||||
"gui_settings_stealth_option": "Utilizați autorizarea clientului",
|
||||
"gui_settings_stealth_hidservauth_string": "După ce v-ați salvat cheia privată pentru reutilizare, înseamnă că puteți face clic acum pentru a copia HidServAuth.",
|
||||
"gui_settings_autoupdate_label": "Verificați dacă există o versiune nouă",
|
||||
"gui_settings_autoupdate_option": "Anunțați-mă când este disponibilă o nouă versiune",
|
||||
"gui_settings_autoupdate_timestamp": "Ultima verificare: {}",
|
||||
|
@ -66,12 +66,9 @@
|
||||
"gui_receive_stop_server": "Выключить режим получения",
|
||||
"gui_receive_stop_server_autostop_timer": "Выключить Режим Получения (осталось {})",
|
||||
"gui_receive_stop_server_autostop_timer_tooltip": "Время таймера истекает в {}",
|
||||
"gui_copy_hidservauth": "Скопировать строку HidServAuth",
|
||||
"gui_downloads": "История скачиваний",
|
||||
"gui_no_downloads": "Скачиваний пока нет ",
|
||||
"gui_copied_url_title": "Адрес OnionShare скопирован",
|
||||
"gui_copied_hidservauth_title": "Строка HidServAuth скопирована",
|
||||
"gui_copied_hidservauth": "Строка HidServAuth скопирована в буфер обмена",
|
||||
"gui_please_wait": "Запуск... Для отмены нажмите здесь.",
|
||||
"gui_download_upload_progress_complete": "%p%, прошло {0:s}.",
|
||||
"gui_download_upload_progress_starting": "{0:s}, %p% (вычисляем)",
|
||||
@ -86,7 +83,6 @@
|
||||
"error_ephemeral_not_supported": "Для работы OnionShare необходимы как минимум версии Tor 0.2.7.1 и библиотеки python3-stem 1.4.0.",
|
||||
"gui_settings_whats_this": "<a href='{0:s}'>Что это?</a>",
|
||||
"gui_settings_stealth_option": "Использовать авторизацию клиента",
|
||||
"gui_settings_stealth_hidservauth_string": "Сохранили Ваш приватный ключ для повторного использования.\nНажмите сюда, чтобы скопировать строку HidServAuth.",
|
||||
"gui_settings_autoupdate_label": "Проверить наличие новой версии",
|
||||
"gui_settings_autoupdate_option": "Уведомить меня, когда будет доступна новая версия",
|
||||
"gui_settings_autoupdate_timestamp": "Последняя проверка: {}",
|
||||
|
@ -24,12 +24,9 @@
|
||||
"gui_receive_stop_server_autostop_timer": "",
|
||||
"gui_receive_flatpak_data_dir": "",
|
||||
"gui_copy_url": "",
|
||||
"gui_copy_hidservauth": "",
|
||||
"gui_canceled": "",
|
||||
"gui_copied_url_title": "",
|
||||
"gui_copied_url": "",
|
||||
"gui_copied_hidservauth_title": "",
|
||||
"gui_copied_hidservauth": "",
|
||||
"gui_show_url_qr_code": "",
|
||||
"gui_qr_code_dialog_title": "",
|
||||
"gui_waiting_to_start": "",
|
||||
|
@ -24,12 +24,9 @@
|
||||
"gui_receive_stop_server_autostop_timer": "Zastaviť režim prijímania (zostáva {})",
|
||||
"gui_receive_flatpak_data_dir": "Pretože ste nainštalovali OnionShare pomocou Flatpak, musíte uložiť súbory do priečinka v ~/OnionShare.",
|
||||
"gui_copy_url": "Kopírovať adresu",
|
||||
"gui_copy_hidservauth": "Kopírovať HidServAuth",
|
||||
"gui_canceled": "Zrušené",
|
||||
"gui_copied_url_title": "Skopírovaná OnionShare adresa",
|
||||
"gui_copied_url": "OnionShare adresa bola skopírovaná do schránky",
|
||||
"gui_copied_hidservauth_title": "Skopírovaný HidServAuth",
|
||||
"gui_copied_hidservauth": "HidServAuth riadok bol skopírovaný do schránky",
|
||||
"gui_show_url_qr_code": "Zobraziť QR kód",
|
||||
"gui_qr_code_dialog_title": "OnionShare QR kód",
|
||||
"gui_qr_code_description": "Naskenujte tento QR kód pomocou čítačky QR, napríklad fotoaparátom na telefóne, aby ste mohli jednoduchšie zdieľať adresu OnionShare s niekým.",
|
||||
|
@ -44,14 +44,11 @@
|
||||
"gui_receive_stop_server_autostop_timer": "",
|
||||
"gui_receive_stop_server_autostop_timer_tooltip": "",
|
||||
"gui_copy_url": "",
|
||||
"gui_copy_hidservauth": "",
|
||||
"gui_downloads": "",
|
||||
"gui_no_downloads": "",
|
||||
"gui_canceled": "Odpovedan",
|
||||
"gui_copied_url_title": "",
|
||||
"gui_copied_url": "",
|
||||
"gui_copied_hidservauth_title": "",
|
||||
"gui_copied_hidservauth": "",
|
||||
"gui_please_wait": "",
|
||||
"gui_download_upload_progress_complete": "",
|
||||
"gui_download_upload_progress_starting": "",
|
||||
@ -69,7 +66,6 @@
|
||||
"gui_settings_window_title": "",
|
||||
"gui_settings_whats_this": "",
|
||||
"gui_settings_stealth_option": "",
|
||||
"gui_settings_stealth_hidservauth_string": "",
|
||||
"gui_settings_autoupdate_label": "",
|
||||
"gui_settings_autoupdate_option": "",
|
||||
"gui_settings_autoupdate_timestamp": "",
|
||||
|
@ -47,14 +47,11 @@
|
||||
"gui_receive_stop_server_autostop_timer": "",
|
||||
"gui_receive_stop_server_autostop_timer_tooltip": "",
|
||||
"gui_copy_url": "",
|
||||
"gui_copy_hidservauth": "",
|
||||
"gui_downloads": "",
|
||||
"gui_no_downloads": "",
|
||||
"gui_canceled": "",
|
||||
"gui_copied_url_title": "",
|
||||
"gui_copied_url": "",
|
||||
"gui_copied_hidservauth_title": "",
|
||||
"gui_copied_hidservauth": "",
|
||||
"gui_please_wait": "",
|
||||
"gui_download_upload_progress_complete": "",
|
||||
"gui_download_upload_progress_starting": "",
|
||||
@ -72,7 +69,6 @@
|
||||
"gui_settings_window_title": "",
|
||||
"gui_settings_whats_this": "",
|
||||
"gui_settings_stealth_option": "",
|
||||
"gui_settings_stealth_hidservauth_string": "",
|
||||
"gui_settings_autoupdate_label": "",
|
||||
"gui_settings_autoupdate_option": "",
|
||||
"gui_settings_autoupdate_timestamp": "",
|
||||
|
@ -22,12 +22,9 @@
|
||||
"gui_receive_stop_server": "Prekini režim primanja",
|
||||
"gui_receive_stop_server_autostop_timer": "Prekini režim primanja ({} preostalo)",
|
||||
"gui_copy_url": "Kopiraj adresu",
|
||||
"gui_copy_hidservauth": "Kopiraj HidServAuth",
|
||||
"gui_canceled": "Obustavljeno",
|
||||
"gui_copied_url_title": "Kopirana OnionShare adresa",
|
||||
"gui_copied_url": "OnionShare adresa kopirana u privremenu memoriju",
|
||||
"gui_copied_hidservauth_title": "Kopiran HidServAuth",
|
||||
"gui_copied_hidservauth": "HidServAuth linija kopirana u privremenu memoriju",
|
||||
"gui_waiting_to_start": "Planirano da počne u {}. Klikni da obustaviš.",
|
||||
"gui_please_wait": "Počinje… Klikni da obustaviš.",
|
||||
"gui_quit_title": "Ne tako brzo",
|
||||
@ -42,7 +39,6 @@
|
||||
"gui_settings_window_title": "Podešavanja",
|
||||
"gui_settings_whats_this": "<a href='{0:s}'>Šta je ovo?</a>",
|
||||
"gui_settings_stealth_option": "Koristi klijent autorizaciju",
|
||||
"gui_settings_stealth_hidservauth_string": "Ako si sačuvao svoj privatni ključ za ponovnu upotrenu, sada možeš kliknuti da iskopiraš svoj HidServAuth.",
|
||||
"gui_settings_autoupdate_label": "Proveri da li postoji nova verzija",
|
||||
"gui_settings_autoupdate_option": "Obavesti me kada nova verzija bude na raspolaganju",
|
||||
"gui_settings_autoupdate_timestamp": "Poslednja provera: {}",
|
||||
|
@ -45,14 +45,11 @@
|
||||
"gui_receive_stop_server_autostop_timer": "Stoppa mottagningsläge ({} kvarstår)",
|
||||
"gui_receive_stop_server_autostop_timer_tooltip": "Automatiska stopp-tidtagaren avslutar vid {}",
|
||||
"gui_copy_url": "Kopiera adress",
|
||||
"gui_copy_hidservauth": "Kopiera HidServAuth",
|
||||
"gui_downloads": "Nedladdningshistorik",
|
||||
"gui_no_downloads": "Inga Nedladdningar Än",
|
||||
"gui_canceled": "Avbruten",
|
||||
"gui_copied_url_title": "OnionShare-adress kopierad",
|
||||
"gui_copied_url": "OnionShare-adress kopierad till urklipp",
|
||||
"gui_copied_hidservauth_title": "HidServAuth kopierad",
|
||||
"gui_copied_hidservauth": "HidServAuth-rad kopierad till urklipp",
|
||||
"gui_please_wait": "Startar... klicka för att avbryta.",
|
||||
"gui_download_upload_progress_complete": "%p%, {0:s} förflutit.",
|
||||
"gui_download_upload_progress_starting": "{0:s}, %p% (beräknar)",
|
||||
@ -70,7 +67,6 @@
|
||||
"gui_settings_window_title": "Inställningar",
|
||||
"gui_settings_whats_this": "<a href='{0:s}'>Vad är det här?</a>",
|
||||
"gui_settings_stealth_option": "Använd klientauktorisering",
|
||||
"gui_settings_stealth_hidservauth_string": "Efter att ha sparat din privata nyckel för återanvändning, innebär det att du nu kan klicka för att kopiera din HidServAuth.",
|
||||
"gui_settings_autoupdate_label": "Sök efter ny version",
|
||||
"gui_settings_autoupdate_option": "Meddela mig när en ny version är tillgänglig",
|
||||
"gui_settings_autoupdate_timestamp": "Senast kontrollerad: {}",
|
||||
|
@ -21,12 +21,9 @@
|
||||
"gui_receive_stop_server": "",
|
||||
"gui_receive_stop_server_autostop_timer": "",
|
||||
"gui_copy_url": "",
|
||||
"gui_copy_hidservauth": "",
|
||||
"gui_canceled": "",
|
||||
"gui_copied_url_title": "",
|
||||
"gui_copied_url": "",
|
||||
"gui_copied_hidservauth_title": "",
|
||||
"gui_copied_hidservauth": "",
|
||||
"gui_waiting_to_start": "",
|
||||
"gui_please_wait": "",
|
||||
"gui_quit_title": "",
|
||||
@ -41,7 +38,6 @@
|
||||
"gui_settings_window_title": "",
|
||||
"gui_settings_whats_this": "",
|
||||
"gui_settings_stealth_option": "",
|
||||
"gui_settings_stealth_hidservauth_string": "",
|
||||
"gui_settings_autoupdate_label": "",
|
||||
"gui_settings_autoupdate_option": "",
|
||||
"gui_settings_autoupdate_timestamp": "",
|
||||
|
@ -21,12 +21,9 @@
|
||||
"gui_receive_stop_server": "స్వీకరించు రీతిని ఆపివేయి",
|
||||
"gui_receive_stop_server_autostop_timer": "స్వీకరించు రీతిని ఆపివేయి ({} మిగిలినది)",
|
||||
"gui_copy_url": "జాల చిరునామాను నకలు తీయి",
|
||||
"gui_copy_hidservauth": "HidServAuth నకలు తీయి",
|
||||
"gui_canceled": "రద్దు చేయబడినది",
|
||||
"gui_copied_url_title": "OnionShare జాల చిరునామా నకలు తీయబడినది",
|
||||
"gui_copied_url": "OnionShare జాల చిరునామా క్లిప్బోర్డునకు నకలు తీయబడినది",
|
||||
"gui_copied_hidservauth_title": "HidServAuth నకలు తీయబడినది",
|
||||
"gui_copied_hidservauth": "HidServAuth పంక్తి క్లిప్బోర్డునకు నకలు తీయబడినది",
|
||||
"gui_waiting_to_start": "ఇంకా {}లో మొదలగునట్లు అమర్చబడినది. రద్దుచేయుటకై ఇక్కడ నొక్కు.",
|
||||
"gui_please_wait": "మొదలుపెట్టబడుతుంది... రద్దు చేయుటకై ఇక్కడ నొక్కు.",
|
||||
"gui_quit_title": "అంత త్వరగా కాదు",
|
||||
@ -41,7 +38,6 @@
|
||||
"gui_settings_window_title": "అమరికలు",
|
||||
"gui_settings_whats_this": "<a href='{0:s}'>ఇది ఏమిటి?</a>",
|
||||
"gui_settings_stealth_option": "ఉపయోక్త ధ్రువీకరణను వాడు",
|
||||
"gui_settings_stealth_hidservauth_string": "మరల వాడుటకై మీ ప్రైవేటు కీని భద్రపరచడం వలన మీరు ఇక్కడ నొక్కడం ద్వారా మీ HidServAuth నకలు తీయవచ్చు.",
|
||||
"gui_settings_autoupdate_label": "కొత్త రూపాంతరం కోసం సరిచూడు",
|
||||
"gui_settings_autoupdate_option": "కొత్త రూపాంతరం వస్తే నాకు తెలియచేయి",
|
||||
"gui_settings_autoupdate_timestamp": "ఇంతకుముందు సరిచూసినది: {}",
|
||||
|
@ -41,10 +41,7 @@
|
||||
"gui_receive_stop_server": "Alma Modunu Durdur",
|
||||
"gui_receive_stop_server_autostop_timer": "Alma Modunu Durdur ({} kaldı)",
|
||||
"gui_receive_stop_server_autostop_timer_tooltip": "Otomatik durdurma zamanlayıcısı {} sonra biter",
|
||||
"gui_copy_hidservauth": "HidServAuth Kopyala",
|
||||
"gui_copied_url_title": "OnionShare Adresi Kopyalandı",
|
||||
"gui_copied_hidservauth_title": "HidServAuth Kopyalandı",
|
||||
"gui_copied_hidservauth": "HidServAuth satırı panoya kopyalandı",
|
||||
"version_string": "OnionShare {0:s} | https://onionshare.org/",
|
||||
"gui_quit_title": "Çok hızlı değil",
|
||||
"gui_share_quit_warning": "Dosya gönderiyorsunuz. OnionShare uygulamasından çıkmak istediğinize emin misiniz?",
|
||||
@ -57,7 +54,6 @@
|
||||
"gui_settings_window_title": "Ayarlar",
|
||||
"gui_settings_whats_this": "<a href='{0:s}'>Bu nedir?</a>",
|
||||
"gui_settings_stealth_option": "İstemci kimlik doğrulaması kullanılsın",
|
||||
"gui_settings_stealth_hidservauth_string": "Özel anahtarınızı yeniden kullanmak üzere kaydettiğinizden, tıklayarak HidServAuth verinizi kopyalabilirsiniz.",
|
||||
"gui_settings_autoupdate_label": "Yeni sürümü denetle",
|
||||
"gui_settings_autoupdate_option": "Yeni bir sürüm olduğunda bana haber ver",
|
||||
"gui_settings_autoupdate_timestamp": "Son denetleme: {}",
|
||||
|
@ -21,12 +21,9 @@
|
||||
"gui_receive_stop_server": "Зупинити режим отримання",
|
||||
"gui_receive_stop_server_autostop_timer": "Зупинити режим отримання ({} залишилось)",
|
||||
"gui_copy_url": "Копіювати Адресу",
|
||||
"gui_copy_hidservauth": "Копіювати HidServAuth",
|
||||
"gui_canceled": "Скасовано",
|
||||
"gui_copied_url_title": "Адресу OnionShare копійовано",
|
||||
"gui_copied_url": "Адресу OnionShare копійовано до буферу обміну",
|
||||
"gui_copied_hidservauth_title": "Скопійовано HidServAuth",
|
||||
"gui_copied_hidservauth": "Рядок HidServAuth копійовано до буфера обміну",
|
||||
"gui_waiting_to_start": "Заплановано почати за {}. Натисніть для скасування.",
|
||||
"gui_please_wait": "Початок... Натисніть для скасування.",
|
||||
"gui_quit_title": "Не так швидко",
|
||||
@ -41,7 +38,6 @@
|
||||
"gui_settings_window_title": "Налаштування",
|
||||
"gui_settings_whats_this": "<a href='{0:s}'>Що це?</a>",
|
||||
"gui_settings_stealth_option": "Використовувати авторизацію клієнта",
|
||||
"gui_settings_stealth_hidservauth_string": "Зберігши свій закритий ключ для повторного користування, ви можете копіювати HidServAuth.",
|
||||
"gui_settings_autoupdate_label": "Перевірити наявність оновлень",
|
||||
"gui_settings_autoupdate_option": "Повідомляти про наявність нової версії",
|
||||
"gui_settings_autoupdate_timestamp": "Попередня перевірка: {}",
|
||||
|
@ -44,14 +44,11 @@
|
||||
"gui_receive_stop_server_autostop_timer": "",
|
||||
"gui_receive_stop_server_autostop_timer_tooltip": "",
|
||||
"gui_copy_url": "",
|
||||
"gui_copy_hidservauth": "",
|
||||
"gui_downloads": "",
|
||||
"gui_no_downloads": "",
|
||||
"gui_canceled": "",
|
||||
"gui_copied_url_title": "",
|
||||
"gui_copied_url": "",
|
||||
"gui_copied_hidservauth_title": "",
|
||||
"gui_copied_hidservauth": "",
|
||||
"gui_please_wait": "",
|
||||
"gui_download_upload_progress_complete": "",
|
||||
"gui_download_upload_progress_starting": "",
|
||||
@ -69,7 +66,6 @@
|
||||
"gui_settings_window_title": "",
|
||||
"gui_settings_whats_this": "",
|
||||
"gui_settings_stealth_option": "",
|
||||
"gui_settings_stealth_hidservauth_string": "",
|
||||
"gui_settings_autoupdate_label": "",
|
||||
"gui_settings_autoupdate_option": "",
|
||||
"gui_settings_autoupdate_timestamp": "",
|
||||
|
@ -45,14 +45,11 @@
|
||||
"gui_receive_stop_server_autostop_timer": "",
|
||||
"gui_receive_stop_server_autostop_timer_tooltip": "",
|
||||
"gui_copy_url": "",
|
||||
"gui_copy_hidservauth": "",
|
||||
"gui_downloads": "",
|
||||
"gui_no_downloads": "",
|
||||
"gui_canceled": "",
|
||||
"gui_copied_url_title": "",
|
||||
"gui_copied_url": "",
|
||||
"gui_copied_hidservauth_title": "",
|
||||
"gui_copied_hidservauth": "",
|
||||
"gui_please_wait": "",
|
||||
"gui_download_upload_progress_complete": "",
|
||||
"gui_download_upload_progress_starting": "",
|
||||
@ -70,7 +67,6 @@
|
||||
"gui_settings_window_title": "",
|
||||
"gui_settings_whats_this": "",
|
||||
"gui_settings_stealth_option": "",
|
||||
"gui_settings_stealth_hidservauth_string": "",
|
||||
"gui_settings_autoupdate_label": "",
|
||||
"gui_settings_autoupdate_option": "",
|
||||
"gui_settings_autoupdate_timestamp": "",
|
||||
|
@ -44,14 +44,11 @@
|
||||
"gui_receive_stop_server_autostop_timer": "停止接收模式(还剩 {} 秒)",
|
||||
"gui_receive_stop_server_autostop_timer_tooltip": "在{}自动停止",
|
||||
"gui_copy_url": "复制地址",
|
||||
"gui_copy_hidservauth": "复制 HidServAuth",
|
||||
"gui_downloads": "",
|
||||
"gui_no_downloads": "",
|
||||
"gui_canceled": "已取消",
|
||||
"gui_copied_url_title": "已复制 OnionShare 地址",
|
||||
"gui_copied_url": "OnionShare 地址已复制到剪贴板",
|
||||
"gui_copied_hidservauth_title": "已复制 HidServAuth",
|
||||
"gui_copied_hidservauth": "HidServAuth 行已复制到剪贴板",
|
||||
"gui_please_wait": "正在开启……点击以取消。",
|
||||
"gui_download_upload_progress_complete": "",
|
||||
"gui_download_upload_progress_starting": "",
|
||||
@ -69,7 +66,6 @@
|
||||
"gui_settings_window_title": "设置",
|
||||
"gui_settings_whats_this": "<a href='{0:s}'>这是什么?</a>",
|
||||
"gui_settings_stealth_option": "使用客户端认证",
|
||||
"gui_settings_stealth_hidservauth_string": "已保存您的私钥用于重复使用,这意味着您现在可以点击以复制您的 HidServAuth。",
|
||||
"gui_settings_autoupdate_label": "检查新版本",
|
||||
"gui_settings_autoupdate_option": "新版本可用时通知我",
|
||||
"gui_settings_autoupdate_timestamp": "上次检查更新时间:{}",
|
||||
|
@ -44,14 +44,11 @@
|
||||
"gui_receive_stop_server_autostop_timer": "停止接收模式 (剩餘{}秒)",
|
||||
"gui_receive_stop_server_autostop_timer_tooltip": "計數器將在{}停止",
|
||||
"gui_copy_url": "複製地址",
|
||||
"gui_copy_hidservauth": "複製HidServAuth",
|
||||
"gui_downloads": "",
|
||||
"gui_no_downloads": "",
|
||||
"gui_canceled": "已取消",
|
||||
"gui_copied_url_title": "已複製OnionShare地址",
|
||||
"gui_copied_url": "OnionShare地址已複製到剪貼簿",
|
||||
"gui_copied_hidservauth_title": "已複製HidServAuth",
|
||||
"gui_copied_hidservauth": "HidServAuth已複製到剪貼簿",
|
||||
"gui_please_wait": "啟動中...點擊以取消。",
|
||||
"gui_download_upload_progress_complete": "",
|
||||
"gui_download_upload_progress_starting": "",
|
||||
@ -69,7 +66,6 @@
|
||||
"gui_settings_window_title": "設定",
|
||||
"gui_settings_whats_this": "<a href='{0:s}'>這是什麼?</a>",
|
||||
"gui_settings_stealth_option": "使用客戶端認證",
|
||||
"gui_settings_stealth_hidservauth_string": "已經將您的私鑰存起來以便使用,代表您現在可以點選以複製您的HidSerAuth。",
|
||||
"gui_settings_autoupdate_label": "檢查新版本",
|
||||
"gui_settings_autoupdate_option": "當有新版本的時候提醒我",
|
||||
"gui_settings_autoupdate_timestamp": "上一次檢查時間: {}",
|
||||
|
@ -695,10 +695,8 @@ class SettingsDialog(QtWidgets.QDialog):
|
||||
strings._("settings_test_success").format(
|
||||
onion.tor_version,
|
||||
onion.supports_ephemeral,
|
||||
onion.supports_v2_onions,
|
||||
onion.supports_stealth,
|
||||
onion.supports_v3_onions,
|
||||
onion.supports_stealth_v3,
|
||||
),
|
||||
)
|
||||
|
||||
|
@ -239,13 +239,21 @@ class Mode(QtWidgets.QWidget):
|
||||
self.start_onion_thread()
|
||||
|
||||
def start_onion_thread(self, obtain_onion_early=False):
|
||||
self.common.log("Mode", "start_server", "Starting an onion thread")
|
||||
self.obtain_onion_early = obtain_onion_early
|
||||
self.onion_thread = OnionThread(self)
|
||||
self.onion_thread.success.connect(self.starting_server_step2.emit)
|
||||
self.onion_thread.success_early.connect(self.starting_server_early.emit)
|
||||
self.onion_thread.error.connect(self.starting_server_error.emit)
|
||||
self.onion_thread.start()
|
||||
# If we tried to start with Client Auth and our Tor is too old to support it,
|
||||
# bail out early
|
||||
if not self.app.onion.supports_stealth and self.settings.get("general", "client_auth"):
|
||||
self.stop_server()
|
||||
self.start_server_error(
|
||||
strings._("gui_server_doesnt_support_stealth")
|
||||
)
|
||||
else:
|
||||
self.common.log("Mode", "start_server", "Starting an onion thread")
|
||||
self.obtain_onion_early = obtain_onion_early
|
||||
self.onion_thread = OnionThread(self)
|
||||
self.onion_thread.success.connect(self.starting_server_step2.emit)
|
||||
self.onion_thread.success_early.connect(self.starting_server_early.emit)
|
||||
self.onion_thread.error.connect(self.starting_server_error.emit)
|
||||
self.onion_thread.start()
|
||||
|
||||
def start_scheduled_service(self, obtain_onion_early=False):
|
||||
# We start a new OnionThread with the saved scheduled key from settings
|
||||
|
@ -129,36 +129,14 @@ class ModeSettingsWidget(QtWidgets.QWidget):
|
||||
autostop_timer_layout.addWidget(self.autostop_timer_checkbox)
|
||||
autostop_timer_layout.addWidget(self.autostop_timer_widget)
|
||||
|
||||
# Legacy address
|
||||
self.legacy_checkbox = QtWidgets.QCheckBox()
|
||||
self.legacy_checkbox.clicked.connect(self.legacy_checkbox_clicked)
|
||||
self.legacy_checkbox.clicked.connect(self.update_ui)
|
||||
self.legacy_checkbox.setText(strings._("mode_settings_legacy_checkbox"))
|
||||
if self.settings.get("general", "legacy"):
|
||||
self.legacy_checkbox.setCheckState(QtCore.Qt.Checked)
|
||||
else:
|
||||
self.legacy_checkbox.setCheckState(QtCore.Qt.Unchecked)
|
||||
|
||||
# Client auth (v2)
|
||||
self.client_auth_checkbox = QtWidgets.QCheckBox()
|
||||
self.client_auth_checkbox.clicked.connect(self.client_auth_checkbox_clicked)
|
||||
self.client_auth_checkbox.clicked.connect(self.update_ui)
|
||||
self.client_auth_checkbox.setText(
|
||||
strings._("mode_settings_client_auth_checkbox")
|
||||
)
|
||||
if self.settings.get("general", "client_auth"):
|
||||
self.client_auth_checkbox.setCheckState(QtCore.Qt.Checked)
|
||||
else:
|
||||
self.client_auth_checkbox.setCheckState(QtCore.Qt.Unchecked)
|
||||
|
||||
# Client auth (v3)
|
||||
self.client_auth_v3_checkbox = QtWidgets.QCheckBox()
|
||||
self.client_auth_v3_checkbox.clicked.connect(self.client_auth_v3_checkbox_clicked)
|
||||
self.client_auth_v3_checkbox.clicked.connect(self.update_ui)
|
||||
self.client_auth_v3_checkbox.setText(
|
||||
strings._("mode_settings_client_auth_checkbox")
|
||||
strings._("mode_settings_client_auth_v3_checkbox")
|
||||
)
|
||||
if self.settings.get("general", "client_auth_v3"):
|
||||
if self.settings.get("general", "client_auth"):
|
||||
self.client_auth_v3_checkbox.setCheckState(QtCore.Qt.Checked)
|
||||
else:
|
||||
self.client_auth_v3_checkbox.setCheckState(QtCore.Qt.Unchecked)
|
||||
@ -177,8 +155,6 @@ class ModeSettingsWidget(QtWidgets.QWidget):
|
||||
advanced_layout.addLayout(title_layout)
|
||||
advanced_layout.addLayout(autostart_timer_layout)
|
||||
advanced_layout.addLayout(autostop_timer_layout)
|
||||
advanced_layout.addWidget(self.legacy_checkbox)
|
||||
advanced_layout.addWidget(self.client_auth_checkbox)
|
||||
advanced_layout.addWidget(self.client_auth_v3_checkbox)
|
||||
self.advanced_widget = QtWidgets.QWidget()
|
||||
self.advanced_widget.setLayout(advanced_layout)
|
||||
@ -205,33 +181,6 @@ class ModeSettingsWidget(QtWidgets.QWidget):
|
||||
strings._("mode_settings_advanced_toggle_show")
|
||||
)
|
||||
|
||||
# v2 client auth is only a legacy option
|
||||
if self.client_auth_checkbox.isChecked():
|
||||
self.legacy_checkbox.setChecked(True)
|
||||
self.legacy_checkbox.setEnabled(False)
|
||||
self.client_auth_v3_checkbox.hide()
|
||||
else:
|
||||
self.legacy_checkbox.setEnabled(True)
|
||||
if self.legacy_checkbox.isChecked():
|
||||
self.client_auth_checkbox.show()
|
||||
self.client_auth_v3_checkbox.hide()
|
||||
else:
|
||||
self.client_auth_checkbox.hide()
|
||||
self.client_auth_v3_checkbox.show()
|
||||
|
||||
# If the server has been started in the past, prevent changing legacy option
|
||||
if self.settings.get("onion", "private_key"):
|
||||
if self.legacy_checkbox.isChecked():
|
||||
# If using legacy, disable legacy and client auth options
|
||||
self.legacy_checkbox.setEnabled(False)
|
||||
self.client_auth_checkbox.setEnabled(False)
|
||||
self.client_auth_v3_checkbox.hide()
|
||||
else:
|
||||
# If using v3, hide legacy and client auth options, show v3 client auth option
|
||||
self.legacy_checkbox.hide()
|
||||
self.client_auth_checkbox.hide()
|
||||
self.client_auth_v3_checkbox.show()
|
||||
|
||||
def title_editing_finished(self):
|
||||
if self.title_lineedit.text().strip() == "":
|
||||
self.title_lineedit.setText("")
|
||||
@ -293,17 +242,9 @@ class ModeSettingsWidget(QtWidgets.QWidget):
|
||||
else:
|
||||
self.autostop_timer_widget.hide()
|
||||
|
||||
def legacy_checkbox_clicked(self):
|
||||
self.settings.set("general", "legacy", self.legacy_checkbox.isChecked())
|
||||
|
||||
def client_auth_checkbox_clicked(self):
|
||||
self.settings.set(
|
||||
"general", "client_auth", self.client_auth_checkbox.isChecked()
|
||||
)
|
||||
|
||||
def client_auth_v3_checkbox_clicked(self):
|
||||
self.settings.set(
|
||||
"general", "client_auth_v3", self.client_auth_v3_checkbox.isChecked()
|
||||
"general", "client_auth", self.client_auth_v3_checkbox.isChecked()
|
||||
)
|
||||
|
||||
def toggle_advanced_clicked(self):
|
||||
|
@ -38,7 +38,6 @@ class ServerStatus(QtWidgets.QWidget):
|
||||
server_canceled = QtCore.Signal()
|
||||
button_clicked = QtCore.Signal()
|
||||
url_copied = QtCore.Signal()
|
||||
hidservauth_copied = QtCore.Signal()
|
||||
client_auth_v3_copied = QtCore.Signal()
|
||||
|
||||
STATUS_STOPPED = 0
|
||||
@ -96,9 +95,6 @@ class ServerStatus(QtWidgets.QWidget):
|
||||
self.common.gui.css["server_status_url_buttons"]
|
||||
)
|
||||
self.copy_url_button.clicked.connect(self.copy_url)
|
||||
self.copy_hidservauth_button = QtWidgets.QPushButton(
|
||||
strings._("gui_copy_hidservauth")
|
||||
)
|
||||
self.copy_client_auth_v3_button = QtWidgets.QPushButton(
|
||||
strings._("gui_copy_client_auth_v3")
|
||||
)
|
||||
@ -113,10 +109,6 @@ class ServerStatus(QtWidgets.QWidget):
|
||||
self.common.gui.css["server_status_url_buttons"]
|
||||
)
|
||||
|
||||
self.copy_hidservauth_button.setStyleSheet(
|
||||
self.common.gui.css["server_status_url_buttons"]
|
||||
)
|
||||
self.copy_hidservauth_button.clicked.connect(self.copy_hidservauth)
|
||||
self.copy_client_auth_v3_button.setStyleSheet(
|
||||
self.common.gui.css["server_status_url_buttons"]
|
||||
)
|
||||
@ -124,7 +116,6 @@ class ServerStatus(QtWidgets.QWidget):
|
||||
url_buttons_layout = QtWidgets.QHBoxLayout()
|
||||
url_buttons_layout.addWidget(self.copy_url_button)
|
||||
url_buttons_layout.addWidget(self.show_url_qr_code_button)
|
||||
url_buttons_layout.addWidget(self.copy_hidservauth_button)
|
||||
url_buttons_layout.addWidget(self.copy_client_auth_v3_button)
|
||||
url_buttons_layout.addStretch()
|
||||
|
||||
@ -223,11 +214,6 @@ class ServerStatus(QtWidgets.QWidget):
|
||||
self.show_url_qr_code_button.show()
|
||||
|
||||
if self.settings.get("general", "client_auth"):
|
||||
self.copy_hidservauth_button.show()
|
||||
else:
|
||||
self.copy_hidservauth_button.hide()
|
||||
|
||||
if self.settings.get("general", "client_auth_v3"):
|
||||
self.copy_client_auth_v3_button.show()
|
||||
else:
|
||||
self.copy_client_auth_v3_button.hide()
|
||||
@ -260,7 +246,6 @@ class ServerStatus(QtWidgets.QWidget):
|
||||
self.url_description.hide()
|
||||
self.url.hide()
|
||||
self.copy_url_button.hide()
|
||||
self.copy_hidservauth_button.hide()
|
||||
self.copy_client_auth_v3_button.hide()
|
||||
self.show_url_qr_code_button.hide()
|
||||
|
||||
@ -460,21 +445,12 @@ class ServerStatus(QtWidgets.QWidget):
|
||||
|
||||
self.url_copied.emit()
|
||||
|
||||
def copy_hidservauth(self):
|
||||
"""
|
||||
Copy the HidServAuth line to the clipboard.
|
||||
"""
|
||||
clipboard = self.qtapp.clipboard()
|
||||
clipboard.setText(self.app.auth_string)
|
||||
|
||||
self.hidservauth_copied.emit()
|
||||
|
||||
def copy_client_auth_v3(self):
|
||||
"""
|
||||
Copy the ClientAuth v3 private key line to the clipboard.
|
||||
"""
|
||||
clipboard = self.qtapp.clipboard()
|
||||
clipboard.setText(self.app.auth_string_v3)
|
||||
clipboard.setText(self.app.auth_string)
|
||||
|
||||
self.client_auth_v3_copied.emit()
|
||||
|
||||
|
@ -275,7 +275,6 @@ class Tab(QtWidgets.QWidget):
|
||||
self.share_mode.start_server_finished.connect(self.clear_message)
|
||||
self.share_mode.server_status.button_clicked.connect(self.clear_message)
|
||||
self.share_mode.server_status.url_copied.connect(self.copy_url)
|
||||
self.share_mode.server_status.hidservauth_copied.connect(self.copy_hidservauth)
|
||||
self.share_mode.server_status.client_auth_v3_copied.connect(self.copy_client_auth_v3)
|
||||
|
||||
self.change_title.emit(self.tab_id, strings._("gui_tab_name_share"))
|
||||
@ -311,9 +310,6 @@ class Tab(QtWidgets.QWidget):
|
||||
self.receive_mode.start_server_finished.connect(self.clear_message)
|
||||
self.receive_mode.server_status.button_clicked.connect(self.clear_message)
|
||||
self.receive_mode.server_status.url_copied.connect(self.copy_url)
|
||||
self.receive_mode.server_status.hidservauth_copied.connect(
|
||||
self.copy_hidservauth
|
||||
)
|
||||
self.receive_mode.server_status.client_auth_v3_copied.connect(
|
||||
self.copy_client_auth_v3
|
||||
)
|
||||
@ -351,9 +347,6 @@ class Tab(QtWidgets.QWidget):
|
||||
self.website_mode.start_server_finished.connect(self.clear_message)
|
||||
self.website_mode.server_status.button_clicked.connect(self.clear_message)
|
||||
self.website_mode.server_status.url_copied.connect(self.copy_url)
|
||||
self.website_mode.server_status.hidservauth_copied.connect(
|
||||
self.copy_hidservauth
|
||||
)
|
||||
self.website_mode.server_status.client_auth_v3_copied.connect(
|
||||
self.copy_client_auth_v3
|
||||
)
|
||||
@ -389,7 +382,6 @@ class Tab(QtWidgets.QWidget):
|
||||
self.chat_mode.start_server_finished.connect(self.clear_message)
|
||||
self.chat_mode.server_status.button_clicked.connect(self.clear_message)
|
||||
self.chat_mode.server_status.url_copied.connect(self.copy_url)
|
||||
self.chat_mode.server_status.hidservauth_copied.connect(self.copy_hidservauth)
|
||||
self.chat_mode.server_status.client_auth_v3_copied.connect(self.copy_client_auth_v3)
|
||||
|
||||
self.change_title.emit(self.tab_id, strings._("gui_tab_name_chat"))
|
||||
@ -602,16 +594,6 @@ class Tab(QtWidgets.QWidget):
|
||||
strings._("gui_copied_url_title"), strings._("gui_copied_url")
|
||||
)
|
||||
|
||||
def copy_hidservauth(self):
|
||||
"""
|
||||
When the stealth onion service HidServAuth gets copied to the clipboard, display this in the status bar.
|
||||
"""
|
||||
self.common.log("Tab", "copy_hidservauth")
|
||||
self.system_tray.showMessage(
|
||||
strings._("gui_copied_hidservauth_title"),
|
||||
strings._("gui_copied_hidservauth"),
|
||||
)
|
||||
|
||||
def copy_client_auth_v3(self):
|
||||
"""
|
||||
When the v3 onion service ClientAuth private key gets copied to the clipboard, display this in the status bar.
|
||||
|
Loading…
Reference in New Issue
Block a user