diff --git a/.tx/config b/.tx/config
index 25f92beedac634897b5d685f606fc432dbe8d22d..dff51704c093ef69f046c1017c9acab0d519f81d 100755
--- a/.tx/config
+++ b/.tx/config
@@ -1,7 +1,7 @@
 [main]
 host = https://rest.api.transifex.com
 
-lang_map = es_AR:es-rAR, fa_IR:fa-rIR, kn_IN:kn-rIN, pt_BR:pt-rBR, pt_PT:pt-rPT, zh_CN:zh-rCN, zh_TW:zh-rTW, nb:no
+lang_map = fa_IR: fa, kn_IN: kn
 
 [o:otf:p:bitmask:r:bitmask-desktop]
 source_file = gui/i18n/base.ts
diff --git a/docs/i18n-howto.rst b/docs/i18n-howto.rst
index b2f6c895b1f7c26fa642c350d0bebb9dfce162cf..6440cac4103064e7ae08aae34ea9956415e586e2 100644
--- a/docs/i18n-howto.rst
+++ b/docs/i18n-howto.rst
@@ -23,6 +23,14 @@ If you want to add a new language you can:
   API_TOKEN='xxxxxxxxxxx' tx pull -a
 ```
 
+Sometimes language codes are not what you expect. This applies for missing languages as
+well. When you check in transifex, you can also see what is used there, for example fa_IR
+or es_AR, es or es_CU. When you want to use some language in general instead of some
+regional version you can use the mapping in the .tx/config. Examples: fa_IR maps to fa. 
+
+For this project we expect files to be like main_es_AR.ts or main_pl.ts See 
+https://doc.qt.io/QtForMCUs-2.5/qtul-cmake-getting-started.html
+
 Testing the translations
 ------------------------
 
diff --git a/gui/i18n/main_es-rAR.ts b/gui/i18n/main_es-rAR.ts
deleted file mode 100644
index 3d2ae79a66c7c3fe5a40dcb4732626ea6720c0a6..0000000000000000000000000000000000000000
--- a/gui/i18n/main_es-rAR.ts
+++ /dev/null
@@ -1,463 +0,0 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS version="2.1" language="es_AR">
-<context>
-    <name>About</name>
-    <message>
-        <location filename="../components/About.qml" line="9"/>
-        <source>About</source>
-        <translation>Acerca de</translation>
-    </message>
-    <message>
-        <location filename="../components/About.qml" line="80"/>
-        <source>&lt;p&gt;This service is paid for entirely by donations from users like you. &lt;a href=&quot;%1&quot;&gt;Please donate&lt;/a&gt;.&lt;/p&gt;</source>
-        <extracomment>donation text of the about dialog</extracomment>
-        <translation>&lt;p&gt;El costo de este servicio se paga con donaciones de usuarios como vos. &lt;a href=&quot;%1&quot;&gt;Por favor, doná&lt;/a&gt;.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../components/About.qml" line="103"/>
-        <source>%1 version: 
-%2</source>
-        <extracomment>screenshot https://0xacab.org/leap/bitmask-vpn/-/blob/main/docs/screenshots/about.png %1 -&gt; application name %2 -&gt; version string</extracomment>
-        <translation>Versión de %1:
-%2</translation>
-    </message>
-</context>
-<context>
-    <name>Footer</name>
-    <message>
-        <location filename="../components/Footer.qml" line="180"/>
-        <source>Recommended</source>
-        <translation>Recomendado</translation>
-    </message>
-</context>
-<context>
-    <name>Help</name>
-    <message>
-        <location filename="../components/Help.qml" line="7"/>
-        <source>Help</source>
-        <translation>Ayuda</translation>
-    </message>
-    <message>
-        <location filename="../components/Help.qml" line="20"/>
-        <source>Troubleshooting and support</source>
-        <translation>Resolución de problemas y soporte</translation>
-    </message>
-    <message>
-        <location filename="../components/Help.qml" line="31"/>
-        <source>Report a bug</source>
-        <translation>Reportar un fallo</translation>
-    </message>
-    <message>
-        <location filename="../components/Help.qml" line="42"/>
-        <source>How to uninstall</source>
-        <translation>Cómo desinstalar</translation>
-    </message>
-</context>
-<context>
-    <name>InitErrors</name>
-    <message>
-        <location filename="../components/InitErrors.qml" line="31"/>
-        <source>Could not find helpers. Please check your installation</source>
-        <translation>No se pudieron encontrar los programas auxiliares. Por favor, comprobá tu instalación</translation>
-    </message>
-    <message>
-        <location filename="../components/InitErrors.qml" line="44"/>
-        <source>Could not find polkit agent.</source>
-        <translation>No se pudo encontrar el agente polkit.</translation>
-    </message>
-</context>
-<context>
-    <name>Locations</name>
-    <message>
-        <location filename="../components/Locations.qml" line="21"/>
-        <source>Select Location</source>
-        <translation>Elegí la ubicación</translation>
-    </message>
-    <message>
-        <location filename="../components/Locations.qml" line="27"/>
-        <source>Automatically use best connection</source>
-        <extracomment>this is in the radio button for the auto selection</extracomment>
-        <translation>Usar la mejor conexión automáticamente</translation>
-    </message>
-    <message>
-        <location filename="../components/Locations.qml" line="29"/>
-        <source>Manually select</source>
-        <extracomment>Location Selection: label for radio buttons that selects manually</extracomment>
-        <translation>Seleccionado manualmente</translation>
-    </message>
-    <message>
-        <location filename="../components/Locations.qml" line="31"/>
-        <source>Switching gateway…</source>
-        <extracomment>A little display to signal that the clicked gateway is being switched to</extracomment>
-        <translation>Cambiando de gateway...</translation>
-    </message>
-    <message>
-        <location filename="../components/Locations.qml" line="33"/>
-        <source>Only locations with bridges</source>
-        <extracomment>Subtitle to explain that only bridge locations are shown in the selector</extracomment>
-        <translation>Sólo ubicaciones con puentes</translation>
-    </message>
-    <message>
-        <location filename="../components/Locations.qml" line="65"/>
-        <source>Recommended</source>
-        <extracomment>Location Selection: label for radio button that selects automatically</extracomment>
-        <translation>Recomendado</translation>
-    </message>
-</context>
-<context>
-    <name>MainView</name>
-    <message>
-        <location filename="../components/MainView.qml" line="43"/>
-        <location filename="../components/MainView.qml" line="66"/>
-        <source>Donate</source>
-        <translation>Donar</translation>
-    </message>
-    <message>
-        <location filename="../components/MainView.qml" line="59"/>
-        <source>Preferences</source>
-        <translation>Preferencias</translation>
-    </message>
-    <message>
-        <location filename="../components/MainView.qml" line="73"/>
-        <source>Help</source>
-        <translation>Ayuda</translation>
-    </message>
-    <message>
-        <location filename="../components/MainView.qml" line="80"/>
-        <source>About</source>
-        <translation>Acerca de</translation>
-    </message>
-    <message>
-        <location filename="../components/MainView.qml" line="87"/>
-        <source>Quit</source>
-        <translation>Quitar</translation>
-    </message>
-    <message>
-        <location filename="../components/MainView.qml" line="111"/>
-        <source>Please donate!</source>
-        <translation>¡Se agradece una donación!</translation>
-    </message>
-    <message>
-        <location filename="../components/MainView.qml" line="125"/>
-        <source>This service is paid for entirely by donations from users like you. The cost of running the VPN is approximately 5 USD per person every month, but every little bit counts. Do you want to donate now?</source>
-        <translation>Este servicio se paga por completo con donaciones de usuarios como vos. Mantener la VPN funcionando cuesta unos USD 5 por persona y por mes, pero cada monedita vale. ¿Querés hacer una donación?</translation>
-    </message>
-</context>
-<context>
-    <name>Preferences</name>
-    <message>
-        <location filename="../components/Preferences.qml" line="11"/>
-        <source>Preferences</source>
-        <translation>Preferencias</translation>
-    </message>
-    <message>
-        <location filename="../components/Preferences.qml" line="55"/>
-        <source>Turn off the VPN to make changes</source>
-        <translation>Apagá la VPN para hacer cambios</translation>
-    </message>
-    <message>
-        <location filename="../components/Preferences.qml" line="71"/>
-        <source>Language</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="../components/Preferences.qml" line="105"/>
-        <source>Censorship circumvention</source>
-        <translation>Evasión de la censura</translation>
-    </message>
-    <message>
-        <location filename="../components/Preferences.qml" line="113"/>
-        <source>These techniques can bypass censorship, but are slower. Use them only when needed.</source>
-        <translation>Estas técnicas pueden evitar la censura, pero son más lentas. Activalas sólo cuando lo necesites.</translation>
-    </message>
-    <message>
-        <location filename="../components/Preferences.qml" line="127"/>
-        <source>Use obfs4 bridges</source>
-        <translation>Usar puentes obfs4</translation>
-    </message>
-    <message>
-        <location filename="../components/Preferences.qml" line="153"/>
-        <source>Traffic is obfuscated to bypass blocks</source>
-        <translation>Ofusca el tráfico para saltar bloqueos</translation>
-    </message>
-    <message>
-        <location filename="../components/Preferences.qml" line="167"/>
-        <source>Use Snowflake</source>
-        <translation>Usar Snowflake</translation>
-    </message>
-    <message>
-        <location filename="../components/Preferences.qml" line="182"/>
-        <source>Snowflake needs Tor installed in your system</source>
-        <translation>Snowflake necesita Tor instalado en el sistema</translation>
-    </message>
-    <message>
-        <location filename="../components/Preferences.qml" line="195"/>
-        <source>Transport</source>
-        <translation>Transporte</translation>
-    </message>
-    <message>
-        <location filename="../components/Preferences.qml" line="203"/>
-        <source>UDP can make the VPN faster. It might be blocked on some networks.</source>
-        <translation>UDP puede hacer a la la VPN más rápida. Algunas redes pueden estar bloqueándolo.</translation>
-    </message>
-    <message>
-        <location filename="../components/Preferences.qml" line="216"/>
-        <source>Use UDP if available</source>
-        <translation>Usar UDP si está disponible</translation>
-    </message>
-    <message>
-        <location filename="../components/Preferences.qml" line="231"/>
-        <source>KCP might work when UDP is blocked on some networks.</source>
-        <translation type="unfinished"/>
-    </message>
-    <message>
-        <location filename="../components/Preferences.qml" line="244"/>
-        <source>Use KCP if available</source>
-        <translation type="unfinished"/>
-    </message>
-</context>
-<context>
-    <name>Splash</name>
-    <message>
-        <location filename="../components/Splash.qml" line="101"/>
-        <source>There is a newer version available. </source>
-        <translation>Hay una versión más nueva disponible.</translation>
-    </message>
-    <message>
-        <location filename="../components/Splash.qml" line="101"/>
-        <source>Make sure to &lt;a href=&quot;https://0xacab.org/leap/bitmask-vpn/-/blob/main/docs/uninstall.md&quot;&gt;uninstall&lt;/a&gt; the previous one before running the new installer.</source>
-        <translation>Por favor, &lt;a href=&quot;https://0xacab.org/leap/bitmask-vpn/-/blob/main/docs/uninstall.md&quot;&gt;desistalá&lt;/a&gt;la versión anterior antes de ejecutar el nuevo instalador.</translation>
-    </message>
-    <message>
-        <location filename="../components/Splash.qml" line="105"/>
-        <source>UPGRADE NOW</source>
-        <translation>ACTUALIZAR AHORA</translation>
-    </message>
-</context>
-<context>
-    <name>StatusBox</name>
-    <message>
-        <location filename="../components/StatusBox.qml" line="78"/>
-        <source>This can take several minutes</source>
-        <translation>Esto puede llevar varios minutos</translation>
-    </message>
-</context>
-<context>
-    <name>Systray</name>
-    <message>
-        <location filename="../components/Systray.qml" line="16"/>
-        <source>Checking status…</source>
-        <translation>Comprobando estado...</translation>
-    </message>
-    <message>
-        <location filename="../components/Systray.qml" line="36"/>
-        <source>Donate</source>
-        <translation>Donar</translation>
-    </message>
-    <message>
-        <location filename="../components/Systray.qml" line="45"/>
-        <source>Hide</source>
-        <extracomment>Part of the systray menu; show or hide the main app window</extracomment>
-        <translation>Ocultar</translation>
-    </message>
-    <message>
-        <location filename="../components/Systray.qml" line="45"/>
-        <source>Show</source>
-        <translation>Mostrar</translation>
-    </message>
-    <message>
-        <location filename="../components/Systray.qml" line="57"/>
-        <source>Quit</source>
-        <extracomment>Part of the systray menu; quits the application</extracomment>
-        <translation>Quitar</translation>
-    </message>
-    <message>
-        <location filename="../components/Systray.qml" line="74"/>
-        <source>Connect to</source>
-        <translation>Conectar a</translation>
-    </message>
-    <message>
-        <location filename="../components/Systray.qml" line="76"/>
-        <source>Connect</source>
-        <translation>Conectar</translation>
-    </message>
-    <message>
-        <location filename="../components/Systray.qml" line="79"/>
-        <source>Disconnect</source>
-        <translation>Desconectar</translation>
-    </message>
-</context>
-<context>
-    <name>VPNState</name>
-    <message>
-        <location filename="../components/VPNState.qml" line="26"/>
-        <source>Setting up</source>
-        <translation>Estableciendo</translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="51"/>
-        <location filename="../components/VPNState.qml" line="153"/>
-        <source>Connecting</source>
-        <translation>Conectando</translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="82"/>
-        <source>Unsecured
-Connection</source>
-        <translation>Conexión
-Insegura</translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="117"/>
-        <source>Secured
-Connection</source>
-        <translation>Conexión
-Segura</translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="265"/>
-        <source>%1 off</source>
-        <extracomment>%1 -&gt; application name</extracomment>
-        <translation>%1 desactivado</translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="265"/>
-        <source>off</source>
-        <translation>desactivado</translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="268"/>
-        <source>%1 on</source>
-        <extracomment>%1 -&gt; application name</extracomment>
-        <translation>%1 conectado</translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="271"/>
-        <source>Connecting to %1</source>
-        <extracomment>%1 -&gt; application name</extracomment>
-        <translation>Conectando a %1</translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="274"/>
-        <source>Stopping %1</source>
-        <extracomment>%1 -&gt; application name</extracomment>
-        <translation>Deteniendo %1</translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="277"/>
-        <source>%1 blocking internet</source>
-        <extracomment>%1 -&gt; application name</extracomment>
-        <translation>%1 bloqueando Internet</translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="284"/>
-        <source>pluggable transport connection</source>
-        <translation>conexión de transporte conectable</translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="286"/>
-        <source>connection done</source>
-        <translation>conexión realizada</translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="288"/>
-        <source>doing handshake</source>
-        <translation>haciendo negociación</translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="290"/>
-        <source>handshake done</source>
-        <translation>negociación realizada</translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="292"/>
-        <source>creating one-hop connection</source>
-        <translation>creando conexión de un salto</translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="294"/>
-        <source>requesting status</source>
-        <translation>solicitando estado</translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="296"/>
-        <source>loading status</source>
-        <translation>cargando estado</translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="298"/>
-        <source>loading keys</source>
-        <translation>cargando claves</translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="300"/>
-        <source>requesting descriptors</source>
-        <translation>solicitando descriptores</translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="302"/>
-        <source>loading descriptors</source>
-        <translation>cargando descriptores</translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="304"/>
-        <source>creating circuit</source>
-        <translation>creando circuito</translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="306"/>
-        <source>done</source>
-        <translation>hecho</translation>
-    </message>
-</context>
-<context>
-    <name>VPNSwitch</name>
-    <message>
-        <location filename="../qml/VPNSwitch.qml" line="10"/>
-        <source/>
-        <translation type="unfinished"/>
-    </message>
-</context>
-<context>
-    <name>main</name>
-    <message>
-        <location filename="../main.cpp" line="140"/>
-        <source>: a fast and secure VPN. Powered by Bitmask.</source>
-        <translation>: una VPN rápida y segura. Potenciada por Bitmask.</translation>
-    </message>
-    <message>
-        <location filename="../main.cpp" line="147"/>
-        <source>Do not show the systray icon (useful together with Gnome Shell extension, or to control VPN by other means).</source>
-        <translation>No mostrar el icono en la bandeja del sistema (útil en conjunto con las extensiones de Intérprete de Comandos de Gnome, o para controlar la VPN por otros medios).</translation>
-    </message>
-    <message>
-        <location filename="../main.cpp" line="154"/>
-        <source>Enable Web API.</source>
-        <translation>Habilitar API Web.</translation>
-    </message>
-    <message>
-        <location filename="../main.cpp" line="160"/>
-        <source>Install helpers (Linux only, requires sudo).</source>
-        <translation>Instalar programas auxiliares (sólo en Linux, requiere sudo).</translation>
-    </message>
-    <message>
-        <location filename="../main.cpp" line="166"/>
-        <source>Use obfs4 to obfuscate the traffic, if available in the provider.</source>
-        <translation>Usar obfs4 para ofuscar el tráfico, si está disponible en el proveedor.</translation>
-    </message>
-    <message>
-        <location filename="../main.cpp" line="172"/>
-        <source>Enable autostart.</source>
-        <translation>Habilitar autoarranque.</translation>
-    </message>
-    <message>
-        <location filename="../main.cpp" line="177"/>
-        <source>Web API port (default: 8080)</source>
-        <translation>Puerto para la API Web (por defecto: 8080)</translation>
-    </message>
-    <message>
-        <location filename="../main.cpp" line="180"/>
-        <source>Start the VPN, either &apos;on&apos; or &apos;off&apos;.</source>
-        <translation>Iniciar la VPN, &apos;activada&apos; o bien, &apos;deactivada&apos;.</translation>
-    </message>
-</context>
-</TS>
\ No newline at end of file
diff --git a/gui/i18n/main_es-cu.ts b/gui/i18n/main_es_CU.ts
similarity index 100%
rename from gui/i18n/main_es-cu.ts
rename to gui/i18n/main_es_CU.ts
diff --git a/gui/i18n/main_fa_IR.ts b/gui/i18n/main_fa.ts
similarity index 100%
rename from gui/i18n/main_fa_IR.ts
rename to gui/i18n/main_fa.ts
diff --git a/gui/i18n/main_pt-rBR.ts b/gui/i18n/main_pt-rBR.ts
deleted file mode 100644
index 4fa686c96ea907a80e6092cd6a1fd56e22dee6d1..0000000000000000000000000000000000000000
--- a/gui/i18n/main_pt-rBR.ts
+++ /dev/null
@@ -1,465 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS>
-<TS version="2.1" language="pt_BR">
-<context>
-    <name>About</name>
-    <message>
-        <location filename="../components/About.qml" line="9"/>
-        <source>About</source>
-        <translation>Sobre</translation>
-    </message>
-    <message>
-        <location filename="../components/About.qml" line="80"/>
-        <source>&lt;p&gt;This service is paid for entirely by donations from users like you. &lt;a href=&quot;%1&quot;&gt;Please donate&lt;/a&gt;.&lt;/p&gt;</source>
-        <extracomment>donation text of the about dialog</extracomment>
-        <translation>&lt;p&gt;Este serviço é inteiramente financiado por doações de pessoas como você. &lt;a href=&quot;%1&quot;&gt;Por favor, faça uma doação&lt;/a&gt;.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../components/About.qml" line="103"/>
-        <source>%1 version: 
-%2</source>
-        <extracomment>screenshot https://0xacab.org/leap/bitmask-vpn/-/blob/main/docs/screenshots/about.png %1 -&gt; application name %2 -&gt; version string</extracomment>
-        <translation>%1 versão:
-$2</translation>
-    </message>
-</context>
-<context>
-    <name>Footer</name>
-    <message>
-        <location filename="../components/Footer.qml" line="180"/>
-        <source>Recommended</source>
-        <translation>Recomendado</translation>
-    </message>
-</context>
-<context>
-    <name>Help</name>
-    <message>
-        <location filename="../components/Help.qml" line="7"/>
-        <source>Help</source>
-        <translation>Ajuda</translation>
-    </message>
-    <message>
-        <location filename="../components/Help.qml" line="20"/>
-        <source>Troubleshooting and support</source>
-        <translation>Resolução de problemas e suporte</translation>
-    </message>
-    <message>
-        <location filename="../components/Help.qml" line="31"/>
-        <source>Report a bug</source>
-        <translation>Reportar um bug</translation>
-    </message>
-    <message>
-        <location filename="../components/Help.qml" line="42"/>
-        <source>How to uninstall</source>
-        <translation>Como desinstalar</translation>
-    </message>
-</context>
-<context>
-    <name>InitErrors</name>
-    <message>
-        <location filename="../components/InitErrors.qml" line="31"/>
-        <source>Could not find helpers. Please check your installation</source>
-        <translation>Não foi possível encontrar &quot;helpers&quot;. Por favor, verifique sua instalação</translation>
-    </message>
-    <message>
-        <location filename="../components/InitErrors.qml" line="44"/>
-        <source>Could not find polkit agent.</source>
-        <translation>Não foi possível encontrar um agente polkit.</translation>
-    </message>
-</context>
-<context>
-    <name>Locations</name>
-    <message>
-        <location filename="../components/Locations.qml" line="21"/>
-        <source>Select Location</source>
-        <translation>Selecione um Local</translation>
-    </message>
-    <message>
-        <location filename="../components/Locations.qml" line="27"/>
-        <source>Automatically use best connection</source>
-        <extracomment>this is in the radio button for the auto selection</extracomment>
-        <translation>Use a melhor conexão automaticamente</translation>
-    </message>
-    <message>
-        <location filename="../components/Locations.qml" line="29"/>
-        <source>Manually select</source>
-        <extracomment>Location Selection: label for radio buttons that selects manually</extracomment>
-        <translation>Selecionar manualmente</translation>
-    </message>
-    <message>
-        <location filename="../components/Locations.qml" line="31"/>
-        <source>Switching gateway…</source>
-        <extracomment>A little display to signal that the clicked gateway is being switched to</extracomment>
-        <translation>Trocando gateway...</translation>
-    </message>
-    <message>
-        <location filename="../components/Locations.qml" line="33"/>
-        <source>Only locations with bridges</source>
-        <extracomment>Subtitle to explain that only bridge locations are shown in the selector</extracomment>
-        <translation>Apenas locais com bridges</translation>
-    </message>
-    <message>
-        <location filename="../components/Locations.qml" line="65"/>
-        <source>Recommended</source>
-        <extracomment>Location Selection: label for radio button that selects automatically</extracomment>
-        <translation>Recomendado</translation>
-    </message>
-</context>
-<context>
-    <name>MainView</name>
-    <message>
-        <location filename="../components/MainView.qml" line="43"/>
-        <location filename="../components/MainView.qml" line="66"/>
-        <source>Donate</source>
-        <translation>Fazer uma doação</translation>
-    </message>
-    <message>
-        <location filename="../components/MainView.qml" line="59"/>
-        <source>Preferences</source>
-        <translation>Preferências</translation>
-    </message>
-    <message>
-        <location filename="../components/MainView.qml" line="73"/>
-        <source>Help</source>
-        <translation>Ajuda</translation>
-    </message>
-    <message>
-        <location filename="../components/MainView.qml" line="80"/>
-        <source>About</source>
-        <translation>Sobre</translation>
-    </message>
-    <message>
-        <location filename="../components/MainView.qml" line="87"/>
-        <source>Quit</source>
-        <translation>Sair</translation>
-    </message>
-    <message>
-        <location filename="../components/MainView.qml" line="111"/>
-        <source>Please donate!</source>
-        <translation>Por favor, faça uma doação!</translation>
-    </message>
-    <message>
-        <location filename="../components/MainView.qml" line="125"/>
-        <source>This service is paid for entirely by donations from users like you. The cost of running the VPN is approximately 5 USD per person every month, but every little bit counts. Do you want to donate now?</source>
-        <translation>Este serviço é inteiramente financiado por doações de pessoas como você. O custo de rodar uma VPN é de aproximadamente 5 USD por pessoa todo mês, mas qualquer coisinha ajuda. Você quer doar agora?</translation>
-    </message>
-</context>
-<context>
-    <name>Preferences</name>
-    <message>
-        <location filename="../components/Preferences.qml" line="11"/>
-        <source>Preferences</source>
-        <translation>Preferências</translation>
-    </message>
-    <message>
-        <location filename="../components/Preferences.qml" line="55"/>
-        <source>Turn off the VPN to make changes</source>
-        <translation>Desligue a VPN para fazer alterações</translation>
-    </message>
-    <message>
-        <location filename="../components/Preferences.qml" line="71"/>
-        <source>Language</source>
-        <translation>Linguagem</translation>
-    </message>
-    <message>
-        <location filename="../components/Preferences.qml" line="105"/>
-        <source>Censorship circumvention</source>
-        <translation>Driblando a censura</translation>
-    </message>
-    <message>
-        <location filename="../components/Preferences.qml" line="113"/>
-        <source>These techniques can bypass censorship, but are slower. Use them only when needed.</source>
-        <translation>Estas técnicas podem driblar censura, mas são mais lentas. Use-as somente quando necessário.</translation>
-    </message>
-    <message>
-        <location filename="../components/Preferences.qml" line="127"/>
-        <source>Use obfs4 bridges</source>
-        <translation>Usar bridges obfs4</translation>
-    </message>
-    <message>
-        <location filename="../components/Preferences.qml" line="153"/>
-        <source>Traffic is obfuscated to bypass blocks</source>
-        <translation>O tráfego é ofuscado para atravessar bloqueios</translation>
-    </message>
-    <message>
-        <location filename="../components/Preferences.qml" line="167"/>
-        <source>Use Snowflake</source>
-        <translation>Usar Snowflake</translation>
-    </message>
-    <message>
-        <location filename="../components/Preferences.qml" line="182"/>
-        <source>Snowflake needs Tor installed in your system</source>
-        <translation>Snowflake precisa do Tor instalado no seu sistema</translation>
-    </message>
-    <message>
-        <location filename="../components/Preferences.qml" line="195"/>
-        <source>Transport</source>
-        <translation>Transporte</translation>
-    </message>
-    <message>
-        <location filename="../components/Preferences.qml" line="203"/>
-        <source>UDP can make the VPN faster. It might be blocked on some networks.</source>
-        <translation>UDP pode tornar a VPN mais rápida. Mas pode ser bloqueado em algumas redes.</translation>
-    </message>
-    <message>
-        <location filename="../components/Preferences.qml" line="216"/>
-        <source>Use UDP if available</source>
-        <translation>Usar UDP se possível</translation>
-    </message>
-    <message>
-        <location filename="../components/Preferences.qml" line="231"/>
-        <source>KCP might work when UDP is blocked on some networks.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../components/Preferences.qml" line="244"/>
-        <source>Use KCP if available</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>Splash</name>
-    <message>
-        <location filename="../components/Splash.qml" line="101"/>
-        <source>There is a newer version available. </source>
-        <translation>Há uma nova versão disponível.</translation>
-    </message>
-    <message>
-        <location filename="../components/Splash.qml" line="101"/>
-        <source>Make sure to &lt;a href=&quot;https://0xacab.org/leap/bitmask-vpn/-/blob/main/docs/uninstall.md&quot;&gt;uninstall&lt;/a&gt; the previous one before running the new installer.</source>
-        <translation>Tenha certeza de &lt;a href=&quot;https://0xacab.org/leap/bitmask-vpn/-/blob/main/docs/uninstall.md&quot;&gt;desinstalar&lt;/a&gt; a versão anterior antes de executar o novo instalador.</translation>
-    </message>
-    <message>
-        <location filename="../components/Splash.qml" line="105"/>
-        <source>UPGRADE NOW</source>
-        <translation>ATUALIZE AGORA</translation>
-    </message>
-</context>
-<context>
-    <name>StatusBox</name>
-    <message>
-        <location filename="../components/StatusBox.qml" line="78"/>
-        <source>This can take several minutes</source>
-        <translation>Isto pode demorar vários minutos</translation>
-    </message>
-</context>
-<context>
-    <name>Systray</name>
-    <message>
-        <location filename="../components/Systray.qml" line="16"/>
-        <source>Checking status…</source>
-        <translation>Verificando o estado...</translation>
-    </message>
-    <message>
-        <location filename="../components/Systray.qml" line="36"/>
-        <source>Donate</source>
-        <translation>Fazer uma doação</translation>
-    </message>
-    <message>
-        <location filename="../components/Systray.qml" line="45"/>
-        <source>Hide</source>
-        <extracomment>Part of the systray menu; show or hide the main app window</extracomment>
-        <translation>Esconder</translation>
-    </message>
-    <message>
-        <location filename="../components/Systray.qml" line="45"/>
-        <source>Show</source>
-        <translation>Mostrar</translation>
-    </message>
-    <message>
-        <location filename="../components/Systray.qml" line="57"/>
-        <source>Quit</source>
-        <extracomment>Part of the systray menu; quits the application</extracomment>
-        <translation>Sair</translation>
-    </message>
-    <message>
-        <location filename="../components/Systray.qml" line="74"/>
-        <source>Connect to</source>
-        <translation>Conectar a</translation>
-    </message>
-    <message>
-        <location filename="../components/Systray.qml" line="76"/>
-        <source>Connect</source>
-        <translation>Conectar</translation>
-    </message>
-    <message>
-        <location filename="../components/Systray.qml" line="79"/>
-        <source>Disconnect</source>
-        <translation>Desconectar</translation>
-    </message>
-</context>
-<context>
-    <name>VPNState</name>
-    <message>
-        <location filename="../components/VPNState.qml" line="26"/>
-        <source>Setting up</source>
-        <translation>Configurando</translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="51"/>
-        <location filename="../components/VPNState.qml" line="153"/>
-        <source>Connecting</source>
-        <translation>Conectando</translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="82"/>
-        <source>Unsecured
-Connection</source>
-        <translation>Conexão
-Insegura</translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="117"/>
-        <source>Secured
-Connection</source>
-        <translation>Conexão
-Segura</translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="265"/>
-        <source>%1 off</source>
-        <extracomment>%1 -&gt; application name</extracomment>
-        <translation>%1 desligado</translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="265"/>
-        <source>off</source>
-        <translation>desligado</translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="268"/>
-        <source>%1 on</source>
-        <extracomment>%1 -&gt; application name</extracomment>
-        <translation>%1 ligado</translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="271"/>
-        <source>Connecting to %1</source>
-        <extracomment>%1 -&gt; application name</extracomment>
-        <translation>Conectando a %1</translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="274"/>
-        <source>Stopping %1</source>
-        <extracomment>%1 -&gt; application name</extracomment>
-        <translation>Parando %1</translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="277"/>
-        <source>%1 blocking internet</source>
-        <extracomment>%1 -&gt; application name</extracomment>
-        <translation>%1 bloqueando Internet</translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="284"/>
-        <source>pluggable transport connection</source>
-        <translation>conexão de transporte plugável</translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="286"/>
-        <source>connection done</source>
-        <translation>conexão terminada</translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="288"/>
-        <source>doing handshake</source>
-        <translation>fazendo handshake</translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="290"/>
-        <source>handshake done</source>
-        <translation>handshake terminado</translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="292"/>
-        <source>creating one-hop connection</source>
-        <translation>criando conexão de um estágio</translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="294"/>
-        <source>requesting status</source>
-        <translation>solicitando estado</translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="296"/>
-        <source>loading status</source>
-        <translation>carregando estado</translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="298"/>
-        <source>loading keys</source>
-        <translation>carregando chaves</translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="300"/>
-        <source>requesting descriptors</source>
-        <translation>requisitando descritores</translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="302"/>
-        <source>loading descriptors</source>
-        <translation>carregando descritores</translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="304"/>
-        <source>creating circuit</source>
-        <translation>criando circuito</translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="306"/>
-        <source>done</source>
-        <translation>pronto</translation>
-    </message>
-</context>
-<context>
-    <name>VPNSwitch</name>
-    <message>
-        <location filename="../qml/VPNSwitch.qml" line="10"/>
-        <source></source>
-        <translation></translation>
-    </message>
-</context>
-<context>
-    <name>main</name>
-    <message>
-        <location filename="../main.cpp" line="140"/>
-        <source>: a fast and secure VPN. Powered by Bitmask.</source>
-        <translation>: uma VPN rápida e segura. Baseada em Bitmask.</translation>
-    </message>
-    <message>
-        <location filename="../main.cpp" line="147"/>
-        <source>Do not show the systray icon (useful together with Gnome Shell extension, or to control VPN by other means).</source>
-        <translation>Não mostrar ícone na bandeja (útil para uso conjunto com a extensão para Gnome Shell, ou para controlar a VPN por outros meios).</translation>
-    </message>
-    <message>
-        <location filename="../main.cpp" line="154"/>
-        <source>Enable Web API.</source>
-        <translation>Habilitar API Web.</translation>
-    </message>
-    <message>
-        <location filename="../main.cpp" line="160"/>
-        <source>Install helpers (Linux only, requires sudo).</source>
-        <translation>Instalar arquivos auxiliares (somente para Linux, requer sudo).</translation>
-    </message>
-    <message>
-        <location filename="../main.cpp" line="166"/>
-        <source>Use obfs4 to obfuscate the traffic, if available in the provider.</source>
-        <translation>Usar obfs4 para ofuscar o tráfego, caso esteja disponível no provedor.</translation>
-    </message>
-    <message>
-        <location filename="../main.cpp" line="172"/>
-        <source>Enable autostart.</source>
-        <translation>Habilitar auto inicialização.</translation>
-    </message>
-    <message>
-        <location filename="../main.cpp" line="177"/>
-        <source>Web API port (default: 8080)</source>
-        <translation>Porta para API Web (padrão: 8080)</translation>
-    </message>
-    <message>
-        <location filename="../main.cpp" line="180"/>
-        <source>Start the VPN, either &apos;on&apos; or &apos;off&apos;.</source>
-        <translation>Iniciar VPN, pode ser &apos;ligado&apos; ou &apos;desligado&apos;.</translation>
-    </message>
-</context>
-</TS>
diff --git a/gui/i18n/main_zh-rTW.ts b/gui/i18n/main_zh-rTW.ts
deleted file mode 100644
index ec209144541c0879999a1085b326a7c508178cf6..0000000000000000000000000000000000000000
--- a/gui/i18n/main_zh-rTW.ts
+++ /dev/null
@@ -1,465 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS>
-<TS version="2.1" language="zh_TW">
-<context>
-    <name>About</name>
-    <message>
-        <location filename="../components/About.qml" line="9"/>
-        <source>About</source>
-        <translation>關於</translation>
-    </message>
-    <message>
-        <location filename="../components/About.qml" line="80"/>
-        <source>&lt;p&gt;This service is paid for entirely by donations from users like you. &lt;a href=&quot;%1&quot;&gt;Please donate&lt;/a&gt;.&lt;/p&gt;</source>
-        <extracomment>donation text of the about dialog</extracomment>
-        <translation>&lt;p&gt;本服務完全依賴與您一樣的使用者共同捐助來運作。&lt;a href=&quot;%1&quot;&gt;請捐助本服務&lt;/a&gt;。&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../components/About.qml" line="103"/>
-        <source>%1 version: 
-%2</source>
-        <extracomment>screenshot https://0xacab.org/leap/bitmask-vpn/-/blob/main/docs/screenshots/about.png %1 -&gt; application name %2 -&gt; version string</extracomment>
-        <translation>%1 版本:
-%2</translation>
-    </message>
-</context>
-<context>
-    <name>Footer</name>
-    <message>
-        <location filename="../components/Footer.qml" line="180"/>
-        <source>Recommended</source>
-        <translation>(建議)</translation>
-    </message>
-</context>
-<context>
-    <name>Help</name>
-    <message>
-        <location filename="../components/Help.qml" line="7"/>
-        <source>Help</source>
-        <translation>幫助</translation>
-    </message>
-    <message>
-        <location filename="../components/Help.qml" line="20"/>
-        <source>Troubleshooting and support</source>
-        <translation>疑難排解與支援</translation>
-    </message>
-    <message>
-        <location filename="../components/Help.qml" line="31"/>
-        <source>Report a bug</source>
-        <translation>回報錯誤</translation>
-    </message>
-    <message>
-        <location filename="../components/Help.qml" line="42"/>
-        <source>How to uninstall</source>
-        <translation>如何解除安裝</translation>
-    </message>
-</context>
-<context>
-    <name>InitErrors</name>
-    <message>
-        <location filename="../components/InitErrors.qml" line="31"/>
-        <source>Could not find helpers. Please check your installation</source>
-        <translation>找不到協助程式。請檢查您的安裝</translation>
-    </message>
-    <message>
-        <location filename="../components/InitErrors.qml" line="44"/>
-        <source>Could not find polkit agent.</source>
-        <translation>找不到 polkit 代理程式。</translation>
-    </message>
-</context>
-<context>
-    <name>Locations</name>
-    <message>
-        <location filename="../components/Locations.qml" line="21"/>
-        <source>Select Location</source>
-        <translation>選擇地理位置</translation>
-    </message>
-    <message>
-        <location filename="../components/Locations.qml" line="27"/>
-        <source>Automatically use best connection</source>
-        <extracomment>this is in the radio button for the auto selection</extracomment>
-        <translation>自動使用最佳的連線</translation>
-    </message>
-    <message>
-        <location filename="../components/Locations.qml" line="29"/>
-        <source>Manually select</source>
-        <extracomment>Location Selection: label for radio buttons that selects manually</extracomment>
-        <translation>手動選擇</translation>
-    </message>
-    <message>
-        <location filename="../components/Locations.qml" line="31"/>
-        <source>Switching gateway…</source>
-        <extracomment>A little display to signal that the clicked gateway is being switched to</extracomment>
-        <translation>正在切換閘道...</translation>
-    </message>
-    <message>
-        <location filename="../components/Locations.qml" line="33"/>
-        <source>Only locations with bridges</source>
-        <extracomment>Subtitle to explain that only bridge locations are shown in the selector</extracomment>
-        <translation>只會顯示支援橋接的地理位置</translation>
-    </message>
-    <message>
-        <location filename="../components/Locations.qml" line="65"/>
-        <source>Recommended</source>
-        <extracomment>Location Selection: label for radio button that selects automatically</extracomment>
-        <translation>(建議)</translation>
-    </message>
-</context>
-<context>
-    <name>MainView</name>
-    <message>
-        <location filename="../components/MainView.qml" line="43"/>
-        <location filename="../components/MainView.qml" line="66"/>
-        <source>Donate</source>
-        <translation>捐助</translation>
-    </message>
-    <message>
-        <location filename="../components/MainView.qml" line="59"/>
-        <source>Preferences</source>
-        <translation>偏好設定</translation>
-    </message>
-    <message>
-        <location filename="../components/MainView.qml" line="73"/>
-        <source>Help</source>
-        <translation>幫助</translation>
-    </message>
-    <message>
-        <location filename="../components/MainView.qml" line="80"/>
-        <source>About</source>
-        <translation>關於</translation>
-    </message>
-    <message>
-        <location filename="../components/MainView.qml" line="87"/>
-        <source>Quit</source>
-        <translation>退出</translation>
-    </message>
-    <message>
-        <location filename="../components/MainView.qml" line="111"/>
-        <source>Please donate!</source>
-        <translation>請捐助!</translation>
-    </message>
-    <message>
-        <location filename="../components/MainView.qml" line="125"/>
-        <source>This service is paid for entirely by donations from users like you. The cost of running the VPN is approximately 5 USD per person every month, but every little bit counts. Do you want to donate now?</source>
-        <translation>本服務完全依賴與您一樣的使用者共同捐助來運作。執行 VPN 的費用大約為每人每月 5 美元,但任何一點捐助都很有幫助。請問您願意捐助嗎?</translation>
-    </message>
-</context>
-<context>
-    <name>Preferences</name>
-    <message>
-        <location filename="../components/Preferences.qml" line="11"/>
-        <source>Preferences</source>
-        <translation>偏好設定</translation>
-    </message>
-    <message>
-        <location filename="../components/Preferences.qml" line="55"/>
-        <source>Turn off the VPN to make changes</source>
-        <translation>關閉 VPN 以進行修改</translation>
-    </message>
-    <message>
-        <location filename="../components/Preferences.qml" line="71"/>
-        <source>Language</source>
-        <translation>語言</translation>
-    </message>
-    <message>
-        <location filename="../components/Preferences.qml" line="105"/>
-        <source>Censorship circumvention</source>
-        <translation>規避網路審查</translation>
-    </message>
-    <message>
-        <location filename="../components/Preferences.qml" line="113"/>
-        <source>These techniques can bypass censorship, but are slower. Use them only when needed.</source>
-        <translation>這些技術能規避網路審查,但速度較慢。請僅於需要時使用。</translation>
-    </message>
-    <message>
-        <location filename="../components/Preferences.qml" line="127"/>
-        <source>Use obfs4 bridges</source>
-        <translation>使用 obfs4 橋接</translation>
-    </message>
-    <message>
-        <location filename="../components/Preferences.qml" line="153"/>
-        <source>Traffic is obfuscated to bypass blocks</source>
-        <translation>已混淆流量以規避網路封鎖</translation>
-    </message>
-    <message>
-        <location filename="../components/Preferences.qml" line="167"/>
-        <source>Use Snowflake</source>
-        <translation>使用 Snowflake</translation>
-    </message>
-    <message>
-        <location filename="../components/Preferences.qml" line="182"/>
-        <source>Snowflake needs Tor installed in your system</source>
-        <translation>Snowflake 需要在您的系統上安裝 Tor</translation>
-    </message>
-    <message>
-        <location filename="../components/Preferences.qml" line="195"/>
-        <source>Transport</source>
-        <translation>傳輸</translation>
-    </message>
-    <message>
-        <location filename="../components/Preferences.qml" line="203"/>
-        <source>UDP can make the VPN faster. It might be blocked on some networks.</source>
-        <translation>UDP 能讓 VPN 更快速,但可能在某些網路上被封鎖。</translation>
-    </message>
-    <message>
-        <location filename="../components/Preferences.qml" line="216"/>
-        <source>Use UDP if available</source>
-        <translation>可用時使用 UDP</translation>
-    </message>
-    <message>
-        <location filename="../components/Preferences.qml" line="231"/>
-        <source>KCP might work when UDP is blocked on some networks.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../components/Preferences.qml" line="244"/>
-        <source>Use KCP if available</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>Splash</name>
-    <message>
-        <location filename="../components/Splash.qml" line="101"/>
-        <source>There is a newer version available. </source>
-        <translation>有更新版本。</translation>
-    </message>
-    <message>
-        <location filename="../components/Splash.qml" line="101"/>
-        <source>Make sure to &lt;a href=&quot;https://0xacab.org/leap/bitmask-vpn/-/blob/main/docs/uninstall.md&quot;&gt;uninstall&lt;/a&gt; the previous one before running the new installer.</source>
-        <translation>在執行新的安裝程式前,請務必 &lt;a href=&quot;https://0xacab.org/leap/bitmask-vpn/-/blob/main/docs/uninstall.md&quot;&gt;解除安裝&lt;/a&gt;。</translation>
-    </message>
-    <message>
-        <location filename="../components/Splash.qml" line="105"/>
-        <source>UPGRADE NOW</source>
-        <translation>立刻升級</translation>
-    </message>
-</context>
-<context>
-    <name>StatusBox</name>
-    <message>
-        <location filename="../components/StatusBox.qml" line="78"/>
-        <source>This can take several minutes</source>
-        <translation>這可能會花幾分鐘</translation>
-    </message>
-</context>
-<context>
-    <name>Systray</name>
-    <message>
-        <location filename="../components/Systray.qml" line="16"/>
-        <source>Checking status…</source>
-        <translation>正在檢查狀態...</translation>
-    </message>
-    <message>
-        <location filename="../components/Systray.qml" line="36"/>
-        <source>Donate</source>
-        <translation>捐助</translation>
-    </message>
-    <message>
-        <location filename="../components/Systray.qml" line="45"/>
-        <source>Hide</source>
-        <extracomment>Part of the systray menu; show or hide the main app window</extracomment>
-        <translation>隱藏</translation>
-    </message>
-    <message>
-        <location filename="../components/Systray.qml" line="45"/>
-        <source>Show</source>
-        <translation>顯示</translation>
-    </message>
-    <message>
-        <location filename="../components/Systray.qml" line="57"/>
-        <source>Quit</source>
-        <extracomment>Part of the systray menu; quits the application</extracomment>
-        <translation>退出</translation>
-    </message>
-    <message>
-        <location filename="../components/Systray.qml" line="74"/>
-        <source>Connect to</source>
-        <translation>連線到</translation>
-    </message>
-    <message>
-        <location filename="../components/Systray.qml" line="76"/>
-        <source>Connect</source>
-        <translation>連線</translation>
-    </message>
-    <message>
-        <location filename="../components/Systray.qml" line="79"/>
-        <source>Disconnect</source>
-        <translation>中斷連缐</translation>
-    </message>
-</context>
-<context>
-    <name>VPNState</name>
-    <message>
-        <location filename="../components/VPNState.qml" line="26"/>
-        <source>Setting up</source>
-        <translation>正在準備</translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="51"/>
-        <location filename="../components/VPNState.qml" line="153"/>
-        <source>Connecting</source>
-        <translation>正在連接</translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="82"/>
-        <source>Unsecured
-Connection</source>
-        <translation>不安全的
-連線</translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="117"/>
-        <source>Secured
-Connection</source>
-        <translation>安全
-連線</translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="265"/>
-        <source>%1 off</source>
-        <extracomment>%1 -&gt; application name</extracomment>
-        <translation>%1 已關閉</translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="265"/>
-        <source>off</source>
-        <translation>關</translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="268"/>
-        <source>%1 on</source>
-        <extracomment>%1 -&gt; application name</extracomment>
-        <translation>%1 已啟用</translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="271"/>
-        <source>Connecting to %1</source>
-        <extracomment>%1 -&gt; application name</extracomment>
-        <translation>正在連線到 %1</translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="274"/>
-        <source>Stopping %1</source>
-        <extracomment>%1 -&gt; application name</extracomment>
-        <translation>正在停止 %1</translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="277"/>
-        <source>%1 blocking internet</source>
-        <extracomment>%1 -&gt; application name</extracomment>
-        <translation>%1 正在封鎖網路</translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="284"/>
-        <source>pluggable transport connection</source>
-        <translation>可插拔式傳輸連線</translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="286"/>
-        <source>connection done</source>
-        <translation>連線完成</translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="288"/>
-        <source>doing handshake</source>
-        <translation>正在交握</translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="290"/>
-        <source>handshake done</source>
-        <translation>交握完成</translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="292"/>
-        <source>creating one-hop connection</source>
-        <translation>正在建立單一節點跳躍 (one-hop) 連線</translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="294"/>
-        <source>requesting status</source>
-        <translation>正在請求狀態</translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="296"/>
-        <source>loading status</source>
-        <translation>正在載入狀態</translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="298"/>
-        <source>loading keys</source>
-        <translation>正在載入金鑰</translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="300"/>
-        <source>requesting descriptors</source>
-        <translation>正在請求描述元</translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="302"/>
-        <source>loading descriptors</source>
-        <translation>正在載入描述元</translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="304"/>
-        <source>creating circuit</source>
-        <translation>正在建立迴路</translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="306"/>
-        <source>done</source>
-        <translation>完成</translation>
-    </message>
-</context>
-<context>
-    <name>VPNSwitch</name>
-    <message>
-        <location filename="../qml/VPNSwitch.qml" line="10"/>
-        <source></source>
-        <translation></translation>
-    </message>
-</context>
-<context>
-    <name>main</name>
-    <message>
-        <location filename="../main.cpp" line="140"/>
-        <source>: a fast and secure VPN. Powered by Bitmask.</source>
-        <translation>:快速而安全的 VPN。由 Bitmask 提供。</translation>
-    </message>
-    <message>
-        <location filename="../main.cpp" line="147"/>
-        <source>Do not show the systray icon (useful together with Gnome Shell extension, or to control VPN by other means).</source>
-        <translation>不要顯示工作列圖示 (適合搭配 Gnome Shell 延伸模組,或以其他方式控制 VPN 時使用)。</translation>
-    </message>
-    <message>
-        <location filename="../main.cpp" line="154"/>
-        <source>Enable Web API.</source>
-        <translation>啟用 Web API。</translation>
-    </message>
-    <message>
-        <location filename="../main.cpp" line="160"/>
-        <source>Install helpers (Linux only, requires sudo).</source>
-        <translation>安裝協助程式 (僅限 Linux,須使用 sudo)。</translation>
-    </message>
-    <message>
-        <location filename="../main.cpp" line="166"/>
-        <source>Use obfs4 to obfuscate the traffic, if available in the provider.</source>
-        <translation>如果服務提供者支援,使用 obfs4 以混淆流量。</translation>
-    </message>
-    <message>
-        <location filename="../main.cpp" line="172"/>
-        <source>Enable autostart.</source>
-        <translation>啟用自動啟動。</translation>
-    </message>
-    <message>
-        <location filename="../main.cpp" line="177"/>
-        <source>Web API port (default: 8080)</source>
-        <translation>Web API 連接埠 (預設:8080)</translation>
-    </message>
-    <message>
-        <location filename="../main.cpp" line="180"/>
-        <source>Start the VPN, either &apos;on&apos; or &apos;off&apos;.</source>
-        <translation>啟動 VPN,「開啟」或「關閉」。</translation>
-    </message>
-</context>
-</TS>