diff options
author | Micah Lee <micah@micahflee.com> | 2014-06-26 16:05:21 -0700 |
---|---|---|
committer | Micah Lee <micah@micahflee.com> | 2014-06-26 16:05:21 -0700 |
commit | 126200c9c12b882ea55651f4b2aab8a49b324beb (patch) | |
tree | 853bb60da5bce7d1ec2386cdfd09ee1642c4e69c | |
parent | 6503f2afa1b9f46485818e6d5c02329b9dbf615b (diff) | |
parent | 4e5eb62dcace003d6b849a82b668e6d548a18443 (diff) | |
download | onionshare-126200c9c12b882ea55651f4b2aab8a49b324beb.tar.gz onionshare-126200c9c12b882ea55651f4b2aab8a49b324beb.zip |
Merge pull request #62 from enotodden/master
Add new norwegian strings and fix unicode issues.
-rw-r--r-- | onionshare/onionshare.py | 22 | ||||
-rw-r--r-- | onionshare/strings.json | 11 | ||||
-rw-r--r-- | onionshare_gui/onionshare_gui.py | 6 |
3 files changed, 26 insertions, 13 deletions
diff --git a/onionshare/onionshare.py b/onionshare/onionshare.py index c514d16a..e728577e 100644 --- a/onionshare/onionshare.py +++ b/onionshare/onionshare.py @@ -1,3 +1,4 @@ +# -*- coding: utf-8 -*- import os, sys, subprocess, time, hashlib, platform, json, locale, socket, argparse, Queue, inspect, base64 from random import randint from functools import wraps @@ -152,12 +153,12 @@ def is_root(): def tails_open_port(port): if get_platform() == 'Tails': - print strings["punching_a_hole"] + print translated("punching_a_hole") subprocess.call(['/sbin/iptables', '-I', 'OUTPUT', '-o', 'lo', '-p', 'tcp', '--dport', str(port), '-j', 'ACCEPT']) def tails_close_port(port): if get_platform() == 'Tails': - print strings["closing_hole"] + print translated("closing_hole") subprocess.call(['/sbin/iptables', '-I', 'OUTPUT', '-o', 'lo', '-p', 'tcp', '--dport', str(port), '-j', 'REJECT']) def load_strings(default="en"): @@ -177,6 +178,9 @@ def load_strings(default="en"): strings[key] = translated[lang][key] return strings +def translated(k): + return strings[k].encode("utf-8") + def file_crunching(filename): # calculate filehash, file size BLOCKSIZE = 65536 @@ -219,7 +223,7 @@ def start_hidden_service(port): except SocketError: pass if not controller: - raise NoTor(strings["cant_connect_ctrlport"].format(controlports)) + raise NoTor(translated("cant_connect_ctrlport").format(controlports)) controller.authenticate() # set up hidden service @@ -239,7 +243,7 @@ def main(): # check for root in Tails if get_platform() == 'Tails' and not is_root(): - sys.exit(strings["tails_requires_root"]) + sys.exit(translated("tails_requires_root")) # parse arguments parser = argparse.ArgumentParser() @@ -255,7 +259,7 @@ def main(): stay_open = args.stay_open if not (filename and os.path.isfile(filename)): - sys.exit(strings["not_a_file"].format(filename)) + sys.exit(translated("not_a_file").format(filename)) filename = os.path.abspath(filename) port = choose_port() @@ -263,24 +267,24 @@ def main(): if not local_only: # try starting hidden service - print strings["connecting_ctrlport"].format(port) + print translated("connecting_ctrlport").format(port) try: onion_host = start_hidden_service(port) except NoTor as e: sys.exit(e.args[0]) # startup - print strings["calculating_sha1"] + print translated("calculating_sha1") filehash, filesize = file_crunching(filename) set_file_info(filename, filehash, filesize) tails_open_port(port) - print '\n' + strings["give_this_url"] + print '\n' + translated("give_this_url") if local_only: print 'http://{0}/{1}'.format(local_host, slug) else: print 'http://{0}/{1}'.format(onion_host, slug) print '' - print strings["ctrlc_to_stop"] + print translated("ctrlc_to_stop") # start the web server app.run(port=port) diff --git a/onionshare/strings.json b/onionshare/strings.json index c044a23c..e08d6f8e 100644 --- a/onionshare/strings.json +++ b/onionshare/strings.json @@ -28,7 +28,16 @@ "ctrlc_to_stop": "Trykk Ctrl+C for å stoppe serveren.", "not_a_file": "{0} er ikke en fil.", "filesize": "Filstørrelse", - "sha1_checksum": "SHA1 sjekksum" + "sha1_checksum": "SHA1 sjekksum", + "copied_url": "Kopierte URL-en til utklippstavlen", + "download_page_loaded": "Nedlastingsside lastet", + "download_started": "Nedlasting startet", + "download_finished": "Nedlasting fullført", + "other_page_loaded": "En annen side har blitt lastet", + "tails_requires_root": "OnionShare kan må kjøres som administrator i Tails", + "close_on_finish": "Lukk automatisk", + "close_countdown": "Lukker om {0} sekunder", + "choose_file": "Velg en fil å dele" }, "es": { "punching_a_hole": "Abriendo un agujero en el cortafuegos.", "closing_hole": "Cerrando el agujero en el cortafuegos.", diff --git a/onionshare_gui/onionshare_gui.py b/onionshare_gui/onionshare_gui.py index fda1df64..fbb6478e 100644 --- a/onionshare_gui/onionshare_gui.py +++ b/onionshare_gui/onionshare_gui.py @@ -13,7 +13,7 @@ try: except ImportError: sys.path.append(os.path.abspath(onionshare_gui_dir+"/..")) import onionshare - +from onionshare import translated import webapp window_icon = None @@ -61,7 +61,7 @@ def select_file(strings, filename=None): if onionshare.get_platform() == 'Tails': args['directory'] = '/home/amnesia' - filename = QFileDialog.getOpenFileName(caption=strings['choose_file'], options=QFileDialog.ReadOnly, **args) + filename = QFileDialog.getOpenFileName(caption=translated('choose_file'), options=QFileDialog.ReadOnly, **args) if not filename: return False, False @@ -69,7 +69,7 @@ def select_file(strings, filename=None): # validate filename if not os.path.isfile(filename): - alert(strings["not_a_file"].format(filename), QMessageBox.Warning) + alert(translated("not_a_file").format(filename), QMessageBox.Warning) return False, False filename = os.path.abspath(filename) |