summaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
Diffstat (limited to 'data')
-rw-r--r--data/bitmask.pro61
-rw-r--r--data/bitmask.pro.template9
-rw-r--r--data/images/mask-icon.pngbin16575 -> 8907 bytes
-rwxr-xr-xdata/make_project_file.py74
-rw-r--r--data/resources/locale.qrc4
-rw-r--r--data/translations/en_GB.qmbin0 -> 29879 bytes
-rw-r--r--data/translations/en_GB.ts1217
-rw-r--r--data/translations/vi.qmbin0 -> 32946 bytes
-rw-r--r--data/translations/vi.ts1217
-rw-r--r--data/ts/en_US.ts798
10 files changed, 3037 insertions, 343 deletions
diff --git a/data/bitmask.pro b/data/bitmask.pro
deleted file mode 100644
index 0f9aaf90..00000000
--- a/data/bitmask.pro
+++ /dev/null
@@ -1,61 +0,0 @@
-# qmake file
-
-# is not there a f*** way of expanding this? other to template with python I mean...
-
-# to get a list of python files we can use:
-# find . -iname "*.py" | grep -Ev "__init__.py|/build/|/docs/|/gui/ui_[a-z]*.py|/gui/[a-z]*_rc.py|./.venv/|/tests/"
-# and remove by hand the few files that we do not want.
-
-SOURCES += ../src/leap/bitmask/app.py \
- ../src/leap/bitmask/config/leapsettings.py \
- ../src/leap/bitmask/config/providerconfig.py \
- ../src/leap/bitmask/crypto/srpauth.py \
- ../src/leap/bitmask/crypto/srpregister.py \
- ../src/leap/bitmask/gui/loggerwindow.py \
- ../src/leap/bitmask/gui/login.py \
- ../src/leap/bitmask/gui/mainwindow.py \
- ../src/leap/bitmask/gui/twisted_main.py \
- ../src/leap/bitmask/gui/wizardpage.py \
- ../src/leap/bitmask/gui/wizard.py \
- ../src/leap/bitmask/gui/eip_status.py \
- ../src/leap/bitmask/gui/mail_status.py \
- ../src/leap/bitmask/gui/eippreferences.py \
- ../src/leap/bitmask/gui/preferences.py \
- ../src/leap/bitmask/platform_init/initializers.py \
- ../src/leap/bitmask/platform_init/locks.py \
- ../src/leap/bitmask/provider/supportedapis.py \
- ../src/leap/bitmask/services/abstractbootstrapper.py \
- ../src/leap/bitmask/services/eip/eipbootstrapper.py \
- ../src/leap/bitmask/services/eip/eipconfig.py \
- ../src/leap/bitmask/services/eip/providerbootstrapper.py \
- ../src/leap/bitmask/services/eip/udstelnet.py \
- ../src/leap/bitmask/services/eip/vpnlaunchers.py \
- ../src/leap/bitmask/services/eip/vpnprocess.py \
- ../src/leap/bitmask/services/mail/smtpbootstrapper.py \
- ../src/leap/bitmask/services/mail/smtpconfig.py \
- ../src/leap/bitmask/services/soledad/soledadbootstrapper.py \
- ../src/leap/bitmask/services/soledad/soledadconfig.py \
- ../src/leap/bitmask/services/tx.py \
- ../src/leap/bitmask/util/constants.py \
- ../src/leap/bitmask/util/keyring_helpers.py \
- ../src/leap/bitmask/util/leap_argparse.py \
- ../src/leap/bitmask/util/leap_log_handler.py \
- ../src/leap/bitmask/util/privilege_policies.py \
- ../src/leap/bitmask/util/pyside_tests_helper.py \
- ../src/leap/bitmask/util/request_helpers.py \
- ../src/leap/bitmask/util/requirement_checker.py
-
-FORMS += ../src/leap/bitmask/gui/ui/loggerwindow.ui \
- ../src/leap/bitmask/gui/ui/login.ui \
- ../src/leap/bitmask/gui/ui/mainwindow.ui \
- ../src/leap/bitmask/gui/ui/wizard.ui \
- ../src/leap/bitmask/gui/ui/eip_status.ui \
- ../src/leap/bitmask/gui/ui/mail_status.ui \
- ../src/leap/bitmask/gui/ui/eippreferences.ui \
- ../src/leap/bitmask/gui/ui/preferences.ui \
-
-# where to generate ts files -- tx will pick from here
-
-# original file, english
-
-TRANSLATIONS += ts/en_US.ts
diff --git a/data/bitmask.pro.template b/data/bitmask.pro.template
new file mode 100644
index 00000000..564103a3
--- /dev/null
+++ b/data/bitmask.pro.template
@@ -0,0 +1,9 @@
+{header}
+
+SOURCES += {sources}
+
+FORMS += {forms}
+
+# where to generate ts files -- tx will pick from here
+# original file, english
+TRANSLATIONS += ts/en_US.ts
diff --git a/data/images/mask-icon.png b/data/images/mask-icon.png
index 3504bae9..97c5d7ec 100644
--- a/data/images/mask-icon.png
+++ b/data/images/mask-icon.png
Binary files differ
diff --git a/data/make_project_file.py b/data/make_project_file.py
new file mode 100755
index 00000000..d1567837
--- /dev/null
+++ b/data/make_project_file.py
@@ -0,0 +1,74 @@
+#!/usr/bin/env python
+# encoding: utf-8
+
+import fnmatch
+import os
+import os.path
+import re
+
+
+# thanks to http://stackoverflow.com/a/5141829/687989
+def list_files(includes, excludes, start='.'):
+ """
+ Returns a list of files matching the glob expressions of the included
+ parameter and excluding the files and directories matching the parameter
+ excludes.
+
+ :param includes: the files to match, using glob's format.
+ :type includes: list of str
+ :param excludes: the files and directories to exclude, using glob's format.
+ :type excludes: list of str
+ """
+ # transform glob patterns to regular expressions
+ includes = r'|'.join([fnmatch.translate(x) for x in includes])
+ excludes = r'|'.join([fnmatch.translate(x) for x in excludes]) or r'$.'
+
+ files_list = []
+
+ for root, dirs, files in os.walk(start):
+ # exclude dirs
+ if excludes:
+ dirs[:] = [d for d in dirs if not re.match(excludes, d)]
+
+ # exclude/include files
+ if excludes:
+ files = [f for f in files if not re.match(excludes, f)]
+ files = [f for f in files if re.match(includes, f)]
+ files = [os.path.join(root, f) for f in files]
+
+ for fname in files:
+ files_list.append(fname)
+
+ return files_list
+
+
+if __name__ == '__main__':
+ SOURCE_ROOT = 'src'
+ TEMPLATE = 'data/bitmask.pro.template'
+ PROJECT = 'data/bitmask.pro'
+
+ HEADER = ("# DO NOT EDIT MANUALLY.\n"
+ "# qmake file generated by script, any changes will be lost.")
+
+ # Source files
+ includes = ["*.py"]
+ excludes = ['__init__.py', '_version.py', 'ui_*.py', '*_rc.py']
+ sources = list_files(includes, excludes, SOURCE_ROOT)
+ sources = " \\\n".join(["../{0}".format(f) for f in sources])
+
+ # Form files
+ includes = ["*.ui"]
+ excludes = []
+ forms = list_files(includes, excludes, SOURCE_ROOT)
+ forms = " \\\n".join(["../{0}".format(f) for f in forms])
+
+ # Load template and write project
+ template = file(TEMPLATE).read()
+ project = template.format(header=HEADER, sources=sources, forms=forms)
+
+ try:
+ with open(PROJECT, 'w') as output:
+ output.write(project)
+ print "Project file generated successfully"
+ except IOError, e:
+ print "Error saving project file: {0}".format(e)
diff --git a/data/resources/locale.qrc b/data/resources/locale.qrc
index 47fb5243..ba466c36 100644
--- a/data/resources/locale.qrc
+++ b/data/resources/locale.qrc
@@ -1,6 +1,6 @@
<!DOCTYPE RCC><RCC version="1.0">
<qresource>
-<file>../translations/es.qm</file>
-<file>../translations/de.qm</file>
+<file>../translations/vi.qm</file>
+<file>../translations/en_GB.qm</file>
</qresource>
</RCC>
diff --git a/data/translations/en_GB.qm b/data/translations/en_GB.qm
new file mode 100644
index 00000000..d95163c1
--- /dev/null
+++ b/data/translations/en_GB.qm
Binary files differ
diff --git a/data/translations/en_GB.ts b/data/translations/en_GB.ts
new file mode 100644
index 00000000..7a719acf
--- /dev/null
+++ b/data/translations/en_GB.ts
@@ -0,0 +1,1217 @@
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="en_GB" version="1.1">
+<context>
+ <name>EIPPreferences</name>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/eippreferences.ui" line="14"/>
+ <source>EIP Preferences</source>
+ <translation>EIP Preferences</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/eippreferences.ui" line="27"/>
+ <source>Select gateway for provider</source>
+ <translation>Select gateway for provider</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/eippreferences.ui" line="36"/>
+ <source>&amp;Select provider:</source>
+ <translation>&amp;Select provider:</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/eippreferences.ui" line="140"/>
+ <source>&lt;Select provider&gt;</source>
+ <translation>&lt;Select provider&gt;</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/eippreferences.ui" line="55"/>
+ <source>Save this provider settings</source>
+ <translation>Save this provider settings</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/eippreferences.ui" line="62"/>
+ <source>&lt; Providers Gateway Status &gt;</source>
+ <translation>&lt; Providers Gateway Status &gt;</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/eippreferences.ui" line="72"/>
+ <source>Select gateway:</source>
+ <translation>Select gateway:</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/eippreferences.ui" line="80"/>
+ <source>Automatic</source>
+ <translation>Automatic</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/eippreferences.ui" line="91"/>
+ <source>Automatic EIP start</source>
+ <translation>Automatic EIP start</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/eippreferences.ui" line="109"/>
+ <source>&lt;font color=&apos;green&apos;&gt;&lt;b&gt;Automatic EIP start saved!&lt;/b&gt;&lt;/font&gt;</source>
+ <translation>&lt;font color=&apos;green&apos;&gt;&lt;b&gt;Automatic EIP start saved!&lt;/b&gt;&lt;/font&gt;</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/eippreferences.ui" line="119"/>
+ <source>Save auto start setting</source>
+ <translation>Save auto start setting</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/eippreferences.ui" line="129"/>
+ <source>Enable Automatic start of EIP</source>
+ <translation>Enable Automatic start of EIP</translation>
+ </message>
+</context>
+<context>
+ <name>EIPPreferencesWindow</name>
+ <message>
+ <location filename="../src/leap/bitmask/gui/eip_preferenceswindow.py" line="47"/>
+ <source>Automatic</source>
+ <translation>Automatic</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/eip_preferenceswindow.py" line="156"/>
+ <source>Gateway settings for provider &apos;{0}&apos; saved.</source>
+ <translation>Gateway settings for provider &apos;{0}&apos; saved.</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/eip_preferenceswindow.py" line="198"/>
+ <source>There was a problem with configuration files.</source>
+ <translation>There was a problem with configuration files.</translation>
+ </message>
+</context>
+<context>
+ <name>EIPStatus</name>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/eip_status.ui" line="20"/>
+ <source>Form</source>
+ <translation>Form</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/eip_status.ui" line="31"/>
+ <source>Turn On</source>
+ <translation>Turn On</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/eip_status.ui" line="63"/>
+ <source>...</source>
+ <translation>...</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/eip_status.ui" line="86"/>
+ <source>Traffic is being routed in the clear</source>
+ <translation>Traffic is being routed in the clear</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/eip_status.ui" line="253"/>
+ <source>0.0 KB/s</source>
+ <translation>0.0 KB/s</translation>
+ </message>
+</context>
+<context>
+ <name>EIPStatusWidget</name>
+ <message>
+ <location filename="../src/leap/bitmask/gui/eip_status.py" line="191"/>
+ <source>All services are OFF</source>
+ <translation>All services are OFF</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/eip_status.py" line="197"/>
+ <source>Encrypted Internet: {0}</source>
+ <translation>Encrypted Internet: {0}</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/eip_status.py" line="249"/>
+ <source>You must login to use Encrypted Internet</source>
+ <translation>You must login to use Encrypted Internet</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/eip_status.py" line="300"/>
+ <source>Turn OFF</source>
+ <translation>Turn OFF</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/eip_status.py" line="314"/>
+ <source>Turn ON</source>
+ <translation>Turn ON</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/eip_status.py" line="321"/>
+ <source>Traffic is being routed in the clear</source>
+ <translation>Traffic is being routed in the clear</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/eip_status.py" line="378"/>
+ <source>Authenticating...</source>
+ <translation>Authenticating...</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/eip_status.py" line="380"/>
+ <source>Retrieving configuration...</source>
+ <translation>Retrieving configuration...</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/eip_status.py" line="382"/>
+ <source>Waiting to start...</source>
+ <translation>Waiting to start...</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/eip_status.py" line="384"/>
+ <source>Assigning IP</source>
+ <translation>Assigning IP</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/eip_status.py" line="386"/>
+ <source>Reconnecting...</source>
+ <translation>Reconnecting...</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/eip_status.py" line="395"/>
+ <source>Unable to start VPN, it&apos;s already running.</source>
+ <translation>Unable to start VPN, it&apos;s already running.</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/eip_status.py" line="418"/>
+ <source>Encrypted Internet: OFF</source>
+ <translation>Encrypted Internet: OFF</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/eip_status.py" line="423"/>
+ <source>Encrypted Internet: Starting...</source>
+ <translation>Encrypted Internet: Starting...</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/eip_status.py" line="425"/>
+ <source>Encrypted Internet: ON</source>
+ <translation>Encrypted Internet: ON</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/eip_status.py" line="435"/>
+ <source>Route traffic through: {0}</source>
+ <translation>Route traffic through: {0}</translation>
+ </message>
+</context>
+<context>
+ <name>LoggerWindow</name>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/loggerwindow.ui" line="14"/>
+ <source>Logs</source>
+ <translation>Logs</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/loggerwindow.ui" line="49"/>
+ <source>Debug</source>
+ <translation>Debug</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/loggerwindow.ui" line="69"/>
+ <source>Info</source>
+ <translation>Info</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/loggerwindow.ui" line="89"/>
+ <source>Warning</source>
+ <translation>Warning</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/loggerwindow.ui" line="109"/>
+ <source>Error</source>
+ <translation>Error</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/loggerwindow.ui" line="129"/>
+ <source>Critical</source>
+ <translation>Critical</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/loggerwindow.ui" line="149"/>
+ <source>Save to file</source>
+ <translation>Save to file</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/loggerwindow.py" line="148"/>
+ <source>Save As</source>
+ <translation>Save As</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/loggerwindow.ui" line="24"/>
+ <source>Filter by:</source>
+ <translation>Filter by:</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/loggerwindow.ui" line="34"/>
+ <source>Case Insensitive</source>
+ <translation>Case Insensitive</translation>
+ </message>
+</context>
+<context>
+ <name>LoginWidget</name>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/login.ui" line="26"/>
+ <source>Form</source>
+ <translation>Form</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/login.ui" line="153"/>
+ <source>&lt;b&gt;Provider:&lt;/b&gt;</source>
+ <translation>&lt;b&gt;Provider:&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/login.ui" line="172"/>
+ <source>Remember username and password</source>
+ <translation>Remember username and password</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/login.ui" line="197"/>
+ <source>&lt;b&gt;Username:&lt;/b&gt;</source>
+ <translation>&lt;b&gt;Username:&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/login.ui" line="210"/>
+ <source>&lt;b&gt;Password:&lt;/b&gt;</source>
+ <translation>&lt;b&gt;Password:&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/login.py" line="234"/>
+ <source>Log In</source>
+ <translation>Log In</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/login.py" line="121"/>
+ <source>Other...</source>
+ <translation>Other...</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/login.py" line="229"/>
+ <source>Cancel</source>
+ <translation>Cancel</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/login.ui" line="63"/>
+ <source>...</source>
+ <translation>...</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/login.py" line="365"/>
+ <source>Logout</source>
+ <translation>Logout</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/login.py" line="283"/>
+ <source>Please select a valid provider</source>
+ <translation>Please select a valid provider</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/login.py" line="288"/>
+ <source>Please provide a valid username</source>
+ <translation>Please provide a valid username</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/login.py" line="293"/>
+ <source>Please provide a valid password</source>
+ <translation>Please provide a valid password</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/login.py" line="296"/>
+ <source>Logging in...</source>
+ <translation>Logging in...</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/login.py" line="358"/>
+ <source>Loggin out...</source>
+ <translation>Loggin out...</translation>
+ </message>
+</context>
+<context>
+ <name>MailStatusWidget</name>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/mail_status.ui" line="20"/>
+ <source>Form</source>
+ <translation>Form</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/mail_status.ui" line="31"/>
+ <source>You must login to use encrypted email.</source>
+ <translation>You must login to use encrypted email.</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/mail_status.ui" line="44"/>
+ <source>Email</source>
+ <translation>Email</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="171"/>
+ <source>All services are OFF</source>
+ <translation>All services are OFF</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="204"/>
+ <source>There was an unexpected problem with Soledad.</source>
+ <translation>There was an unexpected problem with Soledad.</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="418"/>
+ <source>OFF</source>
+ <translation>OFF</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="221"/>
+ <source>Mail is OFF</source>
+ <translation>Mail is OFF</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="224"/>
+ <source>You must be logged in to use encrypted email.</source>
+ <translation>You must be logged in to use encrypted email.</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="228"/>
+ <source>Starting..</source>
+ <translation>Starting..</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="229"/>
+ <source>Mail is starting</source>
+ <translation>Mail is starting</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="383"/>
+ <source>ON</source>
+ <translation>ON</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="233"/>
+ <source>Mail is ON</source>
+ <translation>Mail is ON</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="236"/>
+ <source>Mail is disabled</source>
+ <translation>Mail is disabled</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="298"/>
+ <source>Starting...</source>
+ <translation>Starting...</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="265"/>
+ <source>Soledad has started...</source>
+ <translation>Soledad has started...</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="267"/>
+ <source>Soledad is starting, please wait...</source>
+ <translation>Soledad is starting, please wait...</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="304"/>
+ <source>Looking for key for this user</source>
+ <translation>Looking for key for this user</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="308"/>
+ <source>Found key! Starting mail...</source>
+ <translation>Found key! Starting mail...</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="310"/>
+ <source>Generating new key, please wait...</source>
+ <translation>Generating new key, please wait...</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="312"/>
+ <source>Finished generating key!</source>
+ <translation>Finished generating key!</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="314"/>
+ <source>Starting mail...</source>
+ <translation>Starting mail...</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="344"/>
+ <source>SMTP has started...</source>
+ <translation>SMTP has started...</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="350"/>
+ <source>SMTP failed to start, check the logs.</source>
+ <translation>SMTP failed to start, check the logs.</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="387"/>
+ <source>Failed</source>
+ <translation>Failed</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="381"/>
+ <source>IMAP has started...</source>
+ <translation>IMAP has started...</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="387"/>
+ <source>IMAP failed to start, check the logs.</source>
+ <translation>IMAP failed to start, check the logs.</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="391"/>
+ <source>%s Unread Emails</source>
+ <translation>%s Unread Emails</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="405"/>
+ <source>About to start, please wait...</source>
+ <translation>About to start, please wait...</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="412"/>
+ <source>Disabled</source>
+ <translation>Disabled</translation>
+ </message>
+</context>
+<context>
+ <name>MainWindow</name>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/mainwindow.ui" line="257"/>
+ <source>There are new updates available, please restart.</source>
+ <translation>There are new updates available, please restart.</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/mainwindow.ui" line="299"/>
+ <source>More...</source>
+ <translation>More...</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="626"/>
+ <source>Help</source>
+ <translation>Help</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/mainwindow.ui" line="360"/>
+ <source>&amp;Quit</source>
+ <translation>&amp;Quit</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/mainwindow.ui" line="370"/>
+ <source>&amp;Help</source>
+ <translation>&amp;Help</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/mainwindow.ui" line="375"/>
+ <source>&amp;Wizard</source>
+ <translation>&amp;Wizard</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="672"/>
+ <source>Hide Main Window</source>
+ <translation>Hide Main Window</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="527"/>
+ <source> The following components will be updated:
+%s</source>
+ <translation> The following components will be updated:
+%s</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="530"/>
+ <source>Updates available</source>
+ <translation>Updates available</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="671"/>
+ <source>Show Main Window</source>
+ <translation>Show Main Window</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1314"/>
+ <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>
+ <translation>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.</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1326"/>
+ <source>We could not find &lt;b&gt;pkexec&lt;/b&gt; in your system.</source>
+ <translation>We could not find &lt;b&gt;pkexec&lt;/b&gt; in your system.</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1331"/>
+ <source>We could not find openvpn binary.</source>
+ <translation>We could not find openvpn binary.</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1493"/>
+ <source>Starting...</source>
+ <translation>Starting...</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1501"/>
+ <source>Not supported</source>
+ <translation>Not supported</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1504"/>
+ <source>Disabled</source>
+ <translation>Disabled</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1537"/>
+ <source>Could not load Encrypted Internet Configuration.</source>
+ <translation>Could not load Encrypted Internet Configuration.</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1459"/>
+ <source>Encrypted Internet could not be launched because you did not authenticate properly.</source>
+ <translation>Encrypted Internet could not be launched because you did not authenticate properly.</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1467"/>
+ <source>Encrypted Internet finished in an unexpected manner!</source>
+ <translation>Encrypted Internet finished in an unexpected manner!</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/mainwindow.ui" line="32"/>
+ <source>Bitmask</source>
+ <translation>Bitmask</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/mainwindow.ui" line="365"/>
+ <source>About &amp;Bitmask</source>
+ <translation>About &amp;Bitmask</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="283"/>
+ <source>Mail is OFF</source>
+ <translation>Mail is OFF</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="518"/>
+ <source>The Bitmask app is ready to update, please restart the application.</source>
+ <translation>The Bitmask app is ready to update, please restart the application.</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="734"/>
+ <source>About Bitmask - %s</source>
+ <translation>About Bitmask - %s</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="748"/>
+ <source>Version: &lt;b&gt;%s&lt;/b&gt;&lt;br&gt;&lt;br&gt;Bitmask is the Desktop client application for the LEAP platform, supporting encrypted internet proxy, secure email, and secure chat (coming soon).&lt;br&gt;&lt;br&gt;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;br&gt;&lt;br&gt;&lt;a href=&apos;https://leap.se&apos;&gt;More about LEAP&lt;/a&gt;</source>
+ <translation>Version: &lt;b&gt;%s&lt;/b&gt;&lt;br&gt;&lt;br&gt;Bitmask is the Desktop client application for the LEAP platform, supporting encrypted internet proxy, secure email, and secure chat (coming soon).&lt;br&gt;&lt;br&gt;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;br&gt;&lt;br&gt;&lt;a href=&apos;https://leap.se&apos;&gt;More about LEAP&lt;/a&gt;</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="836"/>
+ <source>Unable to login: Problem with provider</source>
+ <translation>Unable to login: Problem with provider</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="874"/>
+ <source>Log in cancelled by the user.</source>
+ <translation>Log in cancelled by the user.</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1321"/>
+ <source>Encrypted Internet cannot be started because the tuntap extension is not installed properly in your system.</source>
+ <translation>Encrypted Internet cannot be started because the tuntap extension is not installed properly in your system.</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1337"/>
+ <source>Another openvpn instance is already running, and could not be stopped.</source>
+ <translation>Another openvpn instance is already running, and could not be stopped.</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1344"/>
+ <source>Another openvpn instance is already running, and could not be stopped because it was not launched by Bitmask. Please stop it and try again.</source>
+ <translation>Another openvpn instance is already running, and could not be stopped because it was not launched by Bitmask. Please stop it and try again.</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1519"/>
+ <source>There was a problem with the provider</source>
+ <translation>There was a problem with the provider</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1618"/>
+ <source>Something went wrong with the logout.</source>
+ <translation>Something went wrong with the logout.</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1639"/>
+ <source>Unable to connect: Problem with provider</source>
+ <translation>Unable to connect: Problem with provider</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/mainwindow.ui" line="113"/>
+ <source>Encrypted Internet</source>
+ <translation>Encrypted Internet</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/mainwindow.ui" line="194"/>
+ <source>Login</source>
+ <translation>Login</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/mainwindow.ui" line="334"/>
+ <source>&amp;Bitmask</source>
+ <translation>&amp;Bitmask</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/mainwindow.ui" line="355"/>
+ <source>Preferences...</source>
+ <translation>Preferences...</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/mainwindow.ui" line="380"/>
+ <source>Show &amp;Log</source>
+ <translation>Show &amp;Log</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/mainwindow.ui" line="385"/>
+ <source>Create a new account...</source>
+ <translation>Create a new account...</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="272"/>
+ <source>File</source>
+ <translation>File</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="633"/>
+ <source>Encrypted Internet: OFF</source>
+ <translation>Encrypted Internet: OFF</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1395"/>
+ <source>Network is unreachable</source>
+ <translation>Network is unreachable</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1418"/>
+ <source>EIP has stopped</source>
+ <translation>EIP has stopped</translation>
+ </message>
+</context>
+<context>
+ <name>Preferences</name>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/preferences.ui" line="14"/>
+ <source>Preferences</source>
+ <translation>Preferences</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/preferences.ui" line="40"/>
+ <source>Password Change</source>
+ <translation>Password Change</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/preferences.ui" line="49"/>
+ <source>&amp;Current password:</source>
+ <translation>&amp;Current password:</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/preferences.ui" line="66"/>
+ <source>&amp;New password:</source>
+ <translation>&amp;New password:</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/preferences.ui" line="83"/>
+ <source>&amp;Re-enter new password:</source>
+ <translation>&amp;Re-enter new password:</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/preferences.ui" line="100"/>
+ <source>Change</source>
+ <translation>Change</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/preferences.ui" line="107"/>
+ <source>&lt;Password change status&gt;</source>
+ <translation>&lt;Password change status&gt;</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/preferences.ui" line="120"/>
+ <source>Enabled services</source>
+ <translation>Enabled services</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/preferences.ui" line="126"/>
+ <source>Save this provider settings</source>
+ <translation>Save this provider settings</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/preferences.ui" line="133"/>
+ <source>Services</source>
+ <translation>Services</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/preferences.ui" line="149"/>
+ <source>&lt;Select provider&gt;</source>
+ <translation>&lt;Select provider&gt;</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/preferences.ui" line="157"/>
+ <source>Select provider:</source>
+ <translation>Select provider:</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/preferences.ui" line="164"/>
+ <source>&lt; Providers Services Status &gt;</source>
+ <translation>&lt; Providers Services Status &gt;</translation>
+ </message>
+</context>
+<context>
+ <name>PreferencesWindow</name>
+ <message>
+ <location filename="../src/leap/bitmask/gui/preferenceswindow.py" line="53"/>
+ <source>Automatic</source>
+ <translation>Automatic</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/preferenceswindow.py" line="115"/>
+ <source>Changing password...</source>
+ <translation>Changing password...</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/preferenceswindow.py" line="166"/>
+ <source>Password changed successfully.</source>
+ <translation>Password changed successfully.</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/preferenceswindow.py" line="181"/>
+ <source>There was a problem changing the password.</source>
+ <translation>There was a problem changing the password.</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/preferenceswindow.py" line="184"/>
+ <source>You did not enter a correct current password.</source>
+ <translation>You did not enter a correct current password.</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/preferenceswindow.py" line="317"/>
+ <source>Services settings for provider &apos;{0}&apos; saved.</source>
+ <translation>Services settings for provider &apos;{0}&apos; saved.</translation>
+ </message>
+</context>
+<context>
+ <name>ProviderBootstrapper</name>
+ <message>
+ <location filename="../src/leap/bitmask/provider/providerbootstrapper.py" line="137"/>
+ <source>Provider certificate could not be verified</source>
+ <translation>Provider certificate could not be verified</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/provider/providerbootstrapper.py" line="144"/>
+ <source>Provider does not support HTTPS</source>
+ <translation>Provider does not support HTTPS</translation>
+ </message>
+</context>
+<context>
+ <name>SRPAuth</name>
+ <message>
+ <location filename="../src/leap/bitmask/crypto/srpauth.py" line="711"/>
+ <source>Succeeded</source>
+ <translation>Succeeded</translation>
+ </message>
+</context>
+<context>
+ <name>Wizard</name>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="43"/>
+ <source>Welcome</source>
+ <translation>Welcome</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="55"/>
+ <source>Log In with my credentials</source>
+ <translation>Log In with my credentials</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="62"/>
+ <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;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;</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="75"/>
+ <source>Sign up for a new account</source>
+ <translation>Sign up for a new account</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="112"/>
+ <source>Provider selection</source>
+ <translation>Provider selection</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="115"/>
+ <source>Please enter the domain of the provider you want to use for your connection</source>
+ <translation>Please enter the domain of the provider you want to use for your connection</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="305"/>
+ <source>Check</source>
+ <translation>Check</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="312"/>
+ <source>https://</source>
+ <translation>https://</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="153"/>
+ <source>Checking for a valid provider</source>
+ <translation>Checking for a valid provider</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="159"/>
+ <source>Getting provider information</source>
+ <translation>Getting provider information</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="239"/>
+ <source>Can we reach this provider?</source>
+ <translation>Can we reach this provider?</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="333"/>
+ <source>Provider Information</source>
+ <translation>Provider Information</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="336"/>
+ <source>Description of services offered by this provider</source>
+ <translation>Description of services offered by this provider</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="345"/>
+ <source>Name</source>
+ <translation>Name</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="377"/>
+ <source>Desc</source>
+ <translation>Desc</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="387"/>
+ <source>&lt;b&gt;Services offered:&lt;/b&gt;</source>
+ <translation>&lt;b&gt;Services offered:&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="397"/>
+ <source>services</source>
+ <translation>services</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="417"/>
+ <source>&lt;b&gt;Enrollment policy:&lt;/b&gt;</source>
+ <translation>&lt;b&gt;Enrollment policy:&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="427"/>
+ <source>policy</source>
+ <translation>policy</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="447"/>
+ <source>&lt;b&gt;URL:&lt;/b&gt;</source>
+ <translation>&lt;b&gt;URL:&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="457"/>
+ <source>URL</source>
+ <translation>URL</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="464"/>
+ <source>&lt;b&gt;Description:&lt;/b&gt;</source>
+ <translation>&lt;b&gt;Description:&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="475"/>
+ <source>Provider setup</source>
+ <translation>Provider setup</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="478"/>
+ <source>Gathering configuration options for this provider</source>
+ <translation>Gathering configuration options for this provider</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="500"/>
+ <source>We are downloading some bits that we need to establish a secure connection with the provider for the first time.</source>
+ <translation>We are downloading some bits that we need to establish a secure connection with the provider for the first time.</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="523"/>
+ <source>Setting up provider</source>
+ <translation>Setting up provider</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="573"/>
+ <source>Getting info from the Certificate Authority</source>
+ <translation>Getting info from the Certificate Authority</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="580"/>
+ <source>Do we trust this Certificate Authority?</source>
+ <translation>Do we trust this Certificate Authority?</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="587"/>
+ <source>Establishing a trust relationship with this provider</source>
+ <translation>Establishing a trust relationship with this provider</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="646"/>
+ <source>Register new user</source>
+ <translation>Register new user</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="649"/>
+ <source>Register a new user with provider</source>
+ <translation>Register a new user with provider</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="664"/>
+ <source>&lt;b&gt;Password:&lt;/b&gt;</source>
+ <translation>&lt;b&gt;Password:&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="691"/>
+ <source>&lt;b&gt;Re-enter password:&lt;/b&gt;</source>
+ <translation>&lt;b&gt;Re-enter password:&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="701"/>
+ <source>Register</source>
+ <translation>Register</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="747"/>
+ <source>Remember my username and password</source>
+ <translation>Remember my username and password</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="771"/>
+ <source>Service selection</source>
+ <translation>Service selection</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="774"/>
+ <source>Please select the services you would like to have</source>
+ <translation>Please select the services you would like to have</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/wizard.py" line="141"/>
+ <source>&amp;Next &gt;</source>
+ <translation>&amp;Next &gt;</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/wizard.py" line="143"/>
+ <source>Connect</source>
+ <translation>Connect</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/wizard.py" line="238"/>
+ <source>Starting registration...</source>
+ <translation>Starting registration...</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/wizard.py" line="269"/>
+ <source>User %s successfully registered.</source>
+ <translation>User %s successfully registered.</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/wizard.py" line="289"/>
+ <source>Unknown error</source>
+ <translation>Unknown error</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/wizard.py" line="414"/>
+ <source>&lt;font color=&apos;red&apos;&gt;&lt;b&gt;Non-existent provider&lt;/b&gt;&lt;/font&gt;</source>
+ <translation>&lt;font color=&apos;red&apos;&gt;&lt;b&gt;Non-existent provider&lt;/b&gt;&lt;/font&gt;</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/wizard.py" line="432"/>
+ <source>&lt;font color=&apos;red&apos;&gt;&lt;b&gt;%s&lt;/b&gt;&lt;/font&gt;</source>
+ <translation>&lt;font color=&apos;red&apos;&gt;&lt;b&gt;%s&lt;/b&gt;&lt;/font&gt;</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/wizard.py" line="460"/>
+ <source>Unable to load provider configuration</source>
+ <translation>Unable to load provider configuration</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/wizard.py" line="466"/>
+ <source>&lt;font color=&apos;red&apos;&gt;&lt;b&gt;Not a valid provider&lt;/b&gt;&lt;/font&gt;</source>
+ <translation>&lt;font color=&apos;red&apos;&gt;&lt;b&gt;Not a valid provider&lt;/b&gt;&lt;/font&gt;</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/wizard.py" line="532"/>
+ <source>Services by %s</source>
+ <translation>Services by %s</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/wizard.py" line="552"/>
+ <source>Something went wrong while trying to load service %s</source>
+ <translation>Something went wrong while trying to load service %s</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/wizard.py" line="569"/>
+ <source>Gathering configuration options for %s</source>
+ <translation>Gathering configuration options for %s</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/wizard.py" line="578"/>
+ <source>Description of services offered by %s</source>
+ <translation>Description of services offered by %s</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/wizard.py" line="599"/>
+ <source>Register a new user with %s</source>
+ <translation>Register a new user with %s</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="26"/>
+ <source>Bitmask first run</source>
+ <translation>Bitmask first run</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="46"/>
+ <source>This is the Bitmask first run wizard</source>
+ <translation>This is the Bitmask first run wizard</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="166"/>
+ <source>Can we establish a secure connection?</source>
+ <translation>Can we establish a secure connection?</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="734"/>
+ <source>&lt;b&gt;Username:&lt;/b&gt;</source>
+ <translation>&lt;b&gt;Username:&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="269"/>
+ <source>Configure or select a provider</source>
+ <translation>Configure or select a provider</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="275"/>
+ <source>Configure new provider:</source>
+ <translation>Configure new provider:</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="285"/>
+ <source>Use existing one:</source>
+ <translation>Use existing one:</translation>
+ </message>
+</context>
+<context>
+ <name>__impl</name>
+ <message>
+ <location filename="../src/leap/bitmask/crypto/srpauth.py" line="288"/>
+ <source>The server did not send the salt parameter</source>
+ <translation>The server did not send the salt parameter</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/crypto/srpauth.py" line="292"/>
+ <source>The server did not send the B parameter</source>
+ <translation>The server did not send the B parameter</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/crypto/srpauth.py" line="324"/>
+ <source>The data sent from the server had errors</source>
+ <translation>The data sent from the server had errors</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/crypto/srpauth.py" line="346"/>
+ <source>Could not connect to the server</source>
+ <translation>Could not connect to the server</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/crypto/srpauth.py" line="372"/>
+ <source>Unknown error (%s)</source>
+ <translation>Unknown error (%s)</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/crypto/srpauth.py" line="403"/>
+ <source>Problem getting data from server</source>
+ <translation>Problem getting data from server</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/crypto/srpauth.py" line="429"/>
+ <source>Bad data from server</source>
+ <translation>Bad data from server</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/crypto/srpauth.py" line="436"/>
+ <source>Auth verification failed</source>
+ <translation>Auth verification failed</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/crypto/srpauth.py" line="444"/>
+ <source>Session cookie verification failed</source>
+ <translation>Session cookie verification failed</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/crypto/srpauth.py" line="279"/>
+ <source>There was a problem with authentication</source>
+ <translation>There was a problem with authentication</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/crypto/srpauth.py" line="174"/>
+ <source>Invalid username or password.</source>
+ <translation>Invalid username or password.</translation>
+ </message>
+</context>
+<context>
+ <name>kls</name>
+ <message>
+ <location filename="../src/leap/bitmask/services/eip/vpnlauncher.py" line="167"/>
+ <source>No gateway was found!</source>
+ <translation>No gateway was found!</translation>
+ </message>
+</context>
+<context>
+ <name>msg</name>
+ <message>
+ <location filename="../src/leap/bitmask/platform_init/initializers.py" line="93"/>
+ <source>Missing up/down scripts</source>
+ <translation>Missing up/down scripts</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/platform_init/initializers.py" line="184"/>
+ <source>TAP Driver</source>
+ <translation>TAP Driver</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/platform_init/initializers.py" line="191"/>
+ <source>Encrypted Internet uses VPN, which needs a TAP device installed and none has been found. This will ask for administrative privileges.</source>
+ <translation>Encrypted Internet uses VPN, which needs a TAP device installed and none has been found. This will ask for administrative privileges.</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/platform_init/initializers.py" line="310"/>
+ <source>TUN Driver</source>
+ <translation>TUN Driver</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/platform_init/initializers.py" line="318"/>
+ <source>Encrypted Internet uses VPN, which needs a kernel extension for a TUN device installed, and none has been found. This will ask for administrative privileges.</source>
+ <translation>Encrypted Internet uses VPN, which needs a kernel extension for a TUN device installed, and none has been found. This will ask for administrative privileges.</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/platform_init/initializers.py" line="132"/>
+ <source>Problem installing files</source>
+ <translation>Problem installing files</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/platform_init/initializers.py" line="133"/>
+ <source>Some of the files could not be copied.</source>
+ <translation>Some of the files could not be copied.</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/platform_init/initializers.py" line="313"/>
+ <source>Bitmask needs to install the necessary drivers for Encrypted Internet to work. Would you like to proceed?</source>
+ <translation>Bitmask needs to install the necessary drivers for Encrypted Internet to work. Would you like to proceed?</translation>
+ </message>
+</context>
+</TS> \ No newline at end of file
diff --git a/data/translations/vi.qm b/data/translations/vi.qm
new file mode 100644
index 00000000..819654d6
--- /dev/null
+++ b/data/translations/vi.qm
Binary files differ
diff --git a/data/translations/vi.ts b/data/translations/vi.ts
new file mode 100644
index 00000000..4d6d343b
--- /dev/null
+++ b/data/translations/vi.ts
@@ -0,0 +1,1217 @@
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="vi" version="1.1">
+<context>
+ <name>EIPPreferences</name>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/eippreferences.ui" line="14"/>
+ <source>EIP Preferences</source>
+ <translation>Tùy biến EIP</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/eippreferences.ui" line="27"/>
+ <source>Select gateway for provider</source>
+ <translation>Chọn gateway cho nhà cung cấp</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/eippreferences.ui" line="36"/>
+ <source>&amp;Select provider:</source>
+ <translation>&amp;Chọn nhà cung cấp:</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/eippreferences.ui" line="140"/>
+ <source>&lt;Select provider&gt;</source>
+ <translation>&lt;Chọn nhà cung cấp&gt;</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/eippreferences.ui" line="55"/>
+ <source>Save this provider settings</source>
+ <translation>Chọn thiết lập cho nhà cung cấp này</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/eippreferences.ui" line="62"/>
+ <source>&lt; Providers Gateway Status &gt;</source>
+ <translation>&lt;Trạng thái gateway của nhà cung cấp&gt;</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/eippreferences.ui" line="72"/>
+ <source>Select gateway:</source>
+ <translation>Chọn gateway:</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/eippreferences.ui" line="80"/>
+ <source>Automatic</source>
+ <translation>Tự động</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/eippreferences.ui" line="91"/>
+ <source>Automatic EIP start</source>
+ <translation>Tự động khởi động EIP</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/eippreferences.ui" line="109"/>
+ <source>&lt;font color=&apos;green&apos;&gt;&lt;b&gt;Automatic EIP start saved!&lt;/b&gt;&lt;/font&gt;</source>
+ <translation>&lt;font color=&apos;green&apos;&gt;&lt;b&gt;Đã lưu lại phần tự động khởi động EIP!&lt;/b&gt;&lt;/font&gt;</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/eippreferences.ui" line="119"/>
+ <source>Save auto start setting</source>
+ <translation>Lưu lại thiết lập về tự động khởi động</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/eippreferences.ui" line="129"/>
+ <source>Enable Automatic start of EIP</source>
+ <translation>Tự động cho phép khởi động của EIP</translation>
+ </message>
+</context>
+<context>
+ <name>EIPPreferencesWindow</name>
+ <message>
+ <location filename="../src/leap/bitmask/gui/eip_preferenceswindow.py" line="47"/>
+ <source>Automatic</source>
+ <translation>Tự động</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/eip_preferenceswindow.py" line="156"/>
+ <source>Gateway settings for provider &apos;{0}&apos; saved.</source>
+ <translation>Thiết lập gateway dành cho nhà cung cấp &apos;{0}&apos; đã được lưu lại.</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/eip_preferenceswindow.py" line="198"/>
+ <source>There was a problem with configuration files.</source>
+ <translation>Xảy ra lỗi với tập tin cấu hình.</translation>
+ </message>
+</context>
+<context>
+ <name>EIPStatus</name>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/eip_status.ui" line="20"/>
+ <source>Form</source>
+ <translation>Đơn mẫu</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/eip_status.ui" line="31"/>
+ <source>Turn On</source>
+ <translation>Mở lên</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/eip_status.ui" line="63"/>
+ <source>...</source>
+ <translation>...</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/eip_status.ui" line="86"/>
+ <source>Traffic is being routed in the clear</source>
+ <translation>Lưu lượng mạng đang được điều hướng rỗng</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/eip_status.ui" line="253"/>
+ <source>0.0 KB/s</source>
+ <translation>0.0 KB/giây</translation>
+ </message>
+</context>
+<context>
+ <name>EIPStatusWidget</name>
+ <message>
+ <location filename="../src/leap/bitmask/gui/eip_status.py" line="191"/>
+ <source>All services are OFF</source>
+ <translation>Tất cả các dịch vụ hiện đang bị TẮT</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/eip_status.py" line="197"/>
+ <source>Encrypted Internet: {0}</source>
+ <translation>Internet đã được mã hóa: {0}</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/eip_status.py" line="249"/>
+ <source>You must login to use Encrypted Internet</source>
+ <translation>Bạn phải đăng nhập để sử dụng phần mã hóa internet</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/eip_status.py" line="300"/>
+ <source>Turn OFF</source>
+ <translation>Bật TẮT</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/eip_status.py" line="314"/>
+ <source>Turn ON</source>
+ <translation>Bật LÊN</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/eip_status.py" line="321"/>
+ <source>Traffic is being routed in the clear</source>
+ <translation>Lưu lượng mạng đang được điều hướng rỗng</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/eip_status.py" line="378"/>
+ <source>Authenticating...</source>
+ <translation>Đang xác nhận...</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/eip_status.py" line="380"/>
+ <source>Retrieving configuration...</source>
+ <translation>Đang đọc lại cấu hình...</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/eip_status.py" line="382"/>
+ <source>Waiting to start...</source>
+ <translation>Đang đợi để bắt đầu...</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/eip_status.py" line="384"/>
+ <source>Assigning IP</source>
+ <translation>Đang gán IP</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/eip_status.py" line="386"/>
+ <source>Reconnecting...</source>
+ <translation>Đang thực hiện việc kết nối lại...</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/eip_status.py" line="395"/>
+ <source>Unable to start VPN, it&apos;s already running.</source>
+ <translation>Không thể khởi động VPN, phần VPN này đã được chạy.</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/eip_status.py" line="418"/>
+ <source>Encrypted Internet: OFF</source>
+ <translation>Chức năng mã hóa internet: TẮT</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/eip_status.py" line="423"/>
+ <source>Encrypted Internet: Starting...</source>
+ <translation>Mã hóa internet: Đang bắt đầu...</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/eip_status.py" line="425"/>
+ <source>Encrypted Internet: ON</source>
+ <translation>Mã hóa internet: MỞ</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/eip_status.py" line="435"/>
+ <source>Route traffic through: {0}</source>
+ <translation>Điều hướng lưu lượng mạng qua: {0}</translation>
+ </message>
+</context>
+<context>
+ <name>LoggerWindow</name>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/loggerwindow.ui" line="14"/>
+ <source>Logs</source>
+ <translation>Nhật trình</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/loggerwindow.ui" line="49"/>
+ <source>Debug</source>
+ <translation>Gỡ lỗi</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/loggerwindow.ui" line="69"/>
+ <source>Info</source>
+ <translation>Thông tin</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/loggerwindow.ui" line="89"/>
+ <source>Warning</source>
+ <translation>Cảnh báo</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/loggerwindow.ui" line="109"/>
+ <source>Error</source>
+ <translation>Lỗi</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/loggerwindow.ui" line="129"/>
+ <source>Critical</source>
+ <translation>Nghiêm trọng</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/loggerwindow.ui" line="149"/>
+ <source>Save to file</source>
+ <translation>Lưu vào tập tin</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/loggerwindow.py" line="148"/>
+ <source>Save As</source>
+ <translation>Lưu dưới dạng</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/loggerwindow.ui" line="24"/>
+ <source>Filter by:</source>
+ <translation>Lọc dữ liệu theo:</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/loggerwindow.ui" line="34"/>
+ <source>Case Insensitive</source>
+ <translation>Phân biệt chữ hoa chữ thường</translation>
+ </message>
+</context>
+<context>
+ <name>LoginWidget</name>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/login.ui" line="26"/>
+ <source>Form</source>
+ <translation>Biểu mẫu</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/login.ui" line="153"/>
+ <source>&lt;b&gt;Provider:&lt;/b&gt;</source>
+ <translation>&lt;b&gt;Nhà cung cấp:&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/login.ui" line="172"/>
+ <source>Remember username and password</source>
+ <translation>Ghi nhớ tên người dùng và mật khẩu</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/login.ui" line="197"/>
+ <source>&lt;b&gt;Username:&lt;/b&gt;</source>
+ <translation>&lt;b&gt;Tên người dùng:&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/login.ui" line="210"/>
+ <source>&lt;b&gt;Password:&lt;/b&gt;</source>
+ <translation>&lt;b&gt;Mật khẩu:&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/login.py" line="234"/>
+ <source>Log In</source>
+ <translation>Đăng nhập</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/login.py" line="121"/>
+ <source>Other...</source>
+ <translation>Các phần khác...</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/login.py" line="229"/>
+ <source>Cancel</source>
+ <translation>Hủy bỏ</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/login.ui" line="63"/>
+ <source>...</source>
+ <translation>...</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/login.py" line="365"/>
+ <source>Logout</source>
+ <translation>Đăng xuất</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/login.py" line="283"/>
+ <source>Please select a valid provider</source>
+ <translation>Vui lòng chọn một nhà cung cấp hợp lệ</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/login.py" line="288"/>
+ <source>Please provide a valid username</source>
+ <translation>Vui lòng cung cấp một tên người dùng hợp lệ</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/login.py" line="293"/>
+ <source>Please provide a valid password</source>
+ <translation>Xin vui lòng cung cấp một mật khẩu hợp lệ</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/login.py" line="296"/>
+ <source>Logging in...</source>
+ <translation>Đang đăng nhập...</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/login.py" line="358"/>
+ <source>Loggin out...</source>
+ <translation>Đang Đăng xuất...</translation>
+ </message>
+</context>
+<context>
+ <name>MailStatusWidget</name>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/mail_status.ui" line="20"/>
+ <source>Form</source>
+ <translation>Biểu mẫu</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/mail_status.ui" line="31"/>
+ <source>You must login to use encrypted email.</source>
+ <translation>Bạn phải đăng nhập để sử dụng email được mã hóa.</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/mail_status.ui" line="44"/>
+ <source>Email</source>
+ <translation>Email</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="171"/>
+ <source>All services are OFF</source>
+ <translation>Tất cả các dịch vụ hiện đang bị TẮT</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="204"/>
+ <source>There was an unexpected problem with Soledad.</source>
+ <translation>Xảy ra lỗi với phần Soledad.</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="418"/>
+ <source>OFF</source>
+ <translation>TẮT</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="221"/>
+ <source>Mail is OFF</source>
+ <translation>Tắt tính năng mail</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="224"/>
+ <source>You must be logged in to use encrypted email.</source>
+ <translation>Bạn phải đăng nhập để sử dụng dịch vụ email mã hóa.</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="228"/>
+ <source>Starting..</source>
+ <translation>Đang khởi chạy...</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="229"/>
+ <source>Mail is starting</source>
+ <translation>Mail đang được bắt đầu</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="383"/>
+ <source>ON</source>
+ <translation>MỞ</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="233"/>
+ <source>Mail is ON</source>
+ <translation>Mail hiện đang MỞ</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="236"/>
+ <source>Mail is disabled</source>
+ <translation>Mail hiện đang bị vô hiệu hóa</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="298"/>
+ <source>Starting...</source>
+ <translation>Đang khởi chạy...</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="265"/>
+ <source>Soledad has started...</source>
+ <translation>Soledad đã được khởi chạy...</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="267"/>
+ <source>Soledad is starting, please wait...</source>
+ <translation>Soledad hiện đang khởi động, xin vui lòng chờ trong giây lát..</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="304"/>
+ <source>Looking for key for this user</source>
+ <translation>Đang tìm kiếm phần khóa dữ liệu đối với người dùng này</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="308"/>
+ <source>Found key! Starting mail...</source>
+ <translation>Đã tìm thấy khóa! Đang khởi động mail...</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="310"/>
+ <source>Generating new key, please wait...</source>
+ <translation>Đang tạo các khóa mới, xin vui lòng đợi trong giây lát...</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="312"/>
+ <source>Finished generating key!</source>
+ <translation>Đã hoàn tất thao tác tạo các khóa dữ liệu!</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="314"/>
+ <source>Starting mail...</source>
+ <translation>Đang khởi động mail...</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="344"/>
+ <source>SMTP has started...</source>
+ <translation>Dịch vụ SMTP đã được bắt đầu...</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="350"/>
+ <source>SMTP failed to start, check the logs.</source>
+ <translation>Không thể khởi động dịch vụ SMTP, kiểm tra nhật trình.</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="387"/>
+ <source>Failed</source>
+ <translation>Gặp lỗi</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="381"/>
+ <source>IMAP has started...</source>
+ <translation>Dịch vụ IMAP đã được bắt đầu...</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="387"/>
+ <source>IMAP failed to start, check the logs.</source>
+ <translation>Không thể khởi động dịch vụ IMAP, kiểm tra phần nhật trình.</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="391"/>
+ <source>%s Unread Emails</source>
+ <translation>%s email chưa đọc</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="405"/>
+ <source>About to start, please wait...</source>
+ <translation>Chuẩn bị khởi chạy, xin vui lòng đợi trong giây lát...</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="412"/>
+ <source>Disabled</source>
+ <translation>Vô Hiệu Hóa</translation>
+ </message>
+</context>
+<context>
+ <name>MainWindow</name>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/mainwindow.ui" line="257"/>
+ <source>There are new updates available, please restart.</source>
+ <translation>Hiện có một phiên bản mới vừa được phát hành, xin vui lòng khởi động lại.</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/mainwindow.ui" line="299"/>
+ <source>More...</source>
+ <translation>Thêm...</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="626"/>
+ <source>Help</source>
+ <translation>Trợ giúp</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/mainwindow.ui" line="360"/>
+ <source>&amp;Quit</source>
+ <translation>&amp;Thoát</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/mainwindow.ui" line="370"/>
+ <source>&amp;Help</source>
+ <translation>&amp;Trợ giúp</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/mainwindow.ui" line="375"/>
+ <source>&amp;Wizard</source>
+ <translation>&amp;Phần hướng dẫn</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="672"/>
+ <source>Hide Main Window</source>
+ <translation>Ẩn cửa sổ chính</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="527"/>
+ <source> The following components will be updated:
+%s</source>
+ <translation>Các thành phần sau đây sẽ được cập nhật:
+%s</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="530"/>
+ <source>Updates available</source>
+ <translation>Đã có phiên bản mới</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="671"/>
+ <source>Show Main Window</source>
+ <translation>Hiện cửa sổ chính</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1314"/>
+ <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>
+ <translation>Chúng tôi không tìm thấy phần trợ lý xác nhận nào trong hệ thống của bạn.&lt;br/&gt;Hãy chắc chắn rằng bạn có&lt;b&gt;phần polkit-gnome-authentication-agent-1&lt;/b&gt; đang được chạy và hãy thử lại lần nữa.</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1326"/>
+ <source>We could not find &lt;b&gt;pkexec&lt;/b&gt; in your system.</source>
+ <translation>Chúng tôi không tìm thấy &lt;b&gt;pkexec&lt;/b&gt; trong hệ thống của bạn.</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1331"/>
+ <source>We could not find openvpn binary.</source>
+ <translation>Không tìm thấy phần nhị phân của openconnect.</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1493"/>
+ <source>Starting...</source>
+ <translation>Đang khởi chạy...</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1501"/>
+ <source>Not supported</source>
+ <translation>Không được hỗ trợ</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1504"/>
+ <source>Disabled</source>
+ <translation>Vô Hiệu Hóa</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1537"/>
+ <source>Could not load Encrypted Internet Configuration.</source>
+ <translation>Không thể nạp mã hóa cấu hình của Internet.</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1459"/>
+ <source>Encrypted Internet could not be launched because you did not authenticate properly.</source>
+ <translation>Không thể chạy được phần mã hóa Internet vì bạn đã không được xác thực đúng cách.</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1467"/>
+ <source>Encrypted Internet finished in an unexpected manner!</source>
+ <translation>Tiến trình mã hóa Internet đã được hoàn tất một cách bất ngờ!</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/mainwindow.ui" line="32"/>
+ <source>Bitmask</source>
+ <translation>Bitmask</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/mainwindow.ui" line="365"/>
+ <source>About &amp;Bitmask</source>
+ <translation>Dịch bởi Vietnamesel10n</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="283"/>
+ <source>Mail is OFF</source>
+ <translation>Tắt tính năng mail</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="518"/>
+ <source>The Bitmask app is ready to update, please restart the application.</source>
+ <translation>Bitmask hiện đã sẵn sàng để cài đặt bản cập nhật mới, vui lòng khởi động khởi động lại ứng dụng.</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="734"/>
+ <source>About Bitmask - %s</source>
+ <translation>Thông tin về Bitmask - %s</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="748"/>
+ <source>Version: &lt;b&gt;%s&lt;/b&gt;&lt;br&gt;&lt;br&gt;Bitmask is the Desktop client application for the LEAP platform, supporting encrypted internet proxy, secure email, and secure chat (coming soon).&lt;br&gt;&lt;br&gt;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;br&gt;&lt;br&gt;&lt;a href=&apos;https://leap.se&apos;&gt;More about LEAP&lt;/a&gt;</source>
+ <translation>Phiên bản: &lt;b&gt;%s&lt;/b&gt;&lt;br&gt;&lt;br&gt;Bitmask là một chương trình trên nền desktop dựa trên nền tảng LEAP, hỗ trợ proxy trên internet được mã hóa, bảo mật email, và bảo mật các nội dung chat (tính năng này hiện đang được phát triển và sẽ được phát hành trong phiên bản sắp tới).&lt;br&gt;&lt;br&gt;LEAP là một nền tảng phi lợi nhuận nhằm cung cấp cho người dùng tính năng bảo mật khi giao tiếp trên các hệ thống internet. Mục tiêu của chúng tôi là đưa các kỹ thuật mã hóa đến với người dùng theo cách dễ sử dụng nhất. &lt;br&gt;&lt;br&gt;&lt;a href=&apos;https://leap.se&apos;&gt;Thông tin thêm về LEAP&lt;/a&gt;</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="836"/>
+ <source>Unable to login: Problem with provider</source>
+ <translation>Không thể đăng nhập: Xảy ra lỗi với nhà cung cấp</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="874"/>
+ <source>Log in cancelled by the user.</source>
+ <translation>Người dùng đã hủy bỏ thao tác đăng nhập.</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1321"/>
+ <source>Encrypted Internet cannot be started because the tuntap extension is not installed properly in your system.</source>
+ <translation>Không thể khởi động phần mã hóa dành cho Internet vì phần tiện ích tuntap vẫn chưa được cài đặt trên hệ thống của bạn.</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1337"/>
+ <source>Another openvpn instance is already running, and could not be stopped.</source>
+ <translation>Một tiến trình khác thuộc openvpn hiện đang được thực thi, và không thể bị dừng lại</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1344"/>
+ <source>Another openvpn instance is already running, and could not be stopped because it was not launched by Bitmask. Please stop it and try again.</source>
+ <translation>Một tiếng trình khác thuộc openvpn hiện đang được thực thi và không thể được dừng lại vì đây là tiến trình được sử dụng bởi Bitmask. Xin vui lòng thử thao tác dừng lại và thử lại</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1519"/>
+ <source>There was a problem with the provider</source>
+ <translation>Xảy ra lỗi với nhà cung cấp</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1618"/>
+ <source>Something went wrong with the logout.</source>
+ <translation>Xảy ra lỗi với thao tác đăng xuất.</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1639"/>
+ <source>Unable to connect: Problem with provider</source>
+ <translation>Không thể kết nối: Xảy ra lỗi với nhà cung cấp</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/mainwindow.ui" line="113"/>
+ <source>Encrypted Internet</source>
+ <translation>Internet đã được mã hóa</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/mainwindow.ui" line="194"/>
+ <source>Login</source>
+ <translation>Đăng nhập</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/mainwindow.ui" line="334"/>
+ <source>&amp;Bitmask</source>
+ <translation>&amp;Bitmask</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/mainwindow.ui" line="355"/>
+ <source>Preferences...</source>
+ <translation>Tùy Biến...</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/mainwindow.ui" line="380"/>
+ <source>Show &amp;Log</source>
+ <translation>Hiển thị &amp;nhật trình</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/mainwindow.ui" line="385"/>
+ <source>Create a new account...</source>
+ <translation>Tạo một tài khoản mới...</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="272"/>
+ <source>File</source>
+ <translation>Tập tin</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="633"/>
+ <source>Encrypted Internet: OFF</source>
+ <translation>Chức năng mã hóa internet: TẮT</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1395"/>
+ <source>Network is unreachable</source>
+ <translation>Không thể truy cập mạng</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1418"/>
+ <source>EIP has stopped</source>
+ <translation>EIP đã dừng lại</translation>
+ </message>
+</context>
+<context>
+ <name>Preferences</name>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/preferences.ui" line="14"/>
+ <source>Preferences</source>
+ <translation>Tùy Biến</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/preferences.ui" line="40"/>
+ <source>Password Change</source>
+ <translation>Thay đổi mật khẩu</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/preferences.ui" line="49"/>
+ <source>&amp;Current password:</source>
+ <translation>&amp;Mật khẩu hiện tại:</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/preferences.ui" line="66"/>
+ <source>&amp;New password:</source>
+ <translation>&amp;Mật khẩu mới:</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/preferences.ui" line="83"/>
+ <source>&amp;Re-enter new password:</source>
+ <translation>&amp;Nhập lại mật khẩu:</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/preferences.ui" line="100"/>
+ <source>Change</source>
+ <translation>Thay đổi</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/preferences.ui" line="107"/>
+ <source>&lt;Password change status&gt;</source>
+ <translation>&lt;Trạng thái thay đổi mật khẩu&gt;</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/preferences.ui" line="120"/>
+ <source>Enabled services</source>
+ <translation>Các dịch vụ đã được cho phép</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/preferences.ui" line="126"/>
+ <source>Save this provider settings</source>
+ <translation>Lưu lại thiết lập dành cho nhà cung cấp này</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/preferences.ui" line="133"/>
+ <source>Services</source>
+ <translation>Dịch vụ</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/preferences.ui" line="149"/>
+ <source>&lt;Select provider&gt;</source>
+ <translation>&lt;Chọn nhà cung cấp&gt;</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/preferences.ui" line="157"/>
+ <source>Select provider:</source>
+ <translation>Chọn nhà cung cấp:</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/preferences.ui" line="164"/>
+ <source>&lt; Providers Services Status &gt;</source>
+ <translation>&lt;Trạng thái dịch vụ từ nhà cung cấp&gt;</translation>
+ </message>
+</context>
+<context>
+ <name>PreferencesWindow</name>
+ <message>
+ <location filename="../src/leap/bitmask/gui/preferenceswindow.py" line="53"/>
+ <source>Automatic</source>
+ <translation>Tự động</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/preferenceswindow.py" line="115"/>
+ <source>Changing password...</source>
+ <translation>Đang thay đổi mật khẩu...</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/preferenceswindow.py" line="166"/>
+ <source>Password changed successfully.</source>
+ <translation>Đã thay đổi thành công mật khẩu.</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/preferenceswindow.py" line="181"/>
+ <source>There was a problem changing the password.</source>
+ <translation>Xảy ra lỗi với tiến trình thay đổi mật khẩu.</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/preferenceswindow.py" line="184"/>
+ <source>You did not enter a correct current password.</source>
+ <translation>Bjan chưa điền vào chính xác mật khẩu hiện tại.</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/preferenceswindow.py" line="317"/>
+ <source>Services settings for provider &apos;{0}&apos; saved.</source>
+ <translation>Đã lưu lại thông tin về thiết lập của dịch vụ từ nhà cung cấp &apos;{0}&apos;</translation>
+ </message>
+</context>
+<context>
+ <name>ProviderBootstrapper</name>
+ <message>
+ <location filename="../src/leap/bitmask/provider/providerbootstrapper.py" line="137"/>
+ <source>Provider certificate could not be verified</source>
+ <translation>Không thể xác nhận nơi cung cấp chứng chỉ</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/provider/providerbootstrapper.py" line="144"/>
+ <source>Provider does not support HTTPS</source>
+ <translation>Nhà cung cấp không hỗ trợ HTTPS</translation>
+ </message>
+</context>
+<context>
+ <name>SRPAuth</name>
+ <message>
+ <location filename="../src/leap/bitmask/crypto/srpauth.py" line="711"/>
+ <source>Succeeded</source>
+ <translation>Đã thành công</translation>
+ </message>
+</context>
+<context>
+ <name>Wizard</name>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="43"/>
+ <source>Welcome</source>
+ <translation>Chào mừng bạn</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="55"/>
+ <source>Log In with my credentials</source>
+ <translation>Đăng nhập với thông tin đăng nhập của tôi</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="62"/>
+ <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;/head&gt;&lt;body&gt;&lt;p&gt;Bây giờ chúng tôi sẽ hướng dẫn bạn thông qua một số cấu hình đó là cần thiết trước khi bạn có thể kết nối lần đầu tiên.&lt;/p&gt;&lt;p&gt;Nếu bạn đã bao giờ cần phải sửa đổi các tùy chọn này một lần nữa, bạn có thể tìm thấy thuật sĩ trong trình đơn &lt;span style=&quot; font-style:italic;&quot;&gt;&apos;Cài đặt&apos;&lt;/span&gt; từ cửa sổ chính của.&lt;/p&gt;&lt;p&gt;Bạn có muốn &lt;span style=&quot; font-weight:600;&quot;&gt;đăng ký&lt;/span&gt; cho một tài khoản mới, hoặc &lt;span style=&quot; font-weight:600;&quot;&gt;đăng nhập&lt;/span&gt; với tên người dùng đã tồn tại?&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="75"/>
+ <source>Sign up for a new account</source>
+ <translation>Đăng ký một tài khoản mới</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="112"/>
+ <source>Provider selection</source>
+ <translation>Chọn nhà cung cấp</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="115"/>
+ <source>Please enter the domain of the provider you want to use for your connection</source>
+ <translation>Vui lòng nhập tên miền của các nhà cung cấp bạn muốn sử dụng cho kết nối của bạn</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="305"/>
+ <source>Check</source>
+ <translation>Kiểm tra</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="312"/>
+ <source>https://</source>
+ <translation>https://</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="153"/>
+ <source>Checking for a valid provider</source>
+ <translation>Đang kiểm tra tính hợp lệ của nhà cung cấp</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="159"/>
+ <source>Getting provider information</source>
+ <translation>Đang tiếp nhận thông tin từ nhà cung cấp</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="239"/>
+ <source>Can we reach this provider?</source>
+ <translation>Bạn có muốn liên lạc với nhà cung cấp hay không?</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="333"/>
+ <source>Provider Information</source>
+ <translation>Thông tin về nhà cung cấp</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="336"/>
+ <source>Description of services offered by this provider</source>
+ <translation>Mô tả về dịch vụ được cung cấp bởi nhà cung cấp này\</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="345"/>
+ <source>Name</source>
+ <translation>Tên</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="377"/>
+ <source>Desc</source>
+ <translation>Mô tả</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="387"/>
+ <source>&lt;b&gt;Services offered:&lt;/b&gt;</source>
+ <translation>&lt;b&gt;Dịch vụ cung cấp:&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="397"/>
+ <source>services</source>
+ <translation>dịch vụ</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="417"/>
+ <source>&lt;b&gt;Enrollment policy:&lt;/b&gt;</source>
+ <translation>&lt;b&gt;Chính sách đăng ký:&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="427"/>
+ <source>policy</source>
+ <translation>chính sách</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="447"/>
+ <source>&lt;b&gt;URL:&lt;/b&gt;</source>
+ <translation>&lt;b&gt;Đường dẫn liên kết :&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="457"/>
+ <source>URL</source>
+ <translation>Đường dẫn liên kết</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="464"/>
+ <source>&lt;b&gt;Description:&lt;/b&gt;</source>
+ <translation>&lt;b&gt;Mô tả:&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="475"/>
+ <source>Provider setup</source>
+ <translation>Thiết lập nhà cung cấp</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="478"/>
+ <source>Gathering configuration options for this provider</source>
+ <translation>Đang thu thập các tùy chọn cấu hình cho nhà cung cấp này</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="500"/>
+ <source>We are downloading some bits that we need to establish a secure connection with the provider for the first time.</source>
+ <translation>Chúng tôi đang tải xuống một số bit dữ liệu mà chúng ta cần phải thiết lập một kết nối an toàn với các nhà cung cấp cho lần khởi chạy đầu tiên.</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="523"/>
+ <source>Setting up provider</source>
+ <translation>Đang thiết lập nhà cung cấp</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="573"/>
+ <source>Getting info from the Certificate Authority</source>
+ <translation>Đang nhận thông tin từ bộ phận xác nhận chứng chỉ an toàn</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="580"/>
+ <source>Do we trust this Certificate Authority?</source>
+ <translation>Bạn có tin tưởng vào bộ phân xác nhận chứng chỉ an toàn này không?</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="587"/>
+ <source>Establishing a trust relationship with this provider</source>
+ <translation>Đang thiết lập một mối quan hệ tin tưởng dạng dữ liệu với nhà cung cấp này</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="646"/>
+ <source>Register new user</source>
+ <translation>Đăng ký người dùng mới</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="649"/>
+ <source>Register a new user with provider</source>
+ <translation>Đăng ký một người dùng mới với nhà cung cấp</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="664"/>
+ <source>&lt;b&gt;Password:&lt;/b&gt;</source>
+ <translation>&lt;b&gt;Mật khẩu:&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="691"/>
+ <source>&lt;b&gt;Re-enter password:&lt;/b&gt;</source>
+ <translation>&lt;b&gt;Nhập lại mật khẩu:&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="701"/>
+ <source>Register</source>
+ <translation>Đăng ký</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="747"/>
+ <source>Remember my username and password</source>
+ <translation>Ghi nhớ tên người dùng và mật khẩu</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="771"/>
+ <source>Service selection</source>
+ <translation>Lựa chọn dịch vụ</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="774"/>
+ <source>Please select the services you would like to have</source>
+ <translation>Vui lòng chọn dịch vụ bạn muốn sử dụng</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/wizard.py" line="141"/>
+ <source>&amp;Next &gt;</source>
+ <translation>&amp;Tiếp theo &gt;</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/wizard.py" line="143"/>
+ <source>Connect</source>
+ <translation>Kết nối</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/wizard.py" line="238"/>
+ <source>Starting registration...</source>
+ <translation>Đang bắt đầu đăng ký...</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/wizard.py" line="269"/>
+ <source>User %s successfully registered.</source>
+ <translation>Người dùng %s đã đăng ký thành công.</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/wizard.py" line="289"/>
+ <source>Unknown error</source>
+ <translation>Lỗi không rõ nguyên nhân</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/wizard.py" line="414"/>
+ <source>&lt;font color=&apos;red&apos;&gt;&lt;b&gt;Non-existent provider&lt;/b&gt;&lt;/font&gt;</source>
+ <translation>&lt;font color=&apos;red&apos;&gt;&lt;b&gt;Nhà cung cấp không tồn tại&lt;/b&gt;&lt;/font&gt;</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/wizard.py" line="432"/>
+ <source>&lt;font color=&apos;red&apos;&gt;&lt;b&gt;%s&lt;/b&gt;&lt;/font&gt;</source>
+ <translation>&lt;font color=&apos;red&apos;&gt;&lt;b&gt;%s&lt;/b&gt;&lt;/font&gt;</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/wizard.py" line="460"/>
+ <source>Unable to load provider configuration</source>
+ <translation>Không thể tải cấu hình của nhà cung cấp.</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/wizard.py" line="466"/>
+ <source>&lt;font color=&apos;red&apos;&gt;&lt;b&gt;Not a valid provider&lt;/b&gt;&lt;/font&gt;</source>
+ <translation>&lt;font color=&apos;red&apos;&gt;&lt;b&gt;Không phải là một nhà cung cấp hợp lệ&lt;/b&gt;&lt;/font&gt;</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/wizard.py" line="532"/>
+ <source>Services by %s</source>
+ <translation>Dịch vụ của %s</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/wizard.py" line="552"/>
+ <source>Something went wrong while trying to load service %s</source>
+ <translation>Xảy ra lỗi khi cố tải dịch vụ %s</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/wizard.py" line="569"/>
+ <source>Gathering configuration options for %s</source>
+ <translation>Đang thu thập các tùy chọn cấu hình cho nhà cung cấp %s</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/wizard.py" line="578"/>
+ <source>Description of services offered by %s</source>
+ <translation>Mô tả về dịch vụ được cung cấp bởi nhà cung cấp %s</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/wizard.py" line="599"/>
+ <source>Register a new user with %s</source>
+ <translation>Đăng ký một người dùng mới với %s</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="26"/>
+ <source>Bitmask first run</source>
+ <translation>Bitmask được ưu tiên chạy trước</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="46"/>
+ <source>This is the Bitmask first run wizard</source>
+ <translation>Đây là phần hướng dẫn khởi chạy Bitmask</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="166"/>
+ <source>Can we establish a secure connection?</source>
+ <translation>Liệu chúng ta có thể thiết lập một kết nối an toàn không?</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="734"/>
+ <source>&lt;b&gt;Username:&lt;/b&gt;</source>
+ <translation>&lt;b&gt;Tên tài khoản:&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="269"/>
+ <source>Configure or select a provider</source>
+ <translation>Cấu hình hoặc lựa chọn một nhà cung cấp</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="275"/>
+ <source>Configure new provider:</source>
+ <translation>Cấu hình một nhà cung cấp mới:</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="285"/>
+ <source>Use existing one:</source>
+ <translation>Sử dụng phần đã tồn tại:</translation>
+ </message>
+</context>
+<context>
+ <name>__impl</name>
+ <message>
+ <location filename="../src/leap/bitmask/crypto/srpauth.py" line="288"/>
+ <source>The server did not send the salt parameter</source>
+ <translation>Các máy chủ đã không gửi tham số salt</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/crypto/srpauth.py" line="292"/>
+ <source>The server did not send the B parameter</source>
+ <translation>Các máy chủ đã không gửi tham số B</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/crypto/srpauth.py" line="324"/>
+ <source>The data sent from the server had errors</source>
+ <translation>Dữ liệu được gửi từ các máy chủ chứa lỗi</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/crypto/srpauth.py" line="346"/>
+ <source>Could not connect to the server</source>
+ <translation>Không thể kết nối tới máy chủ</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/crypto/srpauth.py" line="372"/>
+ <source>Unknown error (%s)</source>
+ <translation>Lỗi không rõ nguyên nhân (%s)</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/crypto/srpauth.py" line="403"/>
+ <source>Problem getting data from server</source>
+ <translation>Xảy ra lỗi khi nhận dữ liệu từ máy chủ</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/crypto/srpauth.py" line="429"/>
+ <source>Bad data from server</source>
+ <translation>Dữ liệu không chuẩn từ máy chủ</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/crypto/srpauth.py" line="436"/>
+ <source>Auth verification failed</source>
+ <translation>Xác nhận thất bại</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/crypto/srpauth.py" line="444"/>
+ <source>Session cookie verification failed</source>
+ <translation>Xác nhận phiên làm việc cookie gặp lỗi</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/crypto/srpauth.py" line="279"/>
+ <source>There was a problem with authentication</source>
+ <translation>Xảy ra lỗi với tiến trình xác nhận</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/crypto/srpauth.py" line="174"/>
+ <source>Invalid username or password.</source>
+ <translation>Tên tài khoản hoặc mật khẩu không đúng.</translation>
+ </message>
+</context>
+<context>
+ <name>kls</name>
+ <message>
+ <location filename="../src/leap/bitmask/services/eip/vpnlauncher.py" line="167"/>
+ <source>No gateway was found!</source>
+ <translation>Không tìm thấ gateway nào hết!</translation>
+ </message>
+</context>
+<context>
+ <name>msg</name>
+ <message>
+ <location filename="../src/leap/bitmask/platform_init/initializers.py" line="93"/>
+ <source>Missing up/down scripts</source>
+ <translation>Thiếu phần mã lên/xuống</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/platform_init/initializers.py" line="184"/>
+ <source>TAP Driver</source>
+ <translation>Trình điều khiển TAP</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/platform_init/initializers.py" line="191"/>
+ <source>Encrypted Internet uses VPN, which needs a TAP device installed and none has been found. This will ask for administrative privileges.</source>
+ <translation>Internet được mã hóa sử dụng VPN, cần một thiết bị TAP được cài đặt và hiện không tìm thấy đối tượng nào về phần này. Tiến trình này yêu cầu quyền quản trị.</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/platform_init/initializers.py" line="310"/>
+ <source>TUN Driver</source>
+ <translation>Trình điều khiển TUN</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/platform_init/initializers.py" line="318"/>
+ <source>Encrypted Internet uses VPN, which needs a kernel extension for a TUN device installed, and none has been found. This will ask for administrative privileges.</source>
+ <translation>Internet được mã hóa sử dụng VPN, cần một thiết bị TUN được cài đặt và hiện không tìm thấy đối tượng nào về phần này. Tiến trình này yêu cầu quyền quản trị.</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/platform_init/initializers.py" line="132"/>
+ <source>Problem installing files</source>
+ <translation>Xảy ra lỗi khi đang thực hiện thao tác cài đặt tập tin</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/platform_init/initializers.py" line="133"/>
+ <source>Some of the files could not be copied.</source>
+ <translation>Một số tập tin không thể được sao chép.</translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/platform_init/initializers.py" line="313"/>
+ <source>Bitmask needs to install the necessary drivers for Encrypted Internet to work. Would you like to proceed?</source>
+ <translation>Bitmask cần cài đặt một vài driver thiết yếu để tiến trình mã hóa Internet hoạt động. Bạn có muốn tiếp tục hay không?</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 224060f4..64a400ba 100644
--- a/data/ts/en_US.ts
+++ b/data/ts/en_US.ts
@@ -1,21 +1,194 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS><TS version="1.1">
<context>
- <name>DarwinVPNLauncher</name>
+ <name>EIPPreferences</name>
<message>
- <location filename="../src/leap/bitmask/services/eip/vpnlaunchers.py" line="691"/>
- <source>No gateway was found!</source>
+ <location filename="../src/leap/bitmask/gui/ui/eippreferences.ui" line="14"/>
+ <source>EIP Preferences</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/eippreferences.ui" line="27"/>
+ <source>Select gateway for provider</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/eippreferences.ui" line="36"/>
+ <source>&amp;Select provider:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/eippreferences.ui" line="140"/>
+ <source>&lt;Select provider&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/eippreferences.ui" line="55"/>
+ <source>Save this provider settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/eippreferences.ui" line="62"/>
+ <source>&lt; Providers Gateway Status &gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/eippreferences.ui" line="72"/>
+ <source>Select gateway:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/eippreferences.ui" line="80"/>
+ <source>Automatic</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/eippreferences.ui" line="91"/>
+ <source>Automatic EIP start</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/eippreferences.ui" line="109"/>
+ <source>&lt;font color=&apos;green&apos;&gt;&lt;b&gt;Automatic EIP start saved!&lt;/b&gt;&lt;/font&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/eippreferences.ui" line="119"/>
+ <source>Save auto start setting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/eippreferences.ui" line="129"/>
+ <source>Enable Automatic start of EIP</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>EIPPreferencesWindow</name>
+ <message>
+ <location filename="../src/leap/bitmask/gui/eip_preferenceswindow.py" line="47"/>
+ <source>Automatic</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/eip_preferenceswindow.py" line="156"/>
+ <source>Gateway settings for provider &apos;{0}&apos; saved.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/eip_preferenceswindow.py" line="198"/>
+ <source>There was a problem with configuration files.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
- <name>EIPBootstrapper</name>
+ <name>EIPStatus</name>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/eip_status.ui" line="20"/>
+ <source>Form</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/eip_status.ui" line="31"/>
+ <source>Turn On</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/eip_status.ui" line="63"/>
+ <source>...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/eip_status.ui" line="86"/>
+ <source>Traffic is being routed in the clear</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/eip_status.ui" line="253"/>
+ <source>0.0 KB/s</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
- <name>LinuxVPNLauncher</name>
+ <name>EIPStatusWidget</name>
+ <message>
+ <location filename="../src/leap/bitmask/gui/eip_status.py" line="191"/>
+ <source>All services are OFF</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/eip_status.py" line="197"/>
+ <source>Encrypted Internet: {0}</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/eip_status.py" line="249"/>
+ <source>You must login to use Encrypted Internet</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/eip_status.py" line="300"/>
+ <source>Turn OFF</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/eip_status.py" line="314"/>
+ <source>Turn ON</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/eip_status.py" line="321"/>
+ <source>Traffic is being routed in the clear</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/eip_status.py" line="378"/>
+ <source>Authenticating...</source>
+ <translation type="unfinished"></translation>
+ </message>
<message>
- <location filename="../src/leap/bitmask/services/eip/vpnlaunchers.py" line="435"/>
- <source>No gateway was found!</source>
+ <location filename="../src/leap/bitmask/gui/eip_status.py" line="380"/>
+ <source>Retrieving configuration...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/eip_status.py" line="382"/>
+ <source>Waiting to start...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/eip_status.py" line="384"/>
+ <source>Assigning IP</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/eip_status.py" line="386"/>
+ <source>Reconnecting...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/eip_status.py" line="395"/>
+ <source>Unable to start VPN, it&apos;s already running.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/eip_status.py" line="418"/>
+ <source>Encrypted Internet: OFF</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/eip_status.py" line="423"/>
+ <source>Encrypted Internet: Starting...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/eip_status.py" line="425"/>
+ <source>Encrypted Internet: ON</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/eip_status.py" line="437"/>
+ <source>Route traffic through: {0}</source>
<translation type="unfinished"></translation>
</message>
</context>
@@ -75,517 +248,567 @@
<context>
<name>LoginWidget</name>
<message>
- <location filename="../src/leap/bitmask/gui/ui/login.ui" line="14"/>
+ <location filename="../src/leap/bitmask/gui/ui/login.ui" line="26"/>
<source>Form</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/ui/login.ui" line="49"/>
- <source>Create a new account</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/leap/bitmask/gui/ui/login.ui" line="56"/>
+ <location filename="../src/leap/bitmask/gui/ui/login.ui" line="75"/>
<source>&lt;b&gt;Provider:&lt;/b&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/ui/login.ui" line="76"/>
+ <location filename="../src/leap/bitmask/gui/ui/login.ui" line="94"/>
<source>Remember username and password</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/ui/login.ui" line="83"/>
+ <location filename="../src/leap/bitmask/gui/ui/login.ui" line="119"/>
<source>&lt;b&gt;Username:&lt;/b&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/ui/login.ui" line="93"/>
+ <location filename="../src/leap/bitmask/gui/ui/login.ui" line="132"/>
<source>&lt;b&gt;Password:&lt;/b&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/login.py" line="217"/>
+ <location filename="../src/leap/bitmask/gui/login.py" line="234"/>
<source>Log In</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/login.py" line="107"/>
+ <location filename="../src/leap/bitmask/gui/login.py" line="121"/>
<source>Other...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/login.py" line="213"/>
+ <location filename="../src/leap/bitmask/gui/login.py" line="229"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/login.ui" line="250"/>
+ <source>...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/login.py" line="366"/>
+ <source>Logout</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/login.py" line="283"/>
+ <source>Please select a valid provider</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/login.py" line="288"/>
+ <source>Please provide a valid username</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/login.py" line="293"/>
+ <source>Please provide a valid password</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/login.py" line="296"/>
+ <source>Logging in...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/login.py" line="359"/>
+ <source>Loggin out...</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
- <name>MainWindow</name>
+ <name>MailStatusWidget</name>
<message>
- <location filename="../src/leap/bitmask/gui/ui/mainwindow.ui" line="62"/>
- <source>There are new updates available, please restart.</source>
+ <location filename="../src/leap/bitmask/gui/ui/mail_status.ui" line="20"/>
+ <source>Form</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/ui/mainwindow.ui" line="78"/>
- <source>More...</source>
+ <location filename="../src/leap/bitmask/gui/ui/mail_status.ui" line="47"/>
+ <source>You must login to use encrypted email.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/ui/mainwindow.ui" line="243"/>
- <source>Show Log</source>
+ <location filename="../src/leap/bitmask/gui/ui/mail_status.ui" line="79"/>
+ <source>Email</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/ui/mainwindow.ui" line="271"/>
- <source>&amp;Session</source>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="171"/>
+ <source>All services are OFF</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/mainwindow.py" line="617"/>
- <source>Help</source>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="204"/>
+ <source>There was an unexpected problem with Soledad.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/ui/mainwindow.ui" line="296"/>
- <source>&amp;Quit</source>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="418"/>
+ <source>OFF</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/ui/mainwindow.ui" line="306"/>
- <source>&amp;Help</source>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="221"/>
+ <source>Mail is OFF</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/ui/mainwindow.ui" line="311"/>
- <source>&amp;Wizard</source>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="224"/>
+ <source>You must be logged in to use encrypted email.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/ui/mainwindow.ui" line="316"/>
- <source>Show &amp;logs</source>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="228"/>
+ <source>Starting..</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/mainwindow.py" line="667"/>
- <source>Hide Main Window</source>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="229"/>
+ <source>Mail is starting</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/mainwindow.py" line="493"/>
- <source> The following components will be updated:
-%s</source>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="383"/>
+ <source>ON</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/mainwindow.py" line="496"/>
- <source>Updates available</source>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="233"/>
+ <source>Mail is ON</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/mainwindow.py" line="262"/>
- <source>Preferences</source>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="236"/>
+ <source>Mail is disabled</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/mainwindow.py" line="666"/>
- <source>Show Main Window</source>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="298"/>
+ <source>Starting...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/mainwindow.py" line="856"/>
- <source>Please select a valid provider</source>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="265"/>
+ <source>Soledad has started...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/mainwindow.py" line="861"/>
- <source>Please provide a valid username</source>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="267"/>
+ <source>Soledad is starting, please wait...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/mainwindow.py" line="866"/>
- <source>Please provide a valid Password</source>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="304"/>
+ <source>Looking for key for this user</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/mainwindow.py" line="869"/>
- <source>Logging in...</source>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="308"/>
+ <source>Found key! Starting mail...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1265"/>
- <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/bitmask/gui/mail_status.py" line="310"/>
+ <source>Generating new key, please wait...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1277"/>
- <source>We could not find &lt;b&gt;pkexec&lt;/b&gt; in your system.</source>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="312"/>
+ <source>Finished generating key!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1282"/>
- <source>We could not find openvpn binary.</source>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="314"/>
+ <source>Starting mail...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1342"/>
- <source>OFF</source>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="344"/>
+ <source>SMTP has started...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1359"/>
- <source>Starting...</source>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="350"/>
+ <source>SMTP failed to start, check the logs.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1367"/>
- <source>Not supported</source>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="387"/>
+ <source>Failed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1370"/>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="381"/>
+ <source>IMAP has started...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="387"/>
+ <source>IMAP failed to start, check the logs.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="391"/>
+ <source>%s Unread Emails</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="405"/>
+ <source>About to start, please wait...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/mail_status.py" line="412"/>
<source>Disabled</source>
<translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>MainWindow</name>
<message>
- <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1407"/>
- <source>Could not load Encrypted Internet Configuration.</source>
+ <location filename="../src/leap/bitmask/gui/ui/mainwindow.ui" line="287"/>
+ <source>There are new updates available, please restart.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1540"/>
- <source>Encrypted Internet could not be launched because you did not authenticate properly.</source>
+ <location filename="../src/leap/bitmask/gui/ui/mainwindow.ui" line="329"/>
+ <source>More...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1546"/>
- <source>Encrypted Internet finished in an unexpected manner!</source>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="637"/>
+ <source>Help</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/ui/mainwindow.ui" line="14"/>
- <source>Bitmask</source>
+ <location filename="../src/leap/bitmask/gui/ui/mainwindow.ui" line="390"/>
+ <source>&amp;Quit</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/ui/mainwindow.ui" line="291"/>
- <source>Log &amp;out</source>
+ <location filename="../src/leap/bitmask/gui/ui/mainwindow.ui" line="400"/>
+ <source>&amp;Help</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/ui/mainwindow.ui" line="301"/>
- <source>About &amp;Bitmask</source>
+ <location filename="../src/leap/bitmask/gui/ui/mainwindow.ui" line="405"/>
+ <source>&amp;Wizard</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/mainwindow.py" line="255"/>
- <source>Mail is OFF</source>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="683"/>
+ <source>Hide Main Window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/mainwindow.py" line="484"/>
- <source>The Bitmask app is ready to update, please restart the application.</source>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="537"/>
+ <source> The following components will be updated:
+%s</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/mainwindow.py" line="624"/>
- <source>Encrypted Internet is OFF</source>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="540"/>
+ <source>Updates available</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/mainwindow.py" line="729"/>
- <source>About Bitmask - %s</source>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="682"/>
+ <source>Show Main Window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/mainwindow.py" line="743"/>
- <source>Version: &lt;b&gt;%s&lt;/b&gt;&lt;br&gt;&lt;br&gt;Bitmask is the Desktop client application for the LEAP platform, supporting encrypted internet proxy, secure email, and secure chat (coming soon).&lt;br&gt;&lt;br&gt;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;br&gt;&lt;br&gt;&lt;a href=&apos;https://leap.se&apos;&gt;More about LEAP&lt;/a&gt;</source>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1326"/>
+ <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>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/mainwindow.py" line="830"/>
- <source>Unable to login: Problem with provider</source>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1338"/>
+ <source>We could not find &lt;b&gt;pkexec&lt;/b&gt; in your system.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/mainwindow.py" line="907"/>
- <source>Log in cancelled by the user.</source>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1343"/>
+ <source>We could not find openvpn binary.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1272"/>
- <source>Encrypted Internet cannot be started because the tuntap extension is not installed properly in your system.</source>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1505"/>
+ <source>Starting...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1288"/>
- <source>Another openvpn instance is already running, and could not be stopped.</source>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1513"/>
+ <source>Not supported</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1295"/>
- <source>Another openvpn instance is already running, and could not be stopped because it was not launched by Bitmask. Please stop it and try again.</source>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1516"/>
+ <source>Disabled</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1385"/>
- <source>There was a problem with the provider</source>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1549"/>
+ <source>Could not load Encrypted Internet Configuration.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1469"/>
- <source>Something went wrong with the logout.</source>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1471"/>
+ <source>Encrypted Internet could not be launched because you did not authenticate properly.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1504"/>
- <source>Unable to connect: Problem with provider</source>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1479"/>
+ <source>Encrypted Internet finished in an unexpected manner!</source>
<translation type="unfinished"></translation>
</message>
-</context>
-<context>
- <name>ProviderBootstrapper</name>
<message>
- <location filename="../src/leap/bitmask/services/eip/providerbootstrapper.py" line="121"/>
- <source>Provider certificate could not be verified</source>
+ <location filename="../src/leap/bitmask/gui/ui/mainwindow.ui" line="32"/>
+ <source>Bitmask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/services/eip/providerbootstrapper.py" line="124"/>
- <source>Provider does not support HTTPS</source>
+ <location filename="../src/leap/bitmask/gui/ui/mainwindow.ui" line="395"/>
+ <source>About &amp;Bitmask</source>
<translation type="unfinished"></translation>
</message>
-</context>
-<context>
- <name>SRPAuth</name>
<message>
- <location filename="../src/leap/bitmask/crypto/srpauth.py" line="690"/>
- <source>Succeeded</source>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="283"/>
+ <source>Mail is OFF</source>
<translation type="unfinished"></translation>
</message>
-</context>
-<context>
- <name>StatusPanel</name>
<message>
- <location filename="../src/leap/bitmask/gui/ui/statuspanel.ui" line="14"/>
- <source>Form</source>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="528"/>
+ <source>The Bitmask app is ready to update, please restart the application.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/ui/statuspanel.ui" line="23"/>
- <source>user@domain.org</source>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="745"/>
+ <source>About Bitmask - %s</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/ui/statuspanel.ui" line="326"/>
- <source>Encrypted Internet: </source>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="759"/>
+ <source>Version: &lt;b&gt;%s&lt;/b&gt;&lt;br&gt;&lt;br&gt;Bitmask is the Desktop client application for the LEAP platform, supporting encrypted internet proxy, secure email, and secure chat (coming soon).&lt;br&gt;&lt;br&gt;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;br&gt;&lt;br&gt;&lt;a href=&apos;https://leap.se&apos;&gt;More about LEAP&lt;/a&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/ui/statuspanel.ui" line="336"/>
- <source>Off</source>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="847"/>
+ <source>Unable to login: Problem with provider</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/ui/statuspanel.ui" line="365"/>
- <source>Turn On</source>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="885"/>
+ <source>Log in cancelled by the user.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/ui/statuspanel.ui" line="311"/>
- <source>...</source>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1333"/>
+ <source>Encrypted Internet cannot be started because the tuntap extension is not installed properly in your system.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/ui/statuspanel.ui" line="44"/>
- <source>0 Unread Emails</source>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1349"/>
+ <source>Another openvpn instance is already running, and could not be stopped.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/ui/statuspanel.ui" line="54"/>
- <source>Disabled</source>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1356"/>
+ <source>Another openvpn instance is already running, and could not be stopped because it was not launched by Bitmask. Please stop it and try again.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/ui/statuspanel.ui" line="67"/>
- <source>Encrypted Mail:</source>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1531"/>
+ <source>There was a problem with the provider</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/ui/statuspanel.ui" line="198"/>
- <source>0.0 KB/s</source>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1631"/>
+ <source>Something went wrong with the logout.</source>
<translation type="unfinished"></translation>
</message>
-</context>
-<context>
- <name>StatusPanelWidget</name>
<message>
- <location filename="../src/leap/bitmask/gui/statuspanel.py" line="389"/>
- <source>Turn OFF</source>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1652"/>
+ <source>Unable to connect: Problem with provider</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/statuspanel.py" line="403"/>
- <source>Turn ON</source>
+ <location filename="../src/leap/bitmask/gui/ui/mainwindow.ui" line="119"/>
+ <source>Encrypted Internet</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/statuspanel.py" line="699"/>
- <source>ON</source>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1622"/>
+ <source>Login</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/statuspanel.py" line="461"/>
- <source>Authenticating...</source>
+ <location filename="../src/leap/bitmask/gui/ui/mainwindow.ui" line="364"/>
+ <source>&amp;Bitmask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/statuspanel.py" line="463"/>
- <source>Retrieving configuration...</source>
+ <location filename="../src/leap/bitmask/gui/ui/mainwindow.ui" line="385"/>
+ <source>Preferences...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/statuspanel.py" line="465"/>
- <source>Waiting to start...</source>
+ <location filename="../src/leap/bitmask/gui/ui/mainwindow.ui" line="410"/>
+ <source>Show &amp;Log</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/statuspanel.py" line="467"/>
- <source>Assigning IP</source>
+ <location filename="../src/leap/bitmask/gui/ui/mainwindow.ui" line="415"/>
+ <source>Create a new account...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/statuspanel.py" line="478"/>
- <source>Unable to start VPN, it&apos;s already running.</source>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="272"/>
+ <source>File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/statuspanel.py" line="270"/>
- <source>All services are OFF</source>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="644"/>
+ <source>Encrypted Internet: OFF</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/statuspanel.py" line="276"/>
- <source>Encrypted Internet is {0}</source>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1407"/>
+ <source>Network is unreachable</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/statuspanel.py" line="278"/>
- <source>Mail is {0}</source>
+ <location filename="../src/leap/bitmask/gui/mainwindow.py" line="1430"/>
+ <source>EIP has stopped</source>
<translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>Preferences</name>
<message>
- <location filename="../src/leap/bitmask/gui/statuspanel.py" line="469"/>
- <source>Reconnecting...</source>
+ <location filename="../src/leap/bitmask/gui/ui/preferences.ui" line="14"/>
+ <source>Preferences</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/statuspanel.py" line="501"/>
- <source>Encrypted Internet is OFF</source>
+ <location filename="../src/leap/bitmask/gui/ui/preferences.ui" line="40"/>
+ <source>Password Change</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/statuspanel.py" line="506"/>
- <source>Encrypted Internet is STARTING</source>
+ <location filename="../src/leap/bitmask/gui/ui/preferences.ui" line="49"/>
+ <source>&amp;Current password:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/statuspanel.py" line="508"/>
- <source>Encrypted Internet is ON</source>
+ <location filename="../src/leap/bitmask/gui/ui/preferences.ui" line="66"/>
+ <source>&amp;New password:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/statuspanel.py" line="534"/>
- <source>OFF</source>
+ <location filename="../src/leap/bitmask/gui/ui/preferences.ui" line="83"/>
+ <source>&amp;Re-enter new password:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/statuspanel.py" line="536"/>
- <source>Mail is OFF</source>
+ <location filename="../src/leap/bitmask/gui/ui/preferences.ui" line="100"/>
+ <source>Change</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/statuspanel.py" line="542"/>
- <source>Mail is ON</source>
+ <location filename="../src/leap/bitmask/gui/ui/preferences.ui" line="107"/>
+ <source>&lt;Password change status&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/statuspanel.py" line="604"/>
- <source>Starting...</source>
+ <location filename="../src/leap/bitmask/gui/ui/preferences.ui" line="120"/>
+ <source>Enabled services</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/statuspanel.py" line="571"/>
- <source>Soledad has started...</source>
+ <location filename="../src/leap/bitmask/gui/ui/preferences.ui" line="126"/>
+ <source>Save this provider settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/statuspanel.py" line="573"/>
- <source>Soledad is starting, please wait...</source>
+ <location filename="../src/leap/bitmask/gui/ui/preferences.ui" line="133"/>
+ <source>Services</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/statuspanel.py" line="610"/>
- <source>Looking for key for this user</source>
+ <location filename="../src/leap/bitmask/gui/ui/preferences.ui" line="149"/>
+ <source>&lt;Select provider&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/statuspanel.py" line="614"/>
- <source>Found key! Starting mail...</source>
+ <location filename="../src/leap/bitmask/gui/ui/preferences.ui" line="157"/>
+ <source>Select provider:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/statuspanel.py" line="616"/>
- <source>Generating new key, please wait...</source>
+ <location filename="../src/leap/bitmask/gui/ui/preferences.ui" line="164"/>
+ <source>&lt; Providers Services Status &gt;</source>
<translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>PreferencesWindow</name>
<message>
- <location filename="../src/leap/bitmask/gui/statuspanel.py" line="618"/>
- <source>Finished generating key!</source>
+ <location filename="../src/leap/bitmask/gui/preferenceswindow.py" line="53"/>
+ <source>Automatic</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/statuspanel.py" line="620"/>
- <source>Starting mail...</source>
+ <location filename="../src/leap/bitmask/gui/preferenceswindow.py" line="115"/>
+ <source>Changing password...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/statuspanel.py" line="650"/>
- <source>SMTP has started...</source>
+ <location filename="../src/leap/bitmask/gui/preferenceswindow.py" line="166"/>
+ <source>Password changed successfully.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/statuspanel.py" line="656"/>
- <source>SMTP failed to start, check the logs.</source>
+ <location filename="../src/leap/bitmask/gui/preferenceswindow.py" line="181"/>
+ <source>There was a problem changing the password.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/statuspanel.py" line="693"/>
- <source>Failed</source>
+ <location filename="../src/leap/bitmask/gui/preferenceswindow.py" line="184"/>
+ <source>You did not enter a correct current password.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/statuspanel.py" line="687"/>
- <source>IMAP has started...</source>
+ <location filename="../src/leap/bitmask/gui/preferenceswindow.py" line="317"/>
+ <source>Services settings for provider &apos;{0}&apos; saved.</source>
<translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>ProviderBootstrapper</name>
<message>
- <location filename="../src/leap/bitmask/gui/statuspanel.py" line="693"/>
- <source>IMAP failed to start, check the logs.</source>
+ <location filename="../src/leap/bitmask/provider/providerbootstrapper.py" line="137"/>
+ <source>Provider certificate could not be verified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/statuspanel.py" line="697"/>
- <source>%s Unread Emails</source>
+ <location filename="../src/leap/bitmask/provider/providerbootstrapper.py" line="144"/>
+ <source>Provider does not support HTTPS</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
- <name>WindowsVPNLauncher</name>
+ <name>SRPAuth</name>
<message>
- <location filename="../src/leap/bitmask/services/eip/vpnlaunchers.py" line="871"/>
- <source>No gateway was found!</source>
+ <location filename="../src/leap/bitmask/crypto/srpauth.py" line="711"/>
+ <source>Succeeded</source>
<translation type="unfinished"></translation>
</message>
</context>
@@ -622,227 +845,227 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="143"/>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="305"/>
<source>Check</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="163"/>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="312"/>
<source>https://</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="173"/>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="153"/>
<source>Checking for a valid provider</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="179"/>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="159"/>
<source>Getting provider information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="259"/>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="239"/>
<source>Can we reach this provider?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="290"/>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="333"/>
<source>Provider Information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="293"/>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="336"/>
<source>Description of services offered by this provider</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="302"/>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="345"/>
<source>Name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="334"/>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="377"/>
<source>Desc</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="344"/>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="387"/>
<source>&lt;b&gt;Services offered:&lt;/b&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="354"/>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="397"/>
<source>services</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="374"/>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="417"/>
<source>&lt;b&gt;Enrollment policy:&lt;/b&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="384"/>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="427"/>
<source>policy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="404"/>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="447"/>
<source>&lt;b&gt;URL:&lt;/b&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="414"/>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="457"/>
<source>URL</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="421"/>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="464"/>
<source>&lt;b&gt;Description:&lt;/b&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="432"/>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="475"/>
<source>Provider setup</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="435"/>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="478"/>
<source>Gathering configuration options for this provider</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="457"/>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="500"/>
<source>We are downloading some bits that we need to establish a secure connection with the provider for the first time.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="480"/>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="523"/>
<source>Setting up provider</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="530"/>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="573"/>
<source>Getting info from the Certificate Authority</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="537"/>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="580"/>
<source>Do we trust this Certificate Authority?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="544"/>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="587"/>
<source>Establishing a trust relationship with this provider</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="603"/>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="646"/>
<source>Register new user</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="606"/>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="649"/>
<source>Register a new user with provider</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="621"/>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="664"/>
<source>&lt;b&gt;Password:&lt;/b&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="640"/>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="691"/>
<source>&lt;b&gt;Re-enter password:&lt;/b&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="650"/>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="701"/>
<source>Register</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="696"/>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="747"/>
<source>Remember my username and password</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="720"/>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="771"/>
<source>Service selection</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="723"/>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="774"/>
<source>Please select the services you would like to have</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/wizard.py" line="141"/>
+ <location filename="../src/leap/bitmask/gui/wizard.py" line="138"/>
<source>&amp;Next &gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/wizard.py" line="143"/>
+ <location filename="../src/leap/bitmask/gui/wizard.py" line="140"/>
<source>Connect</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/wizard.py" line="204"/>
+ <location filename="../src/leap/bitmask/gui/wizard.py" line="235"/>
<source>Starting registration...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/wizard.py" line="235"/>
+ <location filename="../src/leap/bitmask/gui/wizard.py" line="266"/>
<source>User %s successfully registered.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/wizard.py" line="255"/>
+ <location filename="../src/leap/bitmask/gui/wizard.py" line="286"/>
<source>Unknown error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/wizard.py" line="361"/>
+ <location filename="../src/leap/bitmask/gui/wizard.py" line="411"/>
<source>&lt;font color=&apos;red&apos;&gt;&lt;b&gt;Non-existent provider&lt;/b&gt;&lt;/font&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/wizard.py" line="379"/>
+ <location filename="../src/leap/bitmask/gui/wizard.py" line="429"/>
<source>&lt;font color=&apos;red&apos;&gt;&lt;b&gt;%s&lt;/b&gt;&lt;/font&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/wizard.py" line="407"/>
+ <location filename="../src/leap/bitmask/gui/wizard.py" line="457"/>
<source>Unable to load provider configuration</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/wizard.py" line="413"/>
+ <location filename="../src/leap/bitmask/gui/wizard.py" line="463"/>
<source>&lt;font color=&apos;red&apos;&gt;&lt;b&gt;Not a valid provider&lt;/b&gt;&lt;/font&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/wizard.py" line="479"/>
+ <location filename="../src/leap/bitmask/gui/wizard.py" line="529"/>
<source>Services by %s</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/wizard.py" line="499"/>
+ <location filename="../src/leap/bitmask/gui/wizard.py" line="549"/>
<source>Something went wrong while trying to load service %s</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/wizard.py" line="516"/>
+ <location filename="../src/leap/bitmask/gui/wizard.py" line="566"/>
<source>Gathering configuration options for %s</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/wizard.py" line="525"/>
+ <location filename="../src/leap/bitmask/gui/wizard.py" line="575"/>
<source>Description of services offered by %s</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/wizard.py" line="546"/>
+ <location filename="../src/leap/bitmask/gui/wizard.py" line="596"/>
<source>Register a new user with %s</source>
<translation type="unfinished"></translation>
</message>
@@ -857,70 +1080,85 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="186"/>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="166"/>
<source>Can we establish a secure connection?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="683"/>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="734"/>
<source>&lt;b&gt;Username:&lt;/b&gt;</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="269"/>
+ <source>Configure or select a provider</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="275"/>
+ <source>Configure new provider:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/leap/bitmask/gui/ui/wizard.ui" line="285"/>
+ <source>Use existing one:</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>__impl</name>
<message>
- <location filename="../src/leap/bitmask/crypto/srpauth.py" line="281"/>
+ <location filename="../src/leap/bitmask/crypto/srpauth.py" line="288"/>
<source>The server did not send the salt parameter</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/crypto/srpauth.py" line="285"/>
+ <location filename="../src/leap/bitmask/crypto/srpauth.py" line="292"/>
<source>The server did not send the B parameter</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/crypto/srpauth.py" line="317"/>
+ <location filename="../src/leap/bitmask/crypto/srpauth.py" line="324"/>
<source>The data sent from the server had errors</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/crypto/srpauth.py" line="339"/>
+ <location filename="../src/leap/bitmask/crypto/srpauth.py" line="346"/>
<source>Could not connect to the server</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/crypto/srpauth.py" line="365"/>
+ <location filename="../src/leap/bitmask/crypto/srpauth.py" line="372"/>
<source>Unknown error (%s)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/crypto/srpauth.py" line="396"/>
+ <location filename="../src/leap/bitmask/crypto/srpauth.py" line="403"/>
<source>Problem getting data from server</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/crypto/srpauth.py" line="422"/>
+ <location filename="../src/leap/bitmask/crypto/srpauth.py" line="429"/>
<source>Bad data from server</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/crypto/srpauth.py" line="429"/>
+ <location filename="../src/leap/bitmask/crypto/srpauth.py" line="436"/>
<source>Auth verification failed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/crypto/srpauth.py" line="437"/>
+ <location filename="../src/leap/bitmask/crypto/srpauth.py" line="444"/>
<source>Session cookie verification failed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/crypto/srpauth.py" line="272"/>
+ <location filename="../src/leap/bitmask/crypto/srpauth.py" line="279"/>
<source>There was a problem with authentication</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/crypto/srpauth.py" line="178"/>
+ <location filename="../src/leap/bitmask/crypto/srpauth.py" line="174"/>
<source>Invalid username or password.</source>
<translation type="unfinished"></translation>
</message>
@@ -928,42 +1166,42 @@
<context>
<name>msg</name>
<message>
- <location filename="../src/leap/bitmask/platform_init/initializers.py" line="91"/>
+ <location filename="../src/leap/bitmask/platform_init/initializers.py" line="93"/>
<source>Missing up/down scripts</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/platform_init/initializers.py" line="182"/>
+ <location filename="../src/leap/bitmask/platform_init/initializers.py" line="184"/>
<source>TAP Driver</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/platform_init/initializers.py" line="189"/>
+ <location filename="../src/leap/bitmask/platform_init/initializers.py" line="191"/>
<source>Encrypted Internet uses VPN, which needs a TAP device installed and none has been found. This will ask for administrative privileges.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/platform_init/initializers.py" line="308"/>
+ <location filename="../src/leap/bitmask/platform_init/initializers.py" line="310"/>
<source>TUN Driver</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/platform_init/initializers.py" line="316"/>
+ <location filename="../src/leap/bitmask/platform_init/initializers.py" line="318"/>
<source>Encrypted Internet uses VPN, which needs a kernel extension for a TUN device installed, and none has been found. This will ask for administrative privileges.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/platform_init/initializers.py" line="130"/>
+ <location filename="../src/leap/bitmask/platform_init/initializers.py" line="132"/>
<source>Problem installing files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/platform_init/initializers.py" line="131"/>
+ <location filename="../src/leap/bitmask/platform_init/initializers.py" line="133"/>
<source>Some of the files could not be copied.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/leap/bitmask/platform_init/initializers.py" line="311"/>
+ <location filename="../src/leap/bitmask/platform_init/initializers.py" line="313"/>
<source>Bitmask needs to install the necessary drivers for Encrypted Internet to work. Would you like to proceed?</source>
<translation type="unfinished"></translation>
</message>