summaryrefslogtreecommitdiff
path: root/desktop
diff options
context:
space:
mode:
authorMicah Lee <micah@micahflee.com>2021-05-25 17:08:19 -0700
committerMicah Lee <micah@micahflee.com>2021-05-25 17:08:19 -0700
commit40919dca6ff01b996eaf8fec44e6150a101864db (patch)
treec5248c15589c58289e6bc7988c4106966330f513 /desktop
parentdc7b80e2ef307ca9adc0514603a47f5057e5215f (diff)
parentc682b7ec01bdd395a0bbc8e652473bc9de90067b (diff)
downloadonionshare-40919dca6ff01b996eaf8fec44e6150a101864db.tar.gz
onionshare-40919dca6ff01b996eaf8fec44e6150a101864db.zip
Merge branch 'develop' into 1347_micah_scroll_options
Diffstat (limited to 'desktop')
-rw-r--r--desktop/src/onionshare/resources/locale/bn.json11
-rw-r--r--desktop/src/onionshare/resources/locale/de.json4
-rw-r--r--desktop/src/onionshare/resources/locale/el.json106
-rw-r--r--desktop/src/onionshare/resources/locale/fr.json8
-rw-r--r--desktop/src/onionshare/resources/locale/gl.json7
-rw-r--r--desktop/src/onionshare/resources/locale/hi.json9
-rw-r--r--desktop/src/onionshare/resources/locale/nl.json32
-rw-r--r--desktop/src/onionshare/resources/locale/ru.json13
-rw-r--r--desktop/src/onionshare/resources/locale/tr.json6
-rw-r--r--desktop/src/onionshare/resources/locale/uk.json6
-rw-r--r--desktop/tests/gui_base_test.py14
-rw-r--r--desktop/tests/test_gui_chat.py33
-rw-r--r--desktop/tests/test_gui_receive.py19
-rw-r--r--desktop/tests/test_gui_share.py17
-rw-r--r--desktop/tests/test_gui_website.py16
15 files changed, 222 insertions, 79 deletions
diff --git a/desktop/src/onionshare/resources/locale/bn.json b/desktop/src/onionshare/resources/locale/bn.json
index f0ab0d26..519ed878 100644
--- a/desktop/src/onionshare/resources/locale/bn.json
+++ b/desktop/src/onionshare/resources/locale/bn.json
@@ -285,5 +285,14 @@
"gui_main_page_chat_button": "চ্যাটিং শুরু করো",
"gui_main_page_website_button": "হোস্টিং শুরু করো",
"gui_main_page_receive_button": "গ্রহণ শুরু করো",
- "gui_color_mode_changed_notice": "নতুন রঙের মোড প্রয়োগ করার জন্য OnionShare পুনরারম্ভ করুন।"
+ "gui_color_mode_changed_notice": "নতুন রঙের মোড প্রয়োগ করার জন্য OnionShare পুনরারম্ভ করুন।",
+ "history_receive_read_message_button": "বার্তা পড়ুন",
+ "mode_settings_receive_webhook_url_checkbox": "বিজ্ঞপ্তি ওয়েবহুক ব্যবহার করুন",
+ "mode_settings_receive_disable_files_checkbox": "ফাইল আপলোড করা অক্ষম করুন",
+ "mode_settings_receive_disable_text_checkbox": "পাঠ্য জমা দেওয়া অক্ষম করুন",
+ "mode_settings_title_label": "কাস্টম শিরোনাম",
+ "gui_status_indicator_chat_started": "চ্যাট করছে",
+ "gui_status_indicator_chat_scheduled": "শিডিউল করা হয়েছে…",
+ "gui_status_indicator_chat_working": "শুরু…",
+ "gui_status_indicator_chat_stopped": "চ্যাট করতে প্রস্তুত"
}
diff --git a/desktop/src/onionshare/resources/locale/de.json b/desktop/src/onionshare/resources/locale/de.json
index 611cc4ce..4f04dd5b 100644
--- a/desktop/src/onionshare/resources/locale/de.json
+++ b/desktop/src/onionshare/resources/locale/de.json
@@ -303,6 +303,6 @@
"mode_settings_title_label": "Benutzerdefinierter Titel",
"gui_status_indicator_chat_started": "Chatted",
"gui_status_indicator_chat_scheduled": "Geplant…",
- "gui_status_indicator_chat_working": "Starte…",
+ "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 be7e7d46..173982a4 100644
--- a/desktop/src/onionshare/resources/locale/el.json
+++ b/desktop/src/onionshare/resources/locale/el.json
@@ -10,7 +10,7 @@
"not_a_readable_file": "Το {0:s} δεν είναι αναγνώσιμο αρχείο.",
"no_available_port": "Δεν βρέθηκε διαθέσιμη θύρα για να ξεκινήσει η υπηρεσία onion",
"other_page_loaded": "Η διεύθυνση φορτώθηκε",
- "close_on_autostop_timer": "Τερματίστηκε λόγω της αυτόματης διακοπής",
+ "close_on_autostop_timer": "Τερματίστηκε λόγω αυτόματης διακοπής",
"closing_automatically": "Τερματίστηκε λόγω ολοκλήρωσης της λήψης",
"timeout_download_still_running": "Αναμονή ολοκλήρωσης της λήψης",
"large_filesize": "Προειδοποίηση: Η αποστολή μεγάλου όγκου δεδομένων μπορεί να διαρκέσει ώρες",
@@ -39,8 +39,8 @@
"gui_share_stop_server": "Τερματισμός διαμοιρασμού",
"gui_share_stop_server_autostop_timer": "Διακοπή διαμοιρασμού ({})",
"gui_share_stop_server_autostop_timer_tooltip": "Το χρονόμετρο αυτόματου τερματισμού τελειώνει σε {}",
- "gui_receive_start_server": "Εκκίνηση κατάστασης λήψης",
- "gui_receive_stop_server": "Τερματισμός κατάστασης λήψης",
+ "gui_receive_start_server": "Εκκίνηση λειτουργίας λήψης",
+ "gui_receive_stop_server": "Τερματισμός λειτουργίας λήψης",
"gui_receive_stop_server_autostop_timer": "Διακοπή λειτουργίας λήψης (απομένουν {})",
"gui_receive_stop_server_autostop_timer_tooltip": "Το χρονόμετρο αυτόματου τερματισμού τελειώνει σε {}",
"gui_copy_url": "Αντιγραφή διεύθυνσης",
@@ -49,9 +49,9 @@
"gui_no_downloads": "Καμία λήψη ως τώρα",
"gui_canceled": "Ακυρώθηκε",
"gui_copied_url_title": "Η διεύθυνση OnionShare αντιγράφτηκε",
- "gui_copied_url": "Η διεύθυνση OnionShare αντιγράφτηκε στον πίνακα",
+ "gui_copied_url": "Η διεύθυνση OnionShare αντιγράφτηκε στο πρόχειρο",
"gui_copied_hidservauth_title": "Το HidServAuth αντιγράφτηκε",
- "gui_copied_hidservauth": "Το HidServAuth αντιγράφτηκε στον πίνακα",
+ "gui_copied_hidservauth": "Το HidServAuth αντιγράφτηκε στο πρόχειρο",
"gui_please_wait": "Ξεκινάμε... Κάντε κλικ για ακύρωση.",
"gui_download_upload_progress_complete": "%p%, {0:s} πέρασαν.",
"gui_download_upload_progress_starting": "{0:s}, %p% (υπολογισμός)",
@@ -62,8 +62,8 @@
"gui_receive_quit_warning": "Αυτή τη στιγμή παραλαμβάνονται αρχείων. Είστε σίγουρος/η πώς θέλετε να κλείσετε το OnionShare;",
"gui_quit_warning_quit": "Έξοδος",
"gui_quit_warning_dont_quit": "Ακύρωση",
- "error_rate_limit": "Κάποιος/α έκανε πολλαπλές αποτυχημένες προσπάθειες να μαντέψει τον κωδικό σας. Γι' αυτό, το OnionShare σταμάτησε τον server. Ξεκινήστε πάλι το διαμοιρασμό και στείλτε στον/ην παραλήπτη/τρια μια νέα διεύθυνση για διαμοιρασμό.",
- "zip_progress_bar_format": "Συμπίεση: %p%",
+ "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": "Ρυθμίσεις",
@@ -71,7 +71,7 @@
"gui_settings_stealth_option": "Χρήση εξουσιοδότησης πελάτη",
"gui_settings_stealth_hidservauth_string": "Έχοντας αποθηκεύσει το ιδιωτικό σας κλειδί για επαναχρησιμοποίηση, μπορείτε πλέον να επιλέξετε την αντιγραφή του HidServAuth σας.",
"gui_settings_autoupdate_label": "Έλεγχος για νέα έκδοση",
- "gui_settings_autoupdate_option": "Ενημερώστε με όταν είναι διαθέσιμη μια νέα έκδοση",
+ "gui_settings_autoupdate_option": "Ενημερώστε με μόλις γίνει διαθέσιμη μια νέα έκδοση",
"gui_settings_autoupdate_timestamp": "Τελευταίος έλεγχος: {}",
"gui_settings_autoupdate_timestamp_never": "Ποτέ",
"gui_settings_autoupdate_check_button": "Έλεγχος για νέα έκδοση",
@@ -86,20 +86,20 @@
"gui_settings_connection_type_test_button": "Έλεγχος σύνδεσης με το Tor",
"gui_settings_control_port_label": "Πύλη ελέγχου",
"gui_settings_socket_file_label": "Αρχείο μετάβασης",
- "gui_settings_socks_label": "πύλη SOCKS",
+ "gui_settings_socks_label": "Πύλη SOCKS",
"gui_settings_authenticate_label": "Ρυθμίσεις επαλήθευσης Tor",
"gui_settings_authenticate_no_auth_option": "Χωρίς επαλήθευση ή επαλήθευση με cookie",
"gui_settings_authenticate_password_option": "Κωδικός",
"gui_settings_password_label": "Κωδικός",
- "gui_settings_tor_bridges": "Υποστήριξη Tor bridge",
- "gui_settings_tor_bridges_no_bridges_radio_option": "Να μη χρησιμοποιηθούν bridges",
+ "gui_settings_tor_bridges": "Υποστήριξη γεφυρών Tor",
+ "gui_settings_tor_bridges_no_bridges_radio_option": "Να μη χρησιμοποιηθούν γέφυρες",
"gui_settings_tor_bridges_obfs4_radio_option": "Να χρησιμοποιηθούν τα ενσωματωμένα obfs4 pluggable transports",
- "gui_settings_tor_bridges_obfs4_radio_option_no_obfs4proxy": "Να χρησιμοποιηθούν τα ενσωματωμένα obfs4 pluggable transports (απαιτείται το obfs4proxy)",
+ "gui_settings_tor_bridges_obfs4_radio_option_no_obfs4proxy": "Να χρησιμοποιηθούν τα ενσωματωμένα obfs4 pluggable transports (απαιτείται το πρόγραμμα obfs4proxy)",
"gui_settings_tor_bridges_meek_lite_azure_radio_option": "Να χρησιμοποιηθουν τα ενσωματωμένα meek_lite (Azure) pluggable transports",
- "gui_settings_tor_bridges_meek_lite_azure_radio_option_no_obfs4proxy": "Να χρησιμοποιηθούν τα ενσωματωμένα meek_lite (Azure) pluggable transports (απαιτείται το obfs4proxy)",
+ "gui_settings_tor_bridges_meek_lite_azure_radio_option_no_obfs4proxy": "Να χρησιμοποιηθούν τα ενσωματωμένα meek_lite (Azure) pluggable transports (απαιτείται το πρόγραμμα obfs4proxy)",
"gui_settings_meek_lite_expensive_warning": "Προσοχή: Τα meek_lite bridges επιβαρύνουν πολύ το Tor Project στη λειτουργία. <br><br> Χρησιμοποιήστε τα μόνο αν δεν μπορείτε να συνδεθείτε κατ' ευθείαν στο Tor μέσω obfs4 transports ή άλλων κανονικών bridges.",
- "gui_settings_tor_bridges_custom_radio_option": "Χρήση παραμετροποιημένων bridges",
- "gui_settings_tor_bridges_custom_label": "Αποκτήστε bridges στο <a href=\"https://bridges.torproject.org/options?lang=el\"> https://bridges.torproject.org</a>",
+ "gui_settings_tor_bridges_custom_radio_option": "Χρήση παραμετροποιημένων γεφυρών",
+ "gui_settings_tor_bridges_custom_label": "Αποκτήστε γέφυρες στο <a href=\"https://bridges.torproject.org/options?lang=el\"> https://bridges.torproject.org</a>",
"gui_settings_tor_bridges_invalid": "Δεν λειτούργησε κάποιο από τα bridges που προσθέσατε.\nΞαναελέγξτε τα ή προσθέστε άλλα.",
"gui_settings_button_save": "Αποθήκευση",
"gui_settings_button_cancel": "Άκυρο",
@@ -107,30 +107,30 @@
"gui_settings_autostop_timer_checkbox": "Χρήση χρονομέτρου αυτόματης διακοπής",
"gui_settings_autostop_timer": "Διακοπή διαμοιρασμού σε:",
"settings_error_unknown": "Αποτυχία σύνδεσης στον ελεγκτή Tor, γιατί οι ρυθμίσεις σας δεν βγάζουν κανένα νόημα.",
- "settings_error_automatic": "Αδυναμία σύνδεσης στον ελεγκτή Tor. Λειτουργεί ο Tor Browser (διαθέσιμος στο torproject.org) στο παρασκήνιο;",
- "settings_error_socket_port": "Αδυναμία σύνδεσης στον ελεγκτή Tor στις {}:{}.",
- "settings_error_socket_file": "Αποτυχία σύνδεσης στον ελεγκτή Tor χρησιμοποιώντας το αρχείο socket {}.",
+ "settings_error_automatic": "Δεν ήταν δυνατή η σύνδεση στον ελεγκτή Tor. Λειτουργεί ο Tor Browser (διαθέσιμος στο torproject.org) στο παρασκήνιο;",
+ "settings_error_socket_port": "Δεν ήταν δυνατή η σύνδεση στον ελεγκτή Tor στις {}:{}.",
+ "settings_error_socket_file": "Δεν ήταν δυνατή η σύνδεση στον ελεγκτή Tor χρησιμοποιώντας το αρχείο socket {}.",
"settings_error_auth": "Εγινε σύνδεση με {}:{}, αλλα δεν μπορεί να γίνει πιστοποίηση. Ίσως δεν είναι ελεγκτής Tor;",
"settings_error_missing_password": "Έγινε σύνδεση με τον ελεγκτή Tor, αλλά απαιτείται κωδικός για πιστοποίηση.",
- "settings_error_unreadable_cookie_file": "Έγινε σύνδεση με τον ελεγκτή Tor, αλλα ο κωδικός πιθανόν να είναι λάθος, ή δεν επιτρέπεται στο χρήστη να διαβάζει αρχεία cookie.",
+ "settings_error_unreadable_cookie_file": "Έγινε σύνδεση με τον ελεγκτή Tor, αλλα ο κωδικός ενδέχεται να είναι λανθασμένος, ή δεν σας επιτρέπεται να διαβάζετε αρχεία cookie.",
"settings_error_bundled_tor_not_supported": "Η χρήση της έκδοσης Tor που περιέχεται στο OnionShare δεν είναι συμβατή με το περιβάλλον προγραμματιστή σε Windows ή macOS.",
- "settings_error_bundled_tor_timeout": "Η σύνδεση με Tor αργεί αρκετά. Ισως δεν είστε συνδεδεμένοι στο Διαδίκτυο ή το ρολόι του συστήματος δεν είναι σωστό;",
+ "settings_error_bundled_tor_timeout": "Η σύνδεση με Tor καθυστερεί αρκετά. Ίσως δεν είστε συνδεδεμένοι στο Διαδίκτυο ή το ρολόι του συστήματος δεν είναι ρυθμισμένο σωστά;",
"settings_error_bundled_tor_broken": "Το OnionShare δεν μπορεί να συνδεθεί με το Tor στο παρασκήνιο:\n{}",
- "settings_test_success": "Εγινε σύνδεση με τον ελεγκτή Tor.\n\nΕκδοση Tor: {}\nΥποστηρίζει εφήμερες υπηρεσίες onion: {}.\nΥποστηρίζει πιστοποίηση πελάτη: {}.\nΥποστηρίζει νέας γενιάς διευθύνσεις .onion: {}.",
- "error_tor_protocol_error": "Υπήρξε σφάλμα με το Tor: {}",
+ "settings_test_success": "Εγινε σύνδεση με τον ελεγκτή Tor.\n\nΕκδοση Tor: {}\nΥποστηρίζει εφήμερες υπηρεσίες onion: {}.\nΥποστηρίζει πιστοποίηση πελάτη: {}.\nΥποστηρίζει διευθύνσεις .onion νέας γενιάς: {}.",
+ "error_tor_protocol_error": "Προέκυψε σφάλμα με το Tor: {}",
"error_tor_protocol_error_unknown": "Υπήρξε άγνωστο σφάλμα με το Tor",
"error_invalid_private_key": "Αυτο το ιδιωτικό κλειδί δεν υποστηρίζεται",
"connecting_to_tor": "Γίνεται σύνδεση στο δίκτυο Tor",
- "update_available": "Βγήκε ενα νέο OnionShare. <a href='{}'>Κάντε κλικ εδώ</a> για να το λάβετε.<br><br>Χρησιμοποιείτε {} και το πιό πρόσφατο είναι το {}.",
- "update_error_check_error": "Δεν μπόρεσε να γίνει έλεγχος για νέα έκδοση: ίσως δεν είστε συνδεδεμένοι στο Tor ή ο ιστότοπος OnionShare είναι εκτός λειτουργίας;",
- "update_error_invalid_latest_version": "Δεν μπορεί να γίνει έλεγχος για νέα έκδοση: η ιστοσελίδα OnionShare αναφέρει ότι η τελευταία έκδοση είναι η μη αναγνωρίσιμη \"{}\"…",
- "update_not_available": "Έχετε την πιό πρόσφατη έκδοση του OnionShare.",
- "gui_tor_connection_ask": "Άνοιγμα των ρυθμίσεων για να επιλύσετε την σύνδεση με το Tor;",
+ "update_available": "Υπάρχει διαθέσιμη ενημέρωση. <a href='{}'>Κάντε κλικ εδώ</a> για να την αποκτήσετε.<br><br>Χρησιμοποιείτε την έκδοση {}, ενώ η πιο πρόσφατη είναι η {}.",
+ "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_open_settings": "Ναι",
"gui_tor_connection_ask_quit": "Έξοδος",
- "gui_tor_connection_error_settings": "Προσπαθήστε να αλλάξετε τον τρόπο σύνδεσης του OnionShare με το δίκτυο Tor από τις ρυθμίσεις.",
- "gui_tor_connection_canceled": "Δεν μπόρεσε να γίνει σύνδεση στο Tor.\n\nΕλέγξτε ότι είστε συνδεδεμένος/η στο Διαδίκτυο, επανεκκινήστε το OnionShare και ρυθμίστε την σύνδεση με το Tor.",
- "gui_tor_connection_lost": "Έγινε αποσύνδεση από το Tor.",
+ "gui_tor_connection_error_settings": "Ίσως να ήταν καλή ιδέα να αλλάξετε τον τρόπο σύνδεσης του OnionShare με το δίκτυο Tor από τις ρυθμίσεις.",
+ "gui_tor_connection_canceled": "Δεν ήταν δυνατή η σύνδεση στο δίκτυο του Tor.\n\nΕλέγξτε ότι είστε συνδεδεμένος/η στο Διαδίκτυο, επανεκκινήστε το OnionShare και ρυθμίστε την σύνδεση με το Tor.",
+ "gui_tor_connection_lost": "Έγινε αποσύνδεση από το δίκτυο του Tor.",
"gui_server_started_after_autostop_timer": "Το χρονόμετρο αυτόματης διακοπής τελείωσε πριν την εκκίνηση του server. Παρακαλώ κάντε ένα νέο διαμοιρασμό.",
"gui_server_autostop_timer_expired": "Το χρονόμετρο αυτόματης διακοπής έχει ήδη τελειώσει. Παρακαλώ ρυθμίστε το για να ξεκινήσετε το διαμοιρασμό.",
"share_via_onionshare": "Μοιραστείτε μέσω OnionShare",
@@ -138,15 +138,15 @@
"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='{}' />",
- "gui_url_label_persistent": "Αυτός ο διαμοιρασμός δεν θα λήξει αυτόματα.<br><br>Οποιοσδήποτε επακόλουθος διαμοιρασμός θα επαναχρησιμοποιήσει αυτή τη διεύθυνση. (Για να χρησιμοποιήσετε διευθύνσεις μιας χρήσης, απενεργοποιήστε τη λειτουργία \"Χρήση μόνιμης διεύθυνσης\" στις Ρυθμίσεις.)",
- "gui_url_label_stay_open": "Αυτός ο διαμοιρασμός δε λήγει αυτόματα.",
+ "gui_url_label_persistent": "Αυτή η σελίδα διαμοιρασμού δεν θα πάψει να λειτουργεί αυτόματα.<br><br>Όσοι μοιράζονται αρχεία μαζί σας θα μπορέσουν να ξαναχρησιμοποιήσουν αυτή τη διεύθυνση αργότερα. (Για να χρησιμοποιήσετε διευθύνσεις μιας χρήσης, απενεργοποιήστε τη λειτουργία \"Χρήση μόνιμης διεύθυνσης\" στις Ρυθμίσεις.)",
+ "gui_url_label_stay_open": "Αυτή η σελίδα διαμοιρασμού δεν θα πάψει να λειτουργεί αυτόματα.",
"gui_url_label_onetime": "Αυτός ο διαμοιρασμός θα σταματήσει μετά την πρώτη λήψη.",
- "gui_url_label_onetime_and_persistent": "Αυτός ο διαμοιρασμός δεν θα λήξει αυτόματα.<br><br>Οποιοσδήποτε επακόλουθος διαμοιρασμός θα επαναχρησιμοποιήσει αυτή τη διεύθυνση. (Για να χρησιμοποιήσετε διευθύνσεις μιας χρήσης, απενεργοποιήστε τη λειτουργία \"Χρήση μόνιμης διεύθυνσης\" στις Ρυθμίσεις.)",
+ "gui_url_label_onetime_and_persistent": "Αυτή η σελίδα διαμοιρασμού δεν θα πάψει να λειτουργεί αυτόματα.<br><br>Οποιοσδήποτε επακόλουθος διαμοιρασμός θα επαναχρησιμοποιήσει αυτή τη διεύθυνση. (Για να χρησιμοποιήσετε διευθύνσεις μιας χρήσης, απενεργοποιήστε τη λειτουργία \"Χρήση μόνιμης διεύθυνσης\" στις Ρυθμίσεις.)",
"gui_status_indicator_share_stopped": "Έτοιμο για διαμοιρασμό",
"gui_status_indicator_share_working": "Εκκίνηση…",
- "gui_status_indicator_share_started": "Διαμοιρασμός",
+ "gui_status_indicator_share_started": "Γίνεται αποστολή",
"gui_status_indicator_receive_stopped": "Έτοιμο για λήψη",
- "gui_status_indicator_receive_working": "Ξεκινάει…",
+ "gui_status_indicator_receive_working": "Γίνεται εκκίνηση…",
"gui_status_indicator_receive_started": "Γίνεται λήψη",
"gui_file_info": "{} αρχεία, {}",
"gui_file_info_single": "{} αρχείο, {}",
@@ -186,7 +186,7 @@
"gui_add_files": "Προσθήκη αρχείων",
"gui_add_folder": "Προσθήκη φακέλου",
"gui_connect_to_tor_for_onion_settings": "Συνδεθείτε στο Tor για να δείτε τις ρυθμίσεις της υπηρεσίας onion",
- "error_cannot_create_data_dir": "Δεν μπόρεσε να δημιουργηθεί φάκελος δεδομένων OnionShare: {}",
+ "error_cannot_create_data_dir": "Δεν ήταν δυνατή η δημιουργία φακέλου δεδομένων OnionShare: {}",
"receive_mode_data_dir": "Τα αρχεία που στάλθηκαν σε εσας εμφανίζοντε στον φάκελο: {}",
"gui_settings_data_dir_label": "Αποθήκευση αρχείων σε",
"gui_settings_data_dir_browse_button": "Περιήγηση",
@@ -207,7 +207,7 @@
"gui_all_modes_progress_complete": "%p%, πέρασαν {0:s}.",
"gui_all_modes_progress_starting": "{0:s}, %p% (γίνεται υπολογισμός)",
"gui_all_modes_progress_eta": "{0:s}, Εκτιμώμενος χρόνος: {1:s}, %p%",
- "gui_share_mode_no_files": "Δεν στάλθηκαν ακόμα αρχεία",
+ "gui_share_mode_no_files": "Δεν έχουν αποσταλεί ακόμα αρχεία",
"gui_share_mode_autostop_timer_waiting": "Αναμένεται η ολοκλήρωση της αποστολής",
"gui_receive_mode_no_files": "Δεν έχει γίνει λήψη αρχείων ακόμα",
"gui_receive_mode_autostop_timer_waiting": "Αναμένεται η ολοκλήρωση της λήψης",
@@ -216,7 +216,7 @@
"gui_all_modes_transfer_canceled": "Ακυρώθηκε {}",
"gui_stop_server_autostop_timer_tooltip": "Το χρονόμετρο αυτόματης διακοπής λήγει σε {}",
"gui_start_server_autostart_timer_tooltip": "Το χρονόμετρο αυτόματης εκκίνησης λήγει σε {}",
- "gui_waiting_to_start": "Προγραμματισμένο να ξεκινήσει σε {}. Πατήστε για ακύρωση.",
+ "gui_waiting_to_start": "Προγραμματισμένο να ξεκινήσει σε {}. Κάντε κλικ για ακύρωση.",
"gui_settings_autostart_timer_checkbox": "Χρήση χρονομέτρου αυτόματης έναρξης",
"gui_settings_autostart_timer": "Εκκίνηση διαμοιρασμού σε:",
"gui_server_autostart_timer_expired": "Η προγραμματισμένη ώρα έχει ήδη παρέλθει. Παρακαλώ ρυθμίστε τη για να ξεκινήσετε το διαμοιρασμό.",
@@ -227,16 +227,16 @@
"hours_first_letter": "ώ",
"minutes_first_letter": "λ",
"seconds_first_letter": "δ",
- "gui_website_url_description": "<b>Οποιοσδήποτε</b> με αυτή τη διεύθυνση OnionShare μπορεί <b>να επισκεφτεί</b> την ιστοσελία χρησιμοποιώντας τον <b>Tor Browser</b>: <img src='{}' />",
+ "gui_website_url_description": "<b>Οποιοσδήποτε</b> με αυτή τη διεύθυνση OnionShare μπορεί <b>να επισκεφτεί</b> την ιστοσελίδα χρησιμοποιώντας τον <b>Tor Browser</b>: <img src='{}' />",
"gui_mode_website_button": "Δημοσίευση ιστοσελίδας",
- "gui_website_mode_no_files": "Η ιστοσελίδα δεν έχει μοιραστεί ακόμα",
- "incorrect_password": "Λάθος κωδικός πρόσβασης",
+ "gui_website_mode_no_files": "Δεν έχει γίνει διαμοιρασμός ιστοσελίδας ακόμα",
+ "incorrect_password": "Λάθος κωδικός",
"gui_settings_individual_downloads_label": "Απεπιλέξτε για να επιτρέψετε τη λήψη μεμονωμένων αρχείων",
"history_requests_tooltip": "{} αιτήματα δικτύου",
"gui_settings_csp_header_disabled_option": "Απενεργοποίηση της κεφαλίδας Content Security Policy",
"gui_settings_website_label": "Ρυθμίσεις ιστοσελίδας",
"gui_open_folder_error": "Το άνοιγμα του φακέλου με xdg-open απέτυχε. Το αρχείο βρίσκετε : {}",
- "gui_receive_flatpak_data_dir": "Επειδή εγκαταστήσατε το OnionShare με χρήση του Flatpak, πρέπει να αποθηκεύσετε τα αρχεία σε φάκελο ~/OnionShare.",
+ "gui_receive_flatpak_data_dir": "Επειδή έχετε εγκαταστήσει το OnionShare μέσω Flatpak, θα πρέπει να αποθηκεύσετε τα αρχεία μέσα σε έναν φάκελο στο ~/OnionShare.",
"gui_chat_stop_server": "Τερματισμός διακομιστή συνομιλίας",
"gui_chat_start_server": "Έναρξη διακομιστή συνομιλίας",
"mode_settings_website_disable_csp_checkbox": "Μην στέλνετε κεφαλίδα με περιεχόμενο από την πολιτικής ασφάλειας σας (επιτρέπει στην ιστοσελίδα σας να χρησιμοποιεί πόρους τρίτων)",
@@ -252,15 +252,15 @@
"mode_settings_advanced_toggle_hide": "Απόκρυψη προχωρημένων ρυθμίσεων",
"mode_settings_advanced_toggle_show": "Εμφάνιση προχωρημένων ρυθμίσεων",
"gui_quit_warning_cancel": "Άκυρο",
- "gui_quit_warning_description": "Είναι ενεργή η κοινή χρήση σε ορισμένες καρτέλες. Εάν κάνετε έξοδο, όλες οι καρτέλες σας θα κλείσουν. Είστε σίγουροι;",
- "gui_quit_warning_title": "Είστε σίγουροι;",
+ "gui_quit_warning_description": "Είναι ενεργή η κοινή χρήση σε ορισμένες καρτέλες. Εάν κάνετε έξοδο, όλες οι καρτέλες σας θα κλείσουν. Είστε σίγουρος/η;",
+ "gui_quit_warning_title": "Είστε σίγουρος/η;",
"gui_close_tab_warning_cancel": "Άκυρο",
"gui_close_tab_warning_close": "Κλείσιμο",
- "gui_close_tab_warning_website_description": "Φιλοξενείτε ενεργά έναν ιστότοπο. Είστε βέβαιοι ότι θέλετε να κλείσετε την καρτέλα;",
- "gui_close_tab_warning_receive_description": "Η λήψη αρχείων δεν ολοκληρώθηκε. Είστε βέβαιοι ότι θέλετε να κλείσετε την καρτέλα;",
- "gui_close_tab_warning_share_description": "Η αποστολή αρχείων δεν ολοκληρώθηκε. Είστε βέβαιοι ότι θέλετε να κλείσετε την καρτέλα;",
- "gui_close_tab_warning_persistent_description": "Η καρτέλα δεν είναι μόνιμη. Εάν την κλείσετε, θα χαθεί η διεύθυνση onion που χρησιμοποιεί. Είστε βέβαιοι ότι θέλετε να την κλείσετε;",
- "gui_close_tab_warning_title": "Είστε σίγουροι;",
+ "gui_close_tab_warning_website_description": "Φιλοξενείτε έναν ιστότοπο. Είστε βέβαιος/η ότι θέλετε να κλείσετε την καρτέλα;",
+ "gui_close_tab_warning_receive_description": "Η λήψη αρχείων δεν έχει ολοκληρωθεί. Είστε βέβαιος/η ότι θέλετε να κλείσετε την καρτέλα;",
+ "gui_close_tab_warning_share_description": "Η αποστολή αρχείων δεν έχει ολοκληρωθεί ακόμα. Είστε βέβαιος/η ότι θέλετε να κλείσετε την καρτέλα;",
+ "gui_close_tab_warning_persistent_description": "Η καρτέλα δεν είναι μόνιμη. Εάν την κλείσετε, θα χαθεί η διεύθυνση onion που χρησιμοποιείτε. Είστε βέβαιοι ότι θέλετε να την κλείσετε;",
+ "gui_close_tab_warning_title": "Είστε σίγουρος/η;",
"gui_tab_name_chat": "Συνομιλία",
"gui_tab_name_website": "Ιστότοπος",
"gui_tab_name_receive": "Λήψη",
@@ -270,9 +270,9 @@
"gui_main_page_receive_button": "Έναρξη λήψης",
"gui_main_page_share_button": "Έναρξη διαμοιρασμού",
"gui_new_tab_chat_button": "Συνομιλήστε ανώνυμα",
- "gui_new_tab_website_button": "Φιλοξενήστε έναν ιστότοπο",
+ "gui_new_tab_website_button": "Φιλοξενία ιστότοπου",
"gui_new_tab_receive_button": "Λήψη αρχείων",
- "gui_new_tab_share_button": "Διαμοιράστε αρχεία",
+ "gui_new_tab_share_button": "Διαμοιρασμός αρχείων",
"gui_new_tab_tooltip": "Άνοιγμα νέας καρτέλας",
"gui_new_tab": "Νέα καρτέλα",
"gui_qr_code_dialog_title": "Κώδικας QR OnionShare",
@@ -282,7 +282,7 @@
"error_port_not_available": "Η θύρα OnionShare δεν είναι διαθέσιμη",
"gui_rendezvous_cleanup_quit_early": "Πρόωρη έξοδος",
"gui_rendezvous_cleanup": "Αναμονή για τερματισμό των κυκλωμάτων του Tor για να βεβαιωθείτε ότι τα αρχεία σας έχουν μεταφερθεί με επιτυχία.\n\nΑυτό μπορεί να διαρκέσει λίγα λεπτά.",
- "gui_chat_url_description": "<b>Οποιοσδήποτε</b> με αυτή τη διεύθυνση του OnionShare μπορεί <b>να συμμετέχει στο chat</b> με χρήση του <b>Tor Browser</b>: <img src='{}' />",
+ "gui_chat_url_description": "<b>Οποιοσδήποτε</b> με αυτή τη διεύθυνση του OnionShare μπορεί <b>να συμμετέχει στο δωμάτιο συνομιλίας</b> με χρήση του <b>Tor Browser</b>: <img src='{}' />",
"gui_color_mode_changed_notice": "Επανεκκινήστε το OnionShare για εφαρμοστεί το νέο χρώμα.",
"history_receive_read_message_button": "Ανάγνωση μηνύματος",
"mode_settings_receive_webhook_url_checkbox": "Χρήση ειδοποίησης webhook",
@@ -293,4 +293,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/fr.json b/desktop/src/onionshare/resources/locale/fr.json
index f23a11e9..8c4bf20a 100644
--- a/desktop/src/onionshare/resources/locale/fr.json
+++ b/desktop/src/onionshare/resources/locale/fr.json
@@ -95,7 +95,7 @@
"settings_error_missing_password": "Vous êtes connecté au contrôleur Tor, mais il exige un mot de passe d’authentification.",
"settings_error_unreadable_cookie_file": "Vous êtes connecté au contrôleur Tor, mais le mot de passe est peut-être erroné ou votre utilisateur n’est pas autorisé à lire le fichier témoin.",
"settings_error_bundled_tor_not_supported": "Utiliser la version de Tor intégrée à OnionShare ne fonctionne pas en mode développeur sous Windows ou macOS.",
- "settings_error_bundled_tor_timeout": "La connexion à Tor prend trop de temps. Vous n’êtes peut-être pas connecté à Internet ou votre horloge système est mal réglée.",
+ "settings_error_bundled_tor_timeout": "La connexion à Tor prend trop de temps. Vous n’êtes peut-être pas connecté à Internet ou votre horloge système est-elle mal réglée ?",
"settings_error_bundled_tor_broken": "OnionShare n’a pas réussi à se connecter à Tor :\n{}",
"error_tor_protocol_error": "Une erreur est survenue avec Tor : {}",
"error_tor_protocol_error_unknown": "Une erreur inconnue est survenue avec Tor",
@@ -300,5 +300,9 @@
"mode_settings_receive_webhook_url_checkbox": "Utiliser un point d’ancrage Web de notification",
"mode_settings_receive_disable_files_checkbox": "Désactiver le téléversement de fichiers",
"mode_settings_receive_disable_text_checkbox": "Désactiver l’envoi de texte",
- "mode_settings_title_label": "Titre personnalisé"
+ "mode_settings_title_label": "Titre personnalisé",
+ "gui_status_indicator_chat_started": "En conversation",
+ "gui_status_indicator_chat_scheduled": "Planifié…",
+ "gui_status_indicator_chat_working": "Démarrage…",
+ "gui_status_indicator_chat_stopped": "Prêt à dialoguer"
}
diff --git a/desktop/src/onionshare/resources/locale/gl.json b/desktop/src/onionshare/resources/locale/gl.json
index 86fc7b8e..67b095cc 100644
--- a/desktop/src/onionshare/resources/locale/gl.json
+++ b/desktop/src/onionshare/resources/locale/gl.json
@@ -196,5 +196,10 @@
"history_receive_read_message_button": "Ler mensaxe",
"mode_settings_receive_disable_files_checkbox": "Desactivar a subida de ficheiros",
"mode_settings_receive_disable_text_checkbox": "Desactivar o envío de texto",
- "mode_settings_title_label": "Título personalizado"
+ "mode_settings_title_label": "Título personalizado",
+ "mode_settings_receive_webhook_url_checkbox": "Usar webhook de notificación",
+ "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"
}
diff --git a/desktop/src/onionshare/resources/locale/hi.json b/desktop/src/onionshare/resources/locale/hi.json
index 9cfc310d..e5a6d893 100644
--- a/desktop/src/onionshare/resources/locale/hi.json
+++ b/desktop/src/onionshare/resources/locale/hi.json
@@ -21,7 +21,7 @@
"help_verbose": "",
"help_filename": "",
"help_config": "",
- "gui_drag_and_drop": "साझा शुरू करने के लिए\nफाइलों एवं फोल्डरों को ड्रैग और ड्रॉप करें",
+ "gui_drag_and_drop": "साझा शुरू करने के लिए फाइलों एवं फोल्डरों को ड्रैग और ड्रॉप करें",
"gui_add": "जोड़ें",
"gui_add_files": "फाइल जोड़ें",
"gui_add_folder": "फोल्डर जोड़ें",
@@ -186,5 +186,10 @@
"gui_waiting_to_start": "{} में शुरू होने के लिए शेडयूल है। रद्द करने के लिए क्लिक करें।",
"incorrect_password": "पासवर्ड गलत है",
"gui_settings_individual_downloads_label": "विशिष्ट फाइलों के डाउनलोड को मंजूरी देने के लिए अचिन्हित करें",
- "gui_settings_csp_header_disabled_option": "सामग्री सुरक्षा नियम हेडर को अक्षम करें"
+ "gui_settings_csp_header_disabled_option": "सामग्री सुरक्षा नियम हेडर को अक्षम करें",
+ "gui_show_url_qr_code": "क्यूआर कोड दिखाएं",
+ "gui_chat_stop_server": "चैट सर्वर बंद करें",
+ "gui_chat_start_server": "चैट सर्वर शुरू करें",
+ "gui_file_selection_remove_all": "सभी हटाएं",
+ "gui_remove": "हटाएं"
}
diff --git a/desktop/src/onionshare/resources/locale/nl.json b/desktop/src/onionshare/resources/locale/nl.json
index 2b5ced73..32e8f204 100644
--- a/desktop/src/onionshare/resources/locale/nl.json
+++ b/desktop/src/onionshare/resources/locale/nl.json
@@ -26,7 +26,7 @@
"help_verbose": "Log OnionShare fouten naar stdout, en web fouten naar disk",
"help_filename": "Lijst van bestanden of mappen om te delen",
"help_config": "Instelbaar pad naar JSON configuratie bestand (optioneel)",
- "gui_drag_and_drop": "Sleep en zet\nbestanden hier neer om het delen te starten",
+ "gui_drag_and_drop": "Sleep bestanden hier naar toe om het delen te starten",
"gui_add": "Toevoegen",
"gui_delete": "Verwijder",
"gui_choose_items": "Kies",
@@ -75,7 +75,7 @@
"gui_settings_button_help": "Help",
"gui_settings_autostop_timer": "Stop het delen om:",
"settings_saved": "Instellingen opgeslagen in {}",
- "settings_error_unknown": "Kan geen verbinding maken met de Tor controller omdat je instellingen nergens op slaan.",
+ "settings_error_unknown": "Kan geen verbinding maken met de Tor controller, omdat je instellingen nergens op slaan.",
"settings_error_automatic": "Kon geen verbinding maken met de Tor controller. Draait Tor Browser (beschikbaar via torproject.org) in de achtergrond?",
"settings_error_socket_port": "Kan geen verbinding maken met de Tor controller op {}:{}.",
"settings_error_socket_file": "Kan geen verbinding maken met de Tor controller via socket bestand {}.",
@@ -88,9 +88,9 @@
"settings_test_success": "Verbonden met de Tor controller.\n\nTor versie: {}\nOndersteunt ephemeral onion services: {}.\nOndersteunt client authentication: {}.\nOndersteunt next-gen .onion addresses: {}.",
"error_tor_protocol_error": "Er was een fout met Tor: {}",
"connecting_to_tor": "Verbinden met het Tor netwerk",
- "update_available": "Nieuwe OnionShare is uitgekomen. <a href='{}'>Klik hier</a> om hem te krijgen.<br><br>Jij gebruikt {} and de laatste is {}.",
- "update_error_check_error": "Kon niet controleren op een nieuwe versie: de OnionShare website meldt dat de laatste versie de onherkenbare is '{}' is…",
- "update_error_invalid_latest_version": "Kon niet controleren op een nieuwe versie: Wellicht ben je niet met Tor verbonden, of de OnionShare website is niet beschikbaar?",
+ "update_available": "Nieuwe OnionShare is uitgekomen. <a href='{}'>Klik hier</a> om hem te krijgen.<br><br>Jij gebruikt {} en de laatste is {}.",
+ "update_error_check_error": "Kon niet controleren op een nieuwe versie: Wellicht ben je niet met Tor verbonden, of de OnionShare website is niet beschikbaar?",
+ "update_error_invalid_latest_version": "Kon niet controleren op een nieuwe versie: de OnionShare website meldt dat de laatste versie de onherkenbare is '{}' is…",
"update_not_available": "Je draait de laatst beschikbare OnionShare.",
"gui_tor_connection_ask": "Open de instellingen om het verbindingsprobleem met Tor op te lossen?",
"gui_tor_connection_ask_open_settings": "Ja",
@@ -139,7 +139,7 @@
"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>1Iedereen</b>2 met dit OnionShare adres kan bestanden op je computer <b>3plaatsen</b>4 met de <b>5Tor Browser</b>6: <img src='{}' />7",
+ "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='{}' />",
"gui_url_label_persistent": "Deze share stopt niet vanzelf. <br><br>Elke volgende share zal het adres hergebruiken. (Om eenmalige adressen te gebruiken, zet \"Gebruik vast adres\" uit in de settings.)",
"gui_url_label_stay_open": "Deze share stopt niet automatisch.",
"gui_url_label_onetime": "Deze share stopt na de eerste voltooiïng.",
@@ -262,10 +262,10 @@
"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",
+ "mode_settings_persistent_checkbox": "Bewaar dit tabblad en open het automatisch wanneer ik OnionShare open",
"gui_quit_warning_description": "Delen is actief op sommige van uw tabbladen. Als u stopt, worden al uw tabbladen gesloten. Weet u zeker dat u wilt stoppen?",
"gui_close_tab_warning_website_description": "U host actief een website. Weet u zeker dat u dit tabblad wilt sluiten?",
- "gui_close_tab_warning_persistent_description": "Dit tabblad is pertinent. Als je het sluit, verlies je het onion adres dat wordt gebruikt. Weet u zeker dat u het wilt sluiten?",
+ "gui_close_tab_warning_persistent_description": "Dit tabblad heeft een vast onion adres. Als je het tabblad sluit wordt het gebruikte onion adres opgeheven. Weet je zeker dat je dit wil sluiten?",
"gui_tab_name_chat": "Chat",
"gui_tab_name_website": "Website",
"gui_tab_name_receive": "Ontvang",
@@ -286,5 +286,19 @@
"gui_chat_stop_server": "Stop chat server",
"gui_chat_start_server": "Start chat server",
"gui_file_selection_remove_all": "Alles verwijderen",
- "gui_remove": "Verwijderen"
+ "gui_remove": "Verwijderen",
+ "gui_rendezvous_cleanup": "Wachten op Tor circuits om af te sluiten, om zeker te stellen dat je bestanden succesvol zijn verplaatst\n\nDit kan enkele minuten duren.",
+ "mode_settings_receive_disable_text_checkbox": "Schakel het versturen van tekst uit",
+ "mode_settings_receive_disable_files_checkbox": "Schakel uploaden bestanden uit",
+ "mode_settings_receive_webhook_url_checkbox": "Gebruik notificatie webhook",
+ "gui_rendezvous_cleanup_quit_early": "Vervroegd afsluiten",
+ "error_port_not_available": "OnionShare poort is niet beschikbaar",
+ "history_receive_read_message_button": "Lees bericht",
+ "gui_chat_url_description": "<b>Iedereen</b> met dit OnionShare adres kan<b>in deze chatkamer aansluiten </b> met de <b>Tor Browser</b>: <img src='{}' />",
+ "mode_settings_title_label": "Handmatige titel",
+ "gui_status_indicator_chat_working": "Starten…",
+ "gui_status_indicator_chat_started": "in gesprek",
+ "gui_status_indicator_chat_scheduled": "Ingepland…",
+ "gui_color_mode_changed_notice": "Herstart OnionShare om de nieuwe kleur toe te passen.",
+ "gui_status_indicator_chat_stopped": "Klaar om te chatten"
}
diff --git a/desktop/src/onionshare/resources/locale/ru.json b/desktop/src/onionshare/resources/locale/ru.json
index 95484e8b..47e7e4d1 100644
--- a/desktop/src/onionshare/resources/locale/ru.json
+++ b/desktop/src/onionshare/resources/locale/ru.json
@@ -126,7 +126,7 @@
"settings_error_bundled_tor_timeout": "Подключение к Tor занимает слишком много времени. Возможно, отсутствует подключение к сети Интернет, или у вас неточно настроено системное время?",
"settings_error_bundled_tor_broken": "Ошибка подключения OnionShare к Tor в фоновом режиме:\n{}",
"settings_test_success": "Подключено к контроллеру Tor.\n\nВерсия Tor: {}\nПоддержка временных \"луковых\" сервисов: {}.\nПоддержка аутентификации клиента: {}.\nПоддержка адресов .onion следующего поколения: {}.",
- "error_tor_protocol_error": "Ошибка Tor: {}",
+ "error_tor_protocol_error": "Была обнаружена ошибка Tor: {}",
"error_tor_protocol_error_unknown": "Неизвестная ошибка Tor",
"error_invalid_private_key": "Этот приватный ключ не поддерживается",
"connecting_to_tor": "Подключение к сети Tor",
@@ -283,5 +283,14 @@
"gui_rendezvous_cleanup_quit_early": "Выйти Раньше",
"gui_rendezvous_cleanup": "Ожидается завершение соединений с сетью Tor для подтверждения успешной отправки ваших файлов.\n\nЭто может занять несколько минут.",
"gui_color_mode_changed_notice": "Перезапустите OnionShare чтобы изменения цветовой гаммы вступили в силу.",
- "gui_chat_url_description": "<b>Каждый</b> у кого есть этот адрес OnionShare может <b>присоединиться к этому чату</b> при помощи <b>Tor Browser</b>: <img src='{}' />"
+ "gui_chat_url_description": "<b>Каждый</b> у кого есть этот адрес OnionShare может <b>присоединиться к этому чату</b> при помощи <b>Tor Browser</b>: <img src='{}' />",
+ "history_receive_read_message_button": "Прочитать сообщение",
+ "mode_settings_receive_webhook_url_checkbox": "Использовать веб-хук для отправки уведомлений",
+ "mode_settings_receive_disable_files_checkbox": "Запретить передачу файлов",
+ "mode_settings_receive_disable_text_checkbox": "Запретить отправку текста",
+ "mode_settings_title_label": "Собственное название",
+ "gui_status_indicator_chat_started": "Чат активен",
+ "gui_status_indicator_chat_scheduled": "По расписанию…",
+ "gui_status_indicator_chat_working": "Запуск…",
+ "gui_status_indicator_chat_stopped": "Готов начать чат"
}
diff --git a/desktop/src/onionshare/resources/locale/tr.json b/desktop/src/onionshare/resources/locale/tr.json
index c646594f..9b217970 100644
--- a/desktop/src/onionshare/resources/locale/tr.json
+++ b/desktop/src/onionshare/resources/locale/tr.json
@@ -263,5 +263,9 @@
"mode_settings_receive_webhook_url_checkbox": "Bildirim web kancası kullan",
"mode_settings_receive_disable_files_checkbox": "Dosya yüklemeyi devre dışı bırak",
"mode_settings_receive_disable_text_checkbox": "Metin göndermeyi devre dışı bırak",
- "mode_settings_title_label": "Özel başlık"
+ "mode_settings_title_label": "Özel başlık",
+ "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"
}
diff --git a/desktop/src/onionshare/resources/locale/uk.json b/desktop/src/onionshare/resources/locale/uk.json
index 316c2dc4..03ea9dfb 100644
--- a/desktop/src/onionshare/resources/locale/uk.json
+++ b/desktop/src/onionshare/resources/locale/uk.json
@@ -238,5 +238,9 @@
"history_receive_read_message_button": "Читати повідомлення",
"mode_settings_receive_disable_files_checkbox": "Вимкнути передавання файлів",
"mode_settings_receive_disable_text_checkbox": "Вимкнути надсилання тексту",
- "mode_settings_title_label": "Власний заголовок"
+ "mode_settings_title_label": "Власний заголовок",
+ "gui_status_indicator_chat_scheduled": "Заплановано…",
+ "gui_status_indicator_chat_started": "Спілкування",
+ "gui_status_indicator_chat_working": "Початок…",
+ "gui_status_indicator_chat_stopped": "Готовий до спілкування"
}
diff --git a/desktop/tests/gui_base_test.py b/desktop/tests/gui_base_test.py
index 3a38ff8e..acaa9739 100644
--- a/desktop/tests/gui_base_test.py
+++ b/desktop/tests/gui_base_test.py
@@ -465,6 +465,20 @@ class GuiBaseTest(unittest.TestCase):
# We should have timed out now
self.assertEqual(tab.get_mode().server_status.status, 0)
+ def hit_405(self, url, expected_resp, data = {}, methods = [] ):
+ """Test various HTTP methods and the response"""
+ for method in methods:
+ if method == "put":
+ r = requests.put(url, data = data)
+ if method == "post":
+ r = requests.post(url, data = data)
+ if method == "delete":
+ r = requests.delete(url)
+ if method == "options":
+ r = requests.options(url)
+ self.assertTrue(expected_resp in r.text)
+ self.assertFalse('Werkzeug' in r.headers)
+
# Grouped tests follow from here
def run_all_common_setup_tests(self):
diff --git a/desktop/tests/test_gui_chat.py b/desktop/tests/test_gui_chat.py
index 7a19168b..15ecaa44 100644
--- a/desktop/tests/test_gui_chat.py
+++ b/desktop/tests/test_gui_chat.py
@@ -30,7 +30,7 @@ class TestChat(GuiBaseTest):
def change_username(self, tab):
"""Test that we can change our username"""
url = f"http://127.0.0.1:{tab.app.port}/update-session-username"
- data = {"username":"oniontest"}
+ data = {"username": "oniontest"}
if tab.settings.get("general", "public"):
r = requests.post(url, json=data)
else:
@@ -47,7 +47,7 @@ class TestChat(GuiBaseTest):
self.assertTrue(jsonResponse["success"])
self.assertEqual(jsonResponse["username"], "oniontest")
- def run_all_chat_mode_tests(self, tab):
+ def run_all_chat_mode_started_tests(self, tab):
"""Tests in chat mode after starting a chat"""
self.server_working_on_start_button_pressed(tab)
self.server_status_indicator_says_starting(tab)
@@ -58,8 +58,9 @@ class TestChat(GuiBaseTest):
self.have_copy_url_button(tab)
self.have_show_qr_code_button(tab)
self.server_status_indicator_says_started(tab)
- self.view_chat(tab)
- self.change_username(tab)
+
+ def run_all_chat_mode_stopping_tests(self, tab):
+ """Tests stopping a chat"""
self.server_is_stopped(tab)
self.web_server_is_stopped(tab)
self.server_status_indicator_says_closed(tab)
@@ -71,5 +72,27 @@ class TestChat(GuiBaseTest):
Test chat mode
"""
tab = self.new_chat_tab()
- self.run_all_chat_mode_tests(tab)
+ self.run_all_chat_mode_started_tests(tab)
+ self.view_chat(tab)
+ self.change_username(tab)
+ self.run_all_chat_mode_stopping_tests(tab)
+ self.close_all_tabs()
+
+ def test_405_page_returned_for_invalid_methods(self):
+ """
+ Our custom 405 page should return for invalid methods
+ """
+ tab = self.new_chat_tab()
+
+ tab.get_mode().mode_settings_widget.public_checkbox.click()
+
+ self.run_all_chat_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.run_all_chat_mode_stopping_tests(tab)
self.close_all_tabs()
diff --git a/desktop/tests/test_gui_receive.py b/desktop/tests/test_gui_receive.py
index 6e14ae67..b523b0fa 100644
--- a/desktop/tests/test_gui_receive.py
+++ b/desktop/tests/test_gui_receive.py
@@ -286,3 +286,22 @@ class TestReceive(GuiBaseTest):
self.run_all_upload_non_writable_dir_tests(tab)
self.close_all_tabs()
+
+ def test_405_page_returned_for_invalid_methods(self):
+ """
+ Our custom 405 page should return for invalid methods
+ """
+ tab = self.new_receive_tab()
+
+ tab.get_mode().mode_settings_widget.public_checkbox.click()
+
+ self.run_all_common_setup_tests()
+ self.run_all_receive_mode_setup_tests(tab)
+ self.upload_file(tab, self.tmpfile_test, "test.txt")
+ 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.server_is_stopped(tab)
+ self.web_server_is_stopped(tab)
+ self.server_status_indicator_says_closed(tab)
+ self.close_all_tabs()
diff --git a/desktop/tests/test_gui_share.py b/desktop/tests/test_gui_share.py
index 380d63f6..531e456f 100644
--- a/desktop/tests/test_gui_share.py
+++ b/desktop/tests/test_gui_share.py
@@ -608,3 +608,20 @@ class TestShare(GuiBaseTest):
self.hit_401(tab)
self.close_all_tabs()
+
+ def test_405_page_returned_for_invalid_methods(self):
+ """
+ Our custom 405 page should return for invalid methods
+ """
+ tab = self.new_share_tab()
+
+ 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_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)
+ self.close_all_tabs()
diff --git a/desktop/tests/test_gui_website.py b/desktop/tests/test_gui_website.py
index a838cb96..f526756a 100644
--- a/desktop/tests/test_gui_website.py
+++ b/desktop/tests/test_gui_website.py
@@ -99,3 +99,19 @@ class TestWebsite(GuiBaseTest):
tab.get_mode().disable_csp_checkbox.click()
self.run_all_website_mode_download_tests(tab)
self.close_all_tabs()
+
+ def test_405_page_returned_for_invalid_methods(self):
+ """
+ Our custom 405 page should return for invalid methods
+ """
+ tab = self.new_website_tab()
+
+ tab.get_mode().mode_settings_widget.public_checkbox.click()
+
+ self.run_all_common_setup_tests()
+ self.run_all_website_mode_setup_tests(tab)
+ self.run_all_website_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.close_all_tabs()