diff options
author | drebs <drebs@leap.se> | 2012-12-24 10:14:58 -0200 |
---|---|---|
committer | drebs <drebs@leap.se> | 2012-12-24 10:14:58 -0200 |
commit | 319e279b59ac080779d0a3375ae4d6582f5ee6a3 (patch) | |
tree | 118dd0f495c0d54f2b2c66ea235e4e4e6b8cefd5 /data | |
parent | ca5fb41a55e1292005ed186baf3710831d9ad678 (diff) | |
parent | a7b091a0553e6120f3e0eb6d4e73a89732c589b2 (diff) |
Merge branch 'develop' of ssh://code.leap.se/leap_client into develop
Diffstat (limited to 'data')
-rw-r--r-- | data/images/favicon.ico | bin | 0 -> 318 bytes | |||
-rw-r--r-- | data/leap_client.pro | 20 | ||||
-rwxr-xr-x | data/mkpyqt.py | 271 | ||||
-rw-r--r-- | data/resources/locale.qrc | 5 | ||||
-rw-r--r-- | data/translations/README.rst | 8 | ||||
-rw-r--r-- | data/translations/es.qm | bin | 0 -> 6194 bytes | |||
-rw-r--r-- | data/translations/es.ts | 218 | ||||
-rw-r--r-- | data/ts/README.rst | 14 | ||||
-rw-r--r-- | data/ts/en_US.ts | 219 |
9 files changed, 755 insertions, 0 deletions
diff --git a/data/images/favicon.ico b/data/images/favicon.ico Binary files differnew file mode 100644 index 00000000..b5f3505a --- /dev/null +++ b/data/images/favicon.ico diff --git a/data/leap_client.pro b/data/leap_client.pro new file mode 100644 index 00000000..4c559029 --- /dev/null +++ b/data/leap_client.pro @@ -0,0 +1,20 @@ +# qmake file + +# is not there a f*** way of expanding this? other to template with python I mean... + +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/regvalidation.py +SOURCES += ../src/leap/gui/firstrun/wizard.py + +# where to generate ts files -- tx will pick from here + +# original file, english + +TRANSLATIONS += ts/en_US.ts + diff --git a/data/mkpyqt.py b/data/mkpyqt.py new file mode 100755 index 00000000..1ce2cd28 --- /dev/null +++ b/data/mkpyqt.py @@ -0,0 +1,271 @@ +#!/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/locale.qrc b/data/resources/locale.qrc new file mode 100644 index 00000000..53576b49 --- /dev/null +++ b/data/resources/locale.qrc @@ -0,0 +1,5 @@ +<!DOCTYPE RCC><RCC version="1.0"> +<qresource> +<file>../translations/leap_client_es.qm</file> +</qresource> +</RCC> diff --git a/data/translations/README.rst b/data/translations/README.rst new file mode 100644 index 00000000..1f3dd0b3 --- /dev/null +++ b/data/translations/README.rst @@ -0,0 +1,8 @@ +data/translations +================= + +We expect finished translations (i.e., those downloaded from ``transifex``) to live here. + +Translator object will pick them from here. + +(Actually, from the embedded locale_rc) diff --git a/data/translations/es.qm b/data/translations/es.qm Binary files differnew file mode 100644 index 00000000..8daa2037 --- /dev/null +++ b/data/translations/es.qm diff --git a/data/translations/es.ts b/data/translations/es.ts new file mode 100644 index 00000000..84aa6f0a --- /dev/null +++ b/data/translations/es.ts @@ -0,0 +1,218 @@ +<?xml version="1.0" ?><!DOCTYPE TS><TS language="es" version="2.0"> +<context> + <name>IntroPage</name> + <message> + <location filename="../src/leap/gui/firstrun/intro.py" line="14"/> + <source>First run wizard.</source> + <translation>Primera Conexion.</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> + </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> + </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> + </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> + </message> + <message> + <location filename="../src/leap/gui/firstrun/login.py" line="140"/> + <source>Resolving domain name</source> + <translation>Resolviendo nombre de dominio</translation> + </message> + <message> + <location filename="../src/leap/gui/firstrun/login.py" line="163"/> + <source>Authentication error: %s</source> + <translation>Error de autenticacion: %s</translation> + </message> + <message> + <location filename="../src/leap/gui/firstrun/login.py" line="179"/> + <source>Credentials validated.</source> + <translation>Credenciales validadas.</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> + </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> + </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> + </message> + <message> + <location filename="../src/leap/gui/firstrun/providersetup.py" line="27"/> + <source>Doing autoconfig.</source> + <translation>Autoconfigurando.</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> + </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> + </message> + <message> + <location filename="../src/leap/gui/firstrun/providersetup.py" line="134"/> + <source>Validating api certificate</source> + <translation>Validando certificado de la api</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> + </message> + <message> + <location filename="../src/leap/gui/firstrun/register.py" line="208"/> + <source>Registration succeeded!</source> + <translation>Cuenta creada con exito!</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> + </message> + <message> + <location filename="../src/leap/gui/firstrun/register.py" line="242"/> + <source>Password too short.</source> + <translation>Contrasena demasiado corta.</translation> + </message> + <message> + <location filename="../src/leap/gui/firstrun/register.py" line="247"/> + <source>Password too obvious.</source> + <translation>Contrasena demasiado obvia.</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> + </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> + </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> + </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> + </message> + <message> + <location filename="../src/leap/gui/firstrun/register.py" line="309"/> + <source>Username not available.</source> + <translation>Usuario no disponible.</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> + </message> +</context> +<context> + <name>RegisterUserValidationPage</name> + <message> + <location filename="../src/leap/gui/firstrun/regvalidation.py" line="95"/> + <source>Fetching provider config...</source> + <translation>Obteniendo configuracion del 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> + </message> + <message> + <location filename="../src/leap/gui/firstrun/regvalidation.py" line="117"/> + <source>Fetching eip certificate</source> + <translation>Obteniendo certificado eip</translation> + </message> +</context> +<context> + <name>SelectProviderPage</name> + <message> + <location filename="../src/leap/gui/firstrun/providerselect.py" line="32"/> + <source>Enter Provider</source> + <translation>Entra tu Proveedor</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> + </message> + <message> + <location filename="../src/leap/gui/firstrun/providerselect.py" line="87"/> + <source>chec&k!</source> + <translation>compro&bar!</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> + </message> + <message> + <location filename="../src/leap/gui/firstrun/providerselect.py" line="136"/> + <source>Certificate validation</source> + <translation>Validacion del certificado</translation> + </message> + <message> + <location filename="../src/leap/gui/firstrun/providerselect.py" line="222"/> + <source>checking domain name</source> + <translation>comprobando nombre de dominio</translation> + </message> + <message> + <location filename="../src/leap/gui/firstrun/providerselect.py" line="276"/> + <source>checking https connection</source> + <translation>comprobando conexion https</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> + </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> + </message> + <message> + <location filename="../src/leap/gui/firstrun/providerselect.py" line="305"/> + <source>fetching provider info</source> + <translation>obteniendo info del preveedor</translation> + </message> +</context> +</TS>
\ No newline at end of file diff --git a/data/ts/README.rst b/data/ts/README.rst new file mode 100644 index 00000000..3db2d104 --- /dev/null +++ b/data/ts/README.rst @@ -0,0 +1,14 @@ +data/ts +======= + +Here we expect the .ts files generated by typing:: + + $ make translations + +Which will generate the sources (en_US) + +For uploading a source:: + + $ tx push -s + +Translator should pick finished ``.qm`` files from ``data/translations`` instead of this folder. diff --git a/data/ts/en_US.ts b/data/ts/en_US.ts new file mode 100644 index 00000000..f6aadc5c --- /dev/null +++ b/data/ts/en_US.ts @@ -0,0 +1,219 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS><TS version="2.0"> +<context> + <name>IntroPage</name> + <message> + <location filename="../src/leap/gui/firstrun/intro.py" line="14"/> + <source>First run wizard.</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> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/leap/gui/firstrun/intro.py" line="37"/> + <source>Sign up for a new account.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/leap/gui/firstrun/intro.py" line="40"/> + <source>Log In with my credentials.</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> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/leap/gui/firstrun/login.py" line="140"/> + <source>Resolving domain name</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/leap/gui/firstrun/login.py" line="163"/> + <source>Authentication error: %s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/leap/gui/firstrun/login.py" line="179"/> + <source>Credentials validated.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>ProviderInfoPage</name> + <message> + <location filename="../src/leap/gui/firstrun/providerinfo.py" line="18"/> + <source>Provider Info</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/leap/gui/firstrun/providerinfo.py" line="19"/> + <source>This is what provider says.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>ProviderSetupValidationPage</name> + <message> + <location filename="../src/leap/gui/firstrun/providersetup.py" line="26"/> + <source>Provider setup</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/leap/gui/firstrun/providersetup.py" line="27"/> + <source>Doing autoconfig.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/leap/gui/firstrun/providersetup.py" line="83"/> + <source>Fetching CA certificate</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/leap/gui/firstrun/providersetup.py" line="105"/> + <source>Checking CA fingerprint</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/leap/gui/firstrun/providersetup.py" line="134"/> + <source>Validating api certificate</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> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/leap/gui/firstrun/register.py" line="208"/> + <source>Registration succeeded!</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/leap/gui/firstrun/register.py" line="238"/> + <source>Password does not match..</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/leap/gui/firstrun/register.py" line="242"/> + <source>Password too short.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/leap/gui/firstrun/register.py" line="247"/> + <source>Password too obvious.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/leap/gui/firstrun/register.py" line="279"/> + <source>Error connecting to provider (timeout)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/leap/gui/firstrun/register.py" line="284"/> + <source>Error Connecting to provider (connerr).</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/leap/gui/firstrun/register.py" line="292"/> + <source>Error during registration (%s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/leap/gui/firstrun/register.py" line="302"/> + <source>Could not register (bad response)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/leap/gui/firstrun/register.py" line="309"/> + <source>Username not available.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/leap/gui/firstrun/register.py" line="375"/> + <source>Register a new user with provider %s.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>RegisterUserValidationPage</name> + <message> + <location filename="../src/leap/gui/firstrun/regvalidation.py" line="95"/> + <source>Fetching provider config...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/leap/gui/firstrun/regvalidation.py" line="112"/> + <source>Authentication error: %s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/leap/gui/firstrun/regvalidation.py" line="117"/> + <source>Fetching eip certificate</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> + <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> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/leap/gui/firstrun/providerselect.py" line="87"/> + <source>chec&k!</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> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/leap/gui/firstrun/providerselect.py" line="136"/> + <source>Certificate validation</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/leap/gui/firstrun/providerselect.py" line="222"/> + <source>checking domain name</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/leap/gui/firstrun/providerselect.py" line="276"/> + <source>checking https connection</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/leap/gui/firstrun/providerselect.py" line="292"/> + <source>Could not get info from provider.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/leap/gui/firstrun/providerselect.py" line="295"/> + <source>Could not download provider info (refused conn.).</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/leap/gui/firstrun/providerselect.py" line="305"/> + <source>fetching provider info</source> + <translation type="unfinished"></translation> + </message> +</context> +</TS> |