diff --git a/gui/i18n/base.ts b/gui/i18n/base.ts
index 1c9081aac379dc41dddfafabac509b5c89f89aa3..1ad77698f5804c4551e263e0096766817ab7761f 100644
--- a/gui/i18n/base.ts
+++ b/gui/i18n/base.ts
@@ -25,7 +25,7 @@
 <context>
     <name>Footer</name>
     <message>
-        <location filename="../components/Footer.qml" line="171"/>
+        <location filename="../components/Footer.qml" line="180"/>
         <source>Recommended</source>
         <translation type="unfinished"></translation>
     </message>
@@ -107,38 +107,38 @@
 <context>
     <name>MainView</name>
     <message>
-        <location filename="../components/MainView.qml" line="32"/>
-        <location filename="../components/MainView.qml" line="56"/>
+        <location filename="../components/MainView.qml" line="43"/>
+        <location filename="../components/MainView.qml" line="66"/>
         <source>Donate</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="49"/>
+        <location filename="../components/MainView.qml" line="59"/>
         <source>Preferences</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="63"/>
+        <location filename="../components/MainView.qml" line="73"/>
         <source>Help</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="70"/>
+        <location filename="../components/MainView.qml" line="80"/>
         <source>About</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="77"/>
+        <location filename="../components/MainView.qml" line="87"/>
         <source>Quit</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="104"/>
+        <location filename="../components/MainView.qml" line="111"/>
         <source>Please donate!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="118"/>
+        <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 type="unfinished"></translation>
     </message>
@@ -151,75 +151,85 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="54"/>
+        <location filename="../components/Preferences.qml" line="55"/>
         <source>Turn off the VPN to make changes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="69"/>
+        <location filename="../components/Preferences.qml" line="71"/>
         <source>Language</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="102"/>
+        <location filename="../components/Preferences.qml" line="105"/>
         <source>Censorship circumvention</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="110"/>
+        <location filename="../components/Preferences.qml" line="113"/>
         <source>These techniques can bypass censorship, but are slower. Use them only when needed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="124"/>
+        <location filename="../components/Preferences.qml" line="127"/>
         <source>Use obfs4 bridges</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="150"/>
+        <location filename="../components/Preferences.qml" line="153"/>
         <source>Traffic is obfuscated to bypass blocks</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="164"/>
+        <location filename="../components/Preferences.qml" line="167"/>
         <source>Use Snowflake</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="179"/>
+        <location filename="../components/Preferences.qml" line="182"/>
         <source>Snowflake needs Tor installed in your system</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="192"/>
+        <location filename="../components/Preferences.qml" line="195"/>
         <source>Transport</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="200"/>
+        <location filename="../components/Preferences.qml" line="203"/>
         <source>UDP can make the VPN faster. It might be blocked on some networks.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="213"/>
+        <location filename="../components/Preferences.qml" line="216"/>
         <source>Use UDP if available</source>
         <translation type="unfinished"></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="100"/>
+        <location filename="../components/Splash.qml" line="101"/>
         <source>There is a newer version available. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Splash.qml" line="100"/>
+        <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 type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Splash.qml" line="104"/>
+        <location filename="../components/Splash.qml" line="105"/>
         <source>UPGRADE NOW</source>
         <translation type="unfinished"></translation>
     </message>
@@ -227,7 +237,7 @@
 <context>
     <name>StatusBox</name>
     <message>
-        <location filename="../components/StatusBox.qml" line="91"/>
+        <location filename="../components/StatusBox.qml" line="78"/>
         <source>This can take several minutes</source>
         <translation type="unfinished"></translation>
     </message>
@@ -280,135 +290,120 @@
 <context>
     <name>VPNState</name>
     <message>
-        <location filename="../components/VPNState.qml" line="27"/>
+        <location filename="../components/VPNState.qml" line="26"/>
         <source>Setting up</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="52"/>
-        <location filename="../components/VPNState.qml" line="156"/>
+        <location filename="../components/VPNState.qml" line="51"/>
+        <location filename="../components/VPNState.qml" line="153"/>
         <source>Connecting</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="85"/>
+        <location filename="../components/VPNState.qml" line="82"/>
         <source>Unsecured
 Connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="100"/>
-        <source>Turn on</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="120"/>
+        <location filename="../components/VPNState.qml" line="117"/>
         <source>Secured
 Connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="135"/>
-        <source>Turn off</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="172"/>
-        <source>Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../components/VPNState.qml" line="256"/>
+        <location filename="../components/VPNState.qml" line="265"/>
         <source>%1 off</source>
         <extracomment>%1 -&gt; application name</extracomment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="256"/>
+        <location filename="../components/VPNState.qml" line="265"/>
         <source>off</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="259"/>
+        <location filename="../components/VPNState.qml" line="268"/>
         <source>%1 on</source>
         <extracomment>%1 -&gt; application name</extracomment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="262"/>
+        <location filename="../components/VPNState.qml" line="271"/>
         <source>Connecting to %1</source>
         <extracomment>%1 -&gt; application name</extracomment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="265"/>
+        <location filename="../components/VPNState.qml" line="274"/>
         <source>Stopping %1</source>
         <extracomment>%1 -&gt; application name</extracomment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="268"/>
+        <location filename="../components/VPNState.qml" line="277"/>
         <source>%1 blocking internet</source>
         <extracomment>%1 -&gt; application name</extracomment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="276"/>
+        <location filename="../components/VPNState.qml" line="284"/>
         <source>pluggable transport connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="278"/>
+        <location filename="../components/VPNState.qml" line="286"/>
         <source>connection done</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="280"/>
+        <location filename="../components/VPNState.qml" line="288"/>
         <source>doing handshake</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="282"/>
+        <location filename="../components/VPNState.qml" line="290"/>
         <source>handshake done</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="284"/>
+        <location filename="../components/VPNState.qml" line="292"/>
         <source>creating one-hop connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="286"/>
+        <location filename="../components/VPNState.qml" line="294"/>
         <source>requesting status</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="288"/>
+        <location filename="../components/VPNState.qml" line="296"/>
         <source>loading status</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="290"/>
+        <location filename="../components/VPNState.qml" line="298"/>
         <source>loading keys</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="292"/>
+        <location filename="../components/VPNState.qml" line="300"/>
         <source>requesting descriptors</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="294"/>
+        <location filename="../components/VPNState.qml" line="302"/>
         <source>loading descriptors</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="296"/>
+        <location filename="../components/VPNState.qml" line="304"/>
         <source>creating circuit</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="298"/>
+        <location filename="../components/VPNState.qml" line="306"/>
         <source>done</source>
         <translation type="unfinished"></translation>
     </message>
@@ -424,42 +419,42 @@ Connection</source>
 <context>
     <name>main</name>
     <message>
-        <location filename="../main.cpp" line="144"/>
+        <location filename="../main.cpp" line="140"/>
         <source>: a fast and secure VPN. Powered by Bitmask.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="151"/>
+        <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 type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="158"/>
+        <location filename="../main.cpp" line="154"/>
         <source>Enable Web API.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="164"/>
+        <location filename="../main.cpp" line="160"/>
         <source>Install helpers (Linux only, requires sudo).</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="170"/>
+        <location filename="../main.cpp" line="166"/>
         <source>Use obfs4 to obfuscate the traffic, if available in the provider.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="176"/>
+        <location filename="../main.cpp" line="172"/>
         <source>Enable autostart.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="181"/>
+        <location filename="../main.cpp" line="177"/>
         <source>Web API port (default: 8080)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="184"/>
+        <location filename="../main.cpp" line="180"/>
         <source>Start the VPN, either &apos;on&apos; or &apos;off&apos;.</source>
         <translation type="unfinished"></translation>
     </message>
diff --git a/gui/i18n/main_ar.ts b/gui/i18n/main_ar.ts
new file mode 100644
index 0000000000000000000000000000000000000000..be9de2423375462e7710e053e3c95ca50a3f3d3b
--- /dev/null
+++ b/gui/i18n/main_ar.ts
@@ -0,0 +1,477 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="ar">
+<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;/p&gt;من فضلك تبرع.&lt;/a&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>هذه الخدمة يتم دفع تكلفتها بالكامل عبر تبرعات المستخدمين مثلك. تكلفة تشغيل الخدمة تقريبًا 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 يمكنه جعل اتصالك بالشبكة الخاصّة الافتراضية أسرع. يمكن أن يكون البروتوكول محظورًا على بعض الشبكات.</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>
+        <source>Turn on</source>
+        <translation type="vanished">تشغيل</translation>
+    </message>
+    <message>
+        <location filename="../components/VPNState.qml" line="117"/>
+        <source>Secured
+Connection</source>
+        <translation>اتصال
+آمن</translation>
+    </message>
+    <message>
+        <source>Turn off</source>
+        <translation type="vanished">إغلاق</translation>
+    </message>
+    <message>
+        <source>Cancel</source>
+        <translation type="vanished">ألغِ</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>إنشاء اتصال أُحادي القفزة</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>: شبكة خاصّة افتراضية سريعة وآمنة. يجري تشغيلها بواسطة 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>لا تظهر أيقونة systray (مفيدة مع امتداد صدفة Gnome، أو للتحكم في الشبكة الخاصّة الافتراضية بوسائل أخرى).</translation>
+    </message>
+    <message>
+        <location filename="../main.cpp" line="154"/>
+        <source>Enable Web API.</source>
+        <translation>تفعيل واجهة برمجة التطبيقات للويب.</translation>
+    </message>
+    <message>
+        <location filename="../main.cpp" line="160"/>
+        <source>Install helpers (Linux only, requires sudo).</source>
+        <translation>تثبيت مساعدين (لنظام لينكس فقط، يتطلب صلاحية المسئول).</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>منفذ واجهة برمجة التطبيقات للويب (الافتراضي: 8080)</translation>
+    </message>
+    <message>
+        <location filename="../main.cpp" line="180"/>
+        <source>Start the VPN, either &apos;on&apos; or &apos;off&apos;.</source>
+        <translation>بِدأ تشغيل الشبكة الخاصّة الافتراضية، إما &apos;تشغيل&apos; أو &apos;إيقاف&apos;.</translation>
+    </message>
+</context>
+</TS>
diff --git a/gui/i18n/main_de.ts b/gui/i18n/main_de.ts
index 50705c909e55a13be9ac572a7b703364ca1026e7..189ca0e3a9c21ebc2008a9029ba55e0898293e02 100644
--- a/gui/i18n/main_de.ts
+++ b/gui/i18n/main_de.ts
@@ -26,7 +26,7 @@
 <context>
     <name>Footer</name>
     <message>
-        <location filename="../components/Footer.qml" line="171"/>
+        <location filename="../components/Footer.qml" line="180"/>
         <source>Recommended</source>
         <translation>Empfohlen</translation>
     </message>
@@ -108,38 +108,38 @@
 <context>
     <name>MainView</name>
     <message>
-        <location filename="../components/MainView.qml" line="32"/>
-        <location filename="../components/MainView.qml" line="56"/>
+        <location filename="../components/MainView.qml" line="43"/>
+        <location filename="../components/MainView.qml" line="66"/>
         <source>Donate</source>
         <translation>Spenden</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="49"/>
+        <location filename="../components/MainView.qml" line="59"/>
         <source>Preferences</source>
         <translation>Einstellungen</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="63"/>
+        <location filename="../components/MainView.qml" line="73"/>
         <source>Help</source>
         <translation>Hilfe</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="70"/>
+        <location filename="../components/MainView.qml" line="80"/>
         <source>About</source>
         <translation>Über</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="77"/>
+        <location filename="../components/MainView.qml" line="87"/>
         <source>Quit</source>
         <translation>Beenden</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="104"/>
+        <location filename="../components/MainView.qml" line="111"/>
         <source>Please donate!</source>
         <translation>Bitte spende!</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="118"/>
+        <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>Dieser Service wird ausschließlich von Nutzer:innen wie dir finanziert. Die Kosten zum Betrieb des VPNs beträgt durchschnittlich 5 USD pro Person jeden Monat, aber jeder kleiner Beitrag hilft. Möchtest du jetzt spenden?</translation>
     </message>
@@ -152,75 +152,85 @@
         <translation>Einstellungen</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="54"/>
+        <location filename="../components/Preferences.qml" line="55"/>
         <source>Turn off the VPN to make changes</source>
         <translation>Schalte das VPN aus, um Änderungen vornehmen zu können. </translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="69"/>
+        <location filename="../components/Preferences.qml" line="71"/>
         <source>Language</source>
         <translation>Sprache</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="102"/>
+        <location filename="../components/Preferences.qml" line="105"/>
         <source>Censorship circumvention</source>
         <translation>Umgehung von Zensur</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="110"/>
+        <location filename="../components/Preferences.qml" line="113"/>
         <source>These techniques can bypass censorship, but are slower. Use them only when needed.</source>
         <translation>Diese Techniken können Zensur umgehen, sind jedoch langsamer. Nutze sie nur, wenn es nötig ist.</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="124"/>
+        <location filename="../components/Preferences.qml" line="127"/>
         <source>Use obfs4 bridges</source>
         <translation>Benutze obfs4 Brücken</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="150"/>
+        <location filename="../components/Preferences.qml" line="153"/>
         <source>Traffic is obfuscated to bypass blocks</source>
         <translation>Verkehr ist verschleiert, um Blockaden zu umgehen</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="164"/>
+        <location filename="../components/Preferences.qml" line="167"/>
         <source>Use Snowflake</source>
         <translation>Snowflake verwenden</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="179"/>
+        <location filename="../components/Preferences.qml" line="182"/>
         <source>Snowflake needs Tor installed in your system</source>
         <translation>Snowflake erfordert eine Tor-Installation in Ihrem System  </translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="192"/>
+        <location filename="../components/Preferences.qml" line="195"/>
         <source>Transport</source>
         <translation>Übertragungen</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="200"/>
+        <location filename="../components/Preferences.qml" line="203"/>
         <source>UDP can make the VPN faster. It might be blocked on some networks.</source>
         <translation>UDP kann das VPN schneller machen. In manchen Netzwerken wird es geblockt. </translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="213"/>
+        <location filename="../components/Preferences.qml" line="216"/>
         <source>Use UDP if available</source>
         <translation>Nutze UDP, falls verfügbar</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="100"/>
+        <location filename="../components/Splash.qml" line="101"/>
         <source>There is a newer version available. </source>
         <translation>Es ist eine neuere Version verfügbar.</translation>
     </message>
     <message>
-        <location filename="../components/Splash.qml" line="100"/>
+        <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>Stelle sicher, dass du die vorherige Version &lt;a href=&quot;https://0xacab.org/leap/bitmask-vpn/-/blob/main/docs/uninstall.md&quot;&gt;deinstallierst&lt;/a&gt;, bevor du das neue Installationsprogramm ausführst.</translation>
     </message>
     <message>
-        <location filename="../components/Splash.qml" line="104"/>
+        <location filename="../components/Splash.qml" line="105"/>
         <source>UPGRADE NOW</source>
         <translation>JETZT AKTUALISIEREN</translation>
     </message>
@@ -228,7 +238,7 @@
 <context>
     <name>StatusBox</name>
     <message>
-        <location filename="../components/StatusBox.qml" line="91"/>
+        <location filename="../components/StatusBox.qml" line="78"/>
         <source>This can take several minutes</source>
         <translation>Dies kann einige Minuten in Anspruch nehmen</translation>
     </message>
@@ -281,137 +291,134 @@
 <context>
     <name>VPNState</name>
     <message>
-        <location filename="../components/VPNState.qml" line="27"/>
+        <location filename="../components/VPNState.qml" line="26"/>
         <source>Setting up</source>
         <translation>Einrichtung</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="52"/>
-        <location filename="../components/VPNState.qml" line="156"/>
+        <location filename="../components/VPNState.qml" line="51"/>
+        <location filename="../components/VPNState.qml" line="153"/>
         <source>Connecting</source>
         <translation>Verbinde</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="85"/>
+        <location filename="../components/VPNState.qml" line="82"/>
         <source>Unsecured
 Connection</source>
         <translation>Ungesicherte
 Verbindung</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="100"/>
         <source>Turn on</source>
-        <translation>Einschalten</translation>
+        <translation type="vanished">Einschalten</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="120"/>
+        <location filename="../components/VPNState.qml" line="117"/>
         <source>Secured
 Connection</source>
         <translation>Gesicherte
 Verbindung</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="135"/>
         <source>Turn off</source>
-        <translation>Ausschalten</translation>
+        <translation type="vanished">Ausschalten</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="172"/>
         <source>Cancel</source>
-        <translation>Abbrechen</translation>
+        <translation type="vanished">Abbrechen</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="256"/>
+        <location filename="../components/VPNState.qml" line="265"/>
         <source>%1 off</source>
         <extracomment>%1 -&gt; application name</extracomment>
         <translation>%1 aus</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="256"/>
+        <location filename="../components/VPNState.qml" line="265"/>
         <source>off</source>
         <translation>aus</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="259"/>
+        <location filename="../components/VPNState.qml" line="268"/>
         <source>%1 on</source>
         <extracomment>%1 -&gt; application name</extracomment>
         <translation>%1 an</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="262"/>
+        <location filename="../components/VPNState.qml" line="271"/>
         <source>Connecting to %1</source>
         <extracomment>%1 -&gt; application name</extracomment>
         <translation>Verbinde mit %1</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="265"/>
+        <location filename="../components/VPNState.qml" line="274"/>
         <source>Stopping %1</source>
         <extracomment>%1 -&gt; application name</extracomment>
         <translation>Stoppe %1</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="268"/>
+        <location filename="../components/VPNState.qml" line="277"/>
         <source>%1 blocking internet</source>
         <extracomment>%1 -&gt; application name</extracomment>
         <translation>%1 blockiert Internet</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="276"/>
+        <location filename="../components/VPNState.qml" line="284"/>
         <source>pluggable transport connection</source>
         <translation>Austauschbare Übertragungsverbindung</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="278"/>
+        <location filename="../components/VPNState.qml" line="286"/>
         <source>connection done</source>
         <translation>Verbindung hergestellt</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="280"/>
+        <location filename="../components/VPNState.qml" line="288"/>
         <source>doing handshake</source>
         <translation>Handshake wird durchgeführt</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="282"/>
+        <location filename="../components/VPNState.qml" line="290"/>
         <source>handshake done</source>
         <translation>Handshake durchgeführt</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="284"/>
+        <location filename="../components/VPNState.qml" line="292"/>
         <source>creating one-hop connection</source>
         <translation>One-hop Verbindung wird erstellt</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="286"/>
+        <location filename="../components/VPNState.qml" line="294"/>
         <source>requesting status</source>
         <translation>Status wird abgefragt</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="288"/>
+        <location filename="../components/VPNState.qml" line="296"/>
         <source>loading status</source>
         <translation>Status wird geladen</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="290"/>
+        <location filename="../components/VPNState.qml" line="298"/>
         <source>loading keys</source>
         <translation>Schlüssel werden geladen</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="292"/>
+        <location filename="../components/VPNState.qml" line="300"/>
         <source>requesting descriptors</source>
         <translation>Deskriptoren werden abgefragt</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="294"/>
+        <location filename="../components/VPNState.qml" line="302"/>
         <source>loading descriptors</source>
         <translation>Deskriptoren werden geladen</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="296"/>
+        <location filename="../components/VPNState.qml" line="304"/>
         <source>creating circuit</source>
         <translation>Kreislauf wird erstellt</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="298"/>
+        <location filename="../components/VPNState.qml" line="306"/>
         <source>done</source>
         <translation>abgeschlossen</translation>
     </message>
@@ -427,42 +434,42 @@ Verbindung</translation>
 <context>
     <name>main</name>
     <message>
-        <location filename="../main.cpp" line="144"/>
+        <location filename="../main.cpp" line="140"/>
         <source>: a fast and secure VPN. Powered by Bitmask.</source>
         <translation>: ein schnelles und sicheres VPN. Unterstützt von Bitmask.</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="151"/>
+        <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>Zeige nicht das Systray Icon an (nützlich in Verbindung mit Gnome Shell extension oder um das VPN mit anderen Mitteln zu steuern).</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="158"/>
+        <location filename="../main.cpp" line="154"/>
         <source>Enable Web API.</source>
         <translation>Web API aktivieren.</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="164"/>
+        <location filename="../main.cpp" line="160"/>
         <source>Install helpers (Linux only, requires sudo).</source>
         <translation>Installiere Helfer (Nur für Linux, benötigt sudo).</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="170"/>
+        <location filename="../main.cpp" line="166"/>
         <source>Use obfs4 to obfuscate the traffic, if available in the provider.</source>
         <translation>Verwende obfs4, um den Datenverkehr zu verschleiern, sofern der Provider dies anbietet.</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="176"/>
+        <location filename="../main.cpp" line="172"/>
         <source>Enable autostart.</source>
         <translation>Autostart wird aktiviert.</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="181"/>
+        <location filename="../main.cpp" line="177"/>
         <source>Web API port (default: 8080)</source>
         <translation>Web API Port (standardmäßig: 8080)</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="184"/>
+        <location filename="../main.cpp" line="180"/>
         <source>Start the VPN, either &apos;on&apos; or &apos;off&apos;.</source>
         <translation>Starte das VPN, entweder &apos;an&apos; oder &apos;aus&apos;.</translation>
     </message>
diff --git a/gui/i18n/main_el.ts b/gui/i18n/main_el.ts
index 10439796c086e092da85e48b8eaa62b15c537f69..5f97a2f081ebc054c0801e88be4be23e0e751e98 100644
--- a/gui/i18n/main_el.ts
+++ b/gui/i18n/main_el.ts
@@ -26,7 +26,7 @@
 <context>
     <name>Footer</name>
     <message>
-        <location filename="../components/Footer.qml" line="171"/>
+        <location filename="../components/Footer.qml" line="180"/>
         <source>Recommended</source>
         <translation>Προτεινόμενη</translation>
     </message>
@@ -108,38 +108,38 @@
 <context>
     <name>MainView</name>
     <message>
-        <location filename="../components/MainView.qml" line="32"/>
-        <location filename="../components/MainView.qml" line="56"/>
+        <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="49"/>
+        <location filename="../components/MainView.qml" line="59"/>
         <source>Preferences</source>
         <translation>Προτιμήσεις</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="63"/>
+        <location filename="../components/MainView.qml" line="73"/>
         <source>Help</source>
         <translation>Βοήθεια</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="70"/>
+        <location filename="../components/MainView.qml" line="80"/>
         <source>About</source>
         <translation>Σχετικά</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="77"/>
+        <location filename="../components/MainView.qml" line="87"/>
         <source>Quit</source>
         <translation>Έξοδος</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="104"/>
+        <location filename="../components/MainView.qml" line="111"/>
         <source>Please donate!</source>
         <translation>Παρακαλώ κάνε μια δωρεά!</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="118"/>
+        <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>Τα έξοδα αυτής της υπηρεσίας καλύπτονται εξ&apos; ολοκλήρου από δωρεές χρηστών σαν κι εσένα. Το λειτουργικό κόστος του VPN είναι περίπου 5 δολάρια (ΗΠΑ) ανά άτομο ανά μήνα, αλλά ακόμα και μικρότερα ποσά μας βοηθούν. Θα ήθελες να κάνεις μια δωρεά τώρα;</translation>
     </message>
@@ -152,75 +152,85 @@
         <translation>Προτιμήσεις</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="54"/>
+        <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="69"/>
+        <location filename="../components/Preferences.qml" line="71"/>
         <source>Language</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="102"/>
+        <location filename="../components/Preferences.qml" line="105"/>
         <source>Censorship circumvention</source>
         <translation>Παράκαμψη λογοκρισίας</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="110"/>
+        <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="124"/>
+        <location filename="../components/Preferences.qml" line="127"/>
         <source>Use obfs4 bridges</source>
         <translation>Χρήση γεφυρών obfs4</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="150"/>
+        <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="164"/>
+        <location filename="../components/Preferences.qml" line="167"/>
         <source>Use Snowflake</source>
         <translation>Χρήση Snowflake</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="179"/>
+        <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="192"/>
+        <location filename="../components/Preferences.qml" line="195"/>
         <source>Transport</source>
         <translation>Μεταφορά</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="200"/>
+        <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="213"/>
+        <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="100"/>
+        <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="100"/>
+        <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="104"/>
+        <location filename="../components/Splash.qml" line="105"/>
         <source>UPGRADE NOW</source>
         <translation>ΑΝΑΒΑΘΜΙΣΗ ΤΩΡΑ</translation>
     </message>
@@ -228,7 +238,7 @@
 <context>
     <name>StatusBox</name>
     <message>
-        <location filename="../components/StatusBox.qml" line="91"/>
+        <location filename="../components/StatusBox.qml" line="78"/>
         <source>This can take several minutes</source>
         <translation type="unfinished"></translation>
     </message>
@@ -281,137 +291,134 @@
 <context>
     <name>VPNState</name>
     <message>
-        <location filename="../components/VPNState.qml" line="27"/>
+        <location filename="../components/VPNState.qml" line="26"/>
         <source>Setting up</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="52"/>
-        <location filename="../components/VPNState.qml" line="156"/>
+        <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="85"/>
+        <location filename="../components/VPNState.qml" line="82"/>
         <source>Unsecured
 Connection</source>
         <translation>Μη ασφαλής
 σύνδεση</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="100"/>
         <source>Turn on</source>
-        <translation>Ενεργοποίηση</translation>
+        <translation type="vanished">Ενεργοποίηση</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="120"/>
+        <location filename="../components/VPNState.qml" line="117"/>
         <source>Secured
 Connection</source>
         <translation>Ασφαλής
 σύνδεση</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="135"/>
         <source>Turn off</source>
-        <translation>Απενεργοποίηση</translation>
+        <translation type="vanished">Απενεργοποίηση</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="172"/>
         <source>Cancel</source>
-        <translation>Ακύρωση</translation>
+        <translation type="vanished">Ακύρωση</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="256"/>
+        <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="256"/>
+        <location filename="../components/VPNState.qml" line="265"/>
         <source>off</source>
         <translation>ανενεργό</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="259"/>
+        <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="262"/>
+        <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="265"/>
+        <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="268"/>
+        <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="276"/>
+        <location filename="../components/VPNState.qml" line="284"/>
         <source>pluggable transport connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="278"/>
+        <location filename="../components/VPNState.qml" line="286"/>
         <source>connection done</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="280"/>
+        <location filename="../components/VPNState.qml" line="288"/>
         <source>doing handshake</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="282"/>
+        <location filename="../components/VPNState.qml" line="290"/>
         <source>handshake done</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="284"/>
+        <location filename="../components/VPNState.qml" line="292"/>
         <source>creating one-hop connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="286"/>
+        <location filename="../components/VPNState.qml" line="294"/>
         <source>requesting status</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="288"/>
+        <location filename="../components/VPNState.qml" line="296"/>
         <source>loading status</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="290"/>
+        <location filename="../components/VPNState.qml" line="298"/>
         <source>loading keys</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="292"/>
+        <location filename="../components/VPNState.qml" line="300"/>
         <source>requesting descriptors</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="294"/>
+        <location filename="../components/VPNState.qml" line="302"/>
         <source>loading descriptors</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="296"/>
+        <location filename="../components/VPNState.qml" line="304"/>
         <source>creating circuit</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="298"/>
+        <location filename="../components/VPNState.qml" line="306"/>
         <source>done</source>
         <translation type="unfinished"></translation>
     </message>
@@ -427,32 +434,32 @@ Connection</source>
 <context>
     <name>main</name>
     <message>
-        <location filename="../main.cpp" line="144"/>
+        <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="151"/>
+        <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="158"/>
+        <location filename="../main.cpp" line="154"/>
         <source>Enable Web API.</source>
         <translation>Ενεργοποίηση Web API.</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="164"/>
+        <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="170"/>
+        <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="176"/>
+        <location filename="../main.cpp" line="172"/>
         <source>Enable autostart.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -461,12 +468,12 @@ Connection</source>
         <translation type="vanished">Απενεργοποίηση αυτόματης εκκίνησης στην επόμενη εκτέλεση.</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="181"/>
+        <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="184"/>
+        <location filename="../main.cpp" line="180"/>
         <source>Start the VPN, either &apos;on&apos; or &apos;off&apos;.</source>
         <translation>Εκκίνηση του VPN, είτε &quot;ενεργό&quot; είτε &quot;ανενεργό&quot;.</translation>
     </message>
diff --git a/gui/i18n/main_es-rAR.ts b/gui/i18n/main_es-rAR.ts
index 5307f1eb0d0e085097562988c46b3ce734a1a9e2..7e30c43911ad1e42ceac7c505a56bbb2fe37c2e8 100644
--- a/gui/i18n/main_es-rAR.ts
+++ b/gui/i18n/main_es-rAR.ts
@@ -26,7 +26,7 @@
 <context>
     <name>Footer</name>
     <message>
-        <location filename="../components/Footer.qml" line="171"/>
+        <location filename="../components/Footer.qml" line="180"/>
         <source>Recommended</source>
         <translation>Recomendado</translation>
     </message>
@@ -108,38 +108,38 @@
 <context>
     <name>MainView</name>
     <message>
-        <location filename="../components/MainView.qml" line="32"/>
-        <location filename="../components/MainView.qml" line="56"/>
+        <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="49"/>
+        <location filename="../components/MainView.qml" line="59"/>
         <source>Preferences</source>
         <translation>Preferencias</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="63"/>
+        <location filename="../components/MainView.qml" line="73"/>
         <source>Help</source>
         <translation>Ayuda</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="70"/>
+        <location filename="../components/MainView.qml" line="80"/>
         <source>About</source>
         <translation>Acerca de</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="77"/>
+        <location filename="../components/MainView.qml" line="87"/>
         <source>Quit</source>
         <translation>Quitar</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="104"/>
+        <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="118"/>
+        <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>
@@ -152,75 +152,85 @@
         <translation>Preferencias</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="54"/>
+        <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="69"/>
+        <location filename="../components/Preferences.qml" line="71"/>
         <source>Language</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="102"/>
+        <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="110"/>
+        <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="124"/>
+        <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="150"/>
+        <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="164"/>
+        <location filename="../components/Preferences.qml" line="167"/>
         <source>Use Snowflake</source>
         <translation>Usar Snowflake</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="179"/>
+        <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="192"/>
+        <location filename="../components/Preferences.qml" line="195"/>
         <source>Transport</source>
         <translation>Transporte</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="200"/>
+        <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="213"/>
+        <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"></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="100"/>
+        <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="100"/>
+        <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="104"/>
+        <location filename="../components/Splash.qml" line="105"/>
         <source>UPGRADE NOW</source>
         <translation>ACTUALIZAR AHORA</translation>
     </message>
@@ -228,7 +238,7 @@
 <context>
     <name>StatusBox</name>
     <message>
-        <location filename="../components/StatusBox.qml" line="91"/>
+        <location filename="../components/StatusBox.qml" line="78"/>
         <source>This can take several minutes</source>
         <translation>Esto puede llevar varios minutos</translation>
     </message>
@@ -281,137 +291,134 @@
 <context>
     <name>VPNState</name>
     <message>
-        <location filename="../components/VPNState.qml" line="27"/>
+        <location filename="../components/VPNState.qml" line="26"/>
         <source>Setting up</source>
         <translation>Estableciendo</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="52"/>
-        <location filename="../components/VPNState.qml" line="156"/>
+        <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="85"/>
+        <location filename="../components/VPNState.qml" line="82"/>
         <source>Unsecured
 Connection</source>
         <translation>Conexión
 Insegura</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="100"/>
         <source>Turn on</source>
-        <translation>Activar.</translation>
+        <translation type="vanished">Activar.</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="120"/>
+        <location filename="../components/VPNState.qml" line="117"/>
         <source>Secured
 Connection</source>
         <translation>Conexión
 Segura</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="135"/>
         <source>Turn off</source>
-        <translation>Desactivar.</translation>
+        <translation type="vanished">Desactivar.</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="172"/>
         <source>Cancel</source>
-        <translation>Cancelar</translation>
+        <translation type="vanished">Cancelar</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="256"/>
+        <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="256"/>
+        <location filename="../components/VPNState.qml" line="265"/>
         <source>off</source>
         <translation>desactivado</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="259"/>
+        <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="262"/>
+        <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="265"/>
+        <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="268"/>
+        <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="276"/>
+        <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="278"/>
+        <location filename="../components/VPNState.qml" line="286"/>
         <source>connection done</source>
         <translation>conexión realizada</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="280"/>
+        <location filename="../components/VPNState.qml" line="288"/>
         <source>doing handshake</source>
         <translation>haciendo negociación</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="282"/>
+        <location filename="../components/VPNState.qml" line="290"/>
         <source>handshake done</source>
         <translation>negociación realizada</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="284"/>
+        <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="286"/>
+        <location filename="../components/VPNState.qml" line="294"/>
         <source>requesting status</source>
         <translation>solicitando estado</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="288"/>
+        <location filename="../components/VPNState.qml" line="296"/>
         <source>loading status</source>
         <translation>cargando estado</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="290"/>
+        <location filename="../components/VPNState.qml" line="298"/>
         <source>loading keys</source>
         <translation>cargando claves</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="292"/>
+        <location filename="../components/VPNState.qml" line="300"/>
         <source>requesting descriptors</source>
         <translation>solicitando descriptores</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="294"/>
+        <location filename="../components/VPNState.qml" line="302"/>
         <source>loading descriptors</source>
         <translation>cargando descriptores</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="296"/>
+        <location filename="../components/VPNState.qml" line="304"/>
         <source>creating circuit</source>
         <translation>creando circuito</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="298"/>
+        <location filename="../components/VPNState.qml" line="306"/>
         <source>done</source>
         <translation>hecho</translation>
     </message>
@@ -427,42 +434,42 @@ Segura</translation>
 <context>
     <name>main</name>
     <message>
-        <location filename="../main.cpp" line="144"/>
+        <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="151"/>
+        <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="158"/>
+        <location filename="../main.cpp" line="154"/>
         <source>Enable Web API.</source>
         <translation>Habilitar API Web.</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="164"/>
+        <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="170"/>
+        <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="176"/>
+        <location filename="../main.cpp" line="172"/>
         <source>Enable autostart.</source>
         <translation>Habilitar autoarranque.</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="181"/>
+        <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="184"/>
+        <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>
diff --git a/gui/i18n/main_es.ts b/gui/i18n/main_es.ts
index cebbed9f2db39fdfc5e3ba851423e9944f2eb6ac..4709bbe50430e3c9968a66b56553f9e685115196 100644
--- a/gui/i18n/main_es.ts
+++ b/gui/i18n/main_es.ts
@@ -26,7 +26,7 @@
 <context>
     <name>Footer</name>
     <message>
-        <location filename="../components/Footer.qml" line="171"/>
+        <location filename="../components/Footer.qml" line="180"/>
         <source>Recommended</source>
         <translation>Recomendado</translation>
     </message>
@@ -108,38 +108,38 @@
 <context>
     <name>MainView</name>
     <message>
-        <location filename="../components/MainView.qml" line="32"/>
-        <location filename="../components/MainView.qml" line="56"/>
+        <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="49"/>
+        <location filename="../components/MainView.qml" line="59"/>
         <source>Preferences</source>
         <translation>Preferencias</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="63"/>
+        <location filename="../components/MainView.qml" line="73"/>
         <source>Help</source>
         <translation>Ayuda</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="70"/>
+        <location filename="../components/MainView.qml" line="80"/>
         <source>About</source>
         <translation>Acerca de</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="77"/>
+        <location filename="../components/MainView.qml" line="87"/>
         <source>Quit</source>
         <translation>Cerrar</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="104"/>
+        <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="118"/>
+        <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 costea a puro donaciones de usuarias como tú. Mantener la VPN funcionando cuesta unos 5 USD por persona y mes, pero cada contribución es valiosa. ¿Quieres hacer una donación?</translation>
     </message>
@@ -152,75 +152,85 @@
         <translation>Preferencias</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="54"/>
+        <location filename="../components/Preferences.qml" line="55"/>
         <source>Turn off the VPN to make changes</source>
         <translation>Apaga la VPN para hacer cambios</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="69"/>
+        <location filename="../components/Preferences.qml" line="71"/>
         <source>Language</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="102"/>
+        <location filename="../components/Preferences.qml" line="105"/>
         <source>Censorship circumvention</source>
         <translation>Anti-censura</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="110"/>
+        <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="124"/>
+        <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="150"/>
+        <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="164"/>
+        <location filename="../components/Preferences.qml" line="167"/>
         <source>Use Snowflake</source>
         <translation>Usar Snowflake</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="179"/>
+        <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="192"/>
+        <location filename="../components/Preferences.qml" line="195"/>
         <source>Transport</source>
         <translation>Transporte</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="200"/>
+        <location filename="../components/Preferences.qml" line="203"/>
         <source>UDP can make the VPN faster. It might be blocked on some networks.</source>
         <translation>Con UDP la VPN jala más rápido. Algunas redes pueden estar bloqueándolo.</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="213"/>
+        <location filename="../components/Preferences.qml" line="216"/>
         <source>Use UDP if available</source>
         <translation>Usar UDP cuando se pueda</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="100"/>
+        <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="100"/>
+        <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;desistala&lt;/a&gt;la versión anterior antes de lanzar el nuevo instalador.</translation>
     </message>
     <message>
-        <location filename="../components/Splash.qml" line="104"/>
+        <location filename="../components/Splash.qml" line="105"/>
         <source>UPGRADE NOW</source>
         <translation>ACTUALIZAR AHORA</translation>
     </message>
@@ -228,7 +238,7 @@
 <context>
     <name>StatusBox</name>
     <message>
-        <location filename="../components/StatusBox.qml" line="91"/>
+        <location filename="../components/StatusBox.qml" line="78"/>
         <source>This can take several minutes</source>
         <translation type="unfinished"></translation>
     </message>
@@ -281,137 +291,134 @@
 <context>
     <name>VPNState</name>
     <message>
-        <location filename="../components/VPNState.qml" line="27"/>
+        <location filename="../components/VPNState.qml" line="26"/>
         <source>Setting up</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="52"/>
-        <location filename="../components/VPNState.qml" line="156"/>
+        <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="85"/>
+        <location filename="../components/VPNState.qml" line="82"/>
         <source>Unsecured
 Connection</source>
         <translation>Conexión
 Insegura</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="100"/>
         <source>Turn on</source>
-        <translation>Encender</translation>
+        <translation type="vanished">Encender</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="120"/>
+        <location filename="../components/VPNState.qml" line="117"/>
         <source>Secured
 Connection</source>
         <translation>Conexión
 Segura</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="135"/>
         <source>Turn off</source>
-        <translation>Apagar</translation>
+        <translation type="vanished">Apagar</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="172"/>
         <source>Cancel</source>
-        <translation>Cancelar</translation>
+        <translation type="vanished">Cancelar</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="256"/>
+        <location filename="../components/VPNState.qml" line="265"/>
         <source>%1 off</source>
         <extracomment>%1 -&gt; application name</extracomment>
         <translation>%1 off</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="256"/>
+        <location filename="../components/VPNState.qml" line="265"/>
         <source>off</source>
         <translation>off</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="259"/>
+        <location filename="../components/VPNState.qml" line="268"/>
         <source>%1 on</source>
         <extracomment>%1 -&gt; application name</extracomment>
         <translation>%1 conectada</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="262"/>
+        <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="265"/>
+        <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="268"/>
+        <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="276"/>
+        <location filename="../components/VPNState.qml" line="284"/>
         <source>pluggable transport connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="278"/>
+        <location filename="../components/VPNState.qml" line="286"/>
         <source>connection done</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="280"/>
+        <location filename="../components/VPNState.qml" line="288"/>
         <source>doing handshake</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="282"/>
+        <location filename="../components/VPNState.qml" line="290"/>
         <source>handshake done</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="284"/>
+        <location filename="../components/VPNState.qml" line="292"/>
         <source>creating one-hop connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="286"/>
+        <location filename="../components/VPNState.qml" line="294"/>
         <source>requesting status</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="288"/>
+        <location filename="../components/VPNState.qml" line="296"/>
         <source>loading status</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="290"/>
+        <location filename="../components/VPNState.qml" line="298"/>
         <source>loading keys</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="292"/>
+        <location filename="../components/VPNState.qml" line="300"/>
         <source>requesting descriptors</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="294"/>
+        <location filename="../components/VPNState.qml" line="302"/>
         <source>loading descriptors</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="296"/>
+        <location filename="../components/VPNState.qml" line="304"/>
         <source>creating circuit</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="298"/>
+        <location filename="../components/VPNState.qml" line="306"/>
         <source>done</source>
         <translation type="unfinished"></translation>
     </message>
@@ -427,32 +434,32 @@ Segura</translation>
 <context>
     <name>main</name>
     <message>
-        <location filename="../main.cpp" line="144"/>
+        <location filename="../main.cpp" line="140"/>
         <source>: a fast and secure VPN. Powered by Bitmask.</source>
         <translation>: una VPN rápida y segura. Usando Bitmask.</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="151"/>
+        <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 ícono en la bandeja del sistema (útil en conjunto con las extensiones de Intérprete de Comandos Gnome, o para controlar la VPN por otros medios).</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="158"/>
+        <location filename="../main.cpp" line="154"/>
         <source>Enable Web API.</source>
         <translation>Habilitar API Web.</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="164"/>
+        <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="170"/>
+        <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="176"/>
+        <location filename="../main.cpp" line="172"/>
         <source>Enable autostart.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -461,12 +468,12 @@ Segura</translation>
         <translation type="vanished">Deshabilitar arranque automático para la siguiente ejecución.</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="181"/>
+        <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="184"/>
+        <location filename="../main.cpp" line="180"/>
         <source>Start the VPN, either &apos;on&apos; or &apos;off&apos;.</source>
         <translation>Iniciar la VPN, &apos;on&apos; o bien, &apos;off&apos;.</translation>
     </message>
diff --git a/gui/i18n/main_es_AR.ts b/gui/i18n/main_es_AR.ts
new file mode 100644
index 0000000000000000000000000000000000000000..7e30c43911ad1e42ceac7c505a56bbb2fe37c2e8
--- /dev/null
+++ b/gui/i18n/main_es_AR.ts
@@ -0,0 +1,477 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!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"></translation>
+    </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"></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>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>
+        <source>Turn on</source>
+        <translation type="vanished">Activar.</translation>
+    </message>
+    <message>
+        <location filename="../components/VPNState.qml" line="117"/>
+        <source>Secured
+Connection</source>
+        <translation>Conexión
+Segura</translation>
+    </message>
+    <message>
+        <source>Turn off</source>
+        <translation type="vanished">Desactivar.</translation>
+    </message>
+    <message>
+        <source>Cancel</source>
+        <translation type="vanished">Cancelar</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></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>: 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>
diff --git a/gui/i18n/main_es_CU.ts b/gui/i18n/main_es_CU.ts
new file mode 100644
index 0000000000000000000000000000000000000000..0b728ac0c6a395794dbdcfcb0b01b99f4a9d7767
--- /dev/null
+++ b/gui/i18n/main_es_CU.ts
@@ -0,0 +1,477 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="es_CU">
+<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 tú. &lt;a href=&quot;%1&quot;&gt;Por favor, ayúdanos&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>Solución de problemas y soporte</translation>
+    </message>
+    <message>
+        <location filename="../components/Help.qml" line="31"/>
+        <source>Report a bug</source>
+        <translation>Informar un error </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 pudimos encontrar asistentes. Por favor, revisa 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>Elige tu 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>Usa 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>Selecciona 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 puerta de enlace...</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>Solamente se muestran 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>Salir</translation>
+    </message>
+    <message>
+        <location filename="../components/MainView.qml" line="111"/>
+        <source>Please donate!</source>
+        <translation>¡Por favor realice 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 mediante donaciones de usuarios como tú. Mantener la VPN funcionando cuesta alrededor de los $5.00 USD por persona cada mes, y cada ayuda es agradecida. ¿Quieres 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>Para hacer cambios debes apagar la VPN </translation>
+    </message>
+    <message>
+        <location filename="../components/Preferences.qml" line="71"/>
+        <source>Language</source>
+        <translation>Idioma</translation>
+    </message>
+    <message>
+        <location filename="../components/Preferences.qml" line="105"/>
+        <source>Censorship circumvention</source>
+        <translation>Evasión de 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>Con estas técnicas puedes evitar la censura, pero son más lentas. Úsalas sólo cuando las necesites.</translation>
+    </message>
+    <message>
+        <location filename="../components/Preferences.qml" line="127"/>
+        <source>Use obfs4 bridges</source>
+        <translation>Usa puentes obfs4</translation>
+    </message>
+    <message>
+        <location filename="../components/Preferences.qml" line="153"/>
+        <source>Traffic is obfuscated to bypass blocks</source>
+        <translation>El tráfico es ofuscado para saltar bloqueos</translation>
+    </message>
+    <message>
+        <location filename="../components/Preferences.qml" line="167"/>
+        <source>Use Snowflake</source>
+        <translation>Usa Snowflake</translation>
+    </message>
+    <message>
+        <location filename="../components/Preferences.qml" line="182"/>
+        <source>Snowflake needs Tor installed in your system</source>
+        <translation>Snowflake necesita que Tor esté 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 que la VPN trabaje más rápido, pero puede estar bloqueado en algunas redes.</translation>
+    </message>
+    <message>
+        <location filename="../components/Preferences.qml" line="216"/>
+        <source>Use UDP if available</source>
+        <translation>Usa 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"></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>Hay una versión más reciente 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;desinstale&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 tomar varios minutos</translation>
+    </message>
+</context>
+<context>
+    <name>Systray</name>
+    <message>
+        <location filename="../components/Systray.qml" line="16"/>
+        <source>Checking status…</source>
+        <translation>Revisando 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>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>Salir</translation>
+    </message>
+    <message>
+        <location filename="../components/Systray.qml" line="74"/>
+        <source>Connect to</source>
+        <translation>Conectarse 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>Conexión
+Insegura</translation>
+    </message>
+    <message>
+        <source>Turn on</source>
+        <translation type="vanished">Encender</translation>
+    </message>
+    <message>
+        <location filename="../components/VPNState.qml" line="117"/>
+        <source>Secured
+Connection</source>
+        <translation>Conexión
+Segura</translation>
+    </message>
+    <message>
+        <source>Turn off</source>
+        <translation type="vanished">Apagar</translation>
+    </message>
+    <message>
+        <source>Cancel</source>
+        <translation type="vanished">Cancelar</translation>
+    </message>
+    <message>
+        <location filename="../components/VPNState.qml" line="265"/>
+        <source>%1 off</source>
+        <extracomment>%1 -&gt; application name</extracomment>
+        <translation>%1 apagado</translation>
+    </message>
+    <message>
+        <location filename="../components/VPNState.qml" line="265"/>
+        <source>off</source>
+        <translation>apagado</translation>
+    </message>
+    <message>
+        <location filename="../components/VPNState.qml" line="268"/>
+        <source>%1 on</source>
+        <extracomment>%1 -&gt; application name</extracomment>
+        <translation>%1 encendido</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 terminada</translation>
+    </message>
+    <message>
+        <location filename="../components/VPNState.qml" line="288"/>
+        <source>doing handshake</source>
+        <translation>realizando la conexión</translation>
+    </message>
+    <message>
+        <location filename="../components/VPNState.qml" line="290"/>
+        <source>handshake done</source>
+        <translation>conexión terminada</translation>
+    </message>
+    <message>
+        <location filename="../components/VPNState.qml" line="292"/>
+        <source>creating one-hop connection</source>
+        <translation>iniciando conexión directa</translation>
+    </message>
+    <message>
+        <location filename="../components/VPNState.qml" line="294"/>
+        <source>requesting status</source>
+        <translation>pidiendo el estado</translation>
+    </message>
+    <message>
+        <location filename="../components/VPNState.qml" line="296"/>
+        <source>loading status</source>
+        <translation>cargando el estado</translation>
+    </message>
+    <message>
+        <location filename="../components/VPNState.qml" line="298"/>
+        <source>loading keys</source>
+        <translation>cargando las llaves</translation>
+    </message>
+    <message>
+        <location filename="../components/VPNState.qml" line="300"/>
+        <source>requesting descriptors</source>
+        <translation>pidiendo los descriptores</translation>
+    </message>
+    <message>
+        <location filename="../components/VPNState.qml" line="302"/>
+        <source>loading descriptors</source>
+        <translation>cargando los descriptores</translation>
+    </message>
+    <message>
+        <location filename="../components/VPNState.qml" line="304"/>
+        <source>creating circuit</source>
+        <translation>creando el circuito</translation>
+    </message>
+    <message>
+        <location filename="../components/VPNState.qml" line="306"/>
+        <source>done</source>
+        <translation>finalizado</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>: una VPN rápida y segura. Creada 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 ícono en el menú del sistema (para usar con las extensiones de comandos de Gnome Shell o para controlar la VPN por otros medios).</translation>
+    </message>
+    <message>
+        <location filename="../main.cpp" line="154"/>
+        <source>Enable Web API.</source>
+        <translation>Habilitar la 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 (predeterminado: 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 con la VPN &apos;activada&apos; o &apos;desactivada&apos;.</translation>
+    </message>
+</context>
+</TS>
diff --git a/gui/i18n/main_es_ES.ts b/gui/i18n/main_es_ES.ts
index e757fc688ec7995a7badbbcd6d4d5282a0e4f195..2c17b6b7de3bafc620ef9ff69a7ae0a70d63947b 100644
--- a/gui/i18n/main_es_ES.ts
+++ b/gui/i18n/main_es_ES.ts
@@ -26,7 +26,7 @@
 <context>
     <name>Footer</name>
     <message>
-        <location filename="../components/Footer.qml" line="171"/>
+        <location filename="../components/Footer.qml" line="180"/>
         <source>Recommended</source>
         <translation>Recomendado</translation>
     </message>
@@ -108,38 +108,38 @@
 <context>
     <name>MainView</name>
     <message>
-        <location filename="../components/MainView.qml" line="32"/>
-        <location filename="../components/MainView.qml" line="56"/>
+        <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="49"/>
+        <location filename="../components/MainView.qml" line="59"/>
         <source>Preferences</source>
         <translation>Preferencias</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="63"/>
+        <location filename="../components/MainView.qml" line="73"/>
         <source>Help</source>
         <translation>Ayuda</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="70"/>
+        <location filename="../components/MainView.qml" line="80"/>
         <source>About</source>
         <translation>Acerca de</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="77"/>
+        <location filename="../components/MainView.qml" line="87"/>
         <source>Quit</source>
         <translation>Salir</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="104"/>
+        <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="118"/>
+        <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 sólo se costea con donaciones de usuarias como tú. Mantener a flote la VPN cuesta unos 5 euros por persona y mes, pero cada contribución es valiosa. ¿Quieres hacer una donación?</translation>
     </message>
@@ -152,75 +152,85 @@
         <translation>Preferencias</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="54"/>
+        <location filename="../components/Preferences.qml" line="55"/>
         <source>Turn off the VPN to make changes</source>
         <translation>Desactiva la VPN para hacer cambios</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="69"/>
+        <location filename="../components/Preferences.qml" line="71"/>
         <source>Language</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="102"/>
+        <location filename="../components/Preferences.qml" line="105"/>
         <source>Censorship circumvention</source>
         <translation>Circumvención de censura</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="110"/>
+        <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. Actívalas sólo cuando lo necesites.</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="124"/>
+        <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="150"/>
+        <location filename="../components/Preferences.qml" line="153"/>
         <source>Traffic is obfuscated to bypass blocks</source>
         <translation>El tráfico será ofuscado para saltar bloqueos</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="164"/>
+        <location filename="../components/Preferences.qml" line="167"/>
         <source>Use Snowflake</source>
         <translation>Usar Snowflake</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="179"/>
+        <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="192"/>
+        <location filename="../components/Preferences.qml" line="195"/>
         <source>Transport</source>
         <translation>Transporte</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="200"/>
+        <location filename="../components/Preferences.qml" line="203"/>
         <source>UDP can make the VPN faster. It might be blocked on some networks.</source>
         <translation>Con UDP la VPN puede ir más rápido. Podría estar bloqueado en algunas redes.</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="213"/>
+        <location filename="../components/Preferences.qml" line="216"/>
         <source>Use UDP if available</source>
         <translation>Usar UDP cuando se pueda</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="100"/>
+        <location filename="../components/Splash.qml" line="101"/>
         <source>There is a newer version available. </source>
         <translation>Hay disponible una versión nueva.</translation>
     </message>
     <message>
-        <location filename="../components/Splash.qml" line="100"/>
+        <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>Asegúrate de &lt;a href=&quot;https://0xacab.org/leap/bitmask-vpn/-/blob/main/docs/uninstall.md&quot;&gt;desinstalar&lt;/a&gt; la versión anterior antes de lanzar el nuevo instalador.</translation>
     </message>
     <message>
-        <location filename="../components/Splash.qml" line="104"/>
+        <location filename="../components/Splash.qml" line="105"/>
         <source>UPGRADE NOW</source>
         <translation>ACTUALIZAR AHORA</translation>
     </message>
@@ -228,7 +238,7 @@
 <context>
     <name>StatusBox</name>
     <message>
-        <location filename="../components/StatusBox.qml" line="91"/>
+        <location filename="../components/StatusBox.qml" line="78"/>
         <source>This can take several minutes</source>
         <translation type="unfinished"></translation>
     </message>
@@ -281,137 +291,134 @@
 <context>
     <name>VPNState</name>
     <message>
-        <location filename="../components/VPNState.qml" line="27"/>
+        <location filename="../components/VPNState.qml" line="26"/>
         <source>Setting up</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="52"/>
-        <location filename="../components/VPNState.qml" line="156"/>
+        <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="85"/>
+        <location filename="../components/VPNState.qml" line="82"/>
         <source>Unsecured
 Connection</source>
         <translation>Conexión
 Insegura</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="100"/>
         <source>Turn on</source>
-        <translation>Activar</translation>
+        <translation type="vanished">Activar</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="120"/>
+        <location filename="../components/VPNState.qml" line="117"/>
         <source>Secured
 Connection</source>
         <translation>Conexión
 Segura</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="135"/>
         <source>Turn off</source>
-        <translation>Desactivar</translation>
+        <translation type="vanished">Desactivar</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="172"/>
         <source>Cancel</source>
-        <translation>Cancelar</translation>
+        <translation type="vanished">Cancelar</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="256"/>
+        <location filename="../components/VPNState.qml" line="265"/>
         <source>%1 off</source>
         <extracomment>%1 -&gt; application name</extracomment>
         <translation>%1 desconectada</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="256"/>
+        <location filename="../components/VPNState.qml" line="265"/>
         <source>off</source>
         <translation>off</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="259"/>
+        <location filename="../components/VPNState.qml" line="268"/>
         <source>%1 on</source>
         <extracomment>%1 -&gt; application name</extracomment>
         <translation>%1 on</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="262"/>
+        <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="265"/>
+        <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="268"/>
+        <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="276"/>
+        <location filename="../components/VPNState.qml" line="284"/>
         <source>pluggable transport connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="278"/>
+        <location filename="../components/VPNState.qml" line="286"/>
         <source>connection done</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="280"/>
+        <location filename="../components/VPNState.qml" line="288"/>
         <source>doing handshake</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="282"/>
+        <location filename="../components/VPNState.qml" line="290"/>
         <source>handshake done</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="284"/>
+        <location filename="../components/VPNState.qml" line="292"/>
         <source>creating one-hop connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="286"/>
+        <location filename="../components/VPNState.qml" line="294"/>
         <source>requesting status</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="288"/>
+        <location filename="../components/VPNState.qml" line="296"/>
         <source>loading status</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="290"/>
+        <location filename="../components/VPNState.qml" line="298"/>
         <source>loading keys</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="292"/>
+        <location filename="../components/VPNState.qml" line="300"/>
         <source>requesting descriptors</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="294"/>
+        <location filename="../components/VPNState.qml" line="302"/>
         <source>loading descriptors</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="296"/>
+        <location filename="../components/VPNState.qml" line="304"/>
         <source>creating circuit</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="298"/>
+        <location filename="../components/VPNState.qml" line="306"/>
         <source>done</source>
         <translation type="unfinished"></translation>
     </message>
@@ -427,32 +434,32 @@ Segura</translation>
 <context>
     <name>main</name>
     <message>
-        <location filename="../main.cpp" line="144"/>
+        <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="151"/>
+        <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 ícono en la bandeja del sistema (útil en conjunto con las extensiones de Intérprete de Comandos Gnome, o para controlar la VPN por otros medios).</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="158"/>
+        <location filename="../main.cpp" line="154"/>
         <source>Enable Web API.</source>
         <translation>Habilitar la Web API.</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="164"/>
+        <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="170"/>
+        <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 con el proveedor.</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="176"/>
+        <location filename="../main.cpp" line="172"/>
         <source>Enable autostart.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -461,12 +468,12 @@ Segura</translation>
         <translation type="vanished">Deshabilitar arranque automático para la siguiente ejecución.</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="181"/>
+        <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="184"/>
+        <location filename="../main.cpp" line="180"/>
         <source>Start the VPN, either &apos;on&apos; or &apos;off&apos;.</source>
         <translation>Iniciar la VPN, &apos;conectada&apos; o bien, &apos;desconectada&apos;.</translation>
     </message>
diff --git a/gui/i18n/main_et.ts b/gui/i18n/main_et.ts
index aa134e864c734555f68c7f94cbb6334513f39e36..5c88f678580aa9d44c6f7c0503c6bc0787b674ca 100644
--- a/gui/i18n/main_et.ts
+++ b/gui/i18n/main_et.ts
@@ -25,7 +25,7 @@
 <context>
     <name>Footer</name>
     <message>
-        <location filename="../components/Footer.qml" line="171"/>
+        <location filename="../components/Footer.qml" line="180"/>
         <source>Recommended</source>
         <translation type="unfinished"></translation>
     </message>
@@ -107,38 +107,38 @@
 <context>
     <name>MainView</name>
     <message>
-        <location filename="../components/MainView.qml" line="32"/>
-        <location filename="../components/MainView.qml" line="56"/>
+        <location filename="../components/MainView.qml" line="43"/>
+        <location filename="../components/MainView.qml" line="66"/>
         <source>Donate</source>
         <translation>Anneta</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="49"/>
+        <location filename="../components/MainView.qml" line="59"/>
         <source>Preferences</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="63"/>
+        <location filename="../components/MainView.qml" line="73"/>
         <source>Help</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="70"/>
+        <location filename="../components/MainView.qml" line="80"/>
         <source>About</source>
         <translation>Info</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="77"/>
+        <location filename="../components/MainView.qml" line="87"/>
         <source>Quit</source>
         <translation>Välju</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="104"/>
+        <location filename="../components/MainView.qml" line="111"/>
         <source>Please donate!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="118"/>
+        <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 type="unfinished"></translation>
     </message>
@@ -151,75 +151,85 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="54"/>
+        <location filename="../components/Preferences.qml" line="55"/>
         <source>Turn off the VPN to make changes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="69"/>
+        <location filename="../components/Preferences.qml" line="71"/>
         <source>Language</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="102"/>
+        <location filename="../components/Preferences.qml" line="105"/>
         <source>Censorship circumvention</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="110"/>
+        <location filename="../components/Preferences.qml" line="113"/>
         <source>These techniques can bypass censorship, but are slower. Use them only when needed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="124"/>
+        <location filename="../components/Preferences.qml" line="127"/>
         <source>Use obfs4 bridges</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="150"/>
+        <location filename="../components/Preferences.qml" line="153"/>
         <source>Traffic is obfuscated to bypass blocks</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="164"/>
+        <location filename="../components/Preferences.qml" line="167"/>
         <source>Use Snowflake</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="179"/>
+        <location filename="../components/Preferences.qml" line="182"/>
         <source>Snowflake needs Tor installed in your system</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="192"/>
+        <location filename="../components/Preferences.qml" line="195"/>
         <source>Transport</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="200"/>
+        <location filename="../components/Preferences.qml" line="203"/>
         <source>UDP can make the VPN faster. It might be blocked on some networks.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="213"/>
+        <location filename="../components/Preferences.qml" line="216"/>
         <source>Use UDP if available</source>
         <translation type="unfinished"></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="100"/>
+        <location filename="../components/Splash.qml" line="101"/>
         <source>There is a newer version available. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Splash.qml" line="100"/>
+        <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 type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Splash.qml" line="104"/>
+        <location filename="../components/Splash.qml" line="105"/>
         <source>UPGRADE NOW</source>
         <translation type="unfinished"></translation>
     </message>
@@ -227,7 +237,7 @@
 <context>
     <name>StatusBox</name>
     <message>
-        <location filename="../components/StatusBox.qml" line="91"/>
+        <location filename="../components/StatusBox.qml" line="78"/>
         <source>This can take several minutes</source>
         <translation type="unfinished"></translation>
     </message>
@@ -280,135 +290,132 @@
 <context>
     <name>VPNState</name>
     <message>
-        <location filename="../components/VPNState.qml" line="27"/>
+        <location filename="../components/VPNState.qml" line="26"/>
         <source>Setting up</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="52"/>
-        <location filename="../components/VPNState.qml" line="156"/>
+        <location filename="../components/VPNState.qml" line="51"/>
+        <location filename="../components/VPNState.qml" line="153"/>
         <source>Connecting</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="85"/>
+        <location filename="../components/VPNState.qml" line="82"/>
         <source>Unsecured
 Connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="100"/>
         <source>Turn on</source>
-        <translation>Lülita sisse</translation>
+        <translation type="vanished">Lülita sisse</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="120"/>
+        <location filename="../components/VPNState.qml" line="117"/>
         <source>Secured
 Connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="135"/>
         <source>Turn off</source>
-        <translation>Lülita välja</translation>
+        <translation type="vanished">Lülita välja</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="172"/>
         <source>Cancel</source>
-        <translation>Loobu</translation>
+        <translation type="vanished">Loobu</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="256"/>
+        <location filename="../components/VPNState.qml" line="265"/>
         <source>%1 off</source>
         <extracomment>%1 -&gt; application name</extracomment>
         <translation>%1 väljas</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="256"/>
+        <location filename="../components/VPNState.qml" line="265"/>
         <source>off</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="259"/>
+        <location filename="../components/VPNState.qml" line="268"/>
         <source>%1 on</source>
         <extracomment>%1 -&gt; application name</extracomment>
         <translation>%1 sees</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="262"/>
+        <location filename="../components/VPNState.qml" line="271"/>
         <source>Connecting to %1</source>
         <extracomment>%1 -&gt; application name</extracomment>
         <translation>Ühendumine rakendusega %1</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="265"/>
+        <location filename="../components/VPNState.qml" line="274"/>
         <source>Stopping %1</source>
         <extracomment>%1 -&gt; application name</extracomment>
         <translation>%1 peatamine</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="268"/>
+        <location filename="../components/VPNState.qml" line="277"/>
         <source>%1 blocking internet</source>
         <extracomment>%1 -&gt; application name</extracomment>
         <translation>%1 - internet blokeeritud</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="276"/>
+        <location filename="../components/VPNState.qml" line="284"/>
         <source>pluggable transport connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="278"/>
+        <location filename="../components/VPNState.qml" line="286"/>
         <source>connection done</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="280"/>
+        <location filename="../components/VPNState.qml" line="288"/>
         <source>doing handshake</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="282"/>
+        <location filename="../components/VPNState.qml" line="290"/>
         <source>handshake done</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="284"/>
+        <location filename="../components/VPNState.qml" line="292"/>
         <source>creating one-hop connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="286"/>
+        <location filename="../components/VPNState.qml" line="294"/>
         <source>requesting status</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="288"/>
+        <location filename="../components/VPNState.qml" line="296"/>
         <source>loading status</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="290"/>
+        <location filename="../components/VPNState.qml" line="298"/>
         <source>loading keys</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="292"/>
+        <location filename="../components/VPNState.qml" line="300"/>
         <source>requesting descriptors</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="294"/>
+        <location filename="../components/VPNState.qml" line="302"/>
         <source>loading descriptors</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="296"/>
+        <location filename="../components/VPNState.qml" line="304"/>
         <source>creating circuit</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="298"/>
+        <location filename="../components/VPNState.qml" line="306"/>
         <source>done</source>
         <translation type="unfinished"></translation>
     </message>
@@ -424,32 +431,32 @@ Connection</source>
 <context>
     <name>main</name>
     <message>
-        <location filename="../main.cpp" line="144"/>
+        <location filename="../main.cpp" line="140"/>
         <source>: a fast and secure VPN. Powered by Bitmask.</source>
         <translation>: kiire ja turvaline VPN. Kasutatud tarkvara on Bitmask.</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="151"/>
+        <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 type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="158"/>
+        <location filename="../main.cpp" line="154"/>
         <source>Enable Web API.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="164"/>
+        <location filename="../main.cpp" line="160"/>
         <source>Install helpers (Linux only, requires sudo).</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="170"/>
+        <location filename="../main.cpp" line="166"/>
         <source>Use obfs4 to obfuscate the traffic, if available in the provider.</source>
         <translation>Kui see on teenusepakkuja poolt saadaval, siis kasuta liikluse peitmiseks teeki obfs4.</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="176"/>
+        <location filename="../main.cpp" line="172"/>
         <source>Enable autostart.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -458,12 +465,12 @@ Connection</source>
         <translation type="vanished">Keela järgmisel käivitamisel automaatne käivitamine.</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="181"/>
+        <location filename="../main.cpp" line="177"/>
         <source>Web API port (default: 8080)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="184"/>
+        <location filename="../main.cpp" line="180"/>
         <source>Start the VPN, either &apos;on&apos; or &apos;off&apos;.</source>
         <translation type="unfinished"></translation>
     </message>
diff --git a/gui/i18n/main_fa_IR.ts b/gui/i18n/main_fa_IR.ts
index 76b716486cd22959b7cdae6618c569f74b0ae679..43c7b0b33a332e3f9d566eee79d0199884e1b81b 100644
--- a/gui/i18n/main_fa_IR.ts
+++ b/gui/i18n/main_fa_IR.ts
@@ -25,7 +25,7 @@
 <context>
     <name>Footer</name>
     <message>
-        <location filename="../components/Footer.qml" line="171"/>
+        <location filename="../components/Footer.qml" line="180"/>
         <source>Recommended</source>
         <translation>توصیه می‌شود</translation>
     </message>
@@ -107,38 +107,38 @@
 <context>
     <name>MainView</name>
     <message>
-        <location filename="../components/MainView.qml" line="32"/>
-        <location filename="../components/MainView.qml" line="56"/>
+        <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="49"/>
+        <location filename="../components/MainView.qml" line="59"/>
         <source>Preferences</source>
         <translation>تنظیمات</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="63"/>
+        <location filename="../components/MainView.qml" line="73"/>
         <source>Help</source>
         <translation>کمک</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="70"/>
+        <location filename="../components/MainView.qml" line="80"/>
         <source>About</source>
         <translation>‫‫درباره‬</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="77"/>
+        <location filename="../components/MainView.qml" line="87"/>
         <source>Quit</source>
         <translation>خروج</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="104"/>
+        <location filename="../components/MainView.qml" line="111"/>
         <source>Please donate!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="118"/>
+        <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 type="unfinished"></translation>
     </message>
@@ -151,75 +151,85 @@
         <translation>تنظیمات</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="54"/>
+        <location filename="../components/Preferences.qml" line="55"/>
         <source>Turn off the VPN to make changes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="69"/>
+        <location filename="../components/Preferences.qml" line="71"/>
         <source>Language</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="102"/>
+        <location filename="../components/Preferences.qml" line="105"/>
         <source>Censorship circumvention</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="110"/>
+        <location filename="../components/Preferences.qml" line="113"/>
         <source>These techniques can bypass censorship, but are slower. Use them only when needed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="124"/>
+        <location filename="../components/Preferences.qml" line="127"/>
         <source>Use obfs4 bridges</source>
         <translation>از پل‌های obfs4 استفاده شود</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="150"/>
+        <location filename="../components/Preferences.qml" line="153"/>
         <source>Traffic is obfuscated to bypass blocks</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="164"/>
+        <location filename="../components/Preferences.qml" line="167"/>
         <source>Use Snowflake</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="179"/>
+        <location filename="../components/Preferences.qml" line="182"/>
         <source>Snowflake needs Tor installed in your system</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="192"/>
+        <location filename="../components/Preferences.qml" line="195"/>
         <source>Transport</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="200"/>
+        <location filename="../components/Preferences.qml" line="203"/>
         <source>UDP can make the VPN faster. It might be blocked on some networks.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="213"/>
+        <location filename="../components/Preferences.qml" line="216"/>
         <source>Use UDP if available</source>
         <translation type="unfinished"></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="100"/>
+        <location filename="../components/Splash.qml" line="101"/>
         <source>There is a newer version available. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Splash.qml" line="100"/>
+        <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 type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Splash.qml" line="104"/>
+        <location filename="../components/Splash.qml" line="105"/>
         <source>UPGRADE NOW</source>
         <translation type="unfinished"></translation>
     </message>
@@ -227,7 +237,7 @@
 <context>
     <name>StatusBox</name>
     <message>
-        <location filename="../components/StatusBox.qml" line="91"/>
+        <location filename="../components/StatusBox.qml" line="78"/>
         <source>This can take several minutes</source>
         <translation type="unfinished"></translation>
     </message>
@@ -280,135 +290,132 @@
 <context>
     <name>VPNState</name>
     <message>
-        <location filename="../components/VPNState.qml" line="27"/>
+        <location filename="../components/VPNState.qml" line="26"/>
         <source>Setting up</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="52"/>
-        <location filename="../components/VPNState.qml" line="156"/>
+        <location filename="../components/VPNState.qml" line="51"/>
+        <location filename="../components/VPNState.qml" line="153"/>
         <source>Connecting</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="85"/>
+        <location filename="../components/VPNState.qml" line="82"/>
         <source>Unsecured
 Connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="100"/>
         <source>Turn on</source>
-        <translation>روشن کردن</translation>
+        <translation type="vanished">روشن کردن</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="120"/>
+        <location filename="../components/VPNState.qml" line="117"/>
         <source>Secured
 Connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="135"/>
         <source>Turn off</source>
-        <translation>خاموش کردن</translation>
+        <translation type="vanished">خاموش کردن</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="172"/>
         <source>Cancel</source>
-        <translation>انصراف</translation>
+        <translation type="vanished">انصراف</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="256"/>
+        <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="256"/>
+        <location filename="../components/VPNState.qml" line="265"/>
         <source>off</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="259"/>
+        <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="262"/>
+        <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="265"/>
+        <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="268"/>
+        <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="276"/>
+        <location filename="../components/VPNState.qml" line="284"/>
         <source>pluggable transport connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="278"/>
+        <location filename="../components/VPNState.qml" line="286"/>
         <source>connection done</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="280"/>
+        <location filename="../components/VPNState.qml" line="288"/>
         <source>doing handshake</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="282"/>
+        <location filename="../components/VPNState.qml" line="290"/>
         <source>handshake done</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="284"/>
+        <location filename="../components/VPNState.qml" line="292"/>
         <source>creating one-hop connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="286"/>
+        <location filename="../components/VPNState.qml" line="294"/>
         <source>requesting status</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="288"/>
+        <location filename="../components/VPNState.qml" line="296"/>
         <source>loading status</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="290"/>
+        <location filename="../components/VPNState.qml" line="298"/>
         <source>loading keys</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="292"/>
+        <location filename="../components/VPNState.qml" line="300"/>
         <source>requesting descriptors</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="294"/>
+        <location filename="../components/VPNState.qml" line="302"/>
         <source>loading descriptors</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="296"/>
+        <location filename="../components/VPNState.qml" line="304"/>
         <source>creating circuit</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="298"/>
+        <location filename="../components/VPNState.qml" line="306"/>
         <source>done</source>
         <translation type="unfinished"></translation>
     </message>
@@ -424,32 +431,32 @@ Connection</source>
 <context>
     <name>main</name>
     <message>
-        <location filename="../main.cpp" line="144"/>
+        <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="151"/>
+        <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>آیکون را در نوارسیستم نشان نده (مناسب برای استفاده با افزونه پوسته گنوم، یا کنترل VPN با روش‌های دیگر).</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="158"/>
+        <location filename="../main.cpp" line="154"/>
         <source>Enable Web API.</source>
         <translation>فعال کردن API وب.</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="164"/>
+        <location filename="../main.cpp" line="160"/>
         <source>Install helpers (Linux only, requires sudo).</source>
         <translation>نصب ابزار کمکی (فقط در لینوکس، نیاز به sudo دارد).</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="170"/>
+        <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="176"/>
+        <location filename="../main.cpp" line="172"/>
         <source>Enable autostart.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -458,12 +465,12 @@ Connection</source>
         <translation type="vanished">شروع اتوماتیک را در اجرای بعد غیر فعال کن.</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="181"/>
+        <location filename="../main.cpp" line="177"/>
         <source>Web API port (default: 8080)</source>
         <translation>پورت API وب (پیشفرض: 8080)</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="184"/>
+        <location filename="../main.cpp" line="180"/>
         <source>Start the VPN, either &apos;on&apos; or &apos;off&apos;.</source>
         <translation>شروع VPN، یا &apos;روشن&apos; یا &apos;خاموش&apos;.</translation>
     </message>
diff --git a/gui/i18n/main_fi.ts b/gui/i18n/main_fi.ts
index 0cbded45092d971ba24436944fd059a55c727efb..f536424ee1e977817551cbe31e14c911363a8c7e 100644
--- a/gui/i18n/main_fi.ts
+++ b/gui/i18n/main_fi.ts
@@ -26,7 +26,7 @@
 <context>
     <name>Footer</name>
     <message>
-        <location filename="../components/Footer.qml" line="171"/>
+        <location filename="../components/Footer.qml" line="180"/>
         <source>Recommended</source>
         <translation>Suositeltu</translation>
     </message>
@@ -108,38 +108,38 @@
 <context>
     <name>MainView</name>
     <message>
-        <location filename="../components/MainView.qml" line="32"/>
-        <location filename="../components/MainView.qml" line="56"/>
+        <location filename="../components/MainView.qml" line="43"/>
+        <location filename="../components/MainView.qml" line="66"/>
         <source>Donate</source>
         <translation>Lahjoita</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="49"/>
+        <location filename="../components/MainView.qml" line="59"/>
         <source>Preferences</source>
         <translation>Asetukset</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="63"/>
+        <location filename="../components/MainView.qml" line="73"/>
         <source>Help</source>
         <translation>Ohje</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="70"/>
+        <location filename="../components/MainView.qml" line="80"/>
         <source>About</source>
         <translation>Ohjelmasta</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="77"/>
+        <location filename="../components/MainView.qml" line="87"/>
         <source>Quit</source>
         <translation>Poistu</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="104"/>
+        <location filename="../components/MainView.qml" line="111"/>
         <source>Please donate!</source>
         <translation>Ole hyvä ja lahjoita!</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="118"/>
+        <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>Tämä palvelu maksetaan kokonaan kaltaistesi käyttäjien lahjoituksilla. VPN:n käyttökustannukset ovat noin 5 USD henkilöä kohden kuukaudessa, mutta jokaisella pienellä on merkitystä. Haluatko lahjoittaa nyt?</translation>
     </message>
@@ -152,75 +152,85 @@
         <translation>Asetukset</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="54"/>
+        <location filename="../components/Preferences.qml" line="55"/>
         <source>Turn off the VPN to make changes</source>
         <translation>Kytke VPN pois päältä tehdäksesi muutoksia</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="69"/>
+        <location filename="../components/Preferences.qml" line="71"/>
         <source>Language</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="102"/>
+        <location filename="../components/Preferences.qml" line="105"/>
         <source>Censorship circumvention</source>
         <translation>Sensuurin kiertäminen</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="110"/>
+        <location filename="../components/Preferences.qml" line="113"/>
         <source>These techniques can bypass censorship, but are slower. Use them only when needed.</source>
         <translation>Nämä tekniikat voivat ohittaa sensuurin, mutta ovat hitaampia. Käytä niitä vain tarvittaessa.</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="124"/>
+        <location filename="../components/Preferences.qml" line="127"/>
         <source>Use obfs4 bridges</source>
         <translation>Käytä obfs4-siltoja</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="150"/>
+        <location filename="../components/Preferences.qml" line="153"/>
         <source>Traffic is obfuscated to bypass blocks</source>
         <translation>Liikenne on hämärtynyt ohittamaan lohkot</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="164"/>
+        <location filename="../components/Preferences.qml" line="167"/>
         <source>Use Snowflake</source>
         <translation>Käytä Snowflakea</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="179"/>
+        <location filename="../components/Preferences.qml" line="182"/>
         <source>Snowflake needs Tor installed in your system</source>
         <translation>Snowflake tarvitsee Tor-selaimen asennettuna järjestelmääsi</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="192"/>
+        <location filename="../components/Preferences.qml" line="195"/>
         <source>Transport</source>
         <translation>Kuljetus</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="200"/>
+        <location filename="../components/Preferences.qml" line="203"/>
         <source>UDP can make the VPN faster. It might be blocked on some networks.</source>
         <translation>UDP voi tehdä VPN:stä nopeamman. Se voi olla estetty joissakin verkoissa.</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="213"/>
+        <location filename="../components/Preferences.qml" line="216"/>
         <source>Use UDP if available</source>
         <translation>Käytä UDP:tä, jos mahdollista</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="100"/>
+        <location filename="../components/Splash.qml" line="101"/>
         <source>There is a newer version available. </source>
         <translation>Saatavilla on uudempi versio.</translation>
     </message>
     <message>
-        <location filename="../components/Splash.qml" line="100"/>
+        <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>Varmista, että&lt;a href=&quot;https://0xacab.org/leap/bitmask-vpn/-/blob/main/docs/uninstall.md&quot;&gt;poistat&lt;/a&gt;edellisen ennen uuden asennusohjelman suorittamista.</translation>
     </message>
     <message>
-        <location filename="../components/Splash.qml" line="104"/>
+        <location filename="../components/Splash.qml" line="105"/>
         <source>UPGRADE NOW</source>
         <translation>Päivitä nyt</translation>
     </message>
@@ -228,7 +238,7 @@
 <context>
     <name>StatusBox</name>
     <message>
-        <location filename="../components/StatusBox.qml" line="91"/>
+        <location filename="../components/StatusBox.qml" line="78"/>
         <source>This can take several minutes</source>
         <translation>Tämä saattaa kestää useita minuutteja</translation>
     </message>
@@ -281,137 +291,134 @@
 <context>
     <name>VPNState</name>
     <message>
-        <location filename="../components/VPNState.qml" line="27"/>
+        <location filename="../components/VPNState.qml" line="26"/>
         <source>Setting up</source>
         <translation>Asetetaan</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="52"/>
-        <location filename="../components/VPNState.qml" line="156"/>
+        <location filename="../components/VPNState.qml" line="51"/>
+        <location filename="../components/VPNState.qml" line="153"/>
         <source>Connecting</source>
         <translation>Yhdistetään</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="85"/>
+        <location filename="../components/VPNState.qml" line="82"/>
         <source>Unsecured
 Connection</source>
         <translation>Suojaamaton
 yhteys</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="100"/>
         <source>Turn on</source>
-        <translation>Kytke päälle</translation>
+        <translation type="vanished">Kytke päälle</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="120"/>
+        <location filename="../components/VPNState.qml" line="117"/>
         <source>Secured
 Connection</source>
         <translation>Turvattu
 yhteys</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="135"/>
         <source>Turn off</source>
-        <translation>Kytke pois päältä</translation>
+        <translation type="vanished">Kytke pois päältä</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="172"/>
         <source>Cancel</source>
-        <translation>Peruuta</translation>
+        <translation type="vanished">Peruuta</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="256"/>
+        <location filename="../components/VPNState.qml" line="265"/>
         <source>%1 off</source>
         <extracomment>%1 -&gt; application name</extracomment>
         <translation>%1 pois päältä</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="256"/>
+        <location filename="../components/VPNState.qml" line="265"/>
         <source>off</source>
         <translation>ei käytössä</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="259"/>
+        <location filename="../components/VPNState.qml" line="268"/>
         <source>%1 on</source>
         <extracomment>%1 -&gt; application name</extracomment>
         <translation>%1 päällä</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="262"/>
+        <location filename="../components/VPNState.qml" line="271"/>
         <source>Connecting to %1</source>
         <extracomment>%1 -&gt; application name</extracomment>
         <translation>Yhdistetään %1:een</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="265"/>
+        <location filename="../components/VPNState.qml" line="274"/>
         <source>Stopping %1</source>
         <extracomment>%1 -&gt; application name</extracomment>
         <translation>Pysäytetään %1</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="268"/>
+        <location filename="../components/VPNState.qml" line="277"/>
         <source>%1 blocking internet</source>
         <extracomment>%1 -&gt; application name</extracomment>
         <translation>%1 estämässä internetin</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="276"/>
+        <location filename="../components/VPNState.qml" line="284"/>
         <source>pluggable transport connection</source>
         <translation>kytkettävä kuljetusliitäntä</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="278"/>
+        <location filename="../components/VPNState.qml" line="286"/>
         <source>connection done</source>
         <translation>yhteys tehty</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="280"/>
+        <location filename="../components/VPNState.qml" line="288"/>
         <source>doing handshake</source>
         <translation>tekemässä kädenpuristusta</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="282"/>
+        <location filename="../components/VPNState.qml" line="290"/>
         <source>handshake done</source>
         <translation>kädenpuristus tehty</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="284"/>
+        <location filename="../components/VPNState.qml" line="292"/>
         <source>creating one-hop connection</source>
         <translation>luodaan yhden hypyn yhteys</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="286"/>
+        <location filename="../components/VPNState.qml" line="294"/>
         <source>requesting status</source>
         <translation>pyydetään tilaa</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="288"/>
+        <location filename="../components/VPNState.qml" line="296"/>
         <source>loading status</source>
         <translation>Ladataan tila</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="290"/>
+        <location filename="../components/VPNState.qml" line="298"/>
         <source>loading keys</source>
         <translation>ladataan avaimet</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="292"/>
+        <location filename="../components/VPNState.qml" line="300"/>
         <source>requesting descriptors</source>
         <translation>pyydetään kuvauksia</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="294"/>
+        <location filename="../components/VPNState.qml" line="302"/>
         <source>loading descriptors</source>
         <translation>ladataan kuvauksia</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="296"/>
+        <location filename="../components/VPNState.qml" line="304"/>
         <source>creating circuit</source>
         <translation>luodaan piiri</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="298"/>
+        <location filename="../components/VPNState.qml" line="306"/>
         <source>done</source>
         <translation>valmis</translation>
     </message>
@@ -427,42 +434,42 @@ yhteys</translation>
 <context>
     <name>main</name>
     <message>
-        <location filename="../main.cpp" line="144"/>
+        <location filename="../main.cpp" line="140"/>
         <source>: a fast and secure VPN. Powered by Bitmask.</source>
         <translation>: nopea ja turvallinen VPN. Voimanlähteenä Bitmask.</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="151"/>
+        <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>Älä näytä järjestelmäpalkkikuvaketta (hyödyllinen yhdessä Gnome Shell -laajennuksen kanssa tai VPN:n ohjaamiseen muilla tavoilla).</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="158"/>
+        <location filename="../main.cpp" line="154"/>
         <source>Enable Web API.</source>
         <translation>Ota Web API käyttöön.</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="164"/>
+        <location filename="../main.cpp" line="160"/>
         <source>Install helpers (Linux only, requires sudo).</source>
         <translation>Asenna apuohjelmat (vain Linux, vaatii ’sudo)’.</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="170"/>
+        <location filename="../main.cpp" line="166"/>
         <source>Use obfs4 to obfuscate the traffic, if available in the provider.</source>
         <translation>Käytä obfs4:ää liikenteen hämärtämiseen, jos se on saatavilla palveluntarjoajalta.</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="176"/>
+        <location filename="../main.cpp" line="172"/>
         <source>Enable autostart.</source>
         <translation>Ota automaattinen käynnistys käyttöön.</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="181"/>
+        <location filename="../main.cpp" line="177"/>
         <source>Web API port (default: 8080)</source>
         <translation>Web API -portti (oletus: 8080)</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="184"/>
+        <location filename="../main.cpp" line="180"/>
         <source>Start the VPN, either &apos;on&apos; or &apos;off&apos;.</source>
         <translation>Käynnistä VPN, joko &quot;päällä&quot; tai &quot;pois päältä&quot;.</translation>
     </message>
diff --git a/gui/i18n/main_fr.ts b/gui/i18n/main_fr.ts
index e5e24c7aa80585d4f10de66e1fad6a5b6a8a5932..d75d3b802f39026c71a9e8d9c30dcad455e797d1 100644
--- a/gui/i18n/main_fr.ts
+++ b/gui/i18n/main_fr.ts
@@ -26,7 +26,7 @@
 <context>
     <name>Footer</name>
     <message>
-        <location filename="../components/Footer.qml" line="171"/>
+        <location filename="../components/Footer.qml" line="180"/>
         <source>Recommended</source>
         <translation>Recommandé</translation>
     </message>
@@ -108,38 +108,38 @@
 <context>
     <name>MainView</name>
     <message>
-        <location filename="../components/MainView.qml" line="32"/>
-        <location filename="../components/MainView.qml" line="56"/>
+        <location filename="../components/MainView.qml" line="43"/>
+        <location filename="../components/MainView.qml" line="66"/>
         <source>Donate</source>
         <translation>Faire un don</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="49"/>
+        <location filename="../components/MainView.qml" line="59"/>
         <source>Preferences</source>
         <translation>Préférences</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="63"/>
+        <location filename="../components/MainView.qml" line="73"/>
         <source>Help</source>
         <translation>Aide</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="70"/>
+        <location filename="../components/MainView.qml" line="80"/>
         <source>About</source>
         <translation>À propos</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="77"/>
+        <location filename="../components/MainView.qml" line="87"/>
         <source>Quit</source>
         <translation>Fermer</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="104"/>
+        <location filename="../components/MainView.qml" line="111"/>
         <source>Please donate!</source>
         <translation>Veuillez faire un don.</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="118"/>
+        <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>Ce service est entièrement financé par les dons d’utilisateurs tels que vous. L’exploitation du RPV coûte approximativement 5&#xa0;$ US par personne et par mois, mais chaque geste compte. Souhaitez-vous faire un don maintenant&#x2009;?</translation>
     </message>
@@ -152,75 +152,85 @@
         <translation>Préférences</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="54"/>
+        <location filename="../components/Preferences.qml" line="55"/>
         <source>Turn off the VPN to make changes</source>
         <translation>Désactiver le RPV pour effectuer des changements</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="69"/>
+        <location filename="../components/Preferences.qml" line="71"/>
         <source>Language</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="102"/>
+        <location filename="../components/Preferences.qml" line="105"/>
         <source>Censorship circumvention</source>
         <translation>Contournement de la censure</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="110"/>
+        <location filename="../components/Preferences.qml" line="113"/>
         <source>These techniques can bypass censorship, but are slower. Use them only when needed.</source>
         <translation>Ces techniques peuvent contourner la censure, mais sont plus lentes. Ne les utiliser qu’au besoin.</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="124"/>
+        <location filename="../components/Preferences.qml" line="127"/>
         <source>Use obfs4 bridges</source>
         <translation>Utiliser des ponts obfs4</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="150"/>
+        <location filename="../components/Preferences.qml" line="153"/>
         <source>Traffic is obfuscated to bypass blocks</source>
         <translation>Le trafic est brouillé pour contourner les blocages</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="164"/>
+        <location filename="../components/Preferences.qml" line="167"/>
         <source>Use Snowflake</source>
         <translation>Utiliser Snowflake</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="179"/>
+        <location filename="../components/Preferences.qml" line="182"/>
         <source>Snowflake needs Tor installed in your system</source>
         <translation>Snowflake a besoin que Tor soit installé sur votre système</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="192"/>
+        <location filename="../components/Preferences.qml" line="195"/>
         <source>Transport</source>
         <translation>Transport</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="200"/>
+        <location filename="../components/Preferences.qml" line="203"/>
         <source>UDP can make the VPN faster. It might be blocked on some networks.</source>
         <translation>L’UDP peut accélérer le RPV. Il pourrait être bloqué sur certains réseaux.</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="213"/>
+        <location filename="../components/Preferences.qml" line="216"/>
         <source>Use UDP if available</source>
         <translation>Utiliser l’UDP si 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"></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="100"/>
+        <location filename="../components/Splash.qml" line="101"/>
         <source>There is a newer version available. </source>
         <translation>Une version plus récente est proposée.</translation>
     </message>
     <message>
-        <location filename="../components/Splash.qml" line="100"/>
+        <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>Assurez-vous de &lt;a href=&quot;https://0xacab.org/leap/bitmask-vpn/-/blob/main/docs/uninstall.md&quot;&gt;désinstaller&lt;/a&gt; la version précédente avant de lancer le nouveau programme d’installation.</translation>
     </message>
     <message>
-        <location filename="../components/Splash.qml" line="104"/>
+        <location filename="../components/Splash.qml" line="105"/>
         <source>UPGRADE NOW</source>
         <translation>METTRE À NIVEAU MAINTENANT</translation>
     </message>
@@ -228,7 +238,7 @@
 <context>
     <name>StatusBox</name>
     <message>
-        <location filename="../components/StatusBox.qml" line="91"/>
+        <location filename="../components/StatusBox.qml" line="78"/>
         <source>This can take several minutes</source>
         <translation type="unfinished"></translation>
     </message>
@@ -281,137 +291,134 @@
 <context>
     <name>VPNState</name>
     <message>
-        <location filename="../components/VPNState.qml" line="27"/>
+        <location filename="../components/VPNState.qml" line="26"/>
         <source>Setting up</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="52"/>
-        <location filename="../components/VPNState.qml" line="156"/>
+        <location filename="../components/VPNState.qml" line="51"/>
+        <location filename="../components/VPNState.qml" line="153"/>
         <source>Connecting</source>
         <translation>Connexion</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="85"/>
+        <location filename="../components/VPNState.qml" line="82"/>
         <source>Unsecured
 Connection</source>
         <translation>Connexion
 non sécurisée</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="100"/>
         <source>Turn on</source>
-        <translation>Activer</translation>
+        <translation type="vanished">Activer</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="120"/>
+        <location filename="../components/VPNState.qml" line="117"/>
         <source>Secured
 Connection</source>
         <translation>Connexion
 sécurisée</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="135"/>
         <source>Turn off</source>
-        <translation>Désactiver</translation>
+        <translation type="vanished">Désactiver</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="172"/>
         <source>Cancel</source>
-        <translation>Annuler</translation>
+        <translation type="vanished">Annuler</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="256"/>
+        <location filename="../components/VPNState.qml" line="265"/>
         <source>%1 off</source>
         <extracomment>%1 -&gt; application name</extracomment>
         <translation>%1 est désactivée</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="256"/>
+        <location filename="../components/VPNState.qml" line="265"/>
         <source>off</source>
         <translation>désactivé</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="259"/>
+        <location filename="../components/VPNState.qml" line="268"/>
         <source>%1 on</source>
         <extracomment>%1 -&gt; application name</extracomment>
         <translation>%1 est activée</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="262"/>
+        <location filename="../components/VPNState.qml" line="271"/>
         <source>Connecting to %1</source>
         <extracomment>%1 -&gt; application name</extracomment>
         <translation>Connexion à %1</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="265"/>
+        <location filename="../components/VPNState.qml" line="274"/>
         <source>Stopping %1</source>
         <extracomment>%1 -&gt; application name</extracomment>
         <translation>Arrêt de %1</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="268"/>
+        <location filename="../components/VPNState.qml" line="277"/>
         <source>%1 blocking internet</source>
         <extracomment>%1 -&gt; application name</extracomment>
         <translation>%1 bloque Internet</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="276"/>
+        <location filename="../components/VPNState.qml" line="284"/>
         <source>pluggable transport connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="278"/>
+        <location filename="../components/VPNState.qml" line="286"/>
         <source>connection done</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="280"/>
+        <location filename="../components/VPNState.qml" line="288"/>
         <source>doing handshake</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="282"/>
+        <location filename="../components/VPNState.qml" line="290"/>
         <source>handshake done</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="284"/>
+        <location filename="../components/VPNState.qml" line="292"/>
         <source>creating one-hop connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="286"/>
+        <location filename="../components/VPNState.qml" line="294"/>
         <source>requesting status</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="288"/>
+        <location filename="../components/VPNState.qml" line="296"/>
         <source>loading status</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="290"/>
+        <location filename="../components/VPNState.qml" line="298"/>
         <source>loading keys</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="292"/>
+        <location filename="../components/VPNState.qml" line="300"/>
         <source>requesting descriptors</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="294"/>
+        <location filename="../components/VPNState.qml" line="302"/>
         <source>loading descriptors</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="296"/>
+        <location filename="../components/VPNState.qml" line="304"/>
         <source>creating circuit</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="298"/>
+        <location filename="../components/VPNState.qml" line="306"/>
         <source>done</source>
         <translation type="unfinished"></translation>
     </message>
@@ -427,32 +434,32 @@ sécurisée</translation>
 <context>
     <name>main</name>
     <message>
-        <location filename="../main.cpp" line="144"/>
+        <location filename="../main.cpp" line="140"/>
         <source>: a fast and secure VPN. Powered by Bitmask.</source>
         <translation>&#xa0;: un RPV rapide et sécurisé. Propulsé par Bitmask.</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="151"/>
+        <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>Ne pas afficher l’icône de la zone de notification (utile combiné à l’extension Gnome&#xa0;Shell ou pour contrôler le RPV par d’autres moyens).</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="158"/>
+        <location filename="../main.cpp" line="154"/>
         <source>Enable Web API.</source>
         <translation>Activer l’API Web.</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="164"/>
+        <location filename="../main.cpp" line="160"/>
         <source>Install helpers (Linux only, requires sudo).</source>
         <translation>Installer les aides (Linux seulement, «&#xa0;sudo&#xa0;» est requis). </translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="170"/>
+        <location filename="../main.cpp" line="166"/>
         <source>Use obfs4 to obfuscate the traffic, if available in the provider.</source>
         <translation>Utiliser obfs4 pour brouiller le trafic, si proposé par le fournisseur.</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="176"/>
+        <location filename="../main.cpp" line="172"/>
         <source>Enable autostart.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -461,12 +468,12 @@ sécurisée</translation>
         <translation type="vanished">Désactiver le démarrage automatique pour la prochaine exécution.</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="181"/>
+        <location filename="../main.cpp" line="177"/>
         <source>Web API port (default: 8080)</source>
         <translation>Port de l’API Web (par défaut&#xa0;: 8080)</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="184"/>
+        <location filename="../main.cpp" line="180"/>
         <source>Start the VPN, either &apos;on&apos; or &apos;off&apos;.</source>
         <translation>Démarrer le RPV, soit Activer soit Désactiver</translation>
     </message>
diff --git a/gui/i18n/main_hu.ts b/gui/i18n/main_hu.ts
index 11570f6cde4b6783b14b6c500ac4879206dd061d..0a19434369ac13e89a7d60a09deb15ef1f728b69 100644
--- a/gui/i18n/main_hu.ts
+++ b/gui/i18n/main_hu.ts
@@ -25,7 +25,7 @@
 <context>
     <name>Footer</name>
     <message>
-        <location filename="../components/Footer.qml" line="171"/>
+        <location filename="../components/Footer.qml" line="180"/>
         <source>Recommended</source>
         <translation>Ajánlott</translation>
     </message>
@@ -107,38 +107,38 @@
 <context>
     <name>MainView</name>
     <message>
-        <location filename="../components/MainView.qml" line="32"/>
-        <location filename="../components/MainView.qml" line="56"/>
+        <location filename="../components/MainView.qml" line="43"/>
+        <location filename="../components/MainView.qml" line="66"/>
         <source>Donate</source>
         <translation>Támogatás</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="49"/>
+        <location filename="../components/MainView.qml" line="59"/>
         <source>Preferences</source>
         <translation>Beállítások</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="63"/>
+        <location filename="../components/MainView.qml" line="73"/>
         <source>Help</source>
         <translation>Súgó</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="70"/>
+        <location filename="../components/MainView.qml" line="80"/>
         <source>About</source>
         <translation>Névjegy</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="77"/>
+        <location filename="../components/MainView.qml" line="87"/>
         <source>Quit</source>
         <translation>Kilépés</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="104"/>
+        <location filename="../components/MainView.qml" line="111"/>
         <source>Please donate!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="118"/>
+        <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 type="unfinished"></translation>
     </message>
@@ -151,75 +151,85 @@
         <translation>Beállítások</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="54"/>
+        <location filename="../components/Preferences.qml" line="55"/>
         <source>Turn off the VPN to make changes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="69"/>
+        <location filename="../components/Preferences.qml" line="71"/>
         <source>Language</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="102"/>
+        <location filename="../components/Preferences.qml" line="105"/>
         <source>Censorship circumvention</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="110"/>
+        <location filename="../components/Preferences.qml" line="113"/>
         <source>These techniques can bypass censorship, but are slower. Use them only when needed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="124"/>
+        <location filename="../components/Preferences.qml" line="127"/>
         <source>Use obfs4 bridges</source>
         <translation>obfs4 hidak használata</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="150"/>
+        <location filename="../components/Preferences.qml" line="153"/>
         <source>Traffic is obfuscated to bypass blocks</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="164"/>
+        <location filename="../components/Preferences.qml" line="167"/>
         <source>Use Snowflake</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="179"/>
+        <location filename="../components/Preferences.qml" line="182"/>
         <source>Snowflake needs Tor installed in your system</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="192"/>
+        <location filename="../components/Preferences.qml" line="195"/>
         <source>Transport</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="200"/>
+        <location filename="../components/Preferences.qml" line="203"/>
         <source>UDP can make the VPN faster. It might be blocked on some networks.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="213"/>
+        <location filename="../components/Preferences.qml" line="216"/>
         <source>Use UDP if available</source>
         <translation type="unfinished"></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="100"/>
+        <location filename="../components/Splash.qml" line="101"/>
         <source>There is a newer version available. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Splash.qml" line="100"/>
+        <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 type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Splash.qml" line="104"/>
+        <location filename="../components/Splash.qml" line="105"/>
         <source>UPGRADE NOW</source>
         <translation type="unfinished"></translation>
     </message>
@@ -227,7 +237,7 @@
 <context>
     <name>StatusBox</name>
     <message>
-        <location filename="../components/StatusBox.qml" line="91"/>
+        <location filename="../components/StatusBox.qml" line="78"/>
         <source>This can take several minutes</source>
         <translation type="unfinished"></translation>
     </message>
@@ -280,135 +290,132 @@
 <context>
     <name>VPNState</name>
     <message>
-        <location filename="../components/VPNState.qml" line="27"/>
+        <location filename="../components/VPNState.qml" line="26"/>
         <source>Setting up</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="52"/>
-        <location filename="../components/VPNState.qml" line="156"/>
+        <location filename="../components/VPNState.qml" line="51"/>
+        <location filename="../components/VPNState.qml" line="153"/>
         <source>Connecting</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="85"/>
+        <location filename="../components/VPNState.qml" line="82"/>
         <source>Unsecured
 Connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="100"/>
         <source>Turn on</source>
-        <translation>Bekapcsolás</translation>
+        <translation type="vanished">Bekapcsolás</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="120"/>
+        <location filename="../components/VPNState.qml" line="117"/>
         <source>Secured
 Connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="135"/>
         <source>Turn off</source>
-        <translation>Kikapcsolás</translation>
+        <translation type="vanished">Kikapcsolás</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="172"/>
         <source>Cancel</source>
-        <translation>Mégse</translation>
+        <translation type="vanished">Mégse</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="256"/>
+        <location filename="../components/VPNState.qml" line="265"/>
         <source>%1 off</source>
         <extracomment>%1 -&gt; application name</extracomment>
         <translation>%1 ki</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="256"/>
+        <location filename="../components/VPNState.qml" line="265"/>
         <source>off</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="259"/>
+        <location filename="../components/VPNState.qml" line="268"/>
         <source>%1 on</source>
         <extracomment>%1 -&gt; application name</extracomment>
         <translation>%1 be</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="262"/>
+        <location filename="../components/VPNState.qml" line="271"/>
         <source>Connecting to %1</source>
         <extracomment>%1 -&gt; application name</extracomment>
         <translation>Kapcsolódás ide: %1</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="265"/>
+        <location filename="../components/VPNState.qml" line="274"/>
         <source>Stopping %1</source>
         <extracomment>%1 -&gt; application name</extracomment>
         <translation>%1 leállítása</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="268"/>
+        <location filename="../components/VPNState.qml" line="277"/>
         <source>%1 blocking internet</source>
         <extracomment>%1 -&gt; application name</extracomment>
         <translation>%1 blokkolja az internetet</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="276"/>
+        <location filename="../components/VPNState.qml" line="284"/>
         <source>pluggable transport connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="278"/>
+        <location filename="../components/VPNState.qml" line="286"/>
         <source>connection done</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="280"/>
+        <location filename="../components/VPNState.qml" line="288"/>
         <source>doing handshake</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="282"/>
+        <location filename="../components/VPNState.qml" line="290"/>
         <source>handshake done</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="284"/>
+        <location filename="../components/VPNState.qml" line="292"/>
         <source>creating one-hop connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="286"/>
+        <location filename="../components/VPNState.qml" line="294"/>
         <source>requesting status</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="288"/>
+        <location filename="../components/VPNState.qml" line="296"/>
         <source>loading status</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="290"/>
+        <location filename="../components/VPNState.qml" line="298"/>
         <source>loading keys</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="292"/>
+        <location filename="../components/VPNState.qml" line="300"/>
         <source>requesting descriptors</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="294"/>
+        <location filename="../components/VPNState.qml" line="302"/>
         <source>loading descriptors</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="296"/>
+        <location filename="../components/VPNState.qml" line="304"/>
         <source>creating circuit</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="298"/>
+        <location filename="../components/VPNState.qml" line="306"/>
         <source>done</source>
         <translation type="unfinished"></translation>
     </message>
@@ -424,32 +431,32 @@ Connection</source>
 <context>
     <name>main</name>
     <message>
-        <location filename="../main.cpp" line="144"/>
+        <location filename="../main.cpp" line="140"/>
         <source>: a fast and secure VPN. Powered by Bitmask.</source>
         <translation>: gyors és biztonságos VPN. A Bitmask-kal hajtva.</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="151"/>
+        <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>A tálca ikon elrejtése (hasznos a Gnome Shell kiterjesztéssel együtt, vagy ha a VPN-t más módon vezérli).</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="158"/>
+        <location filename="../main.cpp" line="154"/>
         <source>Enable Web API.</source>
         <translation>Web API engedélyezés.</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="164"/>
+        <location filename="../main.cpp" line="160"/>
         <source>Install helpers (Linux only, requires sudo).</source>
         <translation>Segítők telepítése (csak Linux, sudo-t igényel).</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="170"/>
+        <location filename="../main.cpp" line="166"/>
         <source>Use obfs4 to obfuscate the traffic, if available in the provider.</source>
         <translation>Az obfs4 használata a forgalom obfuszkálására, ha elérhető a szolgáltatónál.</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="176"/>
+        <location filename="../main.cpp" line="172"/>
         <source>Enable autostart.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -458,12 +465,12 @@ Connection</source>
         <translation type="vanished">Autostart tiltása a következő futtatásnál.</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="181"/>
+        <location filename="../main.cpp" line="177"/>
         <source>Web API port (default: 8080)</source>
         <translation>Web API port alapértelmezett: 8080)</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="184"/>
+        <location filename="../main.cpp" line="180"/>
         <source>Start the VPN, either &apos;on&apos; or &apos;off&apos;.</source>
         <translation>VPN indítása &apos;be&apos; vagy &apos;ki&apos;.</translation>
     </message>
diff --git a/gui/i18n/main_it.ts b/gui/i18n/main_it.ts
index 1efa5a5398d2e7846b754b2a617c91b69c996a5a..995fefe8d753ed29c4b592efea1e218a5df82b3d 100644
--- a/gui/i18n/main_it.ts
+++ b/gui/i18n/main_it.ts
@@ -26,7 +26,7 @@
 <context>
     <name>Footer</name>
     <message>
-        <location filename="../components/Footer.qml" line="171"/>
+        <location filename="../components/Footer.qml" line="180"/>
         <source>Recommended</source>
         <translation>Raccomandate</translation>
     </message>
@@ -108,38 +108,38 @@
 <context>
     <name>MainView</name>
     <message>
-        <location filename="../components/MainView.qml" line="32"/>
-        <location filename="../components/MainView.qml" line="56"/>
+        <location filename="../components/MainView.qml" line="43"/>
+        <location filename="../components/MainView.qml" line="66"/>
         <source>Donate</source>
         <translation>Dona</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="49"/>
+        <location filename="../components/MainView.qml" line="59"/>
         <source>Preferences</source>
         <translation>Preferenze</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="63"/>
+        <location filename="../components/MainView.qml" line="73"/>
         <source>Help</source>
         <translation>Aiuto</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="70"/>
+        <location filename="../components/MainView.qml" line="80"/>
         <source>About</source>
         <translation>Informazioni</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="77"/>
+        <location filename="../components/MainView.qml" line="87"/>
         <source>Quit</source>
         <translation>Esci</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="104"/>
+        <location filename="../components/MainView.qml" line="111"/>
         <source>Please donate!</source>
         <translation>Fai una donazione!</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="118"/>
+        <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>Questo servizio è interamente pagato da donazioni di utenti come te. Il costo della VPN è approssimativamente di 5 USD al mese a persona, ma ogni piccola goccia conta. Vuoi donare ora?</translation>
     </message>
@@ -152,75 +152,85 @@
         <translation>Preferenze</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="54"/>
+        <location filename="../components/Preferences.qml" line="55"/>
         <source>Turn off the VPN to make changes</source>
         <translation>Spegni la VPN per applicare le modifiche</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="69"/>
+        <location filename="../components/Preferences.qml" line="71"/>
         <source>Language</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="102"/>
+        <location filename="../components/Preferences.qml" line="105"/>
         <source>Censorship circumvention</source>
         <translation>Elusione della censura</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="110"/>
+        <location filename="../components/Preferences.qml" line="113"/>
         <source>These techniques can bypass censorship, but are slower. Use them only when needed.</source>
         <translation>Queste tecniche possono bypassare la censura, ma rallentano la connessione. Usale solo quando necessario.</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="124"/>
+        <location filename="../components/Preferences.qml" line="127"/>
         <source>Use obfs4 bridges</source>
         <translation>Utilizza bridges obfs4</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="150"/>
+        <location filename="../components/Preferences.qml" line="153"/>
         <source>Traffic is obfuscated to bypass blocks</source>
         <translation>Il traffico è offuscato per bypassare i blocchi</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="164"/>
+        <location filename="../components/Preferences.qml" line="167"/>
         <source>Use Snowflake</source>
         <translation>Usa Snowflake</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="179"/>
+        <location filename="../components/Preferences.qml" line="182"/>
         <source>Snowflake needs Tor installed in your system</source>
         <translation>Snowflake richiede che sia installato Tor nel sistema</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="192"/>
+        <location filename="../components/Preferences.qml" line="195"/>
         <source>Transport</source>
         <translation>Trasporto</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="200"/>
+        <location filename="../components/Preferences.qml" line="203"/>
         <source>UDP can make the VPN faster. It might be blocked on some networks.</source>
         <translation>UDP può velocizzare la VPN. Potrebbe venir bloccato in alcune reti.</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="213"/>
+        <location filename="../components/Preferences.qml" line="216"/>
         <source>Use UDP if available</source>
         <translation>Utilizza UDP se disponibile</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="100"/>
+        <location filename="../components/Splash.qml" line="101"/>
         <source>There is a newer version available. </source>
         <translation>E&apos; disponibile una nuova versione.</translation>
     </message>
     <message>
-        <location filename="../components/Splash.qml" line="100"/>
+        <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>Assicurati di &lt;a href=&quot;https://0xacab.org/leap/bitmask-vpn/-/blob/main/docs/uninstall.md&quot;&gt;disinstallare&lt;/a&gt; l&apos;installazione precedente prima di eseguire quella nuova.</translation>
     </message>
     <message>
-        <location filename="../components/Splash.qml" line="104"/>
+        <location filename="../components/Splash.qml" line="105"/>
         <source>UPGRADE NOW</source>
         <translation>AGGIORNA ADESSO</translation>
     </message>
@@ -228,7 +238,7 @@
 <context>
     <name>StatusBox</name>
     <message>
-        <location filename="../components/StatusBox.qml" line="91"/>
+        <location filename="../components/StatusBox.qml" line="78"/>
         <source>This can take several minutes</source>
         <translation>Questa operazione può richiedere diversi minuti.</translation>
     </message>
@@ -281,137 +291,134 @@
 <context>
     <name>VPNState</name>
     <message>
-        <location filename="../components/VPNState.qml" line="27"/>
+        <location filename="../components/VPNState.qml" line="26"/>
         <source>Setting up</source>
         <translation>Impostazione in corso</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="52"/>
-        <location filename="../components/VPNState.qml" line="156"/>
+        <location filename="../components/VPNState.qml" line="51"/>
+        <location filename="../components/VPNState.qml" line="153"/>
         <source>Connecting</source>
         <translation>Connessione in corso</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="85"/>
+        <location filename="../components/VPNState.qml" line="82"/>
         <source>Unsecured
 Connection</source>
         <translation>Connessione
 non sicura</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="100"/>
         <source>Turn on</source>
-        <translation>Accendi</translation>
+        <translation type="vanished">Accendi</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="120"/>
+        <location filename="../components/VPNState.qml" line="117"/>
         <source>Secured
 Connection</source>
         <translation>Connessione
 sicura</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="135"/>
         <source>Turn off</source>
-        <translation>Spegni</translation>
+        <translation type="vanished">Spegni</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="172"/>
         <source>Cancel</source>
-        <translation>Annulla</translation>
+        <translation type="vanished">Annulla</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="256"/>
+        <location filename="../components/VPNState.qml" line="265"/>
         <source>%1 off</source>
         <extracomment>%1 -&gt; application name</extracomment>
         <translation>%1 spento</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="256"/>
+        <location filename="../components/VPNState.qml" line="265"/>
         <source>off</source>
         <translation>spento</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="259"/>
+        <location filename="../components/VPNState.qml" line="268"/>
         <source>%1 on</source>
         <extracomment>%1 -&gt; application name</extracomment>
         <translation>%1 acceso</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="262"/>
+        <location filename="../components/VPNState.qml" line="271"/>
         <source>Connecting to %1</source>
         <extracomment>%1 -&gt; application name</extracomment>
         <translation>Connessione a %1</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="265"/>
+        <location filename="../components/VPNState.qml" line="274"/>
         <source>Stopping %1</source>
         <extracomment>%1 -&gt; application name</extracomment>
         <translation>Arresto di %1 in corso</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="268"/>
+        <location filename="../components/VPNState.qml" line="277"/>
         <source>%1 blocking internet</source>
         <extracomment>%1 -&gt; application name</extracomment>
         <translation>%1 sta bloccando internet</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="276"/>
+        <location filename="../components/VPNState.qml" line="284"/>
         <source>pluggable transport connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="278"/>
+        <location filename="../components/VPNState.qml" line="286"/>
         <source>connection done</source>
         <translation>connessione eseguita</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="280"/>
+        <location filename="../components/VPNState.qml" line="288"/>
         <source>doing handshake</source>
         <translation>handshake in corso</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="282"/>
+        <location filename="../components/VPNState.qml" line="290"/>
         <source>handshake done</source>
         <translation>handshake eseguito</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="284"/>
+        <location filename="../components/VPNState.qml" line="292"/>
         <source>creating one-hop connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="286"/>
+        <location filename="../components/VPNState.qml" line="294"/>
         <source>requesting status</source>
         <translation>richiesta stato in corso</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="288"/>
+        <location filename="../components/VPNState.qml" line="296"/>
         <source>loading status</source>
         <translation>caricamento stato</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="290"/>
+        <location filename="../components/VPNState.qml" line="298"/>
         <source>loading keys</source>
         <translation>caricamento chiavi</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="292"/>
+        <location filename="../components/VPNState.qml" line="300"/>
         <source>requesting descriptors</source>
         <translation>richiesta descrittori</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="294"/>
+        <location filename="../components/VPNState.qml" line="302"/>
         <source>loading descriptors</source>
         <translation>caricamento descrittori</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="296"/>
+        <location filename="../components/VPNState.qml" line="304"/>
         <source>creating circuit</source>
         <translation>creazione circuito</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="298"/>
+        <location filename="../components/VPNState.qml" line="306"/>
         <source>done</source>
         <translation>fatto</translation>
     </message>
@@ -427,42 +434,42 @@ sicura</translation>
 <context>
     <name>main</name>
     <message>
-        <location filename="../main.cpp" line="144"/>
+        <location filename="../main.cpp" line="140"/>
         <source>: a fast and secure VPN. Powered by Bitmask.</source>
         <translation>: una VPN veloce e sicura. Powered by Bitmask.</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="151"/>
+        <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>Non mostrare l&apos;icona nel vassoio di sistema (utile insieme a l&apos;estensione di Gnome Shell o per controllare la VPN in altri modi).</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="158"/>
+        <location filename="../main.cpp" line="154"/>
         <source>Enable Web API.</source>
         <translation>Abilita API Web.</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="164"/>
+        <location filename="../main.cpp" line="160"/>
         <source>Install helpers (Linux only, requires sudo).</source>
         <translation>Installa helpers (solo Linux, richiede sudo).</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="170"/>
+        <location filename="../main.cpp" line="166"/>
         <source>Use obfs4 to obfuscate the traffic, if available in the provider.</source>
         <translation>Usa obfs4 per offuscare il traffico, se disponibile nel provider.</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="176"/>
+        <location filename="../main.cpp" line="172"/>
         <source>Enable autostart.</source>
         <translation>Abilita avvio automatico.</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="181"/>
+        <location filename="../main.cpp" line="177"/>
         <source>Web API port (default: 8080)</source>
         <translation>Porta API web (default: 8080)</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="184"/>
+        <location filename="../main.cpp" line="180"/>
         <source>Start the VPN, either &apos;on&apos; or &apos;off&apos;.</source>
         <translation>Avvia la VPN, &apos;on&apos; o &apos;off&apos;.</translation>
     </message>
diff --git a/gui/i18n/main_lt.ts b/gui/i18n/main_lt.ts
index d787d7a83e2b1e6cdd756adc0e343faa56d122c0..9f063d98eb96be1b6aad35ea8fce26193616b490 100644
--- a/gui/i18n/main_lt.ts
+++ b/gui/i18n/main_lt.ts
@@ -26,7 +26,7 @@
 <context>
     <name>Footer</name>
     <message>
-        <location filename="../components/Footer.qml" line="171"/>
+        <location filename="../components/Footer.qml" line="180"/>
         <source>Recommended</source>
         <translation>Rekomenduojama</translation>
     </message>
@@ -108,38 +108,38 @@
 <context>
     <name>MainView</name>
     <message>
-        <location filename="../components/MainView.qml" line="32"/>
-        <location filename="../components/MainView.qml" line="56"/>
+        <location filename="../components/MainView.qml" line="43"/>
+        <location filename="../components/MainView.qml" line="66"/>
         <source>Donate</source>
         <translation>Paaukoti</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="49"/>
+        <location filename="../components/MainView.qml" line="59"/>
         <source>Preferences</source>
         <translation>Nuostatos</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="63"/>
+        <location filename="../components/MainView.qml" line="73"/>
         <source>Help</source>
         <translation>Žinynas</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="70"/>
+        <location filename="../components/MainView.qml" line="80"/>
         <source>About</source>
         <translation>Apie</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="77"/>
+        <location filename="../components/MainView.qml" line="87"/>
         <source>Quit</source>
         <translation>Išeiti</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="104"/>
+        <location filename="../components/MainView.qml" line="111"/>
         <source>Please donate!</source>
         <translation>Prašome paaukoti!</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="118"/>
+        <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>Ši paslauga yra pilnai apmokama iš lėšų, kurias paaukoja tokie naudotojai, kaip jūs. VPN aptarnavimo kaina vienam žmogui siekia maždaug 5 JAV dolerius per mėnesį, bet yra vertinamas kiekvienas centas. Ar norite paaukoti dabar?</translation>
     </message>
@@ -152,75 +152,85 @@
         <translation>Nuostatos</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="54"/>
+        <location filename="../components/Preferences.qml" line="55"/>
         <source>Turn off the VPN to make changes</source>
         <translation>Norėdami atlikti pakeitimus, išjunkite VPN</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="69"/>
+        <location filename="../components/Preferences.qml" line="71"/>
         <source>Language</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="102"/>
+        <location filename="../components/Preferences.qml" line="105"/>
         <source>Censorship circumvention</source>
         <translation>Cenzūros apėjimas</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="110"/>
+        <location filename="../components/Preferences.qml" line="113"/>
         <source>These techniques can bypass censorship, but are slower. Use them only when needed.</source>
         <translation>Šios technikos gali apeiti cenzūrą, bet yra lėtesnės. Naudokite jas tik tada, kai prireikia.</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="124"/>
+        <location filename="../components/Preferences.qml" line="127"/>
         <source>Use obfs4 bridges</source>
         <translation>Naudoti obfs4 tinklų tiltus</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="150"/>
+        <location filename="../components/Preferences.qml" line="153"/>
         <source>Traffic is obfuscated to bypass blocks</source>
         <translation>Duomenų srautas yra maskuojamas, kad būtų apeiti blokavimai</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="164"/>
+        <location filename="../components/Preferences.qml" line="167"/>
         <source>Use Snowflake</source>
         <translation>Naudoti „Snowflake“</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="179"/>
+        <location filename="../components/Preferences.qml" line="182"/>
         <source>Snowflake needs Tor installed in your system</source>
         <translation>„Snowflake“ reikalauja, kad jūsų sistemoje būtų įdiegtas „Tor“</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="192"/>
+        <location filename="../components/Preferences.qml" line="195"/>
         <source>Transport</source>
         <translation>Perdavimas</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="200"/>
+        <location filename="../components/Preferences.qml" line="203"/>
         <source>UDP can make the VPN faster. It might be blocked on some networks.</source>
         <translation>UDP gali padaryti VPN greitesnį. UDP kai kuriuose tinkluose gali būti blokuojamas.</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="213"/>
+        <location filename="../components/Preferences.qml" line="216"/>
         <source>Use UDP if available</source>
         <translation>Jei prieinama, naudoti 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="100"/>
+        <location filename="../components/Splash.qml" line="101"/>
         <source>There is a newer version available. </source>
         <translation>Yra prieinama naujesnė versija.</translation>
     </message>
     <message>
-        <location filename="../components/Splash.qml" line="100"/>
+        <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>Prieš paleisdami diegimo programą, įsitikinkite, kad &lt;a href=&quot;https://0xacab.org/leap/bitmask-vpn/-/blob/main/docs/uninstall.md&quot;&gt;pašalinote&lt;/a&gt; ankstesnę versiją.</translation>
     </message>
     <message>
-        <location filename="../components/Splash.qml" line="104"/>
+        <location filename="../components/Splash.qml" line="105"/>
         <source>UPGRADE NOW</source>
         <translation>NAUJINTI DABAR</translation>
     </message>
@@ -228,7 +238,7 @@
 <context>
     <name>StatusBox</name>
     <message>
-        <location filename="../components/StatusBox.qml" line="91"/>
+        <location filename="../components/StatusBox.qml" line="78"/>
         <source>This can take several minutes</source>
         <translation type="unfinished"></translation>
     </message>
@@ -281,137 +291,134 @@
 <context>
     <name>VPNState</name>
     <message>
-        <location filename="../components/VPNState.qml" line="27"/>
+        <location filename="../components/VPNState.qml" line="26"/>
         <source>Setting up</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="52"/>
-        <location filename="../components/VPNState.qml" line="156"/>
+        <location filename="../components/VPNState.qml" line="51"/>
+        <location filename="../components/VPNState.qml" line="153"/>
         <source>Connecting</source>
         <translation>Jungiamasi</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="85"/>
+        <location filename="../components/VPNState.qml" line="82"/>
         <source>Unsecured
 Connection</source>
         <translation>Neapsaugotas
 ryšys</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="100"/>
         <source>Turn on</source>
-        <translation>Įjungti</translation>
+        <translation type="vanished">Įjungti</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="120"/>
+        <location filename="../components/VPNState.qml" line="117"/>
         <source>Secured
 Connection</source>
         <translation>Apsaugotas
 ryšys</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="135"/>
         <source>Turn off</source>
-        <translation>Išjungti</translation>
+        <translation type="vanished">Išjungti</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="172"/>
         <source>Cancel</source>
-        <translation>Atsisakyti</translation>
+        <translation type="vanished">Atsisakyti</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="256"/>
+        <location filename="../components/VPNState.qml" line="265"/>
         <source>%1 off</source>
         <extracomment>%1 -&gt; application name</extracomment>
         <translation>%1 išjungta</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="256"/>
+        <location filename="../components/VPNState.qml" line="265"/>
         <source>off</source>
         <translation>išjungta</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="259"/>
+        <location filename="../components/VPNState.qml" line="268"/>
         <source>%1 on</source>
         <extracomment>%1 -&gt; application name</extracomment>
         <translation>%1 įjungta</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="262"/>
+        <location filename="../components/VPNState.qml" line="271"/>
         <source>Connecting to %1</source>
         <extracomment>%1 -&gt; application name</extracomment>
         <translation>Jungiamasi prie %1</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="265"/>
+        <location filename="../components/VPNState.qml" line="274"/>
         <source>Stopping %1</source>
         <extracomment>%1 -&gt; application name</extracomment>
         <translation>Stabdoma %1</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="268"/>
+        <location filename="../components/VPNState.qml" line="277"/>
         <source>%1 blocking internet</source>
         <extracomment>%1 -&gt; application name</extracomment>
         <translation>%1 blokuoja internetą</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="276"/>
+        <location filename="../components/VPNState.qml" line="284"/>
         <source>pluggable transport connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="278"/>
+        <location filename="../components/VPNState.qml" line="286"/>
         <source>connection done</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="280"/>
+        <location filename="../components/VPNState.qml" line="288"/>
         <source>doing handshake</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="282"/>
+        <location filename="../components/VPNState.qml" line="290"/>
         <source>handshake done</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="284"/>
+        <location filename="../components/VPNState.qml" line="292"/>
         <source>creating one-hop connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="286"/>
+        <location filename="../components/VPNState.qml" line="294"/>
         <source>requesting status</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="288"/>
+        <location filename="../components/VPNState.qml" line="296"/>
         <source>loading status</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="290"/>
+        <location filename="../components/VPNState.qml" line="298"/>
         <source>loading keys</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="292"/>
+        <location filename="../components/VPNState.qml" line="300"/>
         <source>requesting descriptors</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="294"/>
+        <location filename="../components/VPNState.qml" line="302"/>
         <source>loading descriptors</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="296"/>
+        <location filename="../components/VPNState.qml" line="304"/>
         <source>creating circuit</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="298"/>
+        <location filename="../components/VPNState.qml" line="306"/>
         <source>done</source>
         <translation type="unfinished"></translation>
     </message>
@@ -427,32 +434,32 @@ ryšys</translation>
 <context>
     <name>main</name>
     <message>
-        <location filename="../main.cpp" line="144"/>
+        <location filename="../main.cpp" line="140"/>
         <source>: a fast and secure VPN. Powered by Bitmask.</source>
         <translation>: greitas ir saugus VPN. Veikia su Bitmask.</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="151"/>
+        <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>Nerodyti sistemos dėklo piktogramos (praverčia su Gnome apvalkalo plėtiniu arba siekiant kitokiu būdu valdyti VPN).</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="158"/>
+        <location filename="../main.cpp" line="154"/>
         <source>Enable Web API.</source>
         <translation>Įjungti saityno API.</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="164"/>
+        <location filename="../main.cpp" line="160"/>
         <source>Install helpers (Linux only, requires sudo).</source>
         <translation>Įdiegti pagelbiklius (tik Linux, reikalauja sudo).</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="170"/>
+        <location filename="../main.cpp" line="166"/>
         <source>Use obfs4 to obfuscate the traffic, if available in the provider.</source>
         <translation>Naudoti obfs4, siekiant maskuoti duomenų srautą, jei prieinama iš teikėjo.</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="176"/>
+        <location filename="../main.cpp" line="172"/>
         <source>Enable autostart.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -461,12 +468,12 @@ ryšys</translation>
         <translation type="vanished">Išjungti automatinį paleidimą kitam paleidimui.</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="181"/>
+        <location filename="../main.cpp" line="177"/>
         <source>Web API port (default: 8080)</source>
         <translation>Saityno API prievadas (numatytasis: 8080)</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="184"/>
+        <location filename="../main.cpp" line="180"/>
         <source>Start the VPN, either &apos;on&apos; or &apos;off&apos;.</source>
         <translation>Paleisti VPN, arba „on“, arba „off“.</translation>
     </message>
diff --git a/gui/i18n/main_nl.ts b/gui/i18n/main_nl.ts
index 2d6f193fa8e4b88e10a580438c344fb20773e149..846dbb48b3a71426c68404d8356d7256a587a50d 100644
--- a/gui/i18n/main_nl.ts
+++ b/gui/i18n/main_nl.ts
@@ -26,7 +26,7 @@
 <context>
     <name>Footer</name>
     <message>
-        <location filename="../components/Footer.qml" line="171"/>
+        <location filename="../components/Footer.qml" line="180"/>
         <source>Recommended</source>
         <translation>Aanbevolen</translation>
     </message>
@@ -108,38 +108,38 @@
 <context>
     <name>MainView</name>
     <message>
-        <location filename="../components/MainView.qml" line="32"/>
-        <location filename="../components/MainView.qml" line="56"/>
+        <location filename="../components/MainView.qml" line="43"/>
+        <location filename="../components/MainView.qml" line="66"/>
         <source>Donate</source>
         <translation>Doneren</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="49"/>
+        <location filename="../components/MainView.qml" line="59"/>
         <source>Preferences</source>
         <translation>Voorkeuren</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="63"/>
+        <location filename="../components/MainView.qml" line="73"/>
         <source>Help</source>
         <translation>Help</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="70"/>
+        <location filename="../components/MainView.qml" line="80"/>
         <source>About</source>
         <translation>Over</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="77"/>
+        <location filename="../components/MainView.qml" line="87"/>
         <source>Quit</source>
         <translation>Stoppen</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="104"/>
+        <location filename="../components/MainView.qml" line="111"/>
         <source>Please donate!</source>
         <translation>Doneer alsjeblieft!</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="118"/>
+        <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>Deze dienst wordt volledig gefinancierd met donaties van gebruikers zoals jij. Het kost ongeveer 5$ per persoon per maand, maar ieder beetje helpt. Wil je nu doneren?</translation>
     </message>
@@ -152,75 +152,85 @@
         <translation>Voorkeuren</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="54"/>
+        <location filename="../components/Preferences.qml" line="55"/>
         <source>Turn off the VPN to make changes</source>
         <translation>Schakel de VPN uit om te wijzigen</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="69"/>
+        <location filename="../components/Preferences.qml" line="71"/>
         <source>Language</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="102"/>
+        <location filename="../components/Preferences.qml" line="105"/>
         <source>Censorship circumvention</source>
         <translation>Censuur omzeilen</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="110"/>
+        <location filename="../components/Preferences.qml" line="113"/>
         <source>These techniques can bypass censorship, but are slower. Use them only when needed.</source>
         <translation>Deze techniek kan censuur omzeilen, maar is ook trager. Gebruik het alleen wanneer noodzakelijk.</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="124"/>
+        <location filename="../components/Preferences.qml" line="127"/>
         <source>Use obfs4 bridges</source>
         <translation>Gebruik een obfs4 bridge</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="150"/>
+        <location filename="../components/Preferences.qml" line="153"/>
         <source>Traffic is obfuscated to bypass blocks</source>
         <translation>Verkeer is versluierd om blokkades te omzeilen</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="164"/>
+        <location filename="../components/Preferences.qml" line="167"/>
         <source>Use Snowflake</source>
         <translation>Gebruik Snowflake</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="179"/>
+        <location filename="../components/Preferences.qml" line="182"/>
         <source>Snowflake needs Tor installed in your system</source>
         <translation>Tor moet op je systeem geïnstalleerd zijn voor Snowflake</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="192"/>
+        <location filename="../components/Preferences.qml" line="195"/>
         <source>Transport</source>
         <translation>Transport</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="200"/>
+        <location filename="../components/Preferences.qml" line="203"/>
         <source>UDP can make the VPN faster. It might be blocked on some networks.</source>
         <translation>UDP kan een VPN sneller maken. Het kan geblokkeerd zijn op sommige netwerken.</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="213"/>
+        <location filename="../components/Preferences.qml" line="216"/>
         <source>Use UDP if available</source>
         <translation>Gebruik UDP wanneer beschikbaar</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="100"/>
+        <location filename="../components/Splash.qml" line="101"/>
         <source>There is a newer version available. </source>
         <translation>Er is een nieuwe versie beschikbaar.</translation>
     </message>
     <message>
-        <location filename="../components/Splash.qml" line="100"/>
+        <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>Zorg ervoor dat je de vorige versie &lt;a href=&quot;https://0xacab.org/leap/bitmask-vpn/-/blob/main/docs/uninstall.md&quot;&gt;deïnstalleert&lt;/a&gt; voor je de nieuwe versie start.</translation>
     </message>
     <message>
-        <location filename="../components/Splash.qml" line="104"/>
+        <location filename="../components/Splash.qml" line="105"/>
         <source>UPGRADE NOW</source>
         <translation>UPGRADE NU</translation>
     </message>
@@ -228,7 +238,7 @@
 <context>
     <name>StatusBox</name>
     <message>
-        <location filename="../components/StatusBox.qml" line="91"/>
+        <location filename="../components/StatusBox.qml" line="78"/>
         <source>This can take several minutes</source>
         <translation type="unfinished"></translation>
     </message>
@@ -281,137 +291,134 @@
 <context>
     <name>VPNState</name>
     <message>
-        <location filename="../components/VPNState.qml" line="27"/>
+        <location filename="../components/VPNState.qml" line="26"/>
         <source>Setting up</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="52"/>
-        <location filename="../components/VPNState.qml" line="156"/>
+        <location filename="../components/VPNState.qml" line="51"/>
+        <location filename="../components/VPNState.qml" line="153"/>
         <source>Connecting</source>
         <translation>Verbinden</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="85"/>
+        <location filename="../components/VPNState.qml" line="82"/>
         <source>Unsecured
 Connection</source>
         <translation>Onbeveiligde
 Verbinding</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="100"/>
         <source>Turn on</source>
-        <translation>Inschakelen</translation>
+        <translation type="vanished">Inschakelen</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="120"/>
+        <location filename="../components/VPNState.qml" line="117"/>
         <source>Secured
 Connection</source>
         <translation>Beveiligde
 Verbinding</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="135"/>
         <source>Turn off</source>
-        <translation>Uitschakelen</translation>
+        <translation type="vanished">Uitschakelen</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="172"/>
         <source>Cancel</source>
-        <translation>Annuleren</translation>
+        <translation type="vanished">Annuleren</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="256"/>
+        <location filename="../components/VPNState.qml" line="265"/>
         <source>%1 off</source>
         <extracomment>%1 -&gt; application name</extracomment>
         <translation>%1 uit</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="256"/>
+        <location filename="../components/VPNState.qml" line="265"/>
         <source>off</source>
         <translation>uit</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="259"/>
+        <location filename="../components/VPNState.qml" line="268"/>
         <source>%1 on</source>
         <extracomment>%1 -&gt; application name</extracomment>
         <translation>%1 aan</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="262"/>
+        <location filename="../components/VPNState.qml" line="271"/>
         <source>Connecting to %1</source>
         <extracomment>%1 -&gt; application name</extracomment>
         <translation>Verbinden met %1</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="265"/>
+        <location filename="../components/VPNState.qml" line="274"/>
         <source>Stopping %1</source>
         <extracomment>%1 -&gt; application name</extracomment>
         <translation>Stoppen %1</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="268"/>
+        <location filename="../components/VPNState.qml" line="277"/>
         <source>%1 blocking internet</source>
         <extracomment>%1 -&gt; application name</extracomment>
         <translation>%1 blokkeert het internet</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="276"/>
+        <location filename="../components/VPNState.qml" line="284"/>
         <source>pluggable transport connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="278"/>
+        <location filename="../components/VPNState.qml" line="286"/>
         <source>connection done</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="280"/>
+        <location filename="../components/VPNState.qml" line="288"/>
         <source>doing handshake</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="282"/>
+        <location filename="../components/VPNState.qml" line="290"/>
         <source>handshake done</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="284"/>
+        <location filename="../components/VPNState.qml" line="292"/>
         <source>creating one-hop connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="286"/>
+        <location filename="../components/VPNState.qml" line="294"/>
         <source>requesting status</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="288"/>
+        <location filename="../components/VPNState.qml" line="296"/>
         <source>loading status</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="290"/>
+        <location filename="../components/VPNState.qml" line="298"/>
         <source>loading keys</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="292"/>
+        <location filename="../components/VPNState.qml" line="300"/>
         <source>requesting descriptors</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="294"/>
+        <location filename="../components/VPNState.qml" line="302"/>
         <source>loading descriptors</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="296"/>
+        <location filename="../components/VPNState.qml" line="304"/>
         <source>creating circuit</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="298"/>
+        <location filename="../components/VPNState.qml" line="306"/>
         <source>done</source>
         <translation type="unfinished"></translation>
     </message>
@@ -427,32 +434,32 @@ Verbinding</translation>
 <context>
     <name>main</name>
     <message>
-        <location filename="../main.cpp" line="144"/>
+        <location filename="../main.cpp" line="140"/>
         <source>: a fast and secure VPN. Powered by Bitmask.</source>
         <translation>: een snelle en veilige VPN. Powered by Bitmask.</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="151"/>
+        <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>Toon het systray icoontje niet (handig in combinatie met Gnome Shell extensie, of om VPN op een andere manier te bedienen).</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="158"/>
+        <location filename="../main.cpp" line="154"/>
         <source>Enable Web API.</source>
         <translation>Web API activeren.</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="164"/>
+        <location filename="../main.cpp" line="160"/>
         <source>Install helpers (Linux only, requires sudo).</source>
         <translation>Helpertoepassing installeren (enkel voor Linux, vereist sudo).</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="170"/>
+        <location filename="../main.cpp" line="166"/>
         <source>Use obfs4 to obfuscate the traffic, if available in the provider.</source>
         <translation>Gebruik obfs4 om je verkeer te versluieren, als het beschikbaar is biji de provider.</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="176"/>
+        <location filename="../main.cpp" line="172"/>
         <source>Enable autostart.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -461,12 +468,12 @@ Verbinding</translation>
         <translation type="vanished">Autostart uitschakelen voor de volgende keer.</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="181"/>
+        <location filename="../main.cpp" line="177"/>
         <source>Web API port (default: 8080)</source>
         <translation>Web API poort (standard: 8080)</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="184"/>
+        <location filename="../main.cpp" line="180"/>
         <source>Start the VPN, either &apos;on&apos; or &apos;off&apos;.</source>
         <translation>Start VPN, &apos;aan&apos; of &apos;uit&apos;.</translation>
     </message>
diff --git a/gui/i18n/main_pl.ts b/gui/i18n/main_pl.ts
index ad410d32f52f1dd9145e339c0aa168e90901908c..6272e86d5738734a1a11844c609936f4e24d86ed 100644
--- a/gui/i18n/main_pl.ts
+++ b/gui/i18n/main_pl.ts
@@ -25,7 +25,7 @@
 <context>
     <name>Footer</name>
     <message>
-        <location filename="../components/Footer.qml" line="171"/>
+        <location filename="../components/Footer.qml" line="180"/>
         <source>Recommended</source>
         <translation>Rekomendowane</translation>
     </message>
@@ -107,38 +107,38 @@
 <context>
     <name>MainView</name>
     <message>
-        <location filename="../components/MainView.qml" line="32"/>
-        <location filename="../components/MainView.qml" line="56"/>
+        <location filename="../components/MainView.qml" line="43"/>
+        <location filename="../components/MainView.qml" line="66"/>
         <source>Donate</source>
         <translation>Darowizna</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="49"/>
+        <location filename="../components/MainView.qml" line="59"/>
         <source>Preferences</source>
         <translation>Ustawienia</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="63"/>
+        <location filename="../components/MainView.qml" line="73"/>
         <source>Help</source>
         <translation>Pomoc</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="70"/>
+        <location filename="../components/MainView.qml" line="80"/>
         <source>About</source>
         <translation>O Aplikacji</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="77"/>
+        <location filename="../components/MainView.qml" line="87"/>
         <source>Quit</source>
         <translation>Zamknij</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="104"/>
+        <location filename="../components/MainView.qml" line="111"/>
         <source>Please donate!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="118"/>
+        <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 type="unfinished"></translation>
     </message>
@@ -151,75 +151,85 @@
         <translation>Ustawienia</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="54"/>
+        <location filename="../components/Preferences.qml" line="55"/>
         <source>Turn off the VPN to make changes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="69"/>
+        <location filename="../components/Preferences.qml" line="71"/>
         <source>Language</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="102"/>
+        <location filename="../components/Preferences.qml" line="105"/>
         <source>Censorship circumvention</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="110"/>
+        <location filename="../components/Preferences.qml" line="113"/>
         <source>These techniques can bypass censorship, but are slower. Use them only when needed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="124"/>
+        <location filename="../components/Preferences.qml" line="127"/>
         <source>Use obfs4 bridges</source>
         <translation>Używaj mostów obfs4</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="150"/>
+        <location filename="../components/Preferences.qml" line="153"/>
         <source>Traffic is obfuscated to bypass blocks</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="164"/>
+        <location filename="../components/Preferences.qml" line="167"/>
         <source>Use Snowflake</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="179"/>
+        <location filename="../components/Preferences.qml" line="182"/>
         <source>Snowflake needs Tor installed in your system</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="192"/>
+        <location filename="../components/Preferences.qml" line="195"/>
         <source>Transport</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="200"/>
+        <location filename="../components/Preferences.qml" line="203"/>
         <source>UDP can make the VPN faster. It might be blocked on some networks.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="213"/>
+        <location filename="../components/Preferences.qml" line="216"/>
         <source>Use UDP if available</source>
         <translation type="unfinished"></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="100"/>
+        <location filename="../components/Splash.qml" line="101"/>
         <source>There is a newer version available. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Splash.qml" line="100"/>
+        <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 type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Splash.qml" line="104"/>
+        <location filename="../components/Splash.qml" line="105"/>
         <source>UPGRADE NOW</source>
         <translation type="unfinished"></translation>
     </message>
@@ -227,7 +237,7 @@
 <context>
     <name>StatusBox</name>
     <message>
-        <location filename="../components/StatusBox.qml" line="91"/>
+        <location filename="../components/StatusBox.qml" line="78"/>
         <source>This can take several minutes</source>
         <translation type="unfinished"></translation>
     </message>
@@ -280,135 +290,132 @@
 <context>
     <name>VPNState</name>
     <message>
-        <location filename="../components/VPNState.qml" line="27"/>
+        <location filename="../components/VPNState.qml" line="26"/>
         <source>Setting up</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="52"/>
-        <location filename="../components/VPNState.qml" line="156"/>
+        <location filename="../components/VPNState.qml" line="51"/>
+        <location filename="../components/VPNState.qml" line="153"/>
         <source>Connecting</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="85"/>
+        <location filename="../components/VPNState.qml" line="82"/>
         <source>Unsecured
 Connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="100"/>
         <source>Turn on</source>
-        <translation>Włącz</translation>
+        <translation type="vanished">Włącz</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="120"/>
+        <location filename="../components/VPNState.qml" line="117"/>
         <source>Secured
 Connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="135"/>
         <source>Turn off</source>
-        <translation>Wyłącz</translation>
+        <translation type="vanished">Wyłącz</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="172"/>
         <source>Cancel</source>
-        <translation>Anuluj</translation>
+        <translation type="vanished">Anuluj</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="256"/>
+        <location filename="../components/VPNState.qml" line="265"/>
         <source>%1 off</source>
         <extracomment>%1 -&gt; application name</extracomment>
         <translation>%1 wyłączony</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="256"/>
+        <location filename="../components/VPNState.qml" line="265"/>
         <source>off</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="259"/>
+        <location filename="../components/VPNState.qml" line="268"/>
         <source>%1 on</source>
         <extracomment>%1 -&gt; application name</extracomment>
         <translation>%1 włączony</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="262"/>
+        <location filename="../components/VPNState.qml" line="271"/>
         <source>Connecting to %1</source>
         <extracomment>%1 -&gt; application name</extracomment>
         <translation>Łączenie z %1</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="265"/>
+        <location filename="../components/VPNState.qml" line="274"/>
         <source>Stopping %1</source>
         <extracomment>%1 -&gt; application name</extracomment>
         <translation>Zatrzymywanie %1</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="268"/>
+        <location filename="../components/VPNState.qml" line="277"/>
         <source>%1 blocking internet</source>
         <extracomment>%1 -&gt; application name</extracomment>
         <translation>%1 blokuje internet</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="276"/>
+        <location filename="../components/VPNState.qml" line="284"/>
         <source>pluggable transport connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="278"/>
+        <location filename="../components/VPNState.qml" line="286"/>
         <source>connection done</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="280"/>
+        <location filename="../components/VPNState.qml" line="288"/>
         <source>doing handshake</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="282"/>
+        <location filename="../components/VPNState.qml" line="290"/>
         <source>handshake done</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="284"/>
+        <location filename="../components/VPNState.qml" line="292"/>
         <source>creating one-hop connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="286"/>
+        <location filename="../components/VPNState.qml" line="294"/>
         <source>requesting status</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="288"/>
+        <location filename="../components/VPNState.qml" line="296"/>
         <source>loading status</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="290"/>
+        <location filename="../components/VPNState.qml" line="298"/>
         <source>loading keys</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="292"/>
+        <location filename="../components/VPNState.qml" line="300"/>
         <source>requesting descriptors</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="294"/>
+        <location filename="../components/VPNState.qml" line="302"/>
         <source>loading descriptors</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="296"/>
+        <location filename="../components/VPNState.qml" line="304"/>
         <source>creating circuit</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="298"/>
+        <location filename="../components/VPNState.qml" line="306"/>
         <source>done</source>
         <translation type="unfinished"></translation>
     </message>
@@ -424,32 +431,32 @@ Connection</source>
 <context>
     <name>main</name>
     <message>
-        <location filename="../main.cpp" line="144"/>
+        <location filename="../main.cpp" line="140"/>
         <source>: a fast and secure VPN. Powered by Bitmask.</source>
         <translation>: szybki i bezpieczny VPN. Obsługiwany przez Bitmask.</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="151"/>
+        <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>Nie wyświetlaj ikony paska zadań (przydatne w połączeniu z rozszerzeniem Gnome Shell lub do kontrolowania VPN w inny sposób).</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="158"/>
+        <location filename="../main.cpp" line="154"/>
         <source>Enable Web API.</source>
         <translation>Włącz Web API.</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="164"/>
+        <location filename="../main.cpp" line="160"/>
         <source>Install helpers (Linux only, requires sudo).</source>
         <translation>Zainstaluj pomocniki (wyłącznie Linux, wymaga sudo).</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="170"/>
+        <location filename="../main.cpp" line="166"/>
         <source>Use obfs4 to obfuscate the traffic, if available in the provider.</source>
         <translation>Używaj obfs4, aby ukryć ruch, jeśli dostępny u dostawcy.</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="176"/>
+        <location filename="../main.cpp" line="172"/>
         <source>Enable autostart.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -458,12 +465,12 @@ Connection</source>
         <translation type="vanished">Wyłącz autostart dla następnego uruchomienia.</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="181"/>
+        <location filename="../main.cpp" line="177"/>
         <source>Web API port (default: 8080)</source>
         <translation>Port Web API (domyślny: 8080)</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="184"/>
+        <location filename="../main.cpp" line="180"/>
         <source>Start the VPN, either &apos;on&apos; or &apos;off&apos;.</source>
         <translation>Uruchom VPN, &apos;włączony&apos; lub &apos;wyłączony&apos;.</translation>
     </message>
diff --git a/gui/i18n/main_pt-rBR.ts b/gui/i18n/main_pt-rBR.ts
index db46cf5c155a1dd49d31bdd5e2fdff2d07b18a43..0f316c1f66e5780412f6e3a2d14cc9ce8c423a06 100644
--- a/gui/i18n/main_pt-rBR.ts
+++ b/gui/i18n/main_pt-rBR.ts
@@ -26,7 +26,7 @@ $2</translation>
 <context>
     <name>Footer</name>
     <message>
-        <location filename="../components/Footer.qml" line="171"/>
+        <location filename="../components/Footer.qml" line="180"/>
         <source>Recommended</source>
         <translation>Recomendado</translation>
     </message>
@@ -108,38 +108,38 @@ $2</translation>
 <context>
     <name>MainView</name>
     <message>
-        <location filename="../components/MainView.qml" line="32"/>
-        <location filename="../components/MainView.qml" line="56"/>
+        <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="49"/>
+        <location filename="../components/MainView.qml" line="59"/>
         <source>Preferences</source>
         <translation>Preferências</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="63"/>
+        <location filename="../components/MainView.qml" line="73"/>
         <source>Help</source>
         <translation>Ajuda</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="70"/>
+        <location filename="../components/MainView.qml" line="80"/>
         <source>About</source>
         <translation>Sobre</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="77"/>
+        <location filename="../components/MainView.qml" line="87"/>
         <source>Quit</source>
         <translation>Sair</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="104"/>
+        <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="118"/>
+        <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>
@@ -152,75 +152,85 @@ $2</translation>
         <translation>Preferências</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="54"/>
+        <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="69"/>
+        <location filename="../components/Preferences.qml" line="71"/>
         <source>Language</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="102"/>
+        <location filename="../components/Preferences.qml" line="105"/>
         <source>Censorship circumvention</source>
         <translation>Driblando a censura</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="110"/>
+        <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="124"/>
+        <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="150"/>
+        <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="164"/>
+        <location filename="../components/Preferences.qml" line="167"/>
         <source>Use Snowflake</source>
         <translation>Usar Snowflake</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="179"/>
+        <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="192"/>
+        <location filename="../components/Preferences.qml" line="195"/>
         <source>Transport</source>
         <translation>Transporte</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="200"/>
+        <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="213"/>
+        <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="100"/>
+        <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="100"/>
+        <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="104"/>
+        <location filename="../components/Splash.qml" line="105"/>
         <source>UPGRADE NOW</source>
         <translation>ATUALIZE AGORA</translation>
     </message>
@@ -228,7 +238,7 @@ $2</translation>
 <context>
     <name>StatusBox</name>
     <message>
-        <location filename="../components/StatusBox.qml" line="91"/>
+        <location filename="../components/StatusBox.qml" line="78"/>
         <source>This can take several minutes</source>
         <translation>Isto pode demorar vários minutos</translation>
     </message>
@@ -281,137 +291,134 @@ $2</translation>
 <context>
     <name>VPNState</name>
     <message>
-        <location filename="../components/VPNState.qml" line="27"/>
+        <location filename="../components/VPNState.qml" line="26"/>
         <source>Setting up</source>
         <translation>Configurando</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="52"/>
-        <location filename="../components/VPNState.qml" line="156"/>
+        <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="85"/>
+        <location filename="../components/VPNState.qml" line="82"/>
         <source>Unsecured
 Connection</source>
         <translation>Conexão
 Insegura</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="100"/>
         <source>Turn on</source>
-        <translation>Ligar</translation>
+        <translation type="vanished">Ligar</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="120"/>
+        <location filename="../components/VPNState.qml" line="117"/>
         <source>Secured
 Connection</source>
         <translation>Conexão
 Segura</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="135"/>
         <source>Turn off</source>
-        <translation>Desligar</translation>
+        <translation type="vanished">Desligar</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="172"/>
         <source>Cancel</source>
-        <translation>Cancelar</translation>
+        <translation type="vanished">Cancelar</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="256"/>
+        <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="256"/>
+        <location filename="../components/VPNState.qml" line="265"/>
         <source>off</source>
         <translation>desligado</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="259"/>
+        <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="262"/>
+        <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="265"/>
+        <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="268"/>
+        <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="276"/>
+        <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="278"/>
+        <location filename="../components/VPNState.qml" line="286"/>
         <source>connection done</source>
         <translation>conexão terminada</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="280"/>
+        <location filename="../components/VPNState.qml" line="288"/>
         <source>doing handshake</source>
         <translation>fazendo handshake</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="282"/>
+        <location filename="../components/VPNState.qml" line="290"/>
         <source>handshake done</source>
         <translation>handshake terminado</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="284"/>
+        <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="286"/>
+        <location filename="../components/VPNState.qml" line="294"/>
         <source>requesting status</source>
         <translation>solicitando estado</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="288"/>
+        <location filename="../components/VPNState.qml" line="296"/>
         <source>loading status</source>
         <translation>carregando estado</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="290"/>
+        <location filename="../components/VPNState.qml" line="298"/>
         <source>loading keys</source>
         <translation>carregando chaves</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="292"/>
+        <location filename="../components/VPNState.qml" line="300"/>
         <source>requesting descriptors</source>
         <translation>requisitando descritores</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="294"/>
+        <location filename="../components/VPNState.qml" line="302"/>
         <source>loading descriptors</source>
         <translation>carregando descritores</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="296"/>
+        <location filename="../components/VPNState.qml" line="304"/>
         <source>creating circuit</source>
         <translation>criando circuito</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="298"/>
+        <location filename="../components/VPNState.qml" line="306"/>
         <source>done</source>
         <translation>pronto</translation>
     </message>
@@ -427,42 +434,42 @@ Segura</translation>
 <context>
     <name>main</name>
     <message>
-        <location filename="../main.cpp" line="144"/>
+        <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="151"/>
+        <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="158"/>
+        <location filename="../main.cpp" line="154"/>
         <source>Enable Web API.</source>
         <translation>Habilitar API Web.</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="164"/>
+        <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="170"/>
+        <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="176"/>
+        <location filename="../main.cpp" line="172"/>
         <source>Enable autostart.</source>
         <translation>Habilitar auto inicialização.</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="181"/>
+        <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="184"/>
+        <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>
diff --git a/gui/i18n/main_pt_BR.ts b/gui/i18n/main_pt_BR.ts
new file mode 100644
index 0000000000000000000000000000000000000000..9bd5c0994fae2ab8bc2ed91ffa0d0642f2ab3fa8
--- /dev/null
+++ b/gui/i18n/main_pt_BR.ts
@@ -0,0 +1,477 @@
+<?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>
+        <source>Turn on</source>
+        <translation type="vanished">Ligar</translation>
+    </message>
+    <message>
+        <location filename="../components/VPNState.qml" line="117"/>
+        <source>Secured
+Connection</source>
+        <translation>Conexão
+Segura</translation>
+    </message>
+    <message>
+        <source>Turn off</source>
+        <translation type="vanished">Desligar</translation>
+    </message>
+    <message>
+        <source>Cancel</source>
+        <translation type="vanished">Cancelar</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_ru.ts b/gui/i18n/main_ru.ts
index 7d420adb408bc3d37cbfaad70b784db794551184..7f60f4a648c14bf59d326cdabb17d15308b424ea 100644
--- a/gui/i18n/main_ru.ts
+++ b/gui/i18n/main_ru.ts
@@ -26,7 +26,7 @@
 <context>
     <name>Footer</name>
     <message>
-        <location filename="../components/Footer.qml" line="171"/>
+        <location filename="../components/Footer.qml" line="180"/>
         <source>Recommended</source>
         <translation>Рекомендовано</translation>
     </message>
@@ -108,38 +108,38 @@
 <context>
     <name>MainView</name>
     <message>
-        <location filename="../components/MainView.qml" line="32"/>
-        <location filename="../components/MainView.qml" line="56"/>
+        <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="49"/>
+        <location filename="../components/MainView.qml" line="59"/>
         <source>Preferences</source>
         <translation>Настройки</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="63"/>
+        <location filename="../components/MainView.qml" line="73"/>
         <source>Help</source>
         <translation>Помощь</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="70"/>
+        <location filename="../components/MainView.qml" line="80"/>
         <source>About</source>
         <translation>О проекте</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="77"/>
+        <location filename="../components/MainView.qml" line="87"/>
         <source>Quit</source>
         <translation>Выход</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="104"/>
+        <location filename="../components/MainView.qml" line="111"/>
         <source>Please donate!</source>
         <translation>Пожалуйста, пожертвуйте!</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="118"/>
+        <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>
@@ -152,75 +152,85 @@
         <translation>Предпочтений</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="54"/>
+        <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="69"/>
+        <location filename="../components/Preferences.qml" line="71"/>
         <source>Language</source>
         <translation>Язык</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="102"/>
+        <location filename="../components/Preferences.qml" line="105"/>
         <source>Censorship circumvention</source>
         <translation>Обход цензуры</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="110"/>
+        <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="124"/>
+        <location filename="../components/Preferences.qml" line="127"/>
         <source>Use obfs4 bridges</source>
         <translation>Использовать мосты obfs4</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="150"/>
+        <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="164"/>
+        <location filename="../components/Preferences.qml" line="167"/>
         <source>Use Snowflake</source>
         <translation>Использовать Snowflake</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="179"/>
+        <location filename="../components/Preferences.qml" line="182"/>
         <source>Snowflake needs Tor installed in your system</source>
         <translation>Требуется наличие Tor в системе</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="192"/>
+        <location filename="../components/Preferences.qml" line="195"/>
         <source>Transport</source>
         <translation>Транспорт</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="200"/>
+        <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. В некоторых сетях UDP блокируется.</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="213"/>
+        <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="100"/>
+        <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="100"/>
+        <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="104"/>
+        <location filename="../components/Splash.qml" line="105"/>
         <source>UPGRADE NOW</source>
         <translation>ОБНОВИТЬСЯ СЕЙЧАС</translation>
     </message>
@@ -228,7 +238,7 @@
 <context>
     <name>StatusBox</name>
     <message>
-        <location filename="../components/StatusBox.qml" line="91"/>
+        <location filename="../components/StatusBox.qml" line="78"/>
         <source>This can take several minutes</source>
         <translation>Это может занять несколько минут</translation>
     </message>
@@ -281,137 +291,134 @@
 <context>
     <name>VPNState</name>
     <message>
-        <location filename="../components/VPNState.qml" line="27"/>
+        <location filename="../components/VPNState.qml" line="26"/>
         <source>Setting up</source>
         <translation>Настройка</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="52"/>
-        <location filename="../components/VPNState.qml" line="156"/>
+        <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="85"/>
+        <location filename="../components/VPNState.qml" line="82"/>
         <source>Unsecured
 Connection</source>
         <translation>Соединение не
 защищено</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="100"/>
         <source>Turn on</source>
-        <translation>ВКЛ</translation>
+        <translation type="vanished">ВКЛ</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="120"/>
+        <location filename="../components/VPNState.qml" line="117"/>
         <source>Secured
 Connection</source>
         <translation>Защищено
 Соединение</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="135"/>
         <source>Turn off</source>
-        <translation>ВЫКЛ</translation>
+        <translation type="vanished">ВЫКЛ</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="172"/>
         <source>Cancel</source>
-        <translation>Отменить</translation>
+        <translation type="vanished">Отменить</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="256"/>
+        <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="256"/>
+        <location filename="../components/VPNState.qml" line="265"/>
         <source>off</source>
         <translation>выключено</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="259"/>
+        <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="262"/>
+        <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="265"/>
+        <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="268"/>
+        <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="276"/>
+        <location filename="../components/VPNState.qml" line="284"/>
         <source>pluggable transport connection</source>
         <translation>подключаемое транспортное соединение</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="278"/>
+        <location filename="../components/VPNState.qml" line="286"/>
         <source>connection done</source>
         <translation>соединение выполнено</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="280"/>
+        <location filename="../components/VPNState.qml" line="288"/>
         <source>doing handshake</source>
         <translation>рукопожатие</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="282"/>
+        <location filename="../components/VPNState.qml" line="290"/>
         <source>handshake done</source>
         <translation>рукопожатие выполнено</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="284"/>
+        <location filename="../components/VPNState.qml" line="292"/>
         <source>creating one-hop connection</source>
         <translation>создание одношагового соединения</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="286"/>
+        <location filename="../components/VPNState.qml" line="294"/>
         <source>requesting status</source>
         <translation>статус запроса</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="288"/>
+        <location filename="../components/VPNState.qml" line="296"/>
         <source>loading status</source>
         <translation>статус загрузки</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="290"/>
+        <location filename="../components/VPNState.qml" line="298"/>
         <source>loading keys</source>
         <translation>загрузка ключей</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="292"/>
+        <location filename="../components/VPNState.qml" line="300"/>
         <source>requesting descriptors</source>
         <translation>запрос дескрипторов</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="294"/>
+        <location filename="../components/VPNState.qml" line="302"/>
         <source>loading descriptors</source>
         <translation>загрузка дескрипторов</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="296"/>
+        <location filename="../components/VPNState.qml" line="304"/>
         <source>creating circuit</source>
         <translation>создание цепи</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="298"/>
+        <location filename="../components/VPNState.qml" line="306"/>
         <source>done</source>
         <translation>ok</translation>
     </message>
@@ -427,42 +434,42 @@ Connection</source>
 <context>
     <name>main</name>
     <message>
-        <location filename="../main.cpp" line="144"/>
+        <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="151"/>
+        <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="158"/>
+        <location filename="../main.cpp" line="154"/>
         <source>Enable Web API.</source>
         <translation>Включить Web API.</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="164"/>
+        <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="170"/>
+        <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="176"/>
+        <location filename="../main.cpp" line="172"/>
         <source>Enable autostart.</source>
         <translation>Включить автозапуск.</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="181"/>
+        <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="184"/>
+        <location filename="../main.cpp" line="180"/>
         <source>Start the VPN, either &apos;on&apos; or &apos;off&apos;.</source>
         <translation>Запустить VPN, выбрав &quot;вкл.&quot; или &quot;выкл.&quot;.</translation>
     </message>
diff --git a/gui/i18n/main_th.ts b/gui/i18n/main_th.ts
index d501827a0a3a40039783a7ad773e17c6bff510d0..eecdd9a5085cb68b7e0bd4b3856c98e6b66a6ad1 100644
--- a/gui/i18n/main_th.ts
+++ b/gui/i18n/main_th.ts
@@ -26,7 +26,7 @@
 <context>
     <name>Footer</name>
     <message>
-        <location filename="../components/Footer.qml" line="171"/>
+        <location filename="../components/Footer.qml" line="180"/>
         <source>Recommended</source>
         <translation>เเนะนำ</translation>
     </message>
@@ -108,38 +108,38 @@
 <context>
     <name>MainView</name>
     <message>
-        <location filename="../components/MainView.qml" line="32"/>
-        <location filename="../components/MainView.qml" line="56"/>
+        <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="49"/>
+        <location filename="../components/MainView.qml" line="59"/>
         <source>Preferences</source>
         <translation>การตั้งค่า</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="63"/>
+        <location filename="../components/MainView.qml" line="73"/>
         <source>Help</source>
         <translation>ช่วยเหลือ</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="70"/>
+        <location filename="../components/MainView.qml" line="80"/>
         <source>About</source>
         <translation>เกี่ยวกับ</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="77"/>
+        <location filename="../components/MainView.qml" line="87"/>
         <source>Quit</source>
         <translation>ออก</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="104"/>
+        <location filename="../components/MainView.qml" line="111"/>
         <source>Please donate!</source>
         <translation>กรุณาบริจาค!</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="118"/>
+        <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>บริการนี้ได้รับการจ่ายเเล้วทั้งหมดโดยการบริจาคจากผู้ใช้เช่นคุณ ค่าใช้จ่ายในการใช้งานวีพีเอ็นอยู่ที่ประมาณ 5 ดอลล่าห์ ต่อคนต่อเดือน แต่ทุกๆ ดอลล่าห์เเม้เล็กน้อยเเต่มีค่า คุณต้องการบริจาคตอนนี้หรือไม่?</translation>
     </message>
@@ -152,75 +152,85 @@
         <translation>การตั้งค่า</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="54"/>
+        <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="69"/>
+        <location filename="../components/Preferences.qml" line="71"/>
         <source>Language</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="102"/>
+        <location filename="../components/Preferences.qml" line="105"/>
         <source>Censorship circumvention</source>
         <translation>หลีกเลี่ยงการปิดกั้น</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="110"/>
+        <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="124"/>
+        <location filename="../components/Preferences.qml" line="127"/>
         <source>Use obfs4 bridges</source>
         <translation>ใช้ทางเชื่อม obfs4</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="150"/>
+        <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="164"/>
+        <location filename="../components/Preferences.qml" line="167"/>
         <source>Use Snowflake</source>
         <translation>ใช้ Snowflake</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="179"/>
+        <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="192"/>
+        <location filename="../components/Preferences.qml" line="195"/>
         <source>Transport</source>
         <translation>การขนส่งข้อมูล</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="200"/>
+        <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="213"/>
+        <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="100"/>
+        <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="100"/>
+        <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="104"/>
+        <location filename="../components/Splash.qml" line="105"/>
         <source>UPGRADE NOW</source>
         <translation>อัปเกรดเดี๋ยวนี้</translation>
     </message>
@@ -228,7 +238,7 @@
 <context>
     <name>StatusBox</name>
     <message>
-        <location filename="../components/StatusBox.qml" line="91"/>
+        <location filename="../components/StatusBox.qml" line="78"/>
         <source>This can take several minutes</source>
         <translation>การดำเนินการนี้อาจใช้เวลาหลายนาที</translation>
     </message>
@@ -281,135 +291,132 @@
 <context>
     <name>VPNState</name>
     <message>
-        <location filename="../components/VPNState.qml" line="27"/>
+        <location filename="../components/VPNState.qml" line="26"/>
         <source>Setting up</source>
         <translation>กำลังตั้งค่า</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="52"/>
-        <location filename="../components/VPNState.qml" line="156"/>
+        <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="85"/>
+        <location filename="../components/VPNState.qml" line="82"/>
         <source>Unsecured
 Connection</source>
         <translation>การเชื่อมต่อไม่ปลอดภัย</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="100"/>
         <source>Turn on</source>
-        <translation>เปิด</translation>
+        <translation type="vanished">เปิด</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="120"/>
+        <location filename="../components/VPNState.qml" line="117"/>
         <source>Secured
 Connection</source>
         <translation>การเชื่อมต่อปลอดภัย</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="135"/>
         <source>Turn off</source>
-        <translation>ปิด</translation>
+        <translation type="vanished">ปิด</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="172"/>
         <source>Cancel</source>
-        <translation>ยกเลิก</translation>
+        <translation type="vanished">ยกเลิก</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="256"/>
+        <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="256"/>
+        <location filename="../components/VPNState.qml" line="265"/>
         <source>off</source>
         <translation>ปิด</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="259"/>
+        <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="262"/>
+        <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="265"/>
+        <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="268"/>
+        <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="276"/>
+        <location filename="../components/VPNState.qml" line="284"/>
         <source>pluggable transport connection</source>
         <translation>การ้ชื่อมต่อการส่งข้อมูลเเบบสามารถถอดออกได้</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="278"/>
+        <location filename="../components/VPNState.qml" line="286"/>
         <source>connection done</source>
         <translation>การเชื่อมต่อเสร็จสิ้น</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="280"/>
+        <location filename="../components/VPNState.qml" line="288"/>
         <source>doing handshake</source>
         <translation>กำลังทำ Handshake</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="282"/>
+        <location filename="../components/VPNState.qml" line="290"/>
         <source>handshake done</source>
         <translation>Handshake เสร็จสิ้น</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="284"/>
+        <location filename="../components/VPNState.qml" line="292"/>
         <source>creating one-hop connection</source>
         <translation>กำลังสร้างการเชื่อมต่อเเบบหนึ่งจุด</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="286"/>
+        <location filename="../components/VPNState.qml" line="294"/>
         <source>requesting status</source>
         <translation>กำลังร้องขอสถานะ</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="288"/>
+        <location filename="../components/VPNState.qml" line="296"/>
         <source>loading status</source>
         <translation>กำลังดึงสถานะ</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="290"/>
+        <location filename="../components/VPNState.qml" line="298"/>
         <source>loading keys</source>
         <translation>กำลังดึงคีย์</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="292"/>
+        <location filename="../components/VPNState.qml" line="300"/>
         <source>requesting descriptors</source>
         <translation>กำลังร้องขอรายละเอียด</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="294"/>
+        <location filename="../components/VPNState.qml" line="302"/>
         <source>loading descriptors</source>
         <translation>กำลังดึงรายละเอียด</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="296"/>
+        <location filename="../components/VPNState.qml" line="304"/>
         <source>creating circuit</source>
         <translation>กำลังสร้างวงจรเส้นทาง</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="298"/>
+        <location filename="../components/VPNState.qml" line="306"/>
         <source>done</source>
         <translation>สำเร็จ</translation>
     </message>
@@ -425,42 +432,42 @@ Connection</source>
 <context>
     <name>main</name>
     <message>
-        <location filename="../main.cpp" line="144"/>
+        <location filename="../main.cpp" line="140"/>
         <source>: a fast and secure VPN. Powered by Bitmask.</source>
         <translation>: วีพีเอ็นเร็วเเละปลอดภัย. ขับเคลื่อนโดยบิตเเมส</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="151"/>
+        <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>อย่าแสดงไอคอนบนถาดสถานะระบบ (มีประโยชน์เมื่อรวมกับส่วนขยายจีโนมเชล หรือเพื่อควบคุมวีพีเอ็นด้วยวิธีอื่น)</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="158"/>
+        <location filename="../main.cpp" line="154"/>
         <source>Enable Web API.</source>
         <translation>เปิดใช้งานเว็บเอพีไอ</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="164"/>
+        <location filename="../main.cpp" line="160"/>
         <source>Install helpers (Linux only, requires sudo).</source>
         <translation>ติดตั้งตัวช่วยเหลือ (ลินุกซ์เท่านั้น, ร้องขอการเข้าถึงสิทธิราก).</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="170"/>
+        <location filename="../main.cpp" line="166"/>
         <source>Use obfs4 to obfuscate the traffic, if available in the provider.</source>
         <translation>ใช้โอบีเอฟเอส4เพื่อให้การสื่อสารสับสนซ้อบซ้อน, ถ้าสามารถใช้ได้ในผู้ให้บริการ</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="176"/>
+        <location filename="../main.cpp" line="172"/>
         <source>Enable autostart.</source>
         <translation>เปิดใช้งานการทำงานอัตโนมัติ</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="181"/>
+        <location filename="../main.cpp" line="177"/>
         <source>Web API port (default: 8080)</source>
         <translation>พอร์ตเว็บเอพีไอ (ค่าเริ่มต้น: 8080)</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="184"/>
+        <location filename="../main.cpp" line="180"/>
         <source>Start the VPN, either &apos;on&apos; or &apos;off&apos;.</source>
         <translation>เริ่ม VPN ไม่ว่าจะเป็น &quot;เปิด&quot; หรือ &quot;ปิด&quot;</translation>
     </message>
diff --git a/gui/i18n/main_tr.ts b/gui/i18n/main_tr.ts
index 1e2ce04537e0a80bdeba96cb662ea28638403cda..4b997e1cd94181b1029aa0a09d544bfd584e6d66 100644
--- a/gui/i18n/main_tr.ts
+++ b/gui/i18n/main_tr.ts
@@ -26,7 +26,7 @@
 <context>
     <name>Footer</name>
     <message>
-        <location filename="../components/Footer.qml" line="171"/>
+        <location filename="../components/Footer.qml" line="180"/>
         <source>Recommended</source>
         <translation>Önerilen</translation>
     </message>
@@ -108,38 +108,38 @@
 <context>
     <name>MainView</name>
     <message>
-        <location filename="../components/MainView.qml" line="32"/>
-        <location filename="../components/MainView.qml" line="56"/>
+        <location filename="../components/MainView.qml" line="43"/>
+        <location filename="../components/MainView.qml" line="66"/>
         <source>Donate</source>
         <translation>Bağış yapın</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="49"/>
+        <location filename="../components/MainView.qml" line="59"/>
         <source>Preferences</source>
         <translation>Ayarlar</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="63"/>
+        <location filename="../components/MainView.qml" line="73"/>
         <source>Help</source>
         <translation>Yardım</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="70"/>
+        <location filename="../components/MainView.qml" line="80"/>
         <source>About</source>
         <translation>Hakkında</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="77"/>
+        <location filename="../components/MainView.qml" line="87"/>
         <source>Quit</source>
         <translation>Çık</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="104"/>
+        <location filename="../components/MainView.qml" line="111"/>
         <source>Please donate!</source>
         <translation>Lütfen bağış yapın!</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="118"/>
+        <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>Bu hizmet tamamen sizin gibi kullanıcıların bağışları sayesinde sunulabiliyor. Bir VPN ağını işletme maliyeti, kişi başına aylık 5 dolar civarındadır, ancak her katkı değerlidir. Siz de bağış yapmak ister misiniz?</translation>
     </message>
@@ -152,75 +152,85 @@
         <translation>Ayarlar</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="54"/>
+        <location filename="../components/Preferences.qml" line="55"/>
         <source>Turn off the VPN to make changes</source>
         <translation>Değişiklik yapmak için VPN bağlantısını kapatın</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="69"/>
+        <location filename="../components/Preferences.qml" line="71"/>
         <source>Language</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="102"/>
+        <location filename="../components/Preferences.qml" line="105"/>
         <source>Censorship circumvention</source>
         <translation>Sansürü aşma</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="110"/>
+        <location filename="../components/Preferences.qml" line="113"/>
         <source>These techniques can bypass censorship, but are slower. Use them only when needed.</source>
         <translation>Bu yöntemler sansürü aşabilir, ancak yavaştır. Yalnız gerek duyduğunuz zaman kullanın.</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="124"/>
+        <location filename="../components/Preferences.qml" line="127"/>
         <source>Use obfs4 bridges</source>
         <translation>obfs4 köprüleri kullanılsın</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="150"/>
+        <location filename="../components/Preferences.qml" line="153"/>
         <source>Traffic is obfuscated to bypass blocks</source>
         <translation>Engelleri aşmak için trafik gizlenir</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="164"/>
+        <location filename="../components/Preferences.qml" line="167"/>
         <source>Use Snowflake</source>
         <translation>Snowflake kullanılsın</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="179"/>
+        <location filename="../components/Preferences.qml" line="182"/>
         <source>Snowflake needs Tor installed in your system</source>
         <translation>Snowflake için sisteminizde Tor kurulu olması gerekir</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="192"/>
+        <location filename="../components/Preferences.qml" line="195"/>
         <source>Transport</source>
         <translation>Taşıyıcı</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="200"/>
+        <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 bağlantısını daha hızlı yapabilir. Bazı ağlarda engellenmiş olabilir.</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="213"/>
+        <location filename="../components/Preferences.qml" line="216"/>
         <source>Use UDP if available</source>
         <translation>Olabiliyorsa UDP kullanılsın</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="100"/>
+        <location filename="../components/Splash.qml" line="101"/>
         <source>There is a newer version available. </source>
         <translation>Yeni bir sürüm yayınlanmış.</translation>
     </message>
     <message>
-        <location filename="../components/Splash.qml" line="100"/>
+        <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>Yeni kurulumu başlatmadan önce lütfen önceki kurulumu &lt;a href=&quot;https://0xacab.org/leap/bitmask-vpn/-/blob/main/docs/uninstall.md&quot;&gt;kaldırdığınızdan&lt;/a&gt; emin olun.</translation>
     </message>
     <message>
-        <location filename="../components/Splash.qml" line="104"/>
+        <location filename="../components/Splash.qml" line="105"/>
         <source>UPGRADE NOW</source>
         <translation>ŞİMDİ YÜKSELT</translation>
     </message>
@@ -228,7 +238,7 @@
 <context>
     <name>StatusBox</name>
     <message>
-        <location filename="../components/StatusBox.qml" line="91"/>
+        <location filename="../components/StatusBox.qml" line="78"/>
         <source>This can take several minutes</source>
         <translation type="unfinished"></translation>
     </message>
@@ -281,137 +291,134 @@
 <context>
     <name>VPNState</name>
     <message>
-        <location filename="../components/VPNState.qml" line="27"/>
+        <location filename="../components/VPNState.qml" line="26"/>
         <source>Setting up</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="52"/>
-        <location filename="../components/VPNState.qml" line="156"/>
+        <location filename="../components/VPNState.qml" line="51"/>
+        <location filename="../components/VPNState.qml" line="153"/>
         <source>Connecting</source>
         <translation>Bağlantı kuruluyor</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="85"/>
+        <location filename="../components/VPNState.qml" line="82"/>
         <source>Unsecured
 Connection</source>
         <translation>Güvenilmez
 bağlantı</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="100"/>
         <source>Turn on</source>
-        <translation>Aç</translation>
+        <translation type="vanished">Aç</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="120"/>
+        <location filename="../components/VPNState.qml" line="117"/>
         <source>Secured
 Connection</source>
         <translation>Güvenilir
 bağlantı</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="135"/>
         <source>Turn off</source>
-        <translation>Kapat</translation>
+        <translation type="vanished">Kapat</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="172"/>
         <source>Cancel</source>
-        <translation>Vazgeç</translation>
+        <translation type="vanished">Vazgeç</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="256"/>
+        <location filename="../components/VPNState.qml" line="265"/>
         <source>%1 off</source>
         <extracomment>%1 -&gt; application name</extracomment>
         <translation>%1 kapalı</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="256"/>
+        <location filename="../components/VPNState.qml" line="265"/>
         <source>off</source>
         <translation>kapalı</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="259"/>
+        <location filename="../components/VPNState.qml" line="268"/>
         <source>%1 on</source>
         <extracomment>%1 -&gt; application name</extracomment>
         <translation>%1 açık</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="262"/>
+        <location filename="../components/VPNState.qml" line="271"/>
         <source>Connecting to %1</source>
         <extracomment>%1 -&gt; application name</extracomment>
         <translation>%1 ile bağlantı kuruluyor</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="265"/>
+        <location filename="../components/VPNState.qml" line="274"/>
         <source>Stopping %1</source>
         <extracomment>%1 -&gt; application name</extracomment>
         <translation>%1 durduruluyor</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="268"/>
+        <location filename="../components/VPNState.qml" line="277"/>
         <source>%1 blocking internet</source>
         <extracomment>%1 -&gt; application name</extracomment>
         <translation>%1 interneti engelliyor</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="276"/>
+        <location filename="../components/VPNState.qml" line="284"/>
         <source>pluggable transport connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="278"/>
+        <location filename="../components/VPNState.qml" line="286"/>
         <source>connection done</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="280"/>
+        <location filename="../components/VPNState.qml" line="288"/>
         <source>doing handshake</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="282"/>
+        <location filename="../components/VPNState.qml" line="290"/>
         <source>handshake done</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="284"/>
+        <location filename="../components/VPNState.qml" line="292"/>
         <source>creating one-hop connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="286"/>
+        <location filename="../components/VPNState.qml" line="294"/>
         <source>requesting status</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="288"/>
+        <location filename="../components/VPNState.qml" line="296"/>
         <source>loading status</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="290"/>
+        <location filename="../components/VPNState.qml" line="298"/>
         <source>loading keys</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="292"/>
+        <location filename="../components/VPNState.qml" line="300"/>
         <source>requesting descriptors</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="294"/>
+        <location filename="../components/VPNState.qml" line="302"/>
         <source>loading descriptors</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="296"/>
+        <location filename="../components/VPNState.qml" line="304"/>
         <source>creating circuit</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="298"/>
+        <location filename="../components/VPNState.qml" line="306"/>
         <source>done</source>
         <translation type="unfinished"></translation>
     </message>
@@ -427,32 +434,32 @@ bağlantı</translation>
 <context>
     <name>main</name>
     <message>
-        <location filename="../main.cpp" line="144"/>
+        <location filename="../main.cpp" line="140"/>
         <source>: a fast and secure VPN. Powered by Bitmask.</source>
         <translation>: hızlı ve güvenilir bir VPN. Bitmask tarafından sunuluyor.</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="151"/>
+        <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>Sistem çubuğu simgesi görüntülenmesin (Gnome kabuk eklentisiyle birlikte ya da VPN bağlantısını başka şekillerde denetlemek için kullanışlıdır)</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="158"/>
+        <location filename="../main.cpp" line="154"/>
         <source>Enable Web API.</source>
         <translation>Web API kullanılsın</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="164"/>
+        <location filename="../main.cpp" line="160"/>
         <source>Install helpers (Linux only, requires sudo).</source>
         <translation>Yardımcıları kur (yalnız Linux üzerinde ve sudo gereklidir)</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="170"/>
+        <location filename="../main.cpp" line="166"/>
         <source>Use obfs4 to obfuscate the traffic, if available in the provider.</source>
         <translation>Trafiği gizlemek için obfs4 kullanılsın. Yalnız hizmet sağlayıcıda kullanılabiliyorsa</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="176"/>
+        <location filename="../main.cpp" line="172"/>
         <source>Enable autostart.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -461,12 +468,12 @@ bağlantı</translation>
         <translation type="vanished">Sonraki çalıştırmada otomatik başlatma devre dışı bırakılsın</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="181"/>
+        <location filename="../main.cpp" line="177"/>
         <source>Web API port (default: 8080)</source>
         <translation>Web API kapı numarası (varsayılan: 8080)</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="184"/>
+        <location filename="../main.cpp" line="180"/>
         <source>Start the VPN, either &apos;on&apos; or &apos;off&apos;.</source>
         <translation>VPN bağlantısını başlat, &apos;açık&apos; veya &apos;kapalı&apos;.</translation>
     </message>
diff --git a/gui/i18n/main_ug.ts b/gui/i18n/main_ug.ts
index 426f04099fffac082397b7adbf1be35e116ae56e..ea385dad6220001ec2eca1b5a60845bb66d6bd46 100644
--- a/gui/i18n/main_ug.ts
+++ b/gui/i18n/main_ug.ts
@@ -25,7 +25,7 @@
 <context>
     <name>Footer</name>
     <message>
-        <location filename="../components/Footer.qml" line="171"/>
+        <location filename="../components/Footer.qml" line="180"/>
         <source>Recommended</source>
         <translation>تەۋسىيە</translation>
     </message>
@@ -107,38 +107,38 @@
 <context>
     <name>MainView</name>
     <message>
-        <location filename="../components/MainView.qml" line="32"/>
-        <location filename="../components/MainView.qml" line="56"/>
+        <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="49"/>
+        <location filename="../components/MainView.qml" line="59"/>
         <source>Preferences</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="63"/>
+        <location filename="../components/MainView.qml" line="73"/>
         <source>Help</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="70"/>
+        <location filename="../components/MainView.qml" line="80"/>
         <source>About</source>
         <translation>ھەققىدە</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="77"/>
+        <location filename="../components/MainView.qml" line="87"/>
         <source>Quit</source>
         <translation>چىقىش</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="104"/>
+        <location filename="../components/MainView.qml" line="111"/>
         <source>Please donate!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="118"/>
+        <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 type="unfinished"></translation>
     </message>
@@ -151,75 +151,85 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="54"/>
+        <location filename="../components/Preferences.qml" line="55"/>
         <source>Turn off the VPN to make changes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="69"/>
+        <location filename="../components/Preferences.qml" line="71"/>
         <source>Language</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="102"/>
+        <location filename="../components/Preferences.qml" line="105"/>
         <source>Censorship circumvention</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="110"/>
+        <location filename="../components/Preferences.qml" line="113"/>
         <source>These techniques can bypass censorship, but are slower. Use them only when needed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="124"/>
+        <location filename="../components/Preferences.qml" line="127"/>
         <source>Use obfs4 bridges</source>
         <translation>Obfs4 كۆۋرۈكلىرىنى ئىشلىتىڭ</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="150"/>
+        <location filename="../components/Preferences.qml" line="153"/>
         <source>Traffic is obfuscated to bypass blocks</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="164"/>
+        <location filename="../components/Preferences.qml" line="167"/>
         <source>Use Snowflake</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="179"/>
+        <location filename="../components/Preferences.qml" line="182"/>
         <source>Snowflake needs Tor installed in your system</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="192"/>
+        <location filename="../components/Preferences.qml" line="195"/>
         <source>Transport</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="200"/>
+        <location filename="../components/Preferences.qml" line="203"/>
         <source>UDP can make the VPN faster. It might be blocked on some networks.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="213"/>
+        <location filename="../components/Preferences.qml" line="216"/>
         <source>Use UDP if available</source>
         <translation type="unfinished"></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="100"/>
+        <location filename="../components/Splash.qml" line="101"/>
         <source>There is a newer version available. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Splash.qml" line="100"/>
+        <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 type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/Splash.qml" line="104"/>
+        <location filename="../components/Splash.qml" line="105"/>
         <source>UPGRADE NOW</source>
         <translation type="unfinished"></translation>
     </message>
@@ -227,7 +237,7 @@
 <context>
     <name>StatusBox</name>
     <message>
-        <location filename="../components/StatusBox.qml" line="91"/>
+        <location filename="../components/StatusBox.qml" line="78"/>
         <source>This can take several minutes</source>
         <translation type="unfinished"></translation>
     </message>
@@ -280,135 +290,132 @@
 <context>
     <name>VPNState</name>
     <message>
-        <location filename="../components/VPNState.qml" line="27"/>
+        <location filename="../components/VPNState.qml" line="26"/>
         <source>Setting up</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="52"/>
-        <location filename="../components/VPNState.qml" line="156"/>
+        <location filename="../components/VPNState.qml" line="51"/>
+        <location filename="../components/VPNState.qml" line="153"/>
         <source>Connecting</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="85"/>
+        <location filename="../components/VPNState.qml" line="82"/>
         <source>Unsecured
 Connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="100"/>
         <source>Turn on</source>
-        <translation>ئېتىش</translation>
+        <translation type="vanished">ئېتىش</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="120"/>
+        <location filename="../components/VPNState.qml" line="117"/>
         <source>Secured
 Connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="135"/>
         <source>Turn off</source>
-        <translation>ئېچىش</translation>
+        <translation type="vanished">ئېچىش</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="172"/>
         <source>Cancel</source>
-        <translation>بىكار قىلىش</translation>
+        <translation type="vanished">بىكار قىلىش</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="256"/>
+        <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="256"/>
+        <location filename="../components/VPNState.qml" line="265"/>
         <source>off</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="259"/>
+        <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="262"/>
+        <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="265"/>
+        <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="268"/>
+        <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="276"/>
+        <location filename="../components/VPNState.qml" line="284"/>
         <source>pluggable transport connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="278"/>
+        <location filename="../components/VPNState.qml" line="286"/>
         <source>connection done</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="280"/>
+        <location filename="../components/VPNState.qml" line="288"/>
         <source>doing handshake</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="282"/>
+        <location filename="../components/VPNState.qml" line="290"/>
         <source>handshake done</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="284"/>
+        <location filename="../components/VPNState.qml" line="292"/>
         <source>creating one-hop connection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="286"/>
+        <location filename="../components/VPNState.qml" line="294"/>
         <source>requesting status</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="288"/>
+        <location filename="../components/VPNState.qml" line="296"/>
         <source>loading status</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="290"/>
+        <location filename="../components/VPNState.qml" line="298"/>
         <source>loading keys</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="292"/>
+        <location filename="../components/VPNState.qml" line="300"/>
         <source>requesting descriptors</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="294"/>
+        <location filename="../components/VPNState.qml" line="302"/>
         <source>loading descriptors</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="296"/>
+        <location filename="../components/VPNState.qml" line="304"/>
         <source>creating circuit</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="298"/>
+        <location filename="../components/VPNState.qml" line="306"/>
         <source>done</source>
         <translation type="unfinished"></translation>
     </message>
@@ -424,32 +431,32 @@ Connection</source>
 <context>
     <name>main</name>
     <message>
-        <location filename="../main.cpp" line="144"/>
+        <location filename="../main.cpp" line="140"/>
         <source>: a fast and secure VPN. Powered by Bitmask.</source>
         <translation>تېز ھەم بىخەتەر VPN بىتماسك تەرىپىدىن سۇنۇلىدۇ.</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="151"/>
+        <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 پوستى كېڭەيتىلمىلىرى، ياكى باشقا ئۇشۇلدا VPNنى كونترول قىلىشتەك ھەر ئىككى ئىشتا قوللىنىشچان)</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="158"/>
+        <location filename="../main.cpp" line="154"/>
         <source>Enable Web API.</source>
         <translation>ئاكتىپلاشWeb API.</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="164"/>
+        <location filename="../main.cpp" line="160"/>
         <source>Install helpers (Linux only, requires sudo).</source>
         <translation>ياردمچى قاچىلاش (پەقەتلا لىناكىس ئۈچۈن، لازىم sudo).</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="170"/>
+        <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="176"/>
+        <location filename="../main.cpp" line="172"/>
         <source>Enable autostart.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -458,12 +465,12 @@ Connection</source>
         <translation type="vanished">كېيىنكى قېتىم باشلىتىلغاندا ئاپتۇماتىك قوزغىتىشنى چەكلەش</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="181"/>
+        <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="184"/>
+        <location filename="../main.cpp" line="180"/>
         <source>Start the VPN, either &apos;on&apos; or &apos;off&apos;.</source>
         <translation>VPN باشلات، مەيلى &quot;ئوچۇق&quot; ياكى &quot;ئېتىك&quot; بولسۇن</translation>
     </message>
diff --git a/gui/i18n/main_uk.ts b/gui/i18n/main_uk.ts
new file mode 100644
index 0000000000000000000000000000000000000000..709020555bb2429f2f4f0050d4087a30118b33e4
--- /dev/null
+++ b/gui/i18n/main_uk.ts
@@ -0,0 +1,477 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="uk">
+<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>Автоматично використовувати найкраще з&apos;єднання</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>Обов&apos;язково &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>З&apos;єднатись з</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>Незахищене
+З&apos;єднання</translation>
+    </message>
+    <message>
+        <source>Turn on</source>
+        <translation type="vanished">Увімкнути</translation>
+    </message>
+    <message>
+        <location filename="../components/VPNState.qml" line="117"/>
+        <source>Secured
+Connection</source>
+        <translation>Захищене
+З&apos;єднання</translation>
+    </message>
+    <message>
+        <source>Turn off</source>
+        <translation type="vanished">Вимкнути</translation>
+    </message>
+    <message>
+        <source>Cancel</source>
+        <translation type="vanished">Скасувати</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>З&apos;єднання з %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>З&apos;єднання додаткового передавача</translation>
+    </message>
+    <message>
+        <location filename="../components/VPNState.qml" line="286"/>
+        <source>connection done</source>
+        <translation>З&apos;єднання встановлено</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>Створення однопрохідного з&apos;єднання</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>
diff --git a/gui/i18n/main_zh-rTW.ts b/gui/i18n/main_zh-rTW.ts
index 24f0fe31416abea6f761eda2d01a70846111ad32..96b22c2ba204c9b66cd9d6be021d9e3f01c77fa4 100644
--- a/gui/i18n/main_zh-rTW.ts
+++ b/gui/i18n/main_zh-rTW.ts
@@ -26,7 +26,7 @@
 <context>
     <name>Footer</name>
     <message>
-        <location filename="../components/Footer.qml" line="171"/>
+        <location filename="../components/Footer.qml" line="180"/>
         <source>Recommended</source>
         <translation>(建議)</translation>
     </message>
@@ -108,38 +108,38 @@
 <context>
     <name>MainView</name>
     <message>
-        <location filename="../components/MainView.qml" line="32"/>
-        <location filename="../components/MainView.qml" line="56"/>
+        <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="49"/>
+        <location filename="../components/MainView.qml" line="59"/>
         <source>Preferences</source>
         <translation>偏好設定</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="63"/>
+        <location filename="../components/MainView.qml" line="73"/>
         <source>Help</source>
         <translation>幫助</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="70"/>
+        <location filename="../components/MainView.qml" line="80"/>
         <source>About</source>
         <translation>關於</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="77"/>
+        <location filename="../components/MainView.qml" line="87"/>
         <source>Quit</source>
         <translation>退出</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="104"/>
+        <location filename="../components/MainView.qml" line="111"/>
         <source>Please donate!</source>
         <translation>請捐助!</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="118"/>
+        <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>
@@ -152,75 +152,85 @@
         <translation>偏好設定</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="54"/>
+        <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="69"/>
+        <location filename="../components/Preferences.qml" line="71"/>
         <source>Language</source>
         <translation>語言</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="102"/>
+        <location filename="../components/Preferences.qml" line="105"/>
         <source>Censorship circumvention</source>
         <translation>規避網路審查</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="110"/>
+        <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="124"/>
+        <location filename="../components/Preferences.qml" line="127"/>
         <source>Use obfs4 bridges</source>
         <translation>使用 obfs4 橋接</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="150"/>
+        <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="164"/>
+        <location filename="../components/Preferences.qml" line="167"/>
         <source>Use Snowflake</source>
         <translation>使用 Snowflake</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="179"/>
+        <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="192"/>
+        <location filename="../components/Preferences.qml" line="195"/>
         <source>Transport</source>
         <translation>傳輸</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="200"/>
+        <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="213"/>
+        <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="100"/>
+        <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="100"/>
+        <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="104"/>
+        <location filename="../components/Splash.qml" line="105"/>
         <source>UPGRADE NOW</source>
         <translation>立刻升級</translation>
     </message>
@@ -228,7 +238,7 @@
 <context>
     <name>StatusBox</name>
     <message>
-        <location filename="../components/StatusBox.qml" line="91"/>
+        <location filename="../components/StatusBox.qml" line="78"/>
         <source>This can take several minutes</source>
         <translation>這可能會花幾分鐘</translation>
     </message>
@@ -281,137 +291,134 @@
 <context>
     <name>VPNState</name>
     <message>
-        <location filename="../components/VPNState.qml" line="27"/>
+        <location filename="../components/VPNState.qml" line="26"/>
         <source>Setting up</source>
         <translation>正在準備</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="52"/>
-        <location filename="../components/VPNState.qml" line="156"/>
+        <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="85"/>
+        <location filename="../components/VPNState.qml" line="82"/>
         <source>Unsecured
 Connection</source>
         <translation>不安全的
 連線</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="100"/>
         <source>Turn on</source>
-        <translation>啟用</translation>
+        <translation type="vanished">啟用</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="120"/>
+        <location filename="../components/VPNState.qml" line="117"/>
         <source>Secured
 Connection</source>
         <translation>安全
 連線</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="135"/>
         <source>Turn off</source>
-        <translation>關閉</translation>
+        <translation type="vanished">關閉</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="172"/>
         <source>Cancel</source>
-        <translation>取消</translation>
+        <translation type="vanished">取消</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="256"/>
+        <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="256"/>
+        <location filename="../components/VPNState.qml" line="265"/>
         <source>off</source>
         <translation>關</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="259"/>
+        <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="262"/>
+        <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="265"/>
+        <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="268"/>
+        <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="276"/>
+        <location filename="../components/VPNState.qml" line="284"/>
         <source>pluggable transport connection</source>
         <translation>可插拔式傳輸連線</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="278"/>
+        <location filename="../components/VPNState.qml" line="286"/>
         <source>connection done</source>
         <translation>連線完成</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="280"/>
+        <location filename="../components/VPNState.qml" line="288"/>
         <source>doing handshake</source>
         <translation>正在交握</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="282"/>
+        <location filename="../components/VPNState.qml" line="290"/>
         <source>handshake done</source>
         <translation>交握完成</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="284"/>
+        <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="286"/>
+        <location filename="../components/VPNState.qml" line="294"/>
         <source>requesting status</source>
         <translation>正在請求狀態</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="288"/>
+        <location filename="../components/VPNState.qml" line="296"/>
         <source>loading status</source>
         <translation>正在載入狀態</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="290"/>
+        <location filename="../components/VPNState.qml" line="298"/>
         <source>loading keys</source>
         <translation>正在載入金鑰</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="292"/>
+        <location filename="../components/VPNState.qml" line="300"/>
         <source>requesting descriptors</source>
         <translation>正在請求描述元</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="294"/>
+        <location filename="../components/VPNState.qml" line="302"/>
         <source>loading descriptors</source>
         <translation>正在載入描述元</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="296"/>
+        <location filename="../components/VPNState.qml" line="304"/>
         <source>creating circuit</source>
         <translation>正在建立迴路</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="298"/>
+        <location filename="../components/VPNState.qml" line="306"/>
         <source>done</source>
         <translation>完成</translation>
     </message>
@@ -427,42 +434,42 @@ Connection</source>
 <context>
     <name>main</name>
     <message>
-        <location filename="../main.cpp" line="144"/>
+        <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="151"/>
+        <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="158"/>
+        <location filename="../main.cpp" line="154"/>
         <source>Enable Web API.</source>
         <translation>啟用 Web API。</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="164"/>
+        <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="170"/>
+        <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="176"/>
+        <location filename="../main.cpp" line="172"/>
         <source>Enable autostart.</source>
         <translation>啟用自動啟動。</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="181"/>
+        <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="184"/>
+        <location filename="../main.cpp" line="180"/>
         <source>Start the VPN, either &apos;on&apos; or &apos;off&apos;.</source>
         <translation>啟動 VPN,「開啟」或「關閉」。</translation>
     </message>
diff --git a/gui/i18n/main_zh.ts b/gui/i18n/main_zh.ts
index 4c78e45ac78d50d628d5c490b6cf20ecc5919761..d4867fa8645fac52fbc38d6fa77b7a947542388a 100644
--- a/gui/i18n/main_zh.ts
+++ b/gui/i18n/main_zh.ts
@@ -26,7 +26,7 @@
 <context>
     <name>Footer</name>
     <message>
-        <location filename="../components/Footer.qml" line="171"/>
+        <location filename="../components/Footer.qml" line="180"/>
         <source>Recommended</source>
         <translation>推荐</translation>
     </message>
@@ -108,38 +108,38 @@
 <context>
     <name>MainView</name>
     <message>
-        <location filename="../components/MainView.qml" line="32"/>
-        <location filename="../components/MainView.qml" line="56"/>
+        <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="49"/>
+        <location filename="../components/MainView.qml" line="59"/>
         <source>Preferences</source>
         <translation>首选项</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="63"/>
+        <location filename="../components/MainView.qml" line="73"/>
         <source>Help</source>
         <translation>帮助</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="70"/>
+        <location filename="../components/MainView.qml" line="80"/>
         <source>About</source>
         <translation>关于</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="77"/>
+        <location filename="../components/MainView.qml" line="87"/>
         <source>Quit</source>
         <translation>退出</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="104"/>
+        <location filename="../components/MainView.qml" line="111"/>
         <source>Please donate!</source>
         <translation>请捐助!</translation>
     </message>
     <message>
-        <location filename="../components/MainView.qml" line="118"/>
+        <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>
@@ -152,75 +152,85 @@
         <translation>首选项</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="54"/>
+        <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="69"/>
+        <location filename="../components/Preferences.qml" line="71"/>
         <source>Language</source>
         <translation>语言</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="102"/>
+        <location filename="../components/Preferences.qml" line="105"/>
         <source>Censorship circumvention</source>
         <translation>审查规避</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="110"/>
+        <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="124"/>
+        <location filename="../components/Preferences.qml" line="127"/>
         <source>Use obfs4 bridges</source>
         <translation>使用 Obfs4 网桥</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="150"/>
+        <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="164"/>
+        <location filename="../components/Preferences.qml" line="167"/>
         <source>Use Snowflake</source>
         <translation>使用 Snowflake</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="179"/>
+        <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="192"/>
+        <location filename="../components/Preferences.qml" line="195"/>
         <source>Transport</source>
         <translation>传输</translation>
     </message>
     <message>
-        <location filename="../components/Preferences.qml" line="200"/>
+        <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="213"/>
+        <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="100"/>
+        <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="100"/>
+        <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="104"/>
+        <location filename="../components/Splash.qml" line="105"/>
         <source>UPGRADE NOW</source>
         <translation>立刻升级</translation>
     </message>
@@ -228,7 +238,7 @@
 <context>
     <name>StatusBox</name>
     <message>
-        <location filename="../components/StatusBox.qml" line="91"/>
+        <location filename="../components/StatusBox.qml" line="78"/>
         <source>This can take several minutes</source>
         <translation>这可能会花几分钟</translation>
     </message>
@@ -281,137 +291,134 @@
 <context>
     <name>VPNState</name>
     <message>
-        <location filename="../components/VPNState.qml" line="27"/>
+        <location filename="../components/VPNState.qml" line="26"/>
         <source>Setting up</source>
         <translation>准备中</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="52"/>
-        <location filename="../components/VPNState.qml" line="156"/>
+        <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="85"/>
+        <location filename="../components/VPNState.qml" line="82"/>
         <source>Unsecured
 Connection</source>
         <translation>不安全
 连接</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="100"/>
         <source>Turn on</source>
-        <translation>开启</translation>
+        <translation type="vanished">开启</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="120"/>
+        <location filename="../components/VPNState.qml" line="117"/>
         <source>Secured
 Connection</source>
         <translation>安全
 连接</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="135"/>
         <source>Turn off</source>
-        <translation>关闭</translation>
+        <translation type="vanished">关闭</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="172"/>
         <source>Cancel</source>
-        <translation>取消</translation>
+        <translation type="vanished">取消</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="256"/>
+        <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="256"/>
+        <location filename="../components/VPNState.qml" line="265"/>
         <source>off</source>
         <translation>关闭</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="259"/>
+        <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="262"/>
+        <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="265"/>
+        <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="268"/>
+        <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="276"/>
+        <location filename="../components/VPNState.qml" line="284"/>
         <source>pluggable transport connection</source>
         <translation>可插拔传输连接</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="278"/>
+        <location filename="../components/VPNState.qml" line="286"/>
         <source>connection done</source>
         <translation>连接完成</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="280"/>
+        <location filename="../components/VPNState.qml" line="288"/>
         <source>doing handshake</source>
         <translation>正在握手</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="282"/>
+        <location filename="../components/VPNState.qml" line="290"/>
         <source>handshake done</source>
         <translation>握手完成</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="284"/>
+        <location filename="../components/VPNState.qml" line="292"/>
         <source>creating one-hop connection</source>
         <translation>正在建立单跳连接</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="286"/>
+        <location filename="../components/VPNState.qml" line="294"/>
         <source>requesting status</source>
         <translation>正在请求状态</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="288"/>
+        <location filename="../components/VPNState.qml" line="296"/>
         <source>loading status</source>
         <translation>正在加载状态</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="290"/>
+        <location filename="../components/VPNState.qml" line="298"/>
         <source>loading keys</source>
         <translation>正在加载密钥</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="292"/>
+        <location filename="../components/VPNState.qml" line="300"/>
         <source>requesting descriptors</source>
         <translation>正在请求描述符</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="294"/>
+        <location filename="../components/VPNState.qml" line="302"/>
         <source>loading descriptors</source>
         <translation>正在加载描述符</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="296"/>
+        <location filename="../components/VPNState.qml" line="304"/>
         <source>creating circuit</source>
         <translation>正在建立链路</translation>
     </message>
     <message>
-        <location filename="../components/VPNState.qml" line="298"/>
+        <location filename="../components/VPNState.qml" line="306"/>
         <source>done</source>
         <translation>完成</translation>
     </message>
@@ -427,42 +434,42 @@ Connection</source>
 <context>
     <name>main</name>
     <message>
-        <location filename="../main.cpp" line="144"/>
+        <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="151"/>
+        <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="158"/>
+        <location filename="../main.cpp" line="154"/>
         <source>Enable Web API.</source>
         <translation>启用 Web API。</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="164"/>
+        <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="170"/>
+        <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="176"/>
+        <location filename="../main.cpp" line="172"/>
         <source>Enable autostart.</source>
         <translation>启用自启动。</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="181"/>
+        <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="184"/>
+        <location filename="../main.cpp" line="180"/>
         <source>Start the VPN, either &apos;on&apos; or &apos;off&apos;.</source>
         <translation>启动 VPN,“开启”或“关闭”。</translation>
     </message>
diff --git a/gui/i18n/main_zh_TW.ts b/gui/i18n/main_zh_TW.ts
new file mode 100644
index 0000000000000000000000000000000000000000..96b22c2ba204c9b66cd9d6be021d9e3f01c77fa4
--- /dev/null
+++ b/gui/i18n/main_zh_TW.ts
@@ -0,0 +1,477 @@
+<?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>
+        <source>Turn on</source>
+        <translation type="vanished">啟用</translation>
+    </message>
+    <message>
+        <location filename="../components/VPNState.qml" line="117"/>
+        <source>Secured
+Connection</source>
+        <translation>安全
+連線</translation>
+    </message>
+    <message>
+        <source>Turn off</source>
+        <translation type="vanished">關閉</translation>
+    </message>
+    <message>
+        <source>Cancel</source>
+        <translation type="vanished">取消</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>