summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiguel Jacq <mig@mig5.net>2021-08-30 13:41:15 +1000
committerMiguel Jacq <mig@mig5.net>2021-08-30 13:41:15 +1000
commitdd7938a1344138eabf32d91d1ba452670eb4cc04 (patch)
treee84fda42ec2aaf539eef80d853bab4ae42bb6424
parenta132cd28f5aa20668d5fc52a38f2411458712f04 (diff)
parent3a07bbe16126c6b14fc7ff553d2ef441e959a333 (diff)
downloadonionshare-dd7938a1344138eabf32d91d1ba452670eb4cc04.tar.gz
onionshare-dd7938a1344138eabf32d91d1ba452670eb4cc04.zip
Merge develop and resolve conflict
-rw-r--r--CHANGELOG.md6
-rw-r--r--RELEASE.md31
-rwxr-xr-xbuild-source.sh2
-rw-r--r--cli/onionshare_cli/__init__.py80
-rw-r--r--cli/onionshare_cli/mode_settings.py6
-rw-r--r--cli/onionshare_cli/onion.py144
-rw-r--r--cli/onionshare_cli/onionshare.py4
-rw-r--r--cli/onionshare_cli/resources/static/css/style.css1
-rw-r--r--cli/onionshare_cli/resources/templates/401.html21
-rw-r--r--cli/onionshare_cli/resources/version.txt2
-rw-r--r--cli/onionshare_cli/settings.py2
-rw-r--r--cli/onionshare_cli/web/web.py107
-rw-r--r--cli/poetry.lock274
-rw-r--r--cli/pyproject.toml13
-rw-r--r--cli/setup.py2
-rw-r--r--cli/tests/test_cli_settings.py1
-rw-r--r--cli/tests/test_cli_web.py90
-rw-r--r--desktop/README.md4
-rw-r--r--desktop/pyproject.toml4
-rwxr-xr-xdesktop/scripts/get-tor-osx.py6
-rw-r--r--desktop/scripts/get-tor-windows.py6
-rw-r--r--desktop/src/onionshare/__init__.py44
-rw-r--r--desktop/src/onionshare/gui_common.py33
-rw-r--r--desktop/src/onionshare/resources/locale/af.json6
-rw-r--r--desktop/src/onionshare/resources/locale/am.json6
-rw-r--r--desktop/src/onionshare/resources/locale/ar.json9
-rw-r--r--desktop/src/onionshare/resources/locale/bg.json6
-rw-r--r--desktop/src/onionshare/resources/locale/bn.json6
-rw-r--r--desktop/src/onionshare/resources/locale/ca.json8
-rw-r--r--desktop/src/onionshare/resources/locale/ckb.json5
-rw-r--r--desktop/src/onionshare/resources/locale/cs.json5
-rw-r--r--desktop/src/onionshare/resources/locale/da.json20
-rw-r--r--desktop/src/onionshare/resources/locale/de.json10
-rw-r--r--desktop/src/onionshare/resources/locale/el.json5
-rw-r--r--desktop/src/onionshare/resources/locale/en.json31
-rw-r--r--desktop/src/onionshare/resources/locale/eo.json3
-rw-r--r--desktop/src/onionshare/resources/locale/es.json8
-rw-r--r--desktop/src/onionshare/resources/locale/fa.json6
-rw-r--r--desktop/src/onionshare/resources/locale/fi.json43
-rw-r--r--desktop/src/onionshare/resources/locale/fr.json8
-rw-r--r--desktop/src/onionshare/resources/locale/ga.json6
-rw-r--r--desktop/src/onionshare/resources/locale/gl.json12
-rw-r--r--desktop/src/onionshare/resources/locale/gu.json6
-rw-r--r--desktop/src/onionshare/resources/locale/he.json6
-rw-r--r--desktop/src/onionshare/resources/locale/hi.json40
-rw-r--r--desktop/src/onionshare/resources/locale/hr.json66
-rw-r--r--desktop/src/onionshare/resources/locale/hu.json6
-rw-r--r--desktop/src/onionshare/resources/locale/id.json13
-rw-r--r--desktop/src/onionshare/resources/locale/is.json21
-rw-r--r--desktop/src/onionshare/resources/locale/it.json7
-rw-r--r--desktop/src/onionshare/resources/locale/ja.json7
-rw-r--r--desktop/src/onionshare/resources/locale/ka.json6
-rw-r--r--desktop/src/onionshare/resources/locale/km.json6
-rw-r--r--desktop/src/onionshare/resources/locale/ko.json6
-rw-r--r--desktop/src/onionshare/resources/locale/lg.json6
-rw-r--r--desktop/src/onionshare/resources/locale/lt.json224
-rw-r--r--desktop/src/onionshare/resources/locale/mk.json6
-rw-r--r--desktop/src/onionshare/resources/locale/ms.json6
-rw-r--r--desktop/src/onionshare/resources/locale/nb_NO.json8
-rw-r--r--desktop/src/onionshare/resources/locale/nl.json7
-rw-r--r--desktop/src/onionshare/resources/locale/pa.json6
-rw-r--r--desktop/src/onionshare/resources/locale/pl.json12
-rw-r--r--desktop/src/onionshare/resources/locale/pt_BR.json18
-rw-r--r--desktop/src/onionshare/resources/locale/pt_PT.json7
-rw-r--r--desktop/src/onionshare/resources/locale/ro.json6
-rw-r--r--desktop/src/onionshare/resources/locale/ru.json7
-rw-r--r--desktop/src/onionshare/resources/locale/si.json5
-rw-r--r--desktop/src/onionshare/resources/locale/sk.json5
-rw-r--r--desktop/src/onionshare/resources/locale/sl.json6
-rw-r--r--desktop/src/onionshare/resources/locale/sn.json6
-rw-r--r--desktop/src/onionshare/resources/locale/sr_Latn.json7
-rw-r--r--desktop/src/onionshare/resources/locale/sv.json38
-rw-r--r--desktop/src/onionshare/resources/locale/sw.json6
-rw-r--r--desktop/src/onionshare/resources/locale/te.json6
-rw-r--r--desktop/src/onionshare/resources/locale/tr.json31
-rw-r--r--desktop/src/onionshare/resources/locale/uk.json20
-rw-r--r--desktop/src/onionshare/resources/locale/wo.json6
-rw-r--r--desktop/src/onionshare/resources/locale/yo.json43
-rw-r--r--desktop/src/onionshare/resources/locale/zh_Hans.json16
-rw-r--r--desktop/src/onionshare/resources/locale/zh_Hant.json7
-rw-r--r--desktop/src/onionshare/settings_dialog.py31
-rw-r--r--desktop/src/onionshare/tab/mode/__init__.py69
-rw-r--r--desktop/src/onionshare/tab/mode/chat_mode/__init__.py1
-rw-r--r--desktop/src/onionshare/tab/mode/history.py4
-rw-r--r--desktop/src/onionshare/tab/mode/mode_settings_widget.py54
-rw-r--r--desktop/src/onionshare/tab/mode/receive_mode/__init__.py1
-rw-r--r--desktop/src/onionshare/tab/mode/share_mode/__init__.py1
-rw-r--r--desktop/src/onionshare/tab/mode/website_mode/__init__.py1
-rw-r--r--desktop/src/onionshare/tab/server_status.py99
-rw-r--r--desktop/src/onionshare/tab/tab.py31
-rw-r--r--desktop/src/onionshare/threads.py7
-rw-r--r--desktop/src/onionshare/update_checker.py2
-rw-r--r--desktop/src/onionshare/widgets.py39
-rw-r--r--desktop/src/org.onionshare.OnionShare.appdata.xml6
-rw-r--r--desktop/src/setup.py2
-rw-r--r--desktop/tests/gui_base_test.py64
-rw-r--r--desktop/tests/test_gui_chat.py22
-rw-r--r--desktop/tests/test_gui_receive.py55
-rw-r--r--desktop/tests/test_gui_share.py126
-rw-r--r--desktop/tests/test_gui_website.py23
-rw-r--r--docs/gettext/.doctrees/advanced.doctreebin30414 -> 30413 bytes
-rw-r--r--docs/gettext/.doctrees/develop.doctreebin37737 -> 37742 bytes
-rw-r--r--docs/gettext/.doctrees/environment.picklebin37844 -> 38056 bytes
-rw-r--r--docs/gettext/.doctrees/features.doctreebin47170 -> 47169 bytes
-rw-r--r--docs/gettext/.doctrees/help.doctreebin7680 -> 7687 bytes
-rw-r--r--docs/gettext/.doctrees/index.doctreebin3440 -> 3439 bytes
-rw-r--r--docs/gettext/.doctrees/install.doctreebin20614 -> 20613 bytes
-rw-r--r--docs/gettext/.doctrees/security.doctreebin13527 -> 13526 bytes
-rw-r--r--docs/gettext/.doctrees/tor.doctreebin30115 -> 30114 bytes
-rw-r--r--docs/gettext/advanced.pot4
-rw-r--r--docs/gettext/develop.pot10
-rw-r--r--docs/gettext/features.pot4
-rw-r--r--docs/gettext/help.pot8
-rw-r--r--docs/gettext/index.pot4
-rw-r--r--docs/gettext/install.pot4
-rw-r--r--docs/gettext/security.pot4
-rw-r--r--docs/gettext/sphinx.pot4
-rw-r--r--docs/gettext/tor.pot4
-rw-r--r--docs/source/advanced.rst82
-rw-r--r--docs/source/conf.py4
-rw-r--r--docs/source/develop.rst114
-rw-r--r--docs/source/features.rst18
-rw-r--r--docs/source/help.rst4
-rw-r--r--docs/source/locale/bn/LC_MESSAGES/security.po8
-rw-r--r--docs/source/locale/de/LC_MESSAGES/develop.po167
-rw-r--r--docs/source/locale/de/LC_MESSAGES/help.po59
-rw-r--r--docs/source/locale/el/LC_MESSAGES/develop.po158
-rw-r--r--docs/source/locale/el/LC_MESSAGES/help.po53
-rw-r--r--docs/source/locale/en/LC_MESSAGES/develop.po65
-rw-r--r--docs/source/locale/en/LC_MESSAGES/help.po31
-rw-r--r--docs/source/locale/es/LC_MESSAGES/develop.po153
-rw-r--r--docs/source/locale/es/LC_MESSAGES/help.po57
-rw-r--r--docs/source/locale/fi/LC_MESSAGES/advanced.po223
-rw-r--r--docs/source/locale/fi/LC_MESSAGES/develop.po185
-rw-r--r--docs/source/locale/fi/LC_MESSAGES/features.po423
-rw-r--r--docs/source/locale/fi/LC_MESSAGES/help.po67
-rw-r--r--docs/source/locale/fi/LC_MESSAGES/index.po30
-rw-r--r--docs/source/locale/fi/LC_MESSAGES/install.po151
-rw-r--r--docs/source/locale/fi/LC_MESSAGES/security.po106
-rw-r--r--docs/source/locale/fi/LC_MESSAGES/sphinx.po27
-rw-r--r--docs/source/locale/fi/LC_MESSAGES/tor.po215
-rw-r--r--docs/source/locale/hr/LC_MESSAGES/index.po6
-rw-r--r--docs/source/locale/ru/LC_MESSAGES/develop.po169
-rw-r--r--docs/source/locale/ru/LC_MESSAGES/help.po57
-rw-r--r--docs/source/locale/tr/LC_MESSAGES/advanced.po10
-rw-r--r--docs/source/locale/tr/LC_MESSAGES/develop.po146
-rw-r--r--docs/source/locale/tr/LC_MESSAGES/help.po59
-rw-r--r--docs/source/locale/uk/LC_MESSAGES/advanced.po20
-rw-r--r--docs/source/locale/uk/LC_MESSAGES/develop.po148
-rw-r--r--docs/source/locale/uk/LC_MESSAGES/features.po79
-rw-r--r--docs/source/locale/uk/LC_MESSAGES/help.po53
-rw-r--r--docs/source/locale/uk/LC_MESSAGES/install.po36
-rw-r--r--docs/source/locale/uk/LC_MESSAGES/security.po31
-rw-r--r--docs/source/locale/uk/LC_MESSAGES/tor.po23
-rw-r--r--docs/source/security.rst6
-rw-r--r--flatpak/org.onionshare.OnionShare.yaml27
-rw-r--r--snap/snapcraft.yaml20
157 files changed, 3520 insertions, 2245 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 25bdbe31..0db797bb 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,11 @@
# OnionShare Changelog
+## 2.3.3
+
+* New feature: Setting for light or dark theme
+* Updated Tor to 0.4.6.7 for Linux, 0.4.5.10 for Windows and macOS
+* Various bug fixes
+
## 2.3.2
* New feature: Custom titles can be set for OnionShare's various modes
diff --git a/RELEASE.md b/RELEASE.md
index e69a8184..3409cf5c 100644
--- a/RELEASE.md
+++ b/RELEASE.md
@@ -14,7 +14,7 @@ Before making a release, you must update the version in these places:
- [ ] `docs/source/conf.py` (`version` at the top, and the `versions` list too)
- [ ] `snap/snapcraft.yaml`
-If you update flask-socketio, ensure that you also update the [socket.io.min.js](https://github.com/micahflee/onionshare/blob/develop/cli/onionshare_cli/resources/static/js/socket.io.min.js) file to a version that is [supported](https://flask-socketio.readthedocs.io/en/latest/#version-compatibility) by the updated version of flask-socketio.
+If you update `flask-socketio`, ensure that you also update the [socket.io.min.js](https://github.com/micahflee/onionshare/blob/develop/cli/onionshare_cli/resources/static/js/socket.io.min.js) file to a version that is [supported](https://flask-socketio.readthedocs.io/en/latest/#version-compatibility) by the updated version of `flask-socketio`.
Use tor binaries from the latest Tor Browser:
@@ -28,6 +28,7 @@ Update the documentation:
Finalize localization:
- [ ] Merge all the translations from weblate
+- [ ] In `docs` run `poetry run ./check-weblate.py [API_KEY]` to see which translations are >90% in the app and docs
- [ ] Edit `cli/onionshare_cli/settings.py`, make sure `self.available_locales` lists only locales that are >90% translated
- [ ] Edit `docs/source/conf.py`, make sure `languages` lists only languages that are >90% translated
- [ ] Edit `docs/build.sh` and make sure `LOCALES=` lists the same languages as above, in `docs/source/conf.py`
@@ -179,7 +180,7 @@ After following all of the previous steps, gather these files:
Create a PGP signature for each of these files, e.g:
```sh
-gpg -a --detach-sign OnionShare-$VERSION.flatpak
+gpg -a --detach-sign OnionShare-$VERSION.tar.gz
gpg -a --detach-sign [... and so on]
```
@@ -202,6 +203,7 @@ After there's a new release tag, make the Flathub package work here: https://git
You must have `flatpak` and `flatpak-builder` installed, with flathub remote added (`flatpak remote-add --if-not-exists --user flathub https://flathub.org/repo/flathub.flatpakrepo`).
+- [ ] Change the tag (for both `onionshare` and `onionshare-cli`) to match the new git tag
- [ ] Update `tor`, `libevent`, and `obfs4` dependencies, if necessary
- [ ] Built the latest python dependencies using [this tool](https://github.com/flatpak/flatpak-builder-tools/blob/master/pip/flatpak-pip-generator) (see below)
- [ ] Test the Flatpak package, ensure it works
@@ -212,20 +214,21 @@ pip3 install --user toml
# clone flatpak-build-tools
git clone https://github.com/flatpak/flatpak-builder-tools.git
-cd flatpak-builder-tools/pip
# get onionshare-cli dependencies
-./flatpak-pip-generator $(python3 -c 'import toml; print("\n".join([x for x in toml.loads(open("../../onionshare/cli/pyproject.toml").read())["tool"]["poetry"]["dependencies"]]))' |grep -v "^python$" |tr "\n" " ")
-mv python3-modules.json onionshare-cli.json
+cd poetry
+./flatpak-poetry-generator.py ../../onionshare/cli/poetry.lock
+cd ..
# get onionshare dependencies
+cd pip
./flatpak-pip-generator $(python3 -c 'import toml; print("\n".join(toml.loads(open("../../onionshare/desktop/pyproject.toml").read())["tool"]["briefcase"]["app"]["onionshare"]["requires"]))' |grep -v "./onionshare_cli" |grep -v -i "pyside2" |tr "\n" " ")
mv python3-modules.json onionshare.json
# use something like https://www.json2yaml.com/ to convert to yaml and update the manifest
# add all of the modules in both onionshare-cli and onionshare to the submodules of "onionshare"
-# - onionshare-cli.json
-# - onionshare.json
+# - poetry/generated-poetry-sources.json (onionshare-cli)
+# - pip/python3-modules.json (onionshare)
```
Build and test the Flatpak package before publishing:
@@ -235,6 +238,20 @@ flatpak-builder build --force-clean --install-deps-from=flathub --install --user
flatpak run org.onionshare.OnionShare
```
+Create a [single-file bundle](https://docs.flatpak.org/en/latest/single-file-bundles.html):
+
+```sh
+flatpak build-bundle ~/.local/share/flatpak/repo OnionShare-$VERSION.flatpak org.onionshare.OnionShare --runtime-repo=https://flathub.org/repo/flathub.flatpakrepo
+```
+
+Create a PGP signature for the flatpak single-file bundle:
+
+```sh
+gpg -a --detach-sign OnionShare-$VERSION.flatpak
+```
+
+Upload this `.flatpak` and its sig to the GitHub release as well.
+
### Update Homebrew
- Make a PR to [homebrew-cask](https://github.com/homebrew/homebrew-cask) to update the macOS version
diff --git a/build-source.sh b/build-source.sh
index b7bd700a..add57583 100755
--- a/build-source.sh
+++ b/build-source.sh
@@ -36,7 +36,7 @@ fi
mkdir -p build/source
mkdir -p dist
cd build/source
-git clone https://github.com/micahflee/onionshare.git
+git clone https://github.com/onionshare/onionshare.git
cd onionshare
# Verify tag
diff --git a/cli/onionshare_cli/__init__.py b/cli/onionshare_cli/__init__.py
index c046e472..a359f770 100644
--- a/cli/onionshare_cli/__init__.py
+++ b/cli/onionshare_cli/__init__.py
@@ -38,14 +38,6 @@ from .onionshare import OnionShare
from .mode_settings import ModeSettings
-def build_url(mode_settings, app, web):
- # Build the URL
- if mode_settings.get("general", "public"):
- return f"http://{app.onion_host}"
- else:
- return f"http://onionshare:{web.password}@{app.onion_host}"
-
-
def main(cwd=None):
"""
The main() function implements all of the logic that the command-line version of
@@ -113,7 +105,7 @@ def main(cwd=None):
action="store_true",
dest="public",
default=False,
- help="Don't use a password",
+ help="Don't use a private key",
)
parser.add_argument(
"--auto-start-timer",
@@ -129,20 +121,6 @@ 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 client authorization (requires --legacy)",
- )
# Share args
parser.add_argument(
"--no-autostop-sharing",
@@ -215,8 +193,6 @@ 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)
autostop_sharing = not bool(args.no_autostop_sharing)
data_dir = args.data_dir
webhook_url = args.webhook_url
@@ -237,13 +213,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 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)
@@ -264,8 +233,6 @@ 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)
if mode == "share":
mode_settings.set("share", "autostop_sharing", autostop_sharing)
if mode == "receive":
@@ -352,11 +319,6 @@ def main(cwd=None):
try:
common.settings.load()
- if mode_settings.get("general", "public"):
- web.password = None
- else:
- web.generate_password(mode_settings.get("onion", "password"))
-
# Receive mode needs to know the tor proxy details for webhooks
if mode == "receive":
if local_only:
@@ -381,7 +343,7 @@ def main(cwd=None):
sys.exit()
app.start_onion_service(mode, mode_settings, False)
- url = build_url(mode_settings, app, web)
+ url = f"http://{app.onion_host}"
schedule = datetime.now() + timedelta(seconds=autostart_timer)
if mode == "receive":
print(
@@ -394,21 +356,21 @@ def main(cwd=None):
"what you are doing."
)
print("")
- if mode_settings.get("general", "client_auth"):
+ if not mode_settings.get("general", "public"):
print(
- f"Give this address and HidServAuth lineto your sender, and tell them it won't be accessible until: {schedule.strftime('%I:%M:%S%p, %b %d, %y')}"
+ f"Give this address and private key 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)
+ print(f"Private key: {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"):
+ if not mode_settings.get("general", "public"):
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')}"
+ f"Give this address and private key 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)
+ print(f"Private key: {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')}"
@@ -426,7 +388,6 @@ def main(cwd=None):
sys.exit()
except (TorTooOldEphemeral, TorTooOldStealth, TorErrorProtocolError) as e:
print("")
- print(e.args[0])
sys.exit()
if mode == "website":
@@ -458,21 +419,14 @@ def main(cwd=None):
t.start()
try: # Trap Ctrl-C
- # Wait for web.generate_password() to finish running
time.sleep(0.2)
# start auto-stop timer thread
if app.autostop_timer > 0:
app.autostop_timer_thread.start()
- # Save the web password if we are using a persistent private key
- if mode_settings.get("persistent", "enabled"):
- if not mode_settings.get("onion", "password"):
- mode_settings.set("onion", "password", web.password)
- # mode_settings.save()
-
# Build the URL
- url = build_url(mode_settings, app, web)
+ url = f"http://{app.onion_host}"
print("")
if autostart_timer > 0:
@@ -490,21 +444,21 @@ def main(cwd=None):
)
print("")
- if mode_settings.get("general", "client_auth"):
- print("Give this address and HidServAuth to the sender:")
+ if mode_settings.get("general", "public"):
+ print("Give this address to the sender:")
print(url)
- print(app.auth_string)
else:
- print("Give this address to the sender:")
+ print("Give this address and private key to the sender:")
print(url)
+ print(f"Private key: {app.auth_string}")
else:
- if mode_settings.get("general", "client_auth"):
- print("Give this address and HidServAuth line to the recipient:")
+ if mode_settings.get("general", "public"):
+ print("Give this address to the recipient:")
print(url)
- print(app.auth_string)
else:
- print("Give this address to the recipient:")
+ print("Give this address and private key to the recipient:")
print(url)
+ print(f"Private key: {app.auth_string}")
print("")
print("Press Ctrl+C to stop the server")
diff --git a/cli/onionshare_cli/mode_settings.py b/cli/onionshare_cli/mode_settings.py
index 47900997..47ff1c63 100644
--- a/cli/onionshare_cli/mode_settings.py
+++ b/cli/onionshare_cli/mode_settings.py
@@ -37,8 +37,8 @@ class ModeSettings:
self.default_settings = {
"onion": {
"private_key": None,
- "hidservauth_string": None,
- "password": None,
+ "client_auth_priv_key": None,
+ "client_auth_pub_key": None,
},
"persistent": {"mode": None, "enabled": False},
"general": {
@@ -46,8 +46,6 @@ class ModeSettings:
"public": False,
"autostart_timer": False,
"autostop_timer": False,
- "legacy": False,
- "client_auth": False,
"service_id": None,
},
"share": {"autostop_sharing": True, "filenames": []},
diff --git a/cli/onionshare_cli/onion.py b/cli/onionshare_cli/onion.py
index 38062d43..7f6faa17 100644
--- a/cli/onionshare_cli/onion.py
+++ b/cli/onionshare_cli/onion.py
@@ -21,8 +21,8 @@ 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
import tempfile
import subprocess
@@ -170,6 +170,20 @@ class Onion(object):
# Keep track of onions where it's important to gracefully close to prevent truncated downloads
self.graceful_close_onions = []
+ def key_str(self, key):
+ """
+ Returns a base32 decoded string of a key.
+ """
+ # bytes to base 32
+ key_bytes = bytes(key)
+ key_b32 = base64.b32encode(key_bytes)
+ # strip trailing ====
+ assert key_b32[-4:] == b'===='
+ key_b32 = key_b32[:-4]
+ # change from b'ASDF' to ASDF
+ s = key_b32.decode('utf-8')
+ return s
+
def connect(
self,
custom_settings=None,
@@ -570,14 +584,15 @@ 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 stealth onion services?
+ # Do the versions of stem and tor that I'm using support v3 stealth onion services?
try:
res = self.c.create_ephemeral_hidden_service(
{1: 1},
- basic_auth={"onionshare": None},
+ basic_auth=None,
await_publication=False,
key_type="NEW",
- key_content="RSA1024",
+ key_content="ED25519-V3",
+ client_auth_v3="E2GOT5LTUTP3OAMRCRXO4GSH6VKJEUOXZQUC336SRKAHTTT5OVSA",
)
tmp_service_id = res.service_id
self.c.remove_ephemeral_hidden_service(tmp_service_id)
@@ -612,65 +627,58 @@ 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()
-
- 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
if mode_settings.get("onion", "private_key"):
key_content = mode_settings.get("onion", "private_key")
- if self.is_v2_key(key_content):
- 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"):
- key_content = "ED25519-V3"
- else:
- # fall back to v2 onion services
- key_content = "RSA1024"
-
- # v3 onions don't yet support basic auth. Our ticket:
- # https://github.com/micahflee/onionshare/issues/697
- if (
- key_type == "NEW"
- and key_content == "ED25519-V3"
- and not mode_settings.get("general", "legacy")
- ):
- 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", "public"):
+ client_auth_priv_key = None
+ client_auth_pub_key = None
+ else:
+ 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_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_priv_key_raw = nacl.public.PrivateKey.generate()
+ client_auth_priv_key = self.key_str(client_auth_priv_key_raw)
+ client_auth_pub_key = self.key_str(client_auth_priv_key_raw.public_key)
+ else:
+ # These should have been saved in settings from the previous run of a persistent onion
+ client_auth_priv_key = mode_settings.get("onion", "client_auth_priv_key")
+ client_auth_pub_key = mode_settings.get("onion", "client_auth_pub_key")
+
try:
- res = self.c.create_ephemeral_hidden_service(
- {80: port},
- await_publication=await_publication,
- basic_auth=basic_auth,
- key_type=key_type,
- key_content=key_content,
- )
+ if not self.supports_stealth:
+ res = self.c.create_ephemeral_hidden_service(
+ {80: port},
+ await_publication=await_publication,
+ basic_auth=None,
+ key_type=key_type,
+ key_content=key_content,
+ )
+ else:
+ res = self.c.create_ephemeral_hidden_service(
+ {80: port},
+ await_publication=await_publication,
+ basic_auth=None,
+ key_type=key_type,
+ key_content=key_content,
+ client_auth_v3=client_auth_pub_key,
+ )
except ProtocolError as e:
print("Tor error: {}".format(e.args[0]))
@@ -688,12 +696,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 (if we restart this
+ # same share at a later date), and the private key to the other user for
+ # their Tor Browser.
+ if not mode_settings.get("general", "public"):
+ mode_settings.set("onion", "client_auth_priv_key", client_auth_priv_key)
+ mode_settings.set("onion", "client_auth_pub_key", client_auth_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 = f"{onion_host}:x25519:{client_auth_priv_key}"
+ self.auth_string = client_auth_priv_key
return onion_host
@@ -825,15 +841,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 Exception:
- return False
diff --git a/cli/onionshare_cli/onionshare.py b/cli/onionshare_cli/onionshare.py
index bd94100f..c2711b89 100644
--- a/cli/onionshare_cli/onionshare.py
+++ b/cli/onionshare_cli/onionshare.py
@@ -74,13 +74,15 @@ class OnionShare(object):
if self.local_only:
self.onion_host = f"127.0.0.1:{self.port}"
+ if not mode_settings.get("general", "public"):
+ self.auth_string = "E2GOT5LTUTP3OAMRCRXO4GSH6VKJEUOXZQUC336SRKAHTTT5OVSA"
return
self.onion_host = self.onion.start_onion_service(
mode, mode_settings, self.port, await_publication
)
- if mode_settings.get("general", "client_auth"):
+ if not mode_settings.get("general", "public"):
self.auth_string = self.onion.auth_string
def stop_onion_service(self, mode_settings):
diff --git a/cli/onionshare_cli/resources/static/css/style.css b/cli/onionshare_cli/resources/static/css/style.css
index 57b23fdb..7cec9738 100644
--- a/cli/onionshare_cli/resources/static/css/style.css
+++ b/cli/onionshare_cli/resources/static/css/style.css
@@ -229,6 +229,7 @@ ul.breadcrumbs li a:link, ul.breadcrumbs li a:visited {
display: block;
}
.chat-wrapper .message {
+ word-break: break-word;
font-weight: normal;
display: block;
margin-bottom: 0.3em;
diff --git a/cli/onionshare_cli/resources/templates/401.html b/cli/onionshare_cli/resources/templates/401.html
deleted file mode 100644
index 5e43ca01..00000000
--- a/cli/onionshare_cli/resources/templates/401.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!DOCTYPE html>
-<html>
-
-<head>
- <title>OnionShare: 401 Unauthorized Access</title>
- <meta charset="utf-8" />
- <meta name="viewport" content="width=device-width, initial-scale=1">
- <link href="{{ static_url_path }}/img/favicon.ico" rel="icon" type="image/x-icon" />
- <link rel="stylesheet" rel="subresource" type="text/css" href="{{ static_url_path }}/css/style.css" media="all">
-</head>
-
-<body>
- <div class="info-wrapper">
- <div class="info">
- <p><img class="logo" src="{{ static_url_path }}/img/logo_large.png" title="OnionShare"></p>
- <p class="info-header">401 Unauthorized Access</p>
- </div>
- </div>
-</body>
-
-</html>
diff --git a/cli/onionshare_cli/resources/version.txt b/cli/onionshare_cli/resources/version.txt
index 4ba9db07..45674f16 100644
--- a/cli/onionshare_cli/resources/version.txt
+++ b/cli/onionshare_cli/resources/version.txt
@@ -1 +1 @@
-2.3.2.dev1 \ No newline at end of file
+2.3.3 \ No newline at end of file
diff --git a/cli/onionshare_cli/settings.py b/cli/onionshare_cli/settings.py
index 54a0fcd9..137b690e 100644
--- a/cli/onionshare_cli/settings.py
+++ b/cli/onionshare_cli/settings.py
@@ -75,6 +75,7 @@ class Settings(object):
"it": "Italiano", # Italian
"ja": "日本語", # Japanese
"ckb": "Soranî", # Kurdish (Central)
+ "lt": "Lietuvių Kalba", # Lithuanian
"nb_NO": "Norsk Bokmål", # Norwegian Bokmål
# "fa": "فارسی", # Persian
"pl": "Polski", # Polish
@@ -110,6 +111,7 @@ class Settings(object):
"tor_bridges_use_custom_bridges": "",
"persistent_tabs": [],
"locale": None, # this gets defined in fill_in_defaults()
+ "theme": 0,
}
self._settings = {}
self.fill_in_defaults()
diff --git a/cli/onionshare_cli/web/web.py b/cli/onionshare_cli/web/web.py
index a5c26232..3ba27ef7 100644
--- a/cli/onionshare_cli/web/web.py
+++ b/cli/onionshare_cli/web/web.py
@@ -34,7 +34,6 @@ from flask import (
send_file,
__version__ as flask_version,
)
-from flask_httpauth import HTTPBasicAuth
from flask_socketio import SocketIO
from .share_mode import ShareModeWeb
@@ -64,18 +63,16 @@ class Web:
REQUEST_STARTED = 1
REQUEST_PROGRESS = 2
REQUEST_CANCELED = 3
- REQUEST_RATE_LIMIT = 4
- REQUEST_UPLOAD_INCLUDES_MESSAGE = 5
- REQUEST_UPLOAD_FILE_RENAMED = 6
- REQUEST_UPLOAD_SET_DIR = 7
- REQUEST_UPLOAD_FINISHED = 8
- REQUEST_UPLOAD_CANCELED = 9
- REQUEST_INDIVIDUAL_FILE_STARTED = 10
- REQUEST_INDIVIDUAL_FILE_PROGRESS = 11
- REQUEST_INDIVIDUAL_FILE_CANCELED = 12
- REQUEST_ERROR_DATA_DIR_CANNOT_CREATE = 13
- REQUEST_OTHER = 14
- REQUEST_INVALID_PASSWORD = 15
+ REQUEST_UPLOAD_INCLUDES_MESSAGE = 4
+ REQUEST_UPLOAD_FILE_RENAMED = 5
+ REQUEST_UPLOAD_SET_DIR = 6
+ REQUEST_UPLOAD_FINISHED = 7
+ REQUEST_UPLOAD_CANCELED = 8
+ REQUEST_INDIVIDUAL_FILE_STARTED = 9
+ REQUEST_INDIVIDUAL_FILE_PROGRESS = 10
+ REQUEST_INDIVIDUAL_FILE_CANCELED = 11
+ REQUEST_ERROR_DATA_DIR_CANNOT_CREATE = 12
+ REQUEST_OTHER = 13
def __init__(self, common, is_gui, mode_settings, mode="share"):
self.common = common
@@ -92,8 +89,6 @@ class Web:
)
self.app.secret_key = self.common.random_string(8)
self.generate_static_url_path()
- self.auth = HTTPBasicAuth()
- self.auth.error_handler(self.error401)
# Verbose mode?
if self.common.verbose:
@@ -132,9 +127,6 @@ class Web:
]
self.q = queue.Queue()
- self.password = None
-
- self.reset_invalid_passwords()
self.done = False
@@ -191,7 +183,6 @@ class Web:
self.app.static_url_path = self.static_url_path
self.app.add_url_rule(
self.static_url_path + "/<path:filename>",
- endpoint="static",
view_func=self.app.send_static_file,
)
@@ -200,28 +191,6 @@ class Web:
Common web app routes between all modes.
"""
- @self.auth.get_password
- def get_pw(username):
- if username == "onionshare":
- return self.password
- else:
- return None
-
- @self.app.before_request
- def conditional_auth_check():
- # Allow static files without basic authentication
- if request.path.startswith(self.static_url_path + "/"):
- return None
-
- # If public mode is disabled, require authentication
- if not self.settings.get("general", "public"):
-
- @self.auth.login_required
- def _check_login():
- return None
-
- return _check_login()
-
@self.app.after_request
def add_security_headers(r):
"""
@@ -276,28 +245,6 @@ class Web:
f"{self.common.get_resource_path('static')}/img/favicon.ico"
)
- def error401(self):
- auth = request.authorization
- if auth:
- if (
- auth["username"] == "onionshare"
- and auth["password"] not in self.invalid_passwords
- ):
- print(f"Invalid password guess: {auth['password']}")
- self.add_request(Web.REQUEST_INVALID_PASSWORD, data=auth["password"])
-
- self.invalid_passwords.append(auth["password"])
- self.invalid_passwords_count += 1
-
- if self.invalid_passwords_count == 20:
- self.add_request(Web.REQUEST_RATE_LIMIT)
- self.force_shutdown()
- print(
- "Someone has made too many wrong attempts to guess your password, so OnionShare has stopped the server. Start sharing again and send the recipient a new address to share."
- )
-
- return render_template("401.html", static_url_path=self.static_url_path), 401
-
def error403(self):
self.add_request(Web.REQUEST_OTHER, request.path)
return render_template("403.html", static_url_path=self.static_url_path), 403
@@ -349,21 +296,6 @@ class Web:
"""
self.q.put({"type": request_type, "path": path, "data": data})
- def generate_password(self, saved_password=None):
- self.common.log("Web", "generate_password", f"saved_password={saved_password}")
- if saved_password is not None and saved_password != "":
- self.password = saved_password
- self.common.log(
- "Web",
- "generate_password",
- f'saved_password sent, so password is: "{self.password}"',
- )
- else:
- self.password = self.common.build_password()
- self.common.log(
- "Web", "generate_password", f'built random password: "{self.password}"'
- )
-
def verbose_mode(self):
"""
Turn on verbose mode, which will log flask errors to a file.
@@ -373,10 +305,6 @@ class Web:
log_handler.setLevel(logging.WARNING)
self.app.logger.addHandler(log_handler)
- def reset_invalid_passwords(self):
- self.invalid_passwords_count = 0
- self.invalid_passwords = []
-
def force_shutdown(self):
"""
Stop the flask web server, from the context of the flask app.
@@ -433,18 +361,9 @@ class Web:
# To stop flask, load http://shutdown:[shutdown_password]@127.0.0.1/[shutdown_password]/shutdown
# (We're putting the shutdown_password in the path as well to make routing simpler)
if self.running:
- if self.password:
- requests.get(
- f"http://127.0.0.1:{port}/{self.shutdown_password}/shutdown",
- auth=requests.auth.HTTPBasicAuth("onionshare", self.password),
- )
- else:
- requests.get(
- f"http://127.0.0.1:{port}/{self.shutdown_password}/shutdown"
- )
-
- # Reset any password that was in use
- self.password = None
+ requests.get(
+ f"http://127.0.0.1:{port}/{self.shutdown_password}/shutdown"
+ )
def cleanup(self):
"""
diff --git a/cli/poetry.lock b/cli/poetry.lock
index d7a53640..c51e1d62 100644
--- a/cli/poetry.lock
+++ b/cli/poetry.lock
@@ -42,7 +42,18 @@ description = "Python package for providing Mozilla's CA Bundle."
name = "certifi"
optional = false
python-versions = "*"
-version = "2020.12.5"
+version = "2021.5.30"
+
+[[package]]
+category = "main"
+description = "Foreign Function Interface for Python calling C code."
+name = "cffi"
+optional = false
+python-versions = "*"
+version = "1.14.6"
+
+[package.dependencies]
+pycparser = "*"
[[package]]
category = "main"
@@ -114,17 +125,6 @@ dotenv = ["python-dotenv"]
[[package]]
category = "main"
-description = "Basic and Digest HTTP authentication for Flask routes"
-name = "flask-httpauth"
-optional = false
-python-versions = "*"
-version = "4.4.0"
-
-[package.dependencies]
-Flask = "*"
-
-[[package]]
-category = "main"
description = "Socket.IO integration for Flask applications"
name = "flask-socketio"
optional = false
@@ -161,7 +161,7 @@ marker = "python_version < \"3.8\""
name = "importlib-metadata"
optional = false
python-versions = ">=3.6"
-version = "4.0.1"
+version = "4.4.0"
[package.dependencies]
zipp = ">=0.5"
@@ -210,7 +210,7 @@ description = "Safely add untrusted strings to HTML/XML markup."
name = "markupsafe"
optional = false
python-versions = ">=3.6"
-version = "2.0.0"
+version = "2.0.1"
[[package]]
category = "dev"
@@ -260,11 +260,27 @@ version = "1.10.0"
[[package]]
category = "main"
-description = "Cryptographic library for Python"
-name = "pycryptodome"
+description = "C parser in Python"
+name = "pycparser"
optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
-version = "3.10.1"
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+version = "2.20"
+
+[[package]]
+category = "main"
+description = "Python binding to the Networking and Cryptography (NaCl) library"
+name = "pynacl"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+version = "1.4.0"
+
+[package.dependencies]
+cffi = ">=1.4.1"
+six = "*"
+
+[package.extras]
+docs = ["sphinx (>=1.6.5)", "sphinx-rtd-theme"]
+tests = ["pytest (>=3.2.1,<3.3.0 || >3.3.0)", "hypothesis (>=3.27.0)"]
[[package]]
category = "dev"
@@ -367,11 +383,16 @@ version = "1.16.0"
[[package]]
category = "main"
-description = "Stem is a Python controller library that allows applications to interact with Tor (https://www.torproject.org/)."
+description = ""
name = "stem"
optional = false
python-versions = "*"
-version = "1.8.0"
+version = "1.8.1"
+
+[package.source]
+reference = "de3d03a03c7ee57c74c80e9c63cb88072d833717"
+type = "git"
+url = "https://github.com/onionshare/stem.git"
[[package]]
category = "dev"
@@ -404,7 +425,7 @@ description = "HTTP library with thread-safe connection pooling, file post, and
name = "urllib3"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4"
-version = "1.26.4"
+version = "1.26.5"
[package.extras]
brotli = ["brotlipy (>=0.6.0)"]
@@ -437,7 +458,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 = "e5b4d1dfb1871b971d8240c41fc16cb339246e880c5bf6be07d9303e6156fe93"
+content-hash = "181891640e59dac730905019444d42ef8e99da0c34c96fb8a616781661bae537"
python-versions = "^3.6"
[metadata.files]
@@ -454,8 +475,55 @@ bidict = [
{file = "bidict-0.21.2.tar.gz", hash = "sha256:4fa46f7ff96dc244abfc437383d987404ae861df797e2fd5b190e233c302be09"},
]
certifi = [
- {file = "certifi-2020.12.5-py2.py3-none-any.whl", hash = "sha256:719a74fb9e33b9bd44cc7f3a8d94bc35e4049deebe19ba7d8e108280cfd59830"},
- {file = "certifi-2020.12.5.tar.gz", hash = "sha256:1a4995114262bffbc2413b159f2a1a480c969de6e6eb13ee966d470af86af59c"},
+ {file = "certifi-2021.5.30-py2.py3-none-any.whl", hash = "sha256:50b1e4f8446b06f41be7dd6338db18e0990601dce795c2b1686458aa7e8fa7d8"},
+ {file = "certifi-2021.5.30.tar.gz", hash = "sha256:2bbf76fd432960138b3ef6dda3dde0544f27cbf8546c458e60baf371917ba9ee"},
+]
+cffi = [
+ {file = "cffi-1.14.6-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:22b9c3c320171c108e903d61a3723b51e37aaa8c81255b5e7ce102775bd01e2c"},
+ {file = "cffi-1.14.6-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:f0c5d1acbfca6ebdd6b1e3eded8d261affb6ddcf2186205518f1428b8569bb99"},
+ {file = "cffi-1.14.6-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:99f27fefe34c37ba9875f224a8f36e31d744d8083e00f520f133cab79ad5e819"},
+ {file = "cffi-1.14.6-cp27-cp27m-win32.whl", hash = "sha256:55af55e32ae468e9946f741a5d51f9896da6b9bf0bbdd326843fec05c730eb20"},
+ {file = "cffi-1.14.6-cp27-cp27m-win_amd64.whl", hash = "sha256:7bcac9a2b4fdbed2c16fa5681356d7121ecabf041f18d97ed5b8e0dd38a80224"},
+ {file = "cffi-1.14.6-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:ed38b924ce794e505647f7c331b22a693bee1538fdf46b0222c4717b42f744e7"},
+ {file = "cffi-1.14.6-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:e22dcb48709fc51a7b58a927391b23ab37eb3737a98ac4338e2448bef8559b33"},
+ {file = "cffi-1.14.6-cp35-cp35m-macosx_10_9_x86_64.whl", hash = "sha256:aedb15f0a5a5949ecb129a82b72b19df97bbbca024081ed2ef88bd5c0a610534"},
+ {file = "cffi-1.14.6-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:48916e459c54c4a70e52745639f1db524542140433599e13911b2f329834276a"},
+ {file = "cffi-1.14.6-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:f627688813d0a4140153ff532537fbe4afea5a3dffce1f9deb7f91f848a832b5"},
+ {file = "cffi-1.14.6-cp35-cp35m-win32.whl", hash = "sha256:f0010c6f9d1a4011e429109fda55a225921e3206e7f62a0c22a35344bfd13cca"},
+ {file = "cffi-1.14.6-cp35-cp35m-win_amd64.whl", hash = "sha256:57e555a9feb4a8460415f1aac331a2dc833b1115284f7ded7278b54afc5bd218"},
+ {file = "cffi-1.14.6-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:e8c6a99be100371dbb046880e7a282152aa5d6127ae01783e37662ef73850d8f"},
+ {file = "cffi-1.14.6-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:19ca0dbdeda3b2615421d54bef8985f72af6e0c47082a8d26122adac81a95872"},
+ {file = "cffi-1.14.6-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:d950695ae4381ecd856bcaf2b1e866720e4ab9a1498cba61c602e56630ca7195"},
+ {file = "cffi-1.14.6-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e9dc245e3ac69c92ee4c167fbdd7428ec1956d4e754223124991ef29eb57a09d"},
+ {file = "cffi-1.14.6-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a8661b2ce9694ca01c529bfa204dbb144b275a31685a075ce123f12331be790b"},
+ {file = "cffi-1.14.6-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b315d709717a99f4b27b59b021e6207c64620790ca3e0bde636a6c7f14618abb"},
+ {file = "cffi-1.14.6-cp36-cp36m-win32.whl", hash = "sha256:80b06212075346b5546b0417b9f2bf467fea3bfe7352f781ffc05a8ab24ba14a"},
+ {file = "cffi-1.14.6-cp36-cp36m-win_amd64.whl", hash = "sha256:a9da7010cec5a12193d1af9872a00888f396aba3dc79186604a09ea3ee7c029e"},
+ {file = "cffi-1.14.6-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:4373612d59c404baeb7cbd788a18b2b2a8331abcc84c3ba40051fcd18b17a4d5"},
+ {file = "cffi-1.14.6-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:f10afb1004f102c7868ebfe91c28f4a712227fe4cb24974350ace1f90e1febbf"},
+ {file = "cffi-1.14.6-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:fd4305f86f53dfd8cd3522269ed7fc34856a8ee3709a5e28b2836b2db9d4cd69"},
+ {file = "cffi-1.14.6-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6d6169cb3c6c2ad50db5b868db6491a790300ade1ed5d1da29289d73bbe40b56"},
+ {file = "cffi-1.14.6-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5d4b68e216fc65e9fe4f524c177b54964af043dde734807586cf5435af84045c"},
+ {file = "cffi-1.14.6-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:33791e8a2dc2953f28b8d8d300dde42dd929ac28f974c4b4c6272cb2955cb762"},
+ {file = "cffi-1.14.6-cp37-cp37m-win32.whl", hash = "sha256:0c0591bee64e438883b0c92a7bed78f6290d40bf02e54c5bf0978eaf36061771"},
+ {file = "cffi-1.14.6-cp37-cp37m-win_amd64.whl", hash = "sha256:8eb687582ed7cd8c4bdbff3df6c0da443eb89c3c72e6e5dcdd9c81729712791a"},
+ {file = "cffi-1.14.6-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ba6f2b3f452e150945d58f4badd92310449876c4c954836cfb1803bdd7b422f0"},
+ {file = "cffi-1.14.6-cp38-cp38-manylinux1_i686.whl", hash = "sha256:64fda793737bc4037521d4899be780534b9aea552eb673b9833b01f945904c2e"},
+ {file = "cffi-1.14.6-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:9f3e33c28cd39d1b655ed1ba7247133b6f7fc16fa16887b120c0c670e35ce346"},
+ {file = "cffi-1.14.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:26bb2549b72708c833f5abe62b756176022a7b9a7f689b571e74c8478ead51dc"},
+ {file = "cffi-1.14.6-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eb687a11f0a7a1839719edd80f41e459cc5366857ecbed383ff376c4e3cc6afd"},
+ {file = "cffi-1.14.6-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d2ad4d668a5c0645d281dcd17aff2be3212bc109b33814bbb15c4939f44181cc"},
+ {file = "cffi-1.14.6-cp38-cp38-win32.whl", hash = "sha256:487d63e1454627c8e47dd230025780e91869cfba4c753a74fda196a1f6ad6548"},
+ {file = "cffi-1.14.6-cp38-cp38-win_amd64.whl", hash = "sha256:c33d18eb6e6bc36f09d793c0dc58b0211fccc6ae5149b808da4a62660678b156"},
+ {file = "cffi-1.14.6-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:06c54a68935738d206570b20da5ef2b6b6d92b38ef3ec45c5422c0ebaf338d4d"},
+ {file = "cffi-1.14.6-cp39-cp39-manylinux1_i686.whl", hash = "sha256:f174135f5609428cc6e1b9090f9268f5c8935fddb1b25ccb8255a2d50de6789e"},
+ {file = "cffi-1.14.6-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:f3ebe6e73c319340830a9b2825d32eb6d8475c1dac020b4f0aa774ee3b898d1c"},
+ {file = "cffi-1.14.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3c8d896becff2fa653dc4438b54a5a25a971d1f4110b32bd3068db3722c80202"},
+ {file = "cffi-1.14.6-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4922cd707b25e623b902c86188aca466d3620892db76c0bdd7b99a3d5e61d35f"},
+ {file = "cffi-1.14.6-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c9e005e9bd57bc987764c32a1bee4364c44fdc11a3cc20a40b93b444984f2b87"},
+ {file = "cffi-1.14.6-cp39-cp39-win32.whl", hash = "sha256:eb9e2a346c5238a30a746893f23a9535e700f8192a68c07c0258e7ece6ff3728"},
+ {file = "cffi-1.14.6-cp39-cp39-win_amd64.whl", hash = "sha256:818014c754cd3dba7229c0f5884396264d51ffb87ec86e927ef0be140bfdb0d2"},
+ {file = "cffi-1.14.6.tar.gz", hash = "sha256:c9a875ce9d7fe32887784274dd533c57909b7b1dcadcc128a2ac21331a9765dd"},
]
chardet = [
{file = "chardet-4.0.0-py2.py3-none-any.whl", hash = "sha256:f864054d66fd9118f2e67044ac8981a54775ec5b67aed0441892edb553d21da5"},
@@ -481,10 +549,6 @@ flask = [
{file = "Flask-1.1.4-py2.py3-none-any.whl", hash = "sha256:c34f04500f2cbbea882b1acb02002ad6fe6b7ffa64a6164577995657f50aed22"},
{file = "Flask-1.1.4.tar.gz", hash = "sha256:0fbeb6180d383a9186d0d6ed954e0042ad9f18e0e8de088b2b419d526927d196"},
]
-flask-httpauth = [
- {file = "Flask-HTTPAuth-4.4.0.tar.gz", hash = "sha256:bcaaa7a35a3cba0b2eafd4f113b3016bf70eb78087456d96484c3c18928b813a"},
- {file = "Flask_HTTPAuth-4.4.0-py2.py3-none-any.whl", hash = "sha256:d9131122cdc5709dda63790f6e9b3142d8101447d424b0b95ffd4ee279f49539"},
-]
flask-socketio = [
{file = "Flask-SocketIO-5.0.1.tar.gz", hash = "sha256:5c4319f5214ada20807857dc8fdf3dc7d2afe8d6dd38f5c516c72e2be47d2227"},
{file = "Flask_SocketIO-5.0.1-py2.py3-none-any.whl", hash = "sha256:5d9a4438bafd806c5a3b832e74b69758781a8ee26fb6c9b1dbdda9b4fced432e"},
@@ -545,8 +609,8 @@ idna = [
{file = "idna-2.10.tar.gz", hash = "sha256:b307872f855b18632ce0c21c5e45be78c0ea7ae4c15c828c20788b26921eb3f6"},
]
importlib-metadata = [
- {file = "importlib_metadata-4.0.1-py3-none-any.whl", hash = "sha256:d7eb1dea6d6a6086f8be21784cc9e3bcfa55872b52309bc5fad53a8ea444465d"},
- {file = "importlib_metadata-4.0.1.tar.gz", hash = "sha256:8c501196e49fb9df5df43833bdb1e4328f64847763ec8a50703148b73784d581"},
+ {file = "importlib_metadata-4.4.0-py3-none-any.whl", hash = "sha256:960d52ba7c21377c990412aca380bf3642d734c2eaab78a2c39319f67c6a5786"},
+ {file = "importlib_metadata-4.4.0.tar.gz", hash = "sha256:e592faad8de1bda9fe920cf41e15261e7131bcf266c30306eec00e8e225c1dd5"},
]
iniconfig = [
{file = "iniconfig-1.1.1-py2.py3-none-any.whl", hash = "sha256:011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3"},
@@ -561,40 +625,60 @@ jinja2 = [
{file = "Jinja2-2.11.3.tar.gz", hash = "sha256:a6d58433de0ae800347cab1fa3043cebbabe8baa9d29e668f1c768cb87a333c6"},
]
markupsafe = [
- {file = "MarkupSafe-2.0.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:2efaeb1baff547063bad2b2893a8f5e9c459c4624e1a96644bbba08910ae34e0"},
- {file = "MarkupSafe-2.0.0-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:441ce2a8c17683d97e06447fcbccbdb057cbf587c78eb75ae43ea7858042fe2c"},
- {file = "MarkupSafe-2.0.0-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:45535241baa0fc0ba2a43961a1ac7562ca3257f46c4c3e9c0de38b722be41bd1"},
- {file = "MarkupSafe-2.0.0-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:90053234a6479738fd40d155268af631c7fca33365f964f2208867da1349294b"},
- {file = "MarkupSafe-2.0.0-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:3b54a9c68995ef4164567e2cd1a5e16db5dac30b2a50c39c82db8d4afaf14f63"},
- {file = "MarkupSafe-2.0.0-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:f58b5ba13a5689ca8317b98439fccfbcc673acaaf8241c1869ceea40f5d585bf"},
- {file = "MarkupSafe-2.0.0-cp36-cp36m-win32.whl", hash = "sha256:a00dce2d96587651ef4fa192c17e039e8cfab63087c67e7d263a5533c7dad715"},
- {file = "MarkupSafe-2.0.0-cp36-cp36m-win_amd64.whl", hash = "sha256:007dc055dbce5b1104876acee177dbfd18757e19d562cd440182e1f492e96b95"},
- {file = "MarkupSafe-2.0.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:a08cd07d3c3c17cd33d9e66ea9dee8f8fc1c48e2d11bd88fd2dc515a602c709b"},
- {file = "MarkupSafe-2.0.0-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:3c352ff634e289061711608f5e474ec38dbaa21e3e168820d53d5f4015e5b91b"},
- {file = "MarkupSafe-2.0.0-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:32200f562daaab472921a11cbb63780f1654552ae49518196fc361ed8e12e901"},
- {file = "MarkupSafe-2.0.0-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:fef86115fdad7ae774720d7103aa776144cf9b66673b4afa9bcaa7af990ed07b"},
- {file = "MarkupSafe-2.0.0-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:e79212d09fc0e224d20b43ad44bb0a0a3416d1e04cf6b45fed265114a5d43d20"},
- {file = "MarkupSafe-2.0.0-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:79b2ae94fa991be023832e6bcc00f41dbc8e5fe9d997a02db965831402551730"},
- {file = "MarkupSafe-2.0.0-cp37-cp37m-win32.whl", hash = "sha256:3261fae28155e5c8634dd7710635fe540a05b58f160cef7713c7700cb9980e66"},
- {file = "MarkupSafe-2.0.0-cp37-cp37m-win_amd64.whl", hash = "sha256:e4570d16f88c7f3032ed909dc9e905a17da14a1c4cfd92608e3fda4cb1208bbd"},
- {file = "MarkupSafe-2.0.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:8f806bfd0f218477d7c46a11d3e52dc7f5fdfaa981b18202b7dc84bbc287463b"},
- {file = "MarkupSafe-2.0.0-cp38-cp38-manylinux1_i686.whl", hash = "sha256:e77e4b983e2441aff0c0d07ee711110c106b625f440292dfe02a2f60c8218bd6"},
- {file = "MarkupSafe-2.0.0-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:031bf79a27d1c42f69c276d6221172417b47cb4b31cdc73d362a9bf5a1889b9f"},
- {file = "MarkupSafe-2.0.0-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:83cf0228b2f694dcdba1374d5312f2277269d798e65f40344964f642935feac1"},
- {file = "MarkupSafe-2.0.0-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:4cc563836f13c57f1473bc02d1e01fc37bab70ad4ee6be297d58c1d66bc819bf"},
- {file = "MarkupSafe-2.0.0-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:d00a669e4a5bec3ee6dbeeeedd82a405ced19f8aeefb109a012ea88a45afff96"},
- {file = "MarkupSafe-2.0.0-cp38-cp38-win32.whl", hash = "sha256:161d575fa49395860b75da5135162481768b11208490d5a2143ae6785123e77d"},
- {file = "MarkupSafe-2.0.0-cp38-cp38-win_amd64.whl", hash = "sha256:58bc9fce3e1557d463ef5cee05391a05745fd95ed660f23c1742c711712c0abb"},
- {file = "MarkupSafe-2.0.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:3fb47f97f1d338b943126e90b79cad50d4fcfa0b80637b5a9f468941dbbd9ce5"},
- {file = "MarkupSafe-2.0.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:dab0c685f21f4a6c95bfc2afd1e7eae0033b403dd3d8c1b6d13a652ada75b348"},
- {file = "MarkupSafe-2.0.0-cp39-cp39-manylinux1_i686.whl", hash = "sha256:664832fb88b8162268928df233f4b12a144a0c78b01d38b81bdcf0fc96668ecb"},
- {file = "MarkupSafe-2.0.0-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:df561f65049ed3556e5b52541669310e88713fdae2934845ec3606f283337958"},
- {file = "MarkupSafe-2.0.0-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:24bbc3507fb6dfff663af7900a631f2aca90d5a445f272db5fc84999fa5718bc"},
- {file = "MarkupSafe-2.0.0-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:87de598edfa2230ff274c4de7fcf24c73ffd96208c8e1912d5d0fee459767d75"},
- {file = "MarkupSafe-2.0.0-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:a19d39b02a24d3082856a5b06490b714a9d4179321225bbf22809ff1e1887cc8"},
- {file = "MarkupSafe-2.0.0-cp39-cp39-win32.whl", hash = "sha256:4aca81a687975b35e3e80bcf9aa93fe10cd57fac37bf18b2314c186095f57e05"},
- {file = "MarkupSafe-2.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:70820a1c96311e02449591cbdf5cd1c6a34d5194d5b55094ab725364375c9eb2"},
- {file = "MarkupSafe-2.0.0.tar.gz", hash = "sha256:4fae0677f712ee090721d8b17f412f1cbceefbf0dc180fe91bab3232f38b4527"},
+ {file = "MarkupSafe-2.0.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d8446c54dc28c01e5a2dbac5a25f071f6653e6e40f3a8818e8b45d790fe6ef53"},
+ {file = "MarkupSafe-2.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:36bc903cbb393720fad60fc28c10de6acf10dc6cc883f3e24ee4012371399a38"},
+ {file = "MarkupSafe-2.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2d7d807855b419fc2ed3e631034685db6079889a1f01d5d9dac950f764da3dad"},
+ {file = "MarkupSafe-2.0.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:add36cb2dbb8b736611303cd3bfcee00afd96471b09cda130da3581cbdc56a6d"},
+ {file = "MarkupSafe-2.0.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:168cd0a3642de83558a5153c8bd34f175a9a6e7f6dc6384b9655d2697312a646"},
+ {file = "MarkupSafe-2.0.1-cp310-cp310-win32.whl", hash = "sha256:99df47edb6bda1249d3e80fdabb1dab8c08ef3975f69aed437cb69d0a5de1e28"},
+ {file = "MarkupSafe-2.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:e0f138900af21926a02425cf736db95be9f4af72ba1bb21453432a07f6082134"},
+ {file = "MarkupSafe-2.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:f9081981fe268bd86831e5c75f7de206ef275defcb82bc70740ae6dc507aee51"},
+ {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:0955295dd5eec6cb6cc2fe1698f4c6d84af2e92de33fbcac4111913cd100a6ff"},
+ {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:0446679737af14f45767963a1a9ef7620189912317d095f2d9ffa183a4d25d2b"},
+ {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:f826e31d18b516f653fe296d967d700fddad5901ae07c622bb3705955e1faa94"},
+ {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:fa130dd50c57d53368c9d59395cb5526eda596d3ffe36666cd81a44d56e48872"},
+ {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:905fec760bd2fa1388bb5b489ee8ee5f7291d692638ea5f67982d968366bef9f"},
+ {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bf5d821ffabf0ef3533c39c518f3357b171a1651c1ff6827325e4489b0e46c3c"},
+ {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:0d4b31cc67ab36e3392bbf3862cfbadac3db12bdd8b02a2731f509ed5b829724"},
+ {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:baa1a4e8f868845af802979fcdbf0bb11f94f1cb7ced4c4b8a351bb60d108145"},
+ {file = "MarkupSafe-2.0.1-cp36-cp36m-win32.whl", hash = "sha256:6c4ca60fa24e85fe25b912b01e62cb969d69a23a5d5867682dd3e80b5b02581d"},
+ {file = "MarkupSafe-2.0.1-cp36-cp36m-win_amd64.whl", hash = "sha256:b2f4bf27480f5e5e8ce285a8c8fd176c0b03e93dcc6646477d4630e83440c6a9"},
+ {file = "MarkupSafe-2.0.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:0717a7390a68be14b8c793ba258e075c6f4ca819f15edfc2a3a027c823718567"},
+ {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:6557b31b5e2c9ddf0de32a691f2312a32f77cd7681d8af66c2692efdbef84c18"},
+ {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:49e3ceeabbfb9d66c3aef5af3a60cc43b85c33df25ce03d0031a608b0a8b2e3f"},
+ {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:d7f9850398e85aba693bb640262d3611788b1f29a79f0c93c565694658f4071f"},
+ {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:6a7fae0dd14cf60ad5ff42baa2e95727c3d81ded453457771d02b7d2b3f9c0c2"},
+ {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:b7f2d075102dc8c794cbde1947378051c4e5180d52d276987b8d28a3bd58c17d"},
+ {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e9936f0b261d4df76ad22f8fee3ae83b60d7c3e871292cd42f40b81b70afae85"},
+ {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:2a7d351cbd8cfeb19ca00de495e224dea7e7d919659c2841bbb7f420ad03e2d6"},
+ {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:60bf42e36abfaf9aff1f50f52644b336d4f0a3fd6d8a60ca0d054ac9f713a864"},
+ {file = "MarkupSafe-2.0.1-cp37-cp37m-win32.whl", hash = "sha256:a30e67a65b53ea0a5e62fe23682cfe22712e01f453b95233b25502f7c61cb415"},
+ {file = "MarkupSafe-2.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:611d1ad9a4288cf3e3c16014564df047fe08410e628f89805e475368bd304914"},
+ {file = "MarkupSafe-2.0.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5bb28c636d87e840583ee3adeb78172efc47c8b26127267f54a9c0ec251d41a9"},
+ {file = "MarkupSafe-2.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:be98f628055368795d818ebf93da628541e10b75b41c559fdf36d104c5787066"},
+ {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:1d609f577dc6e1aa17d746f8bd3c31aa4d258f4070d61b2aa5c4166c1539de35"},
+ {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:7d91275b0245b1da4d4cfa07e0faedd5b0812efc15b702576d103293e252af1b"},
+ {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:01a9b8ea66f1658938f65b93a85ebe8bc016e6769611be228d797c9d998dd298"},
+ {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:47ab1e7b91c098ab893b828deafa1203de86d0bc6ab587b160f78fe6c4011f75"},
+ {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:97383d78eb34da7e1fa37dd273c20ad4320929af65d156e35a5e2d89566d9dfb"},
+ {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6fcf051089389abe060c9cd7caa212c707e58153afa2c649f00346ce6d260f1b"},
+ {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:5855f8438a7d1d458206a2466bf82b0f104a3724bf96a1c781ab731e4201731a"},
+ {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:3dd007d54ee88b46be476e293f48c85048603f5f516008bee124ddd891398ed6"},
+ {file = "MarkupSafe-2.0.1-cp38-cp38-win32.whl", hash = "sha256:023cb26ec21ece8dc3907c0e8320058b2e0cb3c55cf9564da612bc325bed5e64"},
+ {file = "MarkupSafe-2.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:984d76483eb32f1bcb536dc27e4ad56bba4baa70be32fa87152832cdd9db0833"},
+ {file = "MarkupSafe-2.0.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:2ef54abee730b502252bcdf31b10dacb0a416229b72c18b19e24a4509f273d26"},
+ {file = "MarkupSafe-2.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3c112550557578c26af18a1ccc9e090bfe03832ae994343cfdacd287db6a6ae7"},
+ {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux1_i686.whl", hash = "sha256:53edb4da6925ad13c07b6d26c2a852bd81e364f95301c66e930ab2aef5b5ddd8"},
+ {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:f5653a225f31e113b152e56f154ccbe59eeb1c7487b39b9d9f9cdb58e6c79dc5"},
+ {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:4efca8f86c54b22348a5467704e3fec767b2db12fc39c6d963168ab1d3fc9135"},
+ {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:ab3ef638ace319fa26553db0624c4699e31a28bb2a835c5faca8f8acf6a5a902"},
+ {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:f8ba0e8349a38d3001fae7eadded3f6606f0da5d748ee53cc1dab1d6527b9509"},
+ {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c47adbc92fc1bb2b3274c4b3a43ae0e4573d9fbff4f54cd484555edbf030baf1"},
+ {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:37205cac2a79194e3750b0af2a5720d95f786a55ce7df90c3af697bfa100eaac"},
+ {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:1f2ade76b9903f39aa442b4aadd2177decb66525062db244b35d71d0ee8599b6"},
+ {file = "MarkupSafe-2.0.1-cp39-cp39-win32.whl", hash = "sha256:10f82115e21dc0dfec9ab5c0223652f7197feb168c940f3ef61563fc2d6beb74"},
+ {file = "MarkupSafe-2.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:693ce3f9e70a6cf7d2fb9e6c9d8b204b6b39897a2c4a1aa65728d5ac97dcc1d8"},
+ {file = "MarkupSafe-2.0.1.tar.gz", hash = "sha256:594c67807fb16238b30c44bdf74f36c02cdf22d1c8cda91ef8a0ed8dabf5620a"},
]
packaging = [
{file = "packaging-20.9-py2.py3-none-any.whl", hash = "sha256:67714da7f7bc052e064859c05c595155bd1ee9f69f76557e21f051443c20947a"},
@@ -638,37 +722,29 @@ py = [
{file = "py-1.10.0-py2.py3-none-any.whl", hash = "sha256:3b80836aa6d1feeaa108e046da6423ab8f6ceda6468545ae8d02d9d58d18818a"},
{file = "py-1.10.0.tar.gz", hash = "sha256:21b81bda15b66ef5e1a777a21c4dcd9c20ad3efd0b3f817e7a809035269e1bd3"},
]
-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"},
+pycparser = [
+ {file = "pycparser-2.20-py2.py3-none-any.whl", hash = "sha256:7582ad22678f0fcd81102833f60ef8d0e57288b6b5fb00323d101be910e35705"},
+ {file = "pycparser-2.20.tar.gz", hash = "sha256:2d475327684562c3a96cc71adf7dc8c4f0565175cf86b6d7a404ff4c771f15f0"},
+]
+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"},
+ {file = "PyNaCl-1.4.0-cp27-cp27m-win32.whl", hash = "sha256:2fe0fc5a2480361dcaf4e6e7cea00e078fcda07ba45f811b167e3f99e8cff574"},
+ {file = "PyNaCl-1.4.0-cp27-cp27m-win_amd64.whl", hash = "sha256:f8851ab9041756003119368c1e6cd0b9c631f46d686b3904b18c0139f4419f80"},
+ {file = "PyNaCl-1.4.0-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:7757ae33dae81c300487591c68790dfb5145c7d03324000433d9a2c141f82af7"},
+ {file = "PyNaCl-1.4.0-cp35-abi3-macosx_10_10_x86_64.whl", hash = "sha256:757250ddb3bff1eecd7e41e65f7f833a8405fede0194319f87899690624f2122"},
+ {file = "PyNaCl-1.4.0-cp35-abi3-manylinux1_x86_64.whl", hash = "sha256:30f9b96db44e09b3304f9ea95079b1b7316b2b4f3744fe3aaecccd95d547063d"},
+ {file = "PyNaCl-1.4.0-cp35-abi3-win32.whl", hash = "sha256:4e10569f8cbed81cb7526ae137049759d2a8d57726d52c1a000a3ce366779634"},
+ {file = "PyNaCl-1.4.0-cp35-abi3-win_amd64.whl", hash = "sha256:c914f78da4953b33d4685e3cdc7ce63401247a21425c16a39760e282075ac4a6"},
+ {file = "PyNaCl-1.4.0-cp35-cp35m-win32.whl", hash = "sha256:06cbb4d9b2c4bd3c8dc0d267416aaed79906e7b33f114ddbf0911969794b1cc4"},
+ {file = "PyNaCl-1.4.0-cp35-cp35m-win_amd64.whl", hash = "sha256:511d269ee845037b95c9781aa702f90ccc36036f95d0f31373a6a79bd8242e25"},
+ {file = "PyNaCl-1.4.0-cp36-cp36m-win32.whl", hash = "sha256:11335f09060af52c97137d4ac54285bcb7df0cef29014a1a4efe64ac065434c4"},
+ {file = "PyNaCl-1.4.0-cp36-cp36m-win_amd64.whl", hash = "sha256:cd401ccbc2a249a47a3a1724c2918fcd04be1f7b54eb2a5a71ff915db0ac51c6"},
+ {file = "PyNaCl-1.4.0-cp37-cp37m-win32.whl", hash = "sha256:8122ba5f2a2169ca5da936b2e5a511740ffb73979381b4229d9188f6dcb22f1f"},
+ {file = "PyNaCl-1.4.0-cp37-cp37m-win_amd64.whl", hash = "sha256:537a7ccbea22905a0ab36ea58577b39d1fa9b1884869d173b5cf111f006f689f"},
+ {file = "PyNaCl-1.4.0-cp38-cp38-win32.whl", hash = "sha256:9c4a7ea4fb81536c1b1f5cc44d54a296f96ae78c1ebd2311bd0b60be45a48d96"},
+ {file = "PyNaCl-1.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:7c6092102219f59ff29788860ccb021e80fffd953920c4a8653889c029b2d420"},
+ {file = "PyNaCl-1.4.0.tar.gz", hash = "sha256:54e9a2c849c742006516ad56a88f5c74bf2ce92c9f67435187c3c5953b346505"},
]
pyparsing = [
{file = "pyparsing-2.4.7-py2.py3-none-any.whl", hash = "sha256:ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb1240a85b024efc88b"},
@@ -699,9 +775,7 @@ six = [
{file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"},
{file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"},
]
-stem = [
- {file = "stem-1.8.0.tar.gz", hash = "sha256:a0b48ea6224e95f22aa34c0bc3415f0eb4667ddeae3dfb5e32a6920c185568c2"},
-]
+stem = []
toml = [
{file = "toml-0.10.2-py2.py3-none-any.whl", hash = "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b"},
{file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"},
@@ -716,8 +790,8 @@ unidecode = [
{file = "Unidecode-1.2.0.tar.gz", hash = "sha256:8d73a97d387a956922344f6b74243c2c6771594659778744b2dbdaad8f6b727d"},
]
urllib3 = [
- {file = "urllib3-1.26.4-py2.py3-none-any.whl", hash = "sha256:2f4da4594db7e1e110a944bb1b551fdf4e6c136ad42e4234131391e21eb5b0df"},
- {file = "urllib3-1.26.4.tar.gz", hash = "sha256:e7b021f7241115872f92f43c6508082facffbd1c048e3c6e2bb9c2a157e28937"},
+ {file = "urllib3-1.26.5-py2.py3-none-any.whl", hash = "sha256:753a0374df26658f99d826cfe40394a686d05985786d946fbe4165b5148f5a7c"},
+ {file = "urllib3-1.26.5.tar.gz", hash = "sha256:a7acd0977125325f516bda9735fa7142b909a8d01e8b2e4c8108d0984e6e0098"},
]
werkzeug = [
{file = "Werkzeug-1.0.1-py2.py3-none-any.whl", hash = "sha256:2de2a5db0baeae7b2d2664949077c2ac63fbd16d98da0ff71837f7d1dea3fd43"},
diff --git a/cli/pyproject.toml b/cli/pyproject.toml
index b113e147..e0c0f55f 100644
--- a/cli/pyproject.toml
+++ b/cli/pyproject.toml
@@ -1,6 +1,6 @@
[tool.poetry]
name = "onionshare_cli"
-version = "2.3.2"
+version = "2.3.3"
description = "OnionShare lets you securely and anonymously send and receive files. It works by starting a web server, making it accessible as a Tor onion service, and generating an unguessable web address so others can download files from you, or upload files to you. It does _not_ require setting up a separate server or using a third party file-sharing service."
authors = ["Micah Lee <micah@micahflee.com>"]
license = "GPLv3+"
@@ -18,19 +18,18 @@ classifiers = [
[tool.poetry.dependencies]
python = "^3.6"
click = "*"
-flask = "^1.1.4"
-flask-httpauth = "*"
+flask = "1.1.4"
flask-socketio = "5.0.1"
psutil = "*"
-pycryptodome = "*"
pysocks = "*"
-requests = {extras = ["socks"], version = "^2.25.1"}
-stem = "*"
+requests = {extras = ["socks"], version = "*"}
unidecode = "*"
urllib3 = "*"
eventlet = "*"
setuptools = "*"
-colorama = "^0.4.4"
+pynacl = "^1.4.0"
+colorama = "*"
+stem = {git = "https://github.com/onionshare/stem.git", rev = "1.8.1"}
[tool.poetry.dev-dependencies]
pytest = "*"
diff --git a/cli/setup.py b/cli/setup.py
index 9d9441b4..ce5e229f 100644
--- a/cli/setup.py
+++ b/cli/setup.py
@@ -20,7 +20,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
"""
import setuptools
-version = "2.3.2"
+version = "2.3.3"
setuptools.setup(
name="onionshare-cli",
diff --git a/cli/tests/test_cli_settings.py b/cli/tests/test_cli_settings.py
index 62f97267..4c012901 100644
--- a/cli/tests/test_cli_settings.py
+++ b/cli/tests/test_cli_settings.py
@@ -34,6 +34,7 @@ class TestSettings:
"tor_bridges_use_meek_lite_azure": False,
"tor_bridges_use_custom_bridges": "",
"persistent_tabs": [],
+ "theme":0
}
for key in settings_obj._settings:
# Skip locale, it will not always default to the same thing
diff --git a/cli/tests/test_cli_web.py b/cli/tests/test_cli_web.py
index f8c96f9c..f2b1af62 100644
--- a/cli/tests/test_cli_web.py
+++ b/cli/tests/test_cli_web.py
@@ -48,7 +48,6 @@ def web_obj(temp_dir, common_obj, mode, num_files=0):
common_obj.settings = Settings(common_obj)
mode_settings = ModeSettings(common_obj)
web = Web(common_obj, False, mode_settings, mode)
- web.generate_password()
web.running = True
web.cleanup_filenames == []
@@ -75,23 +74,13 @@ class TestWeb:
web = web_obj(temp_dir, common_obj, "share", 3)
assert web.mode == "share"
with web.app.test_client() as c:
- # Load / without auth
+ # Load /
res = c.get("/")
res.get_data()
- assert res.status_code == 401
-
- # Load / with invalid auth
- res = c.get("/", headers=self._make_auth_headers("invalid"))
- res.get_data()
- assert res.status_code == 401
-
- # Load / with valid auth
- res = c.get("/", headers=self._make_auth_headers(web.password))
- res.get_data()
assert res.status_code == 200
# Download
- res = c.get("/download", headers=self._make_auth_headers(web.password))
+ res = c.get("/download")
res.get_data()
assert res.status_code == 200
assert (
@@ -107,7 +96,7 @@ class TestWeb:
with web.app.test_client() as c:
# Download the first time
- res = c.get("/download", headers=self._make_auth_headers(web.password))
+ res = c.get("/download")
res.get_data()
assert res.status_code == 200
assert (
@@ -127,7 +116,7 @@ class TestWeb:
with web.app.test_client() as c:
# Download the first time
- res = c.get("/download", headers=self._make_auth_headers(web.password))
+ res = c.get("/download")
res.get_data()
assert res.status_code == 200
assert (
@@ -141,18 +130,8 @@ class TestWeb:
assert web.mode == "receive"
with web.app.test_client() as c:
- # Load / without auth
- res = c.get("/")
- res.get_data()
- assert res.status_code == 401
-
- # Load / with invalid auth
- res = c.get("/", headers=self._make_auth_headers("invalid"))
- res.get_data()
- assert res.status_code == 401
-
# Load / with valid auth
- res = c.get("/", headers=self._make_auth_headers(web.password))
+ res = c.get("/",)
res.get_data()
assert res.status_code == 200
@@ -171,7 +150,7 @@ class TestWeb:
)
with web.app.test_client() as c:
- res = c.get("/", headers=self._make_auth_headers(web.password))
+ res = c.get("/")
res.get_data()
assert res.status_code == 200
@@ -180,7 +159,6 @@ class TestWeb:
buffered=True,
content_type="multipart/form-data",
data={"file[]": (BytesIO(b"THIS IS A TEST FILE"), "new_york.jpg")},
- headers=self._make_auth_headers(web.password),
)
res.get_data()
assert res.status_code == 200
@@ -202,7 +180,6 @@ class TestWeb:
buffered=True,
content_type="multipart/form-data",
data={"text": "you know just sending an anonymous message"},
- headers=self._make_auth_headers(web.password),
)
content = res.get_data()
assert res.status_code == 200
@@ -237,7 +214,6 @@ class TestWeb:
"file[]": (BytesIO(b"THIS IS A TEST FILE"), "new_york.jpg"),
"text": "you know just sending an anonymous message",
},
- headers=self._make_auth_headers(web.password),
)
content = res.get_data()
assert res.status_code == 200
@@ -270,7 +246,6 @@ class TestWeb:
buffered=True,
content_type="multipart/form-data",
data={"file[]": (BytesIO(b"THIS IS A TEST FILE"), "new_york.jpg")},
- headers=self._make_auth_headers(web.password),
)
content = res.get_data()
assert res.status_code == 200
@@ -303,7 +278,6 @@ class TestWeb:
buffered=True,
content_type="multipart/form-data",
data={},
- headers=self._make_auth_headers(web.password),
)
content = res.get_data()
assert res.status_code == 200
@@ -326,26 +300,6 @@ class TestWeb:
res.get_data()
assert res.status_code == 200
- def test_public_mode_off(self, temp_dir, common_obj):
- web = web_obj(temp_dir, common_obj, "receive")
- web.settings.set("general", "public", False)
-
- with web.app.test_client() as c:
- # Load / without auth
- res = c.get("/")
- res.get_data()
- assert res.status_code == 401
-
- # But static resources should work without auth
- res = c.get(f"{web.static_url_path}/css/style.css")
- res.get_data()
- assert res.status_code == 200
-
- # Load / with valid auth
- res = c.get("/", headers=self._make_auth_headers(web.password))
- res.get_data()
- assert res.status_code == 200
-
def test_cleanup(self, common_obj, temp_dir_1024, temp_file_1024):
web = web_obj(temp_dir_1024, common_obj, "share", 3)
@@ -356,12 +310,6 @@ class TestWeb:
assert os.path.exists(temp_dir_1024) is False
assert web.cleanup_filenames == []
- def _make_auth_headers(self, password):
- auth = base64.b64encode(b"onionshare:" + password.encode()).decode()
- h = Headers()
- h.add("Authorization", "Basic " + auth)
- return h
-
class TestZipWriterDefault:
@pytest.mark.parametrize(
@@ -450,8 +398,7 @@ def live_server(web):
proc.start()
url = "http://127.0.0.1:{}".format(port)
- auth = base64.b64encode(b"onionshare:" + web.password.encode()).decode()
- req = Request(url, headers={"Authorization": "Basic {}".format(auth)})
+ req = Request(url)
attempts = 20
while True:
@@ -509,7 +456,7 @@ class TestRangeRequests:
url = "/download"
with web.app.test_client() as client:
- resp = client.get(url, headers=self._make_auth_headers(web.password))
+ resp = client.get(url)
assert resp.headers["ETag"].startswith('"sha256:')
assert resp.headers["Accept-Ranges"] == "bytes"
assert resp.headers.get("Last-Modified") is not None
@@ -524,7 +471,7 @@ class TestRangeRequests:
contents = f.read()
with web.app.test_client() as client:
- resp = client.get(url, headers=self._make_auth_headers(web.password))
+ resp = client.get(url)
assert resp.status_code == 200
assert resp.data == contents
@@ -536,7 +483,7 @@ class TestRangeRequests:
contents = f.read()
with web.app.test_client() as client:
- headers = self._make_auth_headers(web.password)
+ headers = Headers()
headers.extend({"Range": "bytes=0-10"})
resp = client.get(url, headers=headers)
assert resp.status_code == 206
@@ -572,7 +519,7 @@ class TestRangeRequests:
contents = f.read()
with web.app.test_client() as client:
- headers = self._make_auth_headers(web.password)
+ headers = Headers()
resp = client.get(url, headers=headers)
assert resp.status_code == 200
@@ -587,7 +534,7 @@ class TestRangeRequests:
url = "/download"
with web.app.test_client() as client:
- headers = self._make_auth_headers(web.password)
+ headers = Headers()
resp = client.get(url, headers=headers)
assert resp.status_code == 200
last_mod = resp.headers["Last-Modified"]
@@ -602,7 +549,7 @@ class TestRangeRequests:
url = "/download"
with web.app.test_client() as client:
- headers = self._make_auth_headers(web.password)
+ headers = Headers()
resp = client.get(url, headers=headers)
assert resp.status_code == 200
@@ -621,11 +568,6 @@ class TestRangeRequests:
resp = client.get(url, headers=headers)
assert resp.status_code == 206
- def _make_auth_headers(self, password):
- auth = base64.b64encode(b"onionshare:" + password.encode()).decode()
- h = Headers()
- h.add("Authorization", "Basic " + auth)
- return h
@pytest.mark.skipif(sys.platform != "Linux", reason="requires Linux")
@check_unsupported("curl", ["--version"])
@@ -638,12 +580,9 @@ class TestRangeRequests:
with live_server(web) as url:
# Debugging help from `man curl`, on error 33
# 33 HTTP range error. The range "command" didn't work.
- auth_header = self._make_auth_headers(web.password)
subprocess.check_call(
[
"curl",
- "-H",
- str(auth_header).strip(),
"--output",
str(download),
"--continue-at",
@@ -663,12 +602,9 @@ class TestRangeRequests:
download.write("x" * 10)
with live_server(web) as url:
- auth_header = self._make_auth_headers(web.password)
subprocess.check_call(
[
"wget",
- "--header",
- str(auth_header).strip(),
"--continue",
"-O",
str(download),
diff --git a/desktop/README.md b/desktop/README.md
index 97d0fd30..4a59fe03 100644
--- a/desktop/README.md
+++ b/desktop/README.md
@@ -5,7 +5,7 @@
Start by getting the source code and changing to the `desktop` folder:
```sh
-git clone https://github.com/micahflee/onionshare.git
+git clone https://github.com/onionshare/onionshare.git
cd onionshare/desktop
```
@@ -15,6 +15,8 @@ cd onionshare/desktop
If you're using Linux, install `tor` and `obfs4proxy` from either the [official Debian repository](https://support.torproject.org/apt/tor-deb-repo/), or from your package manager.
+In Ubuntu 20.04 you also need the `libxcb-xinerama0` package installed.
+
#### macOS
Download and install Python 3.8.6 from https://www.python.org/downloads/release/python-386/. I downloaded `python-3.8.6-macosx10.9.pkg`. (You may need to also run `/Applications/Python\ 3.8/Install\ Certificates.command`.)
diff --git a/desktop/pyproject.toml b/desktop/pyproject.toml
index 3b31a1bd..fdb820b4 100644
--- a/desktop/pyproject.toml
+++ b/desktop/pyproject.toml
@@ -1,7 +1,7 @@
[tool.briefcase]
project_name = "OnionShare"
bundle = "org.onionshare"
-version = "2.3.2.dev1"
+version = "2.3.3"
url = "https://onionshare.org"
license = "GPLv3"
author = 'Micah Lee'
@@ -13,7 +13,7 @@ description = "Securely and anonymously share files, host websites, and chat wit
icon = "src/onionshare/resources/onionshare"
sources = ['src/onionshare']
requires = [
- "./onionshare_cli-2.3.2-py3-none-any.whl",
+ "./onionshare_cli-2.3.3-py3-none-any.whl",
"pyside2==5.15.1",
"qrcode"
]
diff --git a/desktop/scripts/get-tor-osx.py b/desktop/scripts/get-tor-osx.py
index f53174b2..a62703c8 100755
--- a/desktop/scripts/get-tor-osx.py
+++ b/desktop/scripts/get-tor-osx.py
@@ -34,10 +34,10 @@ import requests
def main():
- dmg_url = "https://www.torproject.org/dist/torbrowser/10.0.16/TorBrowser-10.0.16-osx64_en-US.dmg"
- dmg_filename = "TorBrowser-10.0.16-osx64_en-US.dmg"
+ dmg_url = "https://dist.torproject.org/torbrowser/10.5.5/TorBrowser-10.5.5-osx64_en-US.dmg"
+ dmg_filename = "TorBrowser-10.0.18-osx64_en-US.dmg"
expected_dmg_sha256 = (
- "95bf37d642bd05e9ae4337c5ab9706990bbd98cc885e25ee8ae81b07c7653f0a"
+ "f93d2174c58309d1d563deb3616fc3aec689b6eb0af4d70661b1695c26fc2af7"
)
# Build paths
diff --git a/desktop/scripts/get-tor-windows.py b/desktop/scripts/get-tor-windows.py
index 84a3a205..92dfb540 100644
--- a/desktop/scripts/get-tor-windows.py
+++ b/desktop/scripts/get-tor-windows.py
@@ -33,10 +33,10 @@ import requests
def main():
- exe_url = "https://www.torproject.org/dist/torbrowser/10.0.16/torbrowser-install-10.0.16_en-US.exe"
- exe_filename = "torbrowser-install-10.0.16_en-US.exe"
+ exe_url = "https://dist.torproject.org/torbrowser/10.5.5/torbrowser-install-10.5.5_en-US.exe"
+ exe_filename = "torbrowser-install-10.5.5_en-US.exe"
expected_exe_sha256 = (
- "1f93d756b4aee1b2df7d85c8d58b626b0d38d89c974c0a02f324ff51f5b23ee1"
+ "5a0248f6be61e94467fd6f951eb85d653138dea5a8793de42c6edad1507f1ae7"
)
# Build paths
root_path = os.path.dirname(
diff --git a/desktop/src/onionshare/__init__.py b/desktop/src/onionshare/__init__.py
index 8276dae4..9d8d8981 100644
--- a/desktop/src/onionshare/__init__.py
+++ b/desktop/src/onionshare/__init__.py
@@ -28,7 +28,11 @@ import psutil
import getpass
from PySide2 import QtCore, QtWidgets, QtGui
+from PySide2.QtCore import Slot,Qt
+from PySide2.QtGui import QPalette, QColor
+
from onionshare_cli.common import Common
+from onionshare_cli.settings import Settings
from .gui_common import GuiCommon
from .widgets import Alert
@@ -47,7 +51,12 @@ class Application(QtWidgets.QApplication):
QtWidgets.QApplication.__init__(self, sys.argv)
# Check color mode on starting the app
- self.color_mode = self.get_color_mode()
+ self.color_mode = self.get_color_mode(common)
+
+ # Enable Dark Theme
+ if self.color_mode == "dark":
+ self.setDarkMode()
+
self.installEventFilter(self)
def eventFilter(self, obj, event):
@@ -65,9 +74,36 @@ class Application(QtWidgets.QApplication):
return False
return True
- def get_color_mode(self):
- return "dark" if self.is_dark_mode() else "light"
-
+ def setDarkMode(self):
+ self.setStyle("Fusion")
+ dark_palette = QPalette()
+ dark_palette.setColor(QPalette.Window, QColor(53, 53, 53))
+ dark_palette.setColor(QPalette.WindowText, Qt.white)
+ dark_palette.setColor(QPalette.Base, QColor(25, 25, 25))
+ dark_palette.setColor(QPalette.AlternateBase, QColor(53, 53, 53))
+ dark_palette.setColor(QPalette.ToolTipBase, Qt.white)
+ dark_palette.setColor(QPalette.ToolTipText, Qt.white)
+ dark_palette.setColor(QPalette.Text, Qt.white)
+ dark_palette.setColor(QPalette.Button, QColor(53, 53, 53))
+ dark_palette.setColor(QPalette.ButtonText, Qt.white)
+ dark_palette.setColor(QPalette.BrightText, Qt.red)
+ dark_palette.setColor(QPalette.Link, QColor(42, 130, 218))
+ dark_palette.setColor(QPalette.Highlight, QColor(42, 130, 218))
+ dark_palette.setColor(QPalette.HighlightedText, Qt.black)
+ self.setPalette(dark_palette)
+ self.setStyleSheet("QToolTip { color: #ffffff; background-color: #2a82da; border: 1px solid white; }")
+
+ def get_color_mode(self, common):
+ curr_settings = Settings(common)
+ curr_settings.load()
+ current_theme = curr_settings.get("theme")
+
+ if current_theme == 1:
+ return "light"
+ elif current_theme == 2:
+ return "dark"
+ else:
+ return "dark" if self.is_dark_mode() else "light"
def main():
"""
diff --git a/desktop/src/onionshare/gui_common.py b/desktop/src/onionshare/gui_common.py
index 441aff25..182d63f2 100644
--- a/desktop/src/onionshare/gui_common.py
+++ b/desktop/src/onionshare/gui_common.py
@@ -87,6 +87,12 @@ class GuiCommon:
new_tab_button_background = "#ffffff"
new_tab_button_border = "#efeff0"
new_tab_button_text_color = "#4e0d4e"
+ downloads_uploads_progress_bar_border_color = "#4E064F"
+ downloads_uploads_progress_bar_chunk_color = "#4E064F"
+ share_zip_progess_bar_border_color = "#4E064F"
+ share_zip_progess_bar_chunk_color = "#4E064F"
+ history_background_color = "#ffffff"
+ history_label_color = "#000000"
if color_mode == "dark":
header_color = "#F2F2F2"
title_color = "#F2F2F2"
@@ -94,6 +100,9 @@ class GuiCommon:
new_tab_button_background = "#5F5F5F"
new_tab_button_border = "#878787"
new_tab_button_text_color = "#FFFFFF"
+ share_zip_progess_bar_border_color = "#F2F2F2"
+ history_background_color = "#191919"
+ history_label_color = "#ffffff"
return {
# OnionShareGui styles
@@ -193,9 +202,17 @@ class GuiCommon:
border: 0;
border-radius: 5px;
}""",
+ "downloads_uploads_not_empty": """
+ QWidget{
+ background-color: """
+ + history_background_color
+ +""";
+ }""",
"downloads_uploads_empty": """
QWidget {
- background-color: #ffffff;
+ background-color: """
+ + history_background_color
+ +""";
border: 1px solid #999999;
}
QWidget QLabel {
@@ -233,7 +250,7 @@ class GuiCommon:
"downloads_uploads_progress_bar": """
QProgressBar {
border: 1px solid """
- + header_color
+ + downloads_uploads_progress_bar_border_color
+ """;
background-color: #ffffff !important;
text-align: center;
@@ -242,10 +259,16 @@ class GuiCommon:
}
QProgressBar::chunk {
background-color: """
- + header_color
+ + downloads_uploads_progress_bar_chunk_color
+ """;
width: 10px;
}""",
+ "history_default_label" : """
+ QLabel {
+ color: """
+ + history_label_color
+ + """;
+ }""",
"history_individual_file_timestamp_label": """
QLabel {
color: #666666;
@@ -298,7 +321,7 @@ class GuiCommon:
"share_zip_progess_bar": """
QProgressBar {
border: 1px solid """
- + header_color
+ + share_zip_progess_bar_border_color
+ """;
background-color: #ffffff !important;
text-align: center;
@@ -307,7 +330,7 @@ class GuiCommon:
QProgressBar::chunk {
border: 0px;
background-color: """
- + header_color
+ + share_zip_progess_bar_chunk_color
+ """;
width: 10px;
}""",
diff --git a/desktop/src/onionshare/resources/locale/af.json b/desktop/src/onionshare/resources/locale/af.json
index c9e641f5..1e154ed3 100644
--- a/desktop/src/onionshare/resources/locale/af.json
+++ b/desktop/src/onionshare/resources/locale/af.json
@@ -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",
@@ -35,14 +32,12 @@
"gui_receive_quit_warning": "U is besig om lêers te ontvang. Is u seker u wil OnionShare afsluit?",
"gui_quit_warning_quit": "Sluit Af",
"gui_quit_warning_dont_quit": "Kanselleer",
- "error_rate_limit": "Iemand het te veel verkeerde raaiskote met u wagwoord probeer, daarom het OnionShare die bediener gestaak. Begin weer deel en stuur ’n nuwe adres aan die ontvanger.",
"zip_progress_bar_format": "Samepersing: %p%",
"error_stealth_not_supported": "U benodig ten minste Tor 0.2.6.1-alfa (of TorBrowser 6.5) en python3-stem 1.5.0 om kliënt-magtiging te gebruik.",
"error_ephemeral_not_supported": "OnionShare vereis ten minste Tor 0.2.7.1 en python3-stem 1.4.0.",
"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: {}",
@@ -114,7 +109,6 @@
"gui_autostop_timer_cant_be_earlier_than_autostart_timer": "Die outo-stoptyd kan nie dieselfde of vroeër as die outo-begintyd wees nie. Pas dit aan om te begin deel.",
"share_via_onionshare": "Deel d.m.v. OnionShare",
"gui_connect_to_tor_for_onion_settings": "Koppel aan Tor om uidiensinstellings te sien",
- "gui_use_legacy_v2_onions_checkbox": "Gebruik argaïese adresse",
"gui_save_private_key_checkbox": "Gebruik ’n blywende adres",
"gui_share_url_description": "<b>Enigeen</b> met hierdie OnionShare-adres kan u lêers d.m.v. die <b>Tor Browser aflaai</b>: <img src=\"{}\"/>",
"gui_website_url_description": "<b>Enigeen</b> met hierdie OnionShare-adres kan u webwerf d.m.v. die <b>Tor Browser besoek</b>: <img src='{}' />",
diff --git a/desktop/src/onionshare/resources/locale/am.json b/desktop/src/onionshare/resources/locale/am.json
index b787a617..9a93c31f 100644
--- a/desktop/src/onionshare/resources/locale/am.json
+++ b/desktop/src/onionshare/resources/locale/am.json
@@ -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": "",
@@ -63,14 +60,12 @@
"gui_receive_quit_warning": "",
"gui_quit_warning_quit": "",
"gui_quit_warning_dont_quit": "ተወው",
- "error_rate_limit": "",
"zip_progress_bar_format": "",
"error_stealth_not_supported": "",
"error_ephemeral_not_supported": "",
"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": "",
@@ -135,7 +130,6 @@
"gui_server_started_after_autostop_timer": "",
"gui_server_autostop_timer_expired": "",
"share_via_onionshare": "",
- "gui_use_legacy_v2_onions_checkbox": "",
"gui_save_private_key_checkbox": "",
"gui_share_url_description": "",
"gui_receive_url_description": "",
diff --git a/desktop/src/onionshare/resources/locale/ar.json b/desktop/src/onionshare/resources/locale/ar.json
index 0c0daeb5..83e88c28 100644
--- a/desktop/src/onionshare/resources/locale/ar.json
+++ b/desktop/src/onionshare/resources/locale/ar.json
@@ -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": "",
@@ -62,14 +59,12 @@
"gui_receive_quit_warning": "يجري حالبا تلقّي ملفات. أمتأكد أنك تريد إنهاء OnionShare؟",
"gui_quit_warning_quit": "أنهِ",
"gui_quit_warning_dont_quit": "ألغِ",
- "error_rate_limit": "أجرى شخص ما محاولات كثيرة خاطئة لتخمين كلمة السر، لذلك فقد تمّ إيقاف الخادم. عاوِد المُشاركة و أرسل إلى المتلقّي عنوان المشاركة الجديد.",
"zip_progress_bar_format": "جاري الضغط: %p%",
"error_stealth_not_supported": "لاستعمال استيثاق العميل تلزمك إصدارة تور ‪0.2.9.1-alpha‬ أو (متصفّح تور 6.5) و python3-stem الإصدارة 1.5.0، أو ما بعدها.",
"error_ephemeral_not_supported": "يتطلّب OnionShare كلّا من إصدارة تور 0.2.7.1 و الإصدارة 1.4.0 من python3-stem.",
"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": "تاريخ آخر تحقُق: {}",
@@ -134,7 +129,6 @@
"gui_server_started_after_autostop_timer": "بلغ مؤقِّت الإيقاف أجله قبل اشتغال الخادوم. أنشئ مشاركة جديدة.",
"gui_server_autostop_timer_expired": "انتهى وقت الايقاف التلقائي للمشاركة. من فضلك عدّله للبدء بالمشاركة.",
"share_via_onionshare": "شارك باستعمال OnionShare",
- "gui_use_legacy_v2_onions_checkbox": "استخدم صيغة العناوين التاريخية",
"gui_save_private_key_checkbox": "استخدم عنوانًا دائمًا",
"gui_share_url_description": "<b>أيّ شخص</b> لديه مسار OnionShare هذا سيكون بوسعه <b>تنزيل</b> تلك الملفات باستعمال <b>متصفّح تور</b>: <img src='{}' />",
"gui_receive_url_description": "<b>أيّ شخص</b> لديه مسار OnionShare هذا سيكون بوسعه <b>رفع</b> ملفات إلى حاسوبك باستعمال <b>متصفّح تور</b>: <img src='{}' />",
@@ -248,7 +242,6 @@
"mode_settings_receive_data_dir_browse_button": "تصفح",
"mode_settings_receive_data_dir_label": "حفظ الملفات إلى",
"mode_settings_share_autostop_sharing_checkbox": "إيقاف المشاركة بعد إرسال الملفات ( قم بإلغاء التحديد للسماح بتنزيل الملفات الفردية)",
- "mode_settings_client_auth_checkbox": "استخدم ترخيص العميل",
"mode_settings_legacy_checkbox": "استخدم عنوانًا قديمًا (النسخة الثانية من خدمة onion، لا ينصح بها)",
"mode_settings_autostop_timer_checkbox": "إيقاف خدمة Onion في ميعاد مجدول",
"mode_settings_autostart_timer_checkbox": "بدء خدمة Onion في ميعاد مجدول",
@@ -283,4 +276,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='{}' />"
-} \ No newline at end of file
+}
diff --git a/desktop/src/onionshare/resources/locale/bg.json b/desktop/src/onionshare/resources/locale/bg.json
index 9abe5623..76feab06 100644
--- a/desktop/src/onionshare/resources/locale/bg.json
+++ b/desktop/src/onionshare/resources/locale/bg.json
@@ -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% (изчисляване)",
@@ -63,14 +60,12 @@
"gui_receive_quit_warning": "Намирате се в процес на получаване на файлове. Сигурни ли сте, че искате да спрете OnionShare?",
"gui_quit_warning_quit": "Изход",
"gui_quit_warning_dont_quit": "Отказ",
- "error_rate_limit": "Някой е направил прекалено много грешни опити за адреса Ви, което означава, че може да се опитват да го отгатнат, така че OnionShare спря сървъра. Стартирайте споделянето отново и изпратете нов адрес на получателя за споделяне.",
"zip_progress_bar_format": "Компресира: %p%",
"error_stealth_not_supported": "За да използвате ауторизация на клиента Ви трябва поне Tor 0.2.9.1-alpha (или на браузъра 6.5) и python3-stem 1.5.0.",
"error_ephemeral_not_supported": "OnionShare изисква поне Tor 0.2.7.1 и python3-stem 1.4.0.",
"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": "Последна проверка: {}",
@@ -135,7 +130,6 @@
"gui_server_started_after_autostop_timer": "Автоматично спиращият таймер спря преди сървърът да стартира.\nМоля направете нов дял.",
"gui_server_autostop_timer_expired": "Автоматично спиращият таймер спря.\nМоля актуализирайте за да започнете споделяне.",
"share_via_onionshare": "Споделете го чрез OnionShare",
- "gui_use_legacy_v2_onions_checkbox": "Използвайте стари адреси",
"gui_save_private_key_checkbox": "Използвайте постоянни адреси (стари)",
"gui_share_url_description": "<b>Всеки</b> с този OnionShare адрес може да <b>свали</b> Вашите файлове използвайки <b>Тор браузера</b>: <img src='{}' />",
"gui_receive_url_description": "<b>Всеки</b> с този OnionShare адрес може да <b>качи</b> файлове на Вашия компютър, използвайки <b>Тор браузера</b>: <img src='{}' />",
diff --git a/desktop/src/onionshare/resources/locale/bn.json b/desktop/src/onionshare/resources/locale/bn.json
index 519ed878..0f87ef3f 100644
--- a/desktop/src/onionshare/resources/locale/bn.json
+++ b/desktop/src/onionshare/resources/locale/bn.json
@@ -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": "",
@@ -63,7 +60,6 @@
"gui_receive_quit_warning": "আপনি ফাইল গ্রহণের প্রক্রিয়ার মধ্যে আছেন। আপনি কি আসলেই OnionShare বন্ধ করতে চান?",
"gui_quit_warning_quit": "প্রস্থান করো",
"gui_quit_warning_dont_quit": "বাতিল",
- "error_rate_limit": "কেউ একজন অসংখ্যবার তোমার পাসওয়ার্ডটি অনুমান করার ব্যর্থ চেষ্টা করেছে, তাই OnionShare নিরাপত্তার জন্য সার্ভার বন্ধ করে দিয়েছে। তাই, নতুন করে আবার তোমার ফাইল(গুলো)শেয়ার করো এবং প্রাপককে নতুন এড্রেসটি দিন।",
"zip_progress_bar_format": "কমপ্রেস করছি: %p%",
"error_stealth_not_supported": "ক্লায়েন্ট অথোরাইজেশন ব্যবহার করার জন্য, তোমার অন্তত Tor 0.2.9.1-alpha (or Tor Browser 6.5) এবং python3-stem 1.5.0 দুটোই থাকতে হবে।",
"error_ephemeral_not_supported": "OnionShare ব্যবহার করার জন্য Tor 0.2.9.1-alpha (or Tor Browser 6.5) এবং python3-stem 1.5.0 দুটোই থাকতে হবে।",
@@ -135,7 +131,6 @@
"gui_server_started_after_autostop_timer": "সার্ভার শুরু হওয়ার আগেই স্বয়ংক্রিয়-বন্ধ ঘড়ির সময় শেষ হয়ে গেছে। অনুগ্রহ করে আবার নতুনভাবে শেয়ার করো।",
"gui_server_autostop_timer_expired": "অটো-স্টপ টাইমারের সময় ইতিমধ্যেই শেষ হয়ে গিয়েছে। দয়া করে, শেয়ারিং শুরু করতে নতুনভাবে সময় সেট করো।",
"share_via_onionshare": "OnionShare এর মাধমে শেয়ার করো",
- "gui_use_legacy_v2_onions_checkbox": "লেগাসি ঠিকানা ব্যবহার করো",
"gui_save_private_key_checkbox": "একটি স্থায়ী ঠিকানা ব্যবহার করো",
"gui_share_url_description": "যার কাছেই এই ঠিকানা থাকবে সে ই <b>টর ব্রাউজার</b> ব্যবহার করে এই OnionShare ঠিকানায় গিয়ে <b>যে কেউ</b> আপনার ফাইল(গুলি) <b>ডাউনলোড</b> করতে পারবে:<img src='{}' />",
"gui_receive_url_description": "যার কাছেই এই ঠিকানা থাকবে সে ই <b>টর ব্রাউজার</b> ব্যবহার করে এই OnionShare ঠিকানায় গিয়ে <b>যে কেউ</b> আপনার কম্পিউটারে ফাইল <b>আপলোড</b> করতে পারবে:<img src='{}' />",
@@ -243,7 +238,6 @@
"gui_new_tab_receive_description": "তোমার কম্পিউটারকে একটি অনলাইন ড্রপবক্স বানাও। অন্যরা টর ব্রাউজার ব্যবহার করে তোমার কম্পিউটারে ফাইল পাঠাতে পারবে।",
"gui_new_tab_share_description": "অন্য কাউকে পাঠাতে তোমার কম্পিউটারের ফাইল নির্বাচন করো. তুমি যাকে বা যাদের কাছে ফাইল পাঠাতে চাও তাকে বা তাদেরকে তোমার কাছ থেকে ফাইল ডাউনলোড করতে টর ব্রাউজার ব্যবহার করতে হবে।",
"mode_settings_share_autostop_sharing_checkbox": "ফাইল পাঠানোর পর শেয়ার করা বন্ধ করো (স্বতন্ত্র ফাইল ডাউনলোড এর মঞ্জুরি দিতে টিক চিহ্ন তুলে দাও)",
- "mode_settings_client_auth_checkbox": "ক্লায়েন্ট অথোরাইজেশন ব্যবহার করো",
"mode_settings_autostop_timer_checkbox": "নির্ধারিত সময়ে অনিওন সেবা বন্ধ করো",
"mode_settings_autostart_timer_checkbox": "নির্ধারিত সময়ে অনিওন সেবা শুরু করো",
"mode_settings_persistent_checkbox": "এই ট্যাব সংরক্ষণ করো, এবং যখন আমি অনিওনশেয়ার খুলব তখন এটি স্বয়ংক্রিয়ভাবে খুলো",
diff --git a/desktop/src/onionshare/resources/locale/ca.json b/desktop/src/onionshare/resources/locale/ca.json
index 0015a5ba..6eb57f3b 100644
--- a/desktop/src/onionshare/resources/locale/ca.json
+++ b/desktop/src/onionshare/resources/locale/ca.json
@@ -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)",
@@ -62,14 +59,12 @@
"gui_receive_quit_warning": "Encara s'estan rebent fitxers. Segur que voleu sortir de l'OnionShare?",
"gui_quit_warning_quit": "Surt",
"gui_quit_warning_dont_quit": "Cancel·la",
- "error_rate_limit": "Algú ha fet massa intents incorrectes intentant endevinar la vostra contrasenya. Per això l'OnionShare ha aturat el servidor. Torneu a començar el procés i envieu una adreça nova al receptor.",
"zip_progress_bar_format": "S'està comprimint: %p%",
"error_stealth_not_supported": "Per a fer servir l'autorització de client, necessiteu versions iguals o superiors a Tor 0.2.9.1-alpha (o Tor Browser 6.5) i python3-stem 1.5.0.",
"error_ephemeral_not_supported": "OnionShare necessita almenys les versions Tor 0.2.7.1 i python3-stem 1.4.0.",
"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ó: {}",
@@ -134,7 +129,6 @@
"gui_server_started_after_autostop_timer": "El temporitzador de finalització automàtica ha acabat abans que s'iniciés el servidor. Torneu a compartir-ho.",
"gui_server_autostop_timer_expired": "El temporitzador de finalització automàtica ja s'ha acabat. Ajusteu-lo per a poder compartir.",
"share_via_onionshare": "Comparteix-ho amb l'OnionShare",
- "gui_use_legacy_v2_onions_checkbox": "Fes servir adreces amb un format antic",
"gui_save_private_key_checkbox": "Fes servir una adreça persistent",
"gui_share_url_description": "<b>Qualsevol persona</b> amb aquesta adreça d'OnionShare pot <b>baixar</b> els vostres fitxers fent servir el <b>Navegador Tor</b>: <img src='{}' />",
"gui_receive_url_description": "<b>Qualsevol persona</b> amb aquesta adreça d'OnionShare pot <b>pujar</b> fitxers al vostre ordinador fent servir el <b>Navegador Tor</b>: <img src='{}' />",
@@ -227,7 +221,6 @@
"hours_first_letter": "h",
"minutes_first_letter": "min",
"seconds_first_letter": "s",
- "invalid_password_guess": "Intent de contrasenya incorrecte",
"gui_website_url_description": "<b>Qualsevol persona</b> amb aquesta adreça d'OnionShare pot <b>visitar</b> el vostre lloc web fent servir el <b>Navegador Tor</b>: <img src='{}' />",
"gui_mode_website_button": "Publica el lloc web",
"systray_site_loaded_title": "S'ha carregat el lloc web",
@@ -250,7 +243,6 @@
"mode_settings_receive_data_dir_browse_button": "Navega",
"mode_settings_receive_data_dir_label": "Desa els fitxers a",
"mode_settings_share_autostop_sharing_checkbox": "Atura la compartició després que s'hagin enviat els fitxers (desmarqueu-ho per a permetre baixar fitxers individuals)",
- "mode_settings_client_auth_checkbox": "Usa autorització del client",
"mode_settings_legacy_checkbox": "Usa una adreça antiga (servei ceba v2, no recomanat)",
"mode_settings_autostop_timer_checkbox": "Atura el servei ceba a una hora programada",
"mode_settings_autostart_timer_checkbox": "Inicia el servei ceba a una hora programada",
diff --git a/desktop/src/onionshare/resources/locale/ckb.json b/desktop/src/onionshare/resources/locale/ckb.json
index 43f84d3f..8289918c 100644
--- a/desktop/src/onionshare/resources/locale/ckb.json
+++ b/desktop/src/onionshare/resources/locale/ckb.json
@@ -24,17 +24,13 @@
"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.",
"gui_please_wait": "Destpê dike...Bitikîne ji bo betal bike.",
- "error_rate_limit": "Kesekî ji bo texmîn kirna şîfre gelek hewldanên nerast pêk anî, ji ber wê OnionShare weşan betal kir. Weşan ji nû ve destpê bike û malpera parvekirinê ji nû ve ji bo pêwendiyê xwe re bişîne.",
"zip_progress_bar_format": "Dewisandin %p%",
"gui_settings_window_title": "Ayar",
"gui_settings_autoupdate_label": "Ji bo versyonekî nû kontrol bike",
@@ -168,7 +164,6 @@
"mode_settings_autostart_timer_checkbox": "Servîsa onion di wextekî ayarkirî despê bike",
"mode_settings_autostop_timer_checkbox": "Servîsa onion di wextekî ayarkirî biseknîne",
"mode_settings_legacy_checkbox": "Malperekî kêrhatî bişxulîne(servîsa onion v2 nayê pêsniyar kirin)",
- "mode_settings_client_auth_checkbox": "Rastbûyîna muşterî kontrol bike",
"mode_settings_share_autostop_sharing_checkbox": "Parvekirin piştî name haitn şandin biseknîne (Ji bo destûra berjêrkirina nameyên yekane tikandin derbixe)",
"mode_settings_receive_data_dir_label": "Nameyan li qeyd bike",
"mode_settings_receive_data_dir_browse_button": "Bigere",
diff --git a/desktop/src/onionshare/resources/locale/cs.json b/desktop/src/onionshare/resources/locale/cs.json
index d5c7511a..fbe9846a 100644
--- a/desktop/src/onionshare/resources/locale/cs.json
+++ b/desktop/src/onionshare/resources/locale/cs.json
@@ -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)",
@@ -33,7 +31,6 @@
"gui_share_quit_warning": "Jste si jistí, že chcete odejít? URL, kterou sdílíte poté nebude existovat.",
"gui_quit_warning_quit": "Zavřít",
"gui_quit_warning_dont_quit": "Zůstat",
- "error_rate_limit": "Útočník možná zkouší uhodnout vaši URL. Abychom tomu předešli, OnionShare automaticky zastavil server. Pro sdílení souborů ho musíte spustit znovu a sdílet novou URL.",
"zip_progress_bar_format": "Zpracovávám soubory: %p%",
"error_stealth_not_supported": "K autorizaci klienta potřebujete alespoň Tor 0.2.9.1-alpha (or Tor Browser 6.5) a python3-stem 1.5.0.",
"error_ephemeral_not_supported": "OnionShare vyžaduje nejméně Tor 0.2.7.1 a nejméně python3-stem 1.4.0.",
@@ -78,11 +75,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 {}",
diff --git a/desktop/src/onionshare/resources/locale/da.json b/desktop/src/onionshare/resources/locale/da.json
index 383b3d33..d24f70e7 100644
--- a/desktop/src/onionshare/resources/locale/da.json
+++ b/desktop/src/onionshare/resources/locale/da.json
@@ -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)",
@@ -46,13 +44,11 @@
"gui_share_quit_warning": "Du er ved at afsende filer. Er du sikker på, at du vil afslutte OnionShare?",
"gui_quit_warning_quit": "Afslut",
"gui_quit_warning_dont_quit": "Annuller",
- "error_rate_limit": "Nogen har forsøgt at gætte din adgangskode for mange gange, så OnionShare har stoppet serveren. Begynd at dele igen og send en ny adresse til modtageren for at dele.",
"zip_progress_bar_format": "Komprimerer: %p%",
"error_stealth_not_supported": "For at bruge klientautentifikation skal du have mindst Tor 0.2.9.1-alpha (eller Tor Browser 6.5) og python3-stem 1.5.0.",
"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 +109,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)",
@@ -145,7 +140,6 @@
"gui_no_downloads": "Ingen downloads endnu",
"error_tor_protocol_error_unknown": "Der opstod en ukendt fejl med Tor",
"error_invalid_private_key": "Den private nøgletype understøttes ikke",
- "gui_use_legacy_v2_onions_checkbox": "Brug udgåede adresser",
"gui_status_indicator_share_stopped": "Klar til at dele",
"gui_status_indicator_share_working": "Starter …",
"gui_status_indicator_share_started": "Deler",
@@ -230,7 +224,6 @@
"hours_first_letter": "t",
"minutes_first_letter": "m",
"seconds_first_letter": "s",
- "invalid_password_guess": "Ugyldigt adgangskodegæt",
"gui_website_url_description": "<b>Alle</b> med OnionShare-adressen kan <b>besøge</b> dit websted med <b>Tor Browser</b>: <img src='{}' />",
"gui_mode_website_button": "Udgiv websted",
"gui_website_mode_no_files": "Der er endnu ikke delt noget websted",
@@ -244,7 +237,6 @@
"gui_new_tab_receive_description": "Brug din computer som en online-dropbox. Andre vil kunne bruge Tor Browser til at sende filer til din computer.",
"mode_settings_share_autostop_sharing_checkbox": "Stop deling efter filerne er blevet sendt (fravælg for at gøre det muligt at downloade individuelle filer)",
"mode_settings_legacy_checkbox": "Brug en udgået adresse (v2 oniontjeneste, anbefales ikke)",
- "mode_settings_client_auth_checkbox": "Brug klientautentifikation",
"mode_settings_autostop_timer_checkbox": "Stop oniontjeneste på det planlagte tidspunkt",
"mode_settings_autostart_timer_checkbox": "Start oniontjeneste på det planlagte tidspunkt",
"mode_settings_persistent_checkbox": "Gem fanebladet og åbn det automatisk når jeg åbner OnionShare",
@@ -291,5 +283,15 @@
"gui_chat_url_description": "<b>Alle</b> med denne OnionShare-adresse kan <b>deltage i chatrummet</b> med <b>Tor Browser</b>: <img src='{}' />",
"error_port_not_available": "OnionShare-port ikke tilgængelig",
"gui_rendezvous_cleanup": "Venter på at Tor-kredsløb lukker for at være sikker på, at det lykkedes at overføre dine filer.\n\nDet kan tage noget tid.",
- "gui_rendezvous_cleanup_quit_early": "Afslut tidligt"
+ "gui_rendezvous_cleanup_quit_early": "Afslut tidligt",
+ "history_receive_read_message_button": "Læs meddelelse",
+ "mode_settings_receive_webhook_url_checkbox": "Brug underretningswebhook",
+ "mode_settings_receive_disable_files_checkbox": "Deaktivér upload af filer",
+ "mode_settings_receive_disable_text_checkbox": "Deaktivér indsendelse af tekst",
+ "mode_settings_title_label": "Tilpasset titel",
+ "gui_color_mode_changed_notice": "Genstart OnionShare for at anvende den nye farvetilstand.",
+ "gui_status_indicator_chat_started": "Chatter",
+ "gui_status_indicator_chat_scheduled": "Planlagt …",
+ "gui_status_indicator_chat_working": "Starter …",
+ "gui_status_indicator_chat_stopped": "Klar til at chatte"
}
diff --git a/desktop/src/onionshare/resources/locale/de.json b/desktop/src/onionshare/resources/locale/de.json
index 4f04dd5b..518a7113 100644
--- a/desktop/src/onionshare/resources/locale/de.json
+++ b/desktop/src/onionshare/resources/locale/de.json
@@ -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%",
@@ -91,7 +88,6 @@
"gui_quit_title": "Nicht so schnell",
"gui_share_quit_warning": "Du versendest gerade Dateien. Bist du sicher, dass du OnionShare beenden willst?",
"gui_receive_quit_warning": "Du empfängst gerade Dateien. Bist du sicher, dass du OnionShare beenden willst?",
- "error_rate_limit": "Jemand hat zu viele falsche Versuche gemacht, dein Passwort zu erraten, deswegen hat OnionShare die Freigabe gestoppt. Starte die Freigabe erneut und sende dem Empfänger eine neue OnionShare-Adresse.",
"zip_progress_bar_format": "Komprimiere: %p%",
"error_stealth_not_supported": "Um die Client-Authorisierung zu nutzen, benötigst du mindestens Tor 0.2.9.1-alpha (oder Tor Browser 6.5) und python3-stem 1.5.0.",
"error_ephemeral_not_supported": "OnionShare benötigt mindestens sowohl Tor 0.2.7.1 als auch python3-stem 1.4.0.",
@@ -128,7 +124,6 @@
"gui_tor_connection_error_settings": "Versuche in den Einstellungen zu ändern, wie sich OnionShare mit dem Tor-Netzwerk verbindet.",
"gui_tor_connection_canceled": "Konnte keine Verbindung zu Tor herstellen.\n\nStelle sicher, dass du mit dem Internet verbunden bist, öffne OnionShare erneut und richte die Verbindung zu Tor ein.",
"share_via_onionshare": "Teilen über OnionShare",
- "gui_use_legacy_v2_onions_checkbox": "Nutze das alte Adressformat",
"gui_save_private_key_checkbox": "Nutze eine gleichbleibende Adresse",
"gui_share_url_description": "<b>Jeder</b> mit dieser OnionShare-Adresse kann deine Dateien mit dem <b>Tor Browser</b> <b>herunterladen</b>: <img src='{}' />",
"gui_receive_url_description": "<b>Jeder</b> mit dieser OnionShare-Adresse kann mit dem <b>Tor Browser</b> Dateien auf deinen Computer <b>hochladen</b>: <img src='{}' />",
@@ -171,7 +166,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.",
@@ -227,7 +221,6 @@
"hours_first_letter": "h",
"minutes_first_letter": "m",
"seconds_first_letter": "s",
- "invalid_password_guess": "Ungültige Passwortratschläge",
"gui_website_url_description": "<b>Jeder</b> mit dieser OnionShare-Adresse kann deine Webseite mit dem <b>Tor Browser</b> <b>ansehen</b>: <img src='{}' />",
"gui_mode_website_button": "Webseite veröffentlichen",
"systray_site_loaded_title": "Webseite geladen",
@@ -245,7 +238,6 @@
"mode_settings_website_disable_csp_checkbox": "Content-Security-Policy-Header deaktivieren (ermöglicht es, Ressourcen von Drittanbietern auf deiner Onion-Webseite einzubinden)",
"mode_settings_receive_data_dir_browse_button": "Durchsuchen",
"mode_settings_receive_data_dir_label": "Dateien speichern unter",
- "mode_settings_client_auth_checkbox": "Benutze Client-Authorisierung",
"mode_settings_legacy_checkbox": "Benutze ein veraltetes Adressformat (Onion-Dienste-Adressformat v2, nicht empfohlen)",
"mode_settings_autostop_timer_checkbox": "Onion-Dienst zu einem festgelegten Zeitpunkt stoppen",
"mode_settings_autostart_timer_checkbox": "Onion-Dienst zu einem festgelegten Zeitpunkt starten",
@@ -305,4 +297,4 @@
"gui_status_indicator_chat_scheduled": "Geplant…",
"gui_status_indicator_chat_working": "Startet…",
"gui_status_indicator_chat_stopped": "Bereit zum Chatten"
-} \ No newline at end of file
+}
diff --git a/desktop/src/onionshare/resources/locale/el.json b/desktop/src/onionshare/resources/locale/el.json
index 173982a4..25649b4b 100644
--- a/desktop/src/onionshare/resources/locale/el.json
+++ b/desktop/src/onionshare/resources/locale/el.json
@@ -62,7 +62,6 @@
"gui_receive_quit_warning": "Αυτή τη στιγμή παραλαμβάνονται αρχείων. Είστε σίγουρος/η πώς θέλετε να κλείσετε το OnionShare;",
"gui_quit_warning_quit": "Έξοδος",
"gui_quit_warning_dont_quit": "Ακύρωση",
- "error_rate_limit": "Κάποιος/α προσπάθησε να μαντέψει τον κωδικό σας πολλές φορές. Για αυτό, το OnionShare τερματίστηκε αυτόματα. Πρέπει να ξεκινήσετε πάλι τον διαμοιρασμό και να στείλετε στον/ην παραλήπτη/τρια μια νέα διεύθυνση για να διαμοιραστούν αρχεία και μηνύματα μαζί σας.",
"zip_progress_bar_format": "Γίνεται συμπίεση: %p%",
"error_stealth_not_supported": "Για τη χρήση εξουσιοδότησης πελάτη, χρειάζεστε τουλάχιστον το Tor 0.2.9.1-alpha (ή τον Tor Browser 6.5) και το python3-stem 1.5.0.",
"error_ephemeral_not_supported": "Το OnionShare απαιτεί τουλάχιστον το Tor 0.2.7.1 και το python3-stem 1.4.0.",
@@ -134,7 +133,6 @@
"gui_server_started_after_autostop_timer": "Το χρονόμετρο αυτόματης διακοπής τελείωσε πριν την εκκίνηση του server. Παρακαλώ κάντε ένα νέο διαμοιρασμό.",
"gui_server_autostop_timer_expired": "Το χρονόμετρο αυτόματης διακοπής έχει ήδη τελειώσει. Παρακαλώ ρυθμίστε το για να ξεκινήσετε το διαμοιρασμό.",
"share_via_onionshare": "Μοιραστείτε μέσω OnionShare",
- "gui_use_legacy_v2_onions_checkbox": "Χρήση \"παραδοσιακών\" διευθύνσεων",
"gui_save_private_key_checkbox": "Χρήση μόνιμης διεύθυνσης",
"gui_share_url_description": "<b>Οποιοσδήποτε</b> με αυτή τη διεύθυνση OnionShare μπορεί να <b>κατεβάσει</b> τα αρχεία σας χρησιμοποιώντας το <b>Tor Browser</b>: <img src='{}' />",
"gui_receive_url_description": "<b>Οποιοσδήποτε</b> με αυτή τη διεύθυνση OnionShare, μπορεί να <b>ανεβάσει</b> αρχεία στον υπολογιστή σας χρησιμοποιώντας το <b>Tor Browser</b>: <img src='{}' />",
@@ -243,7 +241,6 @@
"mode_settings_receive_data_dir_browse_button": "Επιλογή",
"mode_settings_receive_data_dir_label": "Αποθήκευση αρχείων σε",
"mode_settings_share_autostop_sharing_checkbox": "Τερματισμός κοινής χρήσης με την ολοκλήρωση αρχείων (αποεπιλέξτε για λήψη μεμονωμένων αρχείων)",
- "mode_settings_client_auth_checkbox": "Χρήση εξουσιοδότησης πελάτη",
"mode_settings_legacy_checkbox": "Χρήση παλαιάς διεύθυνσης (δεν προτείνεται η χρήση υπηρεσία v2 onion)",
"mode_settings_autostop_timer_checkbox": "Προγραμματισμένος τερματισμός",
"mode_settings_autostart_timer_checkbox": "Προγραμματισμένη εκκίνηση",
@@ -293,4 +290,4 @@
"gui_status_indicator_chat_scheduled": "Δρομολόγηση…",
"gui_status_indicator_chat_working": "Εκκίνηση…",
"gui_status_indicator_chat_stopped": "Έτοιμο για συνομιλία"
-} \ No newline at end of file
+}
diff --git a/desktop/src/onionshare/resources/locale/en.json b/desktop/src/onionshare/resources/locale/en.json
index a847264b..e7eba1cb 100644
--- a/desktop/src/onionshare/resources/locale/en.json
+++ b/desktop/src/onionshare/resources/locale/en.json
@@ -24,17 +24,19 @@
"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": "Copy Private Key",
"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_title": "Copied Private Key",
+ "gui_copied_client_auth": "Private Key copied to clipboard",
"gui_show_url_qr_code": "Show QR Code",
"gui_qr_code_dialog_title": "OnionShare QR Code",
+ "gui_qr_label_url_title": "OnionShare Address",
+ "gui_qr_label_auth_string_title": "Private Key",
"gui_waiting_to_start": "Scheduled to start in {}. Click to cancel.",
+ "gui_please_wait_no_button": "Starting…",
"gui_please_wait": "Starting… Click to cancel.",
- "error_rate_limit": "Someone has made too many wrong attempts to guess your password, so OnionShare has stopped the server. Start sharing again and send the recipient a new address to share.",
"zip_progress_bar_format": "Compressing: %p%",
"gui_settings_window_title": "Settings",
"gui_settings_autoupdate_label": "Check for new version",
@@ -84,11 +86,16 @@
"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 Authentication). Please try with a newer version of Tor, or use 'public' mode if it doesn't need to be private.",
"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='{}' />",
- "gui_receive_url_description": "<b>Anyone</b> with this OnionShare address can <b>upload</b> files to your computer using the <b>Tor Browser</b>: <img src='{}' />",
- "gui_chat_url_description": "<b>Anyone</b> with this OnionShare address can <b>join this chat room</b> using the <b>Tor Browser</b>: <img src='{}' />",
+ "gui_share_url_description": "<b>Anyone</b> with this OnionShare address and private key can <b>download</b> your files using the <b>Tor Browser</b>: <img src='{}' />",
+ "gui_share_url_public_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 and private key can <b>visit</b> your website using the <b>Tor Browser</b>: <img src='{}' />",
+ "gui_website_url_public_description": "<b>Anyone</b> with this OnionShare address can <b>visit</b> your website using the <b>Tor Browser</b>: <img src='{}' />",
+ "gui_receive_url_description": "<b>Anyone</b> with this OnionShare address and private key can <b>upload</b> files to your computer using the <b>Tor Browser</b>: <img src='{}' />",
+ "gui_receive_url_public_description": "<b>Anyone</b> with this OnionShare address can <b>upload</b> files to your computer using the <b>Tor Browser</b>: <img src='{}' />",
+ "gui_chat_url_description": "<b>Anyone</b> with this OnionShare address and private key can <b>join this chat room</b> using the <b>Tor Browser</b>: <img src='{}' />",
+ "gui_chat_url_public_description": "<b>Anyone</b> with this OnionShare address can <b>join this chat room</b> using the <b>Tor Browser</b>: <img src='{}' />",
"gui_url_label_persistent": "This share will not auto-stop.<br><br>Every subsequent share reuses the address. (To use one-time addresses, turn off \"Use persistent address\" in the settings.)",
"gui_url_label_stay_open": "This share will not auto-stop.",
"gui_url_label_onetime": "This share will stop after first completion.",
@@ -114,6 +121,10 @@
"gui_receive_mode_warning": "Receive mode lets people upload files to your computer.<br><br><b>Some files can potentially take control of your computer if you open them. Only open things from people you trust, or if you know what you are doing.</b>",
"gui_open_folder_error": "Failed to open folder with xdg-open. The file is here: {}",
"gui_settings_language_label": "Preferred language",
+ "gui_settings_theme_label": "Theme",
+ "gui_settings_theme_auto": "Auto",
+ "gui_settings_theme_light": "Light",
+ "gui_settings_theme_dark": "Dark",
"gui_settings_language_changed_notice": "Restart OnionShare for the new language to be applied.",
"gui_color_mode_changed_notice": "Restart OnionShare for the new color mode to be applied.",
"systray_menu_exit": "Quit",
@@ -171,11 +182,9 @@
"mode_settings_advanced_toggle_hide": "Hide advanced settings",
"mode_settings_title_label": "Custom title",
"mode_settings_persistent_checkbox": "Save this tab, and automatically open it when I open OnionShare",
- "mode_settings_public_checkbox": "Don't use a password",
+ "mode_settings_public_checkbox": "This is a public OnionShare service (disables private key)",
"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_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",
diff --git a/desktop/src/onionshare/resources/locale/eo.json b/desktop/src/onionshare/resources/locale/eo.json
index ea3cef9c..9f450275 100644
--- a/desktop/src/onionshare/resources/locale/eo.json
+++ b/desktop/src/onionshare/resources/locale/eo.json
@@ -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)",
@@ -33,7 +31,6 @@
"gui_share_quit_warning": "Ĉu vi certas ke vi volas foriri?\nLa URL, kiun vi kundividas ne plu ekzistos.",
"gui_quit_warning_quit": "Foriri",
"gui_quit_warning_dont_quit": "Ne foriri",
- "error_rate_limit": "Iu atankanto povas provi diveni vian URL. Por eviti tion, OnionShare aŭtomate haltis la servilon. Por kundividi la dosierojn vi devas starti ĝin denove kaj kundividi la novan URL.",
"zip_progress_bar_format": "Compressing files: %p%",
"error_stealth_not_supported": "To create stealth onion services, you need at least Tor 0.2.9.1-alpha (or Tor Browser 6.5) and at least python3-stem 1.5.0.",
"error_ephemeral_not_supported": "OnionShare postulas almenaŭ Tor 0.2.7.1 kaj almenaŭ python3-stem 1.4.0.",
diff --git a/desktop/src/onionshare/resources/locale/es.json b/desktop/src/onionshare/resources/locale/es.json
index bc30af46..7b04a9e2 100644
--- a/desktop/src/onionshare/resources/locale/es.json
+++ b/desktop/src/onionshare/resources/locale/es.json
@@ -28,16 +28,13 @@
"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.",
"zip_progress_bar_format": "Comprimiendo: %p%",
"error_stealth_not_supported": "Para utilizar autorización de cliente, necesitas al menos Tor 0.2.9.1-alpha (o Navegador Tor 6.5) y python3-stem 1.5.0.",
"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 +63,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 {}:{}.",
@@ -98,7 +93,6 @@
"gui_server_started_after_autostop_timer": "El temporizador de parada automática expiró antes de que se iniciara el servidor. Por favor crea un recurso compartido nuevo.",
"gui_server_autostop_timer_expired": "El temporizador de parada automática ya expiró. Por favor ajústalo para comenzar a compartir.",
"share_via_onionshare": "Compartir con OnionShare",
- "gui_use_legacy_v2_onions_checkbox": "Usar direcciones obsoletas",
"gui_save_private_key_checkbox": "Usar una dirección persistente",
"gui_share_url_description": "<b>Cualquiera</b> con esta dirección OnionShare puede <b>descargar</b> tus archivos usando el <b>Navegador Tor</b>: <img src='{}' />",
"gui_receive_url_description": "<b>Cualquiera</b> con esta dirección OnionShare puede <b>cargar</b> archivos a tu equipo usando el <b>Navegador Tor</b>: <img src='{}' />",
@@ -231,7 +225,6 @@
"hours_first_letter": "h",
"minutes_first_letter": "m",
"seconds_first_letter": "s",
- "invalid_password_guess": "Intento de contraseña incorrecto",
"gui_website_url_description": "<b>Cualquiera</b> con esta dirección OnionShare puede <b>visitar</b> tu sitio web usando el <b>Navegador Tor</b>: <img src='{}' />",
"gui_mode_website_button": "Publicar sitio web",
"systray_site_loaded_title": "Sitio web cargado",
@@ -247,7 +240,6 @@
"systray_individual_file_downloaded_message": "Archivo individual {} visto",
"gui_settings_csp_header_disabled_option": "Deshabilitar encabezado de Política de Seguridad de Contenido",
"gui_settings_website_label": "Configuración de sitio web",
- "mode_settings_client_auth_checkbox": "Utilizar autorización de cliente",
"mode_settings_legacy_checkbox": "Usar una dirección obsoleta (servicio cebolla v2, no recomendado)",
"mode_settings_autostop_timer_checkbox": "Detener el servicio cebolla a una hora determinada",
"mode_settings_autostart_timer_checkbox": "Iniciar el servicio cebolla a una hora determinada",
diff --git a/desktop/src/onionshare/resources/locale/fa.json b/desktop/src/onionshare/resources/locale/fa.json
index 5fe578e0..2c27c998 100644
--- a/desktop/src/onionshare/resources/locale/fa.json
+++ b/desktop/src/onionshare/resources/locale/fa.json
@@ -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": "",
@@ -62,14 +59,12 @@
"gui_receive_quit_warning": "شما در پروسه دریافت پرونده هستید. مطمئنید که می‌خواهید از OnionShare خارج شوید؟",
"gui_quit_warning_quit": "خروج",
"gui_quit_warning_dont_quit": "لغو",
- "error_rate_limit": "شخصی تعداد زیادی تلاش ناموفق برای حدس زدن گذرواژه شما داشته است، بنابراین OnionShare کارساز را متوقف کرده است. هم‌رسانی را دوباره آغاز کنید و به گیرنده، یک نشانی جدید برای هم‌رسانی بفرستید.",
"zip_progress_bar_format": "فشرده سازی: %p%",
"error_stealth_not_supported": "برای استفاده از احراز هویت کلاینت، شما نیاز به داشتن Tor 0.2.9.1-alpha (یا مرورگر Tor 6.5) و python3-stem 1.5.0 دارید.",
"error_ephemeral_not_supported": "OnionShare حداقل به Tor 0.2.7.1 و python3-stem 1.4.0 نیاز دارد.",
"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": "آخرین بررسی: {}",
@@ -134,7 +129,6 @@
"gui_server_started_after_autostop_timer": "زمان‌سنج توقف خودکار، قبل از آغاز کارساز به پایان رسید. لطفا یک هم‌رسانی جدید درست کنید.",
"gui_server_autostop_timer_expired": "زمان‌سنج توقف خودکار به پایان رسید. لطفا برای آغاز هم‌رسانی آن را تنظیم کنید.",
"share_via_onionshare": "هم‌رسانی با OnionShare",
- "gui_use_legacy_v2_onions_checkbox": "استفاده از آدرس‌های بازمانده",
"gui_save_private_key_checkbox": "استفاده از یک آدرس پایا",
"gui_share_url_description": "<b>هرکس</b> با این آدرس OnionShare می‌تواند روی کامپیوتر شما پرونده <b>بارگیری</b> کند از طریق <b>مرورگر تور</b>: <img src='{}' />",
"gui_receive_url_description": "<b>هرکس</b> با این آدرس OnionShare می‌تواند روی کامپیوتر شما پرونده <b>بارگذاری</b> کند از طریق <b>مرورگر تور</b>: <img src='{}' />",
diff --git a/desktop/src/onionshare/resources/locale/fi.json b/desktop/src/onionshare/resources/locale/fi.json
index e7020b3c..25fd2a94 100644
--- a/desktop/src/onionshare/resources/locale/fi.json
+++ b/desktop/src/onionshare/resources/locale/fi.json
@@ -10,7 +10,7 @@
"help_stay_open": "Jatka jakoa tiedostojen lähetyksen jälkeen",
"help_verbose": "Kirjaa OnionShare virheet stdout:tiin, ja verkko virheet levylle",
"help_filename": "Luettele jaettavat tiedostot tai kansiot",
- "gui_drag_and_drop": "Vedä ja pudota\ntiedostot tänne",
+ "gui_drag_and_drop": "Vedä ja pudota tiedostot tänne aloittaaksesi jakamisen",
"gui_add": "Lisää",
"gui_delete": "Poista",
"gui_choose_items": "Valitse",
@@ -41,23 +41,18 @@
"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?",
"gui_receive_quit_warning": "Olet vastaanottamassa tiedostoja. Haluatko varmasti lopettaa OnionSharen?",
"gui_quit_warning_quit": "Lopeta",
"gui_quit_warning_dont_quit": "Peruuta",
- "error_rate_limit": "Joku on yrittänyt arvata salasanasi väärin liian monta kertaa, joten OnionShare on pysäyttänyt palvelimen. Aloita jakaminen uudelleen ja lähetä vastaanottajalle uusi osoite jatkaaksesi jakamista.",
"error_stealth_not_supported": "Asiakasvaltuuden käyttämiseen tarvitaan ainakin Tor 0.2.9.1-alpha (tai Tor Browser 6.5) ja python3-stem 1.5.0.",
"error_ephemeral_not_supported": "OnionSharen käyttö vaatii ainakin Tor 0.2.7.1 ja python3-stem 1.4.0.",
"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: {}",
@@ -120,11 +115,10 @@
"gui_tor_connection_error_settings": "Yritä muuttaa miten OnionShare yhdistää Tor-verkkoon asetuksista.",
"gui_tor_connection_canceled": "Tor-yhteyden muodostus epäonnistui.\n\nVarmista että sinulla on toimiva internet yhteys, jonka jälkeen avaa OnionShare uudelleen ja ota käyttöön sen Tor-yhteys.",
"gui_tor_connection_lost": "Tor-yhteys katkaistu.",
- "gui_server_started_after_autostop_timer": "Automaattinen lopeutusajastin pysäytti toiminnon ennen palvelimen käynnistymistä.\nLuo uusi jako.",
- "gui_server_autostop_timer_expired": "Automaattinen pysäytysajastin päättyi jo.\nSäädä se jaon aloittamiseksi.",
+ "gui_server_started_after_autostop_timer": "Automaattinen loputusajastin pysäytti toiminnon ennen palvelimen käynnistymistä. Luo uusi jako.",
+ "gui_server_autostop_timer_expired": "Automaattinen pysäytysajastin päättyi jo. Säädä se jaon aloittamiseksi.",
"share_via_onionshare": "Jaa OnionSharella",
"gui_connect_to_tor_for_onion_settings": "Yhdistä Tor-verkkoon nähdäksesi onion palvelun asetukset",
- "gui_use_legacy_v2_onions_checkbox": "Käytä vanhoja osoitteita",
"gui_save_private_key_checkbox": "Käytä pysyviä osoitteita",
"gui_share_url_description": "<b>Kaikki</b> joilla on tämä OnionShare-osoite voivat <b>ladata</b> tiedostojasi käyttämällä <b>Tor-selainta</b>: <img src='{}' />",
"gui_receive_url_description": "<b>Kaikki</b> joilla on tämä OnionShare-osoite voivat <b>lähettää</b>tiedostoja tietokoneellesi käyttämällä <b>Tor-selainta</b>: <img src='{}' />",
@@ -222,7 +216,6 @@
"gui_new_tab_tooltip": "Avaa uusi välilehti",
"gui_new_tab": "Uusi välilehti",
"mode_settings_website_disable_csp_checkbox": "Poista 'Sisällön suojauskäytännön' otsikko käytöstä (mahdollistaa kolmansien osapuolien resurssien käytön nettisivussasi)",
- "mode_settings_client_auth_checkbox": "Käytä asiakkaan valtuutusta",
"mode_settings_legacy_checkbox": "Käytä vanhaa osoitetta (v2 onion-palvelu, ei suositella)",
"mode_settings_autostop_timer_checkbox": "Lopeta onion-palvelu tiettyyn kellon aikaan",
"mode_settings_autostart_timer_checkbox": "Aloita onion-palvelu tiettyyn kellon aikaan",
@@ -240,5 +233,33 @@
"gui_tab_name_receive": "Vastaanota",
"gui_tab_name_share": "Jaa",
"gui_file_selection_remove_all": "Poista kaikki",
- "gui_remove": "Poista"
+ "gui_remove": "Poista",
+ "mode_settings_receive_webhook_url_checkbox": "Käytä ilmoitusten verkkotoimintokutsua",
+ "history_receive_read_message_button": "Lue viesti",
+ "error_port_not_available": "OnionSharen portti ei saatavilla",
+ "gui_rendezvous_cleanup_quit_early": "Poistu aikaisin",
+ "gui_rendezvous_cleanup": "Odotetaan Tor-kierrosten sulkeutumista, jotta voidaan varmistaa onnistunut tiedonsiirto.\n\nTässä voi kestää joitain minuutteja.",
+ "mode_settings_receive_disable_files_checkbox": "Poista käytöstä tiedostojen lataaminen",
+ "mode_settings_receive_disable_text_checkbox": "Poista käytöstä tekstin syöttö",
+ "mode_settings_title_label": "Muokattu otsikko",
+ "gui_main_page_chat_button": "Aloita keskustelu",
+ "gui_main_page_website_button": "Aloita isännöinti",
+ "gui_new_tab_chat_button": "Keskustele anonyymisti",
+ "gui_color_mode_changed_notice": "Käynnistä uudelleen Onionshare, jotta uusi väritila tulee voimaan.",
+ "gui_settings_theme_dark": "Tumma",
+ "gui_settings_theme_light": "Vaalea",
+ "gui_settings_theme_auto": "Automaattinen",
+ "gui_settings_theme_label": "Teema",
+ "gui_open_folder_error": "Ei voitu avata kansiota xdg-open:lla. Tiedosto on tässä: {}",
+ "gui_status_indicator_chat_started": "Keskustellaan",
+ "gui_status_indicator_chat_scheduled": "Ajastettu…",
+ "gui_status_indicator_chat_working": "Aloitetaan…",
+ "gui_status_indicator_chat_stopped": "Valmiina keskustelemaan",
+ "gui_chat_url_description": "<b>Kuka tahansa</b> tällä Onionshare-osoitteella voi <b>liittyä tähän keskusteluryhmään</b> käyttämällä <b>Tor-selainta</b>: <img src='{}' />",
+ "gui_please_wait_no_button": "Aloitetaan…",
+ "gui_qr_code_dialog_title": "OnionSharen QR-koodi",
+ "gui_show_url_qr_code": "Näytä QR-koodi",
+ "gui_receive_flatpak_data_dir": "Koska asensin OnionSharen käyttämällä Flatpakia, sinun täytyy tallentaa tiedostot kansioon sijainnissa ~/OnionShare.",
+ "gui_chat_stop_server": "Pysäytä chat-palvelin",
+ "gui_chat_start_server": "Perusta chat-palvelin"
}
diff --git a/desktop/src/onionshare/resources/locale/fr.json b/desktop/src/onionshare/resources/locale/fr.json
index 8c4bf20a..5ac2c6d0 100644
--- a/desktop/src/onionshare/resources/locale/fr.json
+++ b/desktop/src/onionshare/resources/locale/fr.json
@@ -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.",
@@ -152,18 +149,15 @@
"gui_download_upload_progress_complete": "%p%, {0:s} écoulées.",
"gui_download_upload_progress_starting": "{0:s}, %p% (estimation)",
"gui_download_upload_progress_eta": "{0:s}, Fin : {1:s}, %p%",
- "error_rate_limit": "Quelqu’un a effectué trop de tentatives infructueuses pour deviner votre mot de passe, c’est pourquoi OnionShare a arrêté le serveur. Redémarrez le partage et envoyez au destinataire une nouvelle adresse afin de partager.",
"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 ?",
"update_error_invalid_latest_version": "Impossible de vérifier la présence d’une mise à jour : le site Web d’OnionShare indique que la version la plus récente est la « {} » qui n’est pas reconnue…",
"gui_tor_connection_ask": "Ouvrir les paramètres pour résoudre le problème de connexion à Tor ?",
"gui_tor_connection_canceled": "Impossible de se connecter à Tor.\n\nAssurez-vous d’être connecté à Internet, puis rouvrez OnionShare et configurez sa connexion à Tor.",
- "gui_use_legacy_v2_onions_checkbox": "Utiliser les adresses héritées",
"info_in_progress_uploads_tooltip": "{} envoi(s) en cours",
"info_completed_uploads_tooltip": "{} envoi(s) terminé(s)",
"error_cannot_create_downloads_dir": "Impossible de créer le dossier du mode réception : {}",
@@ -233,7 +227,6 @@
"systray_website_started_title": "Début du partage du site Web",
"systray_website_started_message": "Quelqu’un visite votre site Web",
"gui_website_mode_no_files": "Aucun site Web n’a encore été partagé",
- "invalid_password_guess": "La tentative de mot de passe est invalide",
"gui_mode_website_button": "Publier un site Web",
"incorrect_password": "Le mot de passe est erroné",
"gui_settings_individual_downloads_label": "Décocher pour permettre le téléchargement de fichiers individuels",
@@ -258,7 +251,6 @@
"mode_settings_receive_data_dir_browse_button": "Parcourir",
"mode_settings_receive_data_dir_label": "Enregistrer les fichiers dans",
"mode_settings_share_autostop_sharing_checkbox": "Cesser le partage une fois que les fichiers ont été envoyés (décocher afin de permettre le téléchargement de fichiers individuels)",
- "mode_settings_client_auth_checkbox": "Utiliser l’autorisation du client",
"mode_settings_legacy_checkbox": "Utiliser une ancienne adresse (service onion v2, non recommandée)",
"mode_settings_public_checkbox": "Ne pas utiliser un mot de passe",
"mode_settings_persistent_checkbox": "Enregistrer cet onglet et l’ouvrir automatiquement quand j’ouvre OnionShare",
diff --git a/desktop/src/onionshare/resources/locale/ga.json b/desktop/src/onionshare/resources/locale/ga.json
index 76e9d64a..3ff5f404 100644
--- a/desktop/src/onionshare/resources/locale/ga.json
+++ b/desktop/src/onionshare/resources/locale/ga.json
@@ -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)",
@@ -62,14 +59,12 @@
"gui_receive_quit_warning": "Tá tú le linn roinnt comhad a íoslódáil. An bhfuil tú cinnte gur mhaith leat OnionShare a scor?",
"gui_quit_warning_quit": "Scoir",
"gui_quit_warning_dont_quit": "Cealaigh",
- "error_rate_limit": "Rinne duine éigin an iomarca iarrachtaí míchearta ar d'fhocal faire, agus dá bharr sin stop OnionShare an freastalaí. Tosaigh ag comhroinnt arís agus cuir seoladh nua chuig an bhfaighteoir.",
"zip_progress_bar_format": "Á chomhbhrú: %p%",
"error_stealth_not_supported": "Chun údarú cliaint a úsáid, teastaíonn uait Tor 0.2.9.1-alpha (nó Brabhsálaí 6.5) agus python3-stem 1.5.0.",
"error_ephemeral_not_supported": "Teastaíonn uait ar a laghad Tor 0.2.7.1 agus python3-stem 1.4.0 chun OnionShare a úsáid.",
"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: {}",
@@ -134,7 +129,6 @@
"gui_server_started_after_autostop_timer": "Bhí an t-amadóir uathstoptha caite sular thosaigh an freastalaí. Caithfidh tú comhroinnt nua a chruthú.",
"gui_server_autostop_timer_expired": "Tá an t-amadóir uathstoptha caite cheana. Caithfidh tú é a athshocrú sular féidir leat comhaid a chomhroinnt.",
"share_via_onionshare": "Comhroinn trí OnionShare",
- "gui_use_legacy_v2_onions_checkbox": "Úsáid seoltaí sean-nóis",
"gui_save_private_key_checkbox": "Úsáid seoladh seasmhach",
"gui_share_url_description": "Tá <b>aon duine</b> a bhfuil an seoladh OnionShare aige/aici in ann do chuid comhad a <b>íoslódáil</b> le <b>Brabhsálaí Tor</b>: <img src='{}' />",
"gui_receive_url_description": "Tá <b>aon duine</b> a bhfuil an seoladh OnionShare aige/aici in ann comhaid a <b>uaslódáil</b> go dtí do ríomhaire le <b>Brabhsálaí Tor</b>: <img src='{}' />",
diff --git a/desktop/src/onionshare/resources/locale/gl.json b/desktop/src/onionshare/resources/locale/gl.json
index 67b095cc..758c3137 100644
--- a/desktop/src/onionshare/resources/locale/gl.json
+++ b/desktop/src/onionshare/resources/locale/gl.json
@@ -24,17 +24,13 @@
"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.",
"gui_please_wait": "Iniciando... Fai click para cancelar.",
- "error_rate_limit": "Alguén fixo demasiados intentos errados para adiviñar o teu contrasinal, polo que OnionShare detivo o servidor. Comeza a compartir de novo e envía ao destinatario un novo enderezo para compartir.",
"zip_progress_bar_format": "Comprimindo: %p%",
"gui_settings_window_title": "Axustes",
"gui_settings_autoupdate_label": "Comproba se hai nova versión",
@@ -169,7 +165,6 @@
"mode_settings_autostart_timer_checkbox": "Iniciar o servizo onion na hora programada",
"mode_settings_autostop_timer_checkbox": "Deter o servizo onion na hora programada",
"mode_settings_legacy_checkbox": "Usar enderezos antigos (servizo onion v2, non recomendado)",
- "mode_settings_client_auth_checkbox": "Usar autorización do cliente",
"mode_settings_share_autostop_sharing_checkbox": "Deixar de compartir unha vez enviado o ficheiro (desmarca para permitir a descarga de ficheiros individuais)",
"mode_settings_receive_data_dir_label": "Gardar ficheiros en",
"mode_settings_receive_data_dir_browse_button": "Navegar",
@@ -201,5 +196,10 @@
"gui_status_indicator_chat_started": "Conversando",
"gui_status_indicator_chat_scheduled": "Programado…",
"gui_status_indicator_chat_working": "Comezando…",
- "gui_status_indicator_chat_stopped": "Preparado para conversar"
+ "gui_status_indicator_chat_stopped": "Preparado para conversar",
+ "gui_settings_theme_dark": "Escuro",
+ "gui_settings_theme_light": "Claro",
+ "gui_settings_theme_auto": "Auto",
+ "gui_settings_theme_label": "Decorado",
+ "gui_please_wait_no_button": "Iniciando…"
}
diff --git a/desktop/src/onionshare/resources/locale/gu.json b/desktop/src/onionshare/resources/locale/gu.json
index 15c7790d..313f17d8 100644
--- a/desktop/src/onionshare/resources/locale/gu.json
+++ b/desktop/src/onionshare/resources/locale/gu.json
@@ -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": "",
@@ -63,14 +60,12 @@
"gui_receive_quit_warning": "",
"gui_quit_warning_quit": "",
"gui_quit_warning_dont_quit": "",
- "error_rate_limit": "",
"zip_progress_bar_format": "",
"error_stealth_not_supported": "",
"error_ephemeral_not_supported": "",
"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": "",
@@ -135,7 +130,6 @@
"gui_server_started_after_autostop_timer": "",
"gui_server_autostop_timer_expired": "",
"share_via_onionshare": "",
- "gui_use_legacy_v2_onions_checkbox": "",
"gui_save_private_key_checkbox": "",
"gui_share_url_description": "",
"gui_receive_url_description": "",
diff --git a/desktop/src/onionshare/resources/locale/he.json b/desktop/src/onionshare/resources/locale/he.json
index c0965d19..ee941304 100644
--- a/desktop/src/onionshare/resources/locale/he.json
+++ b/desktop/src/onionshare/resources/locale/he.json
@@ -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": "",
@@ -65,14 +62,12 @@
"gui_receive_quit_warning": "",
"gui_quit_warning_quit": "יציאה",
"gui_quit_warning_dont_quit": "ביטול",
- "error_rate_limit": "",
"zip_progress_bar_format": "",
"error_stealth_not_supported": "",
"error_ephemeral_not_supported": "",
"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": "",
@@ -138,7 +133,6 @@
"gui_server_autostop_timer_expired": "",
"share_via_onionshare": "",
"gui_connect_to_tor_for_onion_settings": "",
- "gui_use_legacy_v2_onions_checkbox": "",
"gui_save_private_key_checkbox": "",
"gui_share_url_description": "",
"gui_receive_url_description": "",
diff --git a/desktop/src/onionshare/resources/locale/hi.json b/desktop/src/onionshare/resources/locale/hi.json
index e5a6d893..7cc230c8 100644
--- a/desktop/src/onionshare/resources/locale/hi.json
+++ b/desktop/src/onionshare/resources/locale/hi.json
@@ -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": "इतनी तेज़ी से नहीं",
@@ -49,14 +46,12 @@
"gui_receive_quit_warning": "आप अभी फाइलों को प्राप्त रहे हैं। क्या आप वाकई OnionShare को बंद करना चाहते हैं?",
"gui_quit_warning_quit": "छोड़ें",
"gui_quit_warning_dont_quit": "रद्द करें",
- "error_rate_limit": "किसी ने आपके पासवर्ड का अंदाज़ा लगाने के लिए कई सारे गलत प्रयास किए हैं, इसीलिए OnionShare ने सर्वर रोक दिया है। साझा पुनः शुरू करें और साझा करने के लिए भेजनेवाले व्यक्ति को एक नया पता साझा करें।",
"zip_progress_bar_format": "कॉम्प्रेस हो रहा है: %p%",
"error_stealth_not_supported": "क्लाइंट सत्यापन उपयोग करने के लिए, आपको कम से कम Tor 0.2.9.1-alpha (या Tor Browser 6.5) और python3-stem 1.5.0 दोनों चाहिए।",
"error_ephemeral_not_supported": "OnionShare को कम से कम Tor 0.2.7.1 और python3-stem 1.4.0 की आवश्यकता है।",
"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": "अंतिम जांच: {}",
@@ -67,24 +62,24 @@
"gui_settings_sharing_label": "साझा सेटिंग्स",
"gui_settings_close_after_first_download_option": "इस फाइल को भेजने के बाद साझा बंद कर दें",
"gui_settings_connection_type_label": "OnionShare को Tor से कैसे जुड़ना चाहिए?",
- "gui_settings_connection_type_bundled_option": "",
- "gui_settings_connection_type_automatic_option": "",
- "gui_settings_connection_type_control_port_option": "",
- "gui_settings_connection_type_socket_file_option": "",
+ "gui_settings_connection_type_bundled_option": "OnionShare में निर्मित Tor संस्करण का उपयोग करें",
+ "gui_settings_connection_type_automatic_option": "Tor Browser के साथ ऑटो-कॉन्फ़िगरेशन का प्रयास करें",
+ "gui_settings_connection_type_control_port_option": "कंट्रोल पोर्ट का उपयोग करके कनेक्ट करें",
+ "gui_settings_connection_type_socket_file_option": "सॉकेट फ़ाइल का उपयोग करके कनेक्ट करें",
"gui_settings_connection_type_test_button": "",
- "gui_settings_control_port_label": "",
- "gui_settings_socket_file_label": "",
- "gui_settings_socks_label": "",
- "gui_settings_authenticate_label": "",
- "gui_settings_authenticate_no_auth_option": "",
+ "gui_settings_control_port_label": "कण्ट्रोल पोर्ट",
+ "gui_settings_socket_file_label": "सॉकेट फ़ाइल",
+ "gui_settings_socks_label": "SOCKS पोर्ट",
+ "gui_settings_authenticate_label": "Tor प्रमाणीकरण सेटिंग्स",
+ "gui_settings_authenticate_no_auth_option": "कोई प्रमाणीकरण या कुकी प्रमाणीकरण नहीं",
"gui_settings_authenticate_password_option": "",
"gui_settings_password_label": "",
- "gui_settings_tor_bridges": "",
- "gui_settings_tor_bridges_no_bridges_radio_option": "",
- "gui_settings_tor_bridges_obfs4_radio_option": "",
- "gui_settings_tor_bridges_obfs4_radio_option_no_obfs4proxy": "",
- "gui_settings_tor_bridges_meek_lite_azure_radio_option": "",
- "gui_settings_tor_bridges_meek_lite_azure_radio_option_no_obfs4proxy": "",
+ "gui_settings_tor_bridges": "Tor ब्रिज सपोर्ट",
+ "gui_settings_tor_bridges_no_bridges_radio_option": "ब्रिड्जेस का प्रयोग न करें",
+ "gui_settings_tor_bridges_obfs4_radio_option": "पहले से निर्मित obfs4 प्लगेबल ट्रांसपोर्टस का उपयोग करें",
+ "gui_settings_tor_bridges_obfs4_radio_option_no_obfs4proxy": "पहले से निर्मित obfs4 प्लगेबल ट्रांसपोर्टस का उपयोग करें (obfs4proxy अनिवार्य)",
+ "gui_settings_tor_bridges_meek_lite_azure_radio_option": "पहले से निर्मित meek_lite (Azure) प्लगेबल ट्रांसपोर्टस का उपयोग करें",
+ "gui_settings_tor_bridges_meek_lite_azure_radio_option_no_obfs4proxy": "पहले से निर्मित meek_lite (Azure) प्लगेबल ट्रांसपोर्टस का उपयोग करें (obfs4proxy अनिवार्य है)",
"gui_settings_meek_lite_expensive_warning": "",
"gui_settings_tor_bridges_custom_radio_option": "",
"gui_settings_tor_bridges_custom_label": "",
@@ -123,7 +118,6 @@
"gui_server_autostop_timer_expired": "",
"share_via_onionshare": "",
"gui_connect_to_tor_for_onion_settings": "",
- "gui_use_legacy_v2_onions_checkbox": "",
"gui_save_private_key_checkbox": "",
"gui_share_url_description": "",
"gui_receive_url_description": "",
@@ -191,5 +185,7 @@
"gui_chat_stop_server": "चैट सर्वर बंद करें",
"gui_chat_start_server": "चैट सर्वर शुरू करें",
"gui_file_selection_remove_all": "सभी हटाएं",
- "gui_remove": "हटाएं"
+ "gui_remove": "हटाएं",
+ "gui_qr_code_dialog_title": "OnionShare क्यूआर कोड",
+ "gui_receive_flatpak_data_dir": "चूँकि आपने फ़्लैटपैक का उपयोग करके OnionShare स्थापित किया है, इसलिए आपको फ़ाइलों को ~/OnionShare फ़ोल्डर में सहेजना होगा।"
}
diff --git a/desktop/src/onionshare/resources/locale/hr.json b/desktop/src/onionshare/resources/locale/hr.json
index 6c399c89..efc24f4e 100644
--- a/desktop/src/onionshare/resources/locale/hr.json
+++ b/desktop/src/onionshare/resources/locale/hr.json
@@ -4,8 +4,8 @@
"no_available_port": "Priključak za pokretanje Onion usluge nije pronađen",
"other_page_loaded": "Adresa učitana",
"incorrect_password": "Neispravna lozinka",
- "close_on_autostop_timer": "Zaustavljeno, jer je vrijeme timera za automatsko zaustavljanje isteklo",
- "closing_automatically": "Zaustavljeno, jer je prijenos završen",
+ "close_on_autostop_timer": "Prekinuto, jer je vrijeme timera za automatsko prekidanje isteklo",
+ "closing_automatically": "Prekinuto, jer je prijenos završen",
"large_filesize": "Upozorenje: Slanje velike količine podataka može trajati satima",
"gui_drag_and_drop": "Povuci i ispusti datoteke i mape koje želiš dijeliti",
"gui_add": "Dodaj",
@@ -14,20 +14,17 @@
"gui_delete": "Izbriši",
"gui_choose_items": "Odaberi",
"gui_share_start_server": "Pokreni dijeljenje",
- "gui_share_stop_server": "Zaustavi dijeljenje",
- "gui_share_stop_server_autostop_timer": "Zaustavi dijeljenje ({})",
- "gui_stop_server_autostop_timer_tooltip": "Timer za automatsko zaustavljanje završava pri {}",
+ "gui_share_stop_server": "Prekini dijeljenje",
+ "gui_share_stop_server_autostop_timer": "Prekini dijeljenje ({})",
+ "gui_stop_server_autostop_timer_tooltip": "Timer za automatsko prekidanje završava u {}",
"gui_start_server_autostart_timer_tooltip": "Timer za automatsko pokretanje završava u {}",
"gui_receive_start_server": "Pokreni modus primanja",
- "gui_receive_stop_server": "Zaustavi modus primanja",
- "gui_receive_stop_server_autostop_timer": "Zaustavi modus primanja ({} preostalo)",
+ "gui_receive_stop_server": "Prekini modus primanja",
+ "gui_receive_stop_server_autostop_timer": "Prekini 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",
@@ -35,14 +32,12 @@
"gui_receive_quit_warning": "Proces primanja datoteka je u tijeku. Zaista želiš zatvoriti OnionShare?",
"gui_quit_warning_quit": "Izađi",
"gui_quit_warning_dont_quit": "Odustani",
- "error_rate_limit": "Netko je prečesto pokušao pogoditi tvoju lozinku, pa je OnionShare zaustavio poslužitelja. Ponovo pokreni dijeljenje i primatelju pošalji novu adresu za dijeljenje.",
"zip_progress_bar_format": "Komprimiranje: %p %",
"error_stealth_not_supported": "Za korištenje autorizacije klijenta, potrebni su barem Tor 0.2.9.1-alpha (ili Tor Browser 6.5) i python3-stem 1.5.0.",
"error_ephemeral_not_supported": "OnionShare zahtijeva barem Tor 0.2.7.1 i python3-stem 1.4.0.",
"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: {}",
@@ -95,7 +90,7 @@
"settings_error_bundled_tor_timeout": "Povezivanje s Torom traje predugo. Možda nemaš vezu s internetom ili imaš netočno postavljen sat sustava?",
"settings_error_bundled_tor_broken": "Neuspjelo povezivanje OnionShare-a s Torom:\n{}",
"settings_test_success": "Povezan s Tor kontrolerom.\n\nTor verzija: {}\nPodržava kratkotrajne Onion usluge: {}.\nPodržava autentifikaciju klijenta: {}.\nPodržava .onion adrese sljedeće generacije: {}.",
- "error_tor_protocol_error": "Greška s Torom: {}",
+ "error_tor_protocol_error": "Dogodila se greška s Torom: {}",
"error_tor_protocol_error_unknown": "Nepoznata greška s Torom",
"connecting_to_tor": "Povezivanje s Tor mrežom",
"update_available": "Objavljen je novi OnionShare. <a href='{}'>Pritisni ovdje</a> za preuzimanje.<br><br>Trenutačno koristiš verziju {}, a najnovija verzija je {}.",
@@ -108,21 +103,20 @@
"gui_tor_connection_error_settings": "U postavkama promijeni način na koji se OnionShare povezuje s Tor mrežom.",
"gui_tor_connection_canceled": "Neuspjelo povezivanje s Torom.\n\nProvjeri vezu s internetom, a zatim ponovo pokreni OnionShare i postavi njegovu vezu s Torom.",
"gui_tor_connection_lost": "Prekinuta veza s Torom.",
- "gui_server_started_after_autostop_timer": "Vrijeme timera za automatsko zaustavljanje je isteklo prije nego što je poslužitelj započeo. Izradi novo dijeljenje.",
- "gui_server_autostop_timer_expired": "Vrijeme timera za automatsko zaustavljanje je već isteklo. Za pokretanje dijeljenja, podesi vrijeme.",
+ "gui_server_started_after_autostop_timer": "Vrijeme timera za automatsko prekidanje je isteklo prije nego što je poslužitelj započeo. Izradi novo dijeljenje.",
+ "gui_server_autostop_timer_expired": "Vrijeme timera za automatsko prekidanje je već isteklo. Za pokretanje dijeljenja, podesi vrijeme.",
"gui_server_autostart_timer_expired": "Planirano vrijeme je već prošlo. Za pokretanje dijeljenja, podesi vrijeme.",
- "gui_autostop_timer_cant_be_earlier_than_autostart_timer": "Vrijeme za automatsko zaustavljanje ne može biti isto kao vrijeme za automatsko pokretanje ili ranije. Za pokretanje dijeljenja, podesi vrijeme.",
+ "gui_autostop_timer_cant_be_earlier_than_autostart_timer": "Vrijeme za automatsko prekidanje ne može biti isto kao vrijeme za automatsko pokretanje ili ranije. Za pokretanje dijeljenja, podesi vrijeme.",
"share_via_onionshare": "Dijeli putem OnionSharea",
"gui_connect_to_tor_for_onion_settings": "Poveži se s Torom za prikaz postavki Onion usluge",
- "gui_use_legacy_v2_onions_checkbox": "Koristi stare adrese",
"gui_save_private_key_checkbox": "Koristi trajnu adresu",
"gui_share_url_description": "<b>Svatko</b> s ovom OnionShare adresom može <b>preuzeti</b> tvoje datoteke koristeći <b>Tor preglednik</b>: <img src='{}' />",
"gui_website_url_description": "<b>Svatko</b> s ovom OnionShare adresom može <b>posjetiti</b> tvoju web-stranicu koristeći <b>Tor preglednik</b>: <img src='{}' />",
"gui_receive_url_description": "<b>Svatko</b> s ovom OnionShare adresom može <b>prenijeti</b> datoteke na tvoje računalo koristeći <b>Tor preglednik</b>: <img src='{}' />",
- "gui_url_label_persistent": "Ovo se dijeljenje neće automatski zaustaviti.<br><br>Svako naredno dijeljenje ponovo koristi istu adresu. (Za korištenje jednokratne adrese, u postavkama isključi opciju „Koristi trajnu adresu”.)",
- "gui_url_label_stay_open": "Ovo se dijeljenje neće automatski zaustaviti.",
- "gui_url_label_onetime": "Ovo će se dijeljenje zaustaviti nakon prvog završavanja.",
- "gui_url_label_onetime_and_persistent": "Ovo se dijeljenje neće automatski zaustaviti.<br><br>Svako naredno dijeljenje ponovo će koristiti istu adresu. (Za korištenje jednokratne adrese, u postavkama isključi opciju „Koristi trajnu adresu”.)",
+ "gui_url_label_persistent": "Ovo se dijeljenje neće automatski prekinuti.<br><br>Svako naredno dijeljenje koristit će istu adresu. (Za korištenje jednokratne adrese, u postavkama isključi opciju „Koristi trajnu adresu”.)",
+ "gui_url_label_stay_open": "Ovo se dijeljenje neće automatski prekinuti.",
+ "gui_url_label_onetime": "Ovo će se dijeljenje prekinuti nakon prvog završavanja.",
+ "gui_url_label_onetime_and_persistent": "Ovo se dijeljenje neće automatski prekinuti.<br><br>Svako naredno dijeljenje će koristit će istu adresu. (Za korištenje jednokratne adrese, u postavkama isključi opciju „Koristi trajnu adresu”.)",
"gui_status_indicator_share_stopped": "Spremno za dijeljenje",
"gui_status_indicator_share_working": "Pokretanje …",
"gui_status_indicator_share_scheduled": "Planirano …",
@@ -183,10 +177,9 @@
"mode_settings_website_disable_csp_checkbox": "Ne šalji zaglavlja politike sigurnosti sadržaja (omogućuje tvojim web-stranicama koristiti strane resurse)",
"mode_settings_receive_data_dir_browse_button": "Pregledaj",
"mode_settings_receive_data_dir_label": "Spremi datoteke u",
- "mode_settings_share_autostop_sharing_checkbox": "Zaustavi dijeljenje nakon što se datoteke pošalju (deaktiviraj za preuzimanje pojedinačnih datoteka)",
- "mode_settings_client_auth_checkbox": "Koristi autorizaciju klijenta",
+ "mode_settings_share_autostop_sharing_checkbox": "Prekini dijeljenje nakon što se datoteke pošalju (deaktiviraj za preuzimanje pojedinačnih datoteka)",
"mode_settings_legacy_checkbox": "Koristi stare adrese (v2 onion usluge, ne preporučuje se)",
- "mode_settings_autostop_timer_checkbox": "Zaustavi onion uslugu u planirano vrijeme",
+ "mode_settings_autostop_timer_checkbox": "Prekini onion uslugu u planirano vrijeme",
"mode_settings_autostart_timer_checkbox": "Pokreni onion uslugu u planirano vrijeme",
"mode_settings_public_checkbox": "Nemoj koristiti lozinku",
"mode_settings_persistent_checkbox": "Spremi ovu karticu i automatski je otvori kad otvorim OnionShare",
@@ -212,10 +205,10 @@
"gui_new_tab": "Nova kartica",
"gui_qr_code_description": "Skeniraj ovaj QR kȏd pomoću QR čitača, kao što je kamera na tvom telefonu, za lakše dijeljenje adrese OnionSharea.",
"gui_receive_flatpak_data_dir": "Budući da je tvoj OnionShare instaliran pomoću Flatpak-a, datoteke moraš spremiti u jednu mapu u ~/OnionShare.",
- "gui_tab_name_chat": "Chat",
- "gui_new_tab_chat_button": "Anonimni chat",
- "gui_chat_start_server": "Pokreni poslužitelja za chat",
- "gui_chat_stop_server": "Zaustavi poslužitelja za chat",
+ "gui_tab_name_chat": "Razgovor",
+ "gui_new_tab_chat_button": "Razgovaraj anonimno",
+ "gui_chat_start_server": "Pokreni poslužitelja za razgovor",
+ "gui_chat_stop_server": "Prekini poslužitelja za razgovor",
"gui_chat_stop_server_autostop_timer": "Zaustavi poslužitelja za chat ({})",
"gui_tab_name_receive": "Primi",
"gui_open_folder_error": "Otvaranje mape s xdg-open nije uspjelo. Datoteka je ovdje: {}",
@@ -225,13 +218,22 @@
"gui_show_url_qr_code": "Prikaži QR-kod",
"gui_file_selection_remove_all": "Ukloni sve",
"gui_remove": "Ukloni",
- "gui_main_page_chat_button": "Pokreni chat",
+ "gui_main_page_chat_button": "Pokreni razgovor",
"gui_main_page_website_button": "Pokreni hosting",
"gui_main_page_receive_button": "Pokreni primanje",
"gui_main_page_share_button": "Pokreni dijeljenje",
- "gui_chat_url_description": "<b>Svatko</b> s ovom OnionShare adresom može se <b>pridružiti sobi za chat</b> koristeći <b>Tor preglednik</b>: <img src='{}' />",
+ "gui_chat_url_description": "<b>Svatko</b> s ovom OnionShare adresom može se <b>pridružiti sobi za razgovor</b> koristeći <b>Tor preglednik</b>: <img src='{}' />",
"error_port_not_available": "OnionShare priključak nije dostupan",
"gui_rendezvous_cleanup_quit_early": "Prekini preuranjeno",
"gui_rendezvous_cleanup": "Čekanje na zatvarnje Tor lanaca, kako bi se osigurao uspješan prijenos datoteka.\n\nOvo može potrajati nekoliko minuta.",
- "gui_color_mode_changed_notice": "Za primjenu novog modusa boja ponovo pokreni OnionShare ."
-}
+ "gui_color_mode_changed_notice": "Za primjenu novog modusa boja ponovo pokreni OnionShare .",
+ "history_receive_read_message_button": "Čitaj poruku",
+ "mode_settings_receive_disable_files_checkbox": "Onemogući prenošenje datoteka",
+ "mode_settings_receive_disable_text_checkbox": "Onemogući slanje teksta",
+ "mode_settings_title_label": "Prilagođeni naslov",
+ "gui_status_indicator_chat_scheduled": "Planirano …",
+ "gui_status_indicator_chat_working": "Pokretanje …",
+ "mode_settings_receive_webhook_url_checkbox": "Koristi automatsko obavještavanje",
+ "gui_status_indicator_chat_started": "Razgovor u tijeku",
+ "gui_status_indicator_chat_stopped": "Spremno za razgovor"
+} \ No newline at end of file
diff --git a/desktop/src/onionshare/resources/locale/hu.json b/desktop/src/onionshare/resources/locale/hu.json
index 7d0f6766..3a725427 100644
--- a/desktop/src/onionshare/resources/locale/hu.json
+++ b/desktop/src/onionshare/resources/locale/hu.json
@@ -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": "",
@@ -62,14 +59,12 @@
"gui_receive_quit_warning": "A fájlok fogadása folyamatban van. Biztosan kilépsz az OnionShare-ből?",
"gui_quit_warning_quit": "Kilépés",
"gui_quit_warning_dont_quit": "Mégse",
- "error_rate_limit": "Valaki túl sokszor próbálta meg beírni a jelszavad, ezért az OnionShare leállította a szervert. Kezdj el újra megosztani és küldj új megosztási címet a fogadó félnek.",
"zip_progress_bar_format": "Tömörítés: %p%",
"error_stealth_not_supported": "A kliens-hitelesítés használatához szükséged van legalább ezekre: Tor 0.2.9.1-alpha (vagy Tor Browser 6.5) és python3-stem 1.5.0.",
"error_ephemeral_not_supported": "Az OnionShare minimális követelményei: Tor 0.2.7.1 és python3-stem 1.4.0.",
"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: {}",
@@ -134,7 +129,6 @@
"gui_server_started_after_autostop_timer": "",
"gui_server_autostop_timer_expired": "",
"share_via_onionshare": "",
- "gui_use_legacy_v2_onions_checkbox": "",
"gui_save_private_key_checkbox": "",
"gui_share_url_description": "",
"gui_receive_url_description": "",
diff --git a/desktop/src/onionshare/resources/locale/id.json b/desktop/src/onionshare/resources/locale/id.json
index 9980a479..55af7794 100644
--- a/desktop/src/onionshare/resources/locale/id.json
+++ b/desktop/src/onionshare/resources/locale/id.json
@@ -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": "",
@@ -62,14 +59,12 @@
"gui_receive_quit_warning": "Anda sedang dalam proses menerima berkas. Apakah Anda yakin ingin menghentikan OnionShare?",
"gui_quit_warning_quit": "Keluar",
"gui_quit_warning_dont_quit": "Batal",
- "error_rate_limit": "Seseorang berusaha berulang kali untuk menebak kata sandi Anda, jadi OnionShare telah menghentikan server. Mulailah berbagi lagi dan kirim penerima alamat baru untuk dibagikan.",
"zip_progress_bar_format": "Mengompresi: %p%",
"error_stealth_not_supported": "Untuk menggunakan otorisasi klien, Anda perlu setidaknya Tor 0.2.9.1-alpha (atau Tor Browser 6.5) dan python3-stem 1.5.0.",
"error_ephemeral_not_supported": "OnionShare memerlukan setidaknya Tor 0.2.7.1 dan python3-stem 1.4.0.",
"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: {}",
@@ -134,7 +129,6 @@
"gui_server_started_after_autostop_timer": "Timer berhenti otomatis habis sebelum server dimulai. Silakan buat pembagian baru.",
"gui_server_autostop_timer_expired": "Timer berhenti otomatis sudah habis. Silakan sesuaikan untuk mulai berbagi.",
"share_via_onionshare": "Bagikan via OnionShare",
- "gui_use_legacy_v2_onions_checkbox": "",
"gui_save_private_key_checkbox": "",
"gui_share_url_description": "<b>Siapa saja</b> dengan alamat OnionShare ini dapat <b>mengunduh</b> berkas Anda menggunakan <b>Tor Browser</b>:<img src='{}' />",
"gui_receive_url_description": "<b>Siapa saja</b> dengan alamat OnionShare ini dapat <b>mengunggah</b> berkas ke komputer Anda menggunakan <b>Tor Browser</b>:<img src='{}' />",
@@ -217,7 +211,6 @@
"mode_settings_receive_data_dir_browse_button": "Telusur",
"mode_settings_receive_data_dir_label": "Simpan file ke",
"mode_settings_share_autostop_sharing_checkbox": "Berhenti berbagi setelah file dikirim (hapus centang untuk memperbolehkan mengunduh file individual)",
- "mode_settings_client_auth_checkbox": "Gunakan otorisasi klien",
"mode_settings_legacy_checkbox": "Gunakan alamat legacy (layanan onion v2, tidak disarankan)",
"mode_settings_autostop_timer_checkbox": "Hentikan layanan onion pada waktu yang dijadwalkan",
"mode_settings_autostart_timer_checkbox": "Mulai layanan onion pada waktu yang dijadwalkan",
@@ -277,5 +270,9 @@
"gui_close_tab_warning_persistent_description": "Tab ini persisten. Jika Anda menutup tab ini Anda akan kehilangan alamat onion yang sedang digunakan. Apakah Anda yakin mau menutup tab ini?",
"gui_chat_url_description": "<b>Siapa saja</b> dengan alamat OnionShare ini dapat <b>bergabung di ruang obrolan ini</b> menggunakan <b>Tor Browser</b>:<img src='{}' />",
"gui_website_url_description": "<b>Siapa saja</b> dengan alamat OnionShare ini dapat <b>mengunjungi</b> situs web Anda menggunakan <b>Tor Browser</b>:<img src='{}' />",
- "gui_server_autostart_timer_expired": "Waktu yang dijadwalkan telah terlewati. Silakan sesuaikan waktu untuk memulai berbagi."
+ "gui_server_autostart_timer_expired": "Waktu yang dijadwalkan telah terlewati. Silakan sesuaikan waktu untuk memulai berbagi.",
+ "gui_status_indicator_chat_started": "Mengobrol",
+ "gui_status_indicator_chat_scheduled": "Menjadwalkan…",
+ "gui_status_indicator_chat_working": "Memulai…",
+ "gui_status_indicator_chat_stopped": "Siap untuk mengobrol"
}
diff --git a/desktop/src/onionshare/resources/locale/is.json b/desktop/src/onionshare/resources/locale/is.json
index e8a3bf3b..91600653 100644
--- a/desktop/src/onionshare/resources/locale/is.json
+++ b/desktop/src/onionshare/resources/locale/is.json
@@ -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": "",
@@ -62,14 +59,12 @@
"gui_receive_quit_warning": "Þú ert að taka á móti skrám. Ertu viss um að þú viljir hætta í OnionShare?",
"gui_quit_warning_quit": "Hætta",
"gui_quit_warning_dont_quit": "Hætta við",
- "error_rate_limit": "Einhver hefur gert of margar rangar tilraunir til að giska á lykilorðið þitt, þannig að OnionShare hefur stöðvað þjóninn. Byrjaðu deiling aftur og sendu viðtakandanum nýtt vistfang til deilingar.",
"zip_progress_bar_format": "Þjappa: %p%",
"error_stealth_not_supported": "Til að nota biðlaraauðkenningu þarf a.m.k. bæði Tor 0.2.9.1-Alpha (eða Tor Browser 6,5) og python3-stem 1.5.0.",
"error_ephemeral_not_supported": "OnionShare krefst a.m.k. bæði Tor 0.2.7.1 og python3-stem 1.4.0.",
"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ð: {}",
@@ -133,7 +128,6 @@
"gui_tor_connection_lost": "Aftengt frá Tor.",
"gui_server_autostop_timer_expired": "Sjálfvirkri niðurtalningu er þegar lokið. Lagaðu hana til að hefja deilingu.",
"share_via_onionshare": "Deila með OnionShare",
- "gui_use_legacy_v2_onions_checkbox": "Nota eldri vistföng",
"gui_save_private_key_checkbox": "Nota viðvarandi vistföng",
"gui_share_url_description": "<b>Hver sem er</b> með þetta OnionShare vistfang getur <b>sótt</b> skrárnar þínar með því að nota <b>Tor-vafrann</b>: <img src='{}' />",
"gui_receive_url_description": "<b>Hver sem er</b> með þetta OnionShare vistfang getur <b>sent skrár inn</b> á tölvuna þína með því að nota <b>Tor-vafrann</b>: <img src='{}' />",
@@ -226,7 +220,6 @@
"hours_first_letter": "klst",
"minutes_first_letter": "mín",
"seconds_first_letter": "sek",
- "invalid_password_guess": "Ógilt lykilorð",
"gui_website_url_description": "<b>Hver sem er</b> með þetta OnionShare vistfang getur <b>skoðað</b> vefsvæðið þitt með því að nota <b>Tor-vafrann</b>: <img src='{}' />",
"gui_mode_website_button": "Birta vefsvæði",
"gui_website_mode_no_files": "Ennþá hefur engu vefsvæði verið deilt",
@@ -256,7 +249,6 @@
"mode_settings_advanced_toggle_show": "Birta ítarlegar stillingar",
"gui_new_tab_tooltip": "Opna nýjan flipa",
"gui_new_tab_receive_button": "Taka á móti skrám",
- "mode_settings_client_auth_checkbox": "Nota auðkenningu biðlaraforrits",
"mode_settings_advanced_toggle_hide": "Fela ítarlegar stillingar",
"gui_quit_warning_cancel": "Hætta við",
"gui_close_tab_warning_title": "Ertu viss?",
@@ -293,5 +285,14 @@
"mode_settings_receive_webhook_url_checkbox": "Nota webhook fyrir tilkynningar",
"mode_settings_receive_disable_files_checkbox": "Gera innsendingu skráa óvirka",
"mode_settings_receive_disable_text_checkbox": "Gera innsendingu texta óvirka",
- "mode_settings_title_label": "Sérsniðinn titill"
-}
+ "mode_settings_title_label": "Sérsniðinn titill",
+ "gui_status_indicator_chat_started": "Spjalla",
+ "gui_status_indicator_chat_scheduled": "Áætlað…",
+ "gui_status_indicator_chat_working": "Ræsi…",
+ "gui_status_indicator_chat_stopped": "Tilbúið í spjall",
+ "gui_please_wait_no_button": "Ræsi…",
+ "gui_settings_theme_dark": "Dökkt",
+ "gui_settings_theme_light": "Ljóst",
+ "gui_settings_theme_auto": "Sjálfvirkt",
+ "gui_settings_theme_label": "Þema"
+} \ No newline at end of file
diff --git a/desktop/src/onionshare/resources/locale/it.json b/desktop/src/onionshare/resources/locale/it.json
index 1adee18b..56463b14 100644
--- a/desktop/src/onionshare/resources/locale/it.json
+++ b/desktop/src/onionshare/resources/locale/it.json
@@ -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%",
@@ -62,14 +59,12 @@
"gui_receive_quit_warning": "Stai ricevendo dei file, vuoi davvero terminare OnionShare?",
"gui_quit_warning_quit": "Esci",
"gui_quit_warning_dont_quit": "Annulla",
- "error_rate_limit": "Qualcuno ha tentato troppe volte di indovinare la tua password, così OnionShare ha fermato il server. Riavvia la condivisione e invia al tuo contatto il nuovo indirizzo per condividere.",
"error_stealth_not_supported": "Per usare l'opzione \"client auth\" hai bisogno almeno della versione di Tor 0.2.9.1-alpha (o Tor Browser 6.5) con python3-stem 1.5.0.",
"error_ephemeral_not_supported": "OnionShare richiede almeno Tor 0.2.7.1 e python3-stem 1.4.0.",
"gui_settings_window_title": "Impostazioni",
"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: {}",
@@ -140,7 +135,6 @@
"gui_server_autostop_timer_expired": "Il timer di arresto automatico è già scaduto. Si prega di modificarlo per iniziare la condivisione.",
"share_via_onionshare": "Condividi via OnionShare",
"gui_connect_to_tor_for_onion_settings": "Connetti a Tor per vedere le impostazioni del servizio onion",
- "gui_use_legacy_v2_onions_checkbox": "Usa gli indirizzi legacy",
"gui_save_private_key_checkbox": "Usa un indirizzo persistente",
"gui_share_url_description": "<b>1 Tutti</b>2 con questo l'indirizzo di OnionShare possono <b>3 scaricare</b>4 i tuoi file usando <b>5 il Browser Tor</b>6: <img src='{}' />7",
"gui_receive_url_description": "<b>1 Tutti</b>2 con questo indirizzo OnionShare possono <b>3 caricare</b>4 file nel tuo computer usando <b>5 Tor Browser</b>6: <img src='{}' />7",
@@ -266,7 +260,6 @@
"gui_close_tab_warning_website_description": "Stai ospitando un sito web. Sei sicuro di voler chiudere questa scheda?",
"mode_settings_website_disable_csp_checkbox": "Non inviare l'intestazione della Politica sulla Sicurezza dei Contenuti (consente al sito web di utilizzare risorse di terze parti)",
"mode_settings_receive_data_dir_browse_button": "Naviga",
- "mode_settings_client_auth_checkbox": "Usa l'autorizzazione del client",
"mode_settings_autostop_timer_checkbox": "Interrompere il servizio onion all'ora pianificata",
"mode_settings_autostart_timer_checkbox": "Avviare il servizio onion all'ora pianificata",
"mode_settings_persistent_checkbox": "Salva questa scheda e aprirla automaticamente quando apro OnionShare",
diff --git a/desktop/src/onionshare/resources/locale/ja.json b/desktop/src/onionshare/resources/locale/ja.json
index 4235ff87..6f7d0cff 100644
--- a/desktop/src/onionshare/resources/locale/ja.json
+++ b/desktop/src/onionshare/resources/locale/ja.json
@@ -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% (計算中)",
@@ -65,14 +62,12 @@
"gui_receive_quit_warning": "ファイルを受信中です。本当にOnionShareを終了しますか?",
"gui_quit_warning_quit": "終了",
"gui_quit_warning_dont_quit": "キャンセル",
- "error_rate_limit": "誰かが何度パスワードを推測しようとして試みるので、不正アクセスしようとする可能性があります。セキュリティーのためにOnionShareはサーバーを停止しました。再び共有し始めて、受領者に新しいアドレスを送って下さい。",
"zip_progress_bar_format": "圧縮中: %p%",
"error_stealth_not_supported": "クライアント認証を使用するのに、少なくともTor 0.2.9.1-alpha (それともTor Browser 6.5)とpython3-stem 1.5.0が必要です。",
"error_ephemeral_not_supported": "OnionShareは少なくともTor 0.2.7.1とpython3-stem 1.4.0が必要です。",
"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": "前回にチェックした時: {}",
@@ -138,7 +133,6 @@
"gui_server_autostop_timer_expired": "自動停止タイマーはすでにタイムアウトしています。共有し始めるにはタイマーを調整して下さい。",
"share_via_onionshare": "OnionShareで共有する",
"gui_connect_to_tor_for_onion_settings": "onionサービス設定を見るのにTorと接続して下さい",
- "gui_use_legacy_v2_onions_checkbox": "レガシーアドレスを使用する",
"gui_save_private_key_checkbox": "永続的アドレスを使用する",
"gui_share_url_description": "このOnionShareアドレスを持つ限り<b>誰でも</b>は<b>Tor Browser</b>を利用してこのファイルを<b>ダウンロードできます</b>:<img src='{}' />",
"gui_receive_url_description": "このOnionShareアドレスを持つ限り<b>誰でも</b>は<b>Tor Browser</b>を利用してこのPCにファイルを<b>アップロードできます</b>:<img src='{}' />",
@@ -238,7 +232,6 @@
"mode_settings_receive_data_dir_browse_button": "閲覧",
"mode_settings_receive_data_dir_label": "保存するファイルの位置",
"mode_settings_share_autostop_sharing_checkbox": "ファイル送信が終了したら共有を停止(個別ファイルのダウンロードを許可するにはチェックマークを消す)",
- "mode_settings_client_auth_checkbox": "クライアント認証を利用",
"mode_settings_legacy_checkbox": "レガシーアドレスを利用する(v2 onionサービス、非推奨)",
"mode_settings_autostop_timer_checkbox": "指定の日時にonionサービスを停止する",
"mode_settings_autostart_timer_checkbox": "指定の日時にonionサービスを起動する",
diff --git a/desktop/src/onionshare/resources/locale/ka.json b/desktop/src/onionshare/resources/locale/ka.json
index 9c41ed9f..87d5c0c5 100644
--- a/desktop/src/onionshare/resources/locale/ka.json
+++ b/desktop/src/onionshare/resources/locale/ka.json
@@ -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": "",
@@ -62,14 +59,12 @@
"gui_receive_quit_warning": "",
"gui_quit_warning_quit": "პროგრამის დატოვება",
"gui_quit_warning_dont_quit": "",
- "error_rate_limit": "",
"zip_progress_bar_format": "",
"error_stealth_not_supported": "",
"error_ephemeral_not_supported": "",
"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": "",
@@ -134,7 +129,6 @@
"gui_server_started_after_autostop_timer": "",
"gui_server_autostop_timer_expired": "",
"share_via_onionshare": "",
- "gui_use_legacy_v2_onions_checkbox": "",
"gui_save_private_key_checkbox": "",
"gui_share_url_description": "",
"gui_receive_url_description": "",
diff --git a/desktop/src/onionshare/resources/locale/km.json b/desktop/src/onionshare/resources/locale/km.json
index 44dfde5a..11b3cdb3 100644
--- a/desktop/src/onionshare/resources/locale/km.json
+++ b/desktop/src/onionshare/resources/locale/km.json
@@ -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": "",
@@ -34,14 +31,12 @@
"gui_receive_quit_warning": "",
"gui_quit_warning_quit": "",
"gui_quit_warning_dont_quit": "",
- "error_rate_limit": "",
"zip_progress_bar_format": "",
"error_stealth_not_supported": "",
"error_ephemeral_not_supported": "",
"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": "",
@@ -111,7 +106,6 @@
"gui_autostop_timer_cant_be_earlier_than_autostart_timer": "",
"share_via_onionshare": "",
"gui_connect_to_tor_for_onion_settings": "",
- "gui_use_legacy_v2_onions_checkbox": "",
"gui_save_private_key_checkbox": "",
"gui_share_url_description": "",
"gui_receive_url_description": "",
diff --git a/desktop/src/onionshare/resources/locale/ko.json b/desktop/src/onionshare/resources/locale/ko.json
index adda3a69..76c0c814 100644
--- a/desktop/src/onionshare/resources/locale/ko.json
+++ b/desktop/src/onionshare/resources/locale/ko.json
@@ -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": "",
@@ -63,14 +60,12 @@
"gui_receive_quit_warning": "",
"gui_quit_warning_quit": "종료",
"gui_quit_warning_dont_quit": "취소",
- "error_rate_limit": "",
"zip_progress_bar_format": "",
"error_stealth_not_supported": "",
"error_ephemeral_not_supported": "",
"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": "",
@@ -135,7 +130,6 @@
"gui_server_started_after_autostop_timer": "",
"gui_server_autostop_timer_expired": "",
"share_via_onionshare": "",
- "gui_use_legacy_v2_onions_checkbox": "",
"gui_save_private_key_checkbox": "",
"gui_share_url_description": "",
"gui_receive_url_description": "",
diff --git a/desktop/src/onionshare/resources/locale/lg.json b/desktop/src/onionshare/resources/locale/lg.json
index 96b5a0d1..13e70fdf 100644
--- a/desktop/src/onionshare/resources/locale/lg.json
+++ b/desktop/src/onionshare/resources/locale/lg.json
@@ -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": "",
@@ -63,14 +60,12 @@
"gui_receive_quit_warning": "",
"gui_quit_warning_quit": "",
"gui_quit_warning_dont_quit": "",
- "error_rate_limit": "",
"zip_progress_bar_format": "",
"error_stealth_not_supported": "",
"error_ephemeral_not_supported": "",
"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": "",
@@ -135,7 +130,6 @@
"gui_server_started_after_autostop_timer": "",
"gui_server_autostop_timer_expired": "",
"share_via_onionshare": "",
- "gui_use_legacy_v2_onions_checkbox": "",
"gui_save_private_key_checkbox": "",
"gui_share_url_description": "",
"gui_receive_url_description": "",
diff --git a/desktop/src/onionshare/resources/locale/lt.json b/desktop/src/onionshare/resources/locale/lt.json
index b34bb52a..0623a8b1 100644
--- a/desktop/src/onionshare/resources/locale/lt.json
+++ b/desktop/src/onionshare/resources/locale/lt.json
@@ -4,10 +4,10 @@
"no_available_port": "",
"other_page_loaded": "Adresas įkeltas",
"incorrect_password": "Neteisingas slaptažodis",
- "close_on_autostop_timer": "",
+ "close_on_autostop_timer": "Sustabdyta, nes baigėsi automatinio sustabdymo laikmatis",
"closing_automatically": "Sustabdyta, nes perdavimas yra užbaigtas",
"large_filesize": "Įspėjimas: Didelio viešinio siuntimas gali užtrukti ilgą laiką (kelias valandas)",
- "gui_drag_and_drop": "Norėdami bendrinti,\ntempkite čia failus ir aplankus",
+ "gui_drag_and_drop": "Norėdami bendrinti, tempkite failus ir aplankus čia",
"gui_add": "Pridėti",
"gui_add_files": "Pridėti failus",
"gui_add_folder": "Pridėti aplanką",
@@ -16,8 +16,8 @@
"gui_share_start_server": "Pradėti bendrinti",
"gui_share_stop_server": "Nustoti bendrinti",
"gui_share_stop_server_autostop_timer": "Nustoti bendrinti ({})",
- "gui_stop_server_autostop_timer_tooltip": "",
- "gui_start_server_autostart_timer_tooltip": "",
+ "gui_stop_server_autostop_timer_tooltip": "Automatinio sustabdymo laikmatis baigiasi {}",
+ "gui_start_server_autostart_timer_tooltip": "Automatinio paleidimo laikmatis baigiasi {}",
"gui_receive_start_server": "Įjungti gavimo veikseną",
"gui_receive_stop_server": "Išjungti gavimo veikseną",
"gui_receive_stop_server_autostop_timer": "Išjungti gavimo veikseną (Liko {})",
@@ -28,9 +28,8 @@
"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_waiting_to_start": "Planuojama pradėti {}. Spustelėkite , jei norite atšaukti.",
"gui_please_wait": "Pradedama… Spustelėkite norėdami atsisakyti.",
- "error_rate_limit": "",
"zip_progress_bar_format": "Glaudinama: %p%",
"error_stealth_not_supported": "",
"error_ephemeral_not_supported": "",
@@ -40,7 +39,7 @@
"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": "",
+ "gui_settings_autoupdate_timestamp": "Paskutinį kartą tikrinta: {}",
"gui_settings_autoupdate_timestamp_never": "Niekada",
"gui_settings_autoupdate_check_button": "Tikrinti, ar yra nauja versija",
"gui_settings_general_label": "Bendri nustatymai",
@@ -50,25 +49,25 @@
"gui_settings_csp_header_disabled_option": "",
"gui_settings_individual_downloads_label": "",
"gui_settings_connection_type_label": "Kaip OnionShare turėtų jungtis prie Tor?",
- "gui_settings_connection_type_bundled_option": "",
- "gui_settings_connection_type_automatic_option": "",
- "gui_settings_connection_type_control_port_option": "",
- "gui_settings_connection_type_socket_file_option": "",
- "gui_settings_connection_type_test_button": "",
- "gui_settings_control_port_label": "",
- "gui_settings_socket_file_label": "",
+ "gui_settings_connection_type_bundled_option": "Naudokite „Tor“ versiją, integruotą į „OnionShare“",
+ "gui_settings_connection_type_automatic_option": "Bandyti automatiškai konfigūruoti naudojant „Tor“ naršyklę",
+ "gui_settings_connection_type_control_port_option": "Prisijunkti naudojant valdymo prievadą",
+ "gui_settings_connection_type_socket_file_option": "Prisijungti naudojant socket failą",
+ "gui_settings_connection_type_test_button": "Tikrinti ryšį su „Tor“",
+ "gui_settings_control_port_label": "Valdymo prievadas",
+ "gui_settings_socket_file_label": "Socket failas",
"gui_settings_socks_label": "SOCKS prievadas",
- "gui_settings_authenticate_label": "",
- "gui_settings_authenticate_no_auth_option": "",
+ "gui_settings_authenticate_label": "Tor autentifikavimo nustatymai",
+ "gui_settings_authenticate_no_auth_option": "Jokio autentifikavimo ar slapukų autentifikavimo",
"gui_settings_authenticate_password_option": "Slaptažodis",
"gui_settings_password_label": "Slaptažodis",
- "gui_settings_tor_bridges": "",
- "gui_settings_tor_bridges_no_bridges_radio_option": "",
- "gui_settings_tor_bridges_obfs4_radio_option": "",
- "gui_settings_tor_bridges_obfs4_radio_option_no_obfs4proxy": "",
- "gui_settings_tor_bridges_meek_lite_azure_radio_option": "",
- "gui_settings_tor_bridges_meek_lite_azure_radio_option_no_obfs4proxy": "",
- "gui_settings_meek_lite_expensive_warning": "",
+ "gui_settings_tor_bridges": "„Tor“ tilto palaikymas",
+ "gui_settings_tor_bridges_no_bridges_radio_option": "Nenaudoti tiltų",
+ "gui_settings_tor_bridges_obfs4_radio_option": "Naudoti integruotą obfs4 prijungiamą transportą",
+ "gui_settings_tor_bridges_obfs4_radio_option_no_obfs4proxy": "Naudoti integruotą obfs4 prijungiamą transportą (reikalingas obfs4proxy)",
+ "gui_settings_tor_bridges_meek_lite_azure_radio_option": "Naudoti integruotus meek_lite („Azure“) prijungiamus transportus",
+ "gui_settings_tor_bridges_meek_lite_azure_radio_option_no_obfs4proxy": "Naudoti integruotus meek_lite („Azure“) prijungiamus transportus (reikalingas obfs4proxy)",
+ "gui_settings_meek_lite_expensive_warning": "Įspėjimas: <br><br>Meek_lite tiltai labai brangiai kainuoja „Tor“ projektui.<br><br>Jais naudokitės tik tuo atveju, jei negalite prisijungti prie „Tor“ tiesiogiai, per obfs4 transportą ar kitus įprastus tiltus.",
"gui_settings_tor_bridges_custom_radio_option": "Naudoti tinkintus tinklų tiltus",
"gui_settings_tor_bridges_custom_label": "Galite gauti tinklų tiltus iš <a href=\"https://bridges.torproject.org/options\">https://bridges.torproject.org</a>",
"gui_settings_tor_bridges_invalid": "Nei vienas iš jūsų pridėtų tinklų tiltų neveikia.\nPatikrinkite juos dar kartą arba pridėkite kitus.",
@@ -79,60 +78,59 @@
"gui_settings_autostop_timer": "",
"gui_settings_autostart_timer_checkbox": "",
"gui_settings_autostart_timer": "",
- "settings_error_unknown": "",
- "settings_error_automatic": "",
- "settings_error_socket_port": "",
- "settings_error_socket_file": "",
- "settings_error_auth": "",
- "settings_error_missing_password": "",
- "settings_error_unreadable_cookie_file": "",
- "settings_error_bundled_tor_not_supported": "",
- "settings_error_bundled_tor_timeout": "",
+ "settings_error_unknown": "Nepavyksta prisijungti prie „Tor“ valdiklio, nes jūsų nustatymai nustatyti nesuprantamai.",
+ "settings_error_automatic": "Nepavyko prisijungti prie „Tor“ valdiklio. Ar „Tor“ naršyklė (prieinama torproject.org) veikia fone?",
+ "settings_error_socket_port": "Nepavyksta prisijungti prie „Tor“ valdiklio adresu {}:{}.",
+ "settings_error_socket_file": "Negalima prisijungti prie „Tor“ valdiklio naudojant lizdo failą {}.",
+ "settings_error_auth": "Prisijungta prie {}:{}, bet negalima patvirtinti autentiškumo. Galbūt tai ne „Tor“ valdiklis?",
+ "settings_error_missing_password": "Prisijungta prie „Tor“ valdiklio, tačiau norint jį autentifikuoti reikia slaptažodžio.",
+ "settings_error_unreadable_cookie_file": "Prisijungta prie „Tor“ valdiklio, bet slaptažodis gali būti klaidingas arba jūsų naudotojui neleidžiama skaityti slapukų failo.",
+ "settings_error_bundled_tor_not_supported": "Naudojant „Tor“ versiją, kuri pateikiama kartu su \"OnionShare\", \"Windows\" arba \"macOS\" sistemose ji neveiks kūrėjo režime.",
+ "settings_error_bundled_tor_timeout": "Per ilgai trunka prisijungimas prie „Tor“. Galbūt nesate prisijungę prie interneto arba turite netikslų sistemos laikrodį?",
"settings_error_bundled_tor_broken": "OnionShare nepavyko prisijungti prie Tor:\n{}",
- "settings_test_success": "",
- "error_tor_protocol_error": "",
+ "settings_test_success": "Prisijungta prie „Tor“ valdiklio.\n\n„Tor“ versija: {}\nPalaiko efemerines onion paslaugas: {}.\nPalaiko kliento autentifikavimą: {}.\nPalaiko naujos kartos .onion adresus: {}.",
+ "error_tor_protocol_error": "Įvyko „Tor“ klaida: {}",
"error_tor_protocol_error_unknown": "",
"connecting_to_tor": "Jungiamasi prie Tor tinklo",
- "update_available": "",
- "update_error_invalid_latest_version": "",
- "update_error_check_error": "",
+ "update_available": "Išleistas naujas „OnionShare“. <a href='{}'>Paspauskite čia</a>, kad jį gautumėte.<br><br>Jūs naudojate {}, o naujausia versija yra {}.",
+ "update_error_invalid_latest_version": "Nepavyko patikrinti naujos versijos: „OnionShare“ svetainė sako, kad naujausia versija yra neatpažįstama „{}“…",
+ "update_error_check_error": "Nepavyko patikrinti naujos versijos: Galbūt nesate prisijungę prie „Tor“ arba „OnionShare“ svetainė neveikia?",
"update_not_available": "Jūs naudojate naujausią OnionShare versiją.",
- "gui_tor_connection_ask": "",
+ "gui_tor_connection_ask": "Atidarykite nustatymus, kad sutvarkytumėte ryšį su „Tor“?",
"gui_tor_connection_ask_open_settings": "Taip",
"gui_tor_connection_ask_quit": "Išeiti",
"gui_tor_connection_error_settings": "Pabandykite nustatymuose pakeisti tai, kaip OnionShare jungiasi prie Tor tinklo.",
"gui_tor_connection_canceled": "Nepavyko prisijungti prie Tor.\n\nĮsitikinkite, kad esate prisijungę prie interneto, o tuomet iš naujo atverkite OnionShare ir nustatykite prisijungimą prie Tor.",
"gui_tor_connection_lost": "Atsijungta nuo Tor.",
- "gui_server_started_after_autostop_timer": "",
- "gui_server_autostop_timer_expired": "",
- "gui_server_autostart_timer_expired": "",
- "gui_autostop_timer_cant_be_earlier_than_autostart_timer": "",
+ "gui_server_started_after_autostop_timer": "Automatinio sustabdymo laikmatis baigėsi prieš paleidžiant serverį. Prašome sukurti naują bendrinimą.",
+ "gui_server_autostop_timer_expired": "Automatinio sustabdymo laikmatis jau baigėsi. Sureguliuokite jį, kad pradėtumėte dalintis.",
+ "gui_server_autostart_timer_expired": "Numatytas laikas jau praėjo. Pakoreguokite jį, kad galėtumėte pradėti dalintis.",
+ "gui_autostop_timer_cant_be_earlier_than_autostart_timer": "Automatinio sustabdymo laikas negali būti toks pat arba ankstesnis už automatinio paleidimo laiką. Sureguliuokite jį, kad galėtumėte pradėti dalytis.",
"share_via_onionshare": "Bendrinti per OnionShare",
"gui_connect_to_tor_for_onion_settings": "",
- "gui_use_legacy_v2_onions_checkbox": "",
"gui_save_private_key_checkbox": "",
"gui_share_url_description": "<b>Visi</b>, turintys šį OnionShare adresą gali <b>atsisiųsti</b> jūsų failus, naudodamiesi <b>Tor Naršykle</b>: <img src='{}' />",
- "gui_website_url_description": "",
- "gui_receive_url_description": "",
- "gui_url_label_persistent": "",
- "gui_url_label_stay_open": "",
- "gui_url_label_onetime": "",
- "gui_url_label_onetime_and_persistent": "",
- "gui_status_indicator_share_stopped": "",
+ "gui_website_url_description": "<b>Kiekvienas</b>, turintis šį „OnionShare“ adresą, gali <b>apsilankyti</b> jūsų svetainėje naudodamas <b>„Tor“ naršyklę</b>: <img src='{}' />",
+ "gui_receive_url_description": "<b>Kiekvienas</b>, turintis šį „OnionShare“ adresą, gali <b>įkelti</b> failus į jūsų kompiuterį naudodamas <b>„Tor“ naršyklę</b>: <img src='{}' />",
+ "gui_url_label_persistent": "Šis bendrinimas nebus automatiškai sustabdytas.<br><br>Kiekvienas vėlesnis bendrinimas pakartotinai naudoja adresą. (Norėdami naudoti vienkartinius adresus, nustatymuose išjunkite \"Naudoti nuolatinį adresą\".)",
+ "gui_url_label_stay_open": "Šis bendrinimas nebus automatiškai sustabdytas.",
+ "gui_url_label_onetime": "Šis bendrinimas pabaigus bus automatiškai sustabdytas.",
+ "gui_url_label_onetime_and_persistent": "Šis bendrinimas nebus automatiškai sustabdytas.<br><br>Kiekvienas vėlesnis bendrinimas pakartotinai naudos adresą. (Norėdami naudoti vienkartinius adresus, nustatymuose išjunkite \"Naudoti nuolatinį adresą\".)",
+ "gui_status_indicator_share_stopped": "Parengta dalintis",
"gui_status_indicator_share_working": "Pradedama…",
- "gui_status_indicator_share_scheduled": "",
- "gui_status_indicator_share_started": "",
- "gui_status_indicator_receive_stopped": "",
- "gui_status_indicator_receive_working": "",
- "gui_status_indicator_receive_scheduled": "",
+ "gui_status_indicator_share_scheduled": "Suplanuota…",
+ "gui_status_indicator_share_started": "Dalijimasis",
+ "gui_status_indicator_receive_stopped": "Parengta gauti",
+ "gui_status_indicator_receive_working": "Pradedama…",
+ "gui_status_indicator_receive_scheduled": "Suplanuota…",
"gui_status_indicator_receive_started": "Gaunama",
- "gui_file_info": "",
- "gui_file_info_single": "",
- "history_in_progress_tooltip": "",
- "history_completed_tooltip": "",
- "history_requests_tooltip": "",
+ "gui_file_info": "{} failai, {}",
+ "gui_file_info_single": "{} failas, {}",
+ "history_in_progress_tooltip": "{} vykdoma",
+ "history_completed_tooltip": "{} baigta",
+ "history_requests_tooltip": "{} žiniatinklio užklausos",
"error_cannot_create_data_dir": "Nepavyko sukurti OnionShare duomenų aplanko: {}",
- "gui_receive_mode_warning": "",
+ "gui_receive_mode_warning": "Gavimo režimas leidžia žmonėms nusiųsti failus į jūsų kompiuterį. <br><br><b>Kai kurie failai gali perimti kompiuterio valdymą, jei juos atidarysite. Atidarykite failus tik iš žmonių, kuriais pasitikite, arba jei žinote, ką darote.</b>",
"gui_mode_share_button": "",
"gui_mode_receive_button": "",
"gui_mode_website_button": "",
@@ -147,67 +145,97 @@
"systray_menu_exit": "Išeiti",
"systray_page_loaded_title": "Puslapis įkeltas",
"systray_page_loaded_message": "OnionShare adresas įkeltas",
- "systray_share_started_title": "",
+ "systray_share_started_title": "Pradėtas dalijimasis",
"systray_share_started_message": "Pradedama kažkam siųsti failus",
- "systray_share_completed_title": "",
+ "systray_share_completed_title": "Dalijimasis baigtas",
"systray_share_completed_message": "Failų siuntimas užbaigtas",
- "systray_share_canceled_title": "",
- "systray_share_canceled_message": "",
- "systray_receive_started_title": "",
+ "systray_share_canceled_title": "Dalijimasis atšauktas",
+ "systray_share_canceled_message": "Kažkas atšaukė jūsų failų gavimą",
+ "systray_receive_started_title": "Pradėtas gavimas",
"systray_receive_started_message": "Kažkas siunčia jums failus",
"gui_all_modes_history": "Istorija",
- "gui_all_modes_clear_history": "",
- "gui_all_modes_transfer_started": "",
- "gui_all_modes_transfer_finished_range": "",
- "gui_all_modes_transfer_finished": "",
- "gui_all_modes_transfer_canceled_range": "",
- "gui_all_modes_transfer_canceled": "",
- "gui_all_modes_progress_complete": "",
+ "gui_all_modes_clear_history": "Išvalyti viską",
+ "gui_all_modes_transfer_started": "Pradėta {}",
+ "gui_all_modes_transfer_finished_range": "Perkelta {} - {}",
+ "gui_all_modes_transfer_finished": "Perkelta {}",
+ "gui_all_modes_transfer_canceled_range": "Atšaukta {} - {}",
+ "gui_all_modes_transfer_canceled": "Atšaukta {}",
+ "gui_all_modes_progress_complete": "Praėjo %p%, {0:s}.",
"gui_all_modes_progress_starting": "{0:s}, %p% (apskaičiuojama)",
- "gui_all_modes_progress_eta": "",
+ "gui_all_modes_progress_eta": "{0:s}, Preliminarus laikas: {1:s}, %p%",
"gui_share_mode_no_files": "Kol kas nėra išsiųstų failų",
- "gui_share_mode_autostop_timer_waiting": "",
- "gui_website_mode_no_files": "",
+ "gui_share_mode_autostop_timer_waiting": "Laukiama, kol bus baigtas siuntimas",
+ "gui_website_mode_no_files": "Dar nėra bendrinama jokia svetainė",
"gui_receive_mode_no_files": "Kol kas nėra gautų failų",
- "gui_receive_mode_autostop_timer_waiting": "",
- "days_first_letter": "d.",
- "hours_first_letter": "",
- "minutes_first_letter": "",
- "seconds_first_letter": "",
+ "gui_receive_mode_autostop_timer_waiting": "Laukiama, kol bus baigtas gavimas",
+ "days_first_letter": "d",
+ "hours_first_letter": "val",
+ "minutes_first_letter": "min",
+ "seconds_first_letter": "s",
"gui_new_tab": "Nauja kortelė",
"gui_new_tab_tooltip": "Atverti naują kortelę",
- "gui_new_tab_share_button": "",
+ "gui_new_tab_share_button": "Dalytis failais",
"gui_new_tab_share_description": "",
- "gui_new_tab_receive_button": "",
+ "gui_new_tab_receive_button": "Gauti failus",
"gui_new_tab_receive_description": "",
- "gui_new_tab_website_button": "",
+ "gui_new_tab_website_button": "Talpinti svetainę",
"gui_new_tab_website_description": "",
"gui_close_tab_warning_title": "Ar tikrai?",
- "gui_close_tab_warning_persistent_description": "",
- "gui_close_tab_warning_share_description": "",
- "gui_close_tab_warning_receive_description": "",
- "gui_close_tab_warning_website_description": "",
+ "gui_close_tab_warning_persistent_description": "Šis skirtukas yra nuolatinis. Jei jį uždarysite, prarasite jo naudojamą onion adresą. Ar tikrai norite jį uždaryti?",
+ "gui_close_tab_warning_share_description": "Šiuo metu siunčiate failus. Ar tikrai norite uždaryti šį skirtuką?",
+ "gui_close_tab_warning_receive_description": "Šiuo metu gaunate failus. Ar tikrai norite uždaryti šį skirtuką?",
+ "gui_close_tab_warning_website_description": "Aktyviai talpinate svetainę. Ar tikrai norite uždaryti šį skirtuką?",
"gui_close_tab_warning_close": "Užverti",
"gui_close_tab_warning_cancel": "Atsisakyti",
"gui_quit_warning_title": "Ar tikrai?",
- "gui_quit_warning_description": "",
+ "gui_quit_warning_description": "Kuriuose skirtukuose yra aktyviai dalijamasi . Jei išeisite, visi skirtukai bus uždaryti. Ar tikrai norite baigti?",
"gui_quit_warning_quit": "Išeiti",
"gui_quit_warning_cancel": "Atsisakyti",
"mode_settings_advanced_toggle_show": "Rodyti išplėstinius nustatymus",
"mode_settings_advanced_toggle_hide": "Slėpti išplėstinius nustatymus",
- "mode_settings_persistent_checkbox": "",
+ "mode_settings_persistent_checkbox": "Išsaugoti šį skirtuką ir automatiškai jį atidaryti, kai atidarysiu „OnionShare“",
"mode_settings_public_checkbox": "Nenaudoti slaptažodžio",
- "mode_settings_autostart_timer_checkbox": "",
- "mode_settings_autostop_timer_checkbox": "",
- "mode_settings_legacy_checkbox": "",
- "mode_settings_client_auth_checkbox": "",
- "mode_settings_share_autostop_sharing_checkbox": "",
+ "mode_settings_autostart_timer_checkbox": "Pradėti onion paslaugos paleidimą suplanuotu laiku",
+ "mode_settings_autostop_timer_checkbox": "Sustabdyti onion paslaugos paleidimą suplanuotu laiku",
+ "mode_settings_legacy_checkbox": "Naudoti senąjį adresą (nerekomenduojama naudoti v2 onion paslaugos)",
+ "mode_settings_share_autostop_sharing_checkbox": "Sustabdyti dalijimąsi po to, kai failai buvo išsiųsti (atžymėkite, jei norite leisti atsisiųsti atskirus failus)",
"mode_settings_receive_data_dir_label": "Įrašyti failus į",
"mode_settings_receive_data_dir_browse_button": "Naršyti",
- "mode_settings_website_disable_csp_checkbox": "",
+ "mode_settings_website_disable_csp_checkbox": "Nesiųskite turinio saugumo politikos antraštės (leidžia jūsų svetainei naudoti trečiųjų šalių išteklius)",
"gui_file_selection_remove_all": "Šalinti visus",
"gui_remove": "Šalinti",
"gui_qr_code_dialog_title": "OnionShare QR kodas",
"gui_show_url_qr_code": "Rodyti QR kodą",
- "gui_open_folder_error": "Nepavyko atverti aplanko naudojant xdg-open. Failas yra čia: {}"
-}
+ "gui_open_folder_error": "Nepavyko atverti aplanko naudojant xdg-open. Failas yra čia: {}",
+ "gui_chat_stop_server": "Sustabdyti pokalbių serverį",
+ "gui_chat_start_server": "Pradėti pokalbių serverį",
+ "history_receive_read_message_button": "Skaityti žinutę",
+ "mode_settings_title_label": "Pasirinktinis pavadinimas",
+ "gui_main_page_chat_button": "Pradėti pokalbį",
+ "gui_main_page_receive_button": "Pradėti gavimą",
+ "gui_main_page_share_button": "Pradėti dalintis",
+ "gui_new_tab_chat_button": "Kalbėtis anonimiškai",
+ "gui_status_indicator_chat_scheduled": "Suplanuota…",
+ "gui_status_indicator_chat_working": "Pradedama…",
+ "gui_tab_name_chat": "Pokalbiai",
+ "gui_tab_name_website": "Tinklalapis",
+ "gui_tab_name_receive": "Gauti",
+ "gui_tab_name_share": "Dalintis",
+ "gui_receive_flatpak_data_dir": "Kadangi „OnionShare“ įdiegėte naudodami „Flatpak“, turite išsaugoti failus aplanke, esančiame ~/OnionShare.",
+ "mode_settings_receive_webhook_url_checkbox": "Naudoti pranešimų webhook",
+ "gui_main_page_website_button": "Pradėti talpinimą",
+ "gui_status_indicator_chat_started": "Kalbamasi",
+ "gui_status_indicator_chat_stopped": "Paruošta pokalbiui",
+ "gui_color_mode_changed_notice": "Iš naujo paleiskite „OnionShare“, kad būtų pritaikytas naujas spalvų režimas.",
+ "mode_settings_receive_disable_files_checkbox": "Išjungti failų įkėlimą",
+ "mode_settings_receive_disable_text_checkbox": "Išjungti teksto pateikimą",
+ "gui_rendezvous_cleanup": "Laukiama, kol užsidarys „Tor“ grandinės, kad įsitikintume, jog jūsų failai sėkmingai perkelti.\n\nTai gali užtrukti kelias minutes.",
+ "gui_rendezvous_cleanup_quit_early": "Išeiti anksčiau",
+ "error_port_not_available": "„OnionShare“ prievadas nepasiekiamas",
+ "gui_chat_url_description": "<b>Kiekvienas</b>, turintis šį „OnionShare“ adresą, gali <b>prisijungti prie šio pokalbių kambario</b> naudodamas <b>„Tor“ naršyklę</b>: <img src='{}' />",
+ "gui_settings_theme_dark": "Tamsi",
+ "gui_settings_theme_light": "Šviesi",
+ "gui_settings_theme_auto": "Automatinė",
+ "gui_settings_theme_label": "Tema",
+ "gui_please_wait_no_button": "Pradedama…"
+} \ No newline at end of file
diff --git a/desktop/src/onionshare/resources/locale/mk.json b/desktop/src/onionshare/resources/locale/mk.json
index b389c2a0..a264021f 100644
--- a/desktop/src/onionshare/resources/locale/mk.json
+++ b/desktop/src/onionshare/resources/locale/mk.json
@@ -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": "",
@@ -62,14 +59,12 @@
"gui_receive_quit_warning": "",
"gui_quit_warning_quit": "Излези",
"gui_quit_warning_dont_quit": "Откажи",
- "error_rate_limit": "",
"zip_progress_bar_format": "",
"error_stealth_not_supported": "",
"error_ephemeral_not_supported": "",
"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": "",
@@ -134,7 +129,6 @@
"gui_server_started_after_autostop_timer": "",
"gui_server_autostop_timer_expired": "",
"share_via_onionshare": "",
- "gui_use_legacy_v2_onions_checkbox": "",
"gui_save_private_key_checkbox": "",
"gui_share_url_description": "",
"gui_receive_url_description": "",
diff --git a/desktop/src/onionshare/resources/locale/ms.json b/desktop/src/onionshare/resources/locale/ms.json
index 8fda843a..371c61b7 100644
--- a/desktop/src/onionshare/resources/locale/ms.json
+++ b/desktop/src/onionshare/resources/locale/ms.json
@@ -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": "",
@@ -49,14 +46,12 @@
"gui_receive_quit_warning": "",
"gui_quit_warning_quit": "Keluar",
"gui_quit_warning_dont_quit": "Batal",
- "error_rate_limit": "",
"zip_progress_bar_format": "",
"error_stealth_not_supported": "",
"error_ephemeral_not_supported": "",
"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": "",
@@ -123,7 +118,6 @@
"gui_server_autostop_timer_expired": "",
"share_via_onionshare": "",
"gui_connect_to_tor_for_onion_settings": "",
- "gui_use_legacy_v2_onions_checkbox": "",
"gui_save_private_key_checkbox": "",
"gui_share_url_description": "",
"gui_receive_url_description": "",
diff --git a/desktop/src/onionshare/resources/locale/nb_NO.json b/desktop/src/onionshare/resources/locale/nb_NO.json
index f2ee1477..33825216 100644
--- a/desktop/src/onionshare/resources/locale/nb_NO.json
+++ b/desktop/src/onionshare/resources/locale/nb_NO.json
@@ -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)",
@@ -62,14 +59,12 @@
"gui_receive_quit_warning": "Du har ikke fått alle filene enda. Er du sikker på at du ønsker å avslutte OnionShare?",
"gui_quit_warning_quit": "Avslutt",
"gui_quit_warning_dont_quit": "Avbryt",
- "error_rate_limit": "Noen har prøvd å gjette passordet ditt for mange ganger, så OnionShare har derfor stoppet tjeneren. Start deling igjen, og send mottakeren en ny adresse å dele.",
"zip_progress_bar_format": "Pakker sammen: %p%",
"error_stealth_not_supported": "For å bruke klientidentitetsbekreftelse, trenger du minst Tor 0.2.9.1-alpha (eller Tor-Browser 6.5) og python3-stem 1.5.0.",
"error_ephemeral_not_supported": "OnionShare krever minst både Tor 0.2.7.1 og pything3-stem 1.4.0.",
"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: {}",
@@ -135,7 +130,6 @@
"gui_server_started_after_autostop_timer": "Tidsavbruddsuret gikk ut før tjeneren startet. Lag en ny deling.",
"gui_server_autostop_timer_expired": "Tidsavbruddsuret har gått ut allerede. Juster det for å starte deling.",
"share_via_onionshare": "Del via OnionShare",
- "gui_use_legacy_v2_onions_checkbox": "Bruk gammeldagse adresser",
"gui_save_private_key_checkbox": "Bruk en vedvarende adresse",
"gui_share_url_description": "<b>Alle</b> som har denne OnionShare-adressen kan <b>Laste ned</b> filene dine ved bruk av <b>Tor-Browser</b>: <img src='{}' />",
"gui_receive_url_description": "<b>Alle</b> som har denne OnionShare-adressen kan <b>Laste opp</b> filer til din datamaskin ved bruk av <b>Tor-Browser</b>: <img src='{}' />",
@@ -238,7 +232,6 @@
"systray_website_started_title": "Starter deling av nettside",
"systray_website_started_message": "Noen besøker din nettside",
"gui_website_mode_no_files": "Ingen nettside delt enda",
- "invalid_password_guess": "Feil passord",
"incorrect_password": "Feil passord",
"gui_settings_individual_downloads_label": "Forby nedlasting av enkeltfiler",
"history_requests_tooltip": "{} vevforespørsler",
@@ -278,7 +271,6 @@
"gui_open_folder_error": "Klarte ikke å åpne mappe med xdg-open. Filen er her: {}",
"gui_receive_flatpak_data_dir": "Fordi du har installert OnionShare som Flatpak må du lagre filer til en mappe i ~/OnionShare.",
"mode_settings_share_autostop_sharing_checkbox": "Stopp deling etter at filer er sendt (fravelg for å tillate nedlasting av individuelle filer)",
- "mode_settings_client_auth_checkbox": "Bruk klient-identitetsgodkjennelse",
"gui_close_tab_warning_persistent_description": "Denne fanen er vedvarende. Hvis du lukker den vil du miste onion-adressen den bruker. Er du sikker på at du vil lukke den?",
"gui_tab_name_chat": "Prat",
"gui_tab_name_website": "Nettside",
diff --git a/desktop/src/onionshare/resources/locale/nl.json b/desktop/src/onionshare/resources/locale/nl.json
index 32e8f204..ed70622a 100644
--- a/desktop/src/onionshare/resources/locale/nl.json
+++ b/desktop/src/onionshare/resources/locale/nl.json
@@ -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)",
@@ -44,7 +42,6 @@
"gui_share_quit_warning": "Je bent in het proces van bestanden versturen. Weet je zeker dat je OnionShare af wilt sluiten?",
"gui_quit_warning_quit": "Afsluiten",
"gui_quit_warning_dont_quit": "Annuleren",
- "error_rate_limit": "Iemand heeft teveel incorrecte pogingen gedaan om je wachwoord te raden. Daarom heeft OnionShare de server gestopt. Herstart het delen en stuur de ontvanger een nieuw adres.",
"zip_progress_bar_format": "Comprimeren: %p%",
"error_stealth_not_supported": "Om client authorization te gebruiken heb je op zijn minst zowel Tor 0.2.9.1-alpha (of Tor Browser 6.5) en python3-stem 1.5.0 nodig.",
"error_ephemeral_not_supported": "OnionShare vereist minstens zowel Tor 0.2.7.1 als python3-stem 1.4.0.",
@@ -116,11 +113,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",
@@ -136,7 +131,6 @@
"error_tor_protocol_error_unknown": "Er was een onbekende fout met Tor",
"error_invalid_private_key": "Dit type privésleutel wordt niet ondersteund",
"gui_tor_connection_lost": "De verbinding met Tor is verbroken.",
- "gui_use_legacy_v2_onions_checkbox": "Gebruik ouderwetse adressen",
"gui_save_private_key_checkbox": "Gebruik een vast adres",
"gui_share_url_description": "<b>1Iedereen</b>2 met dit OnionShare-adres kan je bestanden <b>3binnenhalen</b>4 met de <b>5Tor Browser</b>6: <img src='{}' />",
"gui_receive_url_description": "<b>Iedereen</b> met dit OnionShare adres kan bestanden op je computer <b>plaatsen</b> met de <b>Tor Browser</b>: <img src='{}' />",
@@ -259,7 +253,6 @@
"mode_settings_website_disable_csp_checkbox": "Stuur geen Content Security Policy header (hiermee kan uw website bronnen van derden gebruiken)",
"mode_settings_receive_data_dir_browse_button": "Blader",
"mode_settings_receive_data_dir_label": "Bewaar bestanden in",
- "mode_settings_client_auth_checkbox": "Gebruik client authorisatie",
"mode_settings_autostop_timer_checkbox": "Stop onion service op een geplande tijd",
"mode_settings_autostart_timer_checkbox": "Start onion service op een geplande tijd",
"mode_settings_persistent_checkbox": "Bewaar dit tabblad en open het automatisch wanneer ik OnionShare open",
diff --git a/desktop/src/onionshare/resources/locale/pa.json b/desktop/src/onionshare/resources/locale/pa.json
index 165e297b..766e3a02 100644
--- a/desktop/src/onionshare/resources/locale/pa.json
+++ b/desktop/src/onionshare/resources/locale/pa.json
@@ -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": "",
@@ -62,14 +59,12 @@
"gui_receive_quit_warning": "",
"gui_quit_warning_quit": "ਬਾਹਰ",
"gui_quit_warning_dont_quit": "",
- "error_rate_limit": "",
"zip_progress_bar_format": "",
"error_stealth_not_supported": "",
"error_ephemeral_not_supported": "",
"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": "",
@@ -134,7 +129,6 @@
"gui_server_started_after_autostop_timer": "",
"gui_server_autostop_timer_expired": "",
"share_via_onionshare": "",
- "gui_use_legacy_v2_onions_checkbox": "",
"gui_save_private_key_checkbox": "",
"gui_share_url_description": "",
"gui_receive_url_description": "",
diff --git a/desktop/src/onionshare/resources/locale/pl.json b/desktop/src/onionshare/resources/locale/pl.json
index 61b07d8b..1a2f17a6 100644
--- a/desktop/src/onionshare/resources/locale/pl.json
+++ b/desktop/src/onionshare/resources/locale/pl.json
@@ -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)",
@@ -62,14 +59,12 @@
"gui_receive_quit_warning": "Odbierasz teraz pliki. Jesteś pewien, że chcesz wyjść z OnionShare?",
"gui_quit_warning_quit": "Wyjście",
"gui_quit_warning_dont_quit": "Anuluj",
- "error_rate_limit": "Ktoś zbyt często próbował odczytać Twój adres, co może oznaczać, że ktoś próbuje go odgadnąć, zatem OnionShare zatrzymał serwer. Rozpocznij udostępnianie ponownie i wyślij odbiorcy nowy adres aby udostępniać Twoje pliki.",
"zip_progress_bar_format": "Kompresuję: %p%",
"error_stealth_not_supported": "Aby skorzystać z autoryzacji klienta wymagana jest wersja programu Tor 0.2.9.1-alpha lub nowsza, bądź Tor Browser w wersji 6.5 lub nowszej oraz python3-stem w wersji 1.5 lub nowszej.",
"error_ephemeral_not_supported": "OnionShare wymaga programu Tor w wersji 0.2.7.1 lub nowszej oraz python3-stem w wersji 1.4.0 lub nowszej.",
"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: {}",
@@ -134,7 +129,6 @@
"gui_server_started_after_autostop_timer": "Czasomierz automatycznego rozpoczęcia wygasł przed uruchomieniem serwera. Utwórz nowy udział.",
"gui_server_autostop_timer_expired": "Czasomierz automatycznego rozpoczęcia wygasł. Dostosuj go, aby rozpocząć udostępnianie.",
"share_via_onionshare": "Udostępniaj przez OnionShare",
- "gui_use_legacy_v2_onions_checkbox": "Użyj starszych adresów",
"gui_save_private_key_checkbox": "Użyj stałego adresu",
"gui_share_url_description": "<b>Każdy</b> z tym adresem OnionShare może <b> pobrać</b> Twoje pliki za pomocą przeglądarki <b>Tor Browser</b>: <img src='{}' />",
"gui_receive_url_description": "<b>Każdy</b> z tym adresem OnionShare może <b>przesyłać</b> pliki na komputer za pomocą przeglądarki <b>Tor Browser</b>: <img src='{}' />",
@@ -265,7 +259,6 @@
"mode_settings_receive_data_dir_browse_button": "Przeglądaj",
"mode_settings_receive_data_dir_label": "Zapisz pliki do",
"mode_settings_share_autostop_sharing_checkbox": "Zatrzymaj udostępnianie po wysłaniu plików (usuń zaznaczenie, aby umożliwić pobieranie pojedynczych plików)",
- "mode_settings_client_auth_checkbox": "Użyj autoryzacji klienta",
"mode_settings_legacy_checkbox": "Użyj starszego adresu (onion service v2, niezalecane)",
"mode_settings_autostop_timer_checkbox": "Zatrzymaj usługę cebulową w zaplanowanym czasie",
"mode_settings_autostart_timer_checkbox": "Uruchomienie usługi cebulowej w zaplanowanym czasie",
@@ -283,5 +276,8 @@
"gui_close_tab_warning_share_description": "Jesteś w trakcie wysyłania plików. Czy na pewno chcesz zamknąć tę kartę?",
"gui_close_tab_warning_persistent_description": "Ta zakładka jest trwała. Jeśli ją zamkniesz, stracisz adres cebulowy, którego używa. Czy na pewno chcesz ją zamknąć?",
"gui_color_mode_changed_notice": "Uruchom ponownie OnionShare aby zastosować nowy tryb kolorów.",
- "gui_chat_url_description": "<b>Każdy</b> z tym adresem OnionShare może <b>dołączyć do tego pokoju</b> używając <b>Przeglądarki Tor</b>: <img src='{}' />"
+ "gui_chat_url_description": "<b>Każdy</b> z tym adresem OnionShare może <b>dołączyć do tego pokoju</b> używając <b>Przeglądarki Tor</b>: <img src='{}' />",
+ "mode_settings_receive_disable_files_checkbox": "Wyłącz wysyłanie plików",
+ "gui_status_indicator_chat_scheduled": "Zaplanowane…",
+ "gui_status_indicator_chat_working": "Uruchamianie…"
}
diff --git a/desktop/src/onionshare/resources/locale/pt_BR.json b/desktop/src/onionshare/resources/locale/pt_BR.json
index 2f261bc3..ebbef428 100644
--- a/desktop/src/onionshare/resources/locale/pt_BR.json
+++ b/desktop/src/onionshare/resources/locale/pt_BR.json
@@ -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)",
@@ -62,14 +59,12 @@
"gui_receive_quit_warning": "O recebimento dos seus arquivos ainda não terminou. Você tem certeza de que quer sair do OnionShare?",
"gui_quit_warning_quit": "Sair",
"gui_quit_warning_dont_quit": "Cancelar",
- "error_rate_limit": "Alguém tentou por várias vezes adivinhar sua senha. Por isso, o OnionShare interrompeu o servidor. Comece o compartilhamento novamente e envie um novo endereço ao seu destinatário para compartilhar.",
"zip_progress_bar_format": "Comprimindo: %p%",
"error_stealth_not_supported": "Para usar uma autorização de cliente, você precisa ao menos de Tor 0.2.9.1-alpha (ou Navegador Tor 6.5) e de python3-stem 1.5.0.",
"error_ephemeral_not_supported": "OnionShare requer ao menos Tor 0.2.7.1 e python3-stem 1.4.0.",
"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: {}",
@@ -134,7 +129,6 @@
"gui_server_started_after_autostop_timer": "O cronômetro de parada automática acabou antes que o servidor fosse iniciado. Por favor, faça um novo compartilhamento.",
"gui_server_autostop_timer_expired": "O cronômetro já esgotou. Por favor, ajuste-o para começar a compartilhar.",
"share_via_onionshare": "Compartilhar via OnionShare",
- "gui_use_legacy_v2_onions_checkbox": "Usar endereços do tipo antigo",
"gui_save_private_key_checkbox": "Usar o mesmo endereço",
"gui_share_url_description": "<b>Qualquer pessoa</b> com este endereço do OnionShare pode <b>baixar</b> seus arquivos usando o <b>Tor Browser</b>: <img src='{}' />",
"gui_receive_url_description": "<b>Qualquer pessoa</b> com este endereço do OnionShare pode <b>carregar</b> arquivos no seu computador usando o <b>Tor Browser</b>: <img src='{}' />",
@@ -239,7 +233,6 @@
"mode_settings_receive_data_dir_browse_button": "Navegar",
"mode_settings_receive_data_dir_label": "Salvar arquivos em",
"mode_settings_share_autostop_sharing_checkbox": "Interrompa o compartilhamento após o envio dos arquivos (desmarque para permitir o download de arquivos individuais)",
- "mode_settings_client_auth_checkbox": "Usar autorização de cliente",
"mode_settings_legacy_checkbox": "Usar um endereço herdado (serviço de onion v2, não recomendado)",
"mode_settings_autostop_timer_checkbox": "Interromper o serviço de onion na hora programada",
"mode_settings_autostart_timer_checkbox": "Iniciar serviço de onion na hora programada",
@@ -287,5 +280,14 @@
"gui_chat_url_description": "<b>Qualquer um</b> com este endereço OnionShare pode <b>entrar nesta sala de chat</b> usando o <b>Tor Browser</b>: <img src='{}' />",
"gui_rendezvous_cleanup_quit_early": "Fechar facilmente",
"gui_rendezvous_cleanup": "Aguardando o fechamento dos circuitos do Tor para ter certeza de que seus arquivos foram transferidos com sucesso.\n\nIsso pode demorar alguns minutos.",
- "gui_color_mode_changed_notice": "Reinicie o OnionShare para que o novo modo de cor seja aplicado."
+ "gui_color_mode_changed_notice": "Reinicie o OnionShare para que o novo modo de cor seja aplicado.",
+ "history_receive_read_message_button": "Ler mensagem",
+ "mode_settings_receive_webhook_url_checkbox": "Usar webhook de notificação",
+ "mode_settings_receive_disable_files_checkbox": "Desativar o carregamento de arquivos",
+ "mode_settings_receive_disable_text_checkbox": "Desativar envio de texto",
+ "mode_settings_title_label": "Título personalizado",
+ "gui_status_indicator_chat_started": "Conversando",
+ "gui_status_indicator_chat_scheduled": "Programando…",
+ "gui_status_indicator_chat_working": "Começando…",
+ "gui_status_indicator_chat_stopped": "Pronto para conversar"
}
diff --git a/desktop/src/onionshare/resources/locale/pt_PT.json b/desktop/src/onionshare/resources/locale/pt_PT.json
index 44c5c067..a699a5f3 100644
--- a/desktop/src/onionshare/resources/locale/pt_PT.json
+++ b/desktop/src/onionshare/resources/locale/pt_PT.json
@@ -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": "",
@@ -62,14 +59,12 @@
"gui_receive_quit_warning": "Ainda não recebeu todos os seus ficheiros. Tem a certeza que que deseja sair do OnionShare?",
"gui_quit_warning_quit": "Sair",
"gui_quit_warning_dont_quit": "Cancelar",
- "error_rate_limit": "Alguém tentou por várias vezes adivinhar a sua palavra-passe, por isso OnionShare parou o servidor. Inicie novamente a partilha e envie um novo endereço ao destinatário para partilhar.",
"zip_progress_bar_format": "A comprimir: %p%",
"error_stealth_not_supported": "Para utilizar uma autorização de cliente, precisa pelo menos do Tor 0.2.9.1-alpha (ou do Tor Browser 6.5) e do python3-stem 1.5.0.",
"error_ephemeral_not_supported": "OnionShare requer pelo menos do Tor 0.2.7.1 e do python3-stem 1.4.0.",
"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: {}",
@@ -134,7 +129,6 @@
"gui_server_started_after_autostop_timer": "O cronómetro de paragem automática atingiu o tempo limite antes do servidor iniciar. Crie uma nova partilha.",
"gui_server_autostop_timer_expired": "O cronómetro de paragem automática expirou. Por favor, ajuste-o para começar a partilhar.",
"share_via_onionshare": "Partilhar via OnionShare",
- "gui_use_legacy_v2_onions_checkbox": "Usar endereços antigos",
"gui_save_private_key_checkbox": "Usar um endereço persistente",
"gui_share_url_description": "<b>Qualquer pessoa</b> com este endereço do OnionShare pode <b>descarregar</b> os seus ficheiros utilizando o <b>Tor Browser</b>: <img src='{}' />",
"gui_receive_url_description": "<b>Qualquer pessoa</b> com este endereço do OnionShare pode <b>enviar</b> ficheiros para o seu computador utilizando o <b>Tor Browser</b>: <img src='{}' />",
@@ -255,7 +249,6 @@
"mode_settings_receive_data_dir_browse_button": "Navegar",
"mode_settings_receive_data_dir_label": "Guardar ficheiros para",
"mode_settings_share_autostop_sharing_checkbox": "Parar a partilha de ficheiros após terem sido enviados (desmarque para permitir o descarregamento de ficheiros individuais)",
- "mode_settings_client_auth_checkbox": "Utilizar autorização do cliente",
"mode_settings_legacy_checkbox": "Utilize um endereço de herança (serviço onion v2, não é recomendado)",
"mode_settings_persistent_checkbox": "Guarda esta aba e abre-a automaticamente quando eu inicio o OnionShare",
"gui_quit_warning_description": "A partilha está ativa em algumas das suas abas. Se sair, todas as abas serão fechadas. Tem a certeza que pretende sair?",
diff --git a/desktop/src/onionshare/resources/locale/ro.json b/desktop/src/onionshare/resources/locale/ro.json
index d4e43f04..35dcedbf 100644
--- a/desktop/src/onionshare/resources/locale/ro.json
+++ b/desktop/src/onionshare/resources/locale/ro.json
@@ -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": "",
@@ -62,14 +59,12 @@
"gui_receive_quit_warning": "Sunteți în proces de primire fișiere. Sigur vreți să închideți OnionShare?",
"gui_quit_warning_quit": "Închidere",
"gui_quit_warning_dont_quit": "Anulare",
- "error_rate_limit": "Cineva a făcut prea multe încercări greșite pentru a ghici parola, astfel încât OnionShare a oprit serverul. Începeți partajarea din nou și trimiteți destinatarului o nouă adresă de partajat.",
"zip_progress_bar_format": "Compresare: %p%",
"error_stealth_not_supported": "Pentru a folosi autorizarea clientului, aveți nevoie de versiunile minim Tor 0.2.9.1-alfa (sau Tor Browser 6.5) cât și de python3-stem 1.5.0.",
"error_ephemeral_not_supported": "OnionShare are nevoie de minim versiunea Tor 0.2.7.1 cât și de Python3-stem 1.4.0.",
"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: {}",
@@ -134,7 +129,6 @@
"gui_server_started_after_autostop_timer": "Cronometrul de oprire automată a expirat înainte de pornirea serverului. Vă rugăm să faceți o nouă partajare.",
"gui_server_autostop_timer_expired": "Timpul pentru cronometrul auto-stop a expirat deja. Vă rugăm să îl modificați pentru a începe distribuirea.",
"share_via_onionshare": "Partajați prin OnionShare",
- "gui_use_legacy_v2_onions_checkbox": "Folosire adrese moștenite",
"gui_save_private_key_checkbox": "Folosiți o adresă persistentă",
"gui_share_url_description": "<b>Oricine</b> are această adresă OnionShare poate <b>descărca</b> fișierele dvs. folosind <b>Tor Browser</b>: <img src='{}' />",
"gui_receive_url_description": "<b>Oricine</b> are această adresă OnionShare poate <b>încărca</b> fișiere pe computerul dvs. folosind <b>Tor Browser</b>: <img src='{}' />",
diff --git a/desktop/src/onionshare/resources/locale/ru.json b/desktop/src/onionshare/resources/locale/ru.json
index 47e7e4d1..967e87b6 100644
--- a/desktop/src/onionshare/resources/locale/ru.json
+++ b/desktop/src/onionshare/resources/locale/ru.json
@@ -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% (вычисляем)",
@@ -80,13 +77,11 @@
"gui_quit_title": "Не так быстро",
"gui_share_quit_warning": "Идёт процесс отправки файлов. Уверены, что хотите завершить работу OnionShare?",
"gui_receive_quit_warning": "Идёт процесс получения файлов. Уверены, что хотите завершить работу OnionShare?",
- "error_rate_limit": "Кто-то совершил слишком много попыток отгадать Ваш пароль, в связи с чем OnionShare остановил сервер. Отправьте Ваши данные повторно и перешлите получателю новый адрес.",
"zip_progress_bar_format": "Сжатие: %p%",
"error_stealth_not_supported": "Для использования авторизации клиента необходимы как минимум версии Tor 0.2.9.1-alpha (или Tor Browser 6.5) и библиотеки python3-stem 1.5.0.",
"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": "Последняя проверка: {}",
@@ -141,7 +136,6 @@
"gui_server_started_after_autostop_timer": "Время стоп-таймера истекло до того, как сервер был запущен. Пожалуйста, отправьте файлы заново.",
"gui_server_autostop_timer_expired": "Время стоп-таймера истекло. Пожалуйста, отрегулируйте его для начала отправки.",
"share_via_onionshare": "Поделиться через OnionShare",
- "gui_use_legacy_v2_onions_checkbox": "Используйте устаревшие адреса",
"gui_save_private_key_checkbox": "Используйте постоянный адрес",
"gui_share_url_description": "<b>Кто угодно</b> c этим адресом OnionShare может <b>скачать</b> Ваши файлы при помощи <b>Tor Browser</b>: <img src='{}' />",
"gui_receive_url_description": "<b>Кто угодно</b> c этим адресом OnionShare может <b>загрузить</b> файлы на ваш компьютер с помощью<b>Tor Browser</b>: <img src='{}' />",
@@ -240,7 +234,6 @@
"mode_settings_receive_data_dir_browse_button": "Обзор файлов",
"mode_settings_receive_data_dir_label": "Сохранять файлы в",
"mode_settings_share_autostop_sharing_checkbox": "Закрыть доступ к файлам после их отправки (отмените чтобы разрешить скачивание отдельных файлов)",
- "mode_settings_client_auth_checkbox": "Использовать авторизацию клиента",
"mode_settings_legacy_checkbox": "Использовать устаревшую версию адресов (версия 2 сервиса Тор, не рукомендуем)",
"mode_settings_autostop_timer_checkbox": "Отключить сервис onion в назначенное время",
"mode_settings_autostart_timer_checkbox": "Запустить сервис onion в назначенное время",
diff --git a/desktop/src/onionshare/resources/locale/si.json b/desktop/src/onionshare/resources/locale/si.json
index b55cde27..cb15cc72 100644
--- a/desktop/src/onionshare/resources/locale/si.json
+++ b/desktop/src/onionshare/resources/locale/si.json
@@ -24,17 +24,13 @@
"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": "",
"gui_please_wait": "",
- "error_rate_limit": "",
"zip_progress_bar_format": "",
"gui_settings_window_title": "",
"gui_settings_autoupdate_label": "",
@@ -170,7 +166,6 @@
"mode_settings_autostart_timer_checkbox": "",
"mode_settings_autostop_timer_checkbox": "",
"mode_settings_legacy_checkbox": "",
- "mode_settings_client_auth_checkbox": "",
"mode_settings_share_autostop_sharing_checkbox": "",
"mode_settings_receive_data_dir_label": "",
"mode_settings_receive_data_dir_browse_button": "",
diff --git a/desktop/src/onionshare/resources/locale/sk.json b/desktop/src/onionshare/resources/locale/sk.json
index a3690db3..8ee83a28 100644
--- a/desktop/src/onionshare/resources/locale/sk.json
+++ b/desktop/src/onionshare/resources/locale/sk.json
@@ -24,18 +24,14 @@
"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.",
"gui_waiting_to_start": "Naplánované spustenie o {}. Kliknutím zrušíte.",
"gui_please_wait": "Spúšťa sa... Kliknutím zrušíte.",
- "error_rate_limit": "Niekto urobil príliš veľa zlých pokusov uhádnuť vaše heslo, takže OnionShare zastavil server. Začnite znova zdieľať a odošlite príjemcovi novú adresu na zdieľanie.",
"zip_progress_bar_format": "Komprimovanie: %p%",
"gui_settings_window_title": "Nastavenia",
"gui_settings_autoupdate_label": "Skontrolovať novú verziu",
@@ -169,7 +165,6 @@
"mode_settings_autostart_timer_checkbox": "Spustiť onion službu v plánovanom čase",
"mode_settings_autostop_timer_checkbox": "Zastaviť onion službu v plánovanom čase",
"mode_settings_legacy_checkbox": "Použiť staršiu adresu (v2 onion služba, neodporúča sa)",
- "mode_settings_client_auth_checkbox": "Použiť autorizáciu klienta",
"mode_settings_share_autostop_sharing_checkbox": "Po odoslaní súborov zastaviť zdieľanie (zrušením začiarknutia povolíte sťahovanie jednotlivých súborov)",
"mode_settings_receive_data_dir_label": "Uložiť súbory do",
"mode_settings_receive_data_dir_browse_button": "Prechádzať",
diff --git a/desktop/src/onionshare/resources/locale/sl.json b/desktop/src/onionshare/resources/locale/sl.json
index 70e04baa..52f14cce 100644
--- a/desktop/src/onionshare/resources/locale/sl.json
+++ b/desktop/src/onionshare/resources/locale/sl.json
@@ -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": "",
@@ -62,14 +59,12 @@
"gui_receive_quit_warning": "",
"gui_quit_warning_quit": "Izhod",
"gui_quit_warning_dont_quit": "",
- "error_rate_limit": "",
"zip_progress_bar_format": "",
"error_stealth_not_supported": "",
"error_ephemeral_not_supported": "",
"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": "",
@@ -134,7 +129,6 @@
"gui_server_started_after_autostop_timer": "",
"gui_server_autostop_timer_expired": "",
"share_via_onionshare": "",
- "gui_use_legacy_v2_onions_checkbox": "",
"gui_save_private_key_checkbox": "",
"gui_share_url_description": "",
"gui_receive_url_description": "",
diff --git a/desktop/src/onionshare/resources/locale/sn.json b/desktop/src/onionshare/resources/locale/sn.json
index 4ee1a03b..81b46cba 100644
--- a/desktop/src/onionshare/resources/locale/sn.json
+++ b/desktop/src/onionshare/resources/locale/sn.json
@@ -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": "",
@@ -65,14 +62,12 @@
"gui_receive_quit_warning": "",
"gui_quit_warning_quit": "",
"gui_quit_warning_dont_quit": "",
- "error_rate_limit": "",
"zip_progress_bar_format": "",
"error_stealth_not_supported": "",
"error_ephemeral_not_supported": "",
"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": "",
@@ -138,7 +133,6 @@
"gui_server_autostop_timer_expired": "",
"share_via_onionshare": "",
"gui_connect_to_tor_for_onion_settings": "",
- "gui_use_legacy_v2_onions_checkbox": "",
"gui_save_private_key_checkbox": "",
"gui_share_url_description": "",
"gui_receive_url_description": "",
diff --git a/desktop/src/onionshare/resources/locale/sr_Latn.json b/desktop/src/onionshare/resources/locale/sr_Latn.json
index d94fe024..da986f48 100644
--- a/desktop/src/onionshare/resources/locale/sr_Latn.json
+++ b/desktop/src/onionshare/resources/locale/sr_Latn.json
@@ -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",
@@ -35,14 +32,12 @@
"gui_receive_quit_warning": "Proces primanja datoteka u toku. Jeste li sigurni da želite da zaustavite OnionShare?",
"gui_quit_warning_quit": "Izađi",
"gui_quit_warning_dont_quit": "Odustani",
- "error_rate_limit": "Neko je načinio suviše pogrešnih pokušaja da pogodi tvoju lozinku, tako da je OnionShare zaustavio server. Počni deljenje ponovo i pošalji primaocu novu adresu za deljenje.",
"zip_progress_bar_format": "Komprimujem: %p%",
"error_stealth_not_supported": "Da bi koristion klijen autorizaciju, potrebni su ti barem Tor 0.2.9.1-alpha (ili Tor Browser 6.5) i python3-stem 1.5.0.",
"error_ephemeral_not_supported": "OnionShare zahteva barem Tor 0.2.7.1 i python3-stem 1.4.0.",
"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: {}",
@@ -114,7 +109,6 @@
"gui_autostop_timer_cant_be_earlier_than_autostart_timer": "Vreme automatskog zaustavljanja ne može biti isto ili ranije od vremena početka automatskog pokretanja. Podesi ga da bi započelo deljenje.",
"share_via_onionshare": "Deljenje pomoću OnionShare",
"gui_connect_to_tor_for_onion_settings": "Poveži se sa Torom da bi video postavke onion servisa",
- "gui_use_legacy_v2_onions_checkbox": "Koristi nasleđene adrese",
"gui_save_private_key_checkbox": "Koristi trajnu adresu",
"gui_share_url_description": "<b>Svako</b> sa ovom OnionShare sdresom može <b>preuzeti</b> tvoje datoteke koristeći <b>Tor Browser</b>: <img src='{}' />",
"gui_website_url_description": "<b>Svako</b> sa ovom OnionShare adresom može <b>posetiti</b> tvoju veb-stranicu koristeći <b>Tor Browser</b>: <img src='{}' />",
@@ -192,7 +186,6 @@
"gui_close_tab_warning_persistent_description": "Ovaj jezičak je postojan. Ako ga zatvorite, izgubićete onion adresu koju koristite. Da li ste sigurni da želite zatvoriti?",
"mode_settings_receive_data_dir_browse_button": "Pronađi",
"mode_settings_receive_data_dir_label": "Sačuvaj fajlove u",
- "mode_settings_client_auth_checkbox": "Koristi klijentsku autorizaciju",
"mode_settings_legacy_checkbox": "Koristite zastarelu adresu (v2 onion servis, nije preporučeno)",
"mode_settings_autostop_timer_checkbox": "Zaustavi onion servis u planirano vreme",
"mode_settings_autostart_timer_checkbox": "Pokreni onion servis u planirano vreme",
diff --git a/desktop/src/onionshare/resources/locale/sv.json b/desktop/src/onionshare/resources/locale/sv.json
index 9e07d2c4..302166f1 100644
--- a/desktop/src/onionshare/resources/locale/sv.json
+++ b/desktop/src/onionshare/resources/locale/sv.json
@@ -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)",
@@ -63,14 +60,12 @@
"gui_receive_quit_warning": "Du håller på att ta emot filer. Är du säker på att du vill avsluta OnionShare?",
"gui_quit_warning_quit": "Avsluta",
"gui_quit_warning_dont_quit": "Avbryt",
- "error_rate_limit": "Någon har gjort för många felförsök att gissa ditt lösenord, därför har OnionShare stoppat servern. Starta delning igen och skicka mottagaren en ny adress att dela.",
"zip_progress_bar_format": "Komprimerar: %p%",
"error_stealth_not_supported": "För att använda klientauktorisering behöver du minst både Tor 0.2.9.1-alpha (eller Tor Browser 6.5) och python3-stem 1.5.0.",
"error_ephemeral_not_supported": "OnionShare kräver minst både Tor 0.2.7.1 och python3-stem 1.4.0.",
"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: {}",
@@ -118,7 +113,7 @@
"settings_error_bundled_tor_timeout": "Det tar för lång tid att ansluta till Tor. Kanske är du inte ansluten till Internet, eller har en felaktig systemklocka?",
"settings_error_bundled_tor_broken": "OnionShare kunde inte ansluta till Tor:\n{}",
"settings_test_success": "Ansluten till Tor-regulatorn.\n\nTor-version: {}\nStöder efemära onion-tjänster: {}.\nStöder klientautentisering: {}.\nStöder nästa generations .onion-adresser: {}.",
- "error_tor_protocol_error": "Det fanns ett fel med Tor: {}",
+ "error_tor_protocol_error": "Det uppstod ett fel med Tor: {}",
"error_tor_protocol_error_unknown": "Det fanns ett okänt fel med Tor",
"error_invalid_private_key": "Denna privata nyckeltyp stöds inte",
"connecting_to_tor": "Ansluter till Tor-nätverket",
@@ -126,7 +121,7 @@
"update_error_check_error": "Det gick inte att söka efter ny version: Kanske är du inte ansluten till Tor eller OnionShare-webbplatsen är nere?",
"update_error_invalid_latest_version": "Det gick inte att söka efter ny version: OnionShare-webbplatsen säger att den senaste versionen är den oigenkännliga \"{}\"…",
"update_not_available": "Du kör den senaste OnionShare.",
- "gui_tor_connection_ask": "Öppna inställningarna för att sortera ut anslutning till Tor?",
+ "gui_tor_connection_ask": "Öppna inställningarna för att reda ut anslutning till Tor?",
"gui_tor_connection_ask_open_settings": "Ja",
"gui_tor_connection_ask_quit": "Avsluta",
"gui_tor_connection_error_settings": "Försök att ändra hur OnionShare ansluter till Tor-nätverket i inställningarna.",
@@ -135,7 +130,6 @@
"gui_server_started_after_autostop_timer": "Tiden för den automatiska stopp-tidtagaren löpte ut innan servern startades.\nVänligen gör en ny delning.",
"gui_server_autostop_timer_expired": "Den automatiska stopp-tidtagaren har redan löpt ut. Vänligen justera den för att starta delning.",
"share_via_onionshare": "Dela med OnionShare",
- "gui_use_legacy_v2_onions_checkbox": "Använd äldre adresser",
"gui_save_private_key_checkbox": "Använd en beständig adress",
"gui_share_url_description": "<b>Alla</b> med denna OnionShare-adress kan <b>hämta</b> dina filer med <b>Tor Browser</b>: <img src='{}' />",
"gui_receive_url_description": "<b>Alla</b> med denna OnionShare-adress kan <b>ladda upp</b> filer till din dator med <b>Tor Browser</b>: <img src='{}' />",
@@ -219,14 +213,13 @@
"gui_settings_autostart_timer_checkbox": "Använd automatisk start-tidtagare",
"gui_settings_autostart_timer": "Starta delning vid:",
"gui_server_autostart_timer_expired": "Den schemalagda tiden har redan passerat. Vänligen justera den för att starta delning.",
- "gui_autostop_timer_cant_be_earlier_than_autostart_timer": "Den automatiska stopp-tiden kan inte vara samma eller tidigare än den automatiska starttiden. Vänligen justera den för att starta delning.",
+ "gui_autostop_timer_cant_be_earlier_than_autostart_timer": "Den automatiska stopp-tiden kan inte vara samma eller tidigare än den automatiska starttiden. Vänligen justera den för att starta delning.",
"gui_status_indicator_share_scheduled": "Planerad…",
"gui_status_indicator_receive_scheduled": "Planerad…",
"days_first_letter": "d",
"hours_first_letter": "t",
"minutes_first_letter": "m",
"seconds_first_letter": "s",
- "invalid_password_guess": "Ogiltig lösenordsgissning",
"gui_website_url_description": "<b>Alla</b> med denna OnionShare-adress kan <b>besöka</b> din webbplats med <b>Tor Browser</b>: <img src='{}' />",
"gui_mode_website_button": "Publicera webbplats",
"systray_site_loaded_title": "Webbplats inläst",
@@ -247,8 +240,7 @@
"mode_settings_receive_data_dir_browse_button": "Bläddra",
"mode_settings_receive_data_dir_label": "Spara filer till",
"mode_settings_share_autostop_sharing_checkbox": "Stoppa delning efter att filer har skickats (avmarkera för att tillåta hämtning av enskilda filer)",
- "mode_settings_client_auth_checkbox": "Använd klientauktorisering",
- "mode_settings_legacy_checkbox": "Använd en äldre adress (v2 oniontjänst, rekommenderas inte)",
+ "mode_settings_legacy_checkbox": "Använd en äldre adress (v2-oniontjänst, rekommenderas inte)",
"mode_settings_autostart_timer_checkbox": "Starta oniontjänsten vid schemalagd tid",
"mode_settings_autostop_timer_checkbox": "Stoppa oniontjänsten vid schemalagd tid",
"mode_settings_public_checkbox": "Använd inte ett lösenord",
@@ -280,18 +272,28 @@
"gui_chat_start_server": "Starta chattservern",
"gui_file_selection_remove_all": "Ta bort alla",
"gui_remove": "Ta bort",
- "gui_main_page_share_button": "Börja dela",
+ "gui_main_page_share_button": "Starta delning",
"error_port_not_available": "OnionShare-porten är inte tillgänglig",
"gui_rendezvous_cleanup_quit_early": "Avsluta tidigt",
"gui_rendezvous_cleanup": "Väntar på att Tor-kretsar stänger för att vara säker på att dina filer har överförts.\n\nDet kan ta några minuter.",
- "gui_tab_name_chat": "Chatta",
+ "gui_tab_name_chat": "Chatt",
"gui_tab_name_website": "Webbplats",
"gui_tab_name_receive": "Ta emot",
"gui_tab_name_share": "Dela",
"gui_main_page_chat_button": "Börja chatta",
"gui_main_page_website_button": "Börja publicera",
- "gui_main_page_receive_button": "Börja ta emot",
+ "gui_main_page_receive_button": "Starta mottagning",
"gui_new_tab_chat_button": "Chatta anonymt",
- "gui_open_folder_error": "Misslyckades att öppna mappen med xdg-open. Filen finns här: {}",
- "gui_chat_url_description": "<b>Alla</b> med denna OnionShare-adress kan <b>gå med i detta chattrum</b> med <b>Tor Browser</b>: <img src='{}' />"
-}
+ "gui_open_folder_error": "Det gick inte att öppna mappen med xdg-open. Filen finns här: {}",
+ "gui_chat_url_description": "<b>Alla</b> med denna OnionShare-adress kan <b>gå med i detta chattrum</b> med <b>Tor Browser</b>: <img src='{}' />",
+ "gui_status_indicator_chat_stopped": "Redo att chatta",
+ "gui_status_indicator_chat_scheduled": "Schemalagd…",
+ "history_receive_read_message_button": "Läs meddelandet",
+ "mode_settings_receive_webhook_url_checkbox": "Använd aviseringswebhook",
+ "mode_settings_receive_disable_files_checkbox": "Inaktivera uppladdning av filer",
+ "mode_settings_receive_disable_text_checkbox": "Inaktivera att skicka text",
+ "mode_settings_title_label": "Anpassad titel",
+ "gui_color_mode_changed_notice": "Starta om OnionShare för att det nya färgläget ska tillämpas.",
+ "gui_status_indicator_chat_started": "Chattar",
+ "gui_status_indicator_chat_working": "Startar…"
+} \ No newline at end of file
diff --git a/desktop/src/onionshare/resources/locale/sw.json b/desktop/src/onionshare/resources/locale/sw.json
index 74707f3c..31eb72c5 100644
--- a/desktop/src/onionshare/resources/locale/sw.json
+++ b/desktop/src/onionshare/resources/locale/sw.json
@@ -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": "",
@@ -34,14 +31,12 @@
"gui_receive_quit_warning": "",
"gui_quit_warning_quit": "",
"gui_quit_warning_dont_quit": "",
- "error_rate_limit": "",
"zip_progress_bar_format": "",
"error_stealth_not_supported": "",
"error_ephemeral_not_supported": "",
"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": "",
@@ -111,7 +106,6 @@
"gui_autostop_timer_cant_be_earlier_than_autostart_timer": "",
"share_via_onionshare": "",
"gui_connect_to_tor_for_onion_settings": "",
- "gui_use_legacy_v2_onions_checkbox": "",
"gui_save_private_key_checkbox": "",
"gui_share_url_description": "",
"gui_receive_url_description": "",
diff --git a/desktop/src/onionshare/resources/locale/te.json b/desktop/src/onionshare/resources/locale/te.json
index 541625f8..d1784090 100644
--- a/desktop/src/onionshare/resources/locale/te.json
+++ b/desktop/src/onionshare/resources/locale/te.json
@@ -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": "అంత త్వరగా కాదు",
@@ -34,14 +31,12 @@
"gui_receive_quit_warning": "మీరు దస్త్రాలను స్వీకరించే క్రమంలో ఉన్నారు. మీరు నిశ్చయంగా ఇప్పుడు OnionShareని విడిచి వెళ్ళాలనుకుంటున్నారా?",
"gui_quit_warning_quit": "నిష్క్రమించు",
"gui_quit_warning_dont_quit": "రద్దుచేయి",
- "error_rate_limit": "ఎవరో మీ జాల చిరునామాతో చాలా సరికాని సంకేతశబ్దాలు వాడారు, బహుశా వారు దానిని ఊహించడానికి ప్రయత్నిస్తుండవచ్చు, కనుక OnionShare సర్వరును ఆపివేసింది. మరల పంచుకోవడం మొదలుపెట్టి మీ గ్రహీతలకు ఆ కొత్త జాల చిరునామాను పంపండి.",
"zip_progress_bar_format": "కుదించబడుతున్నది: %p%",
"error_stealth_not_supported": "ఉపయోక్త ధ్రువీకరణను వాడుటకై కనీసం Tor 0.2.9.1-alpha (లేదా Tor Browser 6.5), python3-stem 1.5.0 ఈ రెండూ ఉండాలి.",
"error_ephemeral_not_supported": "OnionShare పనిచేయాలంటే Tor 0.2.7.1 మరియు python-3-stem 1.4.0, ఈ రెండూ ఉండాలి.",
"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": "ఇంతకుముందు సరిచూసినది: {}",
@@ -111,7 +106,6 @@
"gui_autostop_timer_cant_be_earlier_than_autostart_timer": "స్వయంచాలక ఆగు సమయం అనేది స్వయంచాలక ప్రారంభ సమయంతో సమానంగా లేదా అంతకు ముందు ఉండకూడదు. పంచుకోవడం ప్రారంభించడం కొరకు దయచేసి దానిని నవీకరించండి.",
"share_via_onionshare": "OnionShare చేయి",
"gui_connect_to_tor_for_onion_settings": "Onion సేవా అమరికలను చూచుటకు Torతో అనుసంధానించు",
- "gui_use_legacy_v2_onions_checkbox": "పాత చిరునామాలు వాడు",
"gui_save_private_key_checkbox": "ఒక నిరంతర చిరునామాను వాడు",
"gui_share_url_description": "ఈOnionShare చిరునామా గల <b>ఎవరైనా</b> మీ దస్త్రాలను <b>Tor విహారిణి</b>తో <b>దింపుకోవచ్చు</b>: <img src='{}' />",
"gui_receive_url_description": "ఈOnionShare చిరునామా గల <b>ఎవరైనా</b> మీ దస్త్రాలను <b>Tor విహారిణి</b>తో <b>ఎక్కించుకోవచ్చు</b>:<img src='{}' />",
diff --git a/desktop/src/onionshare/resources/locale/tr.json b/desktop/src/onionshare/resources/locale/tr.json
index 9b217970..d8a34d02 100644
--- a/desktop/src/onionshare/resources/locale/tr.json
+++ b/desktop/src/onionshare/resources/locale/tr.json
@@ -5,17 +5,17 @@
"not_a_file": "{0:s} dosya değil.",
"other_page_loaded": "Adres yüklendi",
"closing_automatically": "Aktarım tamamlandığından durduruldu",
- "large_filesize": "Uyarı: Büyük bir paylaşma göndermek saatler sürebilir",
+ "large_filesize": "Uyarı: Büyük bir paylaşım saatler sürebilir",
"help_local_only": "Tor kullanmayın (sadece geliştirme için)",
"help_stay_open": "Dosyalar gönderildikten sonra paylaşmaya devam et",
"help_debug": "OnionShare hatalarını stdout'a ve web hatalarını diske yaz",
"help_filename": "Paylaşmak için dosya ve klasörler listesi",
- "gui_drag_and_drop": "Paylaşmaya başlamak için dosya ve klasörleri sürükleyip bırakın",
+ "gui_drag_and_drop": "Paylaşıma başlamak için dosya ve klasörleri sürükleyip bırakın",
"gui_add": "Ekle",
"gui_delete": "Sil",
"gui_choose_items": "Seç",
"gui_share_start_server": "Paylaşmaya başla",
- "gui_share_stop_server": "Paylaşmayı durdur",
+ "gui_share_stop_server": "Paylaşımı durdur",
"gui_copy_url": "Adresi Kopyala",
"gui_downloads": "İndirilenler:",
"gui_canceled": "İptal edilen",
@@ -33,31 +33,26 @@
"help_stealth": "İstemci yetkilendirmesini kullan (gelişmiş)",
"help_receive": "Paylaşımı göndermek yerine, almak",
"help_config": "Özel JSON config dosyası konumu (isteğe bağlı)",
- "gui_add_files": "Dosya Ekle",
- "gui_add_folder": "Klasör Ekle",
- "gui_share_stop_server_autostop_timer": "Paylaşmayı Durdur ({})",
+ "gui_add_files": "Dosya ekle",
+ "gui_add_folder": "Klasör ekle",
+ "gui_share_stop_server_autostop_timer": "Paylaşımı Durdur ({})",
"gui_share_stop_server_autostop_timer_tooltip": "Otomatik durdurma zamanlayıcısı {} sonra biter",
"gui_receive_start_server": "Alma Modunu Başlat",
"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?",
"gui_receive_quit_warning": "Dosya alıyorsunuz. OnionShare uygulamasından çıkmak istediğinize emin misiniz?",
"gui_quit_warning_quit": "Çık",
"gui_quit_warning_dont_quit": "İptal",
- "error_rate_limit": "Birisi parolanızı tahmin etmek için çok fazla yanlış girişimde bulundu, bu yüzden OnionShare sunucuyu durdurdu. Paylaşmayı tekrar başlatın ve alıcıya paylaşmanın yeni bir adresini gönderin.",
"error_stealth_not_supported": "İstemci kimlik doğrulamasını kullanmak için, en az Tor 0.2.9.1-alpha (ya da Tor Browser 6.5) ve python3-stem 1.5.0 sürümleri gereklidir.",
"error_ephemeral_not_supported": "OnionShare için en az Tor 0.2.7.1 ve python3-stem 1.4.0 sürümleri gereklidir.",
"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: {}",
@@ -124,7 +119,6 @@
"gui_server_autostop_timer_expired": "Otomatik durma sayacı zaten sona ermiş. Paylaşmaya başlamak için sayacı ayarlayın.",
"share_via_onionshare": "OnionShare ile paylaş",
"gui_connect_to_tor_for_onion_settings": "Onion hizmet ayarlarını görmek için Tor bağlantısı kurun",
- "gui_use_legacy_v2_onions_checkbox": "Eski adresler kullanılsın",
"gui_save_private_key_checkbox": "Kalıcı bir adres kullanılsın",
"gui_share_url_description": "Bu OnionShare adresine sahip olan <b>herkes</b> <b>Tor Browser</b> kullanarak dosyalarınızı <b>indirebilir</b>: <img src='{}' />",
"gui_receive_url_description": "Bu OnionShare adresine sahip olan <b>herkes</b> <b>Tor Browser</b> kullanarak dosyaları bilgisayarınıza <b>yükleyebilir</b>: <img src='{}' />",
@@ -197,7 +191,6 @@
"hours_first_letter": "s",
"minutes_first_letter": "d",
"seconds_first_letter": "sn",
- "invalid_password_guess": "Geçersiz parola tahmini",
"gui_website_url_description": "Bu OnionShare adresine sahip olan <b>herkes</b> <b>Tor Browser</b> kullanarak web sitenizi <b>ziyaret edebilir</b>: <img src='{}' />",
"gui_mode_website_button": "Web Sitesini Yayınla",
"gui_website_mode_no_files": "Henüz Bir Web Sitesi Paylaşılmadı",
@@ -210,7 +203,6 @@
"mode_settings_receive_data_dir_browse_button": "Göz at",
"mode_settings_receive_data_dir_label": "Dosyaları şuraya kaydet",
"mode_settings_share_autostop_sharing_checkbox": "Dosyalar gönderildikten sonra paylaşmayı durdur (dosyaların tek tek indirilmesine izin vermek için işareti kaldırın)",
- "mode_settings_client_auth_checkbox": "İstemci kimlik doğrulaması kullan",
"mode_settings_legacy_checkbox": "Eski bir adres kullan (v2 onion hizmeti, tavsiye edilmez)",
"mode_settings_autostop_timer_checkbox": "Onion hizmetini zamanlanan saatte durdur",
"mode_settings_autostart_timer_checkbox": "Onion hizmetini zamanlanan saatte başlat",
@@ -237,8 +229,8 @@
"gui_new_tab_tooltip": "Yeni bir sekme aç",
"gui_new_tab": "Yeni Sekme",
"gui_remove": "Kaldır",
- "gui_file_selection_remove_all": "Tümünü Kaldır",
- "gui_chat_start_server": "Sohbet sunucusu başlat",
+ "gui_file_selection_remove_all": "Tümünü kaldır",
+ "gui_chat_start_server": "Sohbet sunucusunu başlat",
"gui_chat_stop_server": "Sohbet sunucusunu durdur",
"gui_receive_flatpak_data_dir": "OnionShare'i Flatpak kullanarak kurduğunuz için, dosyaları ~/OnionShare içindeki bir klasöre kaydetmelisiniz.",
"gui_show_url_qr_code": "QR Kodu Göster",
@@ -267,5 +259,10 @@
"gui_status_indicator_chat_started": "Sohbet ediliyor",
"gui_status_indicator_chat_scheduled": "Zamanlandı…",
"gui_status_indicator_chat_working": "Başlatılıyor…",
- "gui_status_indicator_chat_stopped": "Sohbet etmeye hazır"
+ "gui_status_indicator_chat_stopped": "Sohbet etmeye hazır",
+ "gui_settings_theme_dark": "Koyu",
+ "gui_settings_theme_light": "Açık",
+ "gui_settings_theme_auto": "Otomatik",
+ "gui_settings_theme_label": "Tema",
+ "gui_please_wait_no_button": "Başlatılıyor…"
}
diff --git a/desktop/src/onionshare/resources/locale/uk.json b/desktop/src/onionshare/resources/locale/uk.json
index 03ea9dfb..49762022 100644
--- a/desktop/src/onionshare/resources/locale/uk.json
+++ b/desktop/src/onionshare/resources/locale/uk.json
@@ -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": "Не так швидко",
@@ -34,14 +31,12 @@
"gui_receive_quit_warning": "Відбувається отримання файлів. Ви впевнені, що бажаєте вийти з OnionShare?",
"gui_quit_warning_quit": "Вийти",
"gui_quit_warning_dont_quit": "Відміна",
- "error_rate_limit": "Хтось здійснив забагато невдалих спроб під'єднатися до вашого сервера, тому OnionShare зупинив сервер. Почніть надсилання знову й надішліть одержувачу нову адресу надсилання.",
"zip_progress_bar_format": "Стиснення: %p%",
"error_stealth_not_supported": "Для авторизації клієнта, вам потрібні принаймні Tor 0.2.9.1-alpha(або Tor Browser 6.5) і python3-stem 1.5.0.",
"error_ephemeral_not_supported": "OnionShare потребує принаймні Tor 0.2.7.1 і python3-stem 1.4.0.",
"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": "Попередня перевірка: {}",
@@ -60,7 +55,7 @@
"gui_settings_control_port_label": "Порт керування",
"gui_settings_socket_file_label": "Файл сокета",
"gui_settings_socks_label": "SOCKS порт",
- "gui_settings_authenticate_label": "Параметри автентифікації Tor",
+ "gui_settings_authenticate_label": "Налаштування автентифікації Tor",
"gui_settings_authenticate_no_auth_option": "Без автентифікації або автентифікація через cookie",
"gui_settings_authenticate_password_option": "Пароль",
"gui_settings_password_label": "Пароль",
@@ -99,7 +94,7 @@
"update_error_check_error": "Не вдалося перевірити наявність нових версій: можливо, ви не під'єднані до Tor або вебсайт OnionShare не працює?",
"update_error_invalid_latest_version": "Не вдалося перевірити наявність нової версії: вебсайт OnionShare повідомляє, що не вдалося розпізнати найновішу версію '{}'…",
"update_not_available": "У вас найновіша версія OnionShare.",
- "gui_tor_connection_ask": "Відкрити параметри для перевірки з'єднання з Tor?",
+ "gui_tor_connection_ask": "Відкрити налаштування для перевірки з'єднання з Tor?",
"gui_tor_connection_ask_open_settings": "Так",
"gui_tor_connection_ask_quit": "Вийти",
"gui_tor_connection_error_settings": "Спробуйте змінити в параметрах, як OnionShare з'єднується з мережею Tor.",
@@ -111,7 +106,6 @@
"gui_autostop_timer_cant_be_earlier_than_autostart_timer": "Час автоспину не може бути однаковим або ранішим за час автоматичного запуску. Налаштуйте його, щоб почати надсилання.",
"share_via_onionshare": "Поділитися через OnionShare",
"gui_connect_to_tor_for_onion_settings": "З'єднайтеся з Tor, щоб побачити параметри служби onion",
- "gui_use_legacy_v2_onions_checkbox": "Використовувати застарілі адреси",
"gui_save_private_key_checkbox": "Використовувати постійну адресу",
"gui_share_url_description": "<b>Будь-хто</b>, за допомогою цієї адреси, може <b>завантажити</b> ваші файли, через <b>Tor Browser</b>: <img src='{}' />",
"gui_receive_url_description": "<b>Будь-хто</b>, за допомогою цієї адреси, може <b>завантажити</b> файли до вашого комп'ютера через <b>Tor Browser</b>: <img src='{}' />",
@@ -132,7 +126,7 @@
"history_in_progress_tooltip": "{} в процесі",
"history_completed_tooltip": "{} завершено",
"error_cannot_create_data_dir": "Не вдалося створити теку даних OnionShare: {}",
- "gui_receive_mode_warning": "Режим отримання дозволяє завантажувати файли до вашого комп'ютера.<br><br><b>Деякі файли, потенційно, можуть заволодіти вашим комп'ютером, у разі їх відкриття. Відкривайте файли лише від довірених осіб, або якщо впевнені в своїх діях.</b>",
+ "gui_receive_mode_warning": "Режим отримання дозволяє завантажувати файли до вашого комп'ютера.<br><br><b>Деякі файли, потенційно, можуть заволодіти вашим комп'ютером, у разі їх відкриття. Відкривайте файли лише від довірених осіб, або якщо ви впевнені у своїх діях.</b>",
"gui_mode_share_button": "Поділитися файлами",
"gui_mode_receive_button": "Отримання Файлів",
"gui_settings_receiving_label": "Параметри отримання",
@@ -187,7 +181,6 @@
"mode_settings_website_disable_csp_checkbox": "Не надсилати заголовок політики безпеки вмісту (дозволяє вебсайту застосовувати сторонні ресурси)",
"mode_settings_receive_data_dir_label": "Зберігати файли до",
"mode_settings_share_autostop_sharing_checkbox": "Закрити доступ, коли файли надіслано (приберіть позначку, щоб дозволити завантаження окремих файлів)",
- "mode_settings_client_auth_checkbox": "Застосовувати авторизацію клієнта",
"mode_settings_legacy_checkbox": "Користуватися застарілою адресою (служба onion v2, не рекомендовано)",
"mode_settings_autostop_timer_checkbox": "Зупинити службу onion у запланований час",
"mode_settings_autostart_timer_checkbox": "Запускати службу onion у запланований час",
@@ -242,5 +235,10 @@
"gui_status_indicator_chat_scheduled": "Заплановано…",
"gui_status_indicator_chat_started": "Спілкування",
"gui_status_indicator_chat_working": "Початок…",
- "gui_status_indicator_chat_stopped": "Готовий до спілкування"
+ "gui_status_indicator_chat_stopped": "Готовий до спілкування",
+ "gui_settings_theme_dark": "Темна",
+ "gui_settings_theme_light": "Світла",
+ "gui_settings_theme_auto": "Автоматична",
+ "gui_settings_theme_label": "Тема",
+ "gui_please_wait_no_button": "Запускається…"
}
diff --git a/desktop/src/onionshare/resources/locale/wo.json b/desktop/src/onionshare/resources/locale/wo.json
index 89d732b3..e0f37715 100644
--- a/desktop/src/onionshare/resources/locale/wo.json
+++ b/desktop/src/onionshare/resources/locale/wo.json
@@ -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": "",
@@ -62,14 +59,12 @@
"gui_receive_quit_warning": "",
"gui_quit_warning_quit": "",
"gui_quit_warning_dont_quit": "",
- "error_rate_limit": "",
"zip_progress_bar_format": "",
"error_stealth_not_supported": "",
"error_ephemeral_not_supported": "",
"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": "",
@@ -134,7 +129,6 @@
"gui_server_started_after_autostop_timer": "",
"gui_server_autostop_timer_expired": "",
"share_via_onionshare": "",
- "gui_use_legacy_v2_onions_checkbox": "",
"gui_save_private_key_checkbox": "",
"gui_share_url_description": "",
"gui_receive_url_description": "",
diff --git a/desktop/src/onionshare/resources/locale/yo.json b/desktop/src/onionshare/resources/locale/yo.json
index 96b5a0d1..5da034d1 100644
--- a/desktop/src/onionshare/resources/locale/yo.json
+++ b/desktop/src/onionshare/resources/locale/yo.json
@@ -7,14 +7,14 @@
"give_this_url_receive_stealth": "",
"ctrlc_to_stop": "",
"not_a_file": "",
- "not_a_readable_file": "",
+ "not_a_readable_file": "{0:s} je oun ti a ko le ka.",
"no_available_port": "",
- "other_page_loaded": "",
- "close_on_autostop_timer": "",
- "closing_automatically": "",
+ "other_page_loaded": "Adiresi ti wole",
+ "close_on_autostop_timer": "O danuduro nitori akoko idaduro aifowoyi ti pe",
+ "closing_automatically": "Odanuduro nitori o ti fi ranse tan",
"timeout_download_still_running": "",
"timeout_upload_still_running": "",
- "large_filesize": "",
+ "large_filesize": "Ikilo: Fi fi nkan repete ranse le gba aimoye wakati",
"systray_menu_exit": "",
"systray_download_started_title": "",
"systray_download_started_message": "",
@@ -32,27 +32,24 @@
"help_verbose": "",
"help_filename": "",
"help_config": "",
- "gui_drag_and_drop": "",
- "gui_add": "",
+ "gui_drag_and_drop": "Wo awon iwe pelebe ati apamowo re sibi lati bere sini fi ranse",
+ "gui_add": "Fikun",
"gui_delete": "",
- "gui_choose_items": "",
- "gui_share_start_server": "",
- "gui_share_stop_server": "",
- "gui_share_stop_server_autostop_timer": "",
+ "gui_choose_items": "Yan",
+ "gui_share_start_server": "Bere si ni pin",
+ "gui_share_stop_server": "Dawo pinpin duro",
+ "gui_share_stop_server_autostop_timer": "Dawo pinpin duro ({})",
"gui_share_stop_server_autostop_timer_tooltip": "",
- "gui_receive_start_server": "",
- "gui_receive_stop_server": "",
+ "gui_receive_start_server": "Bere ipele gbigba",
+ "gui_receive_stop_server": "Duro ipele gbigba",
"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": "",
@@ -63,14 +60,12 @@
"gui_receive_quit_warning": "",
"gui_quit_warning_quit": "",
"gui_quit_warning_dont_quit": "",
- "error_rate_limit": "",
"zip_progress_bar_format": "",
"error_stealth_not_supported": "",
"error_ephemeral_not_supported": "",
"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": "",
@@ -135,7 +130,6 @@
"gui_server_started_after_autostop_timer": "",
"gui_server_autostop_timer_expired": "",
"share_via_onionshare": "",
- "gui_use_legacy_v2_onions_checkbox": "",
"gui_save_private_key_checkbox": "",
"gui_share_url_description": "",
"gui_receive_url_description": "",
@@ -181,5 +175,14 @@
"gui_download_in_progress": "",
"gui_open_folder_error_nautilus": "",
"gui_settings_language_label": "",
- "gui_settings_language_changed_notice": ""
+ "gui_settings_language_changed_notice": "",
+ "gui_start_server_autostart_timer_tooltip": "Akoko ti nbere laifowoyi duro ni {}",
+ "gui_stop_server_autostop_timer_tooltip": "Akoko ti nduro laifowoyi dopin ni {}",
+ "gui_chat_stop_server": "Da olupin iregbe duro",
+ "gui_chat_start_server": "Bere olupin iregbe",
+ "gui_file_selection_remove_all": "Yo gbogbo re kuro",
+ "gui_remove": "Yokuro",
+ "gui_add_folder": "S'afikun folda",
+ "gui_add_files": "S'afikun faili",
+ "incorrect_password": "Ashiko oro igbaniwole"
}
diff --git a/desktop/src/onionshare/resources/locale/zh_Hans.json b/desktop/src/onionshare/resources/locale/zh_Hans.json
index af0a2a99..39aa5c3b 100644
--- a/desktop/src/onionshare/resources/locale/zh_Hans.json
+++ b/desktop/src/onionshare/resources/locale/zh_Hans.json
@@ -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": "",
@@ -62,14 +59,12 @@
"gui_receive_quit_warning": "您有文件在接收中……确定要退出 OnionShare 吗?",
"gui_quit_warning_quit": "退出",
"gui_quit_warning_dont_quit": "取消",
- "error_rate_limit": "有人发出了过多错误请求来猜测您的地址,因此 OinionShare 已停止服务。请重新开启共享并且向接收人发送新的共享地址。",
"zip_progress_bar_format": "压缩中:%p%",
"error_stealth_not_supported": "要使用客户端认证,最低版本要求是:Tor 0.2.9.1-alpha(或 Tor Browser 6.5)和 python3-stem 1.5.0。",
"error_ephemeral_not_supported": "OnionShare 最低版本要求为 Tor 0.2.7.1 和 python3-stem 1.4.0。",
"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": "上次检查更新时间:{}",
@@ -134,7 +129,6 @@
"gui_server_started_after_autostop_timer": "在服务器启动之前,自动停止的定时器的计时已到。请建立一个新的共享。",
"gui_server_autostop_timer_expired": "自动停止的定时器计时已到。请对其调整以开始共享。",
"share_via_onionshare": "通过 OnionShare 共享",
- "gui_use_legacy_v2_onions_checkbox": "使用老式地址",
"gui_save_private_key_checkbox": "使用长期地址",
"gui_share_url_description": "<b>任何人</b>只要有这个 OnionShare 地址,都可以用<b> Tor Browser </b>来<b>下载</b>您的文件:<img src='{}' />",
"gui_receive_url_description": "<b>任何人</b>只要有这个 OnionShare 地址,都可以用<b> Tor Browser </b>向您的电脑<b>上传</b>文件:<img src='{}' />",
@@ -238,7 +232,6 @@
"mode_settings_receive_data_dir_browse_button": "浏览",
"mode_settings_receive_data_dir_label": "保存文件到",
"mode_settings_share_autostop_sharing_checkbox": "文件传送完后停止共享(取消选中可允许下载单个文件)",
- "mode_settings_client_auth_checkbox": "使用客户端认证",
"mode_settings_legacy_checkbox": "使用旧地址(v2 onion服务,不推荐)",
"mode_settings_autostop_timer_checkbox": "定时停止onion服务",
"mode_settings_autostart_timer_checkbox": "定时起动onion服务",
@@ -294,5 +287,10 @@
"gui_status_indicator_chat_started": "正在聊天",
"gui_status_indicator_chat_scheduled": "已安排…",
"gui_status_indicator_chat_working": "启动中…",
- "gui_status_indicator_chat_stopped": "准备好聊天"
-}
+ "gui_status_indicator_chat_stopped": "准备好聊天",
+ "gui_please_wait_no_button": "启动中…",
+ "gui_settings_theme_dark": "深色",
+ "gui_settings_theme_light": "浅色",
+ "gui_settings_theme_auto": "自动",
+ "gui_settings_theme_label": "主题"
+} \ No newline at end of file
diff --git a/desktop/src/onionshare/resources/locale/zh_Hant.json b/desktop/src/onionshare/resources/locale/zh_Hant.json
index b6158c59..29203837 100644
--- a/desktop/src/onionshare/resources/locale/zh_Hant.json
+++ b/desktop/src/onionshare/resources/locale/zh_Hant.json
@@ -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": "",
@@ -62,14 +59,12 @@
"gui_receive_quit_warning": "仍在接收檔案,您確定要結束OnionShare嗎?",
"gui_quit_warning_quit": "結束",
"gui_quit_warning_dont_quit": "取消",
- "error_rate_limit": "有人嘗試猜測您的密碼太多次,因此OnionShare已經停止服務。再次啟動分享並傳送新的地址給接收者以開始分享。",
"zip_progress_bar_format": "壓縮中: %p%",
"error_stealth_not_supported": "為了使用客戶端認證, 您至少需要 Tor 0.2.9.1-alpha (或 Tor Browser 6.5) 以及 python3-stem 1.5.0.",
"error_ephemeral_not_supported": "OnionShare 需要至少 Tor 0.2.7.1 以及 python3-stem 1.4.0.",
"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": "上一次檢查時間: {}",
@@ -134,7 +129,6 @@
"gui_server_started_after_autostop_timer": "在服務器啓動之前,自動停止的定時器的計時已到。請建立一個新的共享。",
"gui_server_autostop_timer_expired": "自動停止計時器時間已到。請調整它來開始分享。",
"share_via_onionshare": "使用OnionShare分享",
- "gui_use_legacy_v2_onions_checkbox": "使用傳統地址",
"gui_save_private_key_checkbox": "使用永久地址",
"gui_share_url_description": "<b>任何人</b>只要擁有這個地址就可以<b>下載</b>你的檔案經由<b>Tor Browser</b>: <img src='{}' />",
"gui_receive_url_description": "<b>任何人</b>只要擁有這個地址就可以<b>上傳</b>檔案到你的電腦經由<b>Tor Browser</b>: <img src='{}' />",
@@ -270,7 +264,6 @@
"gui_rendezvous_cleanup": "等待Tor电路关闭,以确保文檔传输成功。\n\n這可能需要幾分鐘。",
"mode_settings_website_disable_csp_checkbox": "取消內容安全政策(Content Security Policy)信頭(允許您的網站使用三方資源)",
"mode_settings_share_autostop_sharing_checkbox": "檔案傳送完後停止共享(取消選中可允許下載單個檔案)",
- "mode_settings_client_auth_checkbox": "使用者端認證",
"mode_settings_legacy_checkbox": "使用舊地址(v2 onion服務,不推薦)",
"mode_settings_autostop_timer_checkbox": "定時停止onion服務",
"mode_settings_autostart_timer_checkbox": "定時起動onion服務",
diff --git a/desktop/src/onionshare/settings_dialog.py b/desktop/src/onionshare/settings_dialog.py
index 190ae35d..e8d2752c 100644
--- a/desktop/src/onionshare/settings_dialog.py
+++ b/desktop/src/onionshare/settings_dialog.py
@@ -19,6 +19,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
"""
from PySide2 import QtCore, QtWidgets, QtGui
+from PySide2.QtCore import Slot,Qt
+from PySide2.QtGui import QPalette, QColor
import sys
import platform
import datetime
@@ -123,6 +125,20 @@ class SettingsDialog(QtWidgets.QDialog):
language_layout.addWidget(self.language_combobox)
language_layout.addStretch()
+ #Theme Settings
+ theme_label = QtWidgets.QLabel(strings._("gui_settings_theme_label"))
+ self.theme_combobox = QtWidgets.QComboBox()
+ theme_choices = [
+ strings._("gui_settings_theme_auto"),
+ strings._("gui_settings_theme_light"),
+ strings._("gui_settings_theme_dark")
+ ]
+ self.theme_combobox.addItems(theme_choices)
+ theme_layout = QtWidgets.QHBoxLayout()
+ theme_layout.addWidget(theme_label)
+ theme_layout.addWidget(self.theme_combobox)
+ theme_layout.addStretch()
+
# Connection type: either automatic, control port, or socket file
# Bundled Tor
@@ -451,6 +467,8 @@ class SettingsDialog(QtWidgets.QDialog):
layout.addSpacing(20)
layout.addLayout(language_layout)
layout.addSpacing(20)
+ layout.addLayout(theme_layout)
+ layout.addSpacing(20)
layout.addStretch()
layout.addLayout(buttons_layout)
@@ -477,6 +495,9 @@ class SettingsDialog(QtWidgets.QDialog):
locale_index = self.language_combobox.findData(locale)
self.language_combobox.setCurrentIndex(locale_index)
+ theme_choice = self.old_settings.get("theme")
+ self.theme_combobox.setCurrentIndex(theme_choice)
+
connection_type = self.old_settings.get("connection_type")
if connection_type == "bundled":
if self.connection_type_bundled_radio.isEnabled():
@@ -822,6 +843,12 @@ class SettingsDialog(QtWidgets.QDialog):
notice = strings._("gui_settings_language_changed_notice")
Alert(self.common, notice, QtWidgets.QMessageBox.Information)
+
+ # If color mode changed, inform user they need to restart OnionShare
+ if changed(settings, self.old_settings, ["theme"]):
+ notice = strings._("gui_color_mode_changed_notice")
+ Alert(self.common, notice, QtWidgets.QMessageBox.Information)
+
# Save the new settings
settings.save()
@@ -931,6 +958,10 @@ class SettingsDialog(QtWidgets.QDialog):
settings = Settings(self.common)
settings.load() # To get the last update timestamp
+ # Theme
+ theme_index = self.theme_combobox.currentIndex()
+ settings.set("theme",theme_index)
+
# Language
locale_index = self.language_combobox.currentIndex()
locale = self.language_combobox.itemData(locale_index)
diff --git a/desktop/src/onionshare/tab/mode/__init__.py b/desktop/src/onionshare/tab/mode/__init__.py
index 16944af8..1e7121bb 100644
--- a/desktop/src/onionshare/tab/mode/__init__.py
+++ b/desktop/src/onionshare/tab/mode/__init__.py
@@ -158,9 +158,16 @@ class Mode(QtWidgets.QWidget):
)
)
else:
- self.server_status.server_button.setText(
- strings._("gui_please_wait")
- )
+ if self.common.platform == "Windows" or self.settings.get(
+ "general", "autostart_timer"
+ ):
+ self.server_status.server_button.setText(
+ strings._("gui_please_wait")
+ )
+ else:
+ self.server_status.server_button.setText(
+ strings._("gui_please_wait_no_button")
+ )
# If the auto-stop timer has stopped, stop the server
if self.server_status.status == ServerStatus.STATUS_STARTED:
@@ -239,13 +246,25 @@ 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.server_status.local_only
+ and not self.app.onion.supports_stealth
+ and not self.settings.get("general", "public")
+ ):
+ 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
@@ -354,14 +373,19 @@ class Mode(QtWidgets.QWidget):
self.app.onion.scheduled_key = None
self.app.onion.scheduled_auth_cookie = None
self.startup_thread.quit()
- if self.onion_thread:
- self.common.log("Mode", "cancel_server: quitting onion thread")
- self.onion_thread.terminate()
- self.onion_thread.wait()
- if self.web_thread:
- self.common.log("Mode", "cancel_server: quitting web thread")
- self.web_thread.terminate()
- self.web_thread.wait()
+
+ # Canceling only works in Windows
+ # https://github.com/onionshare/onionshare/issues/1371
+ if self.common.platform == "Windows":
+ if self.onion_thread:
+ self.common.log("Mode", "cancel_server: quitting onion thread")
+ self.onion_thread.terminate()
+ self.onion_thread.wait()
+ if self.web_thread:
+ self.common.log("Mode", "cancel_server: quitting web thread")
+ self.web_thread.terminate()
+ self.web_thread.wait()
+
self.stop_server()
def cancel_server_custom(self):
@@ -426,15 +450,6 @@ class Mode(QtWidgets.QWidget):
"""
pass
- def handle_request_rate_limit(self, event):
- """
- Handle REQUEST_RATE_LIMIT event.
- """
- self.stop_server()
- Alert(
- self.common, strings._("error_rate_limit"), QtWidgets.QMessageBox.Critical
- )
-
def handle_request_progress(self, event):
"""
Handle REQUEST_PROGRESS event.
diff --git a/desktop/src/onionshare/tab/mode/chat_mode/__init__.py b/desktop/src/onionshare/tab/mode/chat_mode/__init__.py
index fe3e69f1..e7a17ce7 100644
--- a/desktop/src/onionshare/tab/mode/chat_mode/__init__.py
+++ b/desktop/src/onionshare/tab/mode/chat_mode/__init__.py
@@ -130,7 +130,6 @@ class ChatMode(Mode):
"""
# Reset web counters
self.web.chat_mode.cur_history_id = 0
- self.web.reset_invalid_passwords()
def start_server_step2_custom(self):
"""
diff --git a/desktop/src/onionshare/tab/mode/history.py b/desktop/src/onionshare/tab/mode/history.py
index 795b0cd9..091905f7 100644
--- a/desktop/src/onionshare/tab/mode/history.py
+++ b/desktop/src/onionshare/tab/mode/history.py
@@ -148,6 +148,7 @@ class ShareHistoryItem(HistoryItem):
# Change the label
self.label.setText(self.get_finished_label_text(self.started_dt))
+ self.label.setStyleSheet(self.common.gui.css["history_default_label"])
self.status = HistoryItem.STATUS_FINISHED
else:
@@ -439,6 +440,7 @@ class ReceiveHistoryItem(HistoryItem):
# Change the label
self.label.setText(self.get_finished_label_text(self.started))
+ self.label.setStyleSheet(self.common.gui.css["history_default_label"])
elif data["action"] == "canceled":
# Change the status
@@ -479,6 +481,7 @@ class IndividualFileHistoryItem(HistoryItem):
self.common.gui.css["history_individual_file_timestamp_label"]
)
self.path_label = QtWidgets.QLabel(self.path)
+ self.path_label.setStyleSheet(self.common.gui.css["history_default_label"])
self.status_code_label = QtWidgets.QLabel()
# Progress bar
@@ -711,6 +714,7 @@ class History(QtWidgets.QWidget):
self.not_empty_layout.addLayout(header_layout)
self.not_empty_layout.addWidget(self.item_list)
self.not_empty = QtWidgets.QWidget()
+ self.not_empty.setStyleSheet(self.common.gui.css["downloads_uploads_not_empty"])
self.not_empty.setLayout(self.not_empty_layout)
# Layout
diff --git a/desktop/src/onionshare/tab/mode/mode_settings_widget.py b/desktop/src/onionshare/tab/mode/mode_settings_widget.py
index 9f55dbaf..0e80023e 100644
--- a/desktop/src/onionshare/tab/mode/mode_settings_widget.py
+++ b/desktop/src/onionshare/tab/mode/mode_settings_widget.py
@@ -129,28 +129,6 @@ class ModeSettingsWidget(QtWidgets.QScrollArea):
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
- 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)
-
# Toggle advanced settings
self.toggle_advanced_button = QtWidgets.QPushButton()
self.toggle_advanced_button.clicked.connect(self.toggle_advanced_clicked)
@@ -165,8 +143,6 @@ class ModeSettingsWidget(QtWidgets.QScrollArea):
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)
self.advanced_widget = QtWidgets.QWidget()
self.advanced_widget.setLayout(advanced_layout)
self.advanced_widget.hide()
@@ -200,28 +176,6 @@ class ModeSettingsWidget(QtWidgets.QScrollArea):
strings._("mode_settings_advanced_toggle_show")
)
- # Client auth is only a legacy option
- if self.client_auth_checkbox.isChecked():
- self.legacy_checkbox.setChecked(True)
- self.legacy_checkbox.setEnabled(False)
- else:
- self.legacy_checkbox.setEnabled(True)
- if self.legacy_checkbox.isChecked():
- self.client_auth_checkbox.show()
- else:
- self.client_auth_checkbox.hide()
-
- # 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)
- else:
- # If using v3, hide legacy and client auth options
- self.legacy_checkbox.hide()
- self.client_auth_checkbox.hide()
-
def title_editing_finished(self):
if self.title_lineedit.text().strip() == "":
self.title_lineedit.setText("")
@@ -283,14 +237,6 @@ class ModeSettingsWidget(QtWidgets.QScrollArea):
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 toggle_advanced_clicked(self):
if self.advanced_widget.isVisible():
self.advanced_widget.hide()
diff --git a/desktop/src/onionshare/tab/mode/receive_mode/__init__.py b/desktop/src/onionshare/tab/mode/receive_mode/__init__.py
index d07b5ffc..e9f6b2ce 100644
--- a/desktop/src/onionshare/tab/mode/receive_mode/__init__.py
+++ b/desktop/src/onionshare/tab/mode/receive_mode/__init__.py
@@ -296,7 +296,6 @@ class ReceiveMode(Mode):
"""
# Reset web counters
self.web.receive_mode.cur_history_id = 0
- self.web.reset_invalid_passwords()
# Hide and reset the uploads if we have previously shared
self.reset_info_counters()
diff --git a/desktop/src/onionshare/tab/mode/share_mode/__init__.py b/desktop/src/onionshare/tab/mode/share_mode/__init__.py
index 4056d92e..5d3e3c35 100644
--- a/desktop/src/onionshare/tab/mode/share_mode/__init__.py
+++ b/desktop/src/onionshare/tab/mode/share_mode/__init__.py
@@ -219,7 +219,6 @@ class ShareMode(Mode):
"""
# Reset web counters
self.web.share_mode.cur_history_id = 0
- self.web.reset_invalid_passwords()
# Hide and reset the downloads if we have previously shared
self.reset_info_counters()
diff --git a/desktop/src/onionshare/tab/mode/website_mode/__init__.py b/desktop/src/onionshare/tab/mode/website_mode/__init__.py
index 577ea28e..a50d15b9 100644
--- a/desktop/src/onionshare/tab/mode/website_mode/__init__.py
+++ b/desktop/src/onionshare/tab/mode/website_mode/__init__.py
@@ -210,7 +210,6 @@ class WebsiteMode(Mode):
"""
# Reset web counters
self.web.website_mode.visit_count = 0
- self.web.reset_invalid_passwords()
# Hide and reset the downloads if we have previously shared
self.reset_info_counters()
diff --git a/desktop/src/onionshare/tab/server_status.py b/desktop/src/onionshare/tab/server_status.py
index 7ca1af09..3d4c723d 100644
--- a/desktop/src/onionshare/tab/server_status.py
+++ b/desktop/src/onionshare/tab/server_status.py
@@ -38,7 +38,7 @@ class ServerStatus(QtWidgets.QWidget):
server_canceled = QtCore.Signal()
button_clicked = QtCore.Signal()
url_copied = QtCore.Signal()
- hidservauth_copied = QtCore.Signal()
+ client_auth_copied = QtCore.Signal()
STATUS_STOPPED = 0
STATUS_WORKING = 1
@@ -95,8 +95,8 @@ 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_button = QtWidgets.QPushButton(
+ strings._("gui_copy_client_auth")
)
self.show_url_qr_code_button = QtWidgets.QPushButton(
strings._("gui_show_url_qr_code")
@@ -109,14 +109,14 @@ class ServerStatus(QtWidgets.QWidget):
self.common.gui.css["server_status_url_buttons"]
)
- self.copy_hidservauth_button.setStyleSheet(
+ self.copy_client_auth_button.setStyleSheet(
self.common.gui.css["server_status_url_buttons"]
)
- self.copy_hidservauth_button.clicked.connect(self.copy_hidservauth)
+ self.copy_client_auth_button.clicked.connect(self.copy_client_auth)
url_buttons_layout = QtWidgets.QHBoxLayout()
url_buttons_layout.addWidget(self.copy_url_button)
+ url_buttons_layout.addWidget(self.copy_client_auth_button)
url_buttons_layout.addWidget(self.show_url_qr_code_button)
- url_buttons_layout.addWidget(self.copy_hidservauth_button)
url_buttons_layout.addStretch()
url_layout = QtWidgets.QVBoxLayout()
@@ -173,21 +173,41 @@ class ServerStatus(QtWidgets.QWidget):
info_image = GuiCommon.get_resource_path("images/info.png")
if self.mode == self.common.gui.MODE_SHARE:
- self.url_description.setText(
- strings._("gui_share_url_description").format(info_image)
- )
+ if self.settings.get("general", "public"):
+ self.url_description.setText(
+ strings._("gui_share_url_public_description").format(info_image)
+ )
+ else:
+ self.url_description.setText(
+ strings._("gui_share_url_description").format(info_image)
+ )
elif self.mode == self.common.gui.MODE_WEBSITE:
- self.url_description.setText(
- strings._("gui_website_url_description").format(info_image)
- )
+ if self.settings.get("general", "public"):
+ self.url_description.setText(
+ strings._("gui_website_url_public_description").format(info_image)
+ )
+ else:
+ self.url_description.setText(
+ strings._("gui_website_url_description").format(info_image)
+ )
elif self.mode == self.common.gui.MODE_RECEIVE:
- self.url_description.setText(
- strings._("gui_receive_url_description").format(info_image)
- )
+ if self.settings.get("general", "public"):
+ self.url_description.setText(
+ strings._("gui_receive_url_public_description").format(info_image)
+ )
+ else:
+ self.url_description.setText(
+ strings._("gui_receive_url_description").format(info_image)
+ )
elif self.mode == self.common.gui.MODE_CHAT:
- self.url_description.setText(
- strings._("gui_chat_url_description").format(info_image)
- )
+ if self.settings.get("general", "public"):
+ self.url_description.setText(
+ strings._("gui_chat_url_public_description").format(info_image)
+ )
+ else:
+ self.url_description.setText(
+ strings._("gui_chat_url_description").format(info_image)
+ )
# Show a Tool Tip explaining the lifecycle of this URL
if self.settings.get("persistent", "enabled"):
@@ -213,10 +233,10 @@ class ServerStatus(QtWidgets.QWidget):
self.show_url_qr_code_button.show()
- if self.settings.get("general", "client_auth"):
- self.copy_hidservauth_button.show()
+ if self.settings.get("general", "public"):
+ self.copy_client_auth_button.hide()
else:
- self.copy_hidservauth_button.hide()
+ self.copy_client_auth_button.show()
def update(self):
"""
@@ -230,10 +250,6 @@ class ServerStatus(QtWidgets.QWidget):
self.common.settings.load()
self.show_url()
- if not self.settings.get("onion", "password"):
- self.settings.set("onion", "password", self.web.password)
- self.settings.save()
-
if self.settings.get("general", "autostop_timer"):
self.server_button.setToolTip(
strings._("gui_stop_server_autostop_timer_tooltip").format(
@@ -246,7 +262,7 @@ 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_button.hide()
self.show_url_qr_code_button.hide()
self.mode_settings_widget.update_ui()
@@ -306,13 +322,18 @@ class ServerStatus(QtWidgets.QWidget):
)
)
else:
- self.server_button.setText(strings._("gui_please_wait"))
+ if self.common.platform == "Windows":
+ self.server_button.setText(strings._("gui_please_wait"))
+ else:
+ self.server_button.setText(
+ strings._("gui_please_wait_no_button")
+ )
else:
self.server_button.setStyleSheet(
self.common.gui.css["server_status_button_working"]
)
self.server_button.setEnabled(False)
- self.server_button.setText(strings._("gui_please_wait"))
+ self.server_button.setText(strings._("gui_please_wait_no_button"))
def server_button_clicked(self):
"""
@@ -379,7 +400,10 @@ class ServerStatus(QtWidgets.QWidget):
self.start_server()
elif self.status == self.STATUS_STARTED:
self.stop_server()
- elif self.status == self.STATUS_WORKING:
+ elif self.status == self.STATUS_WORKING and (
+ self.common.platform == "Windows"
+ or self.settings.get("general", "autostart_timer")
+ ):
self.cancel_server()
self.button_clicked.emit()
@@ -387,7 +411,11 @@ class ServerStatus(QtWidgets.QWidget):
"""
Show a QR code of the onion URL.
"""
- self.qr_code_dialog = QRCodeDialog(self.common, self.get_url())
+ if self.settings.get("general", "public"):
+ self.qr_code_dialog = QRCodeDialog(self.common, self.get_url())
+ else:
+ # Make a QR Code for the ClientAuth too
+ self.qr_code_dialog = QRCodeDialog(self.common, self.get_url(), self.app.auth_string)
def start_server(self):
"""
@@ -445,21 +473,18 @@ class ServerStatus(QtWidgets.QWidget):
self.url_copied.emit()
- def copy_hidservauth(self):
+ def copy_client_auth(self):
"""
- Copy the HidServAuth line to the clipboard.
+ Copy the ClientAuth private key line to the clipboard.
"""
clipboard = self.qtapp.clipboard()
clipboard.setText(self.app.auth_string)
- self.hidservauth_copied.emit()
+ self.client_auth_copied.emit()
def get_url(self):
"""
Returns the OnionShare URL.
"""
- if self.settings.get("general", "public"):
- url = f"http://{self.app.onion_host}"
- else:
- url = f"http://onionshare:{self.web.password}@{self.app.onion_host}"
+ url = f"http://{self.app.onion_host}"
return url
diff --git a/desktop/src/onionshare/tab/tab.py b/desktop/src/onionshare/tab/tab.py
index 09982de9..5d9bb077 100644
--- a/desktop/src/onionshare/tab/tab.py
+++ b/desktop/src/onionshare/tab/tab.py
@@ -275,7 +275,7 @@ 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_copied.connect(self.copy_client_auth)
self.change_title.emit(self.tab_id, strings._("gui_tab_name_share"))
@@ -310,8 +310,8 @@ 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_copied.connect(
+ self.copy_client_auth
)
self.change_title.emit(self.tab_id, strings._("gui_tab_name_receive"))
@@ -347,8 +347,8 @@ 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_copied.connect(
+ self.copy_client_auth
)
self.change_title.emit(self.tab_id, strings._("gui_tab_name_website"))
@@ -382,7 +382,7 @@ 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_copied.connect(self.copy_client_auth)
self.change_title.emit(self.tab_id, strings._("gui_tab_name_chat"))
@@ -531,9 +531,6 @@ class Tab(QtWidgets.QWidget):
elif event["type"] == Web.REQUEST_STARTED:
mode.handle_request_started(event)
- elif event["type"] == Web.REQUEST_RATE_LIMIT:
- mode.handle_request_rate_limit(event)
-
elif event["type"] == Web.REQUEST_PROGRESS:
mode.handle_request_progress(event)
@@ -581,11 +578,6 @@ class Tab(QtWidgets.QWidget):
f"{strings._('other_page_loaded')}: {event['path']}"
)
- if event["type"] == Web.REQUEST_INVALID_PASSWORD:
- self.status_bar.showMessage(
- f"[#{mode.web.invalid_passwords_count}] {strings._('incorrect_password')}: {event['data']}"
- )
-
mode.timer_callback()
def copy_url(self):
@@ -597,14 +589,15 @@ class Tab(QtWidgets.QWidget):
strings._("gui_copied_url_title"), strings._("gui_copied_url")
)
- def copy_hidservauth(self):
+ def copy_client_auth(self):
"""
- When the stealth onion service HidServAuth gets copied to the clipboard, display this in the status bar.
+ When the onion service's ClientAuth private key gets copied to
+ the clipboard, display this in the status bar.
"""
- self.common.log("Tab", "copy_hidservauth")
+ self.common.log("Tab", "copy_client_auth")
self.system_tray.showMessage(
- strings._("gui_copied_hidservauth_title"),
- strings._("gui_copied_hidservauth"),
+ strings._("gui_copied_client_auth_title"),
+ strings._("gui_copied_client_auth"),
)
def clear_message(self):
diff --git a/desktop/src/onionshare/threads.py b/desktop/src/onionshare/threads.py
index c9a3dba4..b02c6f21 100644
--- a/desktop/src/onionshare/threads.py
+++ b/desktop/src/onionshare/threads.py
@@ -65,14 +65,9 @@ class OnionThread(QtCore.QThread):
# Make a new static URL path for each new share
self.mode.web.generate_static_url_path()
- # Choose port and password early, because we need them to exist in advance for scheduled shares
+ # Choose port early, because we need them to exist in advance for scheduled shares
if not self.mode.app.port:
self.mode.app.choose_port()
- if not self.mode.settings.get("general", "public"):
- if not self.mode.web.password:
- self.mode.web.generate_password(
- self.mode.settings.get("onion", "password")
- )
try:
if self.mode.obtain_onion_early:
diff --git a/desktop/src/onionshare/update_checker.py b/desktop/src/onionshare/update_checker.py
index 08755e6e..e9dbc060 100644
--- a/desktop/src/onionshare/update_checker.py
+++ b/desktop/src/onionshare/update_checker.py
@@ -168,7 +168,7 @@ class UpdateChecker(QtCore.QObject):
settings.save()
# Do we need to update?
- update_url = f"https://github.com/micahflee/onionshare/releases/tag/v{latest_version}"
+ update_url = "https://onionshare.org"
installed_version = self.common.version
if installed_version < latest_version:
self.update_available.emit(
diff --git a/desktop/src/onionshare/widgets.py b/desktop/src/onionshare/widgets.py
index c239d03a..ec4d5ddc 100644
--- a/desktop/src/onionshare/widgets.py
+++ b/desktop/src/onionshare/widgets.py
@@ -130,20 +130,47 @@ class QRCodeDialog(QtWidgets.QDialog):
A dialog showing a QR code.
"""
- def __init__(self, common, text):
+ def __init__(self, common, url, auth_string=None):
super(QRCodeDialog, self).__init__()
self.common = common
- self.text = text
self.common.log("QrCode", "__init__")
- self.qr_label = QtWidgets.QLabel(self)
- self.qr_label.setPixmap(qrcode.make(self.text, image_factory=Image).pixmap())
+ self.qr_label_url = QtWidgets.QLabel(self)
+ self.qr_label_url.setPixmap(qrcode.make(url, image_factory=Image).pixmap())
+ self.qr_label_url.setScaledContents(True)
+ self.qr_label_url.setFixedSize(350, 350)
+ self.qr_label_url_title = QtWidgets.QLabel(self)
+ self.qr_label_url_title.setText(strings._("gui_qr_label_url_title"))
+ self.qr_label_url_title.setAlignment(QtCore.Qt.AlignCenter)
self.setWindowTitle(strings._("gui_qr_code_dialog_title"))
self.setWindowIcon(QtGui.QIcon(GuiCommon.get_resource_path("images/logo.png")))
- layout = QtWidgets.QVBoxLayout(self)
- layout.addWidget(self.qr_label)
+ layout = QtWidgets.QHBoxLayout(self)
+ url_layout = QtWidgets.QVBoxLayout(self)
+ url_layout.addWidget(self.qr_label_url_title)
+ url_layout.addWidget(self.qr_label_url)
+
+ url_code_with_label = QtWidgets.QWidget()
+ url_code_with_label.setLayout(url_layout)
+ layout.addWidget(url_code_with_label)
+
+ if auth_string:
+ self.qr_label_auth_string = QtWidgets.QLabel(self)
+ self.qr_label_auth_string.setPixmap(qrcode.make(auth_string, image_factory=Image).pixmap())
+ self.qr_label_auth_string.setScaledContents(True)
+ self.qr_label_auth_string.setFixedSize(350, 350)
+ self.qr_label_auth_string_title = QtWidgets.QLabel(self)
+ self.qr_label_auth_string_title.setText(strings._("gui_qr_label_auth_string_title"))
+ self.qr_label_auth_string_title.setAlignment(QtCore.Qt.AlignCenter)
+
+ auth_string_layout = QtWidgets.QVBoxLayout(self)
+ auth_string_layout.addWidget(self.qr_label_auth_string_title)
+ auth_string_layout.addWidget(self.qr_label_auth_string)
+
+ auth_string_code_with_label = QtWidgets.QWidget()
+ auth_string_code_with_label.setLayout(auth_string_layout)
+ layout.addWidget(auth_string_code_with_label)
self.exec_()
diff --git a/desktop/src/org.onionshare.OnionShare.appdata.xml b/desktop/src/org.onionshare.OnionShare.appdata.xml
index 049609ee..a53bc930 100644
--- a/desktop/src/org.onionshare.OnionShare.appdata.xml
+++ b/desktop/src/org.onionshare.OnionShare.appdata.xml
@@ -13,17 +13,17 @@
<launchable type="desktop-id">org.onionshare.OnionShare.desktop</launchable>
<screenshots>
<screenshot type="default">
- <image>https://raw.githubusercontent.com/micahflee/onionshare/master/docs/source/_static/screenshots/tabs.png</image>
+ <image>https://docs.onionshare.org/2.3.3/en/_images/tabs.png</image>
<caption>Types of services that OnionShare supports</caption>
</screenshot>
</screenshots>
- <url type="bugtracker">https://github.com/micahflee/onionshare/issues/</url>
+ <url type="bugtracker">https://github.com/onionshare/onionshare/issues/</url>
<url type="help">https://onionshare.org/</url>
<url type="homepage">https://onionshare.org/</url>
<developer_name>Micah Lee</developer_name>
<update_contact>micah@micahflee.com</update_contact>
<content_rating type="oars-1.1" />
<releases>
- <release type="development" date="2021-05-04" version="2.3.2" />
+ <release type="development" date="2021-08-20" version="2.3.3" />
</releases>
</component>
diff --git a/desktop/src/setup.py b/desktop/src/setup.py
index 82a5f98a..cd3c21f6 100644
--- a/desktop/src/setup.py
+++ b/desktop/src/setup.py
@@ -20,7 +20,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
"""
import setuptools
-version = "2.3.1"
+version = "2.3.3"
setuptools.setup(
name="onionshare",
diff --git a/desktop/tests/gui_base_test.py b/desktop/tests/gui_base_test.py
index acaa9739..ac2dfc54 100644
--- a/desktop/tests/gui_base_test.py
+++ b/desktop/tests/gui_base_test.py
@@ -191,30 +191,13 @@ class GuiBaseTest(unittest.TestCase):
# Upload a file
files = {"file[]": open(self.tmpfiles[0], "rb")}
url = f"http://127.0.0.1:{tab.app.port}/upload"
- if tab.settings.get("general", "public"):
- requests.post(url, files=files)
- else:
- requests.post(
- url,
- files=files,
- auth=requests.auth.HTTPBasicAuth(
- "onionshare", tab.get_mode().web.password
- ),
- )
+ requests.post(url, files=files)
QtTest.QTest.qWait(2000, self.gui.qtapp)
if type(tab.get_mode()) == ShareMode:
# Download files
url = f"http://127.0.0.1:{tab.app.port}/download"
- if tab.settings.get("general", "public"):
- requests.get(url)
- else:
- requests.get(
- url,
- auth=requests.auth.HTTPBasicAuth(
- "onionshare", tab.get_mode().web.password
- ),
- )
+ requests.get(url)
QtTest.QTest.qWait(2000, self.gui.qtapp)
# Indicator should be visible, have a value of "1"
@@ -273,13 +256,6 @@ class GuiBaseTest(unittest.TestCase):
except requests.exceptions.ConnectionError:
self.assertTrue(False)
- def have_a_password(self, tab):
- """Test that we have a valid password"""
- if not tab.settings.get("general", "public"):
- self.assertRegex(tab.get_mode().server_status.web.password, r"(\w+)-(\w+)")
- else:
- self.assertIsNone(tab.get_mode().server_status.web.password, r"(\w+)-(\w+)")
-
def add_button_visible(self, tab):
"""Test that the add button should be visible"""
if platform.system() == "Darwin":
@@ -304,13 +280,7 @@ class GuiBaseTest(unittest.TestCase):
tab.get_mode().server_status.copy_url_button.click()
clipboard = tab.common.gui.qtapp.clipboard()
- if tab.settings.get("general", "public"):
- self.assertEqual(clipboard.text(), f"http://127.0.0.1:{tab.app.port}")
- else:
- self.assertEqual(
- clipboard.text(),
- f"http://onionshare:{tab.get_mode().server_status.web.password}@127.0.0.1:{tab.app.port}",
- )
+ self.assertEqual(clipboard.text(), f"http://127.0.0.1:{tab.app.port}")
def have_show_qr_code_button(self, tab):
"""Test that the Show QR Code URL button is shown and that it loads a QR Code Dialog"""
@@ -343,16 +313,7 @@ class GuiBaseTest(unittest.TestCase):
"""Test that the web page contains a string"""
url = f"http://127.0.0.1:{tab.app.port}/"
- if tab.settings.get("general", "public"):
- r = requests.get(url)
- else:
- r = requests.get(
- url,
- auth=requests.auth.HTTPBasicAuth(
- "onionshare", tab.get_mode().web.password
- ),
- )
-
+ r = requests.get(url)
self.assertTrue(string in r.text)
def history_widgets_present(self, tab):
@@ -384,7 +345,7 @@ class GuiBaseTest(unittest.TestCase):
self.assertFalse(tab.get_mode().server_status.url.isVisible())
self.assertFalse(tab.get_mode().server_status.url_description.isVisible())
self.assertFalse(
- tab.get_mode().server_status.copy_hidservauth_button.isVisible()
+ tab.get_mode().server_status.copy_client_auth_button.isVisible()
)
def web_server_is_stopped(self, tab):
@@ -465,6 +426,21 @@ class GuiBaseTest(unittest.TestCase):
# We should have timed out now
self.assertEqual(tab.get_mode().server_status.status, 0)
+ def clientauth_is_visible(self, tab):
+ """Test that the ClientAuth button is visible and that the clipboard contains its contents"""
+ self.assertTrue(
+ tab.get_mode().server_status.copy_client_auth_button.isVisible()
+ )
+ tab.get_mode().server_status.copy_client_auth_button.click()
+ clipboard = tab.common.gui.qtapp.clipboard()
+ self.assertEqual(clipboard.text(), "E2GOT5LTUTP3OAMRCRXO4GSH6VKJEUOXZQUC336SRKAHTTT5OVSA")
+
+ def clientauth_is_not_visible(self, tab):
+ """Test that the ClientAuth button is not visible"""
+ self.assertFalse(
+ tab.get_mode().server_status.copy_client_auth_button.isVisible()
+ )
+
def hit_405(self, url, expected_resp, data = {}, methods = [] ):
"""Test various HTTP methods and the response"""
for method in methods:
diff --git a/desktop/tests/test_gui_chat.py b/desktop/tests/test_gui_chat.py
index 15ecaa44..246a4494 100644
--- a/desktop/tests/test_gui_chat.py
+++ b/desktop/tests/test_gui_chat.py
@@ -11,15 +11,7 @@ class TestChat(GuiBaseTest):
def view_chat(self, tab):
"""Test that we can view the chat room"""
url = f"http://127.0.0.1:{tab.app.port}/"
- if tab.settings.get("general", "public"):
- r = requests.get(url)
- else:
- r = requests.get(
- url,
- auth=requests.auth.HTTPBasicAuth(
- "onionshare", tab.get_mode().server_status.web.password
- ),
- )
+ r = requests.get(url)
QtTest.QTest.qWait(500, self.gui.qtapp)
self.assertTrue("Chat <b>requires JavaScript</b>" in r.text)
@@ -31,16 +23,7 @@ class TestChat(GuiBaseTest):
"""Test that we can change our username"""
url = f"http://127.0.0.1:{tab.app.port}/update-session-username"
data = {"username": "oniontest"}
- if tab.settings.get("general", "public"):
- r = requests.post(url, json=data)
- else:
- r = requests.post(
- url,
- json=data,
- auth=requests.auth.HTTPBasicAuth(
- "onionshare", tab.get_mode().server_status.web.password
- ),
- )
+ r = requests.post(url, json=data)
QtTest.QTest.qWait(500, self.gui.qtapp)
jsonResponse = r.json()
@@ -53,7 +36,6 @@ class TestChat(GuiBaseTest):
self.server_status_indicator_says_starting(tab)
self.server_is_started(tab, startup_time=500)
self.web_server_is_running(tab)
- self.have_a_password(tab)
self.url_description_shown(tab)
self.have_copy_url_button(tab)
self.have_show_qr_code_button(tab)
diff --git a/desktop/tests/test_gui_receive.py b/desktop/tests/test_gui_receive.py
index b523b0fa..af04a914 100644
--- a/desktop/tests/test_gui_receive.py
+++ b/desktop/tests/test_gui_receive.py
@@ -23,28 +23,10 @@ class TestReceive(GuiBaseTest):
files = {"file[]": open(file_to_upload, "rb")}
url = f"http://127.0.0.1:{tab.app.port}/upload"
- if tab.settings.get("general", "public"):
+ requests.post(url, files=files)
+ if identical_files_at_once:
+ # Send a duplicate upload to test for collisions
requests.post(url, files=files)
- if identical_files_at_once:
- # Send a duplicate upload to test for collisions
- requests.post(url, files=files)
- else:
- requests.post(
- url,
- files=files,
- auth=requests.auth.HTTPBasicAuth(
- "onionshare", tab.get_mode().web.password
- ),
- )
- if identical_files_at_once:
- # Send a duplicate upload to test for collisions
- requests.post(
- url,
- files=files,
- auth=requests.auth.HTTPBasicAuth(
- "onionshare", tab.get_mode().web.password
- ),
- )
QtTest.QTest.qWait(1000, self.gui.qtapp)
@@ -74,16 +56,7 @@ class TestReceive(GuiBaseTest):
files = {"file[]": open(self.tmpfile_test, "rb")}
url = f"http://127.0.0.1:{tab.app.port}/upload"
- if tab.settings.get("general", "public"):
- r = requests.post(url, files=files)
- else:
- r = requests.post(
- url,
- files=files,
- auth=requests.auth.HTTPBasicAuth(
- "onionshare", tab.get_mode().web.password
- ),
- )
+ r = requests.post(url, files=files)
def accept_dialog():
window = tab.common.gui.qtapp.activeWindow()
@@ -100,16 +73,7 @@ class TestReceive(GuiBaseTest):
QtTest.QTest.qWait(2000, self.gui.qtapp)
url = f"http://127.0.0.1:{tab.app.port}/upload"
- if tab.settings.get("general", "public"):
- requests.post(url, data={"text": message})
- else:
- requests.post(
- url,
- data={"text": message},
- auth=requests.auth.HTTPBasicAuth(
- "onionshare", tab.get_mode().web.password
- ),
- )
+ requests.post(url, data={"text": message})
QtTest.QTest.qWait(1000, self.gui.qtapp)
@@ -134,12 +98,6 @@ class TestReceive(GuiBaseTest):
self.assertTrue(exists)
- def try_without_auth_in_non_public_mode(self, tab):
- r = requests.post(f"http://127.0.0.1:{tab.app.port}/upload")
- self.assertEqual(r.status_code, 401)
- r = requests.get(f"http://127.0.0.1:{tab.app.port}/close")
- self.assertEqual(r.status_code, 401)
-
# 'Grouped' tests follow from here
def run_all_receive_mode_setup_tests(self, tab):
@@ -151,7 +109,6 @@ class TestReceive(GuiBaseTest):
self.server_status_indicator_says_starting(tab)
self.server_is_started(tab)
self.web_server_is_running(tab)
- self.have_a_password(tab)
self.url_description_shown(tab)
self.have_copy_url_button(tab)
self.have_show_qr_code_button(tab)
@@ -160,8 +117,6 @@ class TestReceive(GuiBaseTest):
def run_all_receive_mode_tests(self, tab):
"""Submit files and messages in receive mode and stop the share"""
self.run_all_receive_mode_setup_tests(tab)
- if not tab.settings.get("general", "public"):
- self.try_without_auth_in_non_public_mode(tab)
self.upload_file(tab, self.tmpfile_test, "test.txt")
self.history_widgets_present(tab)
self.counter_incremented(tab, 1)
diff --git a/desktop/tests/test_gui_share.py b/desktop/tests/test_gui_share.py
index 531e456f..b7a66a81 100644
--- a/desktop/tests/test_gui_share.py
+++ b/desktop/tests/test_gui_share.py
@@ -72,15 +72,7 @@ class TestShare(GuiBaseTest):
def download_share(self, tab):
"""Test that we can download the share"""
url = f"http://127.0.0.1:{tab.app.port}/download"
- if tab.settings.get("general", "public"):
- r = requests.get(url)
- else:
- r = requests.get(
- url,
- auth=requests.auth.HTTPBasicAuth(
- "onionshare", tab.get_mode().server_status.web.password
- ),
- )
+ r = requests.get(url)
tmp_file = tempfile.NamedTemporaryFile("wb", delete=False)
tmp_file.write(r.content)
@@ -99,40 +91,16 @@ class TestShare(GuiBaseTest):
"""
url = f"http://127.0.0.1:{tab.app.port}"
download_file_url = f"http://127.0.0.1:{tab.app.port}/test.txt"
- if tab.settings.get("general", "public"):
- r = requests.get(url)
- else:
- r = requests.get(
- url,
- auth=requests.auth.HTTPBasicAuth(
- "onionshare", tab.get_mode().server_status.web.password
- ),
- )
+ r = requests.get(url)
if tab.settings.get("share", "autostop_sharing"):
self.assertFalse('a href="/test.txt"' in r.text)
- if tab.settings.get("general", "public"):
- r = requests.get(download_file_url)
- else:
- r = requests.get(
- download_file_url,
- auth=requests.auth.HTTPBasicAuth(
- "onionshare", tab.get_mode().server_status.web.password
- ),
- )
+ r = requests.get(download_file_url)
self.assertEqual(r.status_code, 404)
self.download_share(tab)
else:
self.assertTrue('a href="test.txt"' in r.text)
- if tab.settings.get("general", "public"):
- r = requests.get(download_file_url)
- else:
- r = requests.get(
- download_file_url,
- auth=requests.auth.HTTPBasicAuth(
- "onionshare", tab.get_mode().server_status.web.password
- ),
- )
+ r = requests.get(download_file_url)
tmp_file = tempfile.NamedTemporaryFile("wb", delete=False)
tmp_file.write(r.content)
@@ -144,34 +112,6 @@ class TestShare(GuiBaseTest):
QtTest.QTest.qWait(500, self.gui.qtapp)
- def hit_401(self, tab):
- """Test that the server stops after too many 401s, or doesn't when in public mode"""
- # In non-public mode, get ready to accept the dialog
- if not tab.settings.get("general", "public"):
-
- def accept_dialog():
- window = tab.common.gui.qtapp.activeWindow()
- if window:
- window.close()
-
- QtCore.QTimer.singleShot(1000, accept_dialog)
-
- # Make 20 requests with guessed passwords
- url = f"http://127.0.0.1:{tab.app.port}/"
- for _ in range(20):
- password_guess = self.gui.common.build_password()
- requests.get(
- url, auth=requests.auth.HTTPBasicAuth("onionshare", password_guess)
- )
-
- # In public mode, we should still be running (no rate-limiting)
- if tab.settings.get("general", "public"):
- self.web_server_is_running(tab)
-
- # In non-public mode, we should be shut down (rate-limiting)
- else:
- self.web_server_is_stopped(tab)
-
def set_autostart_timer(self, tab, timer):
"""Test that the timer can be set"""
schedule = QtCore.QDateTime.currentDateTime().addSecs(timer)
@@ -241,7 +181,6 @@ class TestShare(GuiBaseTest):
self.mode_settings_widget_is_hidden(tab)
self.server_is_started(tab, startup_time)
self.web_server_is_running(tab)
- self.have_a_password(tab)
self.url_description_shown(tab)
self.have_copy_url_button(tab)
self.have_show_qr_code_button(tab)
@@ -490,24 +429,6 @@ class TestShare(GuiBaseTest):
self.close_all_tabs()
- def test_persistent_password(self):
- """
- Test a large download
- """
- tab = self.new_share_tab()
- tab.get_mode().mode_settings_widget.persistent_checkbox.click()
-
- self.run_all_common_setup_tests()
- self.run_all_share_mode_setup_tests(tab)
- self.run_all_share_mode_started_tests(tab)
- password = tab.get_mode().server_status.web.password
- self.run_all_share_mode_download_tests(tab)
- self.run_all_share_mode_started_tests(tab)
- self.assertEqual(tab.get_mode().server_status.web.password, password)
- self.run_all_share_mode_download_tests(tab)
-
- self.close_all_tabs()
-
def test_autostop_timer(self):
"""
Test the autostop timer
@@ -570,45 +491,33 @@ class TestShare(GuiBaseTest):
self.close_all_tabs()
- def test_401_triggers_ratelimit(self):
+ def test_client_auth(self):
"""
- Rate limit should be triggered
+ Test the ClientAuth is received from the backend,
+ that the widget is visible in the UI and that the
+ clipboard contains the ClientAuth string
"""
tab = self.new_share_tab()
-
- def accept_dialog():
- window = tab.common.gui.qtapp.activeWindow()
- if window:
- window.close()
-
- tab.get_mode().autostop_sharing_checkbox.click()
+ tab.get_mode().mode_settings_widget.toggle_advanced_button.click()
self.run_all_common_setup_tests()
- self.run_all_share_mode_tests(tab)
- self.hit_401(tab)
+ self.run_all_share_mode_setup_tests(tab)
+ self.run_all_share_mode_started_tests(tab)
+ self.clientauth_is_visible(tab)
self.close_all_tabs()
- def test_401_public_skips_ratelimit(self):
- """
- Public mode should skip the rate limit
- """
+ # Now try in public mode
tab = self.new_share_tab()
-
- def accept_dialog():
- window = tab.common.gui.qtapp.activeWindow()
- if window:
- window.close()
-
- tab.get_mode().autostop_sharing_checkbox.click()
tab.get_mode().mode_settings_widget.public_checkbox.click()
-
self.run_all_common_setup_tests()
- self.run_all_share_mode_tests(tab)
- self.hit_401(tab)
+ self.run_all_share_mode_setup_tests(tab)
+ self.run_all_share_mode_started_tests(tab)
+ self.clientauth_is_not_visible(tab)
self.close_all_tabs()
+
def test_405_page_returned_for_invalid_methods(self):
"""
Our custom 405 page should return for invalid methods
@@ -621,6 +530,7 @@ class TestShare(GuiBaseTest):
self.run_all_common_setup_tests()
self.run_all_share_mode_setup_tests(tab)
self.run_all_share_mode_started_tests(tab)
+
url = f"http://127.0.0.1:{tab.app.port}/"
self.hit_405(url, expected_resp="OnionShare: 405 Method Not Allowed", data = {'foo':'bar'}, methods = ["put", "post", "delete", "options"])
self.history_widgets_present(tab)
diff --git a/desktop/tests/test_gui_website.py b/desktop/tests/test_gui_website.py
index f526756a..d7a75ed6 100644
--- a/desktop/tests/test_gui_website.py
+++ b/desktop/tests/test_gui_website.py
@@ -11,32 +11,14 @@ class TestWebsite(GuiBaseTest):
def view_website(self, tab):
"""Test that we can download the share"""
url = f"http://127.0.0.1:{tab.app.port}/"
- if tab.settings.get("general", "public"):
- r = requests.get(url)
- else:
- r = requests.get(
- url,
- auth=requests.auth.HTTPBasicAuth(
- "onionshare", tab.get_mode().server_status.web.password
- ),
- )
-
+ r = requests.get(url)
QtTest.QTest.qWait(500, self.gui.qtapp)
self.assertTrue("This is a test website hosted by OnionShare" in r.text)
def check_csp_header(self, tab):
"""Test that the CSP header is present when enabled or vice versa"""
url = f"http://127.0.0.1:{tab.app.port}/"
- if tab.settings.get("general", "public"):
- r = requests.get(url)
- else:
- r = requests.get(
- url,
- auth=requests.auth.HTTPBasicAuth(
- "onionshare", tab.get_mode().server_status.web.password
- ),
- )
-
+ r = requests.get(url)
QtTest.QTest.qWait(500, self.gui.qtapp)
if tab.settings.get("website", "disable_csp"):
self.assertFalse("Content-Security-Policy" in r.headers)
@@ -63,7 +45,6 @@ class TestWebsite(GuiBaseTest):
self.add_remove_buttons_hidden(tab)
self.server_is_started(tab, startup_time)
self.web_server_is_running(tab)
- self.have_a_password(tab)
self.url_description_shown(tab)
self.have_copy_url_button(tab)
self.have_show_qr_code_button(tab)
diff --git a/docs/gettext/.doctrees/advanced.doctree b/docs/gettext/.doctrees/advanced.doctree
index 0b23bda0..57624bf4 100644
--- a/docs/gettext/.doctrees/advanced.doctree
+++ b/docs/gettext/.doctrees/advanced.doctree
Binary files differ
diff --git a/docs/gettext/.doctrees/develop.doctree b/docs/gettext/.doctrees/develop.doctree
index 45a2d587..ccf586b1 100644
--- a/docs/gettext/.doctrees/develop.doctree
+++ b/docs/gettext/.doctrees/develop.doctree
Binary files differ
diff --git a/docs/gettext/.doctrees/environment.pickle b/docs/gettext/.doctrees/environment.pickle
index ba79cd05..07e8717c 100644
--- a/docs/gettext/.doctrees/environment.pickle
+++ b/docs/gettext/.doctrees/environment.pickle
Binary files differ
diff --git a/docs/gettext/.doctrees/features.doctree b/docs/gettext/.doctrees/features.doctree
index 9411a3a0..dd8fab1b 100644
--- a/docs/gettext/.doctrees/features.doctree
+++ b/docs/gettext/.doctrees/features.doctree
Binary files differ
diff --git a/docs/gettext/.doctrees/help.doctree b/docs/gettext/.doctrees/help.doctree
index bfb05b4f..5acce6ad 100644
--- a/docs/gettext/.doctrees/help.doctree
+++ b/docs/gettext/.doctrees/help.doctree
Binary files differ
diff --git a/docs/gettext/.doctrees/index.doctree b/docs/gettext/.doctrees/index.doctree
index 0907fdee..c70531b7 100644
--- a/docs/gettext/.doctrees/index.doctree
+++ b/docs/gettext/.doctrees/index.doctree
Binary files differ
diff --git a/docs/gettext/.doctrees/install.doctree b/docs/gettext/.doctrees/install.doctree
index 6c9b9ade..70a22595 100644
--- a/docs/gettext/.doctrees/install.doctree
+++ b/docs/gettext/.doctrees/install.doctree
Binary files differ
diff --git a/docs/gettext/.doctrees/security.doctree b/docs/gettext/.doctrees/security.doctree
index 48200490..c5da8c14 100644
--- a/docs/gettext/.doctrees/security.doctree
+++ b/docs/gettext/.doctrees/security.doctree
Binary files differ
diff --git a/docs/gettext/.doctrees/tor.doctree b/docs/gettext/.doctrees/tor.doctree
index 332a20d0..21461bb6 100644
--- a/docs/gettext/.doctrees/tor.doctree
+++ b/docs/gettext/.doctrees/tor.doctree
Binary files differ
diff --git a/docs/gettext/advanced.pot b/docs/gettext/advanced.pot
index ecb4bcc9..36c228ac 100644
--- a/docs/gettext/advanced.pot
+++ b/docs/gettext/advanced.pot
@@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: OnionShare 2.3.2\n"
+"Project-Id-Version: OnionShare 2.3.3\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-05-20 11:33-0400\n"
+"POT-Creation-Date: 2021-08-20 13:23-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/docs/gettext/develop.pot b/docs/gettext/develop.pot
index 3822530c..858b9f87 100644
--- a/docs/gettext/develop.pot
+++ b/docs/gettext/develop.pot
@@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: OnionShare 2.3.2\n"
+"Project-Id-Version: OnionShare 2.3.3\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-05-20 11:33-0400\n"
+"POT-Creation-Date: 2021-08-20 13:37-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -37,11 +37,11 @@ msgid "Contributing Code"
msgstr ""
#: ../../source/develop.rst:17
-msgid "OnionShare source code is to be found in this Git repository: https://github.com/micahflee/onionshare"
+msgid "OnionShare source code is to be found in this Git repository: https://github.com/onionshare/onionshare"
msgstr ""
#: ../../source/develop.rst:19
-msgid "If you'd like to contribute code to OnionShare, it helps to join the Keybase team and ask questions about what you're thinking of working on. You should also review all of the `open issues <https://github.com/micahflee/onionshare/issues>`_ on GitHub to see if there are any you'd like to tackle."
+msgid "If you'd like to contribute code to OnionShare, it helps to join the Keybase team and ask questions about what you're thinking of working on. You should also review all of the `open issues <https://github.com/onionshare/onionshare/issues>`_ on GitHub to see if there are any you'd like to tackle."
msgstr ""
#: ../../source/develop.rst:22
@@ -53,7 +53,7 @@ msgid "Starting Development"
msgstr ""
#: ../../source/develop.rst:29
-msgid "OnionShare is developed in Python. To get started, clone the Git repository at https://github.com/micahflee/onionshare/ and then consult the ``cli/README.md`` file to learn how to set up your development environment for the command-line version, and the ``desktop/README.md`` file to learn how to set up your development environment for the graphical version."
+msgid "OnionShare is developed in Python. To get started, clone the Git repository at https://github.com/onionshare/onionshare/ and then consult the ``cli/README.md`` file to learn how to set up your development environment for the command-line version, and the ``desktop/README.md`` file to learn how to set up your development environment for the graphical version."
msgstr ""
#: ../../source/develop.rst:32
diff --git a/docs/gettext/features.pot b/docs/gettext/features.pot
index 0ca234b0..61d5a8b2 100644
--- a/docs/gettext/features.pot
+++ b/docs/gettext/features.pot
@@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: OnionShare 2.3.2\n"
+"Project-Id-Version: OnionShare 2.3.3\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-05-20 11:33-0400\n"
+"POT-Creation-Date: 2021-08-20 13:23-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/docs/gettext/help.pot b/docs/gettext/help.pot
index c2172a2f..a113b697 100644
--- a/docs/gettext/help.pot
+++ b/docs/gettext/help.pot
@@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: OnionShare 2.3.2\n"
+"Project-Id-Version: OnionShare 2.3.3\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-05-20 11:33-0400\n"
+"POT-Creation-Date: 2021-08-20 13:37-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -33,7 +33,7 @@ msgid "Check the GitHub Issues"
msgstr ""
#: ../../source/help.rst:12
-msgid "If it isn't on the website, please check the `GitHub issues <https://github.com/micahflee/onionshare/issues>`_. It's possible someone else has encountered the same problem and either raised it with the developers, or maybe even posted a solution."
+msgid "If it isn't on the website, please check the `GitHub issues <https://github.com/onionshare/onionshare/issues>`_. It's possible someone else has encountered the same problem and either raised it with the developers, or maybe even posted a solution."
msgstr ""
#: ../../source/help.rst:15
@@ -41,7 +41,7 @@ msgid "Submit an Issue Yourself"
msgstr ""
#: ../../source/help.rst:17
-msgid "If you are unable to find a solution, or wish to ask a question or suggest a new feature, please `submit an issue <https://github.com/micahflee/onionshare/issues/new>`_. This requires `creating a GitHub account <https://help.github.com/articles/signing-up-for-a-new-github-account/>`_."
+msgid "If you are unable to find a solution, or wish to ask a question or suggest a new feature, please `submit an issue <https://github.com/onionshare/onionshare/issues/new>`_. This requires `creating a GitHub account <https://help.github.com/articles/signing-up-for-a-new-github-account/>`_."
msgstr ""
#: ../../source/help.rst:20
diff --git a/docs/gettext/index.pot b/docs/gettext/index.pot
index dbabad62..2564494e 100644
--- a/docs/gettext/index.pot
+++ b/docs/gettext/index.pot
@@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: OnionShare 2.3.2\n"
+"Project-Id-Version: OnionShare 2.3.3\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-05-20 11:33-0400\n"
+"POT-Creation-Date: 2021-08-20 13:23-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/docs/gettext/install.pot b/docs/gettext/install.pot
index f9b9242e..b4798622 100644
--- a/docs/gettext/install.pot
+++ b/docs/gettext/install.pot
@@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: OnionShare 2.3.2\n"
+"Project-Id-Version: OnionShare 2.3.3\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-05-20 11:33-0400\n"
+"POT-Creation-Date: 2021-08-20 13:23-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/docs/gettext/security.pot b/docs/gettext/security.pot
index 4dfa7776..b48c38d0 100644
--- a/docs/gettext/security.pot
+++ b/docs/gettext/security.pot
@@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: OnionShare 2.3.2\n"
+"Project-Id-Version: OnionShare 2.3.3\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-05-20 11:33-0400\n"
+"POT-Creation-Date: 2021-08-20 13:23-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/docs/gettext/sphinx.pot b/docs/gettext/sphinx.pot
index e367403f..74db04e2 100644
--- a/docs/gettext/sphinx.pot
+++ b/docs/gettext/sphinx.pot
@@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: OnionShare 2.3.2\n"
+"Project-Id-Version: OnionShare 2.3.3\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-05-20 11:33-0400\n"
+"POT-Creation-Date: 2021-08-20 13:23-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/docs/gettext/tor.pot b/docs/gettext/tor.pot
index 66d64a75..917cf372 100644
--- a/docs/gettext/tor.pot
+++ b/docs/gettext/tor.pot
@@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: OnionShare 2.3.2\n"
+"Project-Id-Version: OnionShare 2.3.3\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-05-20 11:33-0400\n"
+"POT-Creation-Date: 2021-08-20 13:23-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/docs/source/advanced.rst b/docs/source/advanced.rst
index c41a2a0c..96f7141b 100644
--- a/docs/source/advanced.rst
+++ b/docs/source/advanced.rst
@@ -16,23 +16,23 @@ When a tab is saved a purple pin icon appears to the left of its server status.
.. image:: _static/screenshots/advanced-save-tabs.png
When you quit OnionShare and then open it again, your saved tabs will start opened.
-You'll have to manually start each service, but when you do they will start with the same OnionShare address and password.
+You'll have to manually start each service, but when you do they will start with the same OnionShare address and private key.
If you save a tab, a copy of that tab's onion service secret key will be stored on your computer with your OnionShare settings.
-.. _turn_off_passwords:
+.. _turn_off_private_key:
-Turn Off Passwords
-------------------
+Turn Off Private Key
+--------------------
-By default, all OnionShare services are protected with the username ``onionshare`` and a randomly-generated password.
-If someone takes 20 wrong guesses at the password, your onion service is automatically stopped to prevent a brute force attack against the OnionShare service.
+By default, all OnionShare services are protected with a private key, which Tor calls Client Authentication.
+
+When browsing to an OnionShare service in Tor Browser, Tor Browser will prompt for the private key to be entered.
Sometimes you might want your OnionShare service to be accessible to the public, like if you want to set up an OnionShare receive service so the public can securely and anonymously send you files.
-In this case, it's better to disable the password altogether.
-If you don't do this, someone can force your server to stop just by making 20 wrong guesses of your password, even if they know the correct password.
+In this case, it's better to disable the private key altogether.
-To turn off the password for any tab, just check the "Don't use a password" box before starting the server. Then the server will be public and won't have a password.
+To turn off the private key for any tab, check the "This is a public OnionShare service (disables private key)" box before starting the server. Then the server will be public and won't need a private key to view in Tor Browser.
.. _custom_titles:
@@ -101,16 +101,19 @@ You can browse the command-line documentation by running ``onionshare --help``::
│ █ █ █▀▄ █ ▄▀▄ █▀▄ ▀▄ █▀▄ ▄▀▄ █▄▀ ▄█▄ │
│ ▀▄▀ █ █ █ ▀▄▀ █ █ ▄▄▀ █ █ ▀▄█ █ ▀▄▄ │
│ │
- │ v2.3.2 │
+ │ v2.3.3 │
│ │
│ https://onionshare.org/ │
╰───────────────────────────────────────────╯
- usage: onionshare-cli [-h] [--receive] [--website] [--chat] [--local-only] [--connect-timeout SECONDS] [--config FILENAME]
- [--persistent FILENAME] [--title TITLE] [--public] [--auto-start-timer SECONDS]
- [--auto-stop-timer SECONDS] [--legacy] [--client-auth] [--no-autostop-sharing] [--data-dir data_dir]
- [--webhook-url webhook_url] [--disable-text] [--disable-files] [--disable_csp] [-v]
- [filename ...]
+ usage: onionshare-cli [-h] [--receive] [--website] [--chat] [--local-only]
+ [--connect-timeout SECONDS] [--config FILENAME]
+ [--persistent FILENAME] [--title TITLE] [--public]
+ [--auto-start-timer SECONDS] [--auto-stop-timer SECONDS]
+ [--no-autostop-sharing] [--data-dir data_dir]
+ [--webhook-url webhook_url] [--disable-text]
+ [--disable-files] [--disable_csp] [-v]
+ [filename [filename ...]]
positional arguments:
filename List of files or folders to share
@@ -122,44 +125,29 @@ You can browse the command-line documentation by running ``onionshare --help``::
--chat Start chat server
--local-only Don't use Tor (only for development)
--connect-timeout SECONDS
- Give up connecting to Tor after a given amount of seconds (default: 120)
+ Give up connecting to Tor after a given amount of
+ seconds (default: 120)
--config FILENAME Filename of custom global settings
--persistent FILENAME Filename of persistent session
--title TITLE Set a title
- --public Don't use a password
+ --public Don't use a private key
--auto-start-timer SECONDS
- Start onion service at scheduled time (N seconds from now)
+ Start onion service at scheduled time (N seconds
+ from now)
--auto-stop-timer SECONDS
- Stop onion service at schedule time (N seconds from now)
- --legacy Use legacy address (v2 onion service, not recommended)
- --client-auth Use client authorization (requires --legacy)
- --no-autostop-sharing Share files: Continue sharing after files have been sent (default is to stop sharing)
- --data-dir data_dir Receive files: Save files received to this directory
+ Stop onion service at schedule time (N seconds
+ from now)
+ --no-autostop-sharing Share files: Continue sharing after files have
+ been sent (default is to stop sharing)
+ --data-dir data_dir Receive files: Save files received to this
+ directory
--webhook-url webhook_url
- Receive files: URL to receive webhook notifications
+ Receive files: URL to receive webhook
+ notifications
--disable-text Receive files: Disable receiving text messages
--disable-files Receive files: Disable receiving files
- --disable_csp Publish website: Disable Content Security Policy header (allows your website to use third-party
+ --disable_csp Publish website: Disable Content Security Policy
+ header (allows your website to use third-party
resources)
- -v, --verbose Log OnionShare errors to stdout, and web errors to disk
-
-Legacy Addresses
-----------------
-
-OnionShare uses v3 Tor onion services by default.
-These are modern onion addresses that have 56 characters, for example::
-
- uf3wmtpbstcupvrrsetrtct7qcmnqvdcsxqzxthxbx2y7tidatxye7id.onion
-
-OnionShare still has support for v2 onion addresses, the old type of onion addresses that have 16 characters, for example::
-
- lc7j6u55vhrh45eq.onion
-
-OnionShare calls v2 onion addresses "legacy addresses", and they are not recommended, as v3 onion addresses are more secure.
-
-To use legacy addresses, before starting a server click "Show advanced settings" from its tab and check the "Use a legacy address (v2 onion service, not recommended)" box.
-In legacy mode you can optionally turn on Tor client authentication.
-Once you start a server in legacy mode you cannot remove legacy mode in that tab.
-Instead you must start a separate service in a separate tab.
-
-Tor Project plans to `completely deprecate v2 onion services <https://blog.torproject.org/v2-deprecation-timeline>`_ on October 15, 2021, and legacy onion services will be removed from OnionShare before then.
+ -v, --verbose Log OnionShare errors to stdout, and web errors to
+ disk
diff --git a/docs/source/conf.py b/docs/source/conf.py
index 16ac89b6..df11ed68 100644
--- a/docs/source/conf.py
+++ b/docs/source/conf.py
@@ -1,6 +1,6 @@
project = "OnionShare"
author = copyright = "Micah Lee, et al."
-version = release = "2.3.2"
+version = release = "2.3.3"
extensions = ["sphinx_rtd_theme"]
templates_path = ["_templates"]
@@ -16,7 +16,7 @@ languages = [
("Українська", "uk"), # Ukranian
]
-versions = ["2.3", "2.3.1", "2.3.2"]
+versions = ["2.3", "2.3.1", "2.3.2", "2.3.3"]
html_theme = "sphinx_rtd_theme"
html_logo = "_static/logo.png"
diff --git a/docs/source/develop.rst b/docs/source/develop.rst
index 6ac1da61..5b08c921 100644
--- a/docs/source/develop.rst
+++ b/docs/source/develop.rst
@@ -14,10 +14,10 @@ OnionShare also has a `mailing list <https://lists.riseup.net/www/subscribe/onio
Contributing Code
-----------------
-OnionShare source code is to be found in this Git repository: https://github.com/micahflee/onionshare
+OnionShare source code is to be found in this Git repository: https://github.com/onionshare/onionshare
If you'd like to contribute code to OnionShare, it helps to join the Keybase team and ask questions about what you're thinking of working on.
-You should also review all of the `open issues <https://github.com/micahflee/onionshare/issues>`_ on GitHub to see if there are any you'd like to tackle.
+You should also review all of the `open issues <https://github.com/onionshare/onionshare/issues>`_ on GitHub to see if there are any you'd like to tackle.
When you're ready to contribute code, open a pull request in the GitHub repository and one of the project maintainers will review it and possibly ask questions, request changes, reject it, or merge it into the project.
@@ -27,7 +27,7 @@ Starting Development
--------------------
OnionShare is developed in Python.
-To get started, clone the Git repository at https://github.com/micahflee/onionshare/ and then consult the ``cli/README.md`` file to learn how to set up your development environment for the command-line version, and the ``desktop/README.md`` file to learn how to set up your development environment for the graphical version.
+To get started, clone the Git repository at https://github.com/onionshare/onionshare/ and then consult the ``cli/README.md`` file to learn how to set up your development environment for the command-line version, and the ``desktop/README.md`` file to learn how to set up your development environment for the graphical version.
Those files contain the necessary technical instructions and commands install dependencies for your platform, and to run OnionShare from the source tree.
@@ -58,62 +58,59 @@ This prints a lot of helpful messages to the terminal, such as when certain obje
│ █ █ █▀▄ █ ▄▀▄ █▀▄ ▀▄ █▀▄ ▄▀▄ █▄▀ ▄█▄ │
│ ▀▄▀ █ █ █ ▀▄▀ █ █ ▄▄▀ █ █ ▀▄█ █ ▀▄▄ │
│ │
- │ v2.3.2.dev1 │
+ │ v2.3.3 │
│ │
│ https://onionshare.org/ │
╰───────────────────────────────────────────╯
- [May 10 2021 18:24:02] Settings.__init__
- [May 10 2021 18:24:02] Settings.load
- [May 10 2021 18:24:02] Settings.load: Trying to load /home/user/.config/onionshare/onionshare.json
- [May 10 2021 18:24:02] Common.get_resource_path: filename=wordlist.txt
- [May 10 2021 18:24:02] Common.get_resource_path: filename=wordlist.txt, path=/home/user/code/onionshare/cli/onionshare_cli/resources/wordlist.txt
- [May 10 2021 18:24:02] ModeSettings.load: creating /home/user/.config/onionshare/persistent/tattered-handgun-stress.json
- [May 10 2021 18:24:02] ModeSettings.set: updating tattered-handgun-stress: general.title = None
- [May 10 2021 18:24:02] ModeSettings.set: updating tattered-handgun-stress: general.public = False
- [May 10 2021 18:24:02] ModeSettings.set: updating tattered-handgun-stress: general.autostart_timer = 0
- [May 10 2021 18:24:02] ModeSettings.set: updating tattered-handgun-stress: general.autostop_timer = 0
- [May 10 2021 18:24:02] ModeSettings.set: updating tattered-handgun-stress: general.legacy = False
- [May 10 2021 18:24:02] ModeSettings.set: updating tattered-handgun-stress: general.client_auth = False
- [May 10 2021 18:24:02] ModeSettings.set: updating tattered-handgun-stress: share.autostop_sharing = True
- [May 10 2021 18:24:02] Web.__init__: is_gui=False, mode=share
- [May 10 2021 18:24:02] Common.get_resource_path: filename=static
- [May 10 2021 18:24:02] Common.get_resource_path: filename=static, path=/home/user/code/onionshare/cli/onionshare_cli/resources/static
- [May 10 2021 18:24:02] Common.get_resource_path: filename=templates
- [May 10 2021 18:24:02] Common.get_resource_path: filename=templates, path=/home/user/code/onionshare/cli/onionshare_cli/resources/templates
- [May 10 2021 18:24:02] Web.generate_static_url_path: new static_url_path is /static_4yxrx2mzi5uzkblklpzd46mwke
- [May 10 2021 18:24:02] ShareModeWeb.init
- [May 10 2021 18:24:02] Onion.__init__
- [May 10 2021 18:24:02] Onion.connect
- [May 10 2021 18:24:02] Settings.__init__
- [May 10 2021 18:24:02] Settings.load
- [May 10 2021 18:24:02] Settings.load: Trying to load /home/user/.config/onionshare/onionshare.json
- [May 10 2021 18:24:02] Onion.connect: tor_data_directory_name=/home/user/.config/onionshare/tmp/tmpw6u0nz8l
- [May 10 2021 18:24:02] Common.get_resource_path: filename=torrc_template
- [May 10 2021 18:24:02] Common.get_resource_path: filename=torrc_template, path=/home/user/code/onionshare/cli/onionshare_cli/resources/torrc_template
+ [Aug 28 2021 10:32:39] Settings.__init__
+ [Aug 28 2021 10:32:39] Settings.load
+ [Aug 28 2021 10:32:39] Settings.load: Trying to load /home/user/.config/onionshare/onionshare.json
+ [Aug 28 2021 10:32:39] Common.get_resource_path: filename=wordlist.txt
+ [Aug 28 2021 10:32:39] Common.get_resource_path: filename=wordlist.txt, path=/home/user/git/onionshare/cli/onionshare_cli/resources/wordlist.txt
+ [Aug 28 2021 10:32:39] ModeSettings.load: creating /home/user/.config/onionshare/persistent/dreamy-stiffen-moving.json
+ [Aug 28 2021 10:32:39] ModeSettings.set: updating dreamy-stiffen-moving: general.title = None
+ [Aug 28 2021 10:32:39] ModeSettings.set: updating dreamy-stiffen-moving: general.public = False
+ [Aug 28 2021 10:32:39] ModeSettings.set: updating dreamy-stiffen-moving: general.autostart_timer = 0
+ [Aug 28 2021 10:32:39] ModeSettings.set: updating dreamy-stiffen-moving: general.autostop_timer = 0
+ [Aug 28 2021 10:32:39] ModeSettings.set: updating dreamy-stiffen-moving: share.autostop_sharing = True
+ [Aug 28 2021 10:32:39] Web.__init__: is_gui=False, mode=share
+ [Aug 28 2021 10:32:39] Common.get_resource_path: filename=static
+ [Aug 28 2021 10:32:39] Common.get_resource_path: filename=static, path=/home/user/git/onionshare/cli/onionshare_cli/resources/static
+ [Aug 28 2021 10:32:39] Common.get_resource_path: filename=templates
+ [Aug 28 2021 10:32:39] Common.get_resource_path: filename=templates, path=/home/user/git/onionshare/cli/onionshare_cli/resources/templates
+ [Aug 28 2021 10:32:39] Web.generate_static_url_path: new static_url_path is /static_3tix3w3s5feuzlhii3zwqb2gpq
+ [Aug 28 2021 10:32:39] ShareModeWeb.init
+ [Aug 28 2021 10:32:39] Onion.__init__
+ [Aug 28 2021 10:32:39] Onion.connect
+ [Aug 28 2021 10:32:39] Settings.__init__
+ [Aug 28 2021 10:32:39] Settings.load
+ [Aug 28 2021 10:32:39] Settings.load: Trying to load /home/user/.config/onionshare/onionshare.json
+ [Aug 28 2021 10:32:39] Onion.connect: tor_data_directory_name=/home/user/.config/onionshare/tmp/tmppb7kvf4k
+ [Aug 28 2021 10:32:39] Common.get_resource_path: filename=torrc_template
+ [Aug 28 2021 10:32:39] Common.get_resource_path: filename=torrc_template, path=/home/user/git/onionshare/cli/onionshare_cli/resources/torrc_template
Connecting to the Tor network: 100% - Done
- [May 10 2021 18:24:10] Onion.connect: Connected to tor 0.4.5.7
- [May 10 2021 18:24:10] Settings.load
- [May 10 2021 18:24:10] Settings.load: Trying to load /home/user/.config/onionshare/onionshare.json
- [May 10 2021 18:24:10] Web.generate_password: saved_password=None
- [May 10 2021 18:24:10] Common.get_resource_path: filename=wordlist.txt
- [May 10 2021 18:24:10] Common.get_resource_path: filename=wordlist.txt, path=/home/user/code/onionshare/cli/onionshare_cli/resources/wordlist.txt
- [May 10 2021 18:24:10] Web.generate_password: built random password: "tipping-colonize"
- [May 10 2021 18:24:10] OnionShare.__init__
- [May 10 2021 18:24:10] OnionShare.start_onion_service
- [May 10 2021 18:24:10] Onion.start_onion_service: port=17645
- [May 10 2021 18:24:10] Onion.start_onion_service: key_type=NEW, key_content=ED25519-V3
- [May 10 2021 18:24:14] ModeSettings.set: updating tattered-handgun-stress: general.service_id = omxjamkys6diqxov7lxru2upromdprxjuq3czdhen6hrshzd4sll2iyd
- [May 10 2021 18:24:14] ModeSettings.set: updating tattered-handgun-stress: onion.private_key = 6PhomJCjlWicmOyAAe0wnQoEM3vcyHBivrRGDy0hzm900fW5ITDJ6iv2+tluLoueYj81MhmnYeTOHDm8UGOfhg==
+ [Aug 28 2021 10:32:56] Onion.connect: Connected to tor 0.4.6.7
+ [Aug 28 2021 10:32:56] Settings.load
+ [Aug 28 2021 10:32:56] Settings.load: Trying to load /home/user/.config/onionshare/onionshare.json
+ [Aug 28 2021 10:32:56] OnionShare.__init__
+ [Aug 28 2021 10:32:56] OnionShare.start_onion_service
+ [Aug 28 2021 10:32:56] Onion.start_onion_service: port=17609
+ [Aug 28 2021 10:32:56] Onion.start_onion_service: key_type=NEW, key_content=ED25519-V3
+ [Aug 28 2021 10:33:03] ModeSettings.set: updating dreamy-stiffen-moving: general.service_id = sobp4rklarkz34mcog3pqtkb4t5bvyxv3dazvsqmfyhw4imqj446ffqd
+ [Aug 28 2021 10:33:03] ModeSettings.set: updating dreamy-stiffen-moving: onion.private_key = sFiznwaPWJdKmFXumdDLkJGdUUdjI/0TWo+l/QEZiE/XoVogjK9INNoz2Tf8vmpe66ssa85En+5w6F2kKyTstA==
+ [Aug 28 2021 10:33:03] ModeSettings.set: updating dreamy-stiffen-moving: onion.client_auth_priv_key = YL6YIEMZS6J537Y5ZKEA2Z6IIQEWFK2CMGTWK5G3DGGUREHJSJNQ
+ [Aug 28 2021 10:33:03] ModeSettings.set: updating dreamy-stiffen-moving: onion.client_auth_pub_key = 5HUL6RCPQ5VEFDOHCSRAHPFIB74EHVFJO6JJHDP76EDWVRJE2RJQ
Compressing files.
- [May 10 2021 18:24:14] ShareModeWeb.init
- [May 10 2021 18:24:14] ShareModeWeb.set_file_info_custom
- [May 10 2021 18:24:14] ShareModeWeb.build_zipfile_list
- [May 10 2021 18:24:14] Web.start: port=17645
- * Running on http://127.0.0.1:17645/ (Press CTRL+C to quit)
+ [Aug 28 2021 10:33:03] ShareModeWeb.init
+ [Aug 28 2021 10:33:03] ShareModeWeb.set_file_info_custom
+ [Aug 28 2021 10:33:03] ShareModeWeb.build_zipfile_list
+ [Aug 28 2021 10:33:03] Web.start: port=17609
+ * Running on http://127.0.0.1:17609/ (Press CTRL+C to quit)
- Give this address to the recipient:
- http://onionshare:tipping-colonize@omxjamkys6diqxov7lxru2upromdprxjuq3czdhen6hrshzd4sll2iyd.onion
+ Give this address and private key to the recipient:
+ http://sobp4rklarkz34mcog3pqtkb4t5bvyxv3dazvsqmfyhw4imqj446ffqd.onion
+ Private key: YL6YIEMZS6J537Y5ZKEA2Z6IIQEWFK2CMGTWK5G3DGGUREHJSJNQ
Press Ctrl+C to stop the server
@@ -148,23 +145,24 @@ You can do this with the ``--local-only`` flag. For example::
│ █ █ █▀▄ █ ▄▀▄ █▀▄ ▀▄ █▀▄ ▄▀▄ █▄▀ ▄█▄ │
│ ▀▄▀ █ █ █ ▀▄▀ █ █ ▄▄▀ █ █ ▀▄█ █ ▀▄▄ │
│ │
- │ v2.3.2.dev1 │
+ │ v2.3.3 │
│ │
│ https://onionshare.org/ │
╰───────────────────────────────────────────╯
- * Running on http://127.0.0.1:17617/ (Press CTRL+C to quit)
+ * Running on http://127.0.0.1:17621/ (Press CTRL+C to quit)
Files sent to you appear in this folder: /home/user/OnionShare
Warning: Receive mode lets people upload files to your computer. Some files can potentially take control of your computer if you open them. Only open things from people you trust, or if you know what you are doing.
- Give this address to the sender:
- http://onionshare:ended-blah@127.0.0.1:17617
+ Give this address and private key to the sender:
+ http://127.0.0.1:17621
+ Private key: E2GOT5LTUTP3OAMRCRXO4GSH6VKJEUOXZQUC336SRKAHTTT5OVSA
Press Ctrl+C to stop the server
-In this case, you load the URL ``http://onionshare:train-system@127.0.0.1:17635`` in a normal web-browser like Firefox, instead of using the Tor Browser.
+In this case, you load the URL ``http://127.0.0.1:17621`` in a normal web-browser like Firefox, instead of using the Tor Browser. The Private key is not actually needed in local-only mode, so you can ignore it.
Contributing Translations
-------------------------
@@ -186,4 +184,4 @@ Status of Translations
Here is the current translation status.
If you want start a translation in a language not yet started, please write to the mailing list: onionshare-dev@lists.riseup.net
-.. image:: https://hosted.weblate.org/widgets/onionshare/-/translations/multi-auto.svg \ No newline at end of file
+.. image:: https://hosted.weblate.org/widgets/onionshare/-/translations/multi-auto.svg
diff --git a/docs/source/features.rst b/docs/source/features.rst
index 7c3368f9..0c72809b 100644
--- a/docs/source/features.rst
+++ b/docs/source/features.rst
@@ -5,14 +5,20 @@ How OnionShare Works
Web servers are started locally on your computer and made accessible to other people as `Tor <https://www.torproject.org/>`_ `onion services <https://community.torproject.org/onion-services/>`_.
-By default, OnionShare web addresses are protected with a random password. A typical OnionShare address might look something like this::
+By default, OnionShare web addresses are protected with a private key (Client Authentication). A typical OnionShare address might look something like this::
- http://onionshare:constrict-purity@by4im3ir5nsvygprmjq74xwplrkdgt44qmeapxawwikxacmr3dqzyjad.onion
+ http://by4im3ir5nsvygprmjq74xwplrkdgt44qmeapxawwikxacmr3dqzyjad.onion
-You're responsible for securely sharing that URL using a communication channel of your choice like in an encrypted chat message, or using something less secure like unencrypted e-mail, depending on your `threat model <https://ssd.eff.org/module/your-security-plan>`_.
+And the Private key might look something like this::
+
+ EM6UK3LFM7PFLX63DVZIUQQPW5JV5KO6PB3TP3YNA4OLB3OH7AQA
+
+You're responsible for securely sharing that URL, and the private key, using a communication channel of your choice like in an encrypted chat message, or using something less secure like unencrypted e-mail, depending on your `threat model <https://ssd.eff.org/module/your-security-plan>`_.
The people you send the URL to then copy and paste it into their `Tor Browser <https://www.torproject.org/>`_ to access the OnionShare service.
+Tor Browser will then prompt for the private key in an authentication dialog, which the person can also then copy and paste in.
+
If you run OnionShare on your laptop to send someone files, and then suspend it before the files are sent, the service will not be available until your laptop is unsuspended and on the Internet again. OnionShare works best when working with people in real-time.
Because your own computer is the web server, *no third party can access anything that happens in OnionShare*, not even the developers of OnionShare. It's completely private. And because OnionShare is based on Tor onion services too, it also protects your anonymity. See the :doc:`security design </security>` for more info.
@@ -39,7 +45,7 @@ When you're ready to share, click the "Start sharing" button. You can always cli
Now that you have a OnionShare, copy the address and send it to the person you want to receive the files. If the files need to stay secure, or the person is otherwise exposed to danger, use an encrypted messaging app.
-That person then must load the address in Tor Browser. After logging in with the random password included in the web address, the files can be downloaded directly from your computer by clicking the "Download Files" link in the corner.
+That person then must load the address in Tor Browser. After logging in with the private key, the files can be downloaded directly from your computer by clicking the "Download Files" link in the corner.
.. image:: _static/screenshots/share-torbrowser.png
@@ -88,7 +94,7 @@ Tips for running a receive service
If you want to host your own anonymous dropbox using OnionShare, it's recommended you do so on a separate, dedicated computer always powered on and connected to the Internet, and not on the one you use on a regular basis.
-If you intend to put the OnionShare address on your website or social media profiles, save the tab (see :ref:`save_tabs`) and run it as a public service (see :ref:`turn_off_passwords`). It's also a good idea to give it a custom title (see :ref:`custom_titles`).
+If you intend to put the OnionShare address on your website or social media profiles, save the tab (see :ref:`save_tabs`) and run it as a public service (see :ref:`turn_off_private_key`). It's also a good idea to give it a custom title (see :ref:`custom_titles`).
Host a Website
--------------
@@ -118,7 +124,7 @@ Tips for running a website service
If you want to host a long-term website using OnionShare (meaning not something to quickly show someone something), it's recommended you do it on a separate, dedicated computer always powered on and connected to the Internet, and not on the one you use on a regular basis.
Save the tab (see :ref:`save_tabs`) so you can resume the website with the same address if you close OnionShare and re-open it later.
-If your website is intended for the public, you should run it as a public service (see :ref:`turn_off_passwords`).
+If your website is intended for the public, you should run it as a public service (see :ref:`turn_off_private_key`).
Chat Anonymously
----------------
diff --git a/docs/source/help.rst b/docs/source/help.rst
index 8c04350a..ad7b76cd 100644
--- a/docs/source/help.rst
+++ b/docs/source/help.rst
@@ -9,12 +9,12 @@ You will find instructions on how to use OnionShare. Look through all of the sec
Check the GitHub Issues
-----------------------
-If it isn't on the website, please check the `GitHub issues <https://github.com/micahflee/onionshare/issues>`_. It's possible someone else has encountered the same problem and either raised it with the developers, or maybe even posted a solution.
+If it isn't on the website, please check the `GitHub issues <https://github.com/onionshare/onionshare/issues>`_. It's possible someone else has encountered the same problem and either raised it with the developers, or maybe even posted a solution.
Submit an Issue Yourself
------------------------
-If you are unable to find a solution, or wish to ask a question or suggest a new feature, please `submit an issue <https://github.com/micahflee/onionshare/issues/new>`_. This requires `creating a GitHub account <https://help.github.com/articles/signing-up-for-a-new-github-account/>`_.
+If you are unable to find a solution, or wish to ask a question or suggest a new feature, please `submit an issue <https://github.com/onionshare/onionshare/issues/new>`_. This requires `creating a GitHub account <https://help.github.com/articles/signing-up-for-a-new-github-account/>`_.
Join our Keybase Team
---------------------
diff --git a/docs/source/locale/bn/LC_MESSAGES/security.po b/docs/source/locale/bn/LC_MESSAGES/security.po
index f8110093..b7413c02 100644
--- a/docs/source/locale/bn/LC_MESSAGES/security.po
+++ b/docs/source/locale/bn/LC_MESSAGES/security.po
@@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: OnionShare 2.3.1\n"
"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
"POT-Creation-Date: 2021-02-22 13:40-0800\n"
-"PO-Revision-Date: 2021-04-24 23:31+0000\n"
+"PO-Revision-Date: 2021-06-27 06:32+0000\n"
"Last-Translator: Oymate <dhruboadittya96@gmail.com>\n"
"Language-Team: none\n"
"Language: bn\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Generator: Weblate 4.7-dev\n"
+"X-Generator: Weblate 4.7.1-dev\n"
#: ../../source/security.rst:2
msgid "Security Design"
@@ -32,7 +32,7 @@ msgstr ""
#: ../../source/security.rst:9
msgid "What OnionShare protects against"
-msgstr ""
+msgstr "অনিয়নশেয়ার কিসের বিরুদ্ধে নিরাপত্তা দেয়"
#: ../../source/security.rst:11
msgid "**Third parties don't have access to anything that happens in OnionShare.** Using OnionShare means hosting services directly on your computer. When sharing files with OnionShare, they are not uploaded to any server. If you make an OnionShare chat room, your computer acts as a server for that too. This avoids the traditional model of having to trust the computers of others."
@@ -52,7 +52,7 @@ msgstr ""
#: ../../source/security.rst:20
msgid "What OnionShare doesn't protect against"
-msgstr ""
+msgstr "অনিওনশেয়ার কিসের বিরুদ্ধে রক্ষা করে না"
#: ../../source/security.rst:22
msgid "**Communicating the OnionShare address might not be secure.** Communicating the OnionShare address to people is the responsibility of the OnionShare user. If sent insecurely (such as through an email message monitored by an attacker), an eavesdropper can tell that OnionShare is being used. If the eavesdropper loads the address in Tor Browser while the service is still up, they can access it. To avoid this, the address must be communicateed securely, via encrypted text message (probably with disappearing messages enabled), encrypted email, or in person. This isn't necessary when using OnionShare for something that isn't secret."
diff --git a/docs/source/locale/de/LC_MESSAGES/develop.po b/docs/source/locale/de/LC_MESSAGES/develop.po
index be0a1059..f0eaf737 100644
--- a/docs/source/locale/de/LC_MESSAGES/develop.po
+++ b/docs/source/locale/de/LC_MESSAGES/develop.po
@@ -7,16 +7,15 @@ msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
-"POT-Creation-Date: 2020-11-15 14:43-0800\n"
+"POT-Creation-Date: 2021-08-20 13:37-0700\n"
"PO-Revision-Date: 2020-11-17 10:28+0000\n"
"Last-Translator: mv87 <mv87@dismail.de>\n"
-"Language-Team: de <LL@li.org>\n"
"Language: de\n"
+"Language-Team: de <LL@li.org>\n"
+"Plural-Forms: nplurals=2; plural=n != 1\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.4-dev\n"
"Generated-By: Babel 2.9.0\n"
#: ../../source/develop.rst:2
@@ -39,14 +38,15 @@ msgid ""
"click \"Join a Team\", and type \"onionshare\"."
msgstr ""
"OnionShare hat ein offenes Team auf Keybase, um über das Projekt zu "
-"diskutieren, Fragen zu stellen, Ideen und Designs zu teilen und um Pläne für "
-"die künftige Entwicklung zu schmieden. (Außerdem ist dies ein einfacher Weg, "
-"um Ende zu Ende verschlüsselte Nachrichten, z.B. OnionShare-Adressen, an "
-"andere Leute in der OnionShare-Community zu senden.) Um Keybase zu nutzen, "
-"lade die Keybase-App <https://keybase.io/download>`_ herunter, erstelle dir "
-"einen Account und `trete diesem Team bei <https://keybase.io/team/"
-"onionshare>`_. In der App, gehe auf „Teams“, klicke auf “Team beitreten“ und "
-"gib „onionshare“ ein."
+"diskutieren, Fragen zu stellen, Ideen und Designs zu teilen und um Pläne "
+"für die künftige Entwicklung zu schmieden. (Außerdem ist dies ein "
+"einfacher Weg, um Ende zu Ende verschlüsselte Nachrichten, z.B. "
+"OnionShare-Adressen, an andere Leute in der OnionShare-Community zu "
+"senden.) Um Keybase zu nutzen, lade die Keybase-App "
+"<https://keybase.io/download>`_ herunter, erstelle dir einen Account und "
+"`trete diesem Team bei <https://keybase.io/team/onionshare>`_. In der "
+"App, gehe auf „Teams“, klicke auf “Team beitreten“ und gib „onionshare“ "
+"ein."
#: ../../source/develop.rst:12
msgid ""
@@ -63,26 +63,29 @@ msgid "Contributing Code"
msgstr "Code beitragen"
#: ../../source/develop.rst:17
+#, fuzzy
msgid ""
"OnionShare source code is to be found in this Git repository: "
-"https://github.com/micahflee/onionshare"
+"https://github.com/onionshare/onionshare"
msgstr ""
-"OnionShares Quellcode findet sich in diesem git-Repository: https://github."
-"com/micahflee/onionshare"
+"OnionShares Quellcode findet sich in diesem git-Repository: "
+"https://github.com/micahflee/onionshare"
#: ../../source/develop.rst:19
+#, fuzzy
msgid ""
"If you'd like to contribute code to OnionShare, it helps to join the "
"Keybase team and ask questions about what you're thinking of working on. "
"You should also review all of the `open issues "
-"<https://github.com/micahflee/onionshare/issues>`_ on GitHub to see if "
+"<https://github.com/onionshare/onionshare/issues>`_ on GitHub to see if "
"there are any you'd like to tackle."
msgstr ""
-"Wenn du Code zu OnionShare beitragen willst, solltest du dem Keybase-Team "
-"beitreten und dort zur Diskussion stellen, was du gerne beitragen möchtest. "
-"Du solltest auch einen Blick auf alle `offenen Issues <https://github.com/"
-"micahflee/onionshare/issues>`_ auf GitHub werfen, um zu sehen, ob dort etwas "
-"für dich dabei ist, das du in Angriff nehmen möchtest."
+"Wenn du Code zu OnionShare beitragen willst, solltest du dem Keybase-Team"
+" beitreten und dort zur Diskussion stellen, was du gerne beitragen "
+"möchtest. Du solltest auch einen Blick auf alle `offenen Issues "
+"<https://github.com/micahflee/onionshare/issues>`_ auf GitHub werfen, um "
+"zu sehen, ob dort etwas für dich dabei ist, das du in Angriff nehmen "
+"möchtest."
#: ../../source/develop.rst:22
msgid ""
@@ -90,10 +93,10 @@ msgid ""
"repository and one of the project maintainers will review it and possibly"
" ask questions, request changes, reject it, or merge it into the project."
msgstr ""
-"Wenn du bereit bist, Code beizusteuern, lege einen Pull-Request im GitHub-"
-"Repository an und einer der Projektbetreuer wird einen Blick darüber werfen "
-"und ggfs. Fragen stellen, Änderungen anfragen, ihn zurückweisen oder ihn in "
-"das Projekt einpflegen."
+"Wenn du bereit bist, Code beizusteuern, lege einen Pull-Request im "
+"GitHub-Repository an und einer der Projektbetreuer wird einen Blick "
+"darüber werfen und ggfs. Fragen stellen, Änderungen anfragen, ihn "
+"zurückweisen oder ihn in das Projekt einpflegen."
#: ../../source/develop.rst:27
msgid "Starting Development"
@@ -102,17 +105,12 @@ msgstr "Mit der Entwicklung beginnen"
#: ../../source/develop.rst:29
msgid ""
"OnionShare is developed in Python. To get started, clone the Git "
-"repository at https://github.com/micahflee/onionshare/ and then consult "
+"repository at https://github.com/onionshare/onionshare/ and then consult "
"the ``cli/README.md`` file to learn how to set up your development "
"environment for the command-line version, and the ``desktop/README.md`` "
"file to learn how to set up your development environment for the "
"graphical version."
msgstr ""
-"OnionShare ist in Python geschrieben. Klone zunächst das git-Repository "
-"unter https://github.com/micahflee/onionshare/ und lies in der ``cli/README."
-"md``-Datei nach, wie du deine Entwicklungsumgebung für die Kommandozeilen-"
-"Version aufsetzt; lies in der ``desktop/README.md``-Datei nach, wie du deine "
-"Entwicklungsumgebung für die grafische Version aufsetzt."
#: ../../source/develop.rst:32
msgid ""
@@ -121,8 +119,8 @@ msgid ""
"source tree."
msgstr ""
"Diese Dateien enthalten die notwendigen technischen Instruktionen und "
-"Befehle, um die Abhängigkeiten für deine Plattform zu installieren,und um "
-"OnionShare aus dem Sourcetree auszuführen."
+"Befehle, um die Abhängigkeiten für deine Plattform zu installieren,und um"
+" OnionShare aus dem Sourcetree auszuführen."
#: ../../source/develop.rst:35
msgid "Debugging tips"
@@ -141,13 +139,14 @@ msgid ""
"reloaded), and other debug info. For example::"
msgstr ""
"Beim Entwickeln ist es hilfreich, OnionShare über die Kommandozeile "
-"auszuführen und dabei die ``--verbose``- (oder ``-v``-) Flagge zu setzen. "
-"Dadurch werden viele hilfreiche Nachrichten auf der Kommandozeile "
+"auszuführen und dabei die ``--verbose``- (oder ``-v``-) Flagge zu setzen."
+" Dadurch werden viele hilfreiche Nachrichten auf der Kommandozeile "
"ausgegeben, zum Bespiel wenn bestimmte Objekte initialisiert wurden oder "
-"wenn Ereignisse eintreten (Klicken von Buttons, Speichern oder Auffrischen "
-"von Einstellungen o.ä.), sowie andere Debug-Informationen. Zum Beispiel::"
+"wenn Ereignisse eintreten (Klicken von Buttons, Speichern oder "
+"Auffrischen von Einstellungen o.ä.), sowie andere Debug-Informationen. "
+"Zum Beispiel::"
-#: ../../source/develop.rst:117
+#: ../../source/develop.rst:121
msgid ""
"You can add your own debug messages by running the ``Common.log`` method "
"from ``onionshare/common.py``. For example::"
@@ -156,21 +155,21 @@ msgstr ""
"``Common.log``-Methode aus ``onionshare/common.py`` ausführst. Zum "
"Beispiel::"
-#: ../../source/develop.rst:121
+#: ../../source/develop.rst:125
msgid ""
"This can be useful when learning the chain of events that occur when "
"using OnionShare, or the value of certain variables before and after they"
" are manipulated."
msgstr ""
"Das kann nützlich sein, wenn du die Abfolge von Events beim Benutzen der "
-"Anwendung oder den Wert bestimmter Variablen vor oder nach deren Änderung "
-"herausfinden möchtest."
+"Anwendung oder den Wert bestimmter Variablen vor oder nach deren Änderung"
+" herausfinden möchtest."
-#: ../../source/develop.rst:124
+#: ../../source/develop.rst:128
msgid "Local Only"
msgstr "Nur lokal"
-#: ../../source/develop.rst:126
+#: ../../source/develop.rst:130
msgid ""
"Tor is slow, and it's often convenient to skip starting onion services "
"altogether during development. You can do this with the ``--local-only`` "
@@ -180,20 +179,21 @@ msgstr ""
"Dienste zu starten. Dies kannst du mit der ``--local-only``-Flagge tun. "
"Zum Beispiel::"
-#: ../../source/develop.rst:164
+#: ../../source/develop.rst:167
msgid ""
"In this case, you load the URL ``http://onionshare:train-"
"system@127.0.0.1:17635`` in a normal web-browser like Firefox, instead of"
" using the Tor Browser."
msgstr ""
-"In diesem Fall lädst du die URL ``http://onionshare:eject-snack@127.0.0."
-"1:17614`` in einem normalen Webbrowser wie Firefox anstelle des Tor Browsers."
+"In diesem Fall lädst du die URL ``http://onionshare:eject-"
+"snack@127.0.0.1:17614`` in einem normalen Webbrowser wie Firefox anstelle"
+" des Tor Browsers."
-#: ../../source/develop.rst:167
+#: ../../source/develop.rst:170
msgid "Contributing Translations"
msgstr "Übersetzungen beitragen"
-#: ../../source/develop.rst:169
+#: ../../source/develop.rst:172
msgid ""
"Help make OnionShare easier to use and more familiar and welcoming for "
"people by translating it on `Hosted Weblate "
@@ -202,55 +202,57 @@ msgid ""
"needed."
msgstr ""
"Hilf mit, OnionShare für die Leute einfacher zu benutzen, vertrauter und "
-"einladender zu machen, indem du es auf `Hosted Weblate <https://hosted."
-"weblate.org/projects/onionshare/>`_ übersetzt. Halte „OnionShare“ immer in "
-"lateinischen Lettern und nutze „OnionShare (localname)“ bei Bedarf."
+"einladender zu machen, indem du es auf `Hosted Weblate "
+"<https://hosted.weblate.org/projects/onionshare/>`_ übersetzt. Halte "
+"„OnionShare“ immer in lateinischen Lettern und nutze „OnionShare "
+"(localname)“ bei Bedarf."
-#: ../../source/develop.rst:171
+#: ../../source/develop.rst:174
msgid "To help translate, make a Hosted Weblate account and start contributing."
msgstr ""
-"Um bei der Übersetzung mitzuhelfen, erstelle dir ein Benutzerkonto für ``"
-"Hosted Weblate``, und schon kann es losgehen."
+"Um bei der Übersetzung mitzuhelfen, erstelle dir ein Benutzerkonto für "
+"``Hosted Weblate``, und schon kann es losgehen."
-#: ../../source/develop.rst:174
+#: ../../source/develop.rst:177
msgid "Suggestions for Original English Strings"
-msgstr ""
-"Vorschläge für die ursprüngliche englischsprache Zeichenketten („strings“)"
+msgstr "Vorschläge für die ursprüngliche englischsprache Zeichenketten („strings“)"
-#: ../../source/develop.rst:176
+#: ../../source/develop.rst:179
msgid ""
"Sometimes the original English strings are wrong, or don't match between "
"the application and the documentation."
msgstr ""
-"Manchmal sind die originalen englischsprachigen Zeichenketten falschen oder "
-"stimmen nicht zwischen Anwendung und dem Handbuch überein."
+"Manchmal sind die originalen englischsprachigen Zeichenketten falschen "
+"oder stimmen nicht zwischen Anwendung und dem Handbuch überein."
-#: ../../source/develop.rst:178
+#: ../../source/develop.rst:181
msgid ""
"File source string improvements by adding @kingu to your Weblate comment,"
" or open a GitHub issue or pull request. The latter ensures all upstream "
"developers see the suggestion, and can potentially modify the string via "
"the usual code review processes."
msgstr ""
-"Verbesserungen an den originalen Zeichenketten können vorgeschlagen werden, "
-"indem du @kingu in deinem Weblate-Kommentar hinzufügst, oder indem du ein "
-"Issue oder einen Pull Request auf GitHub anlegst. Letzterer Weg stellt "
-"sicher, dass alle Hauptentwickler den Vorschlag sehen und die Zeichenkette "
-"gegebenenfalls im Rahmen des üblichen Code-Review-Vorgangs abändern können."
-
-#: ../../source/develop.rst:182
+"Verbesserungen an den originalen Zeichenketten können vorgeschlagen "
+"werden, indem du @kingu in deinem Weblate-Kommentar hinzufügst, oder "
+"indem du ein Issue oder einen Pull Request auf GitHub anlegst. Letzterer "
+"Weg stellt sicher, dass alle Hauptentwickler den Vorschlag sehen und die "
+"Zeichenkette gegebenenfalls im Rahmen des üblichen Code-Review-Vorgangs "
+"abändern können."
+
+#: ../../source/develop.rst:185
msgid "Status of Translations"
msgstr "Übersetzungsstatus"
-#: ../../source/develop.rst:183
+#: ../../source/develop.rst:186
msgid ""
"Here is the current translation status. If you want start a translation "
"in a language not yet started, please write to the mailing list: "
"onionshare-dev@lists.riseup.net"
msgstr ""
"Hier siehst du den aktuellen Stand der Übersetzungen. Wenn du eine "
-"Übersetzung in einer Sprache beginnen möchtest, die hier nicht gelistet ist, "
-"schreibe uns bitte auf der Mailinglist: onionshare-dev@lists.riseup.net"
+"Übersetzung in einer Sprache beginnen möchtest, die hier nicht gelistet "
+"ist, schreibe uns bitte auf der Mailinglist: onionshare-"
+"dev@lists.riseup.net"
#~ msgid ""
#~ "OnionShare is developed in Python. To"
@@ -456,3 +458,26 @@ msgstr ""
#~ msgid "Do the same for other untranslated lines."
#~ msgstr "Tu dasselbe für die anderen noch nicht übersetzten Zeilen."
+
+#~ msgid ""
+#~ "OnionShare is developed in Python. To"
+#~ " get started, clone the Git "
+#~ "repository at https://github.com/micahflee/onionshare/ "
+#~ "and then consult the ``cli/README.md`` "
+#~ "file to learn how to set up "
+#~ "your development environment for the "
+#~ "command-line version, and the "
+#~ "``desktop/README.md`` file to learn how "
+#~ "to set up your development environment"
+#~ " for the graphical version."
+#~ msgstr ""
+#~ "OnionShare ist in Python geschrieben. "
+#~ "Klone zunächst das git-Repository unter"
+#~ " https://github.com/micahflee/onionshare/ und lies "
+#~ "in der ``cli/README.md``-Datei nach, wie "
+#~ "du deine Entwicklungsumgebung für die "
+#~ "Kommandozeilen-Version aufsetzt; lies in "
+#~ "der ``desktop/README.md``-Datei nach, wie du"
+#~ " deine Entwicklungsumgebung für die "
+#~ "grafische Version aufsetzt."
+
diff --git a/docs/source/locale/de/LC_MESSAGES/help.po b/docs/source/locale/de/LC_MESSAGES/help.po
index f8bae48b..4ecb3679 100644
--- a/docs/source/locale/de/LC_MESSAGES/help.po
+++ b/docs/source/locale/de/LC_MESSAGES/help.po
@@ -7,16 +7,15 @@ msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
-"POT-Creation-Date: 2020-11-15 14:42-0800\n"
+"POT-Creation-Date: 2021-08-20 13:37-0700\n"
"PO-Revision-Date: 2020-11-19 08:28+0000\n"
"Last-Translator: Allan Nordhøy <epost@anotheragency.no>\n"
-"Language-Team: de <LL@li.org>\n"
"Language: de\n"
+"Language-Team: de <LL@li.org>\n"
+"Plural-Forms: nplurals=2; plural=n != 1\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.4-dev\n"
"Generated-By: Babel 2.9.0\n"
#: ../../source/help.rst:2
@@ -32,26 +31,27 @@ msgid ""
"You will find instructions on how to use OnionShare. Look through all of "
"the sections first to see if anything answers your questions."
msgstr ""
-"Auf dieser Webseite finden sich zahlreiche Anleitungen, wie man OnionShare "
-"benutzt. Sieh dort zuerst alle Kapitel durch, ob sie alle deine Fragen "
-"beantworten."
+"Auf dieser Webseite finden sich zahlreiche Anleitungen, wie man "
+"OnionShare benutzt. Sieh dort zuerst alle Kapitel durch, ob sie alle "
+"deine Fragen beantworten."
#: ../../source/help.rst:10
msgid "Check the GitHub Issues"
msgstr "Siehe die Problemsektion auf GitHub durch"
#: ../../source/help.rst:12
+#, fuzzy
msgid ""
"If it isn't on the website, please check the `GitHub issues "
-"<https://github.com/micahflee/onionshare/issues>`_. It's possible someone"
-" else has encountered the same problem and either raised it with the "
-"developers, or maybe even posted a solution."
+"<https://github.com/onionshare/onionshare/issues>`_. It's possible "
+"someone else has encountered the same problem and either raised it with "
+"the developers, or maybe even posted a solution."
msgstr ""
-"Falls du auf dieser Webseite keine Lösung findest, siehe bitte die `GitHub "
-"issues <https://github.com/micahflee/onionshare/issues>`_ durch. "
-"Möglicherweise ist bereits jemand anderes auf das gleiche Problem gestoßen "
-"und hat es den Entwicklern gemeldet, und vielleicht wurde dort sogar schon "
-"eine Lösung gepostet."
+"Falls du auf dieser Webseite keine Lösung findest, siehe bitte die "
+"`GitHub issues <https://github.com/micahflee/onionshare/issues>`_ durch. "
+"Möglicherweise ist bereits jemand anderes auf das gleiche Problem "
+"gestoßen und hat es den Entwicklern gemeldet, und vielleicht wurde dort "
+"sogar schon eine Lösung gepostet."
#: ../../source/help.rst:15
msgid "Submit an Issue Yourself"
@@ -61,15 +61,10 @@ msgstr "Selber ein Problem melden"
msgid ""
"If you are unable to find a solution, or wish to ask a question or "
"suggest a new feature, please `submit an issue "
-"<https://github.com/micahflee/onionshare/issues/new>`_. This requires "
+"<https://github.com/onionshare/onionshare/issues/new>`_. This requires "
"`creating a GitHub account <https://help.github.com/articles/signing-up-"
"for-a-new-github-account/>`_."
msgstr ""
-"Falls du keine Lösung zu deinem Problem findest, eine Frage stellen möchtest "
-"oder einen Vorschlag für ein Feature hast, `erstelle ein Ticket auf GitHub "
-"<https://github.com/micahflee/onionshare/issues/new>`_. Hierfür benötigt man`"
-"einen GitHub-Account <https://docs.github.com/de/free-pro-team@latest/github/"
-"getting-started-with-github/signing-up-for-a-new-github-account/>`_."
#: ../../source/help.rst:20
msgid "Join our Keybase Team"
@@ -85,3 +80,25 @@ msgstr ""
#~ msgid "If you need help with OnionShare, please follow the instructions below."
#~ msgstr "Falls du Hilfe mit OnionShare benötigst, kannst du Folgendes tun."
+
+#~ msgid ""
+#~ "If you are unable to find a "
+#~ "solution, or wish to ask a "
+#~ "question or suggest a new feature, "
+#~ "please `submit an issue "
+#~ "<https://github.com/micahflee/onionshare/issues/new>`_. This "
+#~ "requires `creating a GitHub account "
+#~ "<https://help.github.com/articles/signing-up-for-a-new-"
+#~ "github-account/>`_."
+#~ msgstr ""
+#~ "Falls du keine Lösung zu deinem "
+#~ "Problem findest, eine Frage stellen "
+#~ "möchtest oder einen Vorschlag für ein"
+#~ " Feature hast, `erstelle ein Ticket "
+#~ "auf GitHub "
+#~ "<https://github.com/micahflee/onionshare/issues/new>`_. Hierfür"
+#~ " benötigt man`einen GitHub-Account "
+#~ "<https://docs.github.com/de/free-pro-team@latest/github"
+#~ "/getting-started-with-github/signing-up-"
+#~ "for-a-new-github-account/>`_."
+
diff --git a/docs/source/locale/el/LC_MESSAGES/develop.po b/docs/source/locale/el/LC_MESSAGES/develop.po
index 3fb9a79d..c844e2e9 100644
--- a/docs/source/locale/el/LC_MESSAGES/develop.po
+++ b/docs/source/locale/el/LC_MESSAGES/develop.po
@@ -7,16 +7,15 @@ msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
-"POT-Creation-Date: 2020-11-15 14:43-0800\n"
+"POT-Creation-Date: 2021-08-20 13:37-0700\n"
"PO-Revision-Date: 2021-05-11 20:47+0000\n"
"Last-Translator: Panagiotis Vasilopoulos <hello@alwayslivid.com>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: el\n"
+"Language-Team: el <LL@li.org>\n"
+"Plural-Forms: nplurals=2; plural=n != 1\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.7-dev\n"
"Generated-By: Babel 2.9.0\n"
#: ../../source/develop.rst:2
@@ -39,14 +38,15 @@ msgid ""
"click \"Join a Team\", and type \"onionshare\"."
msgstr ""
"Το OnionShare έχει ένα κανάλι συζητήσεων στο Keybase για να μπορέσει ο "
-"καθένας να μιλήσει για αυτό, να υποβάλει ερωτήσεις, να μοιραστεί ιδέες και "
-"σχέδια και να κάνει μελλοντικά σχέδια πάνω σε αυτό. (Είναι επίσης ένας "
-"εύκολος τρόπος για την αποστολή κρυπτογραφημένων μηνυμάτων στην κοινότητα "
-"του OnionShare, όπως οι διευθύνσεις OnionShare.) Για να χρησιμοποιήσετε το "
-"Keybase, κατεβάστε την `εφαρμογή Keybase <https://keybase.io/download>`_ , "
-"δημιουργήστε λογαριασμό και `εγγραφείτε στην ομάδα <https://keybase.io/team/"
-"onionshare>`_. Μέσα στην εφαρμογή, μεταβείτε στην ενότητα \"Ομάδες\", κάντε "
-"κλικ στην επιλογή \"Συμμετοχή σε ομάδα\" και πληκτρολογήστε \"onionshare\"."
+"καθένας να μιλήσει για αυτό, να υποβάλει ερωτήσεις, να μοιραστεί ιδέες "
+"και σχέδια και να κάνει μελλοντικά σχέδια πάνω σε αυτό. (Είναι επίσης "
+"ένας εύκολος τρόπος για την αποστολή κρυπτογραφημένων μηνυμάτων στην "
+"κοινότητα του OnionShare, όπως οι διευθύνσεις OnionShare.) Για να "
+"χρησιμοποιήσετε το Keybase, κατεβάστε την `εφαρμογή Keybase "
+"<https://keybase.io/download>`_ , δημιουργήστε λογαριασμό και `εγγραφείτε"
+" στην ομάδα <https://keybase.io/team/onionshare>`_. Μέσα στην εφαρμογή, "
+"μεταβείτε στην ενότητα \"Ομάδες\", κάντε κλικ στην επιλογή \"Συμμετοχή σε"
+" ομάδα\" και πληκτρολογήστε \"onionshare\"."
#: ../../source/develop.rst:12
msgid ""
@@ -54,35 +54,37 @@ msgid ""
"<https://lists.riseup.net/www/subscribe/onionshare-dev>`_ for developers "
"and and designers to discuss the project."
msgstr ""
-"Το OnionShare διαθέτει `λίστα ηλεκτρονικού ταχυδρομίου <https://lists.riseup."
-"net/www/subscribe/onionshare-dev>`_ για προγραμματιστές και σχεδιαστές με "
-"σκοό την ανταλλαγή απόψεων."
+"Το OnionShare διαθέτει `λίστα ηλεκτρονικού ταχυδρομίου "
+"<https://lists.riseup.net/www/subscribe/onionshare-dev>`_ για "
+"προγραμματιστές και σχεδιαστές με σκοό την ανταλλαγή απόψεων."
#: ../../source/develop.rst:15
msgid "Contributing Code"
msgstr "Συνεισφορά κώδικα"
#: ../../source/develop.rst:17
+#, fuzzy
msgid ""
"OnionShare source code is to be found in this Git repository: "
-"https://github.com/micahflee/onionshare"
+"https://github.com/onionshare/onionshare"
msgstr ""
-"Ο πηγαίος κώδικας του OnionShare βρίσκεται στο αποθετήριο Git: https://github"
-".com/micahflee/onionshare"
+"Ο πηγαίος κώδικας του OnionShare βρίσκεται στο αποθετήριο Git: "
+"https://github.com/micahflee/onionshare"
#: ../../source/develop.rst:19
+#, fuzzy
msgid ""
"If you'd like to contribute code to OnionShare, it helps to join the "
"Keybase team and ask questions about what you're thinking of working on. "
"You should also review all of the `open issues "
-"<https://github.com/micahflee/onionshare/issues>`_ on GitHub to see if "
+"<https://github.com/onionshare/onionshare/issues>`_ on GitHub to see if "
"there are any you'd like to tackle."
msgstr ""
-"Εάν θέλετε να συνεισφέρετε με κώδικα στο OnionShare, θα πρέπει να εγγραφείτε "
-"στην ομάδα του Keybase για την υποβολή σχετικών ερωτήσεων. Θα πρέπει επίσης "
-"να έχετε διαβάσει όλα τα `ανοιχτά ζητήματα <https://github.com/micahflee/"
-"onionshare/issues>`_ στο GitHub για να δείτε αν υπάρχουν κάποια που θέλετε "
-"να συμμετέχετε."
+"Εάν θέλετε να συνεισφέρετε με κώδικα στο OnionShare, θα πρέπει να "
+"εγγραφείτε στην ομάδα του Keybase για την υποβολή σχετικών ερωτήσεων. Θα "
+"πρέπει επίσης να έχετε διαβάσει όλα τα `ανοιχτά ζητήματα "
+"<https://github.com/micahflee/onionshare/issues>`_ στο GitHub για να "
+"δείτε αν υπάρχουν κάποια που θέλετε να συμμετέχετε."
#: ../../source/develop.rst:22
msgid ""
@@ -90,10 +92,10 @@ msgid ""
"repository and one of the project maintainers will review it and possibly"
" ask questions, request changes, reject it, or merge it into the project."
msgstr ""
-"Όταν είστε έτοιμοι να συνεισφέρετε κώδικα, ανοίξτε ένα αίτημα στο αποθετήριο "
-"του GitHub και ένας διαχειριστής του έργου θα το εξετάσει και πιθανώς θα "
-"υποβάλει ερωτήσεις, θα ζητήσει αλλαγές, θα τον απορρίψει ή θα τον "
-"συγχωνεύσει στο έργο."
+"Όταν είστε έτοιμοι να συνεισφέρετε κώδικα, ανοίξτε ένα αίτημα στο "
+"αποθετήριο του GitHub και ένας διαχειριστής του έργου θα το εξετάσει και "
+"πιθανώς θα υποβάλει ερωτήσεις, θα ζητήσει αλλαγές, θα τον απορρίψει ή θα "
+"τον συγχωνεύσει στο έργο."
#: ../../source/develop.rst:27
msgid "Starting Development"
@@ -102,17 +104,12 @@ msgstr "Έναρξη ανάπτυξης"
#: ../../source/develop.rst:29
msgid ""
"OnionShare is developed in Python. To get started, clone the Git "
-"repository at https://github.com/micahflee/onionshare/ and then consult "
+"repository at https://github.com/onionshare/onionshare/ and then consult "
"the ``cli/README.md`` file to learn how to set up your development "
"environment for the command-line version, and the ``desktop/README.md`` "
"file to learn how to set up your development environment for the "
"graphical version."
msgstr ""
-"Το OnionShare αναπτύσετε με το Python. Για να ξεκινήσετε, αντιγράψτε το "
-"αποθετήριο από https://github.com/micahflee/onionshare/ και συμβουλευτείτε "
-"το αρχείο ``cli/README.md`` για να μάθετε περισσότερα για τη ρύθμιση της "
-"έκδοσης περιβάλλοντος γραμμής εντολών και του αρχείου ``desktop/README.md`` "
-"για την έκδοση γραφικού περιβάλλοντος."
#: ../../source/develop.rst:32
msgid ""
@@ -120,8 +117,9 @@ msgid ""
"install dependencies for your platform, and to run OnionShare from the "
"source tree."
msgstr ""
-"Αυτά τα αρχεία περιέχουν τις απαραίτητες οδηγίες και εντολές για εγκατάσταση "
-"στην πλατφόρμα σας και την εκτέλεση του OnionShare από τον πηγαίο κώδικα."
+"Αυτά τα αρχεία περιέχουν τις απαραίτητες οδηγίες και εντολές για "
+"εγκατάσταση στην πλατφόρμα σας και την εκτέλεση του OnionShare από τον "
+"πηγαίο κώδικα."
#: ../../source/develop.rst:35
msgid "Debugging tips"
@@ -139,13 +137,14 @@ msgid ""
"initialized, when events occur (like buttons clicked, settings saved or "
"reloaded), and other debug info. For example::"
msgstr ""
-"Όταν προγραμματίζεται, προτείνεται η εκτέλεση του OnionShare από τερματικό "
-"και τη χρήση εντολής με ``--verbose`` (or ``-v``). Έτσι εμφανίζονται αρκετές "
-"πληροφορίες στο τερματικό όπως την επίδραση της εντολής στα διάφορα "
-"αντικείμενα, όπως τι σημβαίνει (κάνοντας κλικ στα κουμπιά, αποθήκευση "
-"ρυθμίσεων ή ανανέωση) και άλλων πληροφοριών. Για παράδειγμα::"
+"Όταν προγραμματίζεται, προτείνεται η εκτέλεση του OnionShare από "
+"τερματικό και τη χρήση εντολής με ``--verbose`` (or ``-v``). Έτσι "
+"εμφανίζονται αρκετές πληροφορίες στο τερματικό όπως την επίδραση της "
+"εντολής στα διάφορα αντικείμενα, όπως τι σημβαίνει (κάνοντας κλικ στα "
+"κουμπιά, αποθήκευση ρυθμίσεων ή ανανέωση) και άλλων πληροφοριών. Για "
+"παράδειγμα::"
-#: ../../source/develop.rst:117
+#: ../../source/develop.rst:121
msgid ""
"You can add your own debug messages by running the ``Common.log`` method "
"from ``onionshare/common.py``. For example::"
@@ -154,45 +153,45 @@ msgstr ""
"εκτέλεση της μεθόδου ``Common.log`` από ``onionshare/common.py``. Για "
"παράδειγμα::"
-#: ../../source/develop.rst:121
+#: ../../source/develop.rst:125
msgid ""
"This can be useful when learning the chain of events that occur when "
"using OnionShare, or the value of certain variables before and after they"
" are manipulated."
msgstr ""
-"Αυτό είναι χρήσιμο όταν μαθένετ για την αλυσίδα των γεγονότων που συμβαίνουν "
-"κατά τη χρήση του OnionShare, ή την τιμή ορισμένων μεταβλητών πριν και μετά "
-"την επεξεργασία τους."
+"Αυτό είναι χρήσιμο όταν μαθένετ για την αλυσίδα των γεγονότων που "
+"συμβαίνουν κατά τη χρήση του OnionShare, ή την τιμή ορισμένων μεταβλητών "
+"πριν και μετά την επεξεργασία τους."
-#: ../../source/develop.rst:124
+#: ../../source/develop.rst:128
msgid "Local Only"
msgstr "Μόνο τοπικά"
-#: ../../source/develop.rst:126
+#: ../../source/develop.rst:130
msgid ""
"Tor is slow, and it's often convenient to skip starting onion services "
"altogether during development. You can do this with the ``--local-only`` "
"flag. For example::"
msgstr ""
"Το Tor είναι αργό και είναι συχνά χρήσιμο να παραλείψετε την έναρξη των "
-"υπηρεσιών onion κατά τη διάρκεια της ανάπτυξης. Μπορείτε να το κάνετε αυτό "
-"προσθέτοντας το ``--local-only``. Για παράδειγμα::"
+"υπηρεσιών onion κατά τη διάρκεια της ανάπτυξης. Μπορείτε να το κάνετε "
+"αυτό προσθέτοντας το ``--local-only``. Για παράδειγμα::"
-#: ../../source/develop.rst:164
+#: ../../source/develop.rst:167
msgid ""
"In this case, you load the URL ``http://onionshare:train-"
"system@127.0.0.1:17635`` in a normal web-browser like Firefox, instead of"
" using the Tor Browser."
msgstr ""
"Σε αυτή την περίπτωση, θα φορτώσει το URL ``http://onionshare:train-"
-"system@127.0.0.1:17635`` σε κανονικό περιηγητή όπως το Firefox αντί του Tor "
-"Browser."
+"system@127.0.0.1:17635`` σε κανονικό περιηγητή όπως το Firefox αντί του "
+"Tor Browser."
-#: ../../source/develop.rst:167
+#: ../../source/develop.rst:170
msgid "Contributing Translations"
msgstr "Συνεισφορά μεταφράσεων"
-#: ../../source/develop.rst:169
+#: ../../source/develop.rst:172
msgid ""
"Help make OnionShare easier to use and more familiar and welcoming for "
"people by translating it on `Hosted Weblate "
@@ -203,20 +202,20 @@ msgstr ""
"Βοηθήστε το OnionShare να είναι ευκολότερο στη χρήση, πιο οικείο και "
"φιλόξενο για τους χρήστες, μεταφράζοντάς το στο `Hosted Weblate "
"<https://hosted.weblate.org/projects/onionshare/>`_. Διατηρείτε πάντα το "
-"\"OnionShare\" με λατινικά γράμματα και χρησιμοποιήστε το \"OnionShare ("
-"τοπικο όνομα)\" εάν χρειάζεται."
+"\"OnionShare\" με λατινικά γράμματα και χρησιμοποιήστε το \"OnionShare "
+"(τοπικο όνομα)\" εάν χρειάζεται."
-#: ../../source/develop.rst:171
+#: ../../source/develop.rst:174
msgid "To help translate, make a Hosted Weblate account and start contributing."
msgstr ""
-"Για να βοηθήσετε στη μετάφραση, δημιουργήστε ένα λογαριασμό στο Weblate και "
-"αρχίστε τη συνεισφορά σας."
+"Για να βοηθήσετε στη μετάφραση, δημιουργήστε ένα λογαριασμό στο Weblate "
+"και αρχίστε τη συνεισφορά σας."
-#: ../../source/develop.rst:174
+#: ../../source/develop.rst:177
msgid "Suggestions for Original English Strings"
msgstr "Προτάσεις αυθεντικών Αγγλικών ορισμών"
-#: ../../source/develop.rst:176
+#: ../../source/develop.rst:179
msgid ""
"Sometimes the original English strings are wrong, or don't match between "
"the application and the documentation."
@@ -224,7 +223,7 @@ msgstr ""
"Κάποιες φορές οι πρωτότυποι Αγγλικοί ορισμοί είναι λάθος ή δεν συμφωνούν "
"μεταξύ της εφαρμογής και της τεκμηρίωσης."
-#: ../../source/develop.rst:178
+#: ../../source/develop.rst:181
msgid ""
"File source string improvements by adding @kingu to your Weblate comment,"
" or open a GitHub issue or pull request. The latter ensures all upstream "
@@ -232,15 +231,15 @@ msgid ""
"the usual code review processes."
msgstr ""
"Για βελτιώσεις ορισμών του αρχείου προέλευσης, προσθέστε το @kingu στο "
-"σχόλιό σας στο Weblate ή ανοίξτε ένα ζήτημα στο GitHub. Έτσι διασφαλίζετε "
-"ότι όλοι οι προγραμματιστές θα δούν την πρόταση και μπορούν ενδεχομένως να "
-"προβούν σε τροποποίηση μέσω των συνήθων διαδικασιών ελέγχου κώδικα."
+"σχόλιό σας στο Weblate ή ανοίξτε ένα ζήτημα στο GitHub. Έτσι διασφαλίζετε"
+" ότι όλοι οι προγραμματιστές θα δούν την πρόταση και μπορούν ενδεχομένως "
+"να προβούν σε τροποποίηση μέσω των συνήθων διαδικασιών ελέγχου κώδικα."
-#: ../../source/develop.rst:182
+#: ../../source/develop.rst:185
msgid "Status of Translations"
msgstr "Κατάσταση μεταφράσεων"
-#: ../../source/develop.rst:183
+#: ../../source/develop.rst:186
msgid ""
"Here is the current translation status. If you want start a translation "
"in a language not yet started, please write to the mailing list: "
@@ -465,3 +464,26 @@ msgstr ""
#~ msgid "Do the same for other untranslated lines."
#~ msgstr ""
+
+#~ msgid ""
+#~ "OnionShare is developed in Python. To"
+#~ " get started, clone the Git "
+#~ "repository at https://github.com/micahflee/onionshare/ "
+#~ "and then consult the ``cli/README.md`` "
+#~ "file to learn how to set up "
+#~ "your development environment for the "
+#~ "command-line version, and the "
+#~ "``desktop/README.md`` file to learn how "
+#~ "to set up your development environment"
+#~ " for the graphical version."
+#~ msgstr ""
+#~ "Το OnionShare αναπτύσετε με το Python."
+#~ " Για να ξεκινήσετε, αντιγράψτε το "
+#~ "αποθετήριο από https://github.com/micahflee/onionshare/"
+#~ " και συμβουλευτείτε το αρχείο "
+#~ "``cli/README.md`` για να μάθετε περισσότερα"
+#~ " για τη ρύθμιση της έκδοσης "
+#~ "περιβάλλοντος γραμμής εντολών και του "
+#~ "αρχείου ``desktop/README.md`` για την έκδοση"
+#~ " γραφικού περιβάλλοντος."
+
diff --git a/docs/source/locale/el/LC_MESSAGES/help.po b/docs/source/locale/el/LC_MESSAGES/help.po
index 62e20fd7..d411297d 100644
--- a/docs/source/locale/el/LC_MESSAGES/help.po
+++ b/docs/source/locale/el/LC_MESSAGES/help.po
@@ -7,16 +7,15 @@ msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
-"POT-Creation-Date: 2020-11-15 14:43-0800\n"
+"POT-Creation-Date: 2021-08-20 13:37-0700\n"
"PO-Revision-Date: 2020-11-28 11:28+0000\n"
"Last-Translator: george k <norhorn@gmail.com>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: el\n"
+"Language-Team: el <LL@li.org>\n"
+"Plural-Forms: nplurals=2; plural=n != 1\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.4-dev\n"
"Generated-By: Babel 2.9.0\n"
#: ../../source/help.rst:2
@@ -32,23 +31,24 @@ msgid ""
"You will find instructions on how to use OnionShare. Look through all of "
"the sections first to see if anything answers your questions."
msgstr ""
-"Θα βρείτε οδηγίες σχετικά με τη χρήση του OnionShare. Ερευνήστε πρώτα όλες "
-"τις ενότητες για να βρείτε σχετικές απαντήσεις."
+"Θα βρείτε οδηγίες σχετικά με τη χρήση του OnionShare. Ερευνήστε πρώτα "
+"όλες τις ενότητες για να βρείτε σχετικές απαντήσεις."
#: ../../source/help.rst:10
msgid "Check the GitHub Issues"
msgstr "Ελέγξτε τα ζητήματα στο GitHub"
#: ../../source/help.rst:12
+#, fuzzy
msgid ""
"If it isn't on the website, please check the `GitHub issues "
-"<https://github.com/micahflee/onionshare/issues>`_. It's possible someone"
-" else has encountered the same problem and either raised it with the "
-"developers, or maybe even posted a solution."
+"<https://github.com/onionshare/onionshare/issues>`_. It's possible "
+"someone else has encountered the same problem and either raised it with "
+"the developers, or maybe even posted a solution."
msgstr ""
"Εάν δεν υπάρχει στην ιστοσελίδα, παρακαλούμε ελέγξτε στο `GitHub issues "
-"<https://github.com/micahflee/onionshare/issues>`_. Είναι πιθανό και κάποιος "
-"άλλος να αντιμετώπισε το ίδιο πρόβλημα και συνομίλησε με τους "
+"<https://github.com/micahflee/onionshare/issues>`_. Είναι πιθανό και "
+"κάποιος άλλος να αντιμετώπισε το ίδιο πρόβλημα και συνομίλησε με τους "
"προγραμματιστές ή να δημοσίευσε τη λύση."
#: ../../source/help.rst:15
@@ -59,15 +59,10 @@ msgstr "Υποβάλετε ένα ζήτημα"
msgid ""
"If you are unable to find a solution, or wish to ask a question or "
"suggest a new feature, please `submit an issue "
-"<https://github.com/micahflee/onionshare/issues/new>`_. This requires "
+"<https://github.com/onionshare/onionshare/issues/new>`_. This requires "
"`creating a GitHub account <https://help.github.com/articles/signing-up-"
"for-a-new-github-account/>`_."
msgstr ""
-"Εάν δεν μπορείτε να βρείτε λύση ή επιθυμείτε να υποβάλετε ερώτημα ή πρόταση "
-"νέας λειτουργίας, παρακαλούμε για την `υποβολή ζητήματος <https://github.com/"
-"micahflee/onionshare/issues/new>`_. Απαιτείται η `δημιουργία λογαριασμού "
-"GitHub <https://help.github.com/articles/signing-up-for-a-new-github-account/"
-">`_."
#: ../../source/help.rst:20
msgid "Join our Keybase Team"
@@ -78,8 +73,8 @@ msgid ""
"See :ref:`collaborating` on how to join the Keybase team used to discuss "
"the project."
msgstr ""
-"Δείτε:ref:`collaborating` σχετικά με τον τρόπο συμμετοχής στην ομάδα Keybase "
-"για τη συζήτηση του έργου."
+"Δείτε:ref:`collaborating` σχετικά με τον τρόπο συμμετοχής στην ομάδα "
+"Keybase για τη συζήτηση του έργου."
#~ msgid "If you need help with OnionShare, please follow the instructions below."
#~ msgstr ""
@@ -132,3 +127,23 @@ msgstr ""
#~ "that we use to discuss the "
#~ "project."
#~ msgstr ""
+
+#~ msgid ""
+#~ "If you are unable to find a "
+#~ "solution, or wish to ask a "
+#~ "question or suggest a new feature, "
+#~ "please `submit an issue "
+#~ "<https://github.com/micahflee/onionshare/issues/new>`_. This "
+#~ "requires `creating a GitHub account "
+#~ "<https://help.github.com/articles/signing-up-for-a-new-"
+#~ "github-account/>`_."
+#~ msgstr ""
+#~ "Εάν δεν μπορείτε να βρείτε λύση ή"
+#~ " επιθυμείτε να υποβάλετε ερώτημα ή "
+#~ "πρόταση νέας λειτουργίας, παρακαλούμε για "
+#~ "την `υποβολή ζητήματος "
+#~ "<https://github.com/micahflee/onionshare/issues/new>`_. "
+#~ "Απαιτείται η `δημιουργία λογαριασμού GitHub"
+#~ " <https://help.github.com/articles/signing-up-for-a"
+#~ "-new-github-account/>`_."
+
diff --git a/docs/source/locale/en/LC_MESSAGES/develop.po b/docs/source/locale/en/LC_MESSAGES/develop.po
index 0de31f00..981a5b2f 100644
--- a/docs/source/locale/en/LC_MESSAGES/develop.po
+++ b/docs/source/locale/en/LC_MESSAGES/develop.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-11-15 14:43-0800\n"
+"POT-Creation-Date: 2021-08-20 13:37-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -51,7 +51,7 @@ msgstr ""
#: ../../source/develop.rst:17
msgid ""
"OnionShare source code is to be found in this Git repository: "
-"https://github.com/micahflee/onionshare"
+"https://github.com/onionshare/onionshare"
msgstr ""
#: ../../source/develop.rst:19
@@ -59,7 +59,7 @@ msgid ""
"If you'd like to contribute code to OnionShare, it helps to join the "
"Keybase team and ask questions about what you're thinking of working on. "
"You should also review all of the `open issues "
-"<https://github.com/micahflee/onionshare/issues>`_ on GitHub to see if "
+"<https://github.com/onionshare/onionshare/issues>`_ on GitHub to see if "
"there are any you'd like to tackle."
msgstr ""
@@ -77,7 +77,7 @@ msgstr ""
#: ../../source/develop.rst:29
msgid ""
"OnionShare is developed in Python. To get started, clone the Git "
-"repository at https://github.com/micahflee/onionshare/ and then consult "
+"repository at https://github.com/onionshare/onionshare/ and then consult "
"the ``cli/README.md`` file to learn how to set up your development "
"environment for the command-line version, and the ``desktop/README.md`` "
"file to learn how to set up your development environment for the "
@@ -108,42 +108,42 @@ msgid ""
"reloaded), and other debug info. For example::"
msgstr ""
-#: ../../source/develop.rst:117
+#: ../../source/develop.rst:121
msgid ""
"You can add your own debug messages by running the ``Common.log`` method "
"from ``onionshare/common.py``. For example::"
msgstr ""
-#: ../../source/develop.rst:121
+#: ../../source/develop.rst:125
msgid ""
"This can be useful when learning the chain of events that occur when "
"using OnionShare, or the value of certain variables before and after they"
" are manipulated."
msgstr ""
-#: ../../source/develop.rst:124
+#: ../../source/develop.rst:128
msgid "Local Only"
msgstr ""
-#: ../../source/develop.rst:126
+#: ../../source/develop.rst:130
msgid ""
"Tor is slow, and it's often convenient to skip starting onion services "
"altogether during development. You can do this with the ``--local-only`` "
"flag. For example::"
msgstr ""
-#: ../../source/develop.rst:164
+#: ../../source/develop.rst:167
msgid ""
"In this case, you load the URL ``http://onionshare:train-"
"system@127.0.0.1:17635`` in a normal web-browser like Firefox, instead of"
" using the Tor Browser."
msgstr ""
-#: ../../source/develop.rst:167
+#: ../../source/develop.rst:170
msgid "Contributing Translations"
msgstr ""
-#: ../../source/develop.rst:169
+#: ../../source/develop.rst:172
msgid ""
"Help make OnionShare easier to use and more familiar and welcoming for "
"people by translating it on `Hosted Weblate "
@@ -152,21 +152,21 @@ msgid ""
"needed."
msgstr ""
-#: ../../source/develop.rst:171
+#: ../../source/develop.rst:174
msgid "To help translate, make a Hosted Weblate account and start contributing."
msgstr ""
-#: ../../source/develop.rst:174
+#: ../../source/develop.rst:177
msgid "Suggestions for Original English Strings"
msgstr ""
-#: ../../source/develop.rst:176
+#: ../../source/develop.rst:179
msgid ""
"Sometimes the original English strings are wrong, or don't match between "
"the application and the documentation."
msgstr ""
-#: ../../source/develop.rst:178
+#: ../../source/develop.rst:181
msgid ""
"File source string improvements by adding @kingu to your Weblate comment,"
" or open a GitHub issue or pull request. The latter ensures all upstream "
@@ -174,11 +174,11 @@ msgid ""
"the usual code review processes."
msgstr ""
-#: ../../source/develop.rst:182
+#: ../../source/develop.rst:185
msgid "Status of Translations"
msgstr ""
-#: ../../source/develop.rst:183
+#: ../../source/develop.rst:186
msgid ""
"Here is the current translation status. If you want start a translation "
"in a language not yet started, please write to the mailing list: "
@@ -401,3 +401,34 @@ msgstr ""
#~ msgid "Do the same for other untranslated lines."
#~ msgstr ""
+#~ msgid ""
+#~ "OnionShare source code is to be "
+#~ "found in this Git repository: "
+#~ "https://github.com/micahflee/onionshare"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "If you'd like to contribute code "
+#~ "to OnionShare, it helps to join "
+#~ "the Keybase team and ask questions "
+#~ "about what you're thinking of working"
+#~ " on. You should also review all "
+#~ "of the `open issues "
+#~ "<https://github.com/micahflee/onionshare/issues>`_ on "
+#~ "GitHub to see if there are any "
+#~ "you'd like to tackle."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "OnionShare is developed in Python. To"
+#~ " get started, clone the Git "
+#~ "repository at https://github.com/micahflee/onionshare/ "
+#~ "and then consult the ``cli/README.md`` "
+#~ "file to learn how to set up "
+#~ "your development environment for the "
+#~ "command-line version, and the "
+#~ "``desktop/README.md`` file to learn how "
+#~ "to set up your development environment"
+#~ " for the graphical version."
+#~ msgstr ""
+
diff --git a/docs/source/locale/en/LC_MESSAGES/help.po b/docs/source/locale/en/LC_MESSAGES/help.po
index d1eb81e9..2d8bbb2e 100644
--- a/docs/source/locale/en/LC_MESSAGES/help.po
+++ b/docs/source/locale/en/LC_MESSAGES/help.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-11-15 14:42-0800\n"
+"POT-Creation-Date: 2021-08-20 13:37-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -38,9 +38,9 @@ msgstr ""
#: ../../source/help.rst:12
msgid ""
"If it isn't on the website, please check the `GitHub issues "
-"<https://github.com/micahflee/onionshare/issues>`_. It's possible someone"
-" else has encountered the same problem and either raised it with the "
-"developers, or maybe even posted a solution."
+"<https://github.com/onionshare/onionshare/issues>`_. It's possible "
+"someone else has encountered the same problem and either raised it with "
+"the developers, or maybe even posted a solution."
msgstr ""
#: ../../source/help.rst:15
@@ -51,7 +51,7 @@ msgstr ""
msgid ""
"If you are unable to find a solution, or wish to ask a question or "
"suggest a new feature, please `submit an issue "
-"<https://github.com/micahflee/onionshare/issues/new>`_. This requires "
+"<https://github.com/onionshare/onionshare/issues/new>`_. This requires "
"`creating a GitHub account <https://help.github.com/articles/signing-up-"
"for-a-new-github-account/>`_."
msgstr ""
@@ -118,3 +118,24 @@ msgstr ""
#~ "project."
#~ msgstr ""
+#~ msgid ""
+#~ "If it isn't on the website, please"
+#~ " check the `GitHub issues "
+#~ "<https://github.com/micahflee/onionshare/issues>`_. It's "
+#~ "possible someone else has encountered "
+#~ "the same problem and either raised "
+#~ "it with the developers, or maybe "
+#~ "even posted a solution."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "If you are unable to find a "
+#~ "solution, or wish to ask a "
+#~ "question or suggest a new feature, "
+#~ "please `submit an issue "
+#~ "<https://github.com/micahflee/onionshare/issues/new>`_. This "
+#~ "requires `creating a GitHub account "
+#~ "<https://help.github.com/articles/signing-up-for-a-new-"
+#~ "github-account/>`_."
+#~ msgstr ""
+
diff --git a/docs/source/locale/es/LC_MESSAGES/develop.po b/docs/source/locale/es/LC_MESSAGES/develop.po
index bb0ec119..6f40b676 100644
--- a/docs/source/locale/es/LC_MESSAGES/develop.po
+++ b/docs/source/locale/es/LC_MESSAGES/develop.po
@@ -7,16 +7,15 @@ msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
-"POT-Creation-Date: 2020-11-15 14:42-0800\n"
+"POT-Creation-Date: 2021-08-20 13:37-0700\n"
"PO-Revision-Date: 2020-12-04 23:29+0000\n"
"Last-Translator: Zuhualime Akoochimoya <zakooch@protonmail.ch>\n"
-"Language-Team: none\n"
"Language: es\n"
+"Language-Team: none\n"
+"Plural-Forms: nplurals=2; plural=n != 1\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.4-dev\n"
"Generated-By: Babel 2.9.0\n"
#: ../../source/develop.rst:2
@@ -38,14 +37,15 @@ msgid ""
"<https://keybase.io/team/onionshare>`_. Within the app, go to \"Teams\", "
"click \"Join a Team\", and type \"onionshare\"."
msgstr ""
-"OnionShare tiene un equipo Keybase abierto para discutir el proyecto, hacer "
-"preguntas, compartir ideas y diseños, y hacer planes para futuro desarrollo. "
-"(También es una manera fácil de enviar mensajes directos cifrados de extremo "
-"a extremo a otros en la comunidad OnionShare, como por ejemplo, direcciones "
-"OnionShare.) Para usar Keybase, descarga la `aplicación Keybase "
-"<https://keybase.io/download>`_, crea una cuenta, y `únete a este equipo "
-"<https://keybase.io/team/onionshare>`_. Dentro de la aplicación, vé hacia "
-"\"Equipos\", haz clic en \"Unirse a un Equipo\", y tipea \"onionshare\"."
+"OnionShare tiene un equipo Keybase abierto para discutir el proyecto, "
+"hacer preguntas, compartir ideas y diseños, y hacer planes para futuro "
+"desarrollo. (También es una manera fácil de enviar mensajes directos "
+"cifrados de extremo a extremo a otros en la comunidad OnionShare, como "
+"por ejemplo, direcciones OnionShare.) Para usar Keybase, descarga la "
+"`aplicación Keybase <https://keybase.io/download>`_, crea una cuenta, y "
+"`únete a este equipo <https://keybase.io/team/onionshare>`_. Dentro de la"
+" aplicación, vé hacia \"Equipos\", haz clic en \"Unirse a un Equipo\", y "
+"tipea \"onionshare\"."
#: ../../source/develop.rst:12
msgid ""
@@ -62,26 +62,28 @@ msgid "Contributing Code"
msgstr "Contribuyendo código"
#: ../../source/develop.rst:17
+#, fuzzy
msgid ""
"OnionShare source code is to be found in this Git repository: "
-"https://github.com/micahflee/onionshare"
+"https://github.com/onionshare/onionshare"
msgstr ""
-"El código fuente de OnionShare está en este repositorio git: https://github."
-"com/micahflee/onionshare"
+"El código fuente de OnionShare está en este repositorio git: "
+"https://github.com/micahflee/onionshare"
#: ../../source/develop.rst:19
+#, fuzzy
msgid ""
"If you'd like to contribute code to OnionShare, it helps to join the "
"Keybase team and ask questions about what you're thinking of working on. "
"You should also review all of the `open issues "
-"<https://github.com/micahflee/onionshare/issues>`_ on GitHub to see if "
+"<https://github.com/onionshare/onionshare/issues>`_ on GitHub to see if "
"there are any you'd like to tackle."
msgstr ""
-"Si quisieras contribuir código a OnionShare, ayuda unirse al equipo Keybase "
-"y hacer preguntas acerca de en qué estás pensando trabajar. También deberías "
-"revisar todas las `cuestiones abiertas <https://github.com/micahflee/"
-"onionshare/issues>`_ en GitHub para ver si hay alguna a la cual te gustaría "
-"encarar."
+"Si quisieras contribuir código a OnionShare, ayuda unirse al equipo "
+"Keybase y hacer preguntas acerca de en qué estás pensando trabajar. "
+"También deberías revisar todas las `cuestiones abiertas "
+"<https://github.com/micahflee/onionshare/issues>`_ en GitHub para ver si "
+"hay alguna a la cual te gustaría encarar."
#: ../../source/develop.rst:22
msgid ""
@@ -89,10 +91,10 @@ msgid ""
"repository and one of the project maintainers will review it and possibly"
" ask questions, request changes, reject it, or merge it into the project."
msgstr ""
-"Cuando estés listo para contribuir código, abre una solicitud de tiraje en "
-"el repositorio GitHub, y uno de los mantenedores del proyecto la revisará, y "
-"posiblemente haga preguntas, solicite cambios, la rechace o la incorpore "
-"dentro del proyecto."
+"Cuando estés listo para contribuir código, abre una solicitud de tiraje "
+"en el repositorio GitHub, y uno de los mantenedores del proyecto la "
+"revisará, y posiblemente haga preguntas, solicite cambios, la rechace o "
+"la incorpore dentro del proyecto."
#: ../../source/develop.rst:27
msgid "Starting Development"
@@ -101,17 +103,12 @@ msgstr "Iniciando el desarrollo"
#: ../../source/develop.rst:29
msgid ""
"OnionShare is developed in Python. To get started, clone the Git "
-"repository at https://github.com/micahflee/onionshare/ and then consult "
+"repository at https://github.com/onionshare/onionshare/ and then consult "
"the ``cli/README.md`` file to learn how to set up your development "
"environment for the command-line version, and the ``desktop/README.md`` "
"file to learn how to set up your development environment for the "
"graphical version."
msgstr ""
-"OnionShare está desarrollado en Python. Para arrancar, clona el repositorio "
-"Git en https://github.com/micahflee/onionshare/ y luego consulta el archivo "
-"``cli/README.md`` para aprender cómo configurar tu entorno de desarrollo "
-"para la versión de línea de comando, y el archivo ``desktop/README.md`` para "
-"aprender cómo hacerlo para la versión gráfica."
#: ../../source/develop.rst:32
msgid ""
@@ -139,14 +136,14 @@ msgid ""
"initialized, when events occur (like buttons clicked, settings saved or "
"reloaded), and other debug info. For example::"
msgstr ""
-"Durante el desarrollo, es conveniente ejecutar OnionShare desde un terminal "
-"y agregar el modificador ``--verbose`` (o ``-v``) al comando. Esto imprime "
-"una cantidad de mensajes útiles a la terminal, tales como cuándo son "
-"inicializados ciertos objetos, cuándo ocurren eventos (como botones "
-"cliqueados, ajustes guardados o recargados), y otra información de "
-"depuración. Por ejemplo::"
-
-#: ../../source/develop.rst:117
+"Durante el desarrollo, es conveniente ejecutar OnionShare desde un "
+"terminal y agregar el modificador ``--verbose`` (o ``-v``) al comando. "
+"Esto imprime una cantidad de mensajes útiles a la terminal, tales como "
+"cuándo son inicializados ciertos objetos, cuándo ocurren eventos (como "
+"botones cliqueados, ajustes guardados o recargados), y otra información "
+"de depuración. Por ejemplo::"
+
+#: ../../source/develop.rst:121
msgid ""
"You can add your own debug messages by running the ``Common.log`` method "
"from ``onionshare/common.py``. For example::"
@@ -154,21 +151,21 @@ msgstr ""
"Puedes agregar tus propios mensajes de depuración ejecutando el método "
"``Common.log`` desde ``onionshare/common.py``. Por ejemplo:"
-#: ../../source/develop.rst:121
+#: ../../source/develop.rst:125
msgid ""
"This can be useful when learning the chain of events that occur when "
"using OnionShare, or the value of certain variables before and after they"
" are manipulated."
msgstr ""
-"Esto puede ser útil para conocer la cadena de eventos que ocurre cuando usas "
-"OnionShare, o el valor de ciertas variables antes y después de que sean "
-"manipuladas."
+"Esto puede ser útil para conocer la cadena de eventos que ocurre cuando "
+"usas OnionShare, o el valor de ciertas variables antes y después de que "
+"sean manipuladas."
-#: ../../source/develop.rst:124
+#: ../../source/develop.rst:128
msgid "Local Only"
msgstr "Solo local"
-#: ../../source/develop.rst:126
+#: ../../source/develop.rst:130
msgid ""
"Tor is slow, and it's often convenient to skip starting onion services "
"altogether during development. You can do this with the ``--local-only`` "
@@ -178,21 +175,21 @@ msgstr ""
"onion sin excepción durante el desarrollo. Puedes hacer esto con el "
"modoficador ``--local-only``. Por ejemplo:"
-#: ../../source/develop.rst:164
+#: ../../source/develop.rst:167
msgid ""
"In this case, you load the URL ``http://onionshare:train-"
"system@127.0.0.1:17635`` in a normal web-browser like Firefox, instead of"
" using the Tor Browser."
msgstr ""
-"En este caso, cargas el URL ``http://onionshare:train-system@127.0.0."
-"1:17635`` en un navegador web normal como Firefox, en vez de usar al "
-"Navegador Tor."
+"En este caso, cargas el URL ``http://onionshare:train-"
+"system@127.0.0.1:17635`` en un navegador web normal como Firefox, en vez "
+"de usar al Navegador Tor."
-#: ../../source/develop.rst:167
+#: ../../source/develop.rst:170
msgid "Contributing Translations"
msgstr "Contribuyendo traducciones"
-#: ../../source/develop.rst:169
+#: ../../source/develop.rst:172
msgid ""
"Help make OnionShare easier to use and more familiar and welcoming for "
"people by translating it on `Hosted Weblate "
@@ -200,22 +197,23 @@ msgid ""
"\"OnionShare\" in latin letters, and use \"OnionShare (localname)\" if "
"needed."
msgstr ""
-"Ayuda a que OnionShare sea más fácil de usar, y más familiar y amigable para "
-"las personas, traduciéndolo en `Hosted Weblate <https://hosted.weblate.org/"
-"projects/onionshare/>`_. Siempre mantén \"OnionShare\" en el alfabeto "
-"latino, y usa \"OnionShare (nombre local)\" si fuera necesario."
+"Ayuda a que OnionShare sea más fácil de usar, y más familiar y amigable "
+"para las personas, traduciéndolo en `Hosted Weblate "
+"<https://hosted.weblate.org/projects/onionshare/>`_. Siempre mantén "
+"\"OnionShare\" en el alfabeto latino, y usa \"OnionShare (nombre local)\""
+" si fuera necesario."
-#: ../../source/develop.rst:171
+#: ../../source/develop.rst:174
msgid "To help translate, make a Hosted Weblate account and start contributing."
msgstr ""
"Para ayudar a traducir, crea una cuenta Hosted Weblate y empieza a "
"contribuir."
-#: ../../source/develop.rst:174
+#: ../../source/develop.rst:177
msgid "Suggestions for Original English Strings"
msgstr "Sugerencias para cadenas de caracteres en el original en Inglés"
-#: ../../source/develop.rst:176
+#: ../../source/develop.rst:179
msgid ""
"Sometimes the original English strings are wrong, or don't match between "
"the application and the documentation."
@@ -223,32 +221,32 @@ msgstr ""
"A veces, las cadenas de caracteres en Inglés están equivocadas, o no se "
"corresponden entre la aplicación y la documentación."
-#: ../../source/develop.rst:178
+#: ../../source/develop.rst:181
msgid ""
"File source string improvements by adding @kingu to your Weblate comment,"
" or open a GitHub issue or pull request. The latter ensures all upstream "
"developers see the suggestion, and can potentially modify the string via "
"the usual code review processes."
msgstr ""
-"Propone mejoras en las cadenas fuente añadiendo @kingu a tu comentario en "
-"Weblate, o abre una cuestión o solicitud de tiraje en GitHub. Esta última "
-"asegura que todos los desarrolladores de nivel superior vean las "
+"Propone mejoras en las cadenas fuente añadiendo @kingu a tu comentario en"
+" Weblate, o abre una cuestión o solicitud de tiraje en GitHub. Esta "
+"última asegura que todos los desarrolladores de nivel superior vean las "
"sugerencias, y potencialmente puede modificar la cadena a través de los "
"procesos usuales de revisión de código."
-#: ../../source/develop.rst:182
+#: ../../source/develop.rst:185
msgid "Status of Translations"
msgstr "Estado de las traducciones"
-#: ../../source/develop.rst:183
+#: ../../source/develop.rst:186
msgid ""
"Here is the current translation status. If you want start a translation "
"in a language not yet started, please write to the mailing list: "
"onionshare-dev@lists.riseup.net"
msgstr ""
"Aquí está el estado actual de las traducciones. Si quieres empezar una "
-"traducción en un lenguaje que no se encuentra aquí, por favor escríbenos a "
-"la lista de correo: onionshare-dev@lists.riseup.net"
+"traducción en un lenguaje que no se encuentra aquí, por favor escríbenos "
+"a la lista de correo: onionshare-dev@lists.riseup.net"
#~ msgid ""
#~ "OnionShare has an open Keybase team "
@@ -442,3 +440,26 @@ msgstr ""
#~ msgid "Do the same for other untranslated lines."
#~ msgstr "Haz lo mismo para otras líneas no traducidas."
+
+#~ msgid ""
+#~ "OnionShare is developed in Python. To"
+#~ " get started, clone the Git "
+#~ "repository at https://github.com/micahflee/onionshare/ "
+#~ "and then consult the ``cli/README.md`` "
+#~ "file to learn how to set up "
+#~ "your development environment for the "
+#~ "command-line version, and the "
+#~ "``desktop/README.md`` file to learn how "
+#~ "to set up your development environment"
+#~ " for the graphical version."
+#~ msgstr ""
+#~ "OnionShare está desarrollado en Python. "
+#~ "Para arrancar, clona el repositorio Git"
+#~ " en https://github.com/micahflee/onionshare/ y "
+#~ "luego consulta el archivo ``cli/README.md``"
+#~ " para aprender cómo configurar tu "
+#~ "entorno de desarrollo para la versión"
+#~ " de línea de comando, y el "
+#~ "archivo ``desktop/README.md`` para aprender "
+#~ "cómo hacerlo para la versión gráfica."
+
diff --git a/docs/source/locale/es/LC_MESSAGES/help.po b/docs/source/locale/es/LC_MESSAGES/help.po
index eb301797..37e9697a 100644
--- a/docs/source/locale/es/LC_MESSAGES/help.po
+++ b/docs/source/locale/es/LC_MESSAGES/help.po
@@ -7,16 +7,15 @@ msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
-"POT-Creation-Date: 2020-11-15 14:42-0800\n"
+"POT-Creation-Date: 2021-08-20 13:37-0700\n"
"PO-Revision-Date: 2020-12-01 17:29+0000\n"
"Last-Translator: Zuhualime Akoochimoya <zakooch@protonmail.ch>\n"
-"Language-Team: none\n"
"Language: es\n"
+"Language-Team: none\n"
+"Plural-Forms: nplurals=2; plural=n != 1\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.4-dev\n"
"Generated-By: Babel 2.9.0\n"
#: ../../source/help.rst:2
@@ -32,24 +31,25 @@ msgid ""
"You will find instructions on how to use OnionShare. Look through all of "
"the sections first to see if anything answers your questions."
msgstr ""
-"Encontrarás instrucciones sobre cómo usar OnionShare. Mira primero a través "
-"de todas las secciones para ver si responde a tus preguntas."
+"Encontrarás instrucciones sobre cómo usar OnionShare. Mira primero a "
+"través de todas las secciones para ver si responde a tus preguntas."
#: ../../source/help.rst:10
msgid "Check the GitHub Issues"
msgstr "Comprueba las cuestiones con GitHub"
#: ../../source/help.rst:12
+#, fuzzy
msgid ""
"If it isn't on the website, please check the `GitHub issues "
-"<https://github.com/micahflee/onionshare/issues>`_. It's possible someone"
-" else has encountered the same problem and either raised it with the "
-"developers, or maybe even posted a solution."
+"<https://github.com/onionshare/onionshare/issues>`_. It's possible "
+"someone else has encountered the same problem and either raised it with "
+"the developers, or maybe even posted a solution."
msgstr ""
-"Si no está en este sitio web, por favor comprueba las `cuestiones con GitHub "
-"<https://github.com/micahflee/onionshare/issues>`_. Es posible que alguien "
-"más se haya encontrado con el mismo problema y lo haya elevado a los "
-"desarrolladores, o incluso también que haya publicado una solución."
+"Si no está en este sitio web, por favor comprueba las `cuestiones con "
+"GitHub <https://github.com/micahflee/onionshare/issues>`_. Es posible que"
+" alguien más se haya encontrado con el mismo problema y lo haya elevado a"
+" los desarrolladores, o incluso también que haya publicado una solución."
#: ../../source/help.rst:15
msgid "Submit an Issue Yourself"
@@ -59,15 +59,10 @@ msgstr "Envía una cuestión"
msgid ""
"If you are unable to find a solution, or wish to ask a question or "
"suggest a new feature, please `submit an issue "
-"<https://github.com/micahflee/onionshare/issues/new>`_. This requires "
+"<https://github.com/onionshare/onionshare/issues/new>`_. This requires "
"`creating a GitHub account <https://help.github.com/articles/signing-up-"
"for-a-new-github-account/>`_."
msgstr ""
-"Si no puedes encontrar una solución a tu problema, o deseas hacer una "
-"pregunta o sugerir una característica nueva, por favor `envía una cuestión "
-"<https://github.com/micahflee/onionshare/issues/new>`_. Esto requiere `crear "
-"una cuenta en GitHub <https://help.github.com/articles/signing-up-for-a-new-"
-"github-account>`_."
#: ../../source/help.rst:20
msgid "Join our Keybase Team"
@@ -78,11 +73,31 @@ msgid ""
"See :ref:`collaborating` on how to join the Keybase team used to discuss "
"the project."
msgstr ""
-"Mira :ref:`collaborating` por instrucciones acerca de cómo unirse al equipo "
-"Keybase que usamos para discutir el proyecto."
+"Mira :ref:`collaborating` por instrucciones acerca de cómo unirse al "
+"equipo Keybase que usamos para discutir el proyecto."
#~ msgid "If you need help with OnionShare, please follow the instructions below."
#~ msgstr ""
#~ "Si necesitas ayuda con OnionShare, por"
#~ " favor sigue las instrucciones de "
#~ "abajo."
+
+#~ msgid ""
+#~ "If you are unable to find a "
+#~ "solution, or wish to ask a "
+#~ "question or suggest a new feature, "
+#~ "please `submit an issue "
+#~ "<https://github.com/micahflee/onionshare/issues/new>`_. This "
+#~ "requires `creating a GitHub account "
+#~ "<https://help.github.com/articles/signing-up-for-a-new-"
+#~ "github-account/>`_."
+#~ msgstr ""
+#~ "Si no puedes encontrar una solución "
+#~ "a tu problema, o deseas hacer una"
+#~ " pregunta o sugerir una característica "
+#~ "nueva, por favor `envía una cuestión "
+#~ "<https://github.com/micahflee/onionshare/issues/new>`_. Esto "
+#~ "requiere `crear una cuenta en GitHub "
+#~ "<https://help.github.com/articles/signing-up-for-a-new-"
+#~ "github-account>`_."
+
diff --git a/docs/source/locale/fi/LC_MESSAGES/advanced.po b/docs/source/locale/fi/LC_MESSAGES/advanced.po
new file mode 100644
index 00000000..f8300591
--- /dev/null
+++ b/docs/source/locale/fi/LC_MESSAGES/advanced.po
@@ -0,0 +1,223 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) Micah Lee, et al.
+# This file is distributed under the same license as the OnionShare package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OnionShare 2.3.2\n"
+"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
+"POT-Creation-Date: 2021-05-31 10:12-0700\n"
+"PO-Revision-Date: 2021-08-24 17:33+0000\n"
+"Last-Translator: Kaantaja <ufdbvgoljrjkrkyyub@ianvvn.com>\n"
+"Language-Team: none\n"
+"Language: fi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.8.1-dev\n"
+
+#: ../../source/advanced.rst:2
+msgid "Advanced Usage"
+msgstr "Kehittynyt käyttö"
+
+#: ../../source/advanced.rst:7
+msgid "Save Tabs"
+msgstr "Tallenna välilehdet"
+
+#: ../../source/advanced.rst:9
+msgid "Everything in OnionShare is temporary by default. If you close an OnionShare tab, its address no longer exists and it can't be used again. Sometimes you might want an OnionShare service to be persistent. This is useful if you want to host a website available from the same OnionShare address even if you reboot your computer."
+msgstr ""
+"Kaikki OnionSharessa on tilapäistä oletusarvoisesti. Jos suljet OnionShare-"
+"välilehden, sen osoite ei enää ole olemassa ja sitä ei voida ladata "
+"uudelleen. Joskus saatat haluta OnionShare-palvelun olevan pysyvä. Tämä on "
+"hyödyllistä, jos haluat isännöidä verkkosivua, joka on saatavilla samasta "
+"OnionShare-osoitteesta, vaikka uudelleenkäynnistäisit tietokoneesi."
+
+#: ../../source/advanced.rst:13
+msgid "To make any tab persistent, check the \"Save this tab, and automatically open it when I open OnionShare\" box before starting the server. When a tab is saved a purple pin icon appears to the left of its server status."
+msgstr ""
+"Tehdäksesi välilehdestä pysyvän, valitse \"Tallenna tämä välilehti, ja "
+"automaattisesti avaa se, kun avaan OnionSharen\" -ruutu ennen palvelimen "
+"käynnistämistä. Kun välilehti on tallennettu violetti nastan kuva ilmaantuu "
+"sen palvelimen vasempaan reunaan."
+
+#: ../../source/advanced.rst:18
+msgid "When you quit OnionShare and then open it again, your saved tabs will start opened. You'll have to manually start each service, but when you do they will start with the same OnionShare address and password."
+msgstr ""
+"Kun suljet OnionSharen ja avaat sen uudelleen, tallentamasi välilehdet "
+"avautuvat uudelleen. Sinun täytyy manuaalisesti käynnistää jokainen palvelu, "
+"mutta näin tehdessäsi ne käynnistyvät samalla OnionShare-osoitteella ja "
+"-salasanalla."
+
+#: ../../source/advanced.rst:21
+msgid "If you save a tab, a copy of that tab's onion service secret key will be stored on your computer with your OnionShare settings."
+msgstr ""
+"Jos tallennat välilehden, kopio kyseisen välilehden sipulipalvelun "
+"salaisesta avaimesta talletetaan tietokoneellesi OnionShare-asetusten mukana."
+
+#: ../../source/advanced.rst:26
+msgid "Turn Off Passwords"
+msgstr "Ota salasanat pois päältä"
+
+#: ../../source/advanced.rst:28
+msgid "By default, all OnionShare services are protected with the username ``onionshare`` and a randomly-generated password. If someone takes 20 wrong guesses at the password, your onion service is automatically stopped to prevent a brute force attack against the OnionShare service."
+msgstr ""
+"Oletuksena kaikki OnionSharen palvelut on suojattu käyttäjänimellä "
+"``onionshare`` ja satunnaisesti luodulla salasanalla. Jos joku tekee 20 "
+"väärää arvausta salasanan osalta, sinun sipulipalvelusi pysähtyy "
+"automaattisesti estääkseen brute force -hyökkäyksen, joka kohdistuu "
+"OnionSharen palveluita vastaan."
+
+#: ../../source/advanced.rst:31
+msgid "Sometimes you might want your OnionShare service to be accessible to the public, like if you want to set up an OnionShare receive service so the public can securely and anonymously send you files. In this case, it's better to disable the password altogether. If you don't do this, someone can force your server to stop just by making 20 wrong guesses of your password, even if they know the correct password."
+msgstr ""
+"Joskus saatat haluta, että OnionShare-palvelut ovat saataville yleisesti, "
+"kuten jos haluat perustaa OnionSharen vastaanottopalvelun, jotta yleisö voi "
+"turvallisesti ja anonyymisti lähettää sinulle tiedostoja. Tässä tapauksessa "
+"on parempi poistaa salasana käytöstä. Jos et tee näin, joku voi pakottaa "
+"palvelimesi pysähtymään pelkästään tekemällä 20 väärää arvausta "
+"salasanastasi, vaikka he tietäisivätkin oikean salasanasi."
+
+#: ../../source/advanced.rst:35
+msgid "To turn off the password for any tab, just check the \"Don't use a password\" box before starting the server. Then the server will be public and won't have a password."
+msgstr ""
+"Ottaaksesi salasanan pois päältä välilehdeltä, raksita \"Älä käytä "
+"salasanaa\" ruutu ennen palvelimen käynnistämistä. Sen jälkeen palvelin on "
+"julkinen eikä siinä ole salasanaa."
+
+#: ../../source/advanced.rst:40
+msgid "Custom Titles"
+msgstr "Muokatut otsikot"
+
+#: ../../source/advanced.rst:42
+msgid "By default, when people load an OnionShare service in Tor Browser they see the default title for the type of service. For example, the default title of a chat service is \"OnionShare Chat\"."
+msgstr ""
+"Oletuksena, kun ihmiset lataavat OnionShare-palvelun Tor-selaimessaan he "
+"näkevät oletuksena kyseisen palvelun nimen. Esimerkiksi, oletusotsikko "
+"keskustelupalvelulle on \"OnionShare Chat\"."
+
+#: ../../source/advanced.rst:44
+msgid "If you want to choose a custom title, set the \"Custom title\" setting before starting a server."
+msgstr ""
+"Jos haluat valita muokatun otsikon, valitse \"Muokattu otsikko\" -asetus "
+"ennen palvelimen käynnistämistä."
+
+#: ../../source/advanced.rst:47
+msgid "Scheduled Times"
+msgstr "Ajastetut hetket"
+
+#: ../../source/advanced.rst:49
+msgid "OnionShare supports scheduling exactly when a service should start and stop. Before starting a server, click \"Show advanced settings\" in its tab and then check the boxes next to either \"Start onion service at scheduled time\", \"Stop onion service at scheduled time\", or both, and set the respective desired dates and times."
+msgstr ""
+"OnionShare tukee ajastusta juuri silloin, kun palvelun tulee käynnistyä tai "
+"pysähtyä. Ennen palvelimen käynnistämistä, klikkaa \"Näytä lisäasetukset\" "
+"välilehdestä ja sen jälkeen valitse joko \"Aloita sipulipalvelu ajastettuna "
+"hetkenä\", \"Pysäytä sipulipalvelu ajastettuna hetkenä\", tai molemmat, ja "
+"aseta haluamasi päivämäärät ja kellonajat."
+
+#: ../../source/advanced.rst:52
+msgid "If you scheduled a service to start in the future, when you click the \"Start sharing\" button you will see a timer counting down until it starts. If you scheduled it to stop in the future, after it's started you will see a timer counting down to when it will stop automatically."
+msgstr ""
+"Jos ajastit palvelun alkamaan tulevaisuudessa, klikkaamalla \"Aloita "
+"jakaminen\"-nappia näet laskurin, joka ilmaisee lähestyvää alkamisaikaa. Jos "
+"ajastit sen pysähtymään tulevaisuudessa, palvelun ollessa päällä näet "
+"laskurin, joka ilmaisee lähestyvää lopetusaikaa."
+
+#: ../../source/advanced.rst:55
+msgid "**Scheduling an OnionShare service to automatically start can be used as a dead man's switch**, where your service will be made public at a given time in the future if anything happens to you. If nothing happens to you, you can cancel the service before it's scheduled to start."
+msgstr ""
+"**OnionShare-palvelun automaattista ajastusta voi käyttää \"kuolleen miehen "
+"vipuna\"**, eli palvelusi tulee julkiseksi tulevaisuudessa, jos jotain "
+"tapahtuisi sinulle. Jos mitään ei tapahdu, voit peruuttaa palvelun ennen "
+"kuin ajastettu hetki koittaa."
+
+#: ../../source/advanced.rst:60
+msgid "**Scheduling an OnionShare service to automatically stop can be useful to limit exposure**, like if you want to share secret documents while making sure they're not available on the Internet for more than a few days."
+msgstr ""
+"**OnionShare-palvelun ajastaminen automaattisesti voi olla hyödyllistä "
+"rajoittaaksesi paljastumista**, esimerkiksi jos haluat jakaa salaisia "
+"asiakirjoja siten, että ne eivät ole saatavilla internetissä muutamaa päivää "
+"pidempään."
+
+#: ../../source/advanced.rst:65
+msgid "Command-line Interface"
+msgstr "Komentokehotekäyttöliittymä"
+
+#: ../../source/advanced.rst:67
+msgid "In addition to its graphical interface, OnionShare has a command-line interface."
+msgstr ""
+"Graafisen käyttöliittymän lisäksi OnionSharessa on "
+"komentokehotekäyttöliittymä."
+
+#: ../../source/advanced.rst:69
+msgid "You can install just the command-line version of OnionShare using ``pip3``::"
+msgstr ""
+"Voit asentaa pelkästään komentokehoteversion OnionSharesta käyttämällä "
+"``pip3``::"
+
+#: ../../source/advanced.rst:73
+msgid "Note that you will also need the ``tor`` package installed. In macOS, install it with: ``brew install tor``"
+msgstr ""
+"Huomioi, että sinulla tulee olla ``tor``-paketti asennettuna. MacOS:ssa "
+"asenna se näin: ``brew install tor``"
+
+#: ../../source/advanced.rst:75
+msgid "Then run it like this::"
+msgstr "Sen jälkeen aja se näin::"
+
+#: ../../source/advanced.rst:79
+msgid "If you installed OnionShare using the Linux Snapcraft package, you can also just run ``onionshare.cli`` to access the command-line interface version."
+msgstr ""
+"Jos olet asentanut OnionSharen käyttämällä Linuxin Snapcraft-pakettia, voit "
+"myös ajaa``onionshare.cli`` päästäksesi komentokehotekäyttöliittymään."
+
+#: ../../source/advanced.rst:82
+msgid "Usage"
+msgstr "Käyttö"
+
+#: ../../source/advanced.rst:84
+msgid "You can browse the command-line documentation by running ``onionshare --help``::"
+msgstr ""
+"Voit selata komentokehotteen dokumentaatiota ajamalla komennon ``onionshare "
+"--help``::"
+
+#: ../../source/advanced.rst:147
+msgid "Legacy Addresses"
+msgstr "Legacy-osoitteet"
+
+#: ../../source/advanced.rst:149
+msgid "OnionShare uses v3 Tor onion services by default. These are modern onion addresses that have 56 characters, for example::"
+msgstr ""
+"OnionShare käyttää oletuksena v3 Tor -onionpalveluita. Nämä ovat "
+"nykyaikaisia osoitteita ja sisältävät 56 merkkiä, esimerkiksi::"
+
+#: ../../source/advanced.rst:154
+msgid "OnionShare still has support for v2 onion addresses, the old type of onion addresses that have 16 characters, for example::"
+msgstr ""
+"OnionShare tukee yhä v2 sipuliosoitteita, vanhantyyppisiä 16-merkkisiä "
+"sipuliosoitteita, esimerkiksi::"
+
+#: ../../source/advanced.rst:158
+msgid "OnionShare calls v2 onion addresses \"legacy addresses\", and they are not recommended, as v3 onion addresses are more secure."
+msgstr ""
+"OnionShare kutsuu v2 sipuliosoitteita \"legacy-osoitteiksi\", ja niitä ei "
+"suositella, koska v3 sipulipalvelut ovat turvallisempia."
+
+#: ../../source/advanced.rst:160
+msgid "To use legacy addresses, before starting a server click \"Show advanced settings\" from its tab and check the \"Use a legacy address (v2 onion service, not recommended)\" box. In legacy mode you can optionally turn on Tor client authentication. Once you start a server in legacy mode you cannot remove legacy mode in that tab. Instead you must start a separate service in a separate tab."
+msgstr ""
+"Käyttääksesi legacy-osoitteita klikkaa ennen palvelimen käynnistämistä "
+"\"Näytä lisäasetukset\" välilehdestä ja raksita \"Käytä legacy-osoitteita ("
+"v2 sipulipalvelu, ei suositeltu)\" ruutu. Legacy-tilassa voit valinnaisena "
+"ottaa käyttöön asiakasohjelman tunnistautumisen. Kun käynnistät palvelimen "
+"legacy-tilassa et voi poistaa legacy-tilaa kyseisestä välilehdestä. Sen "
+"sijaan sinun tulee avata erillinen palvelu erillisessä välilehdessä."
+
+#: ../../source/advanced.rst:165
+msgid "Tor Project plans to `completely deprecate v2 onion services <https://blog.torproject.org/v2-deprecation-timeline>`_ on October 15, 2021, and legacy onion services will be removed from OnionShare before then."
+msgstr ""
+"Tor Project suunnittelee`poistavansa täysin käytöstä v2 sipulipalvelut "
+"<https://blog.torproject.org/v2-deprecation-timeline>`_ 15.10.2021, ja "
+"legacy-sipulipalvelut tullaan poistamaan OnionSharesta sitä ennen."
diff --git a/docs/source/locale/fi/LC_MESSAGES/develop.po b/docs/source/locale/fi/LC_MESSAGES/develop.po
new file mode 100644
index 00000000..06d5f331
--- /dev/null
+++ b/docs/source/locale/fi/LC_MESSAGES/develop.po
@@ -0,0 +1,185 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) Micah Lee, et al.
+# This file is distributed under the same license as the OnionShare package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OnionShare 2.3.2\n"
+"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
+"POT-Creation-Date: 2021-05-31 10:12-0700\n"
+"PO-Revision-Date: 2021-08-24 17:33+0000\n"
+"Last-Translator: Kaantaja <ufdbvgoljrjkrkyyub@ianvvn.com>\n"
+"Language-Team: none\n"
+"Language: fi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.8.1-dev\n"
+
+#: ../../source/develop.rst:2
+msgid "Developing OnionShare"
+msgstr "OnionSharen kehittäminen"
+
+#: ../../source/develop.rst:7
+msgid "Collaborating"
+msgstr "Osallistuminen"
+
+#: ../../source/develop.rst:9
+msgid "OnionShare has an open Keybase team to discuss the project, ask questions, share ideas and designs, and making plans for future development. (It's also an easy way to send end-to-end encrypted direct messages to others in the OnionShare community, like OnionShare addresses.) To use Keybase, download the `Keybase app <https://keybase.io/download>`_, make an account, and `join this team <https://keybase.io/team/onionshare>`_. Within the app, go to \"Teams\", click \"Join a Team\", and type \"onionshare\"."
+msgstr ""
+"OnionSharella on avoin Keybase-tiimi keskustelua, kysymyksiä, ideoita, "
+"ulkoasusuunnittelua ja projektin tulevaisuuden suunnitelua varten. (Se on "
+"myös helppo väylä lähettää päästä päähän salattuja suoria viestejä, kuten "
+"OnionShare-osoitteita.) Käyttääksesi Keybasea, tallenna `Keybase-sovellus "
+"<https://keybase.io/download>`_, luo käyttäjätili ja `liity tähän tiimiin "
+"<https://keybase.io/team/onionshare>`_. Sovelluksen sisällä valitse \"Tiimit"
+"\", klikkaa \"Liity tiimiin\" ja kirjoita \"onionshare\"."
+
+#: ../../source/develop.rst:12
+msgid "OnionShare also has a `mailing list <https://lists.riseup.net/www/subscribe/onionshare-dev>`_ for developers and and designers to discuss the project."
+msgstr ""
+"OnionSharella on myös keskustelua varten `postituslista <https://lists.riseup"
+".net/www/subscribe/onionshare-dev>`_ kehittäjille ja suunnittelijoille."
+
+#: ../../source/develop.rst:15
+msgid "Contributing Code"
+msgstr "Avustaminen koodissa"
+
+#: ../../source/develop.rst:17
+msgid "OnionShare source code is to be found in this Git repository: https://github.com/micahflee/onionshare"
+msgstr ""
+"OnionSharen lähdekoodi löytyy tästä Git-reposta: https://github.com/"
+"micahflee/onionshare"
+
+#: ../../source/develop.rst:19
+msgid "If you'd like to contribute code to OnionShare, it helps to join the Keybase team and ask questions about what you're thinking of working on. You should also review all of the `open issues <https://github.com/micahflee/onionshare/issues>`_ on GitHub to see if there are any you'd like to tackle."
+msgstr ""
+"Jos haluat lahjoittaa koodia OnionSharelle, kannattaa liittyä Keybase-"
+"tiimiin ja kysyä kysymyksiä, mitä voisit tehdä. Kannattaa käydä läpi kaikki `"
+"avoimet tapaukset <https://github.com/micahflee/onionshare/issues>`_ "
+"GitHubissa nähdäksesi, onko siellä jotain korjattavaa."
+
+#: ../../source/develop.rst:22
+msgid "When you're ready to contribute code, open a pull request in the GitHub repository and one of the project maintainers will review it and possibly ask questions, request changes, reject it, or merge it into the project."
+msgstr ""
+"Kun olet valmis avustamaan koodissa, avaa vetopyyntö Githubissa ja joku "
+"projektin ylläpitäjistä arvioi sen ja mahdollisesti kysyy kysymyksiä, pyytää "
+"muutoksia, kieltäytyy siitä tai yhdistää sen toiseen projektiin."
+
+#: ../../source/develop.rst:27
+msgid "Starting Development"
+msgstr "Kehityksen aloittaminen"
+
+#: ../../source/develop.rst:29
+msgid "OnionShare is developed in Python. To get started, clone the Git repository at https://github.com/micahflee/onionshare/ and then consult the ``cli/README.md`` file to learn how to set up your development environment for the command-line version, and the ``desktop/README.md`` file to learn how to set up your development environment for the graphical version."
+msgstr ""
+"OnionShare on kehitetty Pythonilla. Päästäksesi alkuun, kloonaa Git-"
+"ohjelmavarasto osoitteessa https://github.com/micahflee/onionshare/ ja "
+"tutustu ``cli/README.md``-tiedostoon oppiaksesi kuinka säädät "
+"kehitysympäristösi komentoriviversioon. Tutustu ``desktop/README.md``-"
+"tiedostoon, kun haluat oppia, kuinka säädetään kehitysympäristö graafiseen "
+"versioon."
+
+#: ../../source/develop.rst:32
+msgid "Those files contain the necessary technical instructions and commands install dependencies for your platform, and to run OnionShare from the source tree."
+msgstr ""
+"Kyseiset tiedostot sisältävät välttämättömiä teknisia ohjeistuksia ja "
+"komentoja asentaaksesi riippuvuudet alustalle, ja jotta OnionShare voidaan "
+"suorittaa."
+
+#: ../../source/develop.rst:35
+msgid "Debugging tips"
+msgstr "Virheenkorjauksen vinkkejä"
+
+#: ../../source/develop.rst:38
+msgid "Verbose mode"
+msgstr "Runsassanainen tila"
+
+#: ../../source/develop.rst:40
+msgid "When developing, it's convenient to run OnionShare from a terminal and add the ``--verbose`` (or ``-v``) flag to the command. This prints a lot of helpful messages to the terminal, such as when certain objects are initialized, when events occur (like buttons clicked, settings saved or reloaded), and other debug info. For example::"
+msgstr ""
+"Kehittämisen aikana on hyödyllistä suorittaa OnionShare terminaalista ja "
+"lisätä ``--verbose`` (tai ``-v``) -lisäys komentoriville. Tämä tuo näkyviin "
+"paljon hyödyllisiä viestejä terminaaliin, kuten jos tietyt objektit on "
+"alustettu, kun ilmiöt tapahtuvat (esim. nappeja painetaan, asetukset "
+"tallennetaan tai ladataan), ja muuta virheenkorjaustietoa. Esimerkiksi::"
+
+#: ../../source/develop.rst:121
+msgid "You can add your own debug messages by running the ``Common.log`` method from ``onionshare/common.py``. For example::"
+msgstr ""
+"Voit lisätä omia virheenkorjausviestejä suorittamalla ``Common.log``metodin "
+"kohteesta ``onionshare/common.py``. Esimerkiksi::"
+
+#: ../../source/develop.rst:125
+msgid "This can be useful when learning the chain of events that occur when using OnionShare, or the value of certain variables before and after they are manipulated."
+msgstr ""
+"Tämä voi olla hyödyllistä, kun opettelee tapahtumien kulkua OnionSharessa, "
+"tai tiettyjen muuttujien arvoja ennen ja jälkeen, kun niitä on muokattu."
+
+#: ../../source/develop.rst:128
+msgid "Local Only"
+msgstr "Vain paikallinen"
+
+#: ../../source/develop.rst:130
+msgid "Tor is slow, and it's often convenient to skip starting onion services altogether during development. You can do this with the ``--local-only`` flag. For example::"
+msgstr ""
+"Tor on hidas ja on siksi hyödyllistä ohittaa sipulipalveluiden käynnistys "
+"kokonaan kehitystyön aikana. Voit tehdä tämän ``--local-only`` lisäyksellä. "
+"Esimerkiksi::"
+
+#: ../../source/develop.rst:167
+msgid "In this case, you load the URL ``http://onionshare:train-system@127.0.0.1:17635`` in a normal web-browser like Firefox, instead of using the Tor Browser."
+msgstr ""
+"Tässä tapauksessa lataat URL:n ``http://onionshare:train-system@127.0.0."
+"1:17635``tavallisessa verkkoselaimessa kuten Firefoxissa, Tor-selaimen "
+"käyttämisen sijasta."
+
+#: ../../source/develop.rst:170
+msgid "Contributing Translations"
+msgstr "Kielenkääntämisessä avustaminen"
+
+#: ../../source/develop.rst:172
+msgid "Help make OnionShare easier to use and more familiar and welcoming for people by translating it on `Hosted Weblate <https://hosted.weblate.org/projects/onionshare/>`_. Always keep the \"OnionShare\" in latin letters, and use \"OnionShare (localname)\" if needed."
+msgstr ""
+"Auta tekemään OnionSharesta helppokäyttöisempää ja tutumpaa ihmisille "
+"kääntämällä sitä sivustolla `Hosted Weblate <https://hosted.weblate.org/"
+"projects/onionshare/>`_. Pidä \"OnionShare\" aina latinalaisissa aakkosissa "
+"ja käytä muotoa \"OnionShare (paikallinennimi)\" tarvittaessa."
+
+#: ../../source/develop.rst:174
+msgid "To help translate, make a Hosted Weblate account and start contributing."
+msgstr ""
+"Auttaaksesi kääntämisessä tee käyttäjätunnus Hosted Weblate -sivustolle ja "
+"aloita auttaminen."
+
+#: ../../source/develop.rst:177
+msgid "Suggestions for Original English Strings"
+msgstr "Ehdotuksia alkuperäisiksi englanninkielisiksi merkkijonoiksi"
+
+#: ../../source/develop.rst:179
+msgid "Sometimes the original English strings are wrong, or don't match between the application and the documentation."
+msgstr ""
+"Joskus alkuperäiset englanninkieliset merkkijonot ovat väärin tai eivät "
+"vastaa sovellusta ja dokumentaatiota."
+
+#: ../../source/develop.rst:181
+msgid "File source string improvements by adding @kingu to your Weblate comment, or open a GitHub issue or pull request. The latter ensures all upstream developers see the suggestion, and can potentially modify the string via the usual code review processes."
+msgstr ""
+"Ilmoita lähdemerkkijonojen parannukset lisäämällä @kingu sinun tekemääsi "
+"Weblate-kommenttiin, tai avaamalla GitHubiin ilmoitus tai vetopyyntö. "
+"Jälkimmäinen takaa, että kaikki kehittäjät näkevät ehdotuksen ja he voivat "
+"mahdollisesti muokata merkkijonoa perinteisen koodinarviointiprosessin "
+"kautta."
+
+#: ../../source/develop.rst:185
+msgid "Status of Translations"
+msgstr "Käännösten tila"
+
+#: ../../source/develop.rst:186
+msgid "Here is the current translation status. If you want start a translation in a language not yet started, please write to the mailing list: onionshare-dev@lists.riseup.net"
+msgstr ""
+"Täällä näkyy nykyinen käännösten tila. Jos haluat aloittaa käännöksen "
+"kielellä, jota ei vielä ole aloitettu, kirjoita siitä postituslistalle: "
+"onionshare-dev@lists.riseup.net"
diff --git a/docs/source/locale/fi/LC_MESSAGES/features.po b/docs/source/locale/fi/LC_MESSAGES/features.po
new file mode 100644
index 00000000..7dda6ccd
--- /dev/null
+++ b/docs/source/locale/fi/LC_MESSAGES/features.po
@@ -0,0 +1,423 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) Micah Lee, et al.
+# This file is distributed under the same license as the OnionShare package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OnionShare 2.3.2\n"
+"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
+"POT-Creation-Date: 2021-05-31 10:12-0700\n"
+"PO-Revision-Date: 2021-08-25 18:33+0000\n"
+"Last-Translator: Kaantaja <ufdbvgoljrjkrkyyub@ianvvn.com>\n"
+"Language-Team: none\n"
+"Language: fi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.8.1-dev\n"
+
+#: ../../source/features.rst:4
+msgid "How OnionShare Works"
+msgstr "Kuinka OnionShare toimii"
+
+#: ../../source/features.rst:6
+msgid "Web servers are started locally on your computer and made accessible to other people as `Tor <https://www.torproject.org/>`_ `onion services <https://community.torproject.org/onion-services/>`_."
+msgstr ""
+"Verkkopalvelimet käynnistetään paikallisesti tietokoneeltaasi ja tehdään "
+"muiden ihmisten saataville `Tor <https://www.torproject.org/>`_ `-"
+"sipulipalveluina <https://community.torproject.org/onion-services/>`_."
+
+#: ../../source/features.rst:8
+msgid "By default, OnionShare web addresses are protected with a random password. A typical OnionShare address might look something like this::"
+msgstr ""
+"Oletuksena OnionShare-verkkoosoitteet ovat suojattuna satunnaisella "
+"salasanalla. Tyypillinen OnionShare-osoite voi näyttää suurinpiirtein tältä::"
+
+#: ../../source/features.rst:12
+msgid "You're responsible for securely sharing that URL using a communication channel of your choice like in an encrypted chat message, or using something less secure like unencrypted e-mail, depending on your `threat model <https://ssd.eff.org/module/your-security-plan>`_."
+msgstr ""
+"Olet vastuussa siitä, että jaat osoitelinkin turvallisesti käyttämällä "
+"yhteydenpitokanavana valitsemaasi kryptattua chat-viestiä, tai käyttämällä "
+"vähemmän turvallista kuten salaamatonta sähköpostia, riippuen minkälainen "
+"uhkamalli sinulla on <https://ssd.eff.org/module/your-security-plan>`_."
+
+#: ../../source/features.rst:14
+msgid "The people you send the URL to then copy and paste it into their `Tor Browser <https://www.torproject.org/>`_ to access the OnionShare service."
+msgstr ""
+"Ihmiset, joille lähetät osoitelinkin, kopioivat kyseisen linkin ja liittävät "
+"sen heidän omaan Tor-selaimeen <https://www.torproject.org/>`_ päästäkseen "
+"OnionSharen palveluun."
+
+#: ../../source/features.rst:16
+msgid "If you run OnionShare on your laptop to send someone files, and then suspend it before the files are sent, the service will not be available until your laptop is unsuspended and on the Internet again. OnionShare works best when working with people in real-time."
+msgstr ""
+"Jos käytät OnionSharea kannettavalla tietokoneellasi lähettääksesi toiselle "
+"tiedostoja, ja sitten asetat sen lepotilaan ennen kuin tiedosto on lähetetty "
+"perille, palvelu ei ole saatavilla ennen kuin tietokoneesi on herätetty ja "
+"jälleen verkkoyhteydessä. OnionShare toimii parhaiten, kun toimitaan "
+"reaaliaikaisesti ihmisten kanssa."
+
+#: ../../source/features.rst:18
+msgid "Because your own computer is the web server, *no third party can access anything that happens in OnionShare*, not even the developers of OnionShare. It's completely private. And because OnionShare is based on Tor onion services too, it also protects your anonymity. See the :doc:`security design </security>` for more info."
+msgstr ""
+"Koska sinun tietokoneesi on verkkopalvelin, *kukaan kolmas osapuoli ei voi "
+"päästä käsiksi mihinkään mitä tapahtuu OnionSharessa*, ei edes OnionSharen "
+"kehittäjät. Se on täysin yksityinen. Ja koska OnionShare perustuu Tor-"
+"sipulipalveluihin, se myös suojaa sinun anonyymiyttä. Katso :doc:`security "
+"design </security>` lukeaksesi lisää."
+
+#: ../../source/features.rst:21
+msgid "Share Files"
+msgstr "Jaa tiedostoja"
+
+#: ../../source/features.rst:23
+msgid "You can use OnionShare to send files and folders to people securely and anonymously. Open a share tab, drag in the files and folders you wish to share, and click \"Start sharing\"."
+msgstr ""
+"Voit käyttää OnionSharea jakaaksesi tiedostoja ja kansioita ihmisille "
+"turvallisesti ja anonyymisti. Avaa jaettu välilehti ja raahaa tähän "
+"tiedostot ja kansiot, jotka haluat jakaa. Paina lopuksi \"Aloita jakaminen\"."
+
+#: ../../source/features.rst:27
+#: ../../source/features.rst:104
+msgid "After you add files, you'll see some settings. Make sure you choose the setting you're interested in before you start sharing."
+msgstr ""
+"Kun olet lisännyt tiedostot, näet joitain asetuksia. Varmista, että valitset "
+"sinulle sopivat asetukset ennen kuin aloitat jakamisen."
+
+#: ../../source/features.rst:31
+msgid "As soon as someone finishes downloading your files, OnionShare will automatically stop the server, removing the website from the Internet. To allow multiple people to download them, uncheck the \"Stop sharing after files have been sent (uncheck to allow downloading individual files)\" box."
+msgstr ""
+"Heti, kun joku vastaanottaa onnistuneesti lähettämäsi tiedoston, OnionShare "
+"automaattisesti pysäyttää palvelimen poistaen samalla verkkosivun "
+"internetistä. Salliaksesi useammalle ihmisille oikeuden ladata ne, raksita "
+"pois vaihtoehto \"Pysäytä jakaminen, kun tiedostot on lähetetty (raksita "
+"pois salliaksesi yksittäisten tiedostojen lataaminen)\"."
+
+#: ../../source/features.rst:34
+msgid "Also, if you uncheck this box, people will be able to download the individual files you share rather than a single compressed version of all the files."
+msgstr ""
+"Lisäksi, jos raksitat pois tämän vaihtoehdon, ihmiset voivat tallentaa "
+"yksittäisiä jakamiasi tiedostoja sen sijaan, että tallenttaisivat yhden "
+"pakatun version kaikista tiedostoista."
+
+#: ../../source/features.rst:36
+msgid "When you're ready to share, click the \"Start sharing\" button. You can always click \"Stop sharing\", or quit OnionShare, immediately taking the website down. You can also click the \"↑\" icon in the top-right corner to show the history and progress of people downloading files from you."
+msgstr ""
+"Kun olet valmis jakamaan, klikkaa \"Aloita jakaminen\" -nappia. Voit aina "
+"klikata \"Pysäytä jakaminen\", tai sulkea OnionSharen, mikä välittömästi "
+"sulkee verkkosivun. Voit myös klikata \"↑\"-ylänuolikuvaketta oikeasta "
+"ylänurkasta katsoaksesi historiaa ja lähettämiesi tiedostojen edistymistä."
+
+#: ../../source/features.rst:40
+msgid "Now that you have a OnionShare, copy the address and send it to the person you want to receive the files. If the files need to stay secure, or the person is otherwise exposed to danger, use an encrypted messaging app."
+msgstr ""
+"Nyt, kun sinulla on OnionShare, kopioi osoite ja lähetä ihmiselle, jonka "
+"haluat vastaanottavan tiedostojasi. Jos tiedostojen tulee pysyä turvassa, "
+"tai ihminen on jostain syystä vaarassa, käytä kryptattua viestintäsovellusta."
+
+#: ../../source/features.rst:42
+msgid "That person then must load the address in Tor Browser. After logging in with the random password included in the web address, the files can be downloaded directly from your computer by clicking the \"Download Files\" link in the corner."
+msgstr ""
+"Tämän ihmisen tulee sitten ladata osoite Tor-selaimeen. Kun on kirjautunut "
+"sisään verkko-osoitteeseen satunnaisesti generoidulla salasanalla, tiedostot "
+"voidaan tallentaa suoraan tietokoneeltasi klikkaamalla \"Tallenna tiedostot\""
+" -nappia nurkasta."
+
+#: ../../source/features.rst:47
+msgid "Receive Files and Messages"
+msgstr "Vastaanota tiedostoja ja viestejä"
+
+#: ../../source/features.rst:49
+msgid "You can use OnionShare to let people anonymously submit files and messages directly to your computer, essentially turning it into an anonymous dropbox. Open a receive tab and choose the settings that you want."
+msgstr ""
+"Voit käyttää OnionSharea antaaksesi ihmisten anonyymisti lähettää tiedostoja "
+"ja viestejä suoraan tietokoneelleesi, tekemällä tietokoneestasi käytännössä "
+"anonyymin postilaatikon. Avaa vastaanottovälilehti ja valitse asetukset, "
+"jotka sopivat sinulle."
+
+#: ../../source/features.rst:54
+msgid "You can browse for a folder to save messages and files that get submitted."
+msgstr ""
+"Voit selata kansioita tallentaaksesi viestit ja tiedostot, jotka tulevat "
+"lisätyksi."
+
+#: ../../source/features.rst:56
+msgid "You can check \"Disable submitting text\" if want to only allow file uploads, and you can check \"Disable uploading files\" if you want to only allow submitting text messages, like for an anonymous contact form."
+msgstr ""
+"Voit tarkistaa \"Poista käytöstä tekstin syöttö\" -asetuksen, jos haluat "
+"sallia vain tiedostolatauksia, ja voit tarkistaa \"Poista käytöstä "
+"tiedostojen lataus\", jos haluat sallia vain tekstimuotoisia viestejä, esim. "
+"anonyymiä yhteydenottolomaketta varten."
+
+#: ../../source/features.rst:58
+msgid "You can check \"Use notification webhook\" and then choose a webhook URL if you want to be notified when someone submits files or messages to your OnionShare service. If you use this feature, OnionShare will make an HTTP POST request to this URL whenever someone submits files or messages. For example, if you want to get an encrypted text messaging on the messaging app `Keybase <https://keybase.io/>`_, you can start a conversation with `@webhookbot <https://keybase.io/webhookbot>`_, type ``!webhook create onionshare-alerts``, and it will respond with a URL. Use that as the notification webhook URL. If someone uploads a file to your receive mode service, @webhookbot will send you a message on Keybase letting you know as soon as it happens."
+msgstr ""
+"Voit raksittaa \"Käytä ilmoitusten verkkotoimintokutsua\" ja sen jälkeen "
+"valitse verkkotoimintokutsun URL, jos haluat ilmoituksen, kun joku lisää "
+"tiedostoja tai viestejä sinun OnionShare-palveluun. Jos käytät tätä "
+"ominaisuutta, OnionShare tekee HTTP POST -pyynnön tähän osoitelinkkiin aina, "
+"kun joku lisää tiedostoja tai viestejä. Esimerkiksi, jos haluat saada "
+"kryptatun tekstimuotoisen viestin viestintäsovelluksessa `Keybase "
+"<https://keybase.io/>`_, aloita keskustelu `@webhookbot <https://keybase.io/"
+"webhookbot>`_ kanssa, kirjoita ``!webhook create onionshare-alerts`, ja "
+"botti vastaa URL:lla. Käytä tätä ilmoitusten verkkotoimintokutsun "
+"osoitelinkkinä. Jos joku lähettää tiedoston sinun vastaanottopalveluun, @"
+"webhookbot lähettää sinulle viestin Keybasessa niin pian kuin mahdollista."
+
+#: ../../source/features.rst:63
+msgid "When you are ready, click \"Start Receive Mode\". This starts the OnionShare service. Anyone loading this address in their Tor Browser will be able to submit files and messages which get uploaded to your computer."
+msgstr ""
+"Kun olet valmis, klikkaa \"Käynnistä vastaanottotila\". Tämä käynnistää "
+"OnionShare-palvelun. Kuka tahansa, joka lataa tämän osoitteen "
+"tietokoneelleen Tor-selaimella pystyy lisäämään tiedostoja ja viestejä, "
+"jotka ladataan tietokoneellesi."
+
+#: ../../source/features.rst:67
+msgid "You can also click the down \"↓\" icon in the top-right corner to show the history and progress of people sending files to you."
+msgstr ""
+"Voit myös klikata \"↓\" -alanuolikuvaketta yläoikeassa reunassa nähdäksesi "
+"historian ja vastaanottamiesi tiedostojen edistymisen."
+
+#: ../../source/features.rst:69
+msgid "Here is what it looks like for someone sending you files and messages."
+msgstr ""
+"Tältä näyttää toiselle, kun hän lähettää sinulle tiedostoja ja viestejä."
+
+#: ../../source/features.rst:73
+msgid "When someone submits files or messages to your receive service, by default they get saved to a folder called ``OnionShare`` in the home folder on your computer, automatically organized into separate subfolders based on the time that the files get uploaded."
+msgstr ""
+"Kun joku lisää tiedostoja ja viestejä sinun vastaanottopalveluun, oletuksena "
+"ne tallentaan kansioon nimeltä ``OnionShare``, joka sijaitsee tietokoneesi "
+"kotikansiossa. Kansio on automaattisesti jaoteltu erillisiin alakansioihin "
+"perustuen aikaan, jolloin tiedostot on ladattu."
+
+#: ../../source/features.rst:75
+msgid "Setting up an OnionShare receiving service is useful for journalists and others needing to securely accept documents from anonymous sources. When used in this way, OnionShare is sort of like a lightweight, simpler, not quite as secure version of `SecureDrop <https://securedrop.org/>`_, the whistleblower submission system."
+msgstr ""
+"OnionSharen vastaanottopalvelun käyttöönotto on hyödyllistä toimittajille ja "
+"muille, joiden tarvitsee turvallisesti käsitellä asiakirjoja anonyymeistä "
+"lähteistä. Tällä tavalla käytettynä OnionShare on ikään kuin kevyt, "
+"yksinkertaistettu, mutta ei niin turvallinen versio `SecureDrop "
+"<https://securedrop.org/>`_ -paljastustentekopalvelusta."
+
+#: ../../source/features.rst:78
+msgid "Use at your own risk"
+msgstr "Käytä omalla vastuullasi"
+
+#: ../../source/features.rst:80
+msgid "Just like with malicious e-mail attachments, it's possible someone could try to attack your computer by uploading a malicious file to your OnionShare service. OnionShare does not add any safety mechanisms to protect your system from malicious files."
+msgstr ""
+"Aivan kuten sähköpostiin tulevien haitallisten liitetiedostojen kanssa "
+"tapahtuu, on myös mahdollista, että joku yrittää hyökätä tietokoneellesi "
+"lataamalla haitallisen tiedoston sinun OnionShare-palveluun. OnionShare ei "
+"tarjoa mitään turvallisuusmekanismia suojatakseen sinun järjestelmääsi "
+"haitallisilta tiedostoilta."
+
+#: ../../source/features.rst:82
+msgid "If you receive an Office document or a PDF through OnionShare, you can convert these documents into PDFs that are safe to open using `Dangerzone <https://dangerzone.rocks/>`_. You can also protect yourself when opening untrusted documents by opening them in `Tails <https://tails.boum.org/>`_ or in a `Qubes <https://qubes-os.org/>`_ disposableVM."
+msgstr ""
+"Jos vastaanotat Office-asiakirjan tai PDF-tiedoston OnionSharen kautta, voit "
+"muuntaa nämä asiakirjat PDF:ksi, jotka on turvallista avata käyttämällä `"
+"Dangerzonea <https://dangerzone.rocks/>`_. Voit myös suojata itseäsi, kun "
+"avaat ei-luotettuja asiakirjoja avaamalla ne `Tails <https://tails.boum.org/"
+">`_ tai `Qubes <https://qubes-os.org/>`_ -käyttöjärjestelmissä, jotka on "
+"lisäksi eristetty kertakäyttöiseen virtuaalikoneeseen."
+
+#: ../../source/features.rst:84
+msgid "However, it is always safe to open text messages sent through OnionShare."
+msgstr ""
+"Kuitenkin on aina turvallista avata tekstimuotoiset viestit OnionSharen "
+"kautta."
+
+#: ../../source/features.rst:87
+msgid "Tips for running a receive service"
+msgstr "Vinkkejä vastaanottopalvelun ylläpitoon"
+
+#: ../../source/features.rst:89
+msgid "If you want to host your own anonymous dropbox using OnionShare, it's recommended you do so on a separate, dedicated computer always powered on and connected to the Internet, and not on the one you use on a regular basis."
+msgstr ""
+"Jos haluat isännöidä OnionSharella omaa anonyymiä tiputuslaatikkoa "
+"tiedostoille, on suositeltavaa tehdä erillinen, dedikoitu tietokone, joka on "
+"aina päällä ja yhdistettynä internetiin. Sen ei tule olla sama laite, jota "
+"käytät päivittäin."
+
+#: ../../source/features.rst:91
+msgid "If you intend to put the OnionShare address on your website or social media profiles, save the tab (see :ref:`save_tabs`) and run it as a public service (see :ref:`turn_off_passwords`). It's also a good idea to give it a custom title (see :ref:`custom_titles`)."
+msgstr ""
+"Jos aiot laittaa OnionShare-osoitteen verkkosivullesi tai sosiaalisen median "
+"profiileihin, tallenna välilehti (see :ref:`save_tabs`) ja ylläpidä sitä "
+"julkisena palveluna (katso :ref:`turn_off_passwords`). On hyvä idea antaa "
+"sille räätälöity otsikko (see :ref:`custom_titles`)."
+
+#: ../../source/features.rst:94
+msgid "Host a Website"
+msgstr "Isännöi verkkosivua"
+
+#: ../../source/features.rst:96
+msgid "To host a static HTML website with OnionShare, open a website tab, drag the files and folders that make up the static content there, and click \"Start sharing\" when you are ready."
+msgstr ""
+"Isännöidäksesi HTML-verkkosivua OnionSharella, avaa verkkosivun välilehti ja "
+"raahaa sinne tiedostot ja kansiot, jotka luovat staattisen sisällön. Klikkaa "
+"lopuksi \"Aloita jakaminen\"."
+
+#: ../../source/features.rst:100
+msgid "If you add an ``index.html`` file, it will render when someone loads your website. You should also include any other HTML files, CSS files, JavaScript files, and images that make up the website. (Note that OnionShare only supports hosting *static* websites. It can't host websites that execute code or use databases. So you can't for example use WordPress.)"
+msgstr ""
+"Jos lisäät ``index.html``-tiedoston, se renderöityy, kun joku avaa "
+"verkkosivusi. Sinun tulisi sisällyttää mitä tahansa muita HTML-, CSS-, "
+"JavaScript- sekä kuvatiedostoja, jotka luovat verkkosivun. (Huomioi, että "
+"OnionShare tukee vain *staattisten* verkkosivujen isännöintiä. Se ei voi "
+"isännöidä verkkosivuja, jotka suorittavat koodia tai käyttävät tietokantoja. "
+"Näin ollen et voi käyttää esimerkiksi WordPressia.)"
+
+#: ../../source/features.rst:102
+msgid "If you don't have an ``index.html`` file, it will show a directory listing instead, and people loading it can look through the files and download them."
+msgstr ""
+"Jos sinulla ei ole ``index.html``-tiedostoa, sinulle näkyy sen sijaan "
+"tiedostolistaus, ja ihmiset sen ladatessaan voivat katsoa läpi, mitä "
+"tiedostoja he haluavat ladata."
+
+#: ../../source/features.rst:109
+msgid "Content Security Policy"
+msgstr "Sisältöä koskevat turvallisuuslinjaukset"
+
+#: ../../source/features.rst:111
+msgid "By default OnionShare helps secure your website by setting a strict `Content Security Police <https://en.wikipedia.org/wiki/Content_Security_Policy>`_ header. However, this prevents third-party content from loading inside the web page."
+msgstr ""
+"Oletuksena OnionShare auttaa turvaamaan sinun verkkosivusi asettamalla "
+"tiukan `sisältöä koskevan turvallisuuslinjauksen <https://en.wikipedia.org/"
+"wiki/Content_Security_Policy>`_ otsakkeen. Tämä kuitenkin estää kolmannen "
+"osapuolen sisältöä latautumista verkkosivun sisällä."
+
+#: ../../source/features.rst:113
+msgid "If you want to load content from third-party websites, like assets or JavaScript libraries from CDNs, check the \"Don't send Content Security Policy header (allows your website to use third-party resources)\" box before starting the service."
+msgstr ""
+"Jos haluat ladata sisältöä kolmannen osapuolen verkkosivuilta, kuten "
+"resursseja tai JavaScript-kirjastoja sisällönjakeluverkosta, raksita \"Älä "
+"lähetä sisältöä koskevaa turvallisuuslinjausotsaketta (sallii sinun "
+"verkkosivun käyttää kolmannen osapuolten resursseja)\" -ruutu ennen palvelun "
+"käynnistämistä."
+
+#: ../../source/features.rst:116
+msgid "Tips for running a website service"
+msgstr "Vinkkejä verkkosivupalvelun ylläpitoon"
+
+#: ../../source/features.rst:118
+msgid "If you want to host a long-term website using OnionShare (meaning not something to quickly show someone something), it's recommended you do it on a separate, dedicated computer always powered on and connected to the Internet, and not on the one you use on a regular basis. Save the tab (see :ref:`save_tabs`) so you can resume the website with the same address if you close OnionShare and re-open it later."
+msgstr ""
+"Jos haluat isännöidä pitkäaikaista verkkosivua käyttämällä OnionSharella ("
+"eli se ei tulee pikaiseen tarpeeseen), on suositeltua tehdä se erillisellä, "
+"dedikoidulla tietokoneella, jossa on aina virta päällä ja yhdistettynä "
+"internetiin. Lisäksi sen ei tulisi olla sama laite, jota käytät päivittäin. "
+"Tallenna välilehti (katso :ref:`save_tabs`), jotta voit palauttaa "
+"verkkosivun samassa osoitteessa, jos suljet OnionSharen ja avaat sen "
+"uudelleen myöhemmin."
+
+#: ../../source/features.rst:121
+msgid "If your website is intended for the public, you should run it as a public service (see :ref:`turn_off_passwords`)."
+msgstr ""
+"Jos verkkosivusi on tarkoitus olla avoin yleisölle, sinun tulisi suorittaa "
+"sitä julkisena palveluna (see :ref:`turn_off_passwords`)."
+
+#: ../../source/features.rst:124
+msgid "Chat Anonymously"
+msgstr "Viesti anonyymisti"
+
+#: ../../source/features.rst:126
+msgid "You can use OnionShare to set up a private, secure chat room that doesn't log anything. Just open a chat tab and click \"Start chat server\"."
+msgstr ""
+"Voit käyttää OnionSharea perustaaksesi yksityisen ja turvallisen "
+"keskusteluhuoneen, joka ei pidä lokia mistään. Avaa vain keskusteluvälilehti "
+"ja klikkaa \"Aloita chatpalvelu\"."
+
+#: ../../source/features.rst:130
+msgid "After you start the server, copy the OnionShare address and send it to the people you want in the anonymous chat room. If it's important to limit exactly who can join, use an encrypted messaging app to send out the OnionShare address."
+msgstr ""
+"Kun olet käynnistänyt palvelimen, kopioi OnionShare-osoite ja lähetä se "
+"haluamillesi ihmisille anonyymissä keskusteluhuoneessa. Jos on tärkeää "
+"rajoittaa tarkasti kuka voi liittyä, käytä kryptattua viestintäsovellusta "
+"lähettääksesi OnionShare-osoitteen."
+
+#: ../../source/features.rst:135
+msgid "People can join the chat room by loading its OnionShare address in Tor Browser. The chat room requires JavasScript, so everyone who wants to participate must have their Tor Browser security level set to \"Standard\" or \"Safer\", instead of \"Safest\"."
+msgstr ""
+"Ihmiset voivat liittyä keskusteluhuoneeseen lataamalla sen OnionShare-"
+"osoitteen Tor-selaimeensa. Keskusteluhuone vaatii JavaScriptin, joten "
+"jokaisella liittyvällä täytyy olla Tor-selaimen turvallisuustaso säädettynä "
+"joko tasolle \"Standard\" tai \"Safet\". Ei tasolle \"Safest\"."
+
+#: ../../source/features.rst:138
+msgid "When someone joins the chat room they get assigned a random name. They can change their name by typing a new name in the box in the left panel and pressing ↵. Since the chat history isn't saved anywhere, it doesn't get displayed at all, even if others were already chatting in the room."
+msgstr ""
+"Kun joku liittyy keskusteluhuoneeseen, heille määritellään satunnainen nimi. "
+"He voivat muokata nimeään kirjoittamalla uuden nimen vasemmassa palkissa "
+"olevaan kenttään ja painamalla ↵. Koska keskusteluhistoriaa ei tallenneta "
+"mihinkään, sitä ei näytetä lainkaan, vaikka jotkut muut olisivat valmiiksi "
+"keskustelemassa huoneessa."
+
+#: ../../source/features.rst:144
+msgid "In an OnionShare chat room, everyone is anonymous. Anyone can change their name to anything, and there is no way to confirm anyone's identity."
+msgstr ""
+"OnionSharen keskusteluhuoneessa jokainen on anonyymi. Kuka tahansa voi "
+"muuttaa nimeään miksi tahansa, eikä kellään ole mahdollisuutta varmistaa "
+"kenenkään toisen identiteettiä."
+
+#: ../../source/features.rst:147
+msgid "However, if you create an OnionShare chat room and securely send the address only to a small group of trusted friends using encrypted messages, you can be reasonably confident the people joining the chat room are your friends."
+msgstr ""
+"Kuitenkin, jos luot OnionShare-keskusteluhuoneen ja turvallisesti lähetät "
+"osoitteen vain pienelle ryhmälle luotettavia ystäviä kryptatun "
+"viestintäsovelluksen kautta, voit olla suhteellisen varma, että huoneeseen "
+"liittyvät henkilöt ovat tuntemiasi henkilöitä."
+
+#: ../../source/features.rst:150
+msgid "How is this useful?"
+msgstr "Mitä hyötyä tästä on?"
+
+#: ../../source/features.rst:152
+msgid "If you need to already be using an encrypted messaging app, what's the point of an OnionShare chat room to begin with? It leaves less traces."
+msgstr ""
+"Jos sinulla tulisi jo valmiiksi olla kryptattu viestintäsovellus, mikä idea "
+"OnionSharen keskusteluhuoneessa on ensinnäkään? Se jättää vähemmän jälkiä."
+
+#: ../../source/features.rst:154
+msgid "If you for example send a message to a Signal group, a copy of your message ends up on each device (the devices, and computers if they set up Signal Desktop) of each member of the group. Even if disappearing messages is turned on, it's hard to confirm all copies of the messages are actually deleted from all devices, and from any other places (like notifications databases) they may have been saved to. OnionShare chat rooms don't store any messages anywhere, so the problem is reduced to a minimum."
+msgstr ""
+"Jos sinä esimerkiksi lähetät viestin Signa-ryhmään, kopio viestistäsi päätyy "
+"jokaisen ryhmän jäsenen jokaiseen laitteeseen (laitteet ja tietokoneet, jos "
+"heillä on käytössä Signal Desktop). Vaikka katoavat viestit olisi otettu "
+"käyttöön, on vaikea varmistaa, että kaikki kopiot on varmasti poistettu "
+"kaikilta laitteilta, ja muista paikoista (kuten ilmoitustietokannoista), "
+"joihin tiedot on tallennettu. OnionShare-keskusteluhuoneet eivät säilö "
+"mitään viestejä minnekään, joten ongelma on rajattu minimiin."
+
+#: ../../source/features.rst:157
+msgid "OnionShare chat rooms can also be useful for people wanting to chat anonymously and securely with someone without needing to create any accounts. For example, a source can send an OnionShare address to a journalist using a disposable e-mail address, and then wait for the journalist to join the chat room, all without compromosing their anonymity."
+msgstr ""
+"OnionShare-keskusteluhuoneet voivat olla hyödyllisiä myös ihmisille, jotka "
+"haluavat viestiä anonyymisti ja turvallisesti toisten kanssa ilman "
+"käyttäjätunnusten tekoa. Esimerkiksi, tietolähde voi lähettää OnionShare-"
+"osoitteen toimittajalle käyttämällä kertakäyttöistä sähköpostiosoitetta ja "
+"sen jälkeen odottaa toimittajaa keskusteluryhmään. Kaikki tämä ilman, että "
+"kenenkään anonyymiys on uhattuna."
+
+#: ../../source/features.rst:161
+msgid "How does the encryption work?"
+msgstr "Kuinka kryptaaminen toimii?"
+
+#: ../../source/features.rst:163
+msgid "Because OnionShare relies on Tor onion services, connections between the Tor Browser and OnionShare are all end-to-end encrypted (E2EE). When someone posts a message to an OnionShare chat room, they send it to the server through the E2EE onion connection, which then sends it to all other members of the chat room using WebSockets, through their E2EE onion connections."
+msgstr ""
+"Koska OnionShare perustuu Tor-sipulipalveluihin, yhteydet Tor-selaimen ja "
+"OnionSharen välillä ovat päästä päähän salattuja (E2EE). Kun joku julkaisee "
+"viestin OnionSharen keskusteluhuoneessa, ne lähettävät sen palvelimelle E2EE-"
+"sipuliyhteyden läpi, mikä sitten lähettää sen kaikille muille huoneen "
+"jäsenille käyttäen WebSocketeja, edelleen heidän E2EE-sipuliyhteyksien läpi."
+
+#: ../../source/features.rst:165
+msgid "OnionShare doesn't implement any chat encryption on its own. It relies on the Tor onion service's encryption instead."
+msgstr ""
+"OnionShare ei itse toteuta minkäänmuotoista viestikryptausta. OnionShare "
+"perustuu pelkästään Tor-sipulipalveluiden kryptaukseen."
diff --git a/docs/source/locale/fi/LC_MESSAGES/help.po b/docs/source/locale/fi/LC_MESSAGES/help.po
new file mode 100644
index 00000000..d86b46db
--- /dev/null
+++ b/docs/source/locale/fi/LC_MESSAGES/help.po
@@ -0,0 +1,67 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) Micah Lee, et al.
+# This file is distributed under the same license as the OnionShare package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OnionShare 2.3.2\n"
+"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
+"POT-Creation-Date: 2021-05-31 10:12-0700\n"
+"PO-Revision-Date: 2021-08-24 17:33+0000\n"
+"Last-Translator: Kaantaja <ufdbvgoljrjkrkyyub@ianvvn.com>\n"
+"Language-Team: none\n"
+"Language: fi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.8.1-dev\n"
+
+#: ../../source/help.rst:2
+msgid "Getting Help"
+msgstr "Pyydä apua"
+
+#: ../../source/help.rst:5
+msgid "Read This Website"
+msgstr "Lue tämä verkkosivu"
+
+#: ../../source/help.rst:7
+msgid "You will find instructions on how to use OnionShare. Look through all of the sections first to see if anything answers your questions."
+msgstr ""
+"Löydät ohjeet OnionSharen käyttämiseen. Katso ensin kaikki osiot läpi, "
+"löydätkö vastauksen kysymykseesi."
+
+#: ../../source/help.rst:10
+msgid "Check the GitHub Issues"
+msgstr "Katso ilmoitukset GitHubista"
+
+#: ../../source/help.rst:12
+msgid "If it isn't on the website, please check the `GitHub issues <https://github.com/micahflee/onionshare/issues>`_. It's possible someone else has encountered the same problem and either raised it with the developers, or maybe even posted a solution."
+msgstr ""
+"Jos sitä ei ollut verkkosivuilla, katso sivu `GitHub issues <https://github."
+"com/micahflee/onionshare/issues>`_. On mahdollista, että joku toinen on "
+"kohdannut saman ongelman ja vienyt sen kehittäjille, tai jopa löytänyt "
+"ratkaisun siihen."
+
+#: ../../source/help.rst:15
+msgid "Submit an Issue Yourself"
+msgstr "Ilmoita ongelmasta"
+
+#: ../../source/help.rst:17
+msgid "If you are unable to find a solution, or wish to ask a question or suggest a new feature, please `submit an issue <https://github.com/micahflee/onionshare/issues/new>`_. This requires `creating a GitHub account <https://help.github.com/articles/signing-up-for-a-new-github-account/>`_."
+msgstr ""
+"Jos et löydä ratkaisua, tai haluat kysyä kysymyksen tai ehdottaa uutta "
+"ominaisuutta, `ilmoita ongelmasta <https://github.com/micahflee/onionshare/"
+"issues/new>`_. Tämä vaatii `GitHub-tilin luonnin <https://help.github.com/"
+"articles/signing-up-for-a-new-github-account/>`_."
+
+#: ../../source/help.rst:20
+msgid "Join our Keybase Team"
+msgstr "Liity meidän Keybase-tiimiin"
+
+#: ../../source/help.rst:22
+msgid "See :ref:`collaborating` on how to join the Keybase team used to discuss the project."
+msgstr ""
+"Katso :ref:`collaborating`kuinka liityt Keybase-tiimiin keskustellaksesi "
+"projektista."
diff --git a/docs/source/locale/fi/LC_MESSAGES/index.po b/docs/source/locale/fi/LC_MESSAGES/index.po
new file mode 100644
index 00000000..5c107e24
--- /dev/null
+++ b/docs/source/locale/fi/LC_MESSAGES/index.po
@@ -0,0 +1,30 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) Micah Lee, et al.
+# This file is distributed under the same license as the OnionShare package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OnionShare 2.3.2\n"
+"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
+"POT-Creation-Date: 2021-05-31 10:12-0700\n"
+"PO-Revision-Date: 2021-08-24 17:33+0000\n"
+"Last-Translator: Kaantaja <ufdbvgoljrjkrkyyub@ianvvn.com>\n"
+"Language-Team: none\n"
+"Language: fi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.8.1-dev\n"
+
+#: ../../source/index.rst:2
+msgid "OnionShare's documentation"
+msgstr "OnionSharen dokumentaatio"
+
+#: ../../source/index.rst:6
+msgid "OnionShare is an open source tool that lets you securely and anonymously share files, host websites, and chat with friends using the Tor network."
+msgstr ""
+"OnionShare on avoimen koodin työkalu, joka antaa sinun turvallisesti ja "
+"anonyymisti jakaa tiedostoja, isännöidä verkkosivuja, ja keskustella "
+"kaveriesi kanssa Tor-verkossa."
diff --git a/docs/source/locale/fi/LC_MESSAGES/install.po b/docs/source/locale/fi/LC_MESSAGES/install.po
new file mode 100644
index 00000000..cf821c16
--- /dev/null
+++ b/docs/source/locale/fi/LC_MESSAGES/install.po
@@ -0,0 +1,151 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) Micah Lee, et al.
+# This file is distributed under the same license as the OnionShare package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OnionShare 2.3.2\n"
+"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
+"POT-Creation-Date: 2021-05-31 10:12-0700\n"
+"PO-Revision-Date: 2021-08-24 17:33+0000\n"
+"Last-Translator: Kaantaja <ufdbvgoljrjkrkyyub@ianvvn.com>\n"
+"Language-Team: none\n"
+"Language: fi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.8.1-dev\n"
+
+#: ../../source/install.rst:2
+msgid "Installation"
+msgstr "Asennus"
+
+#: ../../source/install.rst:5
+msgid "Windows or macOS"
+msgstr "Windows tai macOS"
+
+#: ../../source/install.rst:7
+msgid "You can download OnionShare for Windows and macOS from the `OnionShare website <https://onionshare.org/>`_."
+msgstr ""
+"Voit ladata OnionSharen Windowsille ja macOS:lle `OnionSharen verkkosivuilta "
+"<https://onionshare.org/>`_."
+
+#: ../../source/install.rst:12
+msgid "Install in Linux"
+msgstr "Asenna Linuxille"
+
+#: ../../source/install.rst:14
+msgid "There are various ways to install OnionShare for Linux, but the recommended way is to use either the `Flatpak <https://flatpak.org/>`_ or the `Snap <https://snapcraft.io/>`_ package. Flatpak and Snap ensure that you'll always use the newest version and run OnionShare inside of a sandbox."
+msgstr ""
+"On erilaisia tapoja asentaa OnionShare Linuxille, mutta suositeltu tapa on "
+"käyttää joko `Flatpak <https://flatpak.org/>`_ tai `Snap <https://snapcraft."
+"io/>`_ -pakettia. Flatpak ja Snap varmistavat, että sinä aina käytät uusinta "
+"versiota ja OnionShare toimii eristetyssä tilassa (sandbox)."
+
+#: ../../source/install.rst:17
+msgid "Snap support is built-in to Ubuntu and Fedora comes with Flatpak support, but which you use is up to you. Both work in all Linux distributions."
+msgstr ""
+"Snap-tuki on sisäänrakennettu Ubuntuun ja Fedora tulee Flatpak-tuella, mutta "
+"sinä päätät kumpaa käytät. Kummatkin toimivat kaikissa Linux-jakeluissa."
+
+#: ../../source/install.rst:19
+msgid "**Install OnionShare using Flatpak**: https://flathub.org/apps/details/org.onionshare.OnionShare"
+msgstr ""
+"**Asenna OnionShare käyttämällä Flatpakia**: https://flathub.org/apps/"
+"details/org.onionshare.OnionShare"
+
+#: ../../source/install.rst:21
+msgid "**Install OnionShare using Snap**: https://snapcraft.io/onionshare"
+msgstr ""
+"**Asenna OnionShare käyttämällä Snapia**: https://snapcraft.io/onionshare"
+
+#: ../../source/install.rst:23
+msgid "You can also download and install PGP-signed ``.flatpak`` or ``.snap`` packages from https://onionshare.org/dist/ if you prefer."
+msgstr ""
+"Voit myös ladata ja asentaa PGP-allekirjoitetun ``.flatpak`` or ``.snap`` "
+"paketin sivulta https://onionshare.org/dist/ jos niin haluat."
+
+#: ../../source/install.rst:28
+msgid "Verifying PGP signatures"
+msgstr "Varmistetaan PGP-allekirjoituksia"
+
+#: ../../source/install.rst:30
+msgid "You can verify that the package you download is legitimate and hasn't been tampered with by verifying its PGP signature. For Windows and macOS, this step is optional and provides defense in depth: the OnionShare binaries include operating system-specific signatures, and you can just rely on those alone if you'd like."
+msgstr ""
+"PGP-allekirjoituksen tarkistuksella voit varmistaa, että lataamasi paketti "
+"on oikea eikä sitä ole manipuloitu. Windowsille ja macOS:lle tämä vaihe on "
+"vapaaehtoinen ja tarjoaa lisäturvallisuutta: OnionShare binäärit sisältävät "
+"käyttöjärjestelmäkohtaiset allekirjoitukset ja voit luottaa halutessasi "
+"ainoastaan niihin."
+
+#: ../../source/install.rst:34
+msgid "Signing key"
+msgstr "Allekirjoitusavain"
+
+#: ../../source/install.rst:36
+msgid "Packages are signed by Micah Lee, the core developer, using his PGP public key with fingerprint ``927F419D7EC82C2F149C1BD1403C2657CD994F73``. You can download Micah's key `from the keys.openpgp.org keyserver <https://keys.openpgp.org/vks/v1/by-fingerprint/927F419D7EC82C2F149C1BD1403C2657CD994F73>`_."
+msgstr ""
+"Paketit on allekirjoittanut pääkehittäjä Micah Lee käyttämällä hänen "
+"julkista PGP-avaintaan sormenjäljellä "
+"``927F419D7EC82C2F149C1BD1403C2657CD994F73``. Voit tallentaa Micah'n avaimen "
+"`keys.openpgp.org -avainpalvelimelta <https://keys.openpgp.org/vks/v1/"
+"by-fingerprint/927F419D7EC82C2F149C1BD1403C2657CD994F73>`_."
+
+#: ../../source/install.rst:38
+msgid "You must have GnuPG installed to verify signatures. For macOS you probably want `GPGTools <https://gpgtools.org/>`_, and for Windows you probably want `Gpg4win <https://www.gpg4win.org/>`_."
+msgstr ""
+"Sinulla tulee olla GnuPG asennettuna varmentaaksesi allekirjoitukset. MacOS:"
+"lle haluat luultavasti `GPGTools -sovelluksen <https://gpgtools.org/>`__, ja "
+"Windowsille luultavasti haluat`Gpg4win -sovelluksen <https://www.gpg4win.org/"
+">`_."
+
+#: ../../source/install.rst:41
+msgid "Signatures"
+msgstr "Allekirjoitukset"
+
+#: ../../source/install.rst:43
+msgid "You can find the signatures (as ``.asc`` files), as well as Windows, macOS, Flatpak, Snap, and source packages, at https://onionshare.org/dist/ in the folders named for each version of OnionShare. You can also find them on the `GitHub Releases page <https://github.com/micahflee/onionshare/releases>`_."
+msgstr ""
+"Löydät allekirjoitukset (``.asc``-tiedostoina), kuten myös WIndows-, macOS-, "
+"Flatpak-, Snap- ja muut lähdepaketit osoitteesta https://onionshare.org/dist/"
+" ja sieltä kunkin OnionShare-version mukaan nimetystä kansiosta. Löydät ne "
+"myös `GitHubin julkaisusivulta <https://github.com/micahflee/onionshare/"
+"releases>`_."
+
+#: ../../source/install.rst:47
+msgid "Verifying"
+msgstr "Varmennetaan"
+
+#: ../../source/install.rst:49
+msgid "Once you have imported Micah's public key into your GnuPG keychain, downloaded the binary and and ``.asc`` signature, you can verify the binary for macOS in a terminal like this::"
+msgstr ""
+"Kun olet tuonut Micah'n julkisen avaimen sinun GnuPG-avainketjuun, "
+"tallentanut binäärit ja ``.asc`` -allekirjoituksen, voit varmentaa binäärit "
+"macOS:lle terminaalissa näin::"
+
+#: ../../source/install.rst:53
+msgid "Or for Windows, in a command-prompt like this::"
+msgstr "Tai WIndowsille, komentokehote näyttää tältä::"
+
+#: ../../source/install.rst:57
+msgid "The expected output looks like this::"
+msgstr "Odotettu lopputulos näyttää tältä::"
+
+#: ../../source/install.rst:69
+msgid "If you don't see 'Good signature from', there might be a problem with the integrity of the file (malicious or otherwise), and you should not install the package. (The \"WARNING:\" shown above, is not a problem with the package, it only means you haven't already defined any level of 'trust' of Micah's PGP key.)"
+msgstr ""
+"Jos et näe \"Hyvä allekirjoitus henkilöltä\", tiedoston eheydessä voi olla "
+"ongelmia (haitallista tai muuta), ja sinun ei tulisi asentaa pakettia. ("
+"\"VAROITUS\" ei ole ongelma itse paketin suhteen, vaan se tarkoittaa "
+"ainoastaan, ettet ole määritellyt \"luottamuksen\" tasoa Micah'n PGP-avaimen "
+"suhteen.)"
+
+#: ../../source/install.rst:71
+msgid "If you want to learn more about verifying PGP signatures, the guides for `Qubes OS <https://www.qubes-os.org/security/verifying-signatures/>`_ and the `Tor Project <https://support.torproject.org/tbb/how-to-verify-signature/>`_ may be useful."
+msgstr ""
+"Jos haluat opia enemmän PGP-allekirjoitusten varmentamisesta, ohjeet `Qubes "
+"OS:lle <https://www.qubes-os.org/security/verifying-signatures/>`_ ja `Tor "
+"Projectille <https://support.torproject.org/tbb/how-to-verify-signature/>`_ "
+"voivat olla hyödyllisiä."
diff --git a/docs/source/locale/fi/LC_MESSAGES/security.po b/docs/source/locale/fi/LC_MESSAGES/security.po
new file mode 100644
index 00000000..92cfff77
--- /dev/null
+++ b/docs/source/locale/fi/LC_MESSAGES/security.po
@@ -0,0 +1,106 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) Micah Lee, et al.
+# This file is distributed under the same license as the OnionShare package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OnionShare 2.3.2\n"
+"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
+"POT-Creation-Date: 2021-05-31 10:12-0700\n"
+"PO-Revision-Date: 2021-08-24 17:33+0000\n"
+"Last-Translator: Kaantaja <ufdbvgoljrjkrkyyub@ianvvn.com>\n"
+"Language-Team: none\n"
+"Language: fi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.8.1-dev\n"
+
+#: ../../source/security.rst:2
+msgid "Security Design"
+msgstr "Turvallisuussuunnittelu"
+
+#: ../../source/security.rst:4
+msgid "Read :ref:`how_it_works` first to get a handle on how OnionShare works."
+msgstr "Lue ensin :ref:`how_it_works`nähdäksesi miten OnionShare toimii."
+
+#: ../../source/security.rst:6
+msgid "Like all software, OnionShare may contain bugs or vulnerabilities."
+msgstr ""
+"Kuten kaikki ohjelmisto, OnionSharessa voi olla bugeja tai haavoittuvuuksia."
+
+#: ../../source/security.rst:9
+msgid "What OnionShare protects against"
+msgstr "Miltä OnionShare suojelee"
+
+#: ../../source/security.rst:11
+msgid "**Third parties don't have access to anything that happens in OnionShare.** Using OnionShare means hosting services directly on your computer. When sharing files with OnionShare, they are not uploaded to any server. If you make an OnionShare chat room, your computer acts as a server for that too. This avoids the traditional model of having to trust the computers of others."
+msgstr ""
+"**Kolmansilla osapuolilla ei ole pääsyä mihinkään mitä tapahtuu "
+"OnionSharessa.** OnionSharen käyttäminen tarkoittaa palveluiden isännöintiä "
+"suoraan tietokoneellasi. Kun OnionSharessa jaetaan tiedostoja, niitä ei "
+"ladata mihinkään palvelimelle. Jos teet OnionShare-keskusteluryhmän, "
+"tietokoneesi toimii samalla palvelimena sille. Tällä vältetään perinteistä "
+"mallia, jossa täytyy luottaa muiden tietokoneisiin."
+
+#: ../../source/security.rst:13
+msgid "**Network eavesdroppers can't spy on anything that happens in OnionShare in transit.** The connection between the Tor onion service and Tor Browser is end-to-end encrypted. This means network attackers can't eavesdrop on anything except encrypted Tor traffic. Even if an eavesdropper is a malicious rendezvous node used to connect the Tor Browser with OnionShare's onion service, the traffic is encrypted using the onion service's private key."
+msgstr ""
+"**Verkon salakuuntelijat eivät voi vakoilla mitään mikä tapahtuu "
+"OnionSharessa tiedonsiirron aikana.** Yhteys Tor-sipulipalvelun ja Tor-"
+"selaimen välillä on päästä päähän salattu. Tämä tarkoittaa, että "
+"verkkohyökkääjät eivät voi salakuunnella mitään paitsi salattua Tor-"
+"liikennettä. Vaikka salakuuntelija toimisi haitallisena Tor-solmuna, jota "
+"käytetään yhdistämisessä Tor-selaimeen OnionSharen sipulipalvelun kanssa, "
+"liikenne on kryptattu sipulipalvelun yksityisellä avaimella."
+
+#: ../../source/security.rst:15
+msgid "**Anonymity of OnionShare users are protected by Tor.** OnionShare and Tor Browser protect the anonymity of the users. As long as the OnionShare user anonymously communicates the OnionShare address with the Tor Browser users, the Tor Browser users and eavesdroppers can't learn the identity of the OnionShare user."
+msgstr ""
+"**OnionSharen käyttäjien anonyymiys on suojattu Torilla.** OnionShare ja Tor-"
+"selain suojaavat käyttäjien anonyymiyttä. Niin kauan, kun OnionShare-"
+"käyttäjä anonyymisti ottaa yhteyden OnionShare-osoitteeseen muiden Tor-"
+"selaimen käyttäjien kanssa, Tor-selaimen käyttäjät ja salakuuntelijat eivät "
+"voi tietää OnionShare-käyttäjän identiteettiä."
+
+#: ../../source/security.rst:17
+msgid "**If an attacker learns about the onion service, it still can't access anything.** Prior attacks against the Tor network to enumerate onion services allowed the attacker to discover private .onion addresses. If an attack discovers a private OnionShare address, a password will be prevent them from accessing it (unless the OnionShare user chooses to turn it off and make it public). The password is generated by choosing two random words from a list of 6800 words, making 6800², or about 46 million possible passwords. Only 20 wrong guesses can be made before OnionShare stops the server, preventing brute force attacks against the password."
+msgstr ""
+"**Jos hyökkääjä saa tietää sipulipalvelusta, se ei voi silti päästä käsiksi "
+"mihinkään.** Varhaisemmat hyökkäykset Tor-verkkoa vastaan sipulipalveluiden "
+"listaamiseksi mahdollisti hyökkääjän paljastaa yksityiset .onion -osoitteet. "
+"Jos hyökkääjä löytää yksityisen OnionShare-osoitteen, salasana tulee "
+"estämään niitä pääsemästä käsiksi siihen (paitsi jos OnionShare-käyttäjä "
+"ottaa salasanan pois käytöstä tehdäkseen siitä julkisen). Salasana luodaan "
+"valitsemalla kaksi satunnaista sanaa 6800 sanan luettelosta, mikä tarkoittaa "
+"6800² eli 46 miljoonaa erilaista salasanavaihtoehtoa. Vain 20 väärää "
+"arvausta sallitaan ennen kuin OnionShare pysäyttää palvelimen estäen brute "
+"force -hyökkäykset salasanan murtamiseksi."
+
+#: ../../source/security.rst:20
+msgid "What OnionShare doesn't protect against"
+msgstr "Miltä OnionShare ei suojaa"
+
+#: ../../source/security.rst:22
+msgid "**Communicating the OnionShare address might not be secure.** Communicating the OnionShare address to people is the responsibility of the OnionShare user. If sent insecurely (such as through an email message monitored by an attacker), an eavesdropper can tell that OnionShare is being used. If the eavesdropper loads the address in Tor Browser while the service is still up, they can access it. To avoid this, the address must be communicateed securely, via encrypted text message (probably with disappearing messages enabled), encrypted email, or in person. This isn't necessary when using OnionShare for something that isn't secret."
+msgstr ""
+"**Yhdistäminen OnionShare-osoitteeseen ei ole välttämättä turvallista.** "
+"OnionShare-käyttäjän vastuulla on yhteydenpito muihin ihmisiin OnionShare-"
+"osoitteen avulla. Jos lähetetty turvattomasti (kuten salakuunnellun "
+"sähköpostin kautta), vakoilija voi tietää, että OnionShare on käytössä. Jos "
+"vakoilija lataa osoitteen Tor-selaimeen palvelimen ollessa käynnissä, he "
+"voivat päästä käsiksi siihen. Välttääksesi tämän, osoite tulee jakaa "
+"turvallisesti, kryptattuna tekstiviestinä (mieluiten itsestään katoavana "
+"viestinä), kryptattuna sähköpostina tai kasvotusten. Tämä ei ole "
+"välttämätöntä, jos OnionSharea ei käytetä salaisia asioita varten."
+
+#: ../../source/security.rst:24
+msgid "**Communicating the OnionShare address might not be anonymous.** Extra precautions must be taken to ensure the OnionShare address is communicated anonymously. A new email or chat account, only accessed over Tor, can be used to share the address. This isn't necessary unless anonymity is a goal."
+msgstr ""
+"**Yhdistäminen OnionShare-osoitteeseen ei välttämättä ole anonyymiä.** "
+"Lisätoimenpiteitä tulee tehdä varmistuakseen, että OnionShare-osoitteeseen "
+"voidaan yhdistää anonyymisti. Uusi sähkposti- tai chat-tili, vain Tor-verkon "
+"kautta käytettynä, voidaan käyttää osoitteen jakamiseen. Tämä ei ole "
+"välttämätöntä, jos anonyymiys ei ole tavoitteena."
diff --git a/docs/source/locale/fi/LC_MESSAGES/sphinx.po b/docs/source/locale/fi/LC_MESSAGES/sphinx.po
new file mode 100644
index 00000000..01d4a7b1
--- /dev/null
+++ b/docs/source/locale/fi/LC_MESSAGES/sphinx.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) Micah Lee, et al.
+# This file is distributed under the same license as the OnionShare package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OnionShare 2.3.2\n"
+"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
+"POT-Creation-Date: 2021-05-31 10:12-0700\n"
+"PO-Revision-Date: 2021-08-24 17:33+0000\n"
+"Last-Translator: Kaantaja <ufdbvgoljrjkrkyyub@ianvvn.com>\n"
+"Language-Team: none\n"
+"Language: fi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.8.1-dev\n"
+
+#: ../../source/_templates/versions.html:10
+msgid "Versions"
+msgstr "Versiot"
+
+#: ../../source/_templates/versions.html:18
+msgid "Languages"
+msgstr "Kielet"
diff --git a/docs/source/locale/fi/LC_MESSAGES/tor.po b/docs/source/locale/fi/LC_MESSAGES/tor.po
new file mode 100644
index 00000000..19292e06
--- /dev/null
+++ b/docs/source/locale/fi/LC_MESSAGES/tor.po
@@ -0,0 +1,215 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) Micah Lee, et al.
+# This file is distributed under the same license as the OnionShare package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OnionShare 2.3.2\n"
+"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
+"POT-Creation-Date: 2021-05-31 10:12-0700\n"
+"PO-Revision-Date: 2021-08-25 18:33+0000\n"
+"Last-Translator: Kaantaja <ufdbvgoljrjkrkyyub@ianvvn.com>\n"
+"Language-Team: none\n"
+"Language: fi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.8.1-dev\n"
+
+#: ../../source/tor.rst:2
+msgid "Connecting to Tor"
+msgstr "Yhdistetään Toriin"
+
+#: ../../source/tor.rst:4
+msgid "Pick a way to connect OnionShare to Tor by clicking the \"⚙\" icon in the bottom right of the OnionShare window to get to its settings."
+msgstr ""
+"Valitse, kuinka OnionShare yhdistetään Toriin klikkaamalla \"⚙\" kuvaketta "
+"Onionshare-ikkunan oikeasta alareunasta."
+
+#: ../../source/tor.rst:9
+msgid "Use the ``tor`` bundled with OnionShare"
+msgstr "Käytä ``tor`` Onionsharen kanssa"
+
+#: ../../source/tor.rst:11
+msgid "This is the default, simplest and most reliable way that OnionShare connects to Tor. For this reason, it's recommended for most users."
+msgstr ""
+"Tämä on oletus, yksinkertaisin ja luotettavin tapa, jolla OnionShare "
+"yhdistää Tor-verkkoon. Tästä syystä se on suositeltu useimmille käyttäjille."
+
+#: ../../source/tor.rst:14
+msgid "When you open OnionShare, it launches an already configured ``tor`` process in the background for OnionShare to use. It doesn't interfere with other ``tor`` processes on your computer, so you can use the Tor Browser or the system ``tor`` on their own."
+msgstr ""
+"Kun avaat OnionSharen, se avaa valmiiksisäädetyn ``tor``-prosesin taustalla, "
+"jota OnionShare voi käyttää. Se ei häiritse muita ``tor``-prosesseja "
+"tietokoneellasi, joten voit käyttää Tor-selainta tai järjestelmän ``tor`` -"
+"sovellusta erikseen."
+
+#: ../../source/tor.rst:18
+msgid "Attempt auto-configuration with Tor Browser"
+msgstr "Yritä automaattista asetusten säätämistä Tor-selaimella"
+
+#: ../../source/tor.rst:20
+msgid "If you have `downloaded the Tor Browser <https://www.torproject.org>`_ and don't want two ``tor`` processes running, you can use the ``tor`` process from the Tor Browser. Keep in mind you need to keep Tor Browser open in the background while you're using OnionShare for this to work."
+msgstr ""
+"Jos olet `tallentanut Tor-selaimen <https://www.torproject.org>`_ etkä halua "
+"kahta ``tor``-prosessia taustalle, voit käyttää Tor-selaimen ``tor``-"
+"prosessia. Muista, että tällöin Tor-selaimen tulee pysyä auki taustalla, kun "
+"käytät OnionSharea."
+
+#: ../../source/tor.rst:24
+msgid "Using a system ``tor`` in Windows"
+msgstr "Järjestelmän ``tor``-prosessin käyttäminen Windowsissa"
+
+#: ../../source/tor.rst:26
+msgid "This is fairly advanced. You'll need to know how edit plaintext files and do stuff as an administrator."
+msgstr ""
+"Tämä on melko vaativaa. Sinun täytyy tietää kuinka muokata selkokielisiä "
+"tiedostoja ja kuinka tehdä ylläpitojuttuja."
+
+#: ../../source/tor.rst:28
+msgid "Download the Tor Windows Expert Bundle `from <https://www.torproject.org/download/tor/>`_. Extract the compressed file and copy the extracted folder to ``C:\\Program Files (x86)\\`` Rename the extracted folder with ``Data`` and ``Tor`` in it to ``tor-win32``."
+msgstr ""
+"Tallenna Tor Windows Expert Bundle `osoitteesta <https://www.torproject.org/"
+"download/tor/>`_. Pura pakattu tiedosto ja kopioi purettu kansio sijaintiin "
+"``C:\\Program Files (x86)\\``. Nimeä purettu kansio, jonka sisällä ovat myös "
+"``Data``ja `Tor``, muotoon ``tor-win32``."
+
+#: ../../source/tor.rst:32
+msgid "Make up a control port password. (Using 7 words in a sequence like ``comprised stumble rummage work avenging construct volatile`` is a good idea for a password.) Now open a command prompt (``cmd``) as an administrator, and use ``tor.exe --hash-password`` to generate a hash of your password. For example::"
+msgstr ""
+"Keksi kontrolliportin salasana. (Käyttämällä 7 sanaa järjestyksessä kuten ``"
+"murrettu kompastus penkominen työ kostaminen rakentaa räjähdysherkkä`` on "
+"hyvä idea salasanalle.) Nyt avaa komentokehote (``cmd``) ylläpitäjänä, ja "
+"käytä ``tor.exe --hash-password`` luodaksesi tiivisteen salasanastasi. "
+"Esimerkiksi::"
+
+#: ../../source/tor.rst:39
+msgid "The hashed password output is displayed after some warnings (which you can ignore). In the case of the above example, it is ``16:00322E903D96DE986058BB9ABDA91E010D7A863768635AC38E213FDBEF``."
+msgstr ""
+"Hashattu salasana näytetään joidenkin varoitusten jälkeen (jotka voit "
+"ohittaa). Ylläolevassa esimerkkitapauksessa se on "
+"``16:00322E903D96DE986058BB9ABDA91E010D7A863768635AC38E213FDBEF``."
+
+#: ../../source/tor.rst:41
+msgid "Now create a new text file at ``C:\\Program Files (x86)\\tor-win32\\torrc`` and put your hashed password output in it, replacing the ``HashedControlPassword`` with the one you just generated::"
+msgstr ""
+"Luo nyt uusi tekstitiedosto sijaintiin ``C:\\Program Files (x86)\\tor-"
+"win32\\torrc`` ja liitä hashattu salasanan sisältö tekstitiedostoon, "
+"korvaamalla ``HashedControlPassword`in sillä minkä juuri loit::"
+
+#: ../../source/tor.rst:46
+msgid "In your administrator command prompt, install ``tor`` as a service using the appropriate ``torrc`` file you just created (as described in `<https://2019.www.torproject.org/docs/faq.html.en#NTService>`_). Like this::"
+msgstr ""
+"Ylläpitäjänä suoritetussa komentokehotteessa: asenna ``tor``palveluna "
+"käyttämällä asiaankuuluvaa ``torrc``-tiedostoa, jonka juuri loit (kuten asia "
+"on kuvattu sivulla `<https://2019.www.torproject.org/docs/faq.html."
+"en#NTService>`_). Eli näin::"
+
+#: ../../source/tor.rst:50
+msgid "You are now running a system ``tor`` process in Windows!"
+msgstr "Suoritat nyt järjestelmän ``tor``-prosessia Windowsissa!"
+
+#: ../../source/tor.rst:52
+msgid "Open OnionShare and click the \"⚙\" icon in it. Under \"How should OnionShare connect to Tor?\" choose \"Connect using control port\", and set \"Control port\" to ``127.0.0.1`` and \"Port\" to ``9051``. Under \"Tor authentication settings\" choose \"Password\" and set the password to the control port password you picked above. Click the \"Test Connection to Tor\" button. If all goes well, you should see \"Connected to the Tor controller\"."
+msgstr ""
+"Avaa OnionShare ja klikkaa \"⚙\" kuvaketta. \"Kuinka OnionShare yhdistää "
+"Toriin?\" -tekstin alta valitse \"Yhdistä käyttämällä kontrolliporttia\", ja "
+"aseta \"Kontrolliportti\" kenttään ``127.0.0.1`` ja Portti-kenttään``9051``. "
+"\"Tor-tunnistautumisasetukset\"-vlaikon alta valitse \"Salasana\" ja aseta "
+"salasanaksi kontrolliportin salasana, jonkin valitsit aiemmin. Klikkaa "
+"\"Testaa yhteys Toriin\" -nappia. Jos kaikki menee hyvin, sinun tulisi nähdä "
+"\"Yhdistetty Tor-ohjaimeen\"."
+
+#: ../../source/tor.rst:61
+msgid "Using a system ``tor`` in macOS"
+msgstr "Järjestelmän ``tor``-prosessin käyttö macOS:ssa"
+
+#: ../../source/tor.rst:63
+msgid "First, install `Homebrew <https://brew.sh/>`_ if you don't already have it, and then install Tor::"
+msgstr ""
+"Aluksi, asenna `Homebrew <https://brew.sh/>`_ jos sinulla ei ole vielä ole "
+"sitä, ja asenna sitten Tor::"
+
+#: ../../source/tor.rst:67
+msgid "Now configure Tor to allow connections from OnionShare::"
+msgstr "Määritä nyt Tor sallimalla yhteydet OnionSharesta::"
+
+#: ../../source/tor.rst:74
+msgid "And start the system Tor service::"
+msgstr "Ja aloita järjestelmän Tor-palvelu::"
+
+#: ../../source/tor.rst:78
+msgid "Open OnionShare and click the \"⚙\" icon in it. Under \"How should OnionShare connect to Tor?\" choose \"Connect using socket file\", and set the socket file to be ``/usr/local/var/run/tor/control.socket``. Under \"Tor authentication settings\" choose \"No authentication, or cookie authentication\". Click the \"Test Connection to Tor\" button."
+msgstr ""
+"Avaa OnionShare ja klikkaa \"⚙\" kuvaketta. \"Kuinka OnionShare yhdistää "
+"Toriin?\" -tekstin alta valitse \"Yhdistä käyttämällä socket-tiedostoa\", ja "
+"aseta socket-tiedosto olemaan ``/usr/local/var/run/tor/control.socket``. "
+"\"Tor-tunnistautumisasetukset\"-valikon alta valitse \"Ei tunnistautumista, "
+"tai evästetunnistautumista\". Klikkaa \"Testaa yhteys Toriin\" -nappia."
+
+#: ../../source/tor.rst:84
+#: ../../source/tor.rst:104
+msgid "If all goes well, you should see \"Connected to the Tor controller\"."
+msgstr ""
+"Jos kaikki menee hyvin, sinun tulisi nähdä \"Yhdistetty Tor-ohjaimeen\"."
+
+#: ../../source/tor.rst:87
+msgid "Using a system ``tor`` in Linux"
+msgstr "Järjestelmän ``tor`` -prosessin käyttö Linuxilla"
+
+#: ../../source/tor.rst:89
+msgid "First, install the ``tor`` package. If you're using Debian, Ubuntu, or a similar Linux distro, It is recommended to use the Tor Project's `official repository <https://support.torproject.org/apt/tor-deb-repo/>`_."
+msgstr ""
+"Aluksi, asenna ``tor``-paketti. Jos käytät Debiania, Ubuntua tai näiden "
+"kaltaista Linux-jakelua, on suositeltua käyttää Tor Projectin virallista "
+"ohjelmavarastoa <https://support.torproject.org/apt/tor-deb-repo/>`_."
+
+#: ../../source/tor.rst:91
+msgid "Next, add your user to the group that runs the ``tor`` process (in the case of Debian and Ubuntu, ``debian-tor``) and configure OnionShare to connect to your system ``tor``'s control socket file."
+msgstr ""
+"Seuraavaksi lisää käyttäjäsi ryhmään, joka ylläpitää ``tor``-prosessia ("
+"Debianin ja Ubuntun tapauksessa, ``debian-tor``) ja määritä OnionShare "
+"yhdistämään järjestelmäsi``tor``in kontrolli-socket-tiedostoon."
+
+#: ../../source/tor.rst:93
+msgid "Add your user to the ``debian-tor`` group by running this command (replace ``username`` with your actual username)::"
+msgstr ""
+"Lisää käyttäjäsi ``debian-tor``-ryhmään suorittamalla tämä komento (korvaa "
+"``username``omalla oikealla käyttäjänimelläsi)::"
+
+#: ../../source/tor.rst:97
+msgid "Reboot your computer. After it boots up again, open OnionShare and click the \"⚙\" icon in it. Under \"How should OnionShare connect to Tor?\" choose \"Connect using socket file\". Set the socket file to be ``/var/run/tor/control``. Under \"Tor authentication settings\" choose \"No authentication, or cookie authentication\". Click the \"Test Connection to Tor\" button."
+msgstr ""
+"Uudelleenkäynnistä tietokoneesi. Kun tietokone on käynnistynyt, avaa "
+"OnionShare ja klikkaa \"⚙\"-kuvaketta. \"Kuinka OnionShare yhdistää Toriin?\""
+" -tekstin alta valitse \"Yhdistä käyttämällä socket-tiedostoa\". Aseta "
+"socket-tiedosto olemaan ``/var/run/tor/control``. \"Tor-"
+"tunnistautumisasetukset\"-valikon alta valitse \"Ei tunnistautumista, tai "
+"evästetunnistautumista\". Klikkaa \"Testaa yhteys Toriin\" -nappia."
+
+#: ../../source/tor.rst:107
+msgid "Using Tor bridges"
+msgstr "Tor-siltojen käyttäminen"
+
+#: ../../source/tor.rst:109
+msgid "If your access to the Internet is censored, you can configure OnionShare to connect to the Tor network using `Tor bridges <https://2019.www.torproject.org/docs/bridges.html.en>`_. If OnionShare connects to Tor without one, you don't need to use a bridge."
+msgstr ""
+"Jos yhteytesi internetiin on sensuroitu, voit määrittää OnionSharen "
+"yhdistymään Tor-verkkoon käyttämällä `Tor-siltoja <https://2019.www."
+"torproject.org/docs/bridges.html.en>`_. Jos OnionShare yhdistää Toriin ilman "
+"sellaista, sinun ei tarvitse käyttää siltaa."
+
+#: ../../source/tor.rst:111
+msgid "To configure bridges, click the \"⚙\" icon in OnionShare."
+msgstr "Määrittääksesi sillat klikkaa \"⚙\" kuvaketta OnionSharessa."
+
+#: ../../source/tor.rst:113
+msgid "You can use the built-in obfs4 pluggable transports, the built-in meek_lite (Azure) pluggable transports, or custom bridges, which you can obtain from Tor's `BridgeDB <https://bridges.torproject.org/>`_. If you need to use a bridge, try the built-in obfs4 ones first."
+msgstr ""
+"Voit käyttää sisäänrakennettua obfs4 plugattavia siirtoja, "
+"sisäänrakennettuja meek_lite (Azure) plugattavia siirtoja tai räätälöityjä "
+"siltoja, jotka sinä voit hankkia Torin `BridgeDB:sta <https://bridges."
+"torproject.org/>`_. Jos tarvitset siltaa, yritä sisäänrakennettua obfs4-"
+"vaihtoehtoa ensin."
diff --git a/docs/source/locale/hr/LC_MESSAGES/index.po b/docs/source/locale/hr/LC_MESSAGES/index.po
index 711a4da0..14def152 100644
--- a/docs/source/locale/hr/LC_MESSAGES/index.po
+++ b/docs/source/locale/hr/LC_MESSAGES/index.po
@@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
"POT-Creation-Date: 2020-09-03 11:46-0700\n"
-"PO-Revision-Date: 2020-12-17 19:29+0000\n"
+"PO-Revision-Date: 2021-07-27 13:32+0000\n"
"Last-Translator: Milo Ivir <mail@milotype.de>\n"
"Language-Team: none\n"
"Language: hr\n"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 4.4-dev\n"
+"X-Generator: Weblate 4.7.2-dev\n"
#: ../../source/index.rst:2
msgid "OnionShare's documentation"
@@ -27,5 +27,5 @@ msgstr "OnionShare dokumentacija"
msgid "OnionShare is an open source tool that lets you securely and anonymously share files, host websites, and chat with friends using the Tor network."
msgstr ""
"OnionShare je alat otvorenog koda koji omogućuje sigurno i anonimno "
-"dijeljenje datoteka, hosting za web-stranice te čavrljanje s prijateljima "
+"dijeljenje datoteka, hosting za web-stranice te razgovaranje s prijateljima "
"pomoću mreže Tor."
diff --git a/docs/source/locale/ru/LC_MESSAGES/develop.po b/docs/source/locale/ru/LC_MESSAGES/develop.po
index c7e09f76..9887fec3 100644
--- a/docs/source/locale/ru/LC_MESSAGES/develop.po
+++ b/docs/source/locale/ru/LC_MESSAGES/develop.po
@@ -7,17 +7,16 @@ msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
-"POT-Creation-Date: 2020-11-15 14:42-0800\n"
+"POT-Creation-Date: 2021-08-20 13:37-0700\n"
"PO-Revision-Date: 2021-04-01 18:26+0000\n"
"Last-Translator: Alexander Tarasenko <alexound.login@gmail.com>\n"
-"Language-Team: ru <LL@li.org>\n"
"Language: ru\n"
+"Language-Team: ru <LL@li.org>\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
+"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 4.6-dev\n"
"Generated-By: Babel 2.9.0\n"
#: ../../source/develop.rst:2
@@ -39,16 +38,16 @@ msgid ""
"<https://keybase.io/team/onionshare>`_. Within the app, go to \"Teams\", "
"click \"Join a Team\", and type \"onionshare\"."
msgstr ""
-"Существует открытая команда на платформе KeyBase, чтобы обсуждать проект в "
-"целом, задавать вопросы, делиться идеями и планами относительно последующей "
-"разработки OnionShare. (Так же, это лёгкий способ делиться зашифрованными "
-"сквозным шифрованием сообщениями с другими пользователями OnionShare, "
-"например, чтобы делиться адресами OnionShare). Для того, чтобы начать "
-"пользоваться Keybase, нужно загрузить приложение по ссылке `Keybase app "
-"<https://keybase.io/download>`_, создать учётную запись и `присоединиться к "
-"этой команде <https://keybase.io/team/onionshare>`_. Внутри самого "
-"приложения, нужно перейти в раздел \"Teams\", нажать кнопку \"Join a Team\" "
-"и ввести название \"onionshare\"."
+"Существует открытая команда на платформе KeyBase, чтобы обсуждать проект "
+"в целом, задавать вопросы, делиться идеями и планами относительно "
+"последующей разработки OnionShare. (Так же, это лёгкий способ делиться "
+"зашифрованными сквозным шифрованием сообщениями с другими пользователями "
+"OnionShare, например, чтобы делиться адресами OnionShare). Для того, "
+"чтобы начать пользоваться Keybase, нужно загрузить приложение по ссылке "
+"`Keybase app <https://keybase.io/download>`_, создать учётную запись и "
+"`присоединиться к этой команде <https://keybase.io/team/onionshare>`_. "
+"Внутри самого приложения, нужно перейти в раздел \"Teams\", нажать кнопку"
+" \"Join a Team\" и ввести название \"onionshare\"."
#: ../../source/develop.rst:12
msgid ""
@@ -56,34 +55,37 @@ msgid ""
"<https://lists.riseup.net/www/subscribe/onionshare-dev>`_ for developers "
"and and designers to discuss the project."
msgstr ""
-"У OnionShare также существует `почтовая рассылка <https://lists.riseup.net/"
-"www/subscribe/onionshare-dev>`_ для разработчиков и дизайнеров интерфейса."
+"У OnionShare также существует `почтовая рассылка "
+"<https://lists.riseup.net/www/subscribe/onionshare-dev>`_ для "
+"разработчиков и дизайнеров интерфейса."
#: ../../source/develop.rst:15
msgid "Contributing Code"
msgstr "Участие в программировании"
#: ../../source/develop.rst:17
+#, fuzzy
msgid ""
"OnionShare source code is to be found in this Git repository: "
-"https://github.com/micahflee/onionshare"
+"https://github.com/onionshare/onionshare"
msgstr ""
-"Исходный код OnionShare можно найти в репозитории Git: https://github.com/"
-"micahflee/onionshare"
+"Исходный код OnionShare можно найти в репозитории Git: "
+"https://github.com/micahflee/onionshare"
#: ../../source/develop.rst:19
+#, fuzzy
msgid ""
"If you'd like to contribute code to OnionShare, it helps to join the "
"Keybase team and ask questions about what you're thinking of working on. "
"You should also review all of the `open issues "
-"<https://github.com/micahflee/onionshare/issues>`_ on GitHub to see if "
+"<https://github.com/onionshare/onionshare/issues>`_ on GitHub to see if "
"there are any you'd like to tackle."
msgstr ""
-"Если Вы хотите написать код для OnionShare, рекомендуется присоединиться к "
-"команде OnionShare и задать несколько вопросов относительно планов своей "
-"работы. Так же рекомендуется просмотреть `открытые задачи <https://github."
-"com/micahflee/onionshare/issues>`_ на GitHub, возможно Вы сможете решить "
-"какую-то из них."
+"Если Вы хотите написать код для OnionShare, рекомендуется присоединиться "
+"к команде OnionShare и задать несколько вопросов относительно планов "
+"своей работы. Так же рекомендуется просмотреть `открытые задачи "
+"<https://github.com/micahflee/onionshare/issues>`_ на GitHub, возможно Вы"
+" сможете решить какую-то из них."
#: ../../source/develop.rst:22
msgid ""
@@ -92,9 +94,9 @@ msgid ""
" ask questions, request changes, reject it, or merge it into the project."
msgstr ""
"Когда Вы будете готовы поделиться кодом, создайте \"pull request\" в "
-"репозитории GitHub, после чего один из разработчиков сопровождающих проект "
-"просмотрит изменения, возможно, задаст какие-то вопросы, попросит что-то "
-"переделать, отклонит или интегрирует Ваш код в проект."
+"репозитории GitHub, после чего один из разработчиков сопровождающих "
+"проект просмотрит изменения, возможно, задаст какие-то вопросы, попросит "
+"что-то переделать, отклонит или интегрирует Ваш код в проект."
#: ../../source/develop.rst:27
msgid "Starting Development"
@@ -103,18 +105,12 @@ msgstr "Начало разработки"
#: ../../source/develop.rst:29
msgid ""
"OnionShare is developed in Python. To get started, clone the Git "
-"repository at https://github.com/micahflee/onionshare/ and then consult "
+"repository at https://github.com/onionshare/onionshare/ and then consult "
"the ``cli/README.md`` file to learn how to set up your development "
"environment for the command-line version, and the ``desktop/README.md`` "
"file to learn how to set up your development environment for the "
"graphical version."
msgstr ""
-"OnionShare написан на языке программирования Python. Для начала, нужно "
-"склонировать репозиторий Git расположенный по адресу https://github.com/"
-"micahflee/onionshare/. Файл ``cli/README.md``содержит информацию о том, как "
-"настроить рабочее окружение для разработки консольной версии, файл ``desktop/"
-"README.md``, соответственно, о том, что нужно дла разработки версии "
-"OnionShare с графическим интерфейсом."
#: ../../source/develop.rst:32
msgid ""
@@ -122,10 +118,10 @@ msgid ""
"install dependencies for your platform, and to run OnionShare from the "
"source tree."
msgstr ""
-"Эти файлы содержат инструкции и команды установки необходимых библиотек/"
-"зависимостей для платформы, на которой планируется разработка приложения, а "
-"так же рассказывают как запустить OnionShare с использованием файлов "
-"репозитория, без установки."
+"Эти файлы содержат инструкции и команды установки необходимых "
+"библиотек/зависимостей для платформы, на которой планируется разработка "
+"приложения, а так же рассказывают как запустить OnionShare с "
+"использованием файлов репозитория, без установки."
#: ../../source/develop.rst:35
msgid "Debugging tips"
@@ -144,13 +140,13 @@ msgid ""
"reloaded), and other debug info. For example::"
msgstr ""
"Во время разработки, для удобства рекомендуется запускать OnionShare при "
-"помщи терминала с добавлением флагов ``--verbose`` или ``-v``. В этом случае "
-"выводится много вспомогательных сообщений, например, о том, какие "
+"помщи терминала с добавлением флагов ``--verbose`` или ``-v``. В этом "
+"случае выводится много вспомогательных сообщений, например, о том, какие "
"инициализируются объекты, когда происходит какое-либо событие (нажатие "
"кнопки, сохраняются или загружаются настройки) и другая отладочная "
"информация. Например::"
-#: ../../source/develop.rst:117
+#: ../../source/develop.rst:121
msgid ""
"You can add your own debug messages by running the ``Common.log`` method "
"from ``onionshare/common.py``. For example::"
@@ -158,45 +154,45 @@ msgstr ""
"Можно добавить собственные отладочные сообщения, если запустить метод "
"``Common.log`` из ``onionshare/common.py``. Например::"
-#: ../../source/develop.rst:121
+#: ../../source/develop.rst:125
msgid ""
"This can be useful when learning the chain of events that occur when "
"using OnionShare, or the value of certain variables before and after they"
" are manipulated."
msgstr ""
"Это может быть полезно, например, во время изучения последовательности "
-"событий, происходящей во время использования OnionShare, или чтобы узнать "
-"значение определённых переменных до и после их использования."
+"событий, происходящей во время использования OnionShare, или чтобы узнать"
+" значение определённых переменных до и после их использования."
-#: ../../source/develop.rst:124
+#: ../../source/develop.rst:128
msgid "Local Only"
msgstr "Локальная Разработка"
-#: ../../source/develop.rst:126
+#: ../../source/develop.rst:130
msgid ""
"Tor is slow, and it's often convenient to skip starting onion services "
"altogether during development. You can do this with the ``--local-only`` "
"flag. For example::"
msgstr ""
-"Сеть Tor медленная, и часто может быть удобно полностью пропустить запуск "
-"onion сервисов во время разработки. Это можно сделать с использованием флага "
-"``--local-only``. Например::"
+"Сеть Tor медленная, и часто может быть удобно полностью пропустить запуск"
+" onion сервисов во время разработки. Это можно сделать с использованием "
+"флага ``--local-only``. Например::"
-#: ../../source/develop.rst:164
+#: ../../source/develop.rst:167
msgid ""
"In this case, you load the URL ``http://onionshare:train-"
"system@127.0.0.1:17635`` in a normal web-browser like Firefox, instead of"
" using the Tor Browser."
msgstr ""
-"В таком случае можно использовать URL ``http://onionshare:train-system@127.0."
-"0.1:17635`` в обычном веб-браузере, например, Firefox, вместо использования "
-"Tor Browser."
+"В таком случае можно использовать URL ``http://onionshare:train-"
+"system@127.0.0.1:17635`` в обычном веб-браузере, например, Firefox, "
+"вместо использования Tor Browser."
-#: ../../source/develop.rst:167
+#: ../../source/develop.rst:170
msgid "Contributing Translations"
msgstr "Участие в переводах"
-#: ../../source/develop.rst:169
+#: ../../source/develop.rst:172
msgid ""
"Help make OnionShare easier to use and more familiar and welcoming for "
"people by translating it on `Hosted Weblate "
@@ -205,22 +201,23 @@ msgid ""
"needed."
msgstr ""
"Помогите сделать OnionShare легче для использования, более приветливым и "
-"знакомым для людей при помощи платформы переводов на другие языки `Hosted "
-"Weblate <https://hosted.weblate.org/projects/onionshare/>`_. Всегда "
-"используйте латинские буквы при написании \"OnionShare\" и при необходимости "
-"добавляйте переведённое название в виде \"OnionShare (перевод)\"."
+"знакомым для людей при помощи платформы переводов на другие языки `Hosted"
+" Weblate <https://hosted.weblate.org/projects/onionshare/>`_. Всегда "
+"используйте латинские буквы при написании \"OnionShare\" и при "
+"необходимости добавляйте переведённое название в виде \"OnionShare "
+"(перевод)\"."
-#: ../../source/develop.rst:171
+#: ../../source/develop.rst:174
msgid "To help translate, make a Hosted Weblate account and start contributing."
msgstr ""
-"Чтобы начать заниматься переводом, нужно создать учётную запись на платформе "
-"Hosted Weblate."
+"Чтобы начать заниматься переводом, нужно создать учётную запись на "
+"платформе Hosted Weblate."
-#: ../../source/develop.rst:174
+#: ../../source/develop.rst:177
msgid "Suggestions for Original English Strings"
msgstr "Предложения по исходному английскому тексту"
-#: ../../source/develop.rst:176
+#: ../../source/develop.rst:179
msgid ""
"Sometimes the original English strings are wrong, or don't match between "
"the application and the documentation."
@@ -228,7 +225,7 @@ msgstr ""
"Иногда исходный текст на английском языке содержит ошибки, или работа "
"приложения не совпадает с документацией."
-#: ../../source/develop.rst:178
+#: ../../source/develop.rst:181
msgid ""
"File source string improvements by adding @kingu to your Weblate comment,"
" or open a GitHub issue or pull request. The latter ensures all upstream "
@@ -236,23 +233,23 @@ msgid ""
"the usual code review processes."
msgstr ""
"Чтобы прежложить изменения к исходному тексту, добавьте @kingu к своему "
-"комментарию на Weblate. Так же можно создать 'issue' или 'pull request' в "
-"проекте OnionShare на портале GitHub, это гарантирует, что основные "
+"комментарию на Weblate. Так же можно создать 'issue' или 'pull request' в"
+" проекте OnionShare на портале GitHub, это гарантирует, что основные "
"разработчики увидят предложение и, возможно, изменят исходный текст."
-#: ../../source/develop.rst:182
+#: ../../source/develop.rst:185
msgid "Status of Translations"
msgstr "Статус Переводов"
-#: ../../source/develop.rst:183
+#: ../../source/develop.rst:186
msgid ""
"Here is the current translation status. If you want start a translation "
"in a language not yet started, please write to the mailing list: "
"onionshare-dev@lists.riseup.net"
msgstr ""
-"Это текущий статус передов. Если Вы хотите начать делать перевод на языке, "
-"которого пока нет в списке доступных на Weblate, пожалуйста, напишите письмо "
-"на этот адрес: onionshare-dev@lists.riseup.net"
+"Это текущий статус передов. Если Вы хотите начать делать перевод на "
+"языке, которого пока нет в списке доступных на Weblate, пожалуйста, "
+"напишите письмо на этот адрес: onionshare-dev@lists.riseup.net"
#~ msgid ""
#~ "OnionShare is developed in Python. To"
@@ -469,3 +466,27 @@ msgstr ""
#~ msgid "Do the same for other untranslated lines."
#~ msgstr ""
+
+#~ msgid ""
+#~ "OnionShare is developed in Python. To"
+#~ " get started, clone the Git "
+#~ "repository at https://github.com/micahflee/onionshare/ "
+#~ "and then consult the ``cli/README.md`` "
+#~ "file to learn how to set up "
+#~ "your development environment for the "
+#~ "command-line version, and the "
+#~ "``desktop/README.md`` file to learn how "
+#~ "to set up your development environment"
+#~ " for the graphical version."
+#~ msgstr ""
+#~ "OnionShare написан на языке программирования"
+#~ " Python. Для начала, нужно склонировать "
+#~ "репозиторий Git расположенный по адресу "
+#~ "https://github.com/micahflee/onionshare/. Файл "
+#~ "``cli/README.md``содержит информацию о том, "
+#~ "как настроить рабочее окружение для "
+#~ "разработки консольной версии, файл "
+#~ "``desktop/README.md``, соответственно, о том, "
+#~ "что нужно дла разработки версии "
+#~ "OnionShare с графическим интерфейсом."
+
diff --git a/docs/source/locale/ru/LC_MESSAGES/help.po b/docs/source/locale/ru/LC_MESSAGES/help.po
index ca800915..d252bebd 100644
--- a/docs/source/locale/ru/LC_MESSAGES/help.po
+++ b/docs/source/locale/ru/LC_MESSAGES/help.po
@@ -7,17 +7,16 @@ msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
-"POT-Creation-Date: 2020-11-15 14:42-0800\n"
+"POT-Creation-Date: 2021-08-20 13:37-0700\n"
"PO-Revision-Date: 2021-04-01 18:26+0000\n"
"Last-Translator: Alexander Tarasenko <alexound.login@gmail.com>\n"
-"Language-Team: ru <LL@li.org>\n"
"Language: ru\n"
+"Language-Team: ru <LL@li.org>\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
+"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 4.6-dev\n"
"Generated-By: Babel 2.9.0\n"
#: ../../source/help.rst:2
@@ -42,16 +41,18 @@ msgid "Check the GitHub Issues"
msgstr "Проверьте раздел \"Issues\" на сайте Github"
#: ../../source/help.rst:12
+#, fuzzy
msgid ""
"If it isn't on the website, please check the `GitHub issues "
-"<https://github.com/micahflee/onionshare/issues>`_. It's possible someone"
-" else has encountered the same problem and either raised it with the "
-"developers, or maybe even posted a solution."
+"<https://github.com/onionshare/onionshare/issues>`_. It's possible "
+"someone else has encountered the same problem and either raised it with "
+"the developers, or maybe even posted a solution."
msgstr ""
-"Если решение проблемы отсутстует на данном вебсайте, пожалуйста, проверьте "
-"эту страницу: `GitHub issues <https://github.com/micahflee/onionshare/"
-"issues>`_. Возможно, кто-то еще столкнулся с аналогичной проблемой и сообщил "
-"об этом разработчикам приложения или даже поделился своим решением."
+"Если решение проблемы отсутстует на данном вебсайте, пожалуйста, "
+"проверьте эту страницу: `GitHub issues "
+"<https://github.com/micahflee/onionshare/issues>`_. Возможно, кто-то еще "
+"столкнулся с аналогичной проблемой и сообщил об этом разработчикам "
+"приложения или даже поделился своим решением."
#: ../../source/help.rst:15
msgid "Submit an Issue Yourself"
@@ -61,15 +62,10 @@ msgstr "Сообщите о проблеме"
msgid ""
"If you are unable to find a solution, or wish to ask a question or "
"suggest a new feature, please `submit an issue "
-"<https://github.com/micahflee/onionshare/issues/new>`_. This requires "
+"<https://github.com/onionshare/onionshare/issues/new>`_. This requires "
"`creating a GitHub account <https://help.github.com/articles/signing-up-"
"for-a-new-github-account/>`_."
msgstr ""
-"Если найти решение проблемы не удалось или Вы хотите задать вопрос/сделать "
-"предложение, пожалуйста используйте ссылку: `submit an issue <https://github."
-"com/micahflee/onionshare/issues/new>`_. Предварительно необходимо `создать "
-"аккаунт на Github <https://help.github.com/articles/"
-"signing-up-for-a-new-github-account/>`_."
#: ../../source/help.rst:20
msgid "Join our Keybase Team"
@@ -80,10 +76,31 @@ msgid ""
"See :ref:`collaborating` on how to join the Keybase team used to discuss "
"the project."
msgstr ""
-"Ознакомьтесь с инструкцией :ref: `collaborating` о том, как присоединиться к "
-"команде Keybase, в которой мы обсуждаем проект Onionshare."
+"Ознакомьтесь с инструкцией :ref: `collaborating` о том, как "
+"присоединиться к команде Keybase, в которой мы обсуждаем проект "
+"Onionshare."
#~ msgid "If you need help with OnionShare, please follow the instructions below."
#~ msgstr ""
#~ "Если Вам нужна помощь с OnionShare, "
#~ "пожалуйста, следуйте следующим интсрукциям."
+
+#~ msgid ""
+#~ "If you are unable to find a "
+#~ "solution, or wish to ask a "
+#~ "question or suggest a new feature, "
+#~ "please `submit an issue "
+#~ "<https://github.com/micahflee/onionshare/issues/new>`_. This "
+#~ "requires `creating a GitHub account "
+#~ "<https://help.github.com/articles/signing-up-for-a-new-"
+#~ "github-account/>`_."
+#~ msgstr ""
+#~ "Если найти решение проблемы не удалось"
+#~ " или Вы хотите задать вопрос/сделать "
+#~ "предложение, пожалуйста используйте ссылку: "
+#~ "`submit an issue "
+#~ "<https://github.com/micahflee/onionshare/issues/new>`_. "
+#~ "Предварительно необходимо `создать аккаунт на"
+#~ " Github <https://help.github.com/articles/signing-"
+#~ "up-for-a-new-github-account/>`_."
+
diff --git a/docs/source/locale/tr/LC_MESSAGES/advanced.po b/docs/source/locale/tr/LC_MESSAGES/advanced.po
index b3ac8a80..37073fe4 100644
--- a/docs/source/locale/tr/LC_MESSAGES/advanced.po
+++ b/docs/source/locale/tr/LC_MESSAGES/advanced.po
@@ -8,24 +8,24 @@ msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
"POT-Creation-Date: 2021-05-03 21:48-0700\n"
-"PO-Revision-Date: 2021-05-07 18:32+0000\n"
-"Last-Translator: Oğuz Ersen <oguzersen@protonmail.com>\n"
+"PO-Revision-Date: 2021-07-15 20:32+0000\n"
+"Last-Translator: Tur <tur+translate@simplelogin.fr>\n"
"Language-Team: tr <LL@li.org>\n"
"Language: tr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.7-dev\n"
+"X-Generator: Weblate 4.7.2-dev\n"
"Generated-By: Babel 2.9.0\n"
#: ../../source/advanced.rst:2
msgid "Advanced Usage"
-msgstr "Gelişmiş Kullanım"
+msgstr "Gelişmiş kullanım"
#: ../../source/advanced.rst:7
msgid "Save Tabs"
-msgstr "Sekmeleri Kaydedin"
+msgstr "Sekmeleri kaydedin"
#: ../../source/advanced.rst:9
msgid ""
diff --git a/docs/source/locale/tr/LC_MESSAGES/develop.po b/docs/source/locale/tr/LC_MESSAGES/develop.po
index 6d87cabe..ed0cfa96 100644
--- a/docs/source/locale/tr/LC_MESSAGES/develop.po
+++ b/docs/source/locale/tr/LC_MESSAGES/develop.po
@@ -7,16 +7,15 @@ msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
-"POT-Creation-Date: 2020-11-15 14:42-0800\n"
+"POT-Creation-Date: 2021-08-20 13:37-0700\n"
"PO-Revision-Date: 2021-01-01 20:29+0000\n"
"Last-Translator: Oğuz Ersen <oguzersen@protonmail.com>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: tr\n"
+"Language-Team: tr <LL@li.org>\n"
+"Plural-Forms: nplurals=2; plural=n != 1\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.4.1-dev\n"
"Generated-By: Babel 2.9.0\n"
#: ../../source/develop.rst:2
@@ -43,10 +42,10 @@ msgstr ""
"Keybase ekibine sahiptir. (Ayrıca OnionShare adresleri gibi, OnionShare "
"topluluğundaki diğer kişilere uçtan uca şifrelenmiş doğrudan mesajlar "
"göndermenin kolay bir yoludur.) Keybase'i kullanmak için `Keybase "
-"uygulamasını <https://keybase.io/download>`_ indirin, bir hesap oluşturun ve "
-"`bu ekibe katılın <https://keybase.io/team/onionshare>`_. Uygulama içinde "
-"\"Teams\" bölümüne gidin, \"Join a Team\" düğmesine tıklayın ve \"onionshare"
-"\" yazın."
+"uygulamasını <https://keybase.io/download>`_ indirin, bir hesap oluşturun"
+" ve `bu ekibe katılın <https://keybase.io/team/onionshare>`_. Uygulama "
+"içinde \"Teams\" bölümüne gidin, \"Join a Team\" düğmesine tıklayın ve "
+"\"onionshare\" yazın."
#: ../../source/develop.rst:12
msgid ""
@@ -54,35 +53,38 @@ msgid ""
"<https://lists.riseup.net/www/subscribe/onionshare-dev>`_ for developers "
"and and designers to discuss the project."
msgstr ""
-"OnionShare ayrıca geliştiricilerin ve tasarımcıların projeyi tartışmaları "
-"için bir `e-posta listesine <https://lists.riseup.net/www/subscribe/"
-"onionshare-dev>`_ sahiptir."
+"OnionShare ayrıca geliştiricilerin ve tasarımcıların projeyi tartışmaları"
+" için bir `e-posta listesine <https://lists.riseup.net/www/subscribe"
+"/onionshare-dev>`_ sahiptir."
#: ../../source/develop.rst:15
msgid "Contributing Code"
msgstr "Kodlara Katkıda Bulunma"
#: ../../source/develop.rst:17
+#, fuzzy
msgid ""
"OnionShare source code is to be found in this Git repository: "
-"https://github.com/micahflee/onionshare"
+"https://github.com/onionshare/onionshare"
msgstr ""
-"OnionShare kaynak kodları şu Git deposunda bulunabilir: https://github.com/"
-"micahflee/onionshare"
+"OnionShare kaynak kodları şu Git deposunda bulunabilir: "
+"https://github.com/micahflee/onionshare"
#: ../../source/develop.rst:19
+#, fuzzy
msgid ""
"If you'd like to contribute code to OnionShare, it helps to join the "
"Keybase team and ask questions about what you're thinking of working on. "
"You should also review all of the `open issues "
-"<https://github.com/micahflee/onionshare/issues>`_ on GitHub to see if "
+"<https://github.com/onionshare/onionshare/issues>`_ on GitHub to see if "
"there are any you'd like to tackle."
msgstr ""
"OnionShare kodlarına katkıda bulunmak istiyorsanız, Keybase ekibine "
"katılmanız ve üzerinde çalışmayı düşündüğünüz şeyler hakkında sorular "
"sormanız yardımcı olacaktır. Ayrıca üzerinde çalışmak isteyebileceğiniz "
"herhangi bir sorun olup olmadığını görmek için GitHub'daki tüm `açık "
-"sorunları <https://github.com/micahflee/onionshare/issues>`_ incelemelisiniz."
+"sorunları <https://github.com/micahflee/onionshare/issues>`_ "
+"incelemelisiniz."
#: ../../source/develop.rst:22
msgid ""
@@ -102,17 +104,12 @@ msgstr "Geliştirmeye Başlama"
#: ../../source/develop.rst:29
msgid ""
"OnionShare is developed in Python. To get started, clone the Git "
-"repository at https://github.com/micahflee/onionshare/ and then consult "
+"repository at https://github.com/onionshare/onionshare/ and then consult "
"the ``cli/README.md`` file to learn how to set up your development "
"environment for the command-line version, and the ``desktop/README.md`` "
"file to learn how to set up your development environment for the "
"graphical version."
msgstr ""
-"OnionShare, Python ile geliştirilmektedir. Başlamak için https://github.com/"
-"micahflee/onionshare/ adresindeki Git deposunu klonlayın ve ardından komut "
-"satırı sürümü için geliştirme ortamınızı nasıl kuracağınızı öğrenmek için ``"
-"cli/README.md`` dosyasına, grafiksel sürüm için geliştirme ortamınızı nasıl "
-"kuracağınızı öğrenmek için ``desktop/README.md`` dosyasına bakın."
#: ../../source/develop.rst:32
msgid ""
@@ -121,7 +118,8 @@ msgid ""
"source tree."
msgstr ""
"Bu dosyalar, platformunuz için bağımlılıkları kurmak ve kaynak ağacından "
-"OnionShare'i çalıştırmak için gerekli teknik talimatları ve komutları içerir."
+"OnionShare'i çalıştırmak için gerekli teknik talimatları ve komutları "
+"içerir."
#: ../../source/develop.rst:35
msgid "Debugging tips"
@@ -140,57 +138,59 @@ msgid ""
"reloaded), and other debug info. For example::"
msgstr ""
"Geliştirme sırasında, OnionShare'i bir terminalden çalıştırmak ve komuta "
-"``--verbose`` (veya ``-v``) seçeneklerini eklemek faydalıdır. Bu, terminale "
-"birçok yararlı mesajlar, örneğin belirli nesneler başlatıldığında, olaylar "
-"gerçekleştiğinde (düğmeler tıklandı, ayarlar kaydedildi veya yeniden "
-"yüklendi gibi) ve diğer hata ayıklama bilgileri yazdırır. Örneğin::"
+"``--verbose`` (veya ``-v``) seçeneklerini eklemek faydalıdır. Bu, "
+"terminale birçok yararlı mesajlar, örneğin belirli nesneler "
+"başlatıldığında, olaylar gerçekleştiğinde (düğmeler tıklandı, ayarlar "
+"kaydedildi veya yeniden yüklendi gibi) ve diğer hata ayıklama bilgileri "
+"yazdırır. Örneğin::"
-#: ../../source/develop.rst:117
+#: ../../source/develop.rst:121
msgid ""
"You can add your own debug messages by running the ``Common.log`` method "
"from ``onionshare/common.py``. For example::"
msgstr ""
-"``onionshare/common.py`` içinden ``Common.log`` yöntemini çalıştırarak kendi "
-"hata ayıklama mesajlarınızı ekleyebilirsiniz. Örneğin::"
+"``onionshare/common.py`` içinden ``Common.log`` yöntemini çalıştırarak "
+"kendi hata ayıklama mesajlarınızı ekleyebilirsiniz. Örneğin::"
-#: ../../source/develop.rst:121
+#: ../../source/develop.rst:125
msgid ""
"This can be useful when learning the chain of events that occur when "
"using OnionShare, or the value of certain variables before and after they"
" are manipulated."
msgstr ""
-"Bu, OnionShare kullanılırken meydana gelen olaylar zincirini veya belirli "
-"değişkenlerin değiştirilmeden önce ve sonra değerini öğrenirken faydalı "
+"Bu, OnionShare kullanılırken meydana gelen olaylar zincirini veya belirli"
+" değişkenlerin değiştirilmeden önce ve sonra değerini öğrenirken faydalı "
"olabilir."
-#: ../../source/develop.rst:124
+#: ../../source/develop.rst:128
msgid "Local Only"
msgstr "Yalnızca Yerel"
-#: ../../source/develop.rst:126
+#: ../../source/develop.rst:130
msgid ""
"Tor is slow, and it's often convenient to skip starting onion services "
"altogether during development. You can do this with the ``--local-only`` "
"flag. For example::"
msgstr ""
-"Tor yavaştır ve geliştirme sırasında onion hizmetlerini başlatmayı tamamen "
-"atlamak genellikle uygundur. Bunu ``--local-only`` seçeneğiyle "
+"Tor yavaştır ve geliştirme sırasında onion hizmetlerini başlatmayı "
+"tamamen atlamak genellikle uygundur. Bunu ``--local-only`` seçeneğiyle "
"yapabilirsiniz. Örneğin::"
-#: ../../source/develop.rst:164
+#: ../../source/develop.rst:167
msgid ""
"In this case, you load the URL ``http://onionshare:train-"
"system@127.0.0.1:17635`` in a normal web-browser like Firefox, instead of"
" using the Tor Browser."
msgstr ""
-"Bu durumda, ``http://onionshare:train-system@127.0.0.1:17635`` URL'sini Tor "
-"Browser kullanmak yerine Firefox gibi normal bir web tarayıcısında açarsınız."
+"Bu durumda, ``http://onionshare:train-system@127.0.0.1:17635`` URL'sini "
+"Tor Browser kullanmak yerine Firefox gibi normal bir web tarayıcısında "
+"açarsınız."
-#: ../../source/develop.rst:167
+#: ../../source/develop.rst:170
msgid "Contributing Translations"
msgstr "Çevirilere Katkıda Bulunma"
-#: ../../source/develop.rst:169
+#: ../../source/develop.rst:172
msgid ""
"Help make OnionShare easier to use and more familiar and welcoming for "
"people by translating it on `Hosted Weblate "
@@ -199,22 +199,22 @@ msgid ""
"needed."
msgstr ""
"`Hosted Weblate <https://hosted.weblate.org/projects/onionshare/>`_ "
-"adresinde OnionShare'i çevirerek daha kolay kullanılmasına ve insanlar için "
-"daha bilindik ve kullanıcı dostu olmasına yardımcı olun. \"OnionShare\" "
-"sözcüğünü her zaman latin harflerinde tutun ve gerekirse \"OnionShare (yerel "
-"adı)\" kullanın."
+"adresinde OnionShare'i çevirerek daha kolay kullanılmasına ve insanlar "
+"için daha bilindik ve kullanıcı dostu olmasına yardımcı olun. "
+"\"OnionShare\" sözcüğünü her zaman latin harflerinde tutun ve gerekirse "
+"\"OnionShare (yerel adı)\" kullanın."
-#: ../../source/develop.rst:171
+#: ../../source/develop.rst:174
msgid "To help translate, make a Hosted Weblate account and start contributing."
msgstr ""
-"Çeviriye yardımcı olmak için bir Hosted Weblate hesabı oluşturun ve katkıda "
-"bulunmaya başlayın."
+"Çeviriye yardımcı olmak için bir Hosted Weblate hesabı oluşturun ve "
+"katkıda bulunmaya başlayın."
-#: ../../source/develop.rst:174
+#: ../../source/develop.rst:177
msgid "Suggestions for Original English Strings"
msgstr "Asıl İngilizce Dizgeler için Öneriler"
-#: ../../source/develop.rst:176
+#: ../../source/develop.rst:179
msgid ""
"Sometimes the original English strings are wrong, or don't match between "
"the application and the documentation."
@@ -222,31 +222,32 @@ msgstr ""
"Bazen asıl İngilizce dizgeler yanlıştır veya uygulama ile belgelendirme "
"arasında uyumsuzluk vardır."
-#: ../../source/develop.rst:178
+#: ../../source/develop.rst:181
msgid ""
"File source string improvements by adding @kingu to your Weblate comment,"
" or open a GitHub issue or pull request. The latter ensures all upstream "
"developers see the suggestion, and can potentially modify the string via "
"the usual code review processes."
msgstr ""
-"Weblate'teki yorumunuza @kingu ekleyerek veya bir GitHub sorunu veya çekme "
-"isteği açarak kaynağı dizgesi için iyileştirmeler önerin. İkinci seçenek, "
-"tüm proje geliştiricilerinin öneriyi görmesini sağlar ve dizge üzerinde "
-"olağan kod inceleme süreçleri aracılığıyla değişiklikler yapabilir."
+"Weblate'teki yorumunuza @kingu ekleyerek veya bir GitHub sorunu veya "
+"çekme isteği açarak kaynağı dizgesi için iyileştirmeler önerin. İkinci "
+"seçenek, tüm proje geliştiricilerinin öneriyi görmesini sağlar ve dizge "
+"üzerinde olağan kod inceleme süreçleri aracılığıyla değişiklikler "
+"yapabilir."
-#: ../../source/develop.rst:182
+#: ../../source/develop.rst:185
msgid "Status of Translations"
msgstr "Çevirilerin Durumu"
-#: ../../source/develop.rst:183
+#: ../../source/develop.rst:186
msgid ""
"Here is the current translation status. If you want start a translation "
"in a language not yet started, please write to the mailing list: "
"onionshare-dev@lists.riseup.net"
msgstr ""
-"Şu anki çeviri durumu aşağıdaki gibidir. Henüz başlamamış bir dilde çeviriye "
-"başlamak istiyorsanız lütfen e-posta listesine yazın: onionshare-dev@lists."
-"riseup.net"
+"Şu anki çeviri durumu aşağıdaki gibidir. Henüz başlamamış bir dilde "
+"çeviriye başlamak istiyorsanız lütfen e-posta listesine yazın: "
+"onionshare-dev@lists.riseup.net"
#~ msgid ""
#~ "OnionShare is developed in Python. To"
@@ -463,3 +464,26 @@ msgstr ""
#~ msgid "Do the same for other untranslated lines."
#~ msgstr ""
+
+#~ msgid ""
+#~ "OnionShare is developed in Python. To"
+#~ " get started, clone the Git "
+#~ "repository at https://github.com/micahflee/onionshare/ "
+#~ "and then consult the ``cli/README.md`` "
+#~ "file to learn how to set up "
+#~ "your development environment for the "
+#~ "command-line version, and the "
+#~ "``desktop/README.md`` file to learn how "
+#~ "to set up your development environment"
+#~ " for the graphical version."
+#~ msgstr ""
+#~ "OnionShare, Python ile geliştirilmektedir. "
+#~ "Başlamak için https://github.com/micahflee/onionshare/ "
+#~ "adresindeki Git deposunu klonlayın ve "
+#~ "ardından komut satırı sürümü için "
+#~ "geliştirme ortamınızı nasıl kuracağınızı "
+#~ "öğrenmek için ``cli/README.md`` dosyasına, "
+#~ "grafiksel sürüm için geliştirme ortamınızı "
+#~ "nasıl kuracağınızı öğrenmek için "
+#~ "``desktop/README.md`` dosyasına bakın."
+
diff --git a/docs/source/locale/tr/LC_MESSAGES/help.po b/docs/source/locale/tr/LC_MESSAGES/help.po
index b0533068..f97d1bd0 100644
--- a/docs/source/locale/tr/LC_MESSAGES/help.po
+++ b/docs/source/locale/tr/LC_MESSAGES/help.po
@@ -7,16 +7,15 @@ msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
-"POT-Creation-Date: 2020-11-15 14:42-0800\n"
+"POT-Creation-Date: 2021-08-20 13:37-0700\n"
"PO-Revision-Date: 2020-11-17 10:28+0000\n"
"Last-Translator: Oğuz Ersen <oguzersen@protonmail.com>\n"
-"Language-Team: tr <LL@li.org>\n"
"Language: tr\n"
+"Language-Team: tr <LL@li.org>\n"
+"Plural-Forms: nplurals=2; plural=n != 1\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.4-dev\n"
"Generated-By: Babel 2.9.0\n"
#: ../../source/help.rst:2
@@ -32,25 +31,26 @@ msgid ""
"You will find instructions on how to use OnionShare. Look through all of "
"the sections first to see if anything answers your questions."
msgstr ""
-"Burada OnionShare'in nasıl kullanılacağına ilişkin talimatları bulacaksınız. "
-"Sorularınızı yanıtlayan bir şey olup olmadığını görmek için önce tüm "
-"bölümlere bakın."
+"Burada OnionShare'in nasıl kullanılacağına ilişkin talimatları "
+"bulacaksınız. Sorularınızı yanıtlayan bir şey olup olmadığını görmek için"
+" önce tüm bölümlere bakın."
#: ../../source/help.rst:10
msgid "Check the GitHub Issues"
msgstr "GitHub Sorunlarına Bakın"
#: ../../source/help.rst:12
+#, fuzzy
msgid ""
"If it isn't on the website, please check the `GitHub issues "
-"<https://github.com/micahflee/onionshare/issues>`_. It's possible someone"
-" else has encountered the same problem and either raised it with the "
-"developers, or maybe even posted a solution."
+"<https://github.com/onionshare/onionshare/issues>`_. It's possible "
+"someone else has encountered the same problem and either raised it with "
+"the developers, or maybe even posted a solution."
msgstr ""
-"Web sitesinde yoksa, lütfen `GitHub sorunlarına <https://github.com/"
-"micahflee/onionshare/issues>`_ bakın. Bir başkasının aynı sorunla "
-"karşılaşması ve bunu geliştiricilere iletmesi, hatta bir çözüm göndermesi "
-"mümkündür."
+"Web sitesinde yoksa, lütfen `GitHub sorunlarına "
+"<https://github.com/micahflee/onionshare/issues>`_ bakın. Bir başkasının "
+"aynı sorunla karşılaşması ve bunu geliştiricilere iletmesi, hatta bir "
+"çözüm göndermesi mümkündür."
#: ../../source/help.rst:15
msgid "Submit an Issue Yourself"
@@ -60,15 +60,10 @@ msgstr "Kendiniz Bir Sorun Gönderin"
msgid ""
"If you are unable to find a solution, or wish to ask a question or "
"suggest a new feature, please `submit an issue "
-"<https://github.com/micahflee/onionshare/issues/new>`_. This requires "
+"<https://github.com/onionshare/onionshare/issues/new>`_. This requires "
"`creating a GitHub account <https://help.github.com/articles/signing-up-"
"for-a-new-github-account/>`_."
msgstr ""
-"Sorununuza bir çözüm bulamazsanız ya da bir soru sormak veya yeni bir "
-"özellik önermek istiyorsanız, lütfen `bir sorun gönderin <https://github.com/"
-"micahflee/onionshare/issues/new>`_. Bunun için `bir GitHub hesabı "
-"oluşturulması <https://help.github.com/articles/"
-"signing-up-for-a-new-github-account/>`_ gerekir."
#: ../../source/help.rst:20
msgid "Join our Keybase Team"
@@ -79,10 +74,30 @@ msgid ""
"See :ref:`collaborating` on how to join the Keybase team used to discuss "
"the project."
msgstr ""
-"Projeyi tartışmak için kullandığımız Keybase ekibimize nasıl katılacağınızla "
-"ilgili :ref:`collaborating` bölümüne bakın."
+"Projeyi tartışmak için kullandığımız Keybase ekibimize nasıl "
+"katılacağınızla ilgili :ref:`collaborating` bölümüne bakın."
#~ msgid "If you need help with OnionShare, please follow the instructions below."
#~ msgstr ""
#~ "OnionShare ile ilgili yardıma ihtiyacınız "
#~ "varsa, lütfen aşağıdaki talimatları izleyin."
+
+#~ msgid ""
+#~ "If you are unable to find a "
+#~ "solution, or wish to ask a "
+#~ "question or suggest a new feature, "
+#~ "please `submit an issue "
+#~ "<https://github.com/micahflee/onionshare/issues/new>`_. This "
+#~ "requires `creating a GitHub account "
+#~ "<https://help.github.com/articles/signing-up-for-a-new-"
+#~ "github-account/>`_."
+#~ msgstr ""
+#~ "Sorununuza bir çözüm bulamazsanız ya da"
+#~ " bir soru sormak veya yeni bir "
+#~ "özellik önermek istiyorsanız, lütfen `bir "
+#~ "sorun gönderin "
+#~ "<https://github.com/micahflee/onionshare/issues/new>`_. Bunun"
+#~ " için `bir GitHub hesabı oluşturulması "
+#~ "<https://help.github.com/articles/signing-up-for-a-new-"
+#~ "github-account/>`_ gerekir."
+
diff --git a/docs/source/locale/uk/LC_MESSAGES/advanced.po b/docs/source/locale/uk/LC_MESSAGES/advanced.po
index 12402413..ef1dbbc8 100644
--- a/docs/source/locale/uk/LC_MESSAGES/advanced.po
+++ b/docs/source/locale/uk/LC_MESSAGES/advanced.po
@@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
"POT-Creation-Date: 2021-05-03 21:48-0700\n"
-"PO-Revision-Date: 2021-05-07 18:32+0000\n"
+"PO-Revision-Date: 2021-07-08 02:32+0000\n"
"Last-Translator: Ihor Hordiichuk <igor_ck@outlook.com>\n"
"Language-Team: none\n"
"Language: uk\n"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 4.7-dev\n"
+"X-Generator: Weblate 4.8-dev\n"
"Generated-By: Babel 2.9.0\n"
#: ../../source/advanced.rst:2
@@ -83,10 +83,10 @@ msgid ""
"wrong guesses at the password, your onion service is automatically "
"stopped to prevent a brute force attack against the OnionShare service."
msgstr ""
-"Типово всі служби OnionShare захищені іменем користувача ``onionshare`` і"
-" випадково створеним паролем. Якщо хтось вводить пароль неправильно 20 "
-"разів, ваша служба onion автоматично зупинениться, щоб запобігти грубій "
-"спробі зламу служби OnionShare."
+"Типово всі служби OnionShare захищені іменем користувача ``onionshare`` і "
+"випадково створеним паролем. Якщо хтось вводить пароль неправильно 20 разів, "
+"ваша служба onion автоматично зупиняється, щоб запобігти спробі грубого "
+"зламу служби OnionShare."
#: ../../source/advanced.rst:31
msgid ""
@@ -186,10 +186,10 @@ msgid ""
"making sure they're not available on the Internet for more than a few "
"days."
msgstr ""
-"**Планування автоматичної зупинки служби OnionShare може бути корисним "
-"для обмеження надсилання**, наприклад, якщо ви хочете поділитися таємними"
-" документами й буди певними, що вони не доступні в Інтернеті впродовж "
-"більше кількох днів."
+"**Планування автоматичної зупинки служби OnionShare може бути корисним для "
+"обмеження надсилання**, наприклад, якщо ви хочете поділитися таємними "
+"документами й бути певними, що вони не доступні в Інтернеті впродовж більше "
+"кількох днів."
#: ../../source/advanced.rst:65
msgid "Command-line Interface"
diff --git a/docs/source/locale/uk/LC_MESSAGES/develop.po b/docs/source/locale/uk/LC_MESSAGES/develop.po
index ce18e618..c180d84a 100644
--- a/docs/source/locale/uk/LC_MESSAGES/develop.po
+++ b/docs/source/locale/uk/LC_MESSAGES/develop.po
@@ -7,17 +7,19 @@ msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
-"POT-Creation-Date: 2020-11-15 14:42-0800\n"
-"PO-Revision-Date: 2021-01-26 22:32+0000\n"
+"POT-Creation-Date: 2021-08-20 13:37-0700\n"
+"PO-Revision-Date: 2021-07-08 02:32+0000\n"
"Last-Translator: Ihor Hordiichuk <igor_ck@outlook.com>\n"
-"Language-Team: none\n"
"Language: uk\n"
+"Language-Team: none\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
+"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 4.5-dev\n"
+"X-Generator: Weblate 4.8.1-dev\n"
"Generated-By: Babel 2.9.0\n"
#: ../../source/develop.rst:2
@@ -41,12 +43,13 @@ msgid ""
msgstr ""
"OnionShare має відкриту команду Keybase для обговорення проєкту, включно з "
"питаннями, обміном ідеями та побудовою, плануванням подальшого розвитку. (Це "
-"також простий спосіб надсилати захищені наскрізним шифруванням прямі "
-"повідомлення іншим у спільноті OnionShare, як-от адреси OnionShare.) Щоб "
-"використовувати Keybase, потрібно завантажити програму `Keybase app "
-"<https://keybase.io/download>`_, створити обліковий запис та `приєднайтися "
-"до цієї команди <https://keybase.io/team/onionshare>`_. У програмі перейдіть "
-"до «Команди», натисніть «Приєднатися до команди» та введіть «onionshare»."
+"також простий спосіб надсилати безпосередні захищені наскрізним шифруванням "
+"повідомлення іншим спільноти OnionShare, наприклад адреси OnionShare.) Щоб "
+"користуватися Keybase, потрібно завантажити `застосунок Keybase "
+"<https://keybase.io/download>`_, створити обліковий запис та `приєднайтеся "
+"до цієї команди <https://keybase.io/team/onionshare>`_. У застосунку "
+"перейдіть до «Команди», натисніть «Приєднатися до команди» та введіть "
+"«onionshare»."
#: ../../source/develop.rst:12
msgid ""
@@ -54,34 +57,36 @@ msgid ""
"<https://lists.riseup.net/www/subscribe/onionshare-dev>`_ for developers "
"and and designers to discuss the project."
msgstr ""
-"OnionShare також має `список розсилки "
-"<https://lists.riseup.net/www/subscribe/onionshare-dev>` _ для "
-"розробників та дизайнерів для обговорення проєкту."
+"OnionShare також має `список розсилання <https://lists.riseup.net/www/"
+"subscribe/onionshare-dev>`_ для розробників та дизайнерів для обговорення "
+"проєкту."
#: ../../source/develop.rst:15
msgid "Contributing Code"
msgstr "Внесок до кодової бази"
#: ../../source/develop.rst:17
+#, fuzzy
msgid ""
"OnionShare source code is to be found in this Git repository: "
-"https://github.com/micahflee/onionshare"
+"https://github.com/onionshare/onionshare"
msgstr ""
-"Джерельний код OnionShare розміщено в цьому сховищі Git: https://github.com/"
-"micahflee/onionshare"
+"Джерельний код OnionShare розміщено в цьому сховищі Git: "
+"https://github.com/micahflee/onionshare"
#: ../../source/develop.rst:19
+#, fuzzy
msgid ""
"If you'd like to contribute code to OnionShare, it helps to join the "
"Keybase team and ask questions about what you're thinking of working on. "
"You should also review all of the `open issues "
-"<https://github.com/micahflee/onionshare/issues>`_ on GitHub to see if "
+"<https://github.com/onionshare/onionshare/issues>`_ on GitHub to see if "
"there are any you'd like to tackle."
msgstr ""
"Якщо ви хочете допомогти кодом OnionShare, приєднайтеся до команди Keybase і "
-"запитайте над чим ви думаєте працювати. Ви також повинні переглянути всі `"
-"відкриті запити <https://github.com/micahflee/onionshare/issues>`_ на "
-"GitHub, щоб побачити, чи є такі, які ви хотіли б розв'язати."
+"запитайте над чим можна попрацювати. Також варто переглянути всі `відкриті "
+"завдання <https://github.com/micahflee/onionshare/issues>`_ на GitHub, щоб "
+"побачити, чи є такі, які б ви хотіли розв'язати."
#: ../../source/develop.rst:22
msgid ""
@@ -89,7 +94,7 @@ msgid ""
"repository and one of the project maintainers will review it and possibly"
" ask questions, request changes, reject it, or merge it into the project."
msgstr ""
-"Коли ви будете готові внести код, відкрийте запит надсилання до сховища "
+"Коли ви будете готові допомогти код, відкрийте «pull request» до репозиторію "
"GitHub і один із супровідників проєкту перегляне його та, можливо, поставить "
"питання, попросить змінити щось, відхилить його або об’єднає з проєктом."
@@ -100,17 +105,17 @@ msgstr "Початок розробки"
#: ../../source/develop.rst:29
msgid ""
"OnionShare is developed in Python. To get started, clone the Git "
-"repository at https://github.com/micahflee/onionshare/ and then consult "
+"repository at https://github.com/onionshare/onionshare/ and then consult "
"the ``cli/README.md`` file to learn how to set up your development "
"environment for the command-line version, and the ``desktop/README.md`` "
"file to learn how to set up your development environment for the "
"graphical version."
msgstr ""
"OnionShare розроблено на Python. Для початку клонуйте сховище Git за адресою "
-"https://github.com/micahflee/onionshare/, а потім зверніться до файлу ``cli/"
-"README.md``, щоб дізнатися, як налаштувати середовище розробки для версії "
-"командного рядка та файл ``desktop/README.md``, щоб дізнатися, як "
-"налаштувати середовище розробки для графічної версії."
+"https://github.com/micahflee/onionshare/, а потім перегляньте файл ``cli/"
+"README.md``, щоб дізнатися, як налаштувати середовище розробки у командному "
+"рядку або файл ``desktop/README.md``, щоб дізнатися, як налаштувати "
+"середовище розробки у версії з графічним інтерфейсом."
#: ../../source/develop.rst:32
msgid ""
@@ -119,7 +124,8 @@ msgid ""
"source tree."
msgstr ""
"Ці файли містять необхідні технічні вказівки та команди встановлення "
-"залежностей для вашої платформи та запуску OnionShare з джерельного дерева."
+"залежностей для вашої платформи та запуску OnionShare з джерельного "
+"дерева."
#: ../../source/develop.rst:35
msgid "Debugging tips"
@@ -139,11 +145,12 @@ msgid ""
msgstr ""
"Під час розробки зручно запустити OnionShare з термінала та додати до "
"команди прапор ``--verbose`` (або ``-v``). До термінала виводитиметься "
-"багато корисних повідомлень, наприклад, про ініціалізацію певних об'єктів, "
-"про події (наприклад, натискання кнопок, збереження або перезавантаження "
-"параметрів) та інші подробиці для зневаджування. Наприклад::"
+"багато корисних повідомлень, наприклад, про ініціалізацію певних "
+"об'єктів, про події (наприклад, натискання кнопок, збереження або "
+"перезавантаження параметрів) та інші подробиці для зневаджування. "
+"Наприклад::"
-#: ../../source/develop.rst:117
+#: ../../source/develop.rst:121
msgid ""
"You can add your own debug messages by running the ``Common.log`` method "
"from ``onionshare/common.py``. For example::"
@@ -151,21 +158,21 @@ msgstr ""
"Ви можете додати власні повідомлення про зневадження, запустивши метод "
"``Common.log`` з ``onionshare/common.py``. Наприклад::"
-#: ../../source/develop.rst:121
+#: ../../source/develop.rst:125
msgid ""
"This can be useful when learning the chain of events that occur when "
"using OnionShare, or the value of certain variables before and after they"
" are manipulated."
msgstr ""
"Це може бути корисно для вивчення ланцюжка подій, що відбуваються під час "
-"користування програмою, або значень певних змінних до та після того, як ними "
-"маніпулюють."
+"користування OnionShare, або значень певних змінних до та після взаємодії з "
+"ними."
-#: ../../source/develop.rst:124
+#: ../../source/develop.rst:128
msgid "Local Only"
msgstr "Лише локально"
-#: ../../source/develop.rst:126
+#: ../../source/develop.rst:130
msgid ""
"Tor is slow, and it's often convenient to skip starting onion services "
"altogether during development. You can do this with the ``--local-only`` "
@@ -175,21 +182,21 @@ msgstr ""
"початковими службами onion. Ви можете зробити це за допомогою прапора "
"``--local-only``. Наприклад::"
-#: ../../source/develop.rst:164
+#: ../../source/develop.rst:167
msgid ""
"In this case, you load the URL ``http://onionshare:train-"
"system@127.0.0.1:17635`` in a normal web-browser like Firefox, instead of"
" using the Tor Browser."
msgstr ""
"У цьому випадку ви завантажуєте URL-адресу ``http://onionshare:train-"
-"system@127.0.0.1:17635`` у звичайному переглядачі, як-от Firefox, замість "
-"користування Tor Browser."
+"system@127.0.0.1:17635`` у звичайному переглядачі, як-от Firefox, замість"
+" користування Tor Browser."
-#: ../../source/develop.rst:167
+#: ../../source/develop.rst:170
msgid "Contributing Translations"
msgstr "Допомога з перекладами"
-#: ../../source/develop.rst:169
+#: ../../source/develop.rst:172
msgid ""
"Help make OnionShare easier to use and more familiar and welcoming for "
"people by translating it on `Hosted Weblate "
@@ -198,30 +205,30 @@ msgid ""
"needed."
msgstr ""
"Допоможіть зробити OnionShare простішим у користуванні та звичнішим та "
-"приємнішим для людей, переклавши його на `Hosted Weblate <https://hosted."
-"weblate.org/projects/onionshare/>`_. Завжди зберігайте «OnionShare» "
-"латинськими літерами та використовуйте «OnionShare (місцева назва)», якщо це "
-"необхідно."
+"приємнішим для людей, переклавши його на `Hosted Weblate "
+"<https://hosted.weblate.org/projects/onionshare/>`_. Завжди зберігайте "
+"«OnionShare» латинськими літерами та використовуйте «OnionShare (місцева "
+"назва)», якщо це необхідно."
-#: ../../source/develop.rst:171
+#: ../../source/develop.rst:174
msgid "To help translate, make a Hosted Weblate account and start contributing."
msgstr ""
"Щоб допомогти перекласти, створіть обліковий запис на Hosted Weblate і "
"почніть допомагати."
-#: ../../source/develop.rst:174
+#: ../../source/develop.rst:177
msgid "Suggestions for Original English Strings"
msgstr "Пропозиції для оригінальних рядків англійською"
-#: ../../source/develop.rst:176
+#: ../../source/develop.rst:179
msgid ""
"Sometimes the original English strings are wrong, or don't match between "
"the application and the documentation."
msgstr ""
-"Іноді оригінальні англійські рядки містять помилки або не збігаються між "
-"програмою та документацією."
+"Іноді оригінальні англійські рядки містять помилки або відрізняються у "
+"застосунку та документації."
-#: ../../source/develop.rst:178
+#: ../../source/develop.rst:181
msgid ""
"File source string improvements by adding @kingu to your Weblate comment,"
" or open a GitHub issue or pull request. The latter ensures all upstream "
@@ -229,23 +236,23 @@ msgid ""
"the usual code review processes."
msgstr ""
"Вдоскональте рядок джерела файлу, додавши @kingu до свого коментаря Weblate, "
-"або повідомте про проблему на GitHub або запит на додавання. Останнє "
-"гарантує, що всі основні розробники, бачать пропозицію та можуть потенційно "
-"змінити рядок за допомогою звичайних процесів перегляду коду."
+"або повідомте про проблему на GitHub, або надішліть запит на додавання. "
+"Останнє гарантує, що всі основні розробники, бачать пропозицію та, ймовірно, "
+"можуть змінити рядок за допомогою звичайних процесів перегляду коду."
-#: ../../source/develop.rst:182
+#: ../../source/develop.rst:185
msgid "Status of Translations"
msgstr "Стан перекладів"
-#: ../../source/develop.rst:183
+#: ../../source/develop.rst:186
msgid ""
"Here is the current translation status. If you want start a translation "
"in a language not yet started, please write to the mailing list: "
"onionshare-dev@lists.riseup.net"
msgstr ""
-"Ось поточний стан перекладу. Якщо ви хочете розпочати переклад мовою, якої "
-"тут немає, будь ласка, напишіть нам до списку розсилки: onionshare-dev@lists."
-"riseup.net"
+"Тут знаходиться поточний стан перекладу. Якщо ви хочете розпочати переклад "
+"відсутньою тут мовою, будь ласка, напишіть нам до списку розсилання: "
+"onionshare-dev@lists.riseup.net"
#~ msgid ""
#~ "OnionShare is developed in Python. To"
@@ -436,3 +443,26 @@ msgstr ""
#~ msgid "Do the same for other untranslated lines."
#~ msgstr "Зробіть те ж саме для інших неперекладених рядків."
+
+#~ msgid ""
+#~ "OnionShare is developed in Python. To"
+#~ " get started, clone the Git "
+#~ "repository at https://github.com/micahflee/onionshare/ "
+#~ "and then consult the ``cli/README.md`` "
+#~ "file to learn how to set up "
+#~ "your development environment for the "
+#~ "command-line version, and the "
+#~ "``desktop/README.md`` file to learn how "
+#~ "to set up your development environment"
+#~ " for the graphical version."
+#~ msgstr ""
+#~ "OnionShare розроблено на Python. Для "
+#~ "початку клонуйте сховище Git за адресою"
+#~ " https://github.com/micahflee/onionshare/, а потім "
+#~ "перегляньте файл ``cli/README.md``, щоб "
+#~ "дізнатися, як налаштувати середовище розробки"
+#~ " у командному рядку або файл "
+#~ "``desktop/README.md``, щоб дізнатися, як "
+#~ "налаштувати середовище розробки у версії "
+#~ "з графічним інтерфейсом."
+
diff --git a/docs/source/locale/uk/LC_MESSAGES/features.po b/docs/source/locale/uk/LC_MESSAGES/features.po
index 486fe5bc..341da9ed 100644
--- a/docs/source/locale/uk/LC_MESSAGES/features.po
+++ b/docs/source/locale/uk/LC_MESSAGES/features.po
@@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
"POT-Creation-Date: 2021-05-03 21:48-0700\n"
-"PO-Revision-Date: 2021-05-07 18:32+0000\n"
+"PO-Revision-Date: 2021-07-08 02:32+0000\n"
"Last-Translator: Ihor Hordiichuk <igor_ck@outlook.com>\n"
"Language-Team: none\n"
"Language: uk\n"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 4.7-dev\n"
+"X-Generator: Weblate 4.8-dev\n"
"Generated-By: Babel 2.9.0\n"
#: ../../source/features.rst:4
@@ -72,10 +72,9 @@ msgid ""
"works best when working with people in real-time."
msgstr ""
"Якщо ви запустили OnionShare на ноутбуці, щоб надіслати комусь файли, а "
-"потім зупинити його роботу перед надсиланням файлів, служба буде "
-"недоступна, доки роботу ноутбука не буде поновлено і знову з'явиться в "
-"Інтернеті. OnionShare найкраще працює під час роботи з людьми в режимі "
-"реального часу."
+"потім зупинили його роботу перед надсиланням файлів, служба буде недоступна, "
+"доки роботу ноутбука не буде поновлено і він знову з'єднається з інтернетом. "
+"OnionShare найкраще працює під час роботи з людьми в режимі реального часу."
#: ../../source/features.rst:18
msgid ""
@@ -101,18 +100,17 @@ msgid ""
"anonymously. Open a share tab, drag in the files and folders you wish to "
"share, and click \"Start sharing\"."
msgstr ""
-"Ви можете використовувати OnionShare, щоб безпечно та анонімно надсилати "
-"файли та теки людям. Просто відкрийте вкладку спільного доступу, "
-"перетягніть файли та теки, якими хочете поділитися і натисніть \"Почати "
-"надсилання\"."
+"Ви можете користуватися OnionShare, щоб безпечно та анонімно надсилати файли "
+"та теки людям. Просто відкрийте вкладку спільного доступу, перетягніть файли "
+"та теки, якими хочете поділитися і натисніть \"Почати надсилання\"."
#: ../../source/features.rst:27 ../../source/features.rst:104
msgid ""
"After you add files, you'll see some settings. Make sure you choose the "
"setting you're interested in before you start sharing."
msgstr ""
-"Після додавання файлів з'являться параметри. Перед надсиланням, "
-"переконайтеся, що вибрано потрібний параметр."
+"Після додавання файлів з'являться налаштування. Перед надсиланням, "
+"переконайтеся, що вибрано потрібні налаштування."
#: ../../source/features.rst:31
msgid ""
@@ -184,14 +182,14 @@ msgid ""
"anonymous dropbox. Open a receive tab and choose the settings that you "
"want."
msgstr ""
-"Ви можете використовувати OnionShare, щоб дозволити людям анонімно надсилати "
+"Ви можете користуватися OnionShare, щоб дозволити людям анонімно надсилати "
"файли та повідомлення безпосередньо на ваш комп’ютер, по суті, перетворюючи "
"їх на анонімний буфер. Відкрийте вкладку отримання та виберіть потрібні "
"налаштування."
#: ../../source/features.rst:54
msgid "You can browse for a folder to save messages and files that get submitted."
-msgstr "Можете вибрати теку для збереження повідомлень і файлів, які надіслано."
+msgstr "Можете вибрати теку для збереження доставлених повідомлень і файлів."
#: ../../source/features.rst:56
msgid ""
@@ -226,10 +224,10 @@ msgstr ""
"отримати зашифровані текстові повідомлення в програмі обміну повідомленнями `"
"Keybase <https://keybase.io/>`_, ви можете почати розмову з `@webhookbot "
"<https://keybase.io/webhookbot>`_, введіть ``!webhook create onionshare-"
-"alerts``, і він відповідатиме через URL-адресу. Використовуйте її URL-"
-"адресою вебобробника сповіщень. Якщо хтось вивантажить файл до служби режиму "
-"отримання, @webhookbot надішле вам повідомлення на Keybase, яке повідомить "
-"вас, як тільки це станеться."
+"alerts``, і він відповідатиме через URL-адресу. Застосовуйте її URL-адресою "
+"вебобробника сповіщень. Якщо хтось вивантажить файл до служби отримання, @"
+"webhookbot надішле вам повідомлення на Keybase, яке сповістить вас, як "
+"тільки це станеться."
#: ../../source/features.rst:63
msgid ""
@@ -239,9 +237,9 @@ msgid ""
"computer."
msgstr ""
"Коли все буде готово, натисніть кнопку «Запустити режим отримання». Це "
-"запустить службу OnionShare. Будь-хто, хто завантажує цю адресу у своєму "
-"браузері Tor, зможе надсилати файли та повідомлення, які завантажуються на "
-"ваш комп'ютер."
+"запустить службу OnionShare. Всі хто завантажить цю адресу у своєму браузері "
+"Tor зможе надсилати файли та повідомлення, які завантажуватимуться на ваш "
+"комп'ютер."
#: ../../source/features.rst:67
msgid ""
@@ -264,7 +262,7 @@ msgid ""
msgstr ""
"Коли хтось надсилає файли або повідомлення до вашої служби отримання, типово "
"вони зберігаються до теки ``OnionShare`` у домашній теці на вашому "
-"комп'ютері, автоматично впорядковуються в окремі підтеки залежно від часу "
+"комп'ютері та автоматично впорядковуються в окремі підтеки залежно від часу "
"передавання файлів."
#: ../../source/features.rst:75
@@ -275,11 +273,11 @@ msgid ""
"quite as secure version of `SecureDrop <https://securedrop.org/>`_, the "
"whistleblower submission system."
msgstr ""
-"Параметри служби отримання OnionShare корисні для журналістів та інших "
-"осіб, яким потрібно безпечно отримувати документи від анонімних джерел. "
-"Використовуючи таким чином, OnionShare як легку, простішу, не настільки "
-"безпечну версію `SecureDrop <https://securedrop.org/>`_, системи подання "
-"таємних повідомлень викривачів."
+"Служби отримання OnionShare корисні для журналістів та інших осіб, яким "
+"потрібно безпечно отримувати документи від анонімних джерел. Користуючись "
+"таким чином OnionShare як легкою, простішою, але не настільки безпечною "
+"версією `SecureDrop <https://securedrop.org/>`_, системи подання таємних "
+"повідомлень викривачів."
#: ../../source/features.rst:78
msgid "Use at your own risk"
@@ -429,13 +427,13 @@ msgid ""
"(see :ref:`save_tabs`) so you can resume the website with the same "
"address if you close OnionShare and re-open it later."
msgstr ""
-"Якщо ви хочете розмістити довгостроковий вебсайт за допомогою OnionShare "
-"(це не просто для того, щоб швидко комусь щось показати), рекомендовано "
-"робити це на окремому виділеному комп’ютері, який завжди ввімкнено та "
-"під'єднано до Інтернету, а не на той, яким ви користуєтеся регулярно. Вам"
-" також слід зберегти вкладку (подробиці :ref:`save_tabs`), щоб ви могли "
-"відновити вебсайт з тією ж адресою, якщо закриєте OnionShare і знову "
-"відкриєте його пізніше."
+"Якщо ви хочете розмістити постійний вебсайт за допомогою OnionShare (це не "
+"просто для того, щоб швидко комусь щось показати), радимо робити це на "
+"окремо виділеному комп’ютері, який завжди ввімкнено та під'єднано до "
+"Інтернету, а не на той, яким ви користуєтеся регулярно. Вам також слід "
+"зберегти вкладку (подробиці про :ref:`save_tabs`), щоб ви могли відновити "
+"вебсайт з тією ж адресою, якщо закриєте OnionShare і знову відкриєте його "
+"пізніше."
#: ../../source/features.rst:121
msgid ""
@@ -465,10 +463,10 @@ msgid ""
"limit exactly who can join, use an encrypted messaging app to send out "
"the OnionShare address."
msgstr ""
-"Після запуску сервера копіюйте адресу OnionShare і надішліть її людям, "
-"які приєднаються до цієї анонімної кімнати чату. Якщо важливо обмежити "
-"коло, хто може приєднатися, ви повинні використовувати зашифровані "
-"програми обміну повідомленнями для надсилання адреси OnionShare."
+"Після запуску сервера копіюйте адресу OnionShare і надішліть її людям, які "
+"приєднаються до цієї анонімної кімнати чату. Якщо важливо обмежити коло "
+"учасників, ви повинні скористатися застосунком обміну зашифрованими "
+"повідомленнями для надсилання адреси OnionShare."
#: ../../source/features.rst:135
msgid ""
@@ -523,9 +521,8 @@ msgid ""
"If you need to already be using an encrypted messaging app, what's the "
"point of an OnionShare chat room to begin with? It leaves less traces."
msgstr ""
-"Якщо вам вже потрібно використовувати програму обміну зашифрованим "
-"повідомленнями, то який сенс спілкування в OnionShare? Він залишає менше "
-"слідів."
+"Якщо вам потрібно застосовувати програму обміну зашифрованим повідомленнями, "
+"то який сенс спілкування в OnionShare? Він залишає менше слідів."
#: ../../source/features.rst:154
msgid ""
diff --git a/docs/source/locale/uk/LC_MESSAGES/help.po b/docs/source/locale/uk/LC_MESSAGES/help.po
index 914b6716..1ac67505 100644
--- a/docs/source/locale/uk/LC_MESSAGES/help.po
+++ b/docs/source/locale/uk/LC_MESSAGES/help.po
@@ -7,17 +7,19 @@ msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
-"POT-Creation-Date: 2020-11-15 14:42-0800\n"
-"PO-Revision-Date: 2020-11-17 10:28+0000\n"
+"POT-Creation-Date: 2021-08-20 13:37-0700\n"
+"PO-Revision-Date: 2021-07-08 02:32+0000\n"
"Last-Translator: Ihor Hordiichuk <igor_ck@outlook.com>\n"
-"Language-Team: none\n"
"Language: uk\n"
+"Language-Team: none\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
+"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 4.4-dev\n"
+"X-Generator: Weblate 4.8-dev\n"
"Generated-By: Babel 2.9.0\n"
#: ../../source/help.rst:2
@@ -33,24 +35,26 @@ msgid ""
"You will find instructions on how to use OnionShare. Look through all of "
"the sections first to see if anything answers your questions."
msgstr ""
-"Цей вебсайт містить настановами щодо користування OnionShare. Спочатку "
-"перегляньте всі розділи, щоб дізнатися, чи відповідає він на ваші питання."
+"Цей вебсайт містить настанови щодо користування OnionShare. Спочатку "
+"перегляньте всі розділи, щоб дізнатися, чи містять вони відповідей на ваші "
+"запитання."
#: ../../source/help.rst:10
msgid "Check the GitHub Issues"
msgstr "Перегляньте наявні проблеми на GitHub"
#: ../../source/help.rst:12
+#, fuzzy
msgid ""
"If it isn't on the website, please check the `GitHub issues "
-"<https://github.com/micahflee/onionshare/issues>`_. It's possible someone"
-" else has encountered the same problem and either raised it with the "
-"developers, or maybe even posted a solution."
+"<https://github.com/onionshare/onionshare/issues>`_. It's possible "
+"someone else has encountered the same problem and either raised it with "
+"the developers, or maybe even posted a solution."
msgstr ""
-"Якщо розв'язок відсутній на цьому вебсайті, перегляньте `GitHub issues "
+"Якщо на цьому вебсайті не описано вашої проблеми, перегляньте `GitHub issues "
"<https://github.com/micahflee/onionshare/issues>`_. Можливо, хтось інший "
"зіткнувся з тією ж проблемою та запитав про неї у розробників, або, можливо, "
-"навіть опублікував розв'язок."
+"навіть опублікував як її виправити."
#: ../../source/help.rst:15
msgid "Submit an Issue Yourself"
@@ -60,11 +64,11 @@ msgstr "Повідомте про ваду"
msgid ""
"If you are unable to find a solution, or wish to ask a question or "
"suggest a new feature, please `submit an issue "
-"<https://github.com/micahflee/onionshare/issues/new>`_. This requires "
+"<https://github.com/onionshare/onionshare/issues/new>`_. This requires "
"`creating a GitHub account <https://help.github.com/articles/signing-up-"
"for-a-new-github-account/>`_."
msgstr ""
-"Якщо не можете знайти розв'язку своєї проблеми або хочете запитати чи "
+"Якщо не можете знайти як виправити свою проблему або хочете запитати чи "
"запропонувати нову функцію, `поставте питання <https://github.com/micahflee/"
"onionshare/issues/new>`_. Для цього потрібно `створити обліковий запис "
"GitHub <https://help.github.com/articles/signing-up-for-a-new-github-account/"
@@ -79,8 +83,27 @@ msgid ""
"See :ref:`collaborating` on how to join the Keybase team used to discuss "
"the project."
msgstr ""
-"Читайте про :ref:`співпрацю`, щоб отримати вказівки щодо приєднання до нашої "
-"команди Keybase, де ми обговорюємо проєкт."
+"Читайте про :ref:`співпрацю`, щоб отримати вказівки щодо приєднання до "
+"нашої команди Keybase, де ми обговорюємо проєкт."
#~ msgid "If you need help with OnionShare, please follow the instructions below."
#~ msgstr "Якщо вам потрібна допомога з OnionShare, виконайте ці настанови."
+
+#~ msgid ""
+#~ "If you are unable to find a "
+#~ "solution, or wish to ask a "
+#~ "question or suggest a new feature, "
+#~ "please `submit an issue "
+#~ "<https://github.com/micahflee/onionshare/issues/new>`_. This "
+#~ "requires `creating a GitHub account "
+#~ "<https://help.github.com/articles/signing-up-for-a-new-"
+#~ "github-account/>`_."
+#~ msgstr ""
+#~ "Якщо не можете знайти як виправити "
+#~ "свою проблему або хочете запитати чи "
+#~ "запропонувати нову функцію, `поставте питання"
+#~ " <https://github.com/micahflee/onionshare/issues/new>`_. Для"
+#~ " цього потрібно `створити обліковий запис"
+#~ " GitHub <https://help.github.com/articles/signing-"
+#~ "up-for-a-new-github-account/>`_."
+
diff --git a/docs/source/locale/uk/LC_MESSAGES/install.po b/docs/source/locale/uk/LC_MESSAGES/install.po
index b57fab90..0e7c4c4f 100644
--- a/docs/source/locale/uk/LC_MESSAGES/install.po
+++ b/docs/source/locale/uk/LC_MESSAGES/install.po
@@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
"POT-Creation-Date: 2020-12-13 15:48-0800\n"
-"PO-Revision-Date: 2020-12-16 00:29+0000\n"
+"PO-Revision-Date: 2021-07-08 02:32+0000\n"
"Last-Translator: Ihor Hordiichuk <igor_ck@outlook.com>\n"
"Language-Team: none\n"
"Language: uk\n"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 4.4-dev\n"
+"X-Generator: Weblate 4.8.1-dev\n"
"Generated-By: Babel 2.9.0\n"
#: ../../source/install.rst:2
@@ -33,8 +33,8 @@ msgid ""
"You can download OnionShare for Windows and macOS from the `OnionShare "
"website <https://onionshare.org/>`_."
msgstr ""
-"Ви можете завантажити OnionShare для Windows та macOS із вебсайту "
-"`OnionShare website <https://onionshare.org/>`_."
+"Ви можете завантажити OnionShare для Windows та macOS із `вебсайту "
+"OnionShare <https://onionshare.org/>`_."
#: ../../source/install.rst:12
msgid "Install in Linux"
@@ -59,8 +59,8 @@ msgid ""
"Snap support is built-in to Ubuntu and Fedora comes with Flatpak support,"
" but which you use is up to you. Both work in all Linux distributions."
msgstr ""
-"Snap вбудовано в Ubuntu, а Flatpak — у Fedora, але те, чим ви користуєтеся "
-"залежить від вас. Обидва вони працюють у всіх дистрибутивах Linux."
+"Snap вбудовано в Ubuntu, а Flatpak — у Fedora, але ви самі можете обрати чим "
+"користуватися. Вони обоє працюють у всіх дистрибутивах Linux."
#: ../../source/install.rst:19
msgid ""
@@ -113,11 +113,10 @@ msgid ""
"<https://keys.openpgp.org/vks/v1/by-"
"fingerprint/927F419D7EC82C2F149C1BD1403C2657CD994F73>`_."
msgstr ""
-"Пакунки підписує Micah Lee, основний розробник, своїм відкритим ключем "
-"PGP з цифровим відбитком ``927F419D7EC82C2F149C1BD1403C2657CD994F73``. "
-"Ключ Micah можна завантажити `з сервера ключів keys.openpgp.org "
-"<https://keys.openpgp.org/vks/v1/by-"
-"fingerprint/927F419D7EC82C2F149C1BD1403C2657CD994F73>`_."
+"Пакунки підписує основний розробник Micah Lee своїм відкритим ключем PGP з "
+"цифровим відбитком ``927F419D7EC82C2F149C1BD1403C2657CD994F73``. Ключ Micah "
+"можна завантажити `з сервера ключів keys.openpgp.org <https://keys.openpgp."
+"org/vks/v1/by-fingerprint/927F419D7EC82C2F149C1BD1403C2657CD994F73>`_."
#: ../../source/install.rst:38
msgid ""
@@ -177,10 +176,10 @@ msgid ""
" the package, it only means you haven't already defined any level of "
"'trust' of Micah's PGP key.)"
msgstr ""
-"Якщо ви не бачите 'Good signature from', можливо, проблема з цілісністю "
-"файлу (шкідлива чи інша), і, можливо, вам не слід встановлювати пакунок. ("
-"Вказане раніше «ПОПЕРЕДЖЕННЯ» не є проблемою з пакунком: воно означає лише, "
-"що ви не визначили жодного рівня 'довіри' щодо самого ключа PGP від Micah.)"
+"Якщо ви не бачите «Good signature from», можливо, проблема з цілісністю "
+"файлу (зловмисна чи інша), і, можливо, вам не слід встановлювати пакунок. ("
+"Вказане раніше «ПОПЕРЕДЖЕННЯ» не є проблемою з пакунком: воно лише означає, "
+"що ви не визначено рівня «довіри» до самого ключа PGP від Micah.)"
#: ../../source/install.rst:71
msgid ""
@@ -189,10 +188,9 @@ msgid ""
" the `Tor Project <https://support.torproject.org/tbb/how-to-verify-"
"signature/>`_ may be useful."
msgstr ""
-"Якщо ви хочете дізнатися докладніше про перевірку підписів PGP, настанови "
-"для `Qubes OS <https://www.qubes-os.org/security/verifying-signatures/>`_ та "
-"`Tor Project <https://support.torproject.org/tbb/how-to-verify-signature/>`_ "
-"можуть допомогти."
+"Докладніше про перевірку підписів PGP читайте у настановах для `Qubes OS "
+"<https://www.qubes-os.org/security/verifying-signatures/>`_ та `Tor Project "
+"<https://support.torproject.org/tbb/how-to-verify-signature/>`_."
#~ msgid "For added security, see :ref:`verifying_sigs`."
#~ msgstr "Для додаткової безпеки перегляньте :ref:`verifying_sigs`."
diff --git a/docs/source/locale/uk/LC_MESSAGES/security.po b/docs/source/locale/uk/LC_MESSAGES/security.po
index 0df854e6..80cfbe8c 100644
--- a/docs/source/locale/uk/LC_MESSAGES/security.po
+++ b/docs/source/locale/uk/LC_MESSAGES/security.po
@@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
"POT-Creation-Date: 2020-12-13 15:48-0800\n"
-"PO-Revision-Date: 2020-12-16 00:29+0000\n"
+"PO-Revision-Date: 2021-07-08 02:32+0000\n"
"Last-Translator: Ihor Hordiichuk <igor_ck@outlook.com>\n"
"Language-Team: none\n"
"Language: uk\n"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 4.4-dev\n"
+"X-Generator: Weblate 4.8-dev\n"
"Generated-By: Babel 2.9.0\n"
#: ../../source/security.rst:2
@@ -103,12 +103,12 @@ msgstr ""
"**Якщо зловмисник дізнається про службу onion, він все одно не може отримати "
"доступ ні до чого.** Попередні напади на мережу Tor для виявлення служб "
"onion дозволили зловмиснику виявити приватні адреси .onion. Якщо напад "
-"виявить приватну адресу OnionShare, пароль не дозволить їм отримати до неї "
+"виявить приватну адресу OnionShare, пароль не дозволить йому отримати до неї "
"доступ (якщо користувач OnionShare не вирішив вимкнути його та зробити "
"службу загальнодоступною). Пароль створюється шляхом вибору двох випадкових "
-"слів зпереліку з 6800 слів, що робить 6800² або близько 46 мільйонів "
+"слів з переліку у 6800 слів, що робить 6800² або близько 46 мільйонів "
"можливих паролів. Можна здійснити лише 20 невдалих спроб, перш ніж "
-"OnionShare зупинить сервер, запобігаючи грубому намаганню зламу пароля."
+"OnionShare зупинить сервер, запобігаючи намаганню грубого зламу пароля."
#: ../../source/security.rst:20
msgid "What OnionShare doesn't protect against"
@@ -126,17 +126,16 @@ msgid ""
" disappearing messages enabled), encrypted email, or in person. This "
"isn't necessary when using OnionShare for something that isn't secret."
msgstr ""
-"**Зв’язок з адресою OnionShare може бути ненадійним.** Передача адреси "
-"OnionShare людям є відповідальністю користувача OnionShare. Якщо "
-"надіслано ненадійно (наприклад, через повідомлення електронною поштою, "
-"яку контролює зловмисник), підслуховувач може дізнатися, що "
-"використовується OnionShare. Якщо підслуховувачі завантажать адресу в Tor"
-" Browser, поки служба ще працює, вони можуть отримати до неї доступ. Щоб "
-"уникнути цього, адресу потрібно передавати надійно, за допомогою "
-"захищеного текстового повідомлення (можливо, з увімкненими "
-"повідомленнями, що зникають), захищеного електронного листа або особисто."
-" Це не потрібно при використанні OnionShare для чогось, що не є "
-"таємницею."
+"**Зв’язок з адресою OnionShare може бути ненадійним.** Відповідальність за "
+"передавання адреси OnionShare людям покладено на користувача OnionShare. "
+"Якщо її надіслано ненадійно (наприклад, через повідомлення електронною "
+"поштою, яку контролює зловмисник), підслуховувач може дізнатися, що ви "
+"користується OnionShare. Якщо підслуховувачі завантажать адресу в Tor "
+"Browser, поки служба ще працює, вони можуть отримати до неї доступ. Щоб "
+"уникнути цього, адресу потрібно передавати надійно, за допомогою захищеного "
+"текстового повідомлення (можливо, з увімкненими повідомленнями, що зникають)"
+", захищеного електронного листа або особисто. Це не потрібно якщо "
+"користуватися OnionShare для даних, які не є таємницею."
#: ../../source/security.rst:24
msgid ""
diff --git a/docs/source/locale/uk/LC_MESSAGES/tor.po b/docs/source/locale/uk/LC_MESSAGES/tor.po
index 9317e157..ddf4ab4f 100644
--- a/docs/source/locale/uk/LC_MESSAGES/tor.po
+++ b/docs/source/locale/uk/LC_MESSAGES/tor.po
@@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
"POT-Creation-Date: 2020-12-13 15:48-0800\n"
-"PO-Revision-Date: 2020-12-16 00:29+0000\n"
+"PO-Revision-Date: 2021-07-08 02:32+0000\n"
"Last-Translator: Ihor Hordiichuk <igor_ck@outlook.com>\n"
"Language-Team: none\n"
"Language: uk\n"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 4.4-dev\n"
+"X-Generator: Weblate 4.8-dev\n"
"Generated-By: Babel 2.9.0\n"
#: ../../source/tor.rst:2
@@ -160,7 +160,7 @@ msgstr ""
"Відкрийте OnionShare і натисніть на ньому піктограму «⚙». У розділі «Як "
"OnionShare повинен з'єднуватися з Tor?\" виберіть «Під'єднатися через порт "
"керування» та встановіть «Порт керування» на ``127.0.0.1`` та «Порт» на "
-"``9051``. У розділі «Параметри автентифікації Tor» виберіть «Пароль» і "
+"``9051``. У розділі «Налаштування автентифікації Tor» виберіть «Пароль» і "
"встановіть пароль для пароля контрольного порту, який ви вибрали раніше. "
"Натисніть кнопку «Перевірити з'єднання з Tor». Якщо все добре, ви побачите «"
"З'єднано з контролером Tor»."
@@ -194,11 +194,10 @@ msgid ""
"cookie authentication\". Click the \"Test Connection to Tor\" button."
msgstr ""
"Відкрийте OnionShare. Клацніть піктограму «⚙». У розділі «Як OnionShare "
-"повинен з'єднуватися з Tor?» виберіть «Під'єднуватися через файл сокета» "
-"та встановіть для файлу сокета шлях "
-"``/usr/local/var/run/tor/control.socket``. У розділі «Параметри "
-"автентифікації Tor» виберіть «Без автентифікації або автентифікація через"
-" cookie». Натисніть кнопку «Перевірити з'єднання з Tor»."
+"повинен з'єднуватися з Tor?» виберіть «Під'єднуватися через файл сокета» та "
+"встановіть для файлу сокета шлях ``/usr/local/var/run/tor/control.socket``. "
+"У розділі «Налаштування автентифікації Tor» виберіть «Без автентифікації або "
+"автентифікація через cookie». Натисніть кнопку «Перевірити з'єднання з Tor»."
#: ../../source/tor.rst:84 ../../source/tor.rst:104
msgid "If all goes well, you should see \"Connected to the Tor controller\"."
@@ -248,10 +247,10 @@ msgid ""
msgstr ""
"Перезапустіть комп'ютер. Після запуску, відкрийте OnionShare. Клацніть "
"піктограму «⚙». У розділі «Як OnionShare повинен з'єднуватися з Tor?» "
-"виберіть «Під'єднуватися через файл сокета» та встановіть для файлу "
-"сокета шлях ``/var/run/tor/control``. У розділі «Параметри автентифікації"
-" Tor» виберіть «Без автентифікації або автентифікація через cookie». "
-"Натисніть кнопку «Перевірити з'єднання з Tor»."
+"виберіть «Під'єднуватися через файл сокета» та встановіть для файлу сокета "
+"шлях ``/var/run/tor/control``. У розділі «Налаштування автентифікації Tor» "
+"виберіть «Без автентифікації або автентифікація через cookie». Натисніть "
+"кнопку «Перевірити з'єднання з Tor»."
#: ../../source/tor.rst:107
msgid "Using Tor bridges"
diff --git a/docs/source/security.rst b/docs/source/security.rst
index b56c7ff8..93ed3bce 100644
--- a/docs/source/security.rst
+++ b/docs/source/security.rst
@@ -14,11 +14,11 @@ What OnionShare protects against
**Anonymity of OnionShare users are protected by Tor.** OnionShare and Tor Browser protect the anonymity of the users. As long as the OnionShare user anonymously communicates the OnionShare address with the Tor Browser users, the Tor Browser users and eavesdroppers can't learn the identity of the OnionShare user.
-**If an attacker learns about the onion service, it still can't access anything.** Prior attacks against the Tor network to enumerate onion services allowed the attacker to discover private .onion addresses. If an attack discovers a private OnionShare address, a password will be prevent them from accessing it (unless the OnionShare user chooses to turn it off and make it public). The password is generated by choosing two random words from a list of 6800 words, making 6800², or about 46 million possible passwords. Only 20 wrong guesses can be made before OnionShare stops the server, preventing brute force attacks against the password.
+**If an attacker learns about the onion service, it still can't access anything.** Prior attacks against the Tor network to enumerate onion services allowed the attacker to discover private .onion addresses. If an attack discovers a private OnionShare address, but not the private key used for Client Authentication, they will be prevented from accessing it (unless the OnionShare user chooses to turn off the private key and make it public - see :ref:`turn_off_private_key`).
What OnionShare doesn't protect against
---------------------------------------
-**Communicating the OnionShare address might not be secure.** Communicating the OnionShare address to people is the responsibility of the OnionShare user. If sent insecurely (such as through an email message monitored by an attacker), an eavesdropper can tell that OnionShare is being used. If the eavesdropper loads the address in Tor Browser while the service is still up, they can access it. To avoid this, the address must be communicateed securely, via encrypted text message (probably with disappearing messages enabled), encrypted email, or in person. This isn't necessary when using OnionShare for something that isn't secret.
+**Communicating the OnionShare address and private key might not be secure.** Communicating the OnionShare address to people is the responsibility of the OnionShare user. If sent insecurely (such as through an email message monitored by an attacker), an eavesdropper can tell that OnionShare is being used. If the eavesdropper loads the address in Tor Browser while the service is still up, they can access it. To avoid this, the address must be communicateed securely, via encrypted text message (probably with disappearing messages enabled), encrypted email, or in person. This isn't necessary when using OnionShare for something that isn't secret.
-**Communicating the OnionShare address might not be anonymous.** Extra precautions must be taken to ensure the OnionShare address is communicated anonymously. A new email or chat account, only accessed over Tor, can be used to share the address. This isn't necessary unless anonymity is a goal.
+**Communicating the OnionShare address and private key might not be anonymous.** Extra precautions must be taken to ensure the OnionShare address is communicated anonymously. A new email or chat account, only accessed over Tor, can be used to share the address. This isn't necessary unless anonymity is a goal.
diff --git a/flatpak/org.onionshare.OnionShare.yaml b/flatpak/org.onionshare.OnionShare.yaml
index f09c80c5..f2ca9dcf 100644
--- a/flatpak/org.onionshare.OnionShare.yaml
+++ b/flatpak/org.onionshare.OnionShare.yaml
@@ -172,33 +172,6 @@ modules:
- type: file
url: https://files.pythonhosted.org/packages/10/27/a33329150147594eff0ea4c33c2036c0eadd933141055be0ff911f7f8d04/Werkzeug-1.0.1.tar.gz
sha256: 6c80b1e5ad3665290ea39320b91e1be1e0d5f60652b964a3070216de83d2e47c
- - name: python3-flask-httpauth
- buildsystem: simple
- build-commands:
- - pip3 install --exists-action=i --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST}
- "flask-httpauth"
- sources:
- - type: file
- url: https://files.pythonhosted.org/packages/4f/e7/65300e6b32e69768ded990494809106f87da1d436418d5f1367ed3966fd7/Jinja2-2.11.3.tar.gz
- sha256: a6d58433de0ae800347cab1fa3043cebbabe8baa9d29e668f1c768cb87a333c6
- - type: file
- url: https://files.pythonhosted.org/packages/27/6f/be940c8b1f1d69daceeb0032fee6c34d7bd70e3e649ccac0951500b4720e/click-7.1.2.tar.gz
- sha256: d2b5255c7c6349bc1bd1e59e08cd12acbbd63ce649f2588755783aa94dfb6b1a
- - type: file
- url: https://files.pythonhosted.org/packages/2d/6a/e458a74c909899d136aa76cb4d707f0f600fba6ca0d603de681e8fcac91f/Flask-HTTPAuth-4.2.0.tar.gz
- sha256: 8c7e49e53ce7dc14e66fe39b9334e4b7ceb8d0b99a6ba1c3562bb528ef9da84a
- - type: file
- url: https://files.pythonhosted.org/packages/b9/2e/64db92e53b86efccfaea71321f597fa2e1b2bd3853d8ce658568f7a13094/MarkupSafe-1.1.1.tar.gz
- sha256: 29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b
- - type: file
- url: https://files.pythonhosted.org/packages/68/1a/f27de07a8a304ad5fa817bbe383d1238ac4396da447fa11ed937039fa04b/itsdangerous-1.1.0.tar.gz
- sha256: 321b033d07f2a4136d3ec762eac9f16a10ccd60f53c0c91af90217ace7ba1f19
- - type: file
- url: https://files.pythonhosted.org/packages/4e/0b/cb02268c90e67545a0e3a37ea1ca3d45de3aca43ceb7dbf1712fb5127d5d/Flask-1.1.2.tar.gz
- sha256: 4efa1ae2d7c9865af48986de8aeb8504bf32c7f3d6fdc9353d34b21f4b127060
- - type: file
- url: https://files.pythonhosted.org/packages/10/27/a33329150147594eff0ea4c33c2036c0eadd933141055be0ff911f7f8d04/Werkzeug-1.0.1.tar.gz
- sha256: 6c80b1e5ad3665290ea39320b91e1be1e0d5f60652b964a3070216de83d2e47c
- name: python3-flask-socketio
buildsystem: simple
build-commands:
diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml
index 3c049e59..fc1795e8 100644
--- a/snap/snapcraft.yaml
+++ b/snap/snapcraft.yaml
@@ -1,6 +1,6 @@
name: onionshare
base: core18
-version: '2.3.2.dev1'
+version: '2.3.3'
summary: Securely and anonymously share files, host websites, and chat using Tor
description: |
OnionShare lets you securely and anonymously send and receive files. It works by starting
@@ -8,7 +8,7 @@ description: |
web address so others can download files from you, or upload files to you. It does _not_
require setting up a separate server or using a third party file-sharing service.
-grade: devel # stable or devel
+grade: stable # stable or devel
confinement: strict
apps:
@@ -23,6 +23,8 @@ apps:
- removable-media
extensions:
- gnome-3-34
+ environment:
+ LANG: C.UTF-8
cli:
common-id: org.onionshare.OnionShareCli
@@ -32,6 +34,8 @@ apps:
- network
- network-bind
- removable-media
+ environment:
+ LANG: C.UTF-8
parts:
onionshare:
@@ -40,7 +44,7 @@ parts:
python-version: python3
python-packages:
- psutil
- - pyside2==5.15.2
+ - pyside2 == 5.15.2
- qrcode
stage-packages:
- libasound2
@@ -113,22 +117,24 @@ parts:
- poetry
- click
- flask
- - flask-httpauth
- - flask-socketio
+ - flask-socketio == 5.0.1
- pycryptodome
+ - psutil
- pysocks
- requests
- stem
- urllib3
- eventlet
+ - setuptools
+ - colorama
stage:
- -usr/lib/x86_64-linux-gnu/libcrypto.so.1.1
- -usr/share/doc/libssl1.1/changelog.Debian.gz
after: [tor, obfs4]
tor:
- source: https://dist.torproject.org/tor-0.4.5.7.tar.gz
- source-checksum: sha256/447fcaaa133e2ef22427e98098a60a9c495edf9ff3e0dd13f484b9ad0185f074
+ source: https://dist.torproject.org/tor-0.4.6.7.tar.gz
+ source-checksum: sha256/ff665ce121b2952110bd98b9c8741b5593bf6c01ac09033ad848ed92c2510f9a
source-type: tar
plugin: autotools
build-packages: