diff --git a/flutter/lib/common.dart b/flutter/lib/common.dart
index 9de43693a..314b1f9d3 100644
--- a/flutter/lib/common.dart
+++ b/flutter/lib/common.dart
@@ -2194,7 +2194,7 @@ Widget buildRemoteBlock({required Widget child, WhetherUseRemoteBlock? use}) {
 }
 
 Widget unreadMessageCountBuilder(RxInt? count,
-    {double? size, double? fontSize, double? marginLeft}) {
+    {double? size, double? fontSize}) {
   return Obx(() => Offstage(
       offstage: !((count?.value ?? 0) > 0),
       child: Container(
@@ -2209,5 +2209,18 @@ Widget unreadMessageCountBuilder(RxInt? count,
               maxLines: 1,
               style: TextStyle(color: Colors.white, fontSize: fontSize ?? 10)),
         ),
-      ).marginOnly(left: marginLeft ?? 4)));
+      )));
+}
+
+Widget unreadTopRightBuilder(RxInt? count,
+    {Widget? icon, double? size, double? fontSize}) {
+  return Stack(
+    children: [
+      icon ?? Icon(Icons.chat),
+      Positioned(
+          top: 0,
+          right: 0,
+          child: unreadMessageCountBuilder(count, size: 12, fontSize: 8))
+    ],
+  );
 }
diff --git a/flutter/lib/common/widgets/chat_page.dart b/flutter/lib/common/widgets/chat_page.dart
index 17267b71b..b6611d3ed 100644
--- a/flutter/lib/common/widgets/chat_page.dart
+++ b/flutter/lib/common/widgets/chat_page.dart
@@ -24,22 +24,14 @@ class ChatPage extends StatelessWidget implements PageShape {
   final title = translate("Chat");
 
   @override
-  final icon = Icon(Icons.chat);
+  final icon = unreadTopRightBuilder(gFFI.chatModel.mobileUnreadSum);
 
   @override
   final appBarActions = [
     PopupMenuButton<MessageKey>(
         tooltip: "",
-        icon: Stack(
-          children: [
-            Icon(Icons.group),
-            Positioned(
-                top: 0,
-                right: 0,
-                child: unreadMessageCountBuilder(gFFI.chatModel.mobileUnreadSum,
-                    marginLeft: 0, size: 12, fontSize: 8))
-          ],
-        ),
+        icon: unreadTopRightBuilder(gFFI.chatModel.mobileUnreadSum,
+            icon: Icon(Icons.group)),
         itemBuilder: (context) {
           // only mobile need [appBarActions], just bind gFFI.chatModel
           final chatModel = gFFI.chatModel;
@@ -65,10 +57,12 @@ class ChatPage extends StatelessWidget implements PageShape {
                       width: 10,
                       height: 10,
                       decoration: BoxDecoration(
-                          shape: BoxShape.circle, color: Colors.green),
+                          shape: BoxShape.circle,
+                          color: Color.fromARGB(255, 46, 205, 139)),
                     ).marginSymmetric(horizontal: 2),
                   if (client != null)
                     unreadMessageCountBuilder(client.unreadChatMessageCount)
+                        .marginOnly(left: 4)
                 ],
               ),
               value: key,
@@ -88,7 +82,6 @@ class ChatPage extends StatelessWidget implements PageShape {
         color: Theme.of(context).scaffoldBackgroundColor,
         child: Consumer<ChatModel>(
           builder: (context, chatModel, child) {
-            final currentUser = chatModel.currentUser;
             final readOnly = type == ChatPageType.mobileMain &&
                     (chatModel.currentKey.connId == ChatModel.clientModeID ||
                         gFFI.serverModel.clients.every((e) =>
@@ -177,28 +170,6 @@ class ChatPage extends StatelessWidget implements PageShape {
                   );
                   return SelectionArea(child: chat);
                 }),
-                desktopType == DesktopType.cm ||
-                        type != ChatPageType.mobileMain ||
-                        currentUser == null
-                    ? SizedBox.shrink()
-                    : Padding(
-                        padding: EdgeInsets.all(12),
-                        child: Row(
-                          children: [
-                            Icon(
-                                chatModel.currentKey.isOut
-                                    ? Icons.call_made_rounded
-                                    : Icons.call_received_rounded,
-                                color: MyTheme.accent),
-                            Icon(Icons.account_circle, color: MyTheme.accent80),
-                            SizedBox(width: 5),
-                            Text(
-                              "${currentUser.firstName}   ${currentUser.id}",
-                              style: TextStyle(color: MyTheme.accent),
-                            ),
-                          ],
-                        ),
-                      ),
               ],
             ).paddingOnly(bottom: 8);
           },
diff --git a/flutter/lib/desktop/pages/remote_tab_page.dart b/flutter/lib/desktop/pages/remote_tab_page.dart
index 0b4f4094a..9ee04f8b1 100644
--- a/flutter/lib/desktop/pages/remote_tab_page.dart
+++ b/flutter/lib/desktop/pages/remote_tab_page.dart
@@ -205,7 +205,8 @@ class _ConnectionTabPageState extends State<ConnectionTabPage> {
                       ).paddingOnly(right: 5),
                     ),
                     label,
-                    unreadMessageCountBuilder(UnreadChatCountState.find(key)),
+                    unreadMessageCountBuilder(UnreadChatCountState.find(key))
+                        .marginOnly(left: 4),
                   ],
                 );
 
diff --git a/flutter/lib/desktop/pages/server_page.dart b/flutter/lib/desktop/pages/server_page.dart
index deed70085..53088f69e 100644
--- a/flutter/lib/desktop/pages/server_page.dart
+++ b/flutter/lib/desktop/pages/server_page.dart
@@ -165,7 +165,8 @@ class ConnectionManagerState extends State<ConnectionManager> {
                         message: key,
                         waitDuration: Duration(seconds: 1),
                         child: label),
-                    unreadMessageCountBuilder(client?.unreadChatMessageCount),
+                    unreadMessageCountBuilder(client?.unreadChatMessageCount)
+                        .marginOnly(left: 4),
                   ],
                 );
               },
diff --git a/flutter/lib/mobile/pages/connection_page.dart b/flutter/lib/mobile/pages/connection_page.dart
index d736e0ace..f2680db39 100644
--- a/flutter/lib/mobile/pages/connection_page.dart
+++ b/flutter/lib/mobile/pages/connection_page.dart
@@ -1,5 +1,6 @@
 import 'dart:async';
 
+import 'package:auto_size_text_field/auto_size_text_field.dart';
 import 'package:flutter/material.dart';
 import 'package:flutter_hbb/common/formatter/id_formatter.dart';
 import 'package:get/get.dart';
@@ -131,7 +132,8 @@ class _ConnectionPageState extends State<ConnectionPage> {
               Expanded(
                 child: Container(
                   padding: const EdgeInsets.only(left: 16, right: 16),
-                  child: TextField(
+                  child: AutoSizeTextField(
+                    minFontSize: 18,
                     autocorrect: false,
                     enableSuggestions: false,
                     keyboardType: TextInputType.visiblePassword,
diff --git a/flutter/lib/mobile/pages/home_page.dart b/flutter/lib/mobile/pages/home_page.dart
index 61674807a..f902f6743 100644
--- a/flutter/lib/mobile/pages/home_page.dart
+++ b/flutter/lib/mobile/pages/home_page.dart
@@ -1,13 +1,14 @@
 import 'package:flutter/material.dart';
 import 'package:flutter_hbb/mobile/pages/server_page.dart';
 import 'package:flutter_hbb/mobile/pages/settings_page.dart';
+import 'package:get/get.dart';
 import '../../common.dart';
 import '../../common/widgets/chat_page.dart';
 import 'connection_page.dart';
 
 abstract class PageShape extends Widget {
   final String title = "";
-  final Icon icon = Icon(null);
+  final Widget icon = Icon(null);
   final List<Widget> appBarActions = [];
 }
 
@@ -63,7 +64,7 @@ class _HomePageState extends State<HomePage> {
           // backgroundColor: MyTheme.grayBg,
           appBar: AppBar(
             centerTitle: true,
-            title: Text("RustDesk"),
+            title: appTitle(),
             actions: _pages.elementAt(_selectedIndex).appBarActions,
           ),
           bottomNavigationBar: BottomNavigationBar(
@@ -81,15 +82,62 @@ class _HomePageState extends State<HomePage> {
               if (index == 1 && _selectedIndex != index) {
                 gFFI.chatModel.hideChatIconOverlay();
                 gFFI.chatModel.hideChatWindowOverlay();
+                gFFI.chatModel
+                    .mobileClearClientUnread(gFFI.chatModel.currentKey.connId);
               }
               _selectedIndex = index;
-              gFFI.chatModel
-                  .mobileClearClientUnread(gFFI.chatModel.currentKey.connId);
             }),
           ),
           body: _pages.elementAt(_selectedIndex),
         ));
   }
+
+  Widget appTitle() {
+    final currentUser = gFFI.chatModel.currentUser;
+    final currentKey = gFFI.chatModel.currentKey;
+    if (_selectedIndex == 1 &&
+        currentUser != null &&
+        currentKey.peerId.isNotEmpty) {
+      final connected =
+          gFFI.serverModel.clients.any((e) => e.id == currentKey.connId);
+      return Row(
+        mainAxisAlignment: MainAxisAlignment.center,
+        children: [
+          Tooltip(
+            message: currentKey.isOut
+                ? translate('outgoing connection')
+                : translate('incomming connection'),
+            child: Icon(
+              currentKey.isOut
+                  ? Icons.call_made_rounded
+                  : Icons.call_received_rounded,
+            ),
+          ),
+          Expanded(
+            child: Center(
+              child: Row(
+                mainAxisAlignment: MainAxisAlignment.center,
+                children: [
+                  Text(
+                    "${currentUser.firstName}   ${currentUser.id}",
+                  ),
+                  if (connected)
+                    Container(
+                      width: 10,
+                      height: 10,
+                      decoration: BoxDecoration(
+                          shape: BoxShape.circle,
+                          color: Color.fromARGB(255, 133, 246, 199)),
+                    ).marginSymmetric(horizontal: 2),
+                ],
+              ),
+            ),
+          ),
+        ],
+      );
+    }
+    return Text("RustDesk");
+  }
 }
 
 class WebHomePage extends StatelessWidget {
diff --git a/flutter/lib/mobile/pages/server_page.dart b/flutter/lib/mobile/pages/server_page.dart
index c215564fa..a8255180b 100644
--- a/flutter/lib/mobile/pages/server_page.dart
+++ b/flutter/lib/mobile/pages/server_page.dart
@@ -428,7 +428,8 @@ class ConnectionManager extends StatelessWidget {
                                       bar.onTap!(1);
                                     }
                                   },
-                                  icon: const Icon(Icons.chat)))
+                                  icon: unreadTopRightBuilder(
+                                      client.unreadChatMessageCount)))
                     ],
                   ),
                   client.authorized
diff --git a/flutter/lib/models/chat_model.dart b/flutter/lib/models/chat_model.dart
index 8c59f5f8a..e44a694d4 100644
--- a/flutter/lib/models/chat_model.dart
+++ b/flutter/lib/models/chat_model.dart
@@ -25,7 +25,7 @@ import 'model.dart';
 class MessageKey {
   final String peerId;
   final int connId;
-  bool get isOut => connId != ChatModel.clientModeID;
+  bool get isOut => connId == ChatModel.clientModeID;
 
   MessageKey(this.peerId, this.connId);
 
diff --git a/flutter/pubspec.lock b/flutter/pubspec.lock
index e14ff5046..ead34415f 100644
--- a/flutter/pubspec.lock
+++ b/flutter/pubspec.lock
@@ -65,6 +65,14 @@ packages:
       url: "https://pub.dev"
     source: hosted
     version: "3.0.0"
+  auto_size_text_field:
+    dependency: "direct main"
+    description:
+      name: auto_size_text_field
+      sha256: "8967129167193fefbb7a8707ade1bb71f9e52b9a5cf6da0132b7f6b7946c5a3f"
+      url: "https://pub.dev"
+    source: hosted
+    version: "2.2.1"
   back_button_interceptor:
     dependency: "direct main"
     description:
diff --git a/flutter/pubspec.yaml b/flutter/pubspec.yaml
index 60861eb87..4b6e964ad 100644
--- a/flutter/pubspec.yaml
+++ b/flutter/pubspec.yaml
@@ -96,6 +96,7 @@ dependencies:
   percent_indicator: ^4.2.2
   dropdown_button2: ^2.0.0
   uuid: ^3.0.7
+  auto_size_text_field: ^2.2.1
 
 dev_dependencies:
   icons_launcher: ^2.0.4
diff --git a/src/lang/ca.rs b/src/lang/ca.rs
index 9d540f1e7..9835c0704 100644
--- a/src/lang/ca.rs
+++ b/src/lang/ca.rs
@@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
         ("Accept and Elevate", ""),
         ("accept_and_elevate_btn_tooltip", ""),
         ("clipboard_wait_response_timeout_tip", ""),
+        ("incomming connection", ""),
+        ("outgoing connection", ""),
     ].iter().cloned().collect();
 }
diff --git a/src/lang/cn.rs b/src/lang/cn.rs
index ad2b9e614..3a2a6ebd0 100644
--- a/src/lang/cn.rs
+++ b/src/lang/cn.rs
@@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
         ("Accept and Elevate", "接受并提权"),
         ("accept_and_elevate_btn_tooltip", "接受连接并提升 UAC 权限"),
         ("clipboard_wait_response_timeout_tip", "等待拷贝响应超时"),
+        ("incomming connection", "收到的连接"),
+        ("outgoing connection", "发起的连接"),
     ].iter().cloned().collect();
 }
diff --git a/src/lang/cs.rs b/src/lang/cs.rs
index ae19c98c8..945493799 100644
--- a/src/lang/cs.rs
+++ b/src/lang/cs.rs
@@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
         ("Accept and Elevate", ""),
         ("accept_and_elevate_btn_tooltip", ""),
         ("clipboard_wait_response_timeout_tip", ""),
+        ("incomming connection", ""),
+        ("outgoing connection", ""),
     ].iter().cloned().collect();
 }
diff --git a/src/lang/da.rs b/src/lang/da.rs
index 2b7380670..e57a43b4e 100644
--- a/src/lang/da.rs
+++ b/src/lang/da.rs
@@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
         ("Accept and Elevate", ""),
         ("accept_and_elevate_btn_tooltip", ""),
         ("clipboard_wait_response_timeout_tip", ""),
+        ("incomming connection", ""),
+        ("outgoing connection", ""),
     ].iter().cloned().collect();
 }
diff --git a/src/lang/de.rs b/src/lang/de.rs
index db726dba5..38e1bb4c1 100644
--- a/src/lang/de.rs
+++ b/src/lang/de.rs
@@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
         ("Accept and Elevate", "Akzeptieren und Rechte erhöhen"),
         ("accept_and_elevate_btn_tooltip", "Akzeptieren Sie die Verbindung und erhöhen Sie die UAC-Berechtigungen."),
         ("clipboard_wait_response_timeout_tip", "Zeitüberschreitung beim Warten auf die Antwort der Kopie."),
+        ("incomming connection", ""),
+        ("outgoing connection", ""),
     ].iter().cloned().collect();
 }
diff --git a/src/lang/el.rs b/src/lang/el.rs
index 05f7d6702..cb5d627e7 100644
--- a/src/lang/el.rs
+++ b/src/lang/el.rs
@@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
         ("Accept and Elevate", ""),
         ("accept_and_elevate_btn_tooltip", ""),
         ("clipboard_wait_response_timeout_tip", ""),
+        ("incomming connection", ""),
+        ("outgoing connection", ""),
     ].iter().cloned().collect();
 }
diff --git a/src/lang/eo.rs b/src/lang/eo.rs
index 393406bd9..dd8fc25d0 100644
--- a/src/lang/eo.rs
+++ b/src/lang/eo.rs
@@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
         ("Accept and Elevate", ""),
         ("accept_and_elevate_btn_tooltip", ""),
         ("clipboard_wait_response_timeout_tip", ""),
+        ("incomming connection", ""),
+        ("outgoing connection", ""),
     ].iter().cloned().collect();
 }
diff --git a/src/lang/es.rs b/src/lang/es.rs
index 51b33f08d..351fa90ee 100644
--- a/src/lang/es.rs
+++ b/src/lang/es.rs
@@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
         ("Accept and Elevate", "Aceptar y Elevar"),
         ("accept_and_elevate_btn_tooltip", "Aceptar la conexión y elevar permisos UAC."),
         ("clipboard_wait_response_timeout_tip", ""),
+        ("incomming connection", ""),
+        ("outgoing connection", ""),
     ].iter().cloned().collect();
 }
diff --git a/src/lang/fa.rs b/src/lang/fa.rs
index dc21d7d7c..92a080212 100644
--- a/src/lang/fa.rs
+++ b/src/lang/fa.rs
@@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
         ("Accept and Elevate", "بپذیرید و افزایش دهید"),
         ("accept_and_elevate_btn_tooltip", "را افزایش دهید UAC اتصال را بپذیرید و مجوزهای."),
         ("clipboard_wait_response_timeout_tip", "زمان انتظار برای مشخص شدن وضعیت کپی تمام شد."),
+        ("incomming connection", ""),
+        ("outgoing connection", ""),
     ].iter().cloned().collect();
 }
diff --git a/src/lang/fr.rs b/src/lang/fr.rs
index fe0cadfb5..885b2c17a 100644
--- a/src/lang/fr.rs
+++ b/src/lang/fr.rs
@@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
         ("Accept and Elevate", ""),
         ("accept_and_elevate_btn_tooltip", ""),
         ("clipboard_wait_response_timeout_tip", ""),
+        ("incomming connection", ""),
+        ("outgoing connection", ""),
     ].iter().cloned().collect();
 }
diff --git a/src/lang/hu.rs b/src/lang/hu.rs
index c4a27265a..67c1b366a 100644
--- a/src/lang/hu.rs
+++ b/src/lang/hu.rs
@@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
         ("Accept and Elevate", ""),
         ("accept_and_elevate_btn_tooltip", ""),
         ("clipboard_wait_response_timeout_tip", ""),
+        ("incomming connection", ""),
+        ("outgoing connection", ""),
     ].iter().cloned().collect();
 }
diff --git a/src/lang/id.rs b/src/lang/id.rs
index 3566d8e48..637cb6ea1 100644
--- a/src/lang/id.rs
+++ b/src/lang/id.rs
@@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
         ("Accept and Elevate", ""),
         ("accept_and_elevate_btn_tooltip", ""),
         ("clipboard_wait_response_timeout_tip", ""),
+        ("incomming connection", ""),
+        ("outgoing connection", ""),
     ].iter().cloned().collect();
 }
diff --git a/src/lang/it.rs b/src/lang/it.rs
index bb287d1ea..879efcb29 100644
--- a/src/lang/it.rs
+++ b/src/lang/it.rs
@@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
         ("Accept and Elevate", "Accetta ed eleva"),
         ("accept_and_elevate_btn_tooltip", "Accetta la connessione ed eleva le autorizzazioni UAC."),
         ("clipboard_wait_response_timeout_tip", "Timeout attesa risposta della copia."),
+        ("incomming connection", ""),
+        ("outgoing connection", ""),
     ].iter().cloned().collect();
 }
diff --git a/src/lang/ja.rs b/src/lang/ja.rs
index 41cf9ddc7..14e572010 100644
--- a/src/lang/ja.rs
+++ b/src/lang/ja.rs
@@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
         ("Accept and Elevate", ""),
         ("accept_and_elevate_btn_tooltip", ""),
         ("clipboard_wait_response_timeout_tip", ""),
+        ("incomming connection", ""),
+        ("outgoing connection", ""),
     ].iter().cloned().collect();
 }
diff --git a/src/lang/ko.rs b/src/lang/ko.rs
index dfa86082e..878cb3821 100644
--- a/src/lang/ko.rs
+++ b/src/lang/ko.rs
@@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
         ("Accept and Elevate", ""),
         ("accept_and_elevate_btn_tooltip", ""),
         ("clipboard_wait_response_timeout_tip", ""),
+        ("incomming connection", ""),
+        ("outgoing connection", ""),
     ].iter().cloned().collect();
 }
diff --git a/src/lang/kz.rs b/src/lang/kz.rs
index fd487e426..b811820da 100644
--- a/src/lang/kz.rs
+++ b/src/lang/kz.rs
@@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
         ("Accept and Elevate", ""),
         ("accept_and_elevate_btn_tooltip", ""),
         ("clipboard_wait_response_timeout_tip", ""),
+        ("incomming connection", ""),
+        ("outgoing connection", ""),
     ].iter().cloned().collect();
 }
diff --git a/src/lang/lt.rs b/src/lang/lt.rs
index 85fbef050..ad702dfa0 100644
--- a/src/lang/lt.rs
+++ b/src/lang/lt.rs
@@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
         ("Accept and Elevate", ""),
         ("accept_and_elevate_btn_tooltip", ""),
         ("clipboard_wait_response_timeout_tip", ""),
+        ("incomming connection", ""),
+        ("outgoing connection", ""),
     ].iter().cloned().collect();
 }
diff --git a/src/lang/nl.rs b/src/lang/nl.rs
index 004eea12e..cff145f39 100644
--- a/src/lang/nl.rs
+++ b/src/lang/nl.rs
@@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
         ("Accept and Elevate", "Accepteren en Verheffen"),
         ("accept_and_elevate_btn_tooltip", "Accepteer de verbinding en verhoog de UAC-machtigingen."),
         ("clipboard_wait_response_timeout_tip", ""),
+        ("incomming connection", ""),
+        ("outgoing connection", ""),
     ].iter().cloned().collect();
 }
diff --git a/src/lang/pl.rs b/src/lang/pl.rs
index 9cea7993c..8d9a3b533 100644
--- a/src/lang/pl.rs
+++ b/src/lang/pl.rs
@@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
         ("Accept and Elevate", "Akceptuj i Podnieś uprawnienia"),
         ("accept_and_elevate_btn_tooltip", ""),
         ("clipboard_wait_response_timeout_tip", ""),
+        ("incomming connection", ""),
+        ("outgoing connection", ""),
     ].iter().cloned().collect();
 }
diff --git a/src/lang/pt_PT.rs b/src/lang/pt_PT.rs
index 88253881a..26069573a 100644
--- a/src/lang/pt_PT.rs
+++ b/src/lang/pt_PT.rs
@@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
         ("Accept and Elevate", ""),
         ("accept_and_elevate_btn_tooltip", ""),
         ("clipboard_wait_response_timeout_tip", ""),
+        ("incomming connection", ""),
+        ("outgoing connection", ""),
     ].iter().cloned().collect();
 }
diff --git a/src/lang/ptbr.rs b/src/lang/ptbr.rs
index 519e7fce5..25de11130 100644
--- a/src/lang/ptbr.rs
+++ b/src/lang/ptbr.rs
@@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
         ("Accept and Elevate", ""),
         ("accept_and_elevate_btn_tooltip", ""),
         ("clipboard_wait_response_timeout_tip", ""),
+        ("incomming connection", ""),
+        ("outgoing connection", ""),
     ].iter().cloned().collect();
 }
diff --git a/src/lang/ro.rs b/src/lang/ro.rs
index 0d793cb86..25dd4655f 100644
--- a/src/lang/ro.rs
+++ b/src/lang/ro.rs
@@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
         ("Accept and Elevate", ""),
         ("accept_and_elevate_btn_tooltip", ""),
         ("clipboard_wait_response_timeout_tip", ""),
+        ("incomming connection", ""),
+        ("outgoing connection", ""),
     ].iter().cloned().collect();
 }
diff --git a/src/lang/ru.rs b/src/lang/ru.rs
index 3be5f9810..f1fc7c045 100644
--- a/src/lang/ru.rs
+++ b/src/lang/ru.rs
@@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
         ("Accept and Elevate", "Принять и повысить"),
         ("accept_and_elevate_btn_tooltip", "Разрешить подключение и повысить права UAC."),
         ("clipboard_wait_response_timeout_tip", "Время ожидания копирования буфера обмена, истекло"),
+        ("incomming connection", ""),
+        ("outgoing connection", ""),
     ].iter().cloned().collect();
 }
diff --git a/src/lang/sk.rs b/src/lang/sk.rs
index f3700e37c..4350615a1 100644
--- a/src/lang/sk.rs
+++ b/src/lang/sk.rs
@@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
         ("Accept and Elevate", ""),
         ("accept_and_elevate_btn_tooltip", ""),
         ("clipboard_wait_response_timeout_tip", ""),
+        ("incomming connection", ""),
+        ("outgoing connection", ""),
     ].iter().cloned().collect();
 }
diff --git a/src/lang/sl.rs b/src/lang/sl.rs
index cfd5d7f08..73011b67b 100755
--- a/src/lang/sl.rs
+++ b/src/lang/sl.rs
@@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
         ("Accept and Elevate", ""),
         ("accept_and_elevate_btn_tooltip", ""),
         ("clipboard_wait_response_timeout_tip", ""),
+        ("incomming connection", ""),
+        ("outgoing connection", ""),
     ].iter().cloned().collect();
 }
diff --git a/src/lang/sq.rs b/src/lang/sq.rs
index d2b15c6ac..927b84f4e 100644
--- a/src/lang/sq.rs
+++ b/src/lang/sq.rs
@@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
         ("Accept and Elevate", ""),
         ("accept_and_elevate_btn_tooltip", ""),
         ("clipboard_wait_response_timeout_tip", ""),
+        ("incomming connection", ""),
+        ("outgoing connection", ""),
     ].iter().cloned().collect();
 }
diff --git a/src/lang/sr.rs b/src/lang/sr.rs
index fe98b2505..b86dece15 100644
--- a/src/lang/sr.rs
+++ b/src/lang/sr.rs
@@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
         ("Accept and Elevate", ""),
         ("accept_and_elevate_btn_tooltip", ""),
         ("clipboard_wait_response_timeout_tip", ""),
+        ("incomming connection", ""),
+        ("outgoing connection", ""),
     ].iter().cloned().collect();
 }
diff --git a/src/lang/sv.rs b/src/lang/sv.rs
index 9e6b1f770..423fdfd17 100644
--- a/src/lang/sv.rs
+++ b/src/lang/sv.rs
@@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
         ("Accept and Elevate", ""),
         ("accept_and_elevate_btn_tooltip", ""),
         ("clipboard_wait_response_timeout_tip", ""),
+        ("incomming connection", ""),
+        ("outgoing connection", ""),
     ].iter().cloned().collect();
 }
diff --git a/src/lang/template.rs b/src/lang/template.rs
index 692936236..88abd2215 100644
--- a/src/lang/template.rs
+++ b/src/lang/template.rs
@@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
         ("Accept and Elevate", ""),
         ("accept_and_elevate_btn_tooltip", ""),
         ("clipboard_wait_response_timeout_tip", ""),
+        ("incomming connection", ""),
+        ("outgoing connection", ""),
     ].iter().cloned().collect();
 }
diff --git a/src/lang/th.rs b/src/lang/th.rs
index d3570290e..9bb86ba59 100644
--- a/src/lang/th.rs
+++ b/src/lang/th.rs
@@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
         ("Accept and Elevate", ""),
         ("accept_and_elevate_btn_tooltip", ""),
         ("clipboard_wait_response_timeout_tip", ""),
+        ("incomming connection", ""),
+        ("outgoing connection", ""),
     ].iter().cloned().collect();
 }
diff --git a/src/lang/tr.rs b/src/lang/tr.rs
index 7f82efc1b..c7ba5fceb 100644
--- a/src/lang/tr.rs
+++ b/src/lang/tr.rs
@@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
         ("Accept and Elevate", ""),
         ("accept_and_elevate_btn_tooltip", ""),
         ("clipboard_wait_response_timeout_tip", ""),
+        ("incomming connection", ""),
+        ("outgoing connection", ""),
     ].iter().cloned().collect();
 }
diff --git a/src/lang/tw.rs b/src/lang/tw.rs
index 30e527ec6..1253aee75 100644
--- a/src/lang/tw.rs
+++ b/src/lang/tw.rs
@@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
         ("Accept and Elevate", ""),
         ("accept_and_elevate_btn_tooltip", ""),
         ("clipboard_wait_response_timeout_tip", ""),
+        ("incomming connection", "收到的連接"),
+        ("outgoing connection", "發起的連接"),
     ].iter().cloned().collect();
 }
diff --git a/src/lang/ua.rs b/src/lang/ua.rs
index 222038f7c..8ba47e6c5 100644
--- a/src/lang/ua.rs
+++ b/src/lang/ua.rs
@@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
         ("Accept and Elevate", "Погодитись та розширити права"),
         ("accept_and_elevate_btn_tooltip", "Погодити підключення та розширити дозволи UAC."),
         ("clipboard_wait_response_timeout_tip", "Вийшов час очікування копіювання."),
+        ("incomming connection", ""),
+        ("outgoing connection", ""),
     ].iter().cloned().collect();
 }
diff --git a/src/lang/vn.rs b/src/lang/vn.rs
index fd4b10506..3b6f5205f 100644
--- a/src/lang/vn.rs
+++ b/src/lang/vn.rs
@@ -513,5 +513,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
         ("Accept and Elevate", "Chấp nhận và Cấp Quyền"),
         ("accept_and_elevate_btn_tooltip", "Chấp nhận kết nối và cấp các quyền UAC."),
         ("clipboard_wait_response_timeout_tip", ""),
+        ("incomming connection", ""),
+        ("outgoing connection", ""),
     ].iter().cloned().collect();
 }