diff options
Diffstat (limited to 'data')
34 files changed, 702 insertions, 853 deletions
diff --git a/data/images/Arrow-Down-32.png b/data/images/Arrow-Down-32.png Binary files differnew file mode 100644 index 00000000..c5c607a1 --- /dev/null +++ b/data/images/Arrow-Down-32.png diff --git a/data/images/Arrow-Up-32.png b/data/images/Arrow-Up-32.png Binary files differnew file mode 100644 index 00000000..85370ac5 --- /dev/null +++ b/data/images/Arrow-Up-32.png diff --git a/data/images/Blue-Arrow-Right-32.png b/data/images/Blue-Arrow-Right-32.png Binary files differnew file mode 100644 index 00000000..66e50b0d --- /dev/null +++ b/data/images/Blue-Arrow-Right-32.png diff --git a/data/images/Globe.png b/data/images/Globe.png Binary files differnew file mode 100644 index 00000000..7549433b --- /dev/null +++ b/data/images/Globe.png diff --git a/data/images/conn_connected-light.png b/data/images/conn_connected-light.png Binary files differnew file mode 100644 index 00000000..a0db2a22 --- /dev/null +++ b/data/images/conn_connected-light.png diff --git a/data/images/conn_connecting-light.png b/data/images/conn_connecting-light.png Binary files differnew file mode 100644 index 00000000..83e3ea75 --- /dev/null +++ b/data/images/conn_connecting-light.png diff --git a/data/images/conn_error-light.png b/data/images/conn_error-light.png Binary files differnew file mode 100644 index 00000000..8cee20fe --- /dev/null +++ b/data/images/conn_error-light.png diff --git a/data/images/leap-client.tiff b/data/images/leap-client.tiff Binary files differnew file mode 100644 index 00000000..71c95b0d --- /dev/null +++ b/data/images/leap-client.tiff diff --git a/data/images/leap-color-big.png b/data/images/leap-color-big.png Binary files differnew file mode 100644 index 00000000..eafacdcd --- /dev/null +++ b/data/images/leap-color-big.png diff --git a/data/images/leap-gray-big.png b/data/images/leap-gray-big.png Binary files differnew file mode 100644 index 00000000..1529a74f --- /dev/null +++ b/data/images/leap-gray-big.png diff --git a/data/images/light/16/accept.png b/data/images/light/16/accept.png Binary files differnew file mode 100644 index 00000000..917a68c4 --- /dev/null +++ b/data/images/light/16/accept.png diff --git a/data/images/light/16/down-arrow.png b/data/images/light/16/down-arrow.png Binary files differnew file mode 100644 index 00000000..9beb5de3 --- /dev/null +++ b/data/images/light/16/down-arrow.png diff --git a/data/images/light/16/error.png b/data/images/light/16/error.png Binary files differnew file mode 100644 index 00000000..edc20985 --- /dev/null +++ b/data/images/light/16/error.png diff --git a/data/images/light/16/refresh.png b/data/images/light/16/refresh.png Binary files differnew file mode 100644 index 00000000..a948a071 --- /dev/null +++ b/data/images/light/16/refresh.png diff --git a/data/images/light/16/up-arrow.png b/data/images/light/16/up-arrow.png Binary files differnew file mode 100644 index 00000000..4e0ec404 --- /dev/null +++ b/data/images/light/16/up-arrow.png diff --git a/data/images/light/64/network-eip-acquiring.png b/data/images/light/64/network-eip-acquiring.png Binary files differnew file mode 100644 index 00000000..83e3ea75 --- /dev/null +++ b/data/images/light/64/network-eip-acquiring.png diff --git a/data/images/light/64/network-eip-down.png b/data/images/light/64/network-eip-down.png Binary files differnew file mode 100644 index 00000000..85669af6 --- /dev/null +++ b/data/images/light/64/network-eip-down.png diff --git a/data/images/light/64/network-eip-up.png b/data/images/light/64/network-eip-up.png Binary files differnew file mode 100644 index 00000000..a0db2a22 --- /dev/null +++ b/data/images/light/64/network-eip-up.png diff --git a/data/images/oxygen-icons/dialog-error.png b/data/images/oxygen-icons/dialog-error.png Binary files differnew file mode 100644 index 00000000..01bc922d --- /dev/null +++ b/data/images/oxygen-icons/dialog-error.png diff --git a/data/images/oxygen-icons/dialog-information.png b/data/images/oxygen-icons/dialog-information.png Binary files differnew file mode 100644 index 00000000..ee59e170 --- /dev/null +++ b/data/images/oxygen-icons/dialog-information.png diff --git a/data/images/oxygen-icons/dialog-warning.png b/data/images/oxygen-icons/dialog-warning.png Binary files differnew file mode 100644 index 00000000..8e913378 --- /dev/null +++ b/data/images/oxygen-icons/dialog-warning.png diff --git a/data/images/oxygen-icons/document-save-as.png b/data/images/oxygen-icons/document-save-as.png Binary files differnew file mode 100644 index 00000000..9695a564 --- /dev/null +++ b/data/images/oxygen-icons/document-save-as.png diff --git a/data/images/oxygen-icons/edit-bomb.png b/data/images/oxygen-icons/edit-bomb.png Binary files differnew file mode 100644 index 00000000..2b36224c --- /dev/null +++ b/data/images/oxygen-icons/edit-bomb.png diff --git a/data/images/oxygen-icons/script-error.png b/data/images/oxygen-icons/script-error.png Binary files differnew file mode 100644 index 00000000..c7ace707 --- /dev/null +++ b/data/images/oxygen-icons/script-error.png diff --git a/data/leap_client.pro b/data/leap_client.pro index 57764a23..e91497c0 100644 --- a/data/leap_client.pro +++ b/data/leap_client.pro @@ -2,20 +2,31 @@  # is not there a f*** way of expanding this? other to template with python I mean... -SOURCES += ../src/leap/base/exceptions.py -SOURCES += ../src/leap/eip/exceptions.py -SOURCES += ../src/leap/baseapp/eip.py -SOURCES += ../src/leap/baseapp/log.py -SOURCES += ../src/leap/baseapp/systray.py -SOURCES += ../src/leap/gui/firstrun/intro.py -SOURCES	+= ../src/leap/gui/firstrun/last.py -SOURCES	+= ../src/leap/gui/firstrun/login.py -SOURCES	+= ../src/leap/gui/firstrun/providerinfo.py -SOURCES	+= ../src/leap/gui/firstrun/providerselect.py -SOURCES	+= ../src/leap/gui/firstrun/providersetup.py -SOURCES	+= ../src/leap/gui/firstrun/register.py -SOURCES	+= ../src/leap/gui/firstrun/connect.py -SOURCES	+= ../src/leap/gui/firstrun/wizard.py +SOURCES += ../src/leap/gui/mainwindow.py \ +           ../src/leap/gui/wizardpage.py \ +           ../src/leap/gui/wizard.py \ +           ../src/leap/config/provider_spec.py \ +           ../src/leap/config/pluggableconfig.py \ +           ../src/leap/config/providerconfig.py \ +           ../src/leap/config/prefixers.py \ +           ../src/leap/config/baseconfig.py \ +           ../src/leap/app.py \ +           ../src/leap/util/checkerthread.py \ +           ../src/leap/util/leap_argparse.py \ +           ../src/leap/util/check.py \ +           ../src/leap/crypto/constants.py \ +           ../src/leap/crypto/srpauth.py \ +           ../src/leap/crypto/srpregister.py \ +           ../src/leap/services/eip/eipbootstrapper.py \ +           ../src/leap/services/eip/udstelnet.py \ +           ../src/leap/services/eip/eipspec.py \ +           ../src/leap/services/eip/vpn.py \ +           ../src/leap/services/eip/vpnlaunchers.py \ +           ../src/leap/services/eip/providerbootstrapper.py \ +           ../src/leap/services/eip/eipconfig.py + +FORMS += ../src/leap/gui/ui/mainwindow.ui \ +         ../src/leap/gui/ui/wizard.ui  # where to generate ts files -- tx will pick from here diff --git a/data/mkpyqt.py b/data/mkpyqt.py deleted file mode 100755 index 1ce2cd28..00000000 --- a/data/mkpyqt.py +++ /dev/null @@ -1,271 +0,0 @@ -#!/usr/bin/env python -# Copyright (c) 2007-10 Qtrac Ltd. All rights reserved. -# This program or module is free software: you can redistribute it and/or -# modify it under the terms of the GNU General Public License as published -# by the Free Software Foundation, either version 2 of the License, or -# version 3 of the License, or (at your option) any later version. It is -# provided for educational purposes and is distributed in the hope that -# it will be useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See -# the GNU General Public License for more details. - -import os -import platform -import stat -import subprocess -import sys -import PyQt4.QtCore - -__version__ = "1.0.4" - -Windows = sys.platform.lower().startswith(("win", "microsoft")) -if Windows: -    PATH = os.path.join(os.path.dirname(sys.executable), -                        "Lib/site-packages/PyQt4") -    if os.access(os.path.join(PATH, "bin"), os.R_OK): -        PATH = os.path.join(PATH, "bin") -else: -    app = PyQt4.QtCore.QCoreApplication([]) -    PATH = unicode(app.applicationDirPath()) -    del app -if sys.platform.startswith("darwin"): -    i = PATH.find("Resources") -    if i > -1: -        PATH = PATH[:i] + "bin" -PYUIC4 = os.path.join(PATH, "pyuic4")  # e.g. PYUIC4 = "/usr/bin/pyuic4" -if sys.platform.startswith("darwin"): -    PYUIC4 = os.path.dirname(sys.executable) -    i = PYUIC4.find("Resources") -    if i > -1: -        PYUIC4 = PYUIC4[:i] + "Lib/python2.5/site-packages/PyQt4/uic/pyuic.py" -PYRCC4 = os.path.join(PATH, "pyrcc4") -PYLUPDATE4 = os.path.join(PATH, "pylupdate4") -LRELEASE = "lrelease" -if Windows: -    PYUIC4 = PYUIC4.replace("/", "\\") + ".bat" -    PYRCC4 = PYRCC4.replace("/", "\\") + ".exe" -    PYLUPDATE4 = PYLUPDATE4.replace("/", "\\") + ".exe" - -msg = [] -shell = lambda command: subprocess.Popen(['which', command], -                                         stdout=subprocess.PIPE).communicate() - -if not os.access(PYUIC4, os.F_OK): -    PYUIC4 = shell('pyuic4')[0].strip('\n') -    if not os.access(PYUIC4, os.F_OK): -        msg.append("failed to find pyuic4; tried %s" % PYUIC4) - -if not os.access(PYRCC4, os.F_OK): -    PYRCC4 = shell('pyrcc4')[0].strip('\n') -    if not os.access(PYRCC4, os.F_OK): -        msg.append("failed to find pyrcc4; tried %s" % PYRCC4) - -if not os.access(PYLUPDATE4, os.F_OK): -    PYLUPDATE4 = shell('pylupdate4')[0].strip('\n') -    if not os.access(PYLUPDATE4, os.F_OK): -        msg.append("failed to find pylupdate4; tried %s" % PYLUPDATE4) - -if msg: -    print "\n".join(msg) -    print "try manually editing this program to put the correct " + \ -          "paths in place" -    sys.exit() - -Debug = False -Verbose = False - -def usage(): -    print """usage: mkpyqt.py [options] [path] - -Options (which can be given in any of the forms shown): --b  --build      build [default] --c  --clean      clean --f  --force      force --t  --translate  translate --r  --recurse    recurse --v  --verbose    verbose --D  --debug      debug -path defaults to . - -If executed with no arguments (or with a build argument) it does a -build, i.e., it looks for all *.ui and *.qrc files and makes sure that -the corresponding ui_*.py and qrc_*.py files exist and are up-to-date. - -If executed with clean, deletes all ui_*.py and qrc_*.py files that have -corresponding *.ui and *.qrc files, and all *.pyc and *.pyo files. - -If executed with force, it does a clean followed by a build. - -If building and the translate option is given, after building, it runs -pylupdate4 on all .py and .pyw files it encounters, and then runs lrelease -on all .ts files it encounters. It does not use a .pro file so the .ts -files must be created in the first place, e.g., using pylupdate4 on one -of the source files and using its -ts option. - -WARNING: Do not give any hand-coded files names that match ui_*.py or -qrc_*.py since these will be deleted by mkpyqt.py clean! - -NOTE: If any tool fails to run, e.g., pyuic4, then edit this program and -hard-code the path; the variables with the tool paths are near the top -of the file. - -mkpyqt.py v %s. Copyright (c) 2007-9 Qtrac Ltd. All rights reserved. -""" % __version__ -    sys.exit() - - -def report_failure(command, args, process): -    msg = "" -    ba = process.readAllStandardError() -    if not ba.isEmpty(): -        msg = ": " + str(QString(ba)) -    print "failed", command, " ".join(args), msg - - -def build(path): -    for name in os.listdir(path): -        source = os.path.join(path, name) -        target = None -        if source.endswith(".ui"): -            target = os.path.join(path, -                                  "ui_" + name.replace(".ui", ".py")) -            command = PYUIC4 -        elif source.endswith(".qrc"): -            target = os.path.join(path, -                                  "qrc_" + name.replace(".qrc", ".py")) -            command = PYRCC4 -        process = PyQt4.QtCore.QProcess() -        if target is not None: -            if not os.access(target, os.F_OK) or ( -               os.stat(source)[stat.ST_MTIME] > \ -               os.stat(target)[stat.ST_MTIME]): -                args = ["-o", target, source] -                if sys.platform.startswith("darwin") and command == PYUIC4: -                    command = sys.executable -                    args = [PYUIC4] + args -                if Debug: -                    print "# %s %s" % (command, " ".join(args)) -                else: -                    process.start(command, args) -                    if not process.waitForFinished(2 * 60 * 1000): -                        report_failure(command, args, process) -                    else: -                        print source, "->", target -            elif Verbose: -                print source, "is up-to-date" - - -def clean(path): -    deletelist = [] -    for name in os.listdir(path): -        target = os.path.join(path, name) -        source = None -        if target.endswith(".py") or target.endswith(".pyc") or \ -           target.endswith(".pyo"): -            if name.startswith("ui_") and not name[-1] in "oc": -                source = os.path.join(path, name[3:-3] + ".ui") -            elif name.startswith("qrc_"): -                if target[-1] in "oc": -                    source = os.path.join(path, name[4:-4] + ".qrc") -                else: -                    source = os.path.join(path, name[4:-3] + ".qrc") -            elif target[-1] in "oc": -                source = target[:-1] -            if source is not None: -                if os.access(source, os.F_OK): -                    if Debug: -                        print "# delete ", target -                    else: -                        deletelist.append(target) -                else: -                    print "will not remove '%s' since `%s' not found" % ( -                            target, source) -    if not Debug: -        for target in deletelist: -            if Verbose: -                print "deleted", target -            os.remove(target) - - -def translate(path): -    files = [] -    tsfiles = [] -    for name in os.listdir(path): -        if name.endswith((".py", ".pyw")): -            files.append(os.path.join(path, name)) -        elif name.endswith(".ts"): -            tsfiles.append(os.path.join(path, name)) -    if not tsfiles: -        return -    verbose = "-verbose" if Verbose else "" -    silent = "-silent" if not Verbose else "" -    process = PyQt4.QtCore.QProcess() -    for ts in tsfiles: -        qm = ts[:-3] + ".qm" -        command1 = PYLUPDATE4 -        args1 = [verbose] + files + ["-ts", ts] -        command2 = LRELEASE -        args2 = [silent, ts, "-qm", qm] -        if Debug: -            print "updated", ts -            print "generated", qm -        else: -            process.start(command1, args1) -            if not process.waitForFinished(2 * 60 * 1000): -                report_failure(command1, args1, process) -            process.start(command2, args2) -            if not process.waitForFinished(2 * 60 * 1000): -                report_failure(command2, args2, process) - - -def apply(recurse, function, path): -    if not recurse: -        function(path) -    else: -        for root, dirs, files in os.walk(path): -            for dir in dirs: -                function(os.path.join(root, dir)) - - -def main(): -    global Debug, Verbose -    function = build -    recurse = False -    trans = False -    force = False -    path = "." -    args = sys.argv[1:] -    while args: -        arg = args.pop(0) -        if arg in ("-D", "--debug", "debug"): -            Debug = True -        elif arg in ("-b", "--build", "build"): -            pass # This is the default -        elif arg in ("-c", "--clean", "clean"): -            function = clean -        elif arg in ("-f", "--force", "force"): -            force = True -        elif arg in ("-t", "--translate", "translate"): -            trans = True -        elif arg in ("-r", "--recurse", "recurse"): -            recurse = True -        elif arg in ("-v", "--verbose", "verbose"): -            Verbose = True -        elif arg in ("-h", "--help", "help"): -            usage() -        else: -            path = arg -    if not force: -        apply(recurse, function, path) -    else: -        apply(recurse, clean, path) -        apply(recurse, build, path) -    if trans and (function == build or force): -        apply(recurse, translate, path) - -main() - -# 1.0.1 Fixed bug reported by Brian Downing where paths that contained -#       spaces were not handled correctly. -# 1.0.2 Changed default path on Windows to match PyQt 4.4 -# 1.0.3 Tried to make the paths work on Mac OS X diff --git a/data/resources/icons.qrc b/data/resources/icons.qrc new file mode 100644 index 00000000..6a6de9e6 --- /dev/null +++ b/data/resources/icons.qrc @@ -0,0 +1,9 @@ +<RCC> +  <qresource prefix="/"> +    <file>../images/light/16/down-arrow.png</file> +    <file>../images/light/16/up-arrow.png</file> +    <file>../images/light/64/network-eip-acquiring.png</file> +    <file>../images/light/64/network-eip-down.png</file> +    <file>../images/light/64/network-eip-up.png</file> +  </qresource> +</RCC> diff --git a/data/resources/loggerwindow.qrc b/data/resources/loggerwindow.qrc new file mode 100644 index 00000000..847ca9a1 --- /dev/null +++ b/data/resources/loggerwindow.qrc @@ -0,0 +1,11 @@ +<RCC> +  <qresource prefix="/"> +    <file>../images/oxygen-icons/edit-bomb.png</file> +    <file>../images/oxygen-icons/document-save-as.png</file> +    <file>../images/oxygen-icons/dialog-information.png</file> +    <file>../images/oxygen-icons/script-error.png</file> +    <file>../images/oxygen-icons/dialog-error.png</file> +    <file>../images/oxygen-icons/dialog-information.png</file> +    <file>../images/oxygen-icons/dialog-warning.png</file> +  </qresource> +</RCC> diff --git a/data/resources/mainwindow.qrc b/data/resources/mainwindow.qrc index 293988e1..655f2812 100644 --- a/data/resources/mainwindow.qrc +++ b/data/resources/mainwindow.qrc @@ -1,12 +1,21 @@ -<!DOCTYPE RCC><RCC version="1.0"> -<qresource prefix="/"> -   <file>../images/conn_error.png</file> -   <file>../images/conn_connecting.png</file> -   <file>../images/conn_connected.png</file> -   <file>../images/leap-color-small.png</file> -   <file>../images/watermark.png</file> -   <file>../images/Dialog-accept.png</file> -   <file>../images/Dialog-error.png</file> -   <file>../images/Emblem-question.png</file> -</qresource> +<RCC> +  <qresource prefix="/"> +    <file>../images/watermark.png</file> +    <file>../images/leap-gray-big.png</file> +    <file>../images/Blue-Arrow-Right-32.png</file> +    <file>../images/Globe.png</file> +    <file>../images/leap-color-big.png</file> +    <file>../images/Arrow-Down-32.png</file> +    <file>../images/Arrow-Up-32.png</file> +    <file>../images/conn_connecting.png</file> +    <file>../images/conn_connected.png</file> +    <file>../images/conn_error.png</file> +    <file>../images/conn_connecting-light.png</file> +    <file>../images/conn_connected-light.png</file> +    <file>../images/conn_error-light.png</file> +    <file>../images/leap-color-small.png</file> +    <file>../images/Dialog-accept.png</file> +    <file>../images/Dialog-error.png</file> +    <file>../images/Emblem-question.png</file> +  </qresource>  </RCC> diff --git a/data/translations/de.qm b/data/translations/de.qm Binary files differdeleted file mode 100644 index b2f04f22..00000000 --- a/data/translations/de.qm +++ /dev/null diff --git a/data/translations/de.ts b/data/translations/de.ts deleted file mode 100644 index f2ab6fa4..00000000 --- a/data/translations/de.ts +++ /dev/null @@ -1,218 +0,0 @@ -<?xml version="1.0" ?><!DOCTYPE TS><TS language="de" version="2.0"> -<context> -    <name>IntroPage</name> -    <message> -        <location filename="../src/leap/gui/firstrun/intro.py" line="14"/> -        <source>First run wizard.</source> -        <translation>Assistent für erstmaligen Start</translation> -    </message> -    <message> -        <location filename="../src/leap/gui/firstrun/intro.py" line="24"/> -        <source>Now we will guide you through some configuration that is needed before you can connect for the first time.<br><br>If you ever need to modify these options again, you can find the wizard in the '<i>Settings</i>' menu from the main window.<br><br>Do you want to <b>sign up</b> for a new account, or <b>log in</b> with an already existing username?<br></source> -        <translation>Wir werden dich nun durch einige Konfigurationen führen, die du für den ersten Start benötigst.<br><br>Wenn du diese Konfigurationen jemals ändern musst, findest du den Assistenten im '<i>Einstellungen</i>'-Menü des Haupfensters.<br><br>Möchtest du dich für einen neuen Account <b>anmelden</b> oder mit einem bestehenden Usernamen <b>einloggen</b>?</translation> -    </message> -    <message> -        <location filename="../src/leap/gui/firstrun/intro.py" line="37"/> -        <source>Sign up for a new account.</source> -        <translation>Für einen neuen Account anmelden.</translation> -    </message> -    <message> -        <location filename="../src/leap/gui/firstrun/intro.py" line="40"/> -        <source>Log In with my credentials.</source> -        <translation>Mit bestehenden Daten einloggen.</translation> -    </message> -</context> -<context> -    <name>LogInPage</name> -    <message> -        <location filename="../src/leap/gui/firstrun/login.py" line="96"/> -        <source>Username must be in the username@provider form.</source> -        <translation>Der Username muss in der Form username@provider sein.</translation> -    </message> -    <message> -        <location filename="../src/leap/gui/firstrun/login.py" line="140"/> -        <source>Resolving domain name</source> -        <translation>Auflösen des Domain-Namens</translation> -    </message> -    <message> -        <location filename="../src/leap/gui/firstrun/login.py" line="163"/> -        <source>Authentication error: %s</source> -        <translation>Authentifizierungsfehler: %s</translation> -    </message> -    <message> -        <location filename="../src/leap/gui/firstrun/login.py" line="179"/> -        <source>Credentials validated.</source> -        <translation>Anmeldedaten korrekt.</translation> -    </message> -</context> -<context> -    <name>ProviderInfoPage</name> -    <message> -        <location filename="../src/leap/gui/firstrun/providerinfo.py" line="18"/> -        <source>Provider Info</source> -        <translation>Provider-info</translation> -    </message> -    <message> -        <location filename="../src/leap/gui/firstrun/providerinfo.py" line="19"/> -        <source>This is what provider says.</source> -        <translation>Das ist, was der Provider sagt.</translation> -    </message> -</context> -<context> -    <name>ProviderSetupValidationPage</name> -    <message> -        <location filename="../src/leap/gui/firstrun/providersetup.py" line="26"/> -        <source>Provider setup</source> -        <translation>Provider-Setup</translation> -    </message> -    <message> -        <location filename="../src/leap/gui/firstrun/providersetup.py" line="27"/> -        <source>Doing autoconfig.</source> -        <translation>Führe autoconfig durch.</translation> -    </message> -    <message> -        <location filename="../src/leap/gui/firstrun/providersetup.py" line="83"/> -        <source>Fetching CA certificate</source> -        <translation>Hole CA-Zertifikat</translation> -    </message> -    <message> -        <location filename="../src/leap/gui/firstrun/providersetup.py" line="105"/> -        <source>Checking CA fingerprint</source> -        <translation>Überprüfe CA-Fingerprint</translation> -    </message> -    <message> -        <location filename="../src/leap/gui/firstrun/providersetup.py" line="134"/> -        <source>Validating api certificate</source> -        <translation>Überprüfe API-Zertifikat</translation> -    </message> -</context> -<context> -    <name>RegisterUserPage</name> -    <message> -        <location filename="../src/leap/gui/firstrun/register.py" line="31"/> -        <source>Sign Up</source> -        <translation>Anmelden</translation> -    </message> -    <message> -        <location filename="../src/leap/gui/firstrun/register.py" line="208"/> -        <source>Registration succeeded!</source> -        <translation>Registrierung erfolgreich!</translation> -    </message> -    <message> -        <location filename="../src/leap/gui/firstrun/register.py" line="238"/> -        <source>Password does not match..</source> -        <translation>Passwort stimmt nicht überien.</translation> -    </message> -    <message> -        <location filename="../src/leap/gui/firstrun/register.py" line="242"/> -        <source>Password too short.</source> -        <translation>Passwort zu kurz</translation> -    </message> -    <message> -        <location filename="../src/leap/gui/firstrun/register.py" line="247"/> -        <source>Password too obvious.</source> -        <translation>Passwort zu simpel.</translation> -    </message> -    <message> -        <location filename="../src/leap/gui/firstrun/register.py" line="279"/> -        <source>Error connecting to provider (timeout)</source> -        <translation>Verbindungsfehler zu Provider (timeout)</translation> -    </message> -    <message> -        <location filename="../src/leap/gui/firstrun/register.py" line="284"/> -        <source>Error Connecting to provider (connerr).</source> -        <translation>Verbindungsfehler zu Provider (connerr)</translation> -    </message> -    <message> -        <location filename="../src/leap/gui/firstrun/register.py" line="292"/> -        <source>Error during registration (%s)</source> -        <translation>Fehler während der Registrierung (%s)</translation> -    </message> -    <message> -        <location filename="../src/leap/gui/firstrun/register.py" line="302"/> -        <source>Could not register (bad response)</source> -        <translation>Konnte nicht registrieren (bad response)</translation> -    </message> -    <message> -        <location filename="../src/leap/gui/firstrun/register.py" line="309"/> -        <source>Username not available.</source> -        <translation>Username nicht verfügbar.</translation> -    </message> -    <message> -        <location filename="../src/leap/gui/firstrun/register.py" line="375"/> -        <source>Register a new user with provider %s.</source> -        <translation>Registriere einen neuen User bei Provider %s</translation> -    </message> -</context> -<context> -    <name>RegisterUserValidationPage</name> -    <message> -        <location filename="../src/leap/gui/firstrun/regvalidation.py" line="95"/> -        <source>Fetching provider config...</source> -        <translation>Hole Provider-Konfiguration...</translation> -    </message> -    <message> -        <location filename="../src/leap/gui/firstrun/regvalidation.py" line="112"/> -        <source>Authentication error: %s</source> -        <translation>Authentifizierungsfehler: %s</translation> -    </message> -    <message> -        <location filename="../src/leap/gui/firstrun/regvalidation.py" line="117"/> -        <source>Fetching eip certificate</source> -        <translation>Hole EIP-Zertifikat</translation> -    </message> -</context> -<context> -    <name>SelectProviderPage</name> -    <message> -        <location filename="../src/leap/gui/firstrun/providerselect.py" line="32"/> -        <source>Enter Provider</source> -        <translation>Gib Provider ein</translation> -    </message> -    <message> -        <location filename="../src/leap/gui/firstrun/providerselect.py" line="33"/> -        <source>Please enter the domain of the provider you want to use for your connection.</source> -        <translation>Bitte gib die Domain des Providers an, den du für deine Verbindung nutzen möchtest.</translation> -    </message> -    <message> -        <location filename="../src/leap/gui/firstrun/providerselect.py" line="87"/> -        <source>chec&k!</source> -        <translation type="unfinished"/> -    </message> -    <message> -        <location filename="../src/leap/gui/firstrun/providerselect.py" line="97"/> -        <source>Server certificate could not be verified.</source> -        <translation>Server-Zertifikat konnte nicht bestätigt werden.</translation> -    </message> -    <message> -        <location filename="../src/leap/gui/firstrun/providerselect.py" line="136"/> -        <source>Certificate validation</source> -        <translation>Zertifikatsüberprüfung</translation> -    </message> -    <message> -        <location filename="../src/leap/gui/firstrun/providerselect.py" line="222"/> -        <source>checking domain name</source> -        <translation>Prüfe Domain-Name</translation> -    </message> -    <message> -        <location filename="../src/leap/gui/firstrun/providerselect.py" line="276"/> -        <source>checking https connection</source> -        <translation>Prüfe HTTPS-Verbindung</translation> -    </message> -    <message> -        <location filename="../src/leap/gui/firstrun/providerselect.py" line="292"/> -        <source>Could not get info from provider.</source> -        <translation>Konnte keine Information vom Provider bekommen.</translation> -    </message> -    <message> -        <location filename="../src/leap/gui/firstrun/providerselect.py" line="295"/> -        <source>Could not download provider info (refused conn.).</source> -        <translation>Konnte Provider-Info nicht herunterladen (refused conn.).</translation> -    </message> -    <message> -        <location filename="../src/leap/gui/firstrun/providerselect.py" line="305"/> -        <source>fetching provider info</source> -        <translation>Hole Provider-Info</translation> -    </message> -</context> -</TS>
\ No newline at end of file diff --git a/data/translations/es.qm b/data/translations/es.qm Binary files differindex 8daa2037..9b32cdcf 100644 --- a/data/translations/es.qm +++ b/data/translations/es.qm diff --git a/data/translations/es.ts b/data/translations/es.ts index 84aa6f0a..f6102bfa 100644 --- a/data/translations/es.ts +++ b/data/translations/es.ts @@ -1,218 +1,496 @@  <?xml version="1.0" ?><!DOCTYPE TS><TS language="es" version="2.0">  <context> -    <name>IntroPage</name> +    <name>MainWindow</name>      <message> -        <location filename="../src/leap/gui/firstrun/intro.py" line="14"/> -        <source>First run wizard.</source> -        <translation>Primera Conexion.</translation> +        <location filename="../src/leap/gui/mainwindow.py" line="592"/> +        <source>Encryption is OFF</source> +        <translation>Cifrado APAGADO</translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/intro.py" line="24"/> -        <source>Now we will guide you through some configuration that is needed before you can connect for the first time.<br><br>If you ever need to modify these options again, you can find the wizard in the '<i>Settings</i>' menu from the main window.<br><br>Do you want to <b>sign up</b> for a new account, or <b>log in</b> with an already existing username?<br></source> -        <translation>Vamos a configurar algunas cosas antes de que te puedas conectar por primera vez.<br><br>Si necesitas modificar estas opciones de nuevo, puedes encontrar este asistente en el menu de '<i>Opciones</i>' en la ventana principal.<br><br>Quieres <b>registrar</b> una nueva cuenta, o <b>loguearte</b> con tu usuario?<br> </translation> +        <location filename="../src/leap/gui/mainwindow.py" line="155"/> +        <source>Stop</source> +        <translation>Detener</translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/intro.py" line="37"/> -        <source>Sign up for a new account.</source> -        <translation>Registrar una cuenta nueva.</translation> +        <location filename="../src/leap/gui/mainwindow.py" line="257"/> +        <source>Hide</source> +        <translation>Ocultar</translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/intro.py" line="40"/> -        <source>Log In with my credentials.</source> -        <translation>Loguearme con un usuario que ya tengo.</translation> +        <location filename="../src/leap/gui/mainwindow.py" line="259"/> +        <source>Show</source> +        <translation>Mostrar</translation>      </message> -</context> -<context> -    <name>LogInPage</name>      <message> -        <location filename="../src/leap/gui/firstrun/login.py" line="96"/> -        <source>Username must be in the username@provider form.</source> -        <translation>El usuario tiene que ser usuario@tu.proveedor</translation> +        <location filename="../src/leap/gui/mainwindow.py" line="288"/> +        <source>About LEAP</source> +        <translation>Acerca de LEAP</translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/login.py" line="140"/> -        <source>Resolving domain name</source> -        <translation>Resolviendo nombre de dominio</translation> +        <location filename="../src/leap/gui/mainwindow.py" line="288"/> +        <source>LEAP is a non-profit dedicated to giving all internet users access to secure communication. Our focus is on adapting encryption technology to make it easy to use and widely available. <a href="https://leap.se">More about LEAP</a></source> +        <translation>LEAP es una empresa sin fines de lucro dedicada a proveer comunicaciones seguras a todos sus usuarios. Nuestro objetivo es la adatación de tecnologías de cifrado para que sean fáciles de utilizar, y estén ampliamente disponibles. <a href="https://leap.se">Más acerca de LEAP</a></translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/login.py" line="163"/> -        <source>Authentication error: %s</source> -        <translation>Error de autenticacion: %s</translation> +        <location filename="../src/leap/gui/mainwindow.py" line="433"/> +        <source>Could not load provider configuration</source> +        <translation>No fue posible cargar la configuración del proveedor</translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/login.py" line="179"/> -        <source>Credentials validated.</source> -        <translation>Credenciales validadas.</translation> +        <location filename="../src/leap/gui/mainwindow.py" line="459"/> +        <source>Please select a valid provider</source> +        <translation>Por favor, selectione un proveedor válido</translation>      </message> -</context> -<context> -    <name>ProviderInfoPage</name>      <message> -        <location filename="../src/leap/gui/firstrun/providerinfo.py" line="18"/> -        <source>Provider Info</source> -        <translation>Info del Proveedor</translation> +        <location filename="../src/leap/gui/mainwindow.py" line="463"/> +        <source>Please provide a valid username</source> +        <translation>Por favor, provea un nombre de usuario válido</translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/providerinfo.py" line="19"/> -        <source>This is what provider says.</source> -        <translation>Esto es lo que dice el proveedor.</translation> +        <location filename="../src/leap/gui/mainwindow.py" line="467"/> +        <source>Please provide a valid Password</source> +        <translation>Por favor, provea una contraseña válida</translation>      </message> -</context> -<context> -    <name>ProviderSetupValidationPage</name>      <message> -        <location filename="../src/leap/gui/firstrun/providersetup.py" line="26"/> -        <source>Provider setup</source> -        <translation>Configuracion del Proveedor</translation> +        <location filename="../src/leap/gui/mainwindow.py" line="470"/> +        <source>Logging in...</source> +        <translation>Ingresando...</translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/providersetup.py" line="27"/> -        <source>Doing autoconfig.</source> -        <translation>Autoconfigurando.</translation> +        <location filename="../src/leap/gui/mainwindow.py" line="549"/> +        <source>Stop EIP</source> +        <translation>Detener EIP</translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/providersetup.py" line="83"/> -        <source>Fetching CA certificate</source> -        <translation>Obteniendo certificado de la CA</translation> +        <location filename="../src/leap/gui/mainwindow.py" line="558"/> +        <source>EIP has stopped</source> +        <translation>EIP se ha detenido</translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/providersetup.py" line="105"/> -        <source>Checking CA fingerprint</source> -        <translation>Comprobando el fingerprint de la CA</translation> +        <location filename="../src/leap/gui/mainwindow.py" line="560"/> +        <source>Start EIP</source> +        <translation>Comenzar EIP</translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/providersetup.py" line="134"/> -        <source>Validating api certificate</source> -        <translation>Validando certificado de la api</translation> +        <location filename="../src/leap/gui/mainwindow.py" line="573"/> +        <source>Checking configuration, please wait...</source> +        <translation>Corroborando la configuración, por favor espere...</translation> +    </message> +    <message> +        <location filename="../src/leap/gui/mainwindow.py" line="581"/> +        <source>%s does not support EIP</source> +        <translation>%s no soporta EIP</translation> +    </message> +    <message> +        <location filename="../src/leap/gui/mainwindow.py" line="596"/> +        <source>Encryption is ON</source> +        <translation>Cifrado ENCENDIDO</translation> +    </message> +    <message> +        <location filename="../src/leap/gui/mainwindow.py" line="614"/> +        <source>VPN: Authenticating...</source> +        <translation>VPN: Autorizando...</translation> +    </message> +    <message> +        <location filename="../src/leap/gui/mainwindow.py" line="616"/> +        <source>VPN: Retrieving configuration...</source> +        <translation>VPN: Obteniendo configuración...</translation> +    </message> +    <message> +        <location filename="../src/leap/gui/mainwindow.py" line="618"/> +        <source>VPN: Connected!</source> +        <translation>VPN: Conectado!</translation> +    </message> +    <message> +        <location filename="../src/leap/gui/mainwindow.py" line="672"/> +        <source>Signing out...</source> +        <translation>Saliendo...</translation> +    </message> +    <message> +        <location filename="../src/leap/gui/ui/mainwindow.ui" line="14"/> +        <source>LEAP</source> +        <translation>LEAP</translation> +    </message> +    <message> +        <location filename="../src/leap/gui/ui/mainwindow.ui" line="80"/> +        <source>Remember</source> +        <translation>Recordar</translation> +    </message> +    <message> +        <location filename="../src/leap/gui/ui/mainwindow.ui" line="103"/> +        <source>Login</source> +        <translation>Acceder</translation> +    </message> +    <message> +        <location filename="../src/leap/gui/ui/mainwindow.ui" line="123"/> +        <source><b>Provider:</b></source> +        <translation><b>Proveedor:</b></translation> +    </message> +    <message> +        <location filename="../src/leap/gui/ui/mainwindow.ui" line="133"/> +        <source><b>Password:</b></source> +        <translation><b>Contraseña:</b></translation>      </message> -</context> -<context> -    <name>RegisterUserPage</name>      <message> -        <location filename="../src/leap/gui/firstrun/register.py" line="31"/> -        <source>Sign Up</source> -        <translation>Nueva Cuenta</translation> +        <location filename="../src/leap/gui/ui/mainwindow.ui" line="153"/> +        <source><b>User:</b></source> +        <translation><b>Usuario:</b></translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/register.py" line="208"/> -        <source>Registration succeeded!</source> -        <translation>Cuenta creada con exito!</translation> +        <location filename="../src/leap/gui/ui/mainwindow.ui" line="219"/> +        <source>0.0 Kb</source> +        <translation>0.0 Kb</translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/register.py" line="238"/> -        <source>Password does not match..</source> -        <translation>Las contrasenas no son iguales..</translation> +        <location filename="../src/leap/gui/ui/mainwindow.ui" line="272"/> +        <source>Disconnected</source> +        <translation>Desconectado</translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/register.py" line="242"/> -        <source>Password too short.</source> -        <translation>Contrasena demasiado corta.</translation> +        <location filename="../src/leap/gui/ui/mainwindow.ui" line="332"/> +        <source>&Session</source> +        <translation>&Sesión</translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/register.py" line="247"/> -        <source>Password too obvious.</source> -        <translation>Contrasena demasiado obvia.</translation> +        <location filename="../src/leap/gui/ui/mainwindow.ui" line="340"/> +        <source>Help</source> +        <translation>Ayuda</translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/register.py" line="279"/> -        <source>Error connecting to provider (timeout)</source> -        <translation>Error conectandose al proveedor (timeout)</translation> +        <location filename="../src/leap/gui/ui/mainwindow.ui" line="348"/> +        <source>S&ettings</source> +        <translation>C&onfiguración</translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/register.py" line="284"/> -        <source>Error Connecting to provider (connerr).</source> -        <translation>Error conectandose al proveedor (connerr).</translation> +        <location filename="../src/leap/gui/ui/mainwindow.ui" line="359"/> +        <source>&Sign out</source> +        <translation>&Desconectarse</translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/register.py" line="292"/> -        <source>Error during registration (%s)</source> -        <translation>Error durante el registro (%s)</translation> +        <location filename="../src/leap/gui/ui/mainwindow.ui" line="364"/> +        <source>&Quit</source> +        <translation>&Salir</translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/register.py" line="302"/> -        <source>Could not register (bad response)</source> -        <translation>No se pudo registrar (bad response)</translation> +        <location filename="../src/leap/gui/ui/mainwindow.ui" line="369"/> +        <source>About &LEAP</source> +        <translation>Acerca de &LEAP</translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/register.py" line="309"/> -        <source>Username not available.</source> -        <translation>Usuario no disponible.</translation> +        <location filename="../src/leap/gui/ui/mainwindow.ui" line="374"/> +        <source>&Help</source> +        <translation>&Ayuda</translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/register.py" line="375"/> -        <source>Register a new user with provider %s.</source> -        <translation>Registrar un nuevo usuario con el proveedor %s.</translation> +        <location filename="../src/leap/gui/ui/mainwindow.ui" line="379"/> +        <source>&Wizard</source> +        <translation>&Asistente</translation> +    </message> +    <message> +        <location filename="../src/leap/gui/mainwindow.py" line="620"/> +        <source>VPN: Waiting to start...</source> +        <translation>VPN: Esperando para comenzar...</translation> +    </message> +    <message> +        <location filename="../src/leap/gui/ui/mainwindow.ui" line="176"/> +        <source>Automatically login</source> +        <translation>Ingresar automáticamente</translation>      </message>  </context>  <context> -    <name>RegisterUserValidationPage</name> +    <name>Wizard</name> +    <message> +        <location filename="../src/leap/gui/wizard.py" line="152"/> +        <source>Passwords don't match</source> +        <translation>Las contraseñas no son iguales</translation> +    </message> +    <message> +        <location filename="../src/leap/gui/wizard.py" line="155"/> +        <source>Password too short</source> +        <translation>Contraseña muy corta</translation> +    </message> +    <message> +        <location filename="../src/leap/gui/wizard.py" line="158"/> +        <source>Password too easy</source> +        <translation>Contraseña demsiado simple</translation> +    </message> +    <message> +        <location filename="../src/leap/gui/wizard.py" line="161"/> +        <source>Password equal to username</source> +        <translation>Contraseña es igual al usuario</translation> +    </message> +    <message> +        <location filename="../src/leap/gui/wizard.py" line="189"/> +        <source>Starting registration...</source> +        <translation>Comenzando el registro...</translation> +    </message> +    <message> +        <location filename="../src/leap/gui/wizard.py" line="195"/> +        <source><font color='green'><b>User registration OK</b></font></source> +        <translation><font color='green'><b>Registro realizado con éxito!</b></font></translation> +    </message> +    <message> +        <location filename="../src/leap/gui/wizard.py" line="202"/> +        <source>Unknown error</source> +        <translation>Error desconocido</translation> +    </message> +    <message> +        <location filename="../src/leap/gui/wizard.py" line="303"/> +        <source>Unable to load provider configuration</source> +        <translation>No fue posible carga la configuración del proveedor</translation> +    </message> +    <message> +        <location filename="../src/leap/gui/ui/wizard.ui" line="14"/> +        <source>LEAP First run</source> +        <translation>Primera ejecución de LEAP</translation> +    </message> +    <message> +        <location filename="../src/leap/gui/ui/wizard.ui" line="31"/> +        <source>Welcome</source> +        <translation>Bienvenido</translation> +    </message> +    <message> +        <location filename="../src/leap/gui/ui/wizard.ui" line="34"/> +        <source>This is the LEAP Client first run wizard</source> +        <translation>Este es el asistente de primera ejecución de LEAP</translation> +    </message> +    <message> +        <location filename="../src/leap/gui/ui/wizard.ui" line="43"/> +        <source>Log In with my credentials</source> +        <translation>Acceder con mis credenciales</translation> +    </message> +    <message> +        <location filename="../src/leap/gui/ui/wizard.ui" line="50"/> +        <source><html><head/><body><p>Now we will guide you through some configuration that is needed before you can connect for the first time.</p><p>If you ever need to modify these options again, you can find the wizard in the <span style=" font-style:italic;">'Settings'</span> menu from the main window.</p><p>Do you want to <span style=" font-weight:600;">sign up</span> for a new account, or <span style=" font-weight:600;">log in</span> with an already existing username?</p></body></html></source> +        <translation><html><head/><body><p>Ahora le guiaremos para configurar lo necesario para que ud. pueda ingresar por primera vez.</p><p>Si necesita alguna vez modificar estas opciones, podrá ejecutar este asistente desde el menú <span style=" font-style:italic;">'Configuración'</span> desde la ventana principal.</p><p>Desea <span style=" font-weight:600;">crear</span> una nueva cuenta, o <span style=" font-weight:600;">acceder</span> con un usuario existente?</p></body></html></translation> +    </message> +    <message> +        <location filename="../src/leap/gui/ui/wizard.ui" line="63"/> +        <source>Sign up for a new account</source> +        <translation>Crear una nueva cuenta</translation> +    </message>      <message> -        <location filename="../src/leap/gui/firstrun/regvalidation.py" line="95"/> -        <source>Fetching provider config...</source> -        <translation>Obteniendo configuracion del proveedor...</translation> +        <location filename="../src/leap/gui/ui/wizard.ui" line="100"/> +        <source>Provider selection</source> +        <translation>Selección de proveedor</translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/regvalidation.py" line="112"/> -        <source>Authentication error: %s</source> -        <translation>Error de autenticacion: %s</translation> +        <location filename="../src/leap/gui/ui/wizard.ui" line="103"/> +        <source>Please enter the domain of the provider you want to user for your connection</source> +        <translation>Por favor, ingrese el dominio del proveedor que desea utilizar</translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/regvalidation.py" line="117"/> -        <source>Fetching eip certificate</source> -        <translation>Obteniendo certificado eip</translation> +        <location filename="../src/leap/gui/ui/wizard.ui" line="128"/> +        <source>https://</source> +        <translation>https://</translation> +    </message> +    <message> +        <location filename="../src/leap/gui/ui/wizard.ui" line="368"/> +        <source>Checking provider</source> +        <translation>Corroborando proveedor</translation> +    </message> +    <message> +        <location filename="../src/leap/gui/ui/wizard.ui" line="147"/> +        <source>Download provider information</source> +        <translation>Descargando información del proveedor</translation> +    </message> +    <message> +        <location filename="../src/leap/gui/ui/wizard.ui" line="154"/> +        <source>HTTPS Connection</source> +        <translation>Conexión HTTPS</translation> +    </message> +    <message> +        <location filename="../src/leap/gui/ui/wizard.ui" line="209"/> +        <source>Name resolution</source> +        <translation>Resolución de nombre</translation> +    </message> +    <message> +        <location filename="../src/leap/gui/ui/wizard.ui" line="232"/> +        <source>Check</source> +        <translation>Corroborar</translation> +    </message> +    <message> +        <location filename="../src/leap/gui/ui/wizard.ui" line="253"/> +        <source>Provider Information</source> +        <translation>Información de proveedor</translation> +    </message> +    <message> +        <location filename="../src/leap/gui/ui/wizard.ui" line="256"/> +        <source>Services offered by this provider</source> +        <translation>Servicios ofrecidos por este proveedor</translation> +    </message> +    <message> +        <location filename="../src/leap/gui/ui/wizard.ui" line="278"/> +        <source><b>Enrollment policy:</b></source> +        <translation><b>Política de ingreso:</b></translation> +    </message> +    <message> +        <location filename="../src/leap/gui/ui/wizard.ui" line="285"/> +        <source>URL</source> +        <translation>URL</translation> +    </message> +    <message> +        <location filename="../src/leap/gui/ui/wizard.ui" line="292"/> +        <source>Name</source> +        <translation>Nombre</translation> +    </message> +    <message> +        <location filename="../src/leap/gui/ui/wizard.ui" line="325"/> +        <source>policy</source> +        <translation>política</translation> +    </message> +    <message> +        <location filename="../src/leap/gui/ui/wizard.ui" line="332"/> +        <source>Desc</source> +        <translation>Desc</translation> +    </message> +    <message> +        <location filename="../src/leap/gui/ui/wizard.ui" line="356"/> +        <source>Provider setup</source> +        <translation>Configuración de proveedor</translation> +    </message> +    <message> +        <location filename="../src/leap/gui/ui/wizard.ui" line="359"/> +        <source>Gathering configuration options for this provider</source> +        <translation>Obteniendo opciones de configuración para este proveedor</translation> +    </message> +    <message> +        <location filename="../src/leap/gui/ui/wizard.ui" line="406"/> +        <source>Download CA Certificate</source> +        <translation>Descargando certificado de autoridad</translation> +    </message> +    <message> +        <location filename="../src/leap/gui/ui/wizard.ui" line="413"/> +        <source>Check CA Certificate Fingerprint</source> +        <translation>Corroborando el fingerprint del certificado</translation> +    </message> +    <message> +        <location filename="../src/leap/gui/ui/wizard.ui" line="420"/> +        <source>Check API Certificate</source> +        <translation>Corroborando certificado de API</translation> +    </message> +    <message> +        <location filename="../src/leap/gui/ui/wizard.ui" line="486"/> +        <source>Register new user</source> +        <translation>Registrar un nuevo usuario</translation> +    </message> +    <message> +        <location filename="../src/leap/gui/ui/wizard.ui" line="489"/> +        <source>Register a new user with provider</source> +        <translation>Registrar un nuevo usuario con el proveedor</translation> +    </message> +    <message> +        <location filename="../src/leap/gui/ui/wizard.ui" line="524"/> +        <source><b>User:</b></source> +        <translation><b>Usuario:</b></translation> +    </message> +    <message> +        <location filename="../src/leap/gui/ui/wizard.ui" line="534"/> +        <source><b>Password:</b></source> +        <translation><b>Contraseña:</b></translation> +    </message> +    <message> +        <location filename="../src/leap/gui/ui/wizard.ui" line="553"/> +        <source><b>Re-enter password:</b></source> +        <translation><b>Re-introduzca contraseña:</b></translation> +    </message> +    <message> +        <location filename="../src/leap/gui/ui/wizard.ui" line="563"/> +        <source>Register</source> +        <translation>Registrar</translation> +    </message> +    <message> +        <location filename="../src/leap/gui/ui/wizard.ui" line="584"/> +        <source>EIP Setup</source> +        <translation>Configuración de EIP</translation> +    </message> +    <message> +        <location filename="../src/leap/gui/ui/wizard.ui" line="587"/> +        <source>Setting up Encrypted Internet</source> +        <translation>Configurando Internet Cifrado</translation> +    </message> +    <message> +        <location filename="../src/leap/gui/ui/wizard.ui" line="609"/> +        <source>Checking EIP</source> +        <translation>Corroborando EIP</translation> +    </message> +    <message> +        <location filename="../src/leap/gui/ui/wizard.ui" line="615"/> +        <source>Download EIP configuration</source> +        <translation>Descargando configuración de EIP</translation> +    </message> +    <message> +        <location filename="../src/leap/gui/ui/wizard.ui" line="622"/> +        <source>Download client certificate</source> +        <translation>Descargando certificado de cliente</translation> +    </message> +    <message> +        <location filename="../src/leap/gui/ui/wizard.ui" line="691"/> +        <source>Congratulations!</source> +        <translation>Felicitaciones!</translation> +    </message> +    <message> +        <location filename="../src/leap/gui/ui/wizard.ui" line="694"/> +        <source>You have successfully configured the LEAP client.</source> +        <translation>Ha configurado correctamente el cliente de LEAP</translation>      </message>  </context>  <context> -    <name>SelectProviderPage</name> +    <name>__impl</name> +    <message> +        <location filename="../src/leap/crypto/srpauth.py" line="161"/> +        <source>Unknown user</source> +        <translation>Usuario desconocido</translation> +    </message>      <message> -        <location filename="../src/leap/gui/firstrun/providerselect.py" line="32"/> -        <source>Enter Provider</source> -        <translation>Entra tu Proveedor</translation> +        <location filename="../src/leap/crypto/srpauth.py" line="167"/> +        <source>The server did not send the salt parameter</source> +        <translation>El servidor no ha envíado el parámetro salt</translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/providerselect.py" line="33"/> -        <source>Please enter the domain of the provider you want to use for your connection.</source> -        <translation>Por favor, rellena el dominio del proveedor que quieras usar para tu conexion.</translation> +        <location filename="../src/leap/crypto/srpauth.py" line="171"/> +        <source>The server did not send the B parameter</source> +        <translation>El servidor no ha mandado el parámetro B</translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/providerselect.py" line="87"/> -        <source>chec&k!</source> -        <translation>compro&bar!</translation> +        <location filename="../src/leap/crypto/srpauth.py" line="199"/> +        <source>The data sent from the server had errors</source> +        <translation>Los datos enviados por el servidor contanían errores</translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/providerselect.py" line="97"/> -        <source>Server certificate could not be verified.</source> -        <translation>No se pudo verificar el certificado del servidor.</translation> +        <location filename="../src/leap/crypto/srpauth.py" line="220"/> +        <source>Could not connect to the server</source> +        <translation>No se pudo conectar al servidor</translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/providerselect.py" line="136"/> -        <source>Certificate validation</source> -        <translation>Validacion del certificado</translation> +        <location filename="../src/leap/crypto/srpauth.py" line="228"/> +        <source>Wrong password</source> +        <translation>Password incorrecto</translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/providerselect.py" line="222"/> -        <source>checking domain name</source> -        <translation>comprobando nombre de dominio</translation> +        <location filename="../src/leap/crypto/srpauth.py" line="234"/> +        <source>Unknown error (%s)</source> +        <translation>Error desconocido (%s)</translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/providerselect.py" line="276"/> -        <source>checking https connection</source> -        <translation>comprobando conexion https</translation> +        <location filename="../src/leap/crypto/srpauth.py" line="243"/> +        <source>Problem getting data from server</source> +        <translation>Problemas obteniendo datos desde el servidor</translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/providerselect.py" line="292"/> -        <source>Could not get info from provider.</source> -        <translation>no se pudo obtener info del proveedor</translation> +        <location filename="../src/leap/crypto/srpauth.py" line="264"/> +        <source>Bad data from server</source> +        <translation>Datos incorrectos desde el servidor</translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/providerselect.py" line="295"/> -        <source>Could not download provider info (refused conn.).</source> -        <translation>no se pudo obtener info del proveedor (refused conn.).</translation> +        <location filename="../src/leap/crypto/srpauth.py" line="270"/> +        <source>Auth verification failed</source> +        <translation>Verificación de autenticación falló</translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/providerselect.py" line="305"/> -        <source>fetching provider info</source> -        <translation>obteniendo info del preveedor</translation> +        <location filename="../src/leap/crypto/srpauth.py" line="400"/> +        <source>Succeeded</source> +        <translation>Exitoso!</translation>      </message>  </context>  </TS>
\ No newline at end of file diff --git a/data/ts/en_US.ts b/data/ts/en_US.ts index d2cba837..426acfbc 100644 --- a/data/ts/en_US.ts +++ b/data/ts/en_US.ts @@ -1,476 +1,496 @@  <?xml version="1.0" encoding="utf-8"?>  <!DOCTYPE TS><TS version="2.0">  <context> -    <name>ConnectionPage</name> +    <name>MainWindow</name>      <message> -        <location filename="../src/leap/gui/firstrun/connect.py" line="26"/> -        <source>Connecting...</source> +        <location filename="../src/leap/gui/mainwindow.py" line="592"/> +        <source>Encryption is OFF</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/connect.py" line="27"/> -        <source>Setting up a encrypted connection with the provider</source> +        <location filename="../src/leap/gui/mainwindow.py" line="155"/> +        <source>Stop</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/connect.py" line="85"/> -        <source>Getting EIP configuration files</source> +        <location filename="../src/leap/gui/mainwindow.py" line="257"/> +        <source>Hide</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/connect.py" line="101"/> -        <source>Authentication error: %s</source> +        <location filename="../src/leap/gui/mainwindow.py" line="259"/> +        <source>Show</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/connect.py" line="109"/> -        <source>Getting EIP certificate</source> +        <location filename="../src/leap/gui/mainwindow.py" line="288"/> +        <source>About LEAP</source>          <translation type="unfinished"></translation>      </message> -</context> -<context> -    <name>EIPConductorAppMixin</name>      <message> -        <location filename="../src/leap/baseapp/eip.py" line="221"/> -        <source>&Disconnect</source> +        <location filename="../src/leap/gui/mainwindow.py" line="288"/> +        <source>LEAP is a non-profit dedicated to giving all internet users access to secure communication. Our focus is on adapting encryption technology to make it easy to use and widely available. <a href="https://leap.se">More about LEAP</a></source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/baseapp/eip.py" line="235"/> -        <source>&Connect</source> +        <location filename="../src/leap/gui/mainwindow.py" line="433"/> +        <source>Could not load provider configuration</source>          <translation type="unfinished"></translation>      </message> -</context> -<context> -    <name>EIPErrors</name>      <message> -        <location filename="../src/leap/eip/exceptions.py" line="66"/> -        <source>We could not find any authentication agent in your system.<br/>Make sure you have <b>polkit-gnome-authentication-agent-1</b> running and try again.</source> +        <location filename="../src/leap/gui/mainwindow.py" line="459"/> +        <source>Please select a valid provider</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/eip/exceptions.py" line="77"/> -        <source>We could not find <b>pkexec</b> in your system.<br/> Do you want to try <b>setuid workaround</b>? (<i>DOES NOTHING YET</i>)</source> +        <location filename="../src/leap/gui/mainwindow.py" line="463"/> +        <source>Please provide a valid username</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/eip/exceptions.py" line="88"/> -        <source>No suitable openvpn command found. <br/>(Might be a permissions problem)</source> +        <location filename="../src/leap/gui/mainwindow.py" line="467"/> +        <source>Please provide a valid Password</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/eip/exceptions.py" line="97"/> -        <source>there is a problem with provider certificate</source> +        <location filename="../src/leap/gui/mainwindow.py" line="470"/> +        <source>Logging in...</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/eip/exceptions.py" line="104"/> -        <source>an error occurred during configuratio of leap services</source> +        <location filename="../src/leap/gui/mainwindow.py" line="549"/> +        <source>Stop EIP</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/eip/exceptions.py" line="119"/> -        <source>Server does not allow secure connections</source> +        <location filename="../src/leap/gui/mainwindow.py" line="558"/> +        <source>EIP has stopped</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/eip/exceptions.py" line="126"/> -        <source>Server certificate could not be verified</source> +        <location filename="../src/leap/gui/mainwindow.py" line="560"/> +        <source>Start EIP</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/eip/exceptions.py" line="137"/> -        <source>We could not find your eip certs in the expected path</source> +        <location filename="../src/leap/gui/mainwindow.py" line="573"/> +        <source>Checking configuration, please wait...</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/eip/exceptions.py" line="111"/> -        <source>Another OpenVPN Process has been detected. Please close it before starting leap-client</source> +        <location filename="../src/leap/gui/mainwindow.py" line="581"/> +        <source>%s does not support EIP</source>          <translation type="unfinished"></translation>      </message> -</context> -<context> -    <name>Errors</name>      <message> -        <location filename="../src/leap/base/exceptions.py" line="57"/> -        <source>Interface not found</source> +        <location filename="../src/leap/gui/mainwindow.py" line="596"/> +        <source>Encryption is ON</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/base/exceptions.py" line="64"/> -        <source>Looks like your computer is not connected to the internet</source> +        <location filename="../src/leap/gui/mainwindow.py" line="614"/> +        <source>VPN: Authenticating...</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/base/exceptions.py" line="72"/> -        <source>Looks like there are problems with your internet connection</source> +        <location filename="../src/leap/gui/mainwindow.py" line="616"/> +        <source>VPN: Retrieving configuration...</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/base/exceptions.py" line="80"/> -        <source>It looks like there is no internet connection.</source> +        <location filename="../src/leap/gui/mainwindow.py" line="618"/> +        <source>VPN: Connected!</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/base/exceptions.py" line="88"/> -        <source>Domain cannot be found</source> +        <location filename="../src/leap/gui/mainwindow.py" line="672"/> +        <source>Signing out...</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/base/exceptions.py" line="95"/> -        <source>The Encrypted Connection was lost.</source> +        <location filename="../src/leap/gui/ui/mainwindow.ui" line="14"/> +        <source>LEAP</source>          <translation type="unfinished"></translation>      </message> -</context> -<context> -    <name>IntroPage</name>      <message> -        <location filename="../src/leap/gui/firstrun/intro.py" line="14"/> -        <source>First run wizard</source> +        <location filename="../src/leap/gui/ui/mainwindow.ui" line="80"/> +        <source>Remember</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/intro.py" line="37"/> -        <source>Sign up for a new account</source> +        <location filename="../src/leap/gui/ui/mainwindow.ui" line="103"/> +        <source>Login</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/intro.py" line="40"/> -        <source>Log In with my credentials</source> +        <location filename="../src/leap/gui/ui/mainwindow.ui" line="123"/> +        <source><b>Provider:</b></source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/intro.py" line="24"/> -        <source>Now we will guide you through some configuration that is needed before you can connect for the first time.<br><br>If you ever need to modify these options again, you can find the wizard in the '<i>Settings</i>' menu from the main window.<br><br>Do you want to <b>sign up</b> for a new account, or <b>log in</b> with an already existing username?<br></source> +        <location filename="../src/leap/gui/ui/mainwindow.ui" line="133"/> +        <source><b>Password:</b></source>          <translation type="unfinished"></translation>      </message> -</context> -<context> -    <name>LastPage</name>      <message> -        <location filename="../src/leap/gui/firstrun/last.py" line="18"/> -        <source>Connecting to Encrypted Internet Proxy service...</source> +        <location filename="../src/leap/gui/ui/mainwindow.ui" line="153"/> +        <source><b>User:</b></source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/last.py" line="66"/> -        <source>Click '<i>%s</i>' to end the wizard and save your settings.</source> +        <location filename="../src/leap/gui/ui/mainwindow.ui" line="219"/> +        <source>0.0 Kb</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/last.py" line="62"/> -        <source>You are now using an encrypted connection!</source> +        <location filename="../src/leap/gui/ui/mainwindow.ui" line="272"/> +        <source>Disconnected</source>          <translation type="unfinished"></translation>      </message> -</context> -<context> -    <name>LogInPage</name>      <message> -        <location filename="../src/leap/gui/firstrun/login.py" line="96"/> -        <source>Username must be in the username@provider form.</source> +        <location filename="../src/leap/gui/ui/mainwindow.ui" line="332"/> +        <source>&Session</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/login.py" line="140"/> -        <source>Resolving domain name</source> +        <location filename="../src/leap/gui/ui/mainwindow.ui" line="340"/> +        <source>Help</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/login.py" line="163"/> -        <source>Authentication error: %s</source> +        <location filename="../src/leap/gui/ui/mainwindow.ui" line="348"/> +        <source>S&ettings</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/login.py" line="179"/> -        <source>Credentials validated.</source> +        <location filename="../src/leap/gui/ui/mainwindow.ui" line="359"/> +        <source>&Sign out</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/login.py" line="24"/> -        <source>Log In</source> +        <location filename="../src/leap/gui/ui/mainwindow.ui" line="364"/> +        <source>&Quit</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/login.py" line="38"/> -        <source>User &name:</source> +        <location filename="../src/leap/gui/ui/mainwindow.ui" line="369"/> +        <source>About &LEAP</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/login.py" line="53"/> -        <source>&Password:</source> +        <location filename="../src/leap/gui/ui/mainwindow.ui" line="374"/> +        <source>&Help</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/login.py" line="80"/> -        <source>Log in</source> +        <location filename="../src/leap/gui/ui/mainwindow.ui" line="379"/> +        <source>&Wizard</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/login.py" line="25"/> -        <source>Log in with your credentials</source> +        <location filename="../src/leap/gui/mainwindow.py" line="620"/> +        <source>VPN: Waiting to start...</source> +        <translation type="unfinished"></translation> +    </message> +    <message> +        <location filename="../src/leap/gui/ui/mainwindow.ui" line="176"/> +        <source>Automatically login</source>          <translation type="unfinished"></translation>      </message>  </context>  <context> -    <name>LogPaneMixin</name> +    <name>Wizard</name>      <message> -        <location filename="../src/leap/baseapp/log.py" line="25"/> -        <source>&Connect</source> +        <location filename="../src/leap/gui/wizard.py" line="152"/> +        <source>Passwords don't match</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/baseapp/log.py" line="38"/> -        <source>Disconnected</source> +        <location filename="../src/leap/gui/wizard.py" line="155"/> +        <source>Password too short</source>          <translation type="unfinished"></translation>      </message> -</context> -<context> -    <name>ProviderInfoPage</name>      <message> -        <location filename="../src/leap/gui/firstrun/providerinfo.py" line="19"/> -        <source>Provider Information</source> +        <location filename="../src/leap/gui/wizard.py" line="158"/> +        <source>Password too easy</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/providerinfo.py" line="20"/> -        <source>Services offered by this provider</source> +        <location filename="../src/leap/gui/wizard.py" line="161"/> +        <source>Password equal to username</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/providerinfo.py" line="95"/> -        <source>enrollment policy</source> +        <location filename="../src/leap/gui/wizard.py" line="189"/> +        <source>Starting registration...</source>          <translation type="unfinished"></translation>      </message> -</context> -<context> -    <name>ProviderSetupValidationPage</name>      <message> -        <location filename="../src/leap/gui/firstrun/providersetup.py" line="28"/> -        <source>Provider setup</source> +        <location filename="../src/leap/gui/wizard.py" line="195"/> +        <source><font color='green'><b>User registration OK</b></font></source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/providersetup.py" line="85"/> -        <source>Fetching CA certificate</source> +        <location filename="../src/leap/gui/wizard.py" line="202"/> +        <source>Unknown error</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/providersetup.py" line="107"/> -        <source>Checking CA fingerprint</source> +        <location filename="../src/leap/gui/wizard.py" line="303"/> +        <source>Unable to load provider configuration</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/providersetup.py" line="125"/> -        <source>Validating api certificate</source> +        <location filename="../src/leap/gui/ui/wizard.ui" line="14"/> +        <source>LEAP First run</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/providersetup.py" line="29"/> -        <source>Gathering configuration options for this provider</source> +        <location filename="../src/leap/gui/ui/wizard.ui" line="31"/> +        <source>Welcome</source> +        <translation type="unfinished"></translation> +    </message> +    <message> +        <location filename="../src/leap/gui/ui/wizard.ui" line="34"/> +        <source>This is the LEAP Client first run wizard</source>          <translation type="unfinished"></translation>      </message> -</context> -<context> -    <name>RegisterUserPage</name>      <message> -        <location filename="../src/leap/gui/firstrun/register.py" line="31"/> -        <source>Sign Up</source> +        <location filename="../src/leap/gui/ui/wizard.ui" line="43"/> +        <source>Log In with my credentials</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/register.py" line="208"/> -        <source>Registration succeeded!</source> +        <location filename="../src/leap/gui/ui/wizard.ui" line="50"/> +        <source><html><head/><body><p>Now we will guide you through some configuration that is needed before you can connect for the first time.</p><p>If you ever need to modify these options again, you can find the wizard in the <span style=" font-style:italic;">'Settings'</span> menu from the main window.</p><p>Do you want to <span style=" font-weight:600;">sign up</span> for a new account, or <span style=" font-weight:600;">log in</span> with an already existing username?</p></body></html></source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/register.py" line="244"/> -        <source>Password does not match..</source> +        <location filename="../src/leap/gui/ui/wizard.ui" line="63"/> +        <source>Sign up for a new account</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/register.py" line="248"/> -        <source>Password too short.</source> +        <location filename="../src/leap/gui/ui/wizard.ui" line="100"/> +        <source>Provider selection</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/register.py" line="253"/> -        <source>Password too obvious.</source> +        <location filename="../src/leap/gui/ui/wizard.ui" line="103"/> +        <source>Please enter the domain of the provider you want to user for your connection</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/register.py" line="282"/> -        <source>Error connecting to provider (timeout)</source> +        <location filename="../src/leap/gui/ui/wizard.ui" line="128"/> +        <source>https://</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/register.py" line="287"/> -        <source>Error Connecting to provider (connerr).</source> +        <location filename="../src/leap/gui/ui/wizard.ui" line="368"/> +        <source>Checking provider</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/register.py" line="295"/> -        <source>Error during registration (%s)</source> +        <location filename="../src/leap/gui/ui/wizard.ui" line="147"/> +        <source>Download provider information</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/register.py" line="305"/> -        <source>Could not register (bad response)</source> +        <location filename="../src/leap/gui/ui/wizard.ui" line="154"/> +        <source>HTTPS Connection</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/register.py" line="312"/> -        <source>Username not available.</source> +        <location filename="../src/leap/gui/ui/wizard.ui" line="209"/> +        <source>Name resolution</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/register.py" line="48"/> -        <source>User &name:</source> +        <location filename="../src/leap/gui/ui/wizard.ui" line="232"/> +        <source>Check</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/register.py" line="60"/> -        <source>&Password:</source> +        <location filename="../src/leap/gui/ui/wizard.ui" line="253"/> +        <source>Provider Information</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/register.py" line="66"/> -        <source>Password (again):</source> +        <location filename="../src/leap/gui/ui/wizard.ui" line="256"/> +        <source>Services offered by this provider</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/register.py" line="72"/> -        <source>&Remember username and password.</source> +        <location filename="../src/leap/gui/ui/wizard.ui" line="278"/> +        <source><b>Enrollment policy:</b></source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/register.py" line="378"/> -        <source>Register a new user with provider <em>%s</em></source> +        <location filename="../src/leap/gui/ui/wizard.ui" line="285"/> +        <source>URL</source> +        <translation type="unfinished"></translation> +    </message> +    <message> +        <location filename="../src/leap/gui/ui/wizard.ui" line="292"/> +        <source>Name</source>          <translation type="unfinished"></translation>      </message> -</context> -<context> -    <name>SelectProviderPage</name>      <message> -        <location filename="../src/leap/gui/firstrun/providerselect.py" line="32"/> -        <source>Enter Provider</source> +        <location filename="../src/leap/gui/ui/wizard.ui" line="325"/> +        <source>policy</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/providerselect.py" line="87"/> -        <source>chec&k!</source> +        <location filename="../src/leap/gui/ui/wizard.ui" line="332"/> +        <source>Desc</source> +        <translation type="unfinished"></translation> +    </message> +    <message> +        <location filename="../src/leap/gui/ui/wizard.ui" line="356"/> +        <source>Provider setup</source> +        <translation type="unfinished"></translation> +    </message> +    <message> +        <location filename="../src/leap/gui/ui/wizard.ui" line="359"/> +        <source>Gathering configuration options for this provider</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/providerselect.py" line="97"/> -        <source>Server certificate could not be verified.</source> +        <location filename="../src/leap/gui/ui/wizard.ui" line="406"/> +        <source>Download CA Certificate</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/providerselect.py" line="136"/> -        <source>Certificate validation</source> +        <location filename="../src/leap/gui/ui/wizard.ui" line="413"/> +        <source>Check CA Certificate Fingerprint</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/providerselect.py" line="290"/> -        <source>Could not get info from provider.</source> +        <location filename="../src/leap/gui/ui/wizard.ui" line="420"/> +        <source>Check API Certificate</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/providerselect.py" line="293"/> -        <source>Could not download provider info (refused conn.).</source> +        <location filename="../src/leap/gui/ui/wizard.ui" line="486"/> +        <source>Register new user</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/providerselect.py" line="103"/> -        <source>&Trust this provider certificate.</source> +        <location filename="../src/leap/gui/ui/wizard.ui" line="489"/> +        <source>Register a new user with provider</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/providerselect.py" line="344"/> -        <source>Do you want to <b>trust this provider certificate?</b></source> +        <location filename="../src/leap/gui/ui/wizard.ui" line="524"/> +        <source><b>User:</b></source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/providerselect.py" line="347"/> -        <source>SHA-256 fingerprint: <i>%s</i><br></source> +        <location filename="../src/leap/gui/ui/wizard.ui" line="534"/> +        <source><b>Password:</b></source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/providerselect.py" line="33"/> -        <source>Please enter the domain of the provider you want to use for your connection</source> +        <location filename="../src/leap/gui/ui/wizard.ui" line="553"/> +        <source><b>Re-enter password:</b></source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/providerselect.py" line="222"/> -        <source>Checking if it is a valid provider</source> +        <location filename="../src/leap/gui/ui/wizard.ui" line="563"/> +        <source>Register</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/providerselect.py" line="276"/> -        <source>Checking for a secure connection</source> +        <location filename="../src/leap/gui/ui/wizard.ui" line="584"/> +        <source>EIP Setup</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/gui/firstrun/providerselect.py" line="303"/> -        <source>Getting info from the provider</source> +        <location filename="../src/leap/gui/ui/wizard.ui" line="587"/> +        <source>Setting up Encrypted Internet</source> +        <translation type="unfinished"></translation> +    </message> +    <message> +        <location filename="../src/leap/gui/ui/wizard.ui" line="609"/> +        <source>Checking EIP</source> +        <translation type="unfinished"></translation> +    </message> +    <message> +        <location filename="../src/leap/gui/ui/wizard.ui" line="615"/> +        <source>Download EIP configuration</source> +        <translation type="unfinished"></translation> +    </message> +    <message> +        <location filename="../src/leap/gui/ui/wizard.ui" line="622"/> +        <source>Download client certificate</source> +        <translation type="unfinished"></translation> +    </message> +    <message> +        <location filename="../src/leap/gui/ui/wizard.ui" line="691"/> +        <source>Congratulations!</source> +        <translation type="unfinished"></translation> +    </message> +    <message> +        <location filename="../src/leap/gui/ui/wizard.ui" line="694"/> +        <source>You have successfully configured the LEAP client.</source>          <translation type="unfinished"></translation>      </message>  </context>  <context> -    <name>StatusAwareTrayIconMixin</name> +    <name>__impl</name>      <message> -        <location filename="../src/leap/baseapp/systray.py" line="78"/> -        <source>EIP Connection Status</source> +        <location filename="../src/leap/crypto/srpauth.py" line="161"/> +        <source>Unknown user</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/baseapp/systray.py" line="87"/> -        <source><b>disconnected</b></source> +        <location filename="../src/leap/crypto/srpauth.py" line="167"/> +        <source>The server did not send the salt parameter</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/baseapp/systray.py" line="126"/> -        <source>Encryption ON     turn &off</source> +        <location filename="../src/leap/crypto/srpauth.py" line="171"/> +        <source>The server did not send the B parameter</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/baseapp/systray.py" line="131"/> -        <source>&Details...</source> +        <location filename="../src/leap/crypto/srpauth.py" line="199"/> +        <source>The data sent from the server had errors</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/baseapp/systray.py" line="135"/> -        <source>&About</source> +        <location filename="../src/leap/crypto/srpauth.py" line="220"/> +        <source>Could not connect to the server</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/baseapp/systray.py" line="138"/> -        <source>About Q&t</source> +        <location filename="../src/leap/crypto/srpauth.py" line="228"/> +        <source>Wrong password</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/baseapp/systray.py" line="141"/> -        <source>&Quit</source> +        <location filename="../src/leap/crypto/srpauth.py" line="234"/> +        <source>Unknown error (%s)</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/baseapp/systray.py" line="152"/> -        <source>Encryption ON    turn o&ff</source> +        <location filename="../src/leap/crypto/srpauth.py" line="243"/> +        <source>Problem getting data from server</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/baseapp/systray.py" line="157"/> -        <source>Encryption OFF   turn &on</source> +        <location filename="../src/leap/crypto/srpauth.py" line="264"/> +        <source>Bad data from server</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/baseapp/systray.py" line="162"/> -        <source>connecting...</source> +        <location filename="../src/leap/crypto/srpauth.py" line="270"/> +        <source>Auth verification failed</source>          <translation type="unfinished"></translation>      </message>      <message> -        <location filename="../src/leap/baseapp/systray.py" line="185"/> -        <source>About</source> +        <location filename="../src/leap/crypto/srpauth.py" line="400"/> +        <source>Succeeded</source>          <translation type="unfinished"></translation>      </message>  </context>  | 
