mirror of
https://github.com/onionshare/onionshare.git
synced 2024-10-01 01:35:40 -04:00
Fix check_lacked_trans.py so it works with black formatting, and remove unused translations from en.json
This commit is contained in:
parent
b0dba67c02
commit
78ba479a35
@ -27,7 +27,12 @@ es disused gui_starting_server
|
||||
"""
|
||||
|
||||
|
||||
import fileinput, argparse, re, os, codecs, json, sys
|
||||
import argparse
|
||||
import re
|
||||
import os
|
||||
import codecs
|
||||
import json
|
||||
import sys
|
||||
|
||||
|
||||
def arg_parser():
|
||||
@ -68,29 +73,53 @@ def main():
|
||||
dir = args.onionshare_dir
|
||||
|
||||
src = (
|
||||
files_in(dir, "onionshare")
|
||||
+ files_in(dir, "onionshare_gui")
|
||||
+ files_in(dir, "onionshare_gui/mode")
|
||||
+ files_in(dir, "onionshare_gui/mode/share_mode")
|
||||
+ files_in(dir, "onionshare_gui/mode/receive_mode")
|
||||
+ files_in(dir, "onionshare_gui/mode/website_mode")
|
||||
files_in(dir, "onionshare_gui")
|
||||
+ files_in(dir, "onionshare_gui/tab")
|
||||
+ files_in(dir, "onionshare_gui/tab/mode")
|
||||
+ files_in(dir, "onionshare_gui/tab/mode/chat_mode")
|
||||
+ files_in(dir, "onionshare_gui/tab/mode/receive_mode")
|
||||
+ files_in(dir, "onionshare_gui/tab/mode/share_mode")
|
||||
+ files_in(dir, "onionshare_gui/tab/mode/website_mode")
|
||||
+ files_in(dir, "install/scripts")
|
||||
+ files_in(dir, "tests")
|
||||
)
|
||||
pysrc = [p for p in src if p.endswith(".py")]
|
||||
filenames = [p for p in src if p.endswith(".py")]
|
||||
|
||||
lang_code = args.lang_code
|
||||
|
||||
translate_keys = set()
|
||||
# load translate key from python source
|
||||
for line in fileinput.input(pysrc, openhook=fileinput.hook_encoded("utf-8")):
|
||||
# search `strings._('translate_key')`
|
||||
# `strings._('translate_key', True)`
|
||||
m = re.findall(r"strings\._\((.*?)\)", line)
|
||||
if m:
|
||||
for match in m:
|
||||
key = match.split(",")[0].strip(""""' """)
|
||||
translate_keys.add(key)
|
||||
for filename in filenames:
|
||||
# load translate key from python source
|
||||
with open(filename) as f:
|
||||
src = f.read()
|
||||
|
||||
# find all the starting strings
|
||||
start_substr = "strings._\("
|
||||
starting_indices = [m.start() for m in re.finditer(start_substr, src)]
|
||||
|
||||
for starting_i in starting_indices:
|
||||
# are we dealing with single quotes or double quotes?
|
||||
quote = None
|
||||
inc = 0
|
||||
while True:
|
||||
quote_i = starting_i + len("strings._(") + inc
|
||||
if src[quote_i] == '"':
|
||||
quote = '"'
|
||||
break
|
||||
elif src[quote_i] == "'":
|
||||
quote = "'"
|
||||
break
|
||||
else:
|
||||
inc += 1
|
||||
|
||||
# find the starting quote
|
||||
starting_i = src.find(quote, starting_i)
|
||||
if starting_i:
|
||||
starting_i += 1
|
||||
# find the ending quote
|
||||
ending_i = src.find(quote, starting_i)
|
||||
if ending_i:
|
||||
key = src[starting_i:ending_i]
|
||||
translate_keys.add(key)
|
||||
|
||||
if args.show_all_keys:
|
||||
for k in sorted(translate_keys):
|
||||
|
@ -1,7 +1,5 @@
|
||||
{
|
||||
"preparing_files": "Compressing files.",
|
||||
"not_a_readable_file": "{0:s} is not a readable file.",
|
||||
"no_available_port": "Could not find an available port to start the onion service",
|
||||
"other_page_loaded": "Address loaded",
|
||||
"incorrect_password": "Incorrect password",
|
||||
"close_on_autostop_timer": "Stopped because auto-stop timer ran out",
|
||||
@ -17,7 +15,6 @@
|
||||
"gui_share_start_server": "Start sharing",
|
||||
"gui_share_stop_server": "Stop sharing",
|
||||
"gui_share_stop_server_autostop_timer": "Stop Sharing ({})",
|
||||
"gui_chat_stop_server_autostop_timer": "Stop Chat Server ({})",
|
||||
"gui_chat_start_server": "Start chat server",
|
||||
"gui_chat_stop_server": "Stop chat server",
|
||||
"gui_stop_server_autostop_timer_tooltip": "Auto-stop timer ends at {}",
|
||||
@ -40,23 +37,12 @@
|
||||
"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%",
|
||||
"error_stealth_not_supported": "To use client authorization, you need at least both Tor 0.2.9.1-alpha (or Tor Browser 6.5) and python3-stem 1.5.0.",
|
||||
"error_ephemeral_not_supported": "OnionShare requires at least both Tor 0.2.7.1 and python3-stem 1.4.0.",
|
||||
"gui_settings_window_title": "Settings",
|
||||
"gui_settings_whats_this": "<a href='{0:s}'>What's this?</a>",
|
||||
"gui_settings_stealth_option": "Use client authorization",
|
||||
"gui_settings_stealth_hidservauth_string": "Having saved your private key for reuse, means you can now click to copy your HidServAuth.",
|
||||
"gui_settings_autoupdate_label": "Check for new version",
|
||||
"gui_settings_autoupdate_option": "Notify me when a new version is available",
|
||||
"gui_settings_autoupdate_timestamp": "Last checked: {}",
|
||||
"gui_settings_autoupdate_timestamp_never": "Never",
|
||||
"gui_settings_autoupdate_check_button": "Check for New Version",
|
||||
"gui_settings_general_label": "General settings",
|
||||
"gui_settings_onion_label": "Onion settings",
|
||||
"gui_settings_sharing_label": "Sharing settings",
|
||||
"gui_settings_close_after_first_download_option": "Stop sharing after files have been sent",
|
||||
"gui_settings_csp_header_disabled_option": "Disable Content Security Policy header",
|
||||
"gui_settings_individual_downloads_label": "Uncheck to allow downloading individual files",
|
||||
"gui_settings_connection_type_label": "How should OnionShare connect to Tor?",
|
||||
"gui_settings_connection_type_bundled_option": "Use the Tor version built into OnionShare",
|
||||
"gui_settings_connection_type_automatic_option": "Attempt auto-configuration with Tor Browser",
|
||||
@ -83,23 +69,7 @@
|
||||
"gui_settings_button_save": "Save",
|
||||
"gui_settings_button_cancel": "Cancel",
|
||||
"gui_settings_button_help": "Help",
|
||||
"gui_settings_autostop_timer_checkbox": "Use auto-stop timer",
|
||||
"gui_settings_autostop_timer": "Stop the share at:",
|
||||
"gui_settings_autostart_timer_checkbox": "Use auto-start timer",
|
||||
"gui_settings_autostart_timer": "Start the share at:",
|
||||
"settings_error_unknown": "Can't connect to Tor controller because your settings don't make sense.",
|
||||
"settings_error_automatic": "Could not connect to the Tor controller. Is Tor Browser (available from torproject.org) running in the background?",
|
||||
"settings_error_socket_port": "Can't connect to the Tor controller at {}:{}.",
|
||||
"settings_error_socket_file": "Can't connect to the Tor controller using socket file {}.",
|
||||
"settings_error_auth": "Connected to {}:{}, but can't authenticate. Maybe this isn't a Tor controller?",
|
||||
"settings_error_missing_password": "Connected to Tor controller, but it requires a password to authenticate.",
|
||||
"settings_error_unreadable_cookie_file": "Connected to the Tor controller, but password may be wrong, or your user is not permitted to read the cookie file.",
|
||||
"settings_error_bundled_tor_not_supported": "Using the Tor version that comes with OnionShare does not work in developer mode on Windows or macOS.",
|
||||
"settings_error_bundled_tor_timeout": "Taking too long to connect to Tor. Maybe you aren't connected to the Internet, or have an inaccurate system clock?",
|
||||
"settings_error_bundled_tor_broken": "OnionShare could not connect to Tor:\n{}",
|
||||
"settings_test_success": "Connected to the Tor controller.\n\nTor version: {}\nSupports ephemeral onion services: {}.\nSupports client authentication: {}.\nSupports next-gen .onion addresses: {}.",
|
||||
"error_tor_protocol_error": "There was an error with Tor: {}",
|
||||
"error_tor_protocol_error_unknown": "There was an unknown error with Tor",
|
||||
"connecting_to_tor": "Connecting to the Tor network",
|
||||
"update_available": "New OnionShare out. <a href='{}'>Click here</a> to get it.<br><br>You are using {} and the latest is {}.",
|
||||
"update_error_invalid_latest_version": "Could not check for new version: The OnionShare website is saying the latest version is the unrecognizable '{}'…",
|
||||
@ -116,9 +86,6 @@
|
||||
"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.",
|
||||
"share_via_onionshare": "Share via OnionShare",
|
||||
"gui_connect_to_tor_for_onion_settings": "Connect to Tor to see onion service settings",
|
||||
"gui_use_legacy_v2_onions_checkbox": "Use legacy addresses",
|
||||
"gui_save_private_key_checkbox": "Use a persistent address",
|
||||
"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='{}' />",
|
||||
@ -141,14 +108,6 @@
|
||||
"history_requests_tooltip": "{} web requests",
|
||||
"error_cannot_create_data_dir": "Could not create OnionShare data folder: {}",
|
||||
"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_mode_share_button": "Share Files",
|
||||
"gui_mode_receive_button": "Receive Files",
|
||||
"gui_mode_website_button": "Publish Website",
|
||||
"gui_settings_receiving_label": "Receiving settings",
|
||||
"gui_settings_website_label": "Website settings",
|
||||
"gui_settings_data_dir_label": "Save files to",
|
||||
"gui_settings_data_dir_browse_button": "Browse",
|
||||
"gui_settings_public_mode_checkbox": "Public mode",
|
||||
"gui_open_folder_error": "Failed to open folder with xdg-open. The file is here: {}",
|
||||
"gui_settings_language_label": "Preferred language",
|
||||
"gui_settings_language_changed_notice": "Restart OnionShare for the new language to be applied.",
|
||||
@ -166,10 +125,6 @@
|
||||
"gui_all_modes_history": "History",
|
||||
"gui_all_modes_clear_history": "Clear All",
|
||||
"gui_all_modes_transfer_started": "Started {}",
|
||||
"gui_all_modes_transfer_finished_range": "Transferred {} - {}",
|
||||
"gui_all_modes_transfer_finished": "Transferred {}",
|
||||
"gui_all_modes_transfer_canceled_range": "Canceled {} - {}",
|
||||
"gui_all_modes_transfer_canceled": "Canceled {}",
|
||||
"gui_all_modes_progress_complete": "%p%, {0:s} elapsed.",
|
||||
"gui_all_modes_progress_starting": "{0:s}, %p% (calculating)",
|
||||
"gui_all_modes_progress_eta": "{0:s}, ETA: {1:s}, %p%",
|
||||
@ -219,4 +174,4 @@
|
||||
"mode_settings_receive_data_dir_label": "Save files to",
|
||||
"mode_settings_receive_data_dir_browse_button": "Browse",
|
||||
"mode_settings_website_disable_csp_checkbox": "Don't send Content Security Policy header (allows your website to use third-party resources)"
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user