summaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
Diffstat (limited to 'data')
-rw-r--r--data/images/Arrow-Down-32.pngbin0 -> 1458 bytes
-rw-r--r--data/images/Arrow-Up-32.pngbin0 -> 1400 bytes
-rw-r--r--data/images/Blue-Arrow-Right-32.pngbin0 -> 1432 bytes
-rw-r--r--data/images/Globe.pngbin0 -> 22470 bytes
-rw-r--r--data/images/conn_connected-light.pngbin0 -> 426 bytes
-rw-r--r--data/images/conn_connecting-light.pngbin0 -> 791 bytes
-rw-r--r--data/images/conn_error-light.pngbin0 -> 1457 bytes
-rw-r--r--data/images/leap-client.tiffbin0 -> 3598 bytes
-rw-r--r--data/images/leap-color-big.pngbin0 -> 30322 bytes
-rw-r--r--data/images/leap-gray-big.pngbin0 -> 17246 bytes
-rw-r--r--data/images/light/16/accept.pngbin0 -> 285 bytes
-rw-r--r--data/images/light/16/down-arrow.pngbin0 -> 356 bytes
-rw-r--r--data/images/light/16/error.pngbin0 -> 355 bytes
-rw-r--r--data/images/light/16/refresh.pngbin0 -> 472 bytes
-rw-r--r--data/images/light/16/up-arrow.pngbin0 -> 357 bytes
-rw-r--r--data/images/light/64/network-eip-acquiring.pngbin0 -> 791 bytes
-rw-r--r--data/images/light/64/network-eip-down.pngbin0 -> 1429 bytes
-rw-r--r--data/images/light/64/network-eip-up.pngbin0 -> 426 bytes
-rw-r--r--data/images/oxygen-icons/dialog-error.pngbin0 -> 1527 bytes
-rw-r--r--data/images/oxygen-icons/dialog-information.pngbin0 -> 1636 bytes
-rw-r--r--data/images/oxygen-icons/dialog-warning.pngbin0 -> 1354 bytes
-rw-r--r--data/images/oxygen-icons/document-save-as.pngbin0 -> 2152 bytes
-rw-r--r--data/images/oxygen-icons/edit-bomb.pngbin0 -> 1635 bytes
-rw-r--r--data/images/oxygen-icons/script-error.pngbin0 -> 1709 bytes
-rw-r--r--data/leap_client.pro39
-rwxr-xr-xdata/mkpyqt.py271
-rw-r--r--data/resources/icons.qrc9
-rw-r--r--data/resources/loggerwindow.qrc11
-rw-r--r--data/resources/mainwindow.qrc31
-rw-r--r--data/translations/de.qmbin6036 -> 0 bytes
-rw-r--r--data/translations/de.ts218
-rw-r--r--data/translations/es.qmbin6194 -> 12207 bytes
-rw-r--r--data/translations/es.ts542
-rw-r--r--data/ts/en_US.ts434
34 files changed, 702 insertions, 853 deletions
diff --git a/data/images/Arrow-Down-32.png b/data/images/Arrow-Down-32.png
new file mode 100644
index 00000000..c5c607a1
--- /dev/null
+++ b/data/images/Arrow-Down-32.png
Binary files differ
diff --git a/data/images/Arrow-Up-32.png b/data/images/Arrow-Up-32.png
new file mode 100644
index 00000000..85370ac5
--- /dev/null
+++ b/data/images/Arrow-Up-32.png
Binary files differ
diff --git a/data/images/Blue-Arrow-Right-32.png b/data/images/Blue-Arrow-Right-32.png
new file mode 100644
index 00000000..66e50b0d
--- /dev/null
+++ b/data/images/Blue-Arrow-Right-32.png
Binary files differ
diff --git a/data/images/Globe.png b/data/images/Globe.png
new file mode 100644
index 00000000..7549433b
--- /dev/null
+++ b/data/images/Globe.png
Binary files differ
diff --git a/data/images/conn_connected-light.png b/data/images/conn_connected-light.png
new file mode 100644
index 00000000..a0db2a22
--- /dev/null
+++ b/data/images/conn_connected-light.png
Binary files differ
diff --git a/data/images/conn_connecting-light.png b/data/images/conn_connecting-light.png
new file mode 100644
index 00000000..83e3ea75
--- /dev/null
+++ b/data/images/conn_connecting-light.png
Binary files differ
diff --git a/data/images/conn_error-light.png b/data/images/conn_error-light.png
new file mode 100644
index 00000000..8cee20fe
--- /dev/null
+++ b/data/images/conn_error-light.png
Binary files differ
diff --git a/data/images/leap-client.tiff b/data/images/leap-client.tiff
new file mode 100644
index 00000000..71c95b0d
--- /dev/null
+++ b/data/images/leap-client.tiff
Binary files differ
diff --git a/data/images/leap-color-big.png b/data/images/leap-color-big.png
new file mode 100644
index 00000000..eafacdcd
--- /dev/null
+++ b/data/images/leap-color-big.png
Binary files differ
diff --git a/data/images/leap-gray-big.png b/data/images/leap-gray-big.png
new file mode 100644
index 00000000..1529a74f
--- /dev/null
+++ b/data/images/leap-gray-big.png
Binary files differ
diff --git a/data/images/light/16/accept.png b/data/images/light/16/accept.png
new file mode 100644
index 00000000..917a68c4
--- /dev/null
+++ b/data/images/light/16/accept.png
Binary files differ
diff --git a/data/images/light/16/down-arrow.png b/data/images/light/16/down-arrow.png
new file mode 100644
index 00000000..9beb5de3
--- /dev/null
+++ b/data/images/light/16/down-arrow.png
Binary files differ
diff --git a/data/images/light/16/error.png b/data/images/light/16/error.png
new file mode 100644
index 00000000..edc20985
--- /dev/null
+++ b/data/images/light/16/error.png
Binary files differ
diff --git a/data/images/light/16/refresh.png b/data/images/light/16/refresh.png
new file mode 100644
index 00000000..a948a071
--- /dev/null
+++ b/data/images/light/16/refresh.png
Binary files differ
diff --git a/data/images/light/16/up-arrow.png b/data/images/light/16/up-arrow.png
new file mode 100644
index 00000000..4e0ec404
--- /dev/null
+++ b/data/images/light/16/up-arrow.png
Binary files differ
diff --git a/data/images/light/64/network-eip-acquiring.png b/data/images/light/64/network-eip-acquiring.png
new file mode 100644
index 00000000..83e3ea75
--- /dev/null
+++ b/data/images/light/64/network-eip-acquiring.png
Binary files differ
diff --git a/data/images/light/64/network-eip-down.png b/data/images/light/64/network-eip-down.png
new file mode 100644
index 00000000..85669af6
--- /dev/null
+++ b/data/images/light/64/network-eip-down.png
Binary files differ
diff --git a/data/images/light/64/network-eip-up.png b/data/images/light/64/network-eip-up.png
new file mode 100644
index 00000000..a0db2a22
--- /dev/null
+++ b/data/images/light/64/network-eip-up.png
Binary files differ
diff --git a/data/images/oxygen-icons/dialog-error.png b/data/images/oxygen-icons/dialog-error.png
new file mode 100644
index 00000000..01bc922d
--- /dev/null
+++ b/data/images/oxygen-icons/dialog-error.png
Binary files differ
diff --git a/data/images/oxygen-icons/dialog-information.png b/data/images/oxygen-icons/dialog-information.png
new file mode 100644
index 00000000..ee59e170
--- /dev/null
+++ b/data/images/oxygen-icons/dialog-information.png
Binary files differ
diff --git a/data/images/oxygen-icons/dialog-warning.png b/data/images/oxygen-icons/dialog-warning.png
new file mode 100644
index 00000000..8e913378
--- /dev/null
+++ b/data/images/oxygen-icons/dialog-warning.png
Binary files differ
diff --git a/data/images/oxygen-icons/document-save-as.png b/data/images/oxygen-icons/document-save-as.png
new file mode 100644
index 00000000..9695a564
--- /dev/null
+++ b/data/images/oxygen-icons/document-save-as.png
Binary files differ
diff --git a/data/images/oxygen-icons/edit-bomb.png b/data/images/oxygen-icons/edit-bomb.png
new file mode 100644
index 00000000..2b36224c
--- /dev/null
+++ b/data/images/oxygen-icons/edit-bomb.png
Binary files differ
diff --git a/data/images/oxygen-icons/script-error.png b/data/images/oxygen-icons/script-error.png
new file mode 100644
index 00000000..c7ace707
--- /dev/null
+++ b/data/images/oxygen-icons/script-error.png
Binary files differ
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
deleted file mode 100644
index b2f04f22..00000000
--- a/data/translations/de.qm
+++ /dev/null
Binary files differ
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.&lt;br&gt;&lt;br&gt;If you ever need to modify these options again, you can find the wizard in the &apos;&lt;i&gt;Settings&lt;/i&gt;&apos; menu from the main window.&lt;br&gt;&lt;br&gt;Do you want to &lt;b&gt;sign up&lt;/b&gt; for a new account, or &lt;b&gt;log in&lt;/b&gt; with an already existing username?&lt;br&gt;</source>
- <translation>Wir werden dich nun durch einige Konfigurationen führen, die du für den ersten Start benötigst.&lt;br&gt;&lt;br&gt;Wenn du diese Konfigurationen jemals ändern musst, findest du den Assistenten im &apos;&lt;i&gt;Einstellungen&lt;/i&gt;&apos;-Menü des Haupfensters.&lt;br&gt;&lt;br&gt;Möchtest du dich für einen neuen Account &lt;b&gt;anmelden&lt;/b&gt; oder mit einem bestehenden Usernamen &lt;b&gt;einloggen&lt;/b&gt;?</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&amp;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
index 8daa2037..9b32cdcf 100644
--- a/data/translations/es.qm
+++ b/data/translations/es.qm
Binary files differ
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.&lt;br&gt;&lt;br&gt;If you ever need to modify these options again, you can find the wizard in the &apos;&lt;i&gt;Settings&lt;/i&gt;&apos; menu from the main window.&lt;br&gt;&lt;br&gt;Do you want to &lt;b&gt;sign up&lt;/b&gt; for a new account, or &lt;b&gt;log in&lt;/b&gt; with an already existing username?&lt;br&gt;</source>
- <translation>Vamos a configurar algunas cosas antes de que te puedas conectar por primera vez.&lt;br&gt;&lt;br&gt;Si necesitas modificar estas opciones de nuevo, puedes encontrar este asistente en el menu de &apos;&lt;i&gt;Opciones&lt;/i&gt;&apos; en la ventana principal.&lt;br&gt;&lt;br&gt;Quieres &lt;b&gt;registrar&lt;/b&gt; una nueva cuenta, o &lt;b&gt;loguearte&lt;/b&gt; con tu usuario?&lt;br&gt; </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. &lt;a href=&quot;https://leap.se&quot;&gt;More about LEAP&lt;/a&gt;</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. &lt;a href=&quot;https://leap.se&quot;&gt;Más acerca de LEAP&lt;/a&gt;</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>&lt;b&gt;Provider:&lt;/b&gt;</source>
+ <translation>&lt;b&gt;Proveedor:&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/gui/ui/mainwindow.ui" line="133"/>
+ <source>&lt;b&gt;Password:&lt;/b&gt;</source>
+ <translation>&lt;b&gt;Contraseña:&lt;/b&gt;</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>&lt;b&gt;User:&lt;/b&gt;</source>
+ <translation>&lt;b&gt;Usuario:&lt;/b&gt;</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>&amp;Session</source>
+ <translation>&amp;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&amp;ettings</source>
+ <translation>C&amp;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>&amp;Sign out</source>
+ <translation>&amp;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>&amp;Quit</source>
+ <translation>&amp;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 &amp;LEAP</source>
+ <translation>Acerca de &amp;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>&amp;Help</source>
+ <translation>&amp;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>&amp;Wizard</source>
+ <translation>&amp;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&apos;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>&lt;font color=&apos;green&apos;&gt;&lt;b&gt;User registration OK&lt;/b&gt;&lt;/font&gt;</source>
+ <translation>&lt;font color=&apos;green&apos;&gt;&lt;b&gt;Registro realizado con éxito!&lt;/b&gt;&lt;/font&gt;</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>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Now we will guide you through some configuration that is needed before you can connect for the first time.&lt;/p&gt;&lt;p&gt;If you ever need to modify these options again, you can find the wizard in the &lt;span style=&quot; font-style:italic;&quot;&gt;&apos;Settings&apos;&lt;/span&gt; menu from the main window.&lt;/p&gt;&lt;p&gt;Do you want to &lt;span style=&quot; font-weight:600;&quot;&gt;sign up&lt;/span&gt; for a new account, or &lt;span style=&quot; font-weight:600;&quot;&gt;log in&lt;/span&gt; with an already existing username?&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Ahora le guiaremos para configurar lo necesario para que ud. pueda ingresar por primera vez.&lt;/p&gt;&lt;p&gt;Si necesita alguna vez modificar estas opciones, podrá ejecutar este asistente desde el menú &lt;span style=&quot; font-style:italic;&quot;&gt;&apos;Configuración&apos;&lt;/span&gt; desde la ventana principal.&lt;/p&gt;&lt;p&gt;Desea &lt;span style=&quot; font-weight:600;&quot;&gt;crear&lt;/span&gt; una nueva cuenta, o &lt;span style=&quot; font-weight:600;&quot;&gt;acceder&lt;/span&gt; con un usuario existente?&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</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>&lt;b&gt;Enrollment policy:&lt;/b&gt;</source>
+ <translation>&lt;b&gt;Política de ingreso:&lt;/b&gt;</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>&lt;b&gt;User:&lt;/b&gt;</source>
+ <translation>&lt;b&gt;Usuario:&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/gui/ui/wizard.ui" line="534"/>
+ <source>&lt;b&gt;Password:&lt;/b&gt;</source>
+ <translation>&lt;b&gt;Contraseña:&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/gui/ui/wizard.ui" line="553"/>
+ <source>&lt;b&gt;Re-enter password:&lt;/b&gt;</source>
+ <translation>&lt;b&gt;Re-introduzca contraseña:&lt;/b&gt;</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&amp;k!</source>
- <translation>compro&amp;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>&amp;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. &lt;a href=&quot;https://leap.se&quot;&gt;More about LEAP&lt;/a&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/baseapp/eip.py" line="235"/>
- <source>&amp;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.&lt;br/&gt;Make sure you have &lt;b&gt;polkit-gnome-authentication-agent-1&lt;/b&gt; 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 &lt;b&gt;pkexec&lt;/b&gt; in your system.&lt;br/&gt; Do you want to try &lt;b&gt;setuid workaround&lt;/b&gt;? (&lt;i&gt;DOES NOTHING YET&lt;/i&gt;)</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. &lt;br/&gt;(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>&lt;b&gt;Provider:&lt;/b&gt;</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.&lt;br&gt;&lt;br&gt;If you ever need to modify these options again, you can find the wizard in the &apos;&lt;i&gt;Settings&lt;/i&gt;&apos; menu from the main window.&lt;br&gt;&lt;br&gt;Do you want to &lt;b&gt;sign up&lt;/b&gt; for a new account, or &lt;b&gt;log in&lt;/b&gt; with an already existing username?&lt;br&gt;</source>
+ <location filename="../src/leap/gui/ui/mainwindow.ui" line="133"/>
+ <source>&lt;b&gt;Password:&lt;/b&gt;</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>&lt;b&gt;User:&lt;/b&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/gui/firstrun/last.py" line="66"/>
- <source>Click &apos;&lt;i&gt;%s&lt;/i&gt;&apos; 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>&amp;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&amp;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>&amp;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>&amp;Quit</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/gui/firstrun/login.py" line="38"/>
- <source>User &amp;name:</source>
+ <location filename="../src/leap/gui/ui/mainwindow.ui" line="369"/>
+ <source>About &amp;LEAP</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/gui/firstrun/login.py" line="53"/>
- <source>&amp;Password:</source>
+ <location filename="../src/leap/gui/ui/mainwindow.ui" line="374"/>
+ <source>&amp;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>&amp;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>&amp;Connect</source>
+ <location filename="../src/leap/gui/wizard.py" line="152"/>
+ <source>Passwords don&apos;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>&lt;font color=&apos;green&apos;&gt;&lt;b&gt;User registration OK&lt;/b&gt;&lt;/font&gt;</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>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Now we will guide you through some configuration that is needed before you can connect for the first time.&lt;/p&gt;&lt;p&gt;If you ever need to modify these options again, you can find the wizard in the &lt;span style=&quot; font-style:italic;&quot;&gt;&apos;Settings&apos;&lt;/span&gt; menu from the main window.&lt;/p&gt;&lt;p&gt;Do you want to &lt;span style=&quot; font-weight:600;&quot;&gt;sign up&lt;/span&gt; for a new account, or &lt;span style=&quot; font-weight:600;&quot;&gt;log in&lt;/span&gt; with an already existing username?&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</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 &amp;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>&amp;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>&amp;Remember username and password.</source>
+ <location filename="../src/leap/gui/ui/wizard.ui" line="278"/>
+ <source>&lt;b&gt;Enrollment policy:&lt;/b&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/gui/firstrun/register.py" line="378"/>
- <source>Register a new user with provider &lt;em&gt;%s&lt;/em&gt;</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&amp;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>&amp;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 &lt;b&gt;trust this provider certificate?&lt;/b&gt;</source>
+ <location filename="../src/leap/gui/ui/wizard.ui" line="524"/>
+ <source>&lt;b&gt;User:&lt;/b&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/gui/firstrun/providerselect.py" line="347"/>
- <source>SHA-256 fingerprint: &lt;i&gt;%s&lt;/i&gt;&lt;br&gt;</source>
+ <location filename="../src/leap/gui/ui/wizard.ui" line="534"/>
+ <source>&lt;b&gt;Password:&lt;/b&gt;</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>&lt;b&gt;Re-enter password:&lt;/b&gt;</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>&lt;b&gt;disconnected&lt;/b&gt;</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 &amp;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>&amp;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>&amp;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&amp;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>&amp;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&amp;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 &amp;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>